技術コラム

製品技術
NVIDIA

Mellanoxスイッチで、dockerを動作させるには? メリットは?

Mellanoxスイッチで、dockerを動作させるには? メリットは?

Mellanoxスイッチとdockerについて

SN2XXXシリーズスイッチは、x86ベースのCPUと8GBのメモリを搭載しており、スイッチOS上で仮想化環境あるいは、準仮想化環境を提供可能な唯一のスイッチとなります。
スイッチから各種コンテナについてpullを実行する事により、コンテナイメージをダウンロードし展開させる事で、スイッチ上でコンテナを動作せることが可能となります。
今回の内容としては映像業界で使われますNMOS Explorerのdockerについて動作を実行いたします。
またtftpでダウンロードするdockerイメージについては、弊社 取扱製品のEmbrionix社ゲートウェイSFP(SDI to/from IP / ASI to/from IP)の設定に利用するemsetのdockerイメージを利用します。

なおMellanoxスイッチの情報をテレメトリーデータとして出力するtelemetry agentもdockerとして起動が可能です。

ネットワーク構成

今回は簡易的な実践方法のご紹介のため、下記のようなネットワーク構成で実施しております。

 

Mellanoxスイッチでdockerを動作させる前に実施することについて

Mellanoxスイッチでdockerを動作させる前に、Mellanoxスイッチのマネジメントポートに対してIPを割り当てる必要があります。
これはインターネット経由でdocker hubからイメージをダウンロードする方法、もしくは任意の端末からdockerイメージをダウンロードする方法(tftpなど)で利用するため、マネジメントポートに対してIPの割当が必要となります。
またNTPやPTPを利用してスイッチの時刻を現在時に合わせる必要があります。
(あまりに時間のズレが生じている場合、docker pullでイメージをダウンロードしているときにエラーにてダウンロードが出来ません。)

1.    MellanoxスイッチのマネジメントポートにIPアドレスの割り当て

なおマネジメントポートには、今回IPアドレスは192.168.10.193/24を割り当てます。
※    最初はシリアルケーブル経由にて実行し、SN2XXXシリーズのbaud rateは115200となります。

2.    デフォルトゲートウェイ、DNSの設定

外部との通信を実施するためにゲートウェイとDNSを設定します。
今回ゲートウェイアドレスは192.168.10.1、DNSには8.8.8.8を設定します。

3.    Time zoneとNTPの設定

今回Time zoneは東京、NTPサーバについては外部公開のNICT様のNTPサーバを設定します。

4.    dockerサービスの起動

5.    dockerイメージのダウンロードと解凍

先ずはネットワーク構成 ①のdocker hubよりイメージをダウンロードする方法にて実施し、NMOS Explorerのイメージについてダウンロードを実施いたします。

tftp経由による①‘のemsetイメージのダウンロードについては以下となります。
またtftpでイメージをダウンロードした場合、解凍が必要となりますのでloadコマンドを利用しイメージの解凍を実施します。
※    前提としてtftpサーバが動作しており、dockerイメージがtftp経由でダウンロード出来る環境をご用意ください。

6.    dockerイメージの起動

dockerの起動はstartコマンドで起動が出来ます。
またdockerを起動するときにCPUとメモリについてリミットをかけることも可能であり、リミットをかける方法を推奨いたします。
※ リミットを掛けない場合、docker自体が大量にリソースを専有してしまうこともあるためリミットをかける事を推奨いたします。

なお下記は例としてNMOS側のdockerはリミットを掛けずに起動し、emsetについてはリミットを設定した方法にて起動しています。
※ emsetのリミットはCPUを2コア、メモリを2Gにリミットを設定し起動しています。

7.     dockerイメージにアクセス

今回のNMOSとemsetについては、CLIでdocker内にアクセスは出来ませんが、CentOSなどのdockerの場合は、docker exec docker_name “bin/bash”コマンドを利用することにより、docker内にアクセスし、コンパイルなども可能となります。

今回はNMOSとemsetを起動しておりますので、先ずはemsetのGUIにアクセスを実施します。

emsetはEmbrionix社のGateway SFPを設定するツールとなり自端末にもインストールが可能ですが、Mellanoxスイッチを利用することによりスイッチのdockerで起動できるメリットがございます。
ブラウザにスイッチのIPアドレス 192.168.10.191:8080を入力しアクセスします。
以下のようなログイン画面が表示されたらadmin/adminでログインを実施します。

ログイン後、Embrionix社のSFPが認識できれば設定が可能となります。
また下記ログイン後の設定画面にて、今回左に赤三角の表記となりますが、PTP機器と同期をしていないため、赤三角表記となっています。

今度はNMOSにアクセスを実施します。
NMOS Explorerを自端末にインストールし、起動後、検索することでスイッチやEmbrionixのgateway SFPを検索、スイッチングなどが可能となります。

上記のような手順によりMellanoxスイッチ上でdockerを動作させることが可能となります。

Mellanoxスイッチでdockerを利用した場合のメリットについて

今回、映像関連でご利用されるNMOSとemsetのdockerについてフォーカスした例で説明をさせていただきました。
特にNMOSの場合は、通常、別にNMOS用のサーバを構築し、そこから各機器の確認など実施いたしますが、Mellanoxスイッチをご利用いただければ、スイッチ上にNMOS dockerを構築でき、サーバを準備するコスト、構築するコストも削減でき、CAPEX/OPEXに貢献出来るかと思います。

Mellanoxスイッチ上でdockerを動作させることにより、色々な可能性が広がると思いますので是非お試しください。

また次回はMellanoxスイッチに於けるテレメトリーのdockerを利用したWhat just happened機能についてご紹介をさせていただきます。
これは何か問題が起こったときの原因追求について、他のスイッチとは違ったアプローチのMellanoxユニークな強力な機能となっております。
是非次回もよろしくお願い申し上げます。