OpenFlow勉強会(#sdnstudy)第2回に参加しました

ゴールデンウィーク2日目はOpenFlow勉強会その2に参加しました。

当日のセッションや各種資料はATNDに掲載されています。










        • -




今回、個人的に興味深かったのはTremaのハンズオン。

なんと、自分でOpenFlow Controllerを作れてしまいます。

当日はいくつかのサンプルコードをもとにOpenFlowコントローラを設定し、OpenFlowスイッチおよび接続するホストはTremaの持つシミュレータを使って動作をチェックする、といった内容でした。

ここで試したくなるのが、シミュレータではないOpenFlowスイッチでの動作。現在個人で用意できそうなOpenFlowスイッチと言えば、Open vSwitchかSRCHACK.orgさんのBuffalo無線LANルータのファーム差し替えによるものの、どちらか2択。

自宅ラック勉強会のおかげで私は後者も持っているのですが、中の人としてはCitrix XenServer 6.0から標準となった、Open vSwitchを使いたい!

もちろん、OSS XenKVMが使えるLinuxディストリビューションで、Open vSwitchを導入可能なものもありますが、インストール?初期セットアップが10分ちょっとで終わるXenServerのほうが遥かに楽です。

なお、本来Citrix XenServerには有償版の機能として vSwitch ControllerというNOXベースのOpenFlowコントローラが用意されていますが、無償版でもOpen vSwitchそのものは動いているので、これをTremaに接続してみよう…ということで、要するにCitrix XenServerの機能というよりも、純粋にOpen vSwitchの機能を使ってみました。



実際どうやるのかというと、とりあえず接続のチェック方法は以下のとおり

【前提】

1.ATNDからリンクされているOpenFlow勉強会で使ったハンズオンのサンプルを参考に、OpenFlowスイッチを作成

2.XenServerをインストールし、XenServerのローカルCLIを開く

【方法】

・XenServerをControllerに接続する

1.仮想スイッチの名前を確認

# ovs-vsctl list-br
xenbr0※XenServerに標準で作成される仮想スイッチ名



2.仮想スイッチをコントローラに接続

# ovs-vsctl set-controller xenbr0 tcp:



成功すると、Tremaハンズオン資料11ページのswitch_readyメソッドによって、Trema側のコンソールに↓が表示されました。

ifswitch_ready => 0x3aa9528617d6

3.仮想スイッチをコントローラから切断

switch_disconnected => 0x3aa9528617d6

注意点として、Flowを全然設定していないControllerにxenbr0をつないでしまうと、SSHやXenCenterでの接続ができなくなってしまいます。最低限Tremaハンズオン24ページに掲載されているリピータHUBとして動作する機能をコントローラに持たせるか、XenServerをローカルコンソールで操作するか、いずれかの対応をできる状態にしておくと良いでしょう。

ちゃんとした制御をするにはまだまだ勉強が必要ですが、こつこつ試してみたいと思います。



コメント