OpenFlowをXenServerで試してみよう                北瀬公彦 @kkitase               kkitase@gmail.com
何故シトリックスがOpenFlowを語る?• ONF (Open Network Foundation)がOpenFlowを推進している• CitrixはONFの一員• ハイパーバイザーの仮想スイッチでOpenFlowに対応しているスイッチは ...
用語の整理• OpenFlow   – スイッチのコントロールパスとデータパスを分断し、フロー単位での経路制御     を実現する為の技術• OpenFlow switch   – OpenFlow対応のスイッチ(仮想スイッチ、物理スイッチ)•...
XenServer vSwitch / Controller        NOX 0.9.5 build 3697ベース http://noxrepo.org/wp                                      G...
Open vSwitch daemon• ovs-vswitchd   – Daemon that manages and controls any number of OVS switches on     the host.• ovs-xe...
OpenFlow スイッチ                                        コントローラーOpenFlow 仮想スイッチ sw Secure    Channel hw   Flow      Table     ...
フローテーブルエントリー    Rule            Action             Stats                                              Packet + byte counte...
Wireshark plugin参考: http://www.openflow.org/wp/2008/08/openflow-dissector-released-as-wireshark-plugin/  インストール方法: http://...
1. XenServerをインストール  - 5.6 SP2の場合  http://www.citrix.com/lang/English/lp/lp_1688615.asp         インストールした後に、仮想スイッチをOpenFlow...
XenCenter    1. vSwitch Controllerをインポート    2. IPやhost名等を設定する    3. 起動後に表示されるURLにアクセス
コントローラにアクセスしたところ
Resource Poolを追加
ACLを設定してみる
コマンドでコントロールしてみよう                   http://openvswitch.org/cgi-bin/ovsman.cgi  ovs−appctl − utility for configuring running...
XenServer (Dom 0)に接続     仮想スイッチの確認とか・・     ovsコマンド野確認とか・・              # xe host-list params=software-version             ...
Flowテーブルの確認、設定# ovs-ofctlコントローラでGUIよりACLを設定した後、コマンドでどのようにFlowTableに設定されたか確認ovs-ofctl dump-flowsでFlowテーブルを確認# ovs-ofctl dum...
仮想スイッチの管理コマンド#ovs-vsctl仮想スイッチにぶら下がっているポートの確認[root@xs203 ~]# ovs-vsctl list-ports xapi11vif30.0[root@xs203 ~]# ovs-vsctl li...
仮想スイッチと設定の確認#ovs-appctlボンディングの設定の確認# ovs-appctl bond/listbridge    bond     slavesXapi2     bond1   eth4, eth5Xapi4     bo...
ログレベルの確認、設定#ovs-appctl#ovs-appctl vlog/list                 console          syslog      file                 -------     ...
クロスホストプライベートネットワーク• 異なるXenServer上で起動しているVM間でプライベートネットワークを共有  – XenServer Advanced Edition以上  – vSwitch と vSwitch Controlle...
ご清聴ありがとうございました
Upcoming SlideShare
Loading in...5
×

OpenFlowをXenServerで試してみよう

10,607

Published on

Published in: Technology, Business
0 Comments
16 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
10,607
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
212
Comments
0
Likes
16
Embeds 0
No embeds

No notes for slide

