• 検索結果がありません。

実験実行支援

ドキュメント内 2010 3 (ページ 61-64)

第 6 章 提案するアーキテクチャの適用例と実装 40

6.3 実験実行支援

䉟䊮䉴䊃䊷䊤䈱kernel

䉟䊮䉴䊃䊷䊤䈱౒ㅢ䈱䉟䊜䊷䉳 PLC䈗䈫䈮࿕᦭䈱䉟䊜䊷䉳 䊉䊷䊄䈗䈫䈮࿕᦭䈱䉟䊜䊷䉳 䉟䊮䉴䊃䊷䊤䈱kernel

䉟䊮䉴䊃䊷䊤䈱౒ㅢ䈱䉟䊜䊷䉳 PLC䈗䈫䈮࿕᦭䈱䉟䊜䊷䉳 䊉䊷䊄䈗䈫䈮࿕᦭䈱䉟䊜䊷䉳

plnode.txt䉕䉟䊜䊷䉳䈮฽䉄䉎ᣇᑼ䈪䈱 PXE䈱⸳ቯ䊐䉜䉟䊦

図 6.7: イメージに同梱する方式でのPXEの設定ファイル

インストーラにplnode.txtを同梱する方式

ノードごとに異なる設定ファイルが必要になる。ファイルの内容に関しては、所属 するPLCと、ノードの組み合わせによって決まる。ファイルの内容としては図6.7 のようになる。このため、ノードごとに固有のイメージが必要になるため、TFTP サーバ上のPXE Linux用の設定ファイルも、図6.8のように、ノードごとに必要に なる。

TFTP䉰䊷䊋

ታ㛎↪

䊉䊷䊄1

ታ㛎↪

䊉䊷䊄2

ታ㛎↪

䊉䊷䊄3 LL

PXELinux

⸳ቯ䊐䉜䉟䊦 (PLC A +䊉䊷䊄1)

LL LL

ታ㛎↪

䊉䊷䊄4

ታ㛎↪

䊉䊷䊄5

ታ㛎↪

䊉䊷䊄6 LL LL

LL

PLC A PLC B

PlanetLab A PlanetLab B

PXELinux

⸳ቯ䊐䉜䉟䊦 (PLC A +䊉䊷䊄2)

PXELinux

⸳ቯ䊐䉜䉟䊦 (PLC A +䊉䊷䊄3)

PXELinux

⸳ቯ䊐䉜䉟䊦 (PLC B +䊉䊷䊄4)

PXELinux

⸳ቯ䊐䉜䉟䊦 (PLC B +䊉䊷䊄5)

PXELinux

⸳ቯ䊐䉜䉟䊦 (PLC B +䊉䊷䊄6)

図 6.8: インストーラに含める方式でのTFTPサーバ上のファイル

ᄢⷙᮨ䈭 Local PlanetLab

ዊⷙᮨ䈭 Local PlanetLab

ᣂ䈚䈒᭴▽䈚䈢 PL䊉䊷䊄 ዊⷙᮨ䈭

Local PlanetLab

ᣂ䈚䈒᭴▽䈚䈢 PL䊉䊷䊄 ዊⷙᮨ䈭

Local PlanetLab

図 6.9: Local PlanetLabの拡張

䉟䊔䊮䊃A 䉟䊔䊮䊃B

䉟䊔䊮䊃A 䉟䊔䊮䊃B

䉰䊷䊎䉴

ᤨೞA 䉟䊔䊮䊃A

ᤨೞB 䉟䊔䊮䊃B

ᤨೞA 䉟䊔䊮䊃A

ᤨೞB 䉟䊔䊮䊃B

䉰䊷䊎䉴

time_inserter

図 6.10: 時刻の挿入

6.3.1 グループごとの制御

psshであれば、ノードのリストを実行時に指定できる。このため、グループごとのノー ドリストをファイルとして用意することで、グループごとの制御が可能になる。またPLC では、データベース上でノードのグループを作成することができる。

6.3.2 ログの収集

psshやCoDeployを使用することで、各ノードが持っているファイルを、収集すること

ができる。同じ名前のファイルをコピーするため、収集するノード上で、ファイル名が衝 突することが考えられる。しかしpsshもCoDeployも、ファイル名が衝突しないように ディレクトリに分けるなどの処理を行っている。ノードの名前を利用しているため、どの ノード上のログだったかもファイル名から判断することができる。

6.3.3 ログへの時刻の挿入

複数のノードからログを収集した場合、時刻を基準に比較する。ログに時刻が含まれる かは、サービスの実装に依存する。そこで本研究では、時刻を挿入するためのスクリプト としてtime inserterを作成した。概念図を図6.10に示す。time inserterはサービスが出 力するイベントログを受け取り、時刻を挿入した上でファイルに出力する。厳密には出力 するタイミングで時刻が挿入されるため、イベントが発生した正確な時刻ではない。

VLAN A

ታ㛎↪䊉䊷䊄 ታ㛎↪䊉䊷䊄 VLAN B

⢛᥊ 䊃䊤䊐䉞䉾䉪

⢛᥊ 䊃䊤䊐䉞䉾䉪

図 6.11: VLANを変更して周辺要素を導入

6.3.4 サービス独自のプロトコルの制御

サービス独自のプロトコルを制御するため、指定したメッセージを送信するスクリプト として、tcp writerを作成した。tcp writerはテキストベースのプロトコルを前提として おり、指定したIPアドレスとポート番号に対して、指定したメッセージを送信する。こ のような、アプリケーション層でのプロトコルテストにはtelnetも使用できる。しかし telnetとの違いとして、tcp writerはインタラクティブな操作は行わない点が挙げられる。

このため、スクリプト等に組み込みやすい。

ドキュメント内 2010 3 (ページ 61-64)