第 6 章 提案するアーキテクチャの適用例と実装 40
6.1.1 Local PlanetLab の通常の構築方法
MyPLCを用いたLocal PlanetLabの構築方法について説明する。
PLCホストの構築手順
PLCとしてサービスを提供するためには、いくつかの構成要素が必要となる。MyPLC はLinux系OSのRPMパッケージとして提供されており、これらは全てMyPLCのパッ ケージに含まれている。構成要素として、以下のサーバが挙げられる。
• Webサーバ
Webサーバは、実験者向けの情報を提供する。実験に使用する公開鍵の登録なども 行える。PLCAPIサーバを経由してデータベースを参照しており、ノードの情報の 取得やSliverの割り当てなども行える。
• bootサーバ
Webサーバが、実験者向けのサービスであるのに対して、bootサーバは、実験用 ノード向けのサービスである。bootサーバでは、実験用ノードをインストールする
DB
PLCAPI
boot web
DNS PLC䊖䉴䊃
SQL
ታ㛎↪䊉䊷䊄 ssh ታ㛎⠪
XML-RPC /HTTPS XML-RPC
/HTTPS XML-RPC
/HTTPS
XML-RPC /HTTPS
XML-RPC /HTTPS
XML-RPC /HTTPS
図 6.1: MyPLCの構成図
• PLCAPIサーバ
PLCAPIサーバは、PLCを操作するためのAPIを提供する。通常はWebサーバな どを経由して操作されるが、XML-RPCを用いてPLCAPI関数を直接操作すること が可能である。
• データベースサーバ
PLCAPIサーバを経由し、ノードやネットワーク設定、起動の状態や、Slice、実験
者のアカウントなどの各種情報を格納している。
• DNSサーバ
実験用ノードのIPアドレスと名前の情報を提供する。データベースの情報を元にエ ントリを作成している。
構成図を図6.1に示す。実験者はWebサーバを経由して、使用するノードへの、公開鍵 の割り当てなどを行える。bootサーバによって、公開鍵が実験用ノードに割り当てられ る。実験者は、割り当てた公開鍵に対応する秘密鍵を用いて、実験用ノードを使用するこ とができる。実験者が実験用ノードを使用する際には、SSHを使用する。
設定の手順としては、MyPLCのインストール後にplc-config-ttyというコマンドを実 行することで、インタラクティブに設定を行える。設定項目としては以下のものが挙げら れる。
• 管理者アカウント
• PLCのサイト識別子
• 各種サーバの指定
各種サーバのプログラムがMyPLCのパッケージに含まれているため、1台のノードで PLCホストとして動作可能である。そのような設定を行う場合は、PLCホストのIPアド レスまたはホスト名を登録すればよい。また設定される値はBootCDにも渡されるため、
実験用ノードから到達できるアドレスを指定する必要がある。そのため、ループバックア ドレスなどは指定してはならない。設定された情報はXML形式のファイルとして、所定 の場所へ保存される。
PLCへのノードの登録
実験用ノードは、事前にPLCへ登録しなければならない。通常はWebインターフェイ スを用いて登録する。登録の際には、IPアドレス・ホスト名等を入力する。登録した際に はplnode.txtというファイルが生成され、登録されたことの証明に用いられる。PlanetLab では遠隔地のノードにインストールし、PlanetLab網に参加させることを想定している。
このため不正なノードが参加しないよう、インストールおよび起動の際に認証を行い、登 録されたノードであることを確認している。plnode.txtには、認証のための鍵の情報が記 述されている。また、後述するネットワークの設定にも用いられる。
実験用ノードの用意
インストールの際にPLCとの通信が行われる。そのため実験用のノードは、予めネッ トワークに繋がっている必要がある。plnode.txtには、このための設定も保存されており、
使用するインターフェイス、IPアドレスを動的に取得するか、静的に設定するか等を指 定できる。また実験用ノードには専用のOSをインストールする必要がある。
インストールメディアの用意
実際にノードへPlanetLabノードをインストールするためにはCD-ROMなどのメディ アにインストーラを入れる必要がある。インストーラプログラムはBootCDと呼ばれ、
CD-ROMに入れることを想定している。またCD-ROM以外にも、USBメモリ用のイ
メージも用意されている。認証のため、BootCDはインストール時にPLCホストと通信を 行う必要がある。PLCホストのアドレスなどの情報が必要になるため、PLCごとに異な
るBootCDが生成される。またインストール前に実験用ノードを、PLCへ登録する必要
があるが、このときに生成されるplnode.txtもインストール時に必要になる。plnode.txt
BootCD
PL Node Power off
状態がデバッグ
状態がブート
シャットダウン シャットダウン 電源投入
BootCD
PL Node Power off
状態がデバッグ
状態がブート
シャットダウン シャットダウン 電源投入
図 6.2: PlanetLabノードの状態遷移
あればBootCDは同じものを使用できるが、plnode.txtは実験用ノードごとに固有のもの が生成される。BootCDはインストール以外にも、起動の際にも使用され、PLCと通信 し、認証以外にも再インストールなどの状態確認を行ってから実験用のPL Nodeが起動 する。また何か問題がある場合、状態はデバッグモードになり、PL Nodeとしては起動
せずにBootCDのプログラムが起動したままになる。BootCDと実験用ノードの状態遷移
を図6.2に示す。このためBootCDは起動のたびに必要となり、ノードの数だけ用意しな ければならない。
ノードの起動・インストール
ノードが起動し、BootCDが起動するとインストールが始まる。インストール中には ユーザが操作を行う必要はなく、インストールが進行する。