OpenFlowをXenServerで試してみよう

  1. 1. OpenFlowをXenServerで試してみよう 北瀬公彦 @kkitase kkitase@gmail.com
  2. 2. 何故シトリックスがOpenFlowを語る?• ONF (Open Network Foundation)がOpenFlowを推進している• CitrixはONFの一員• ハイパーバイザーの仮想スイッチでOpenFlowに対応しているスイッチは Citrix® XenServer®のみ!!• OpenFlowネットワークを構築する際に、使用するハイパーバイザーの最有 力候補はXenServer!!“Citrix Systems”
  3. 3. 用語の整理• OpenFlow – スイッチのコントロールパスとデータパスを分断し、フロー単位での経路制御 を実現する為の技術• OpenFlow switch – OpenFlow対応のスイッチ(仮想スイッチ、物理スイッチ)• Open vSwitch – オープンソースのOpenFlow対応の仮想スイッチ – http://www.openvswitch.org• NOX – オープンソースのOpenFlowコントローラ – http://noxrepo.org/wp/• vSwitch – XenServerのOpenFlow対応仮想スイッチ• vSwitch Controller – XenServerのOpenFlow対応仮想スイッチを制御するOpenFlowコン トローラ
  4. 4. XenServer vSwitch / Controller NOX 0.9.5 build 3697ベース http://noxrepo.org/wp GUI等をカスタマイズアーキテクチャー NetFlow対応済み、sFlow対応は今後予定 Default user “admin” openvswitch-- ‐1.1.0pre1-- ‐69.1914 ベース
  5. 5. Open vSwitch daemon• ovs-vswitchd – Daemon that manages and controls any number of OVS switches on the host.• ovs-xenserverd – Open vSwitch daemon for XenServer specific functionality• ovsdb-server – usage: ovsdb-server [OPTIONS] DATABASE – where DATABASE is a database file in ovsdb format (JSON)• ovs−brcompatd – Bridge compatibility front-end for ovs−vswitchd• ovs−controller – Simple OpenFlow controller reference implementation• ovs−discover – OpenFlow controller discovery utility• ovs−openflowd – Implements an OpenFlow switch using a flow-based datapath
  6. 6. OpenFlow スイッチ コントローラーOpenFlow 仮想スイッチ sw Secure Channel hw Flow Table XenServer OpenFlow物理スイッチ 参考: The Stanford Clean Slate Program: http://cleanslate.stanford.edu
  7. 7. フローテーブルエントリー Rule Action Stats Packet + byte counters 1. Forward packet to port(s) 2. Encapsulate and forward to controller 3. Drop packet 4. Send to normal processing pipeline Switch MAC MAC Eth VLAN IP IP IP TCP TCP Port src dst type ID Src Dst Prot sport dport+ mask The Stanford Clean Slate Program http://cleanslate.stanford.edu OpenFlow White Paper: http://www.openflow.org/documents/openflow-wp-latest.pdf OpenFlow Spec: http://www.openflow.org/documents/openflow-spec-v1.1.0.pdf
  8. 8. Wireshark plugin参考: http://www.openflow.org/wp/2008/08/openflow-dissector-released-as-wireshark-plugin/ インストール方法: http://www.openflow.org/wk/index.php/OpenFlow_Wireshark_Dissector
  9. 9. 1. XenServerをインストール - 5.6 SP2の場合 http://www.citrix.com/lang/English/lp/lp_1688615.asp インストールした後に、仮想スイッチをOpenFlow対応スイッチに変更 xe-switch-network-backend openvswitch xe host-list params=software-version - 6.0ベータの場合 http://www.citrix.com/xenserver/beta2. XenCenterをインストール http://www.citrix.co.jp/products/pdf/Step_By_Step_XenCenter_Download.pdf3. vSwitch Controllerの設定 -コントローラを触りたい場合、評価ライセンスが必要です。 http://www.citrix.co.jp/products/pdf/Step_By_Step_XenServer_Platinum_Download.pdf http://www.citrix.co.jp/products/pdf/Step_By_Step_XenServer_Activation.pdf
  10. 10. XenCenter 1. vSwitch Controllerをインポート 2. IPやhost名等を設定する 3. 起動後に表示されるURLにアクセス
  11. 11. コントローラにアクセスしたところ
  12. 12. Resource Poolを追加
  13. 13. ACLを設定してみる
  14. 14. コマンドでコントロールしてみよう http://openvswitch.org/cgi-bin/ovsman.cgi ovs−appctl − utility for configuring running Open vSwitch daemons ovs−ofctl − administer OpenFlow switches ovs−vsctl − utility for querying and configuring ovs−vswitchd 注 ovsコマンドはXenServerで現状は正式サポートされていません
  15. 15. XenServer (Dom 0)に接続 仮想スイッチの確認とか・・ ovsコマンド野確認とか・・ # xe host-list params=software-version ... network_backend: openvswitch# ovs-ofctl –VOvs-ofctl (Open vSwitch) 1.0.2
  16. 16. Flowテーブルの確認、設定# ovs-ofctlコントローラでGUIよりACLを設定した後、コマンドでどのようにFlowTableに設定されたか確認ovs-ofctl dump-flowsでFlowテーブルを確認# ovs-ofctl dump-flows xapi4 | grep drop.., table_id=1, priority=32763, n_packets=0, n_bytes=0, tcp,dl_dst=86:43:b2:1a:f2:d0,nw_dst=10.12.45.151,tp_src=80,actions=drop, cookie=0x0, duration_sec=171s, duration_nsec=25000000ns, table_id=1, priority=65529, n_packets=15, n_bytes=930, tcp,in_port=4,dl_src=86:43:b2:1a:f2:d0,nw_src=10.12.45.78,tp_dst=80,actions=dropovs-ofctl add-flowやmod-flowでFlowテーブルを操作 注 ovsコマンドはXenServerで現状は正式サポートされていません
  17. 17. 仮想スイッチの管理コマンド#ovs-vsctl仮想スイッチにぶら下がっているポートの確認[root@xs203 ~]# ovs-vsctl list-ports xapi11vif30.0[root@xs203 ~]# ovs-vsctl list-ports xenbr0eth0vif28.0vif29.0vif32.0 注 ovsコマンドはXenServerで現状は正式サポートされていません
  18. 18. 仮想スイッチと設定の確認#ovs-appctlボンディングの設定の確認# ovs-appctl bond/listbridge bond slavesXapi2 bond1 eth4, eth5Xapi4 bond0 eth2, eth1MACアドレスとvLANの表示# ovs-appctl fdb/show xenbr0 port VLAN MAC Age 1 0 42:79:df:c1:4d:15 53 1 0 1a:fb:07:c3:86:dd 37 1 0 66:78:6f:d3:e5:b2 3 1 0 00:17:0f:ad:c9:c0 1 1 0 00:00:0c:07:ac:01 1 1 0 00:17:0f:ad:ca:c0 1 0 0 00:24:e8:c7:0f:30 1 2 0 c6:3c:f4:ea:b3:f4 1 注 ovsコマンドはXenServerで現状は正式サポートされていません
  19. 19. ログレベルの確認、設定#ovs-appctl#ovs-appctl vlog/list console syslog file ------- ------ ------bridge EMER ERR INFOvswitchd EMER ERR INFOxenserver EMER ERR INFOofproto EMER ERR INFO# ovs-appctl vlog/set vswitchd:file:dbgvlog/set MODULE[:FACILITY[:LEVEL]]• Modules: bridge, vswitchd,sflow,openflow, etc.• Facility: Console, Syslog, File, any• Level: Emer, Err, Info, warn, dbgログファイルを確認する時は、/var/log 以下のログを確認する• /var/log/openvswitch/ovsdb-server.log• /var/log/openvswitch/ovs-vswitchd.log• /var/log/xensource.log詳しくはhelpで# ovs-appctl –help 注 ovsコマンドはXenServerで現状は正式サポートされていません
  20. 20. クロスホストプライベートネットワーク• 異なるXenServer上で起動しているVM間でプライベートネットワークを共有 – XenServer Advanced Edition以上 – vSwitch と vSwitch Controllerが必要 – XenCenterより、クロスホストプライベートネットワークを設定
  21. 21. ご清聴ありがとうございました
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×