Contenu connexe Similaire à OpenFlowをXenServerで試してみよう Similaire à OpenFlowをXenServerで試してみよう (20) Plus de Kimihiko Kitase (20) OpenFlowをXenServerで試してみよう2. 何故シトリックスがOpenFlowを語る?
• ONF (Open Network Foundation)がOpenFlowを推進している
• CitrixはONFの一員
• ハイパーバイザーの仮想スイッチでOpenFlowに対応しているスイッチは
Citrix® XenServer®のみ!!
• OpenFlowネットワークを構築する際に、使用するハイパーバイザーの最有
力候補はXenServer!!
“Citrix Systems”
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. 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. 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. OpenFlow スイッチ コントローラー
OpenFlow 仮想スイッチ
sw Secure
Channel
hw Flow
Table
XenServer
OpenFlow物理スイッチ
参考: The Stanford Clean Slate Program: http://cleanslate.stanford.edu
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
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/beta
2. XenCenterをインストール
http://www.citrix.co.jp/products/pdf/Step_By_Step_XenCenter_Download.pdf
3. 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. XenCenter
1. vSwitch Controllerをインポート
2. IPやhost名等を設定する
3. 起動後に表示されるURLにアクセス
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. XenServer (Dom 0)に接続
仮想スイッチの確認とか・・
ovsコマンド野確認とか・・ # xe host-list params=software-version
... network_backend: openvswitch
# ovs-ofctl –V
Ovs-ofctl (Open vSwitch) 1.0.2
16. Flowテーブルの確認、設定
# ovs-ofctl
コントローラでGUIよりACLを設定した後、コマンドでどのようにFlow
Tableに設定されたか確認
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=drop
ovs-ofctl add-flowやmod-flowでFlowテーブルを操作
注 ovsコマンドはXenServerで現状は正式サポートされていません
18. 仮想スイッチと設定の確認
#ovs-appctl
ボンディングの設定の確認
# ovs-appctl bond/list
bridge bond slaves
Xapi2 bond1 eth4, eth5
Xapi4 bond0 eth2, eth1
MACアドレスと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. ログレベルの確認、設定
#ovs-appctl
#ovs-appctl vlog/list
console syslog file
------- ------ ------
bridge EMER ERR INFO
vswitchd EMER ERR INFO
xenserver EMER ERR INFO
ofproto EMER ERR INFO
# ovs-appctl vlog/set vswitchd:file:dbg
vlog/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で現状は正式サポートされていません