2010年8月6日金曜日

XCPで仮想スイッチの利用

仮想マシンを異なるネットワークに収容するために、VLAN IDを持つ仮想スイッチを作成した。当初Open vSwtich側を制御するのかと思い、いろいろ格闘したが、どうやらXCPのxeコマンドのみでいけるよう。
1.新しいネットワークを作成
[root@node ~]# xe network-create name-label=c201
e82775df-8bc7-80d8-eed6-0066f9677e75
2.物理インタフェースを確認
[root@node ~]# xe pif-list 
uuid ( RO)                  : 5c59f0b2-4b88-941a-6fc2-b0de21830e97
                device ( RO): eth0
    currently-attached ( RO): true
                  VLAN ( RO): -1
          network-uuid ( RO): 3662ad01-9cdf-a218-60b8-3177d2cce744


uuid ( RO)                  : 23fedbd2-7e1b-3364-229a-4663512fb872
                device ( RO): eth1
    currently-attached ( RO): true
                  VLAN ( RO): -1
          network-uuid ( RO): 731420a2-6242-154e-da85-84839b7ff7fd
3.作成したネットワークを物理インタフェースに結びつけ。
[root@node ~]# xe vlan-create network-uuid=e82775df-8bc7-80d8-eed6-0066f9677e75 pif-uuid=23fedbd2-7e1b-3364-229a-4663512fb872 vlan=201
23ee212c-4c88-d238-9444-1aa164d4fea3
これにより、VLAN201を持つ仮想スイッチができる。
[root@node ~]# xe network-list 
uuid ( RO)                : 1afdece4-2104-dfae-0451-83febed03f76
          name-label ( RW): Guest installer network
    name-description ( RW): Network on which guests will get assigned a private local IP address
              bridge ( RO): xapi0


uuid ( RO)                : 731420a2-6242-154e-da85-84839b7ff7fd
          name-label ( RW): Pool-wide network associated with eth1
    name-description ( RW): 
              bridge ( RO): xenbr1


uuid ( RO)                : e82775df-8bc7-80d8-eed6-0066f9677e75
          name-label ( RW): c201
    name-description ( RW): 
              bridge ( RO): xapi2


uuid ( RO)                : 3662ad01-9cdf-a218-60b8-3177d2cce744
          name-label ( RW): Pool-wide network associated with eth0
    name-description ( RW): 
              bridge ( RO): xenbr0


[root@node ~]# xe pif-list 
uuid ( RO)                  : 5c59f0b2-4b88-941a-6fc2-b0de21830e97
                device ( RO): eth0
    currently-attached ( RO): true
                  VLAN ( RO): -1
          network-uuid ( RO): 3662ad01-9cdf-a218-60b8-3177d2cce744


uuid ( RO)                  : 23ee212c-4c88-d238-9444-1aa164d4fea3
                device ( RO): eth1
    currently-attached ( RO): true
                  VLAN ( RO): 201
          network-uuid ( RO): e82775df-8bc7-80d8-eed6-0066f9677e75


uuid ( RO)                  : 23fedbd2-7e1b-3364-229a-4663512fb872
                device ( RO): eth1
    currently-attached ( RO): true
                  VLAN ( RO): -1
          network-uuid ( RO): 731420a2-6242-154e-da85-84839b7ff7fd
4.次に、作成したネットワークを仮想マシンに搭載する。
[root@node ~]# xe network-list bridge=xapi2 --minimal
e82775df-8bc7-80d8-eed6-0066f9677e75
[root@node ~]# xe vm-list name-label=cloudcom01.1 --minimal
f76c5581-07d6-8df0-9a9d-8a11099f3484
[root@node ~]# xe vif-create network-uuid=e82775df-8bc7-80d8-eed6-0066f9677e75 vm-uuid=f76c5581-07d6-8df0-9a9d-8a11099f3484 device=1
b886b6d6-5838-6ac2-3f54-141d815af396
この時点では、Open vSwitch側は特に変化なし。
[root@node ~]# ovs-vsctl list-br
xenbr0
xenbr1
5.仮想マシンを起動する。
そうすると、Open vSwitch側に作成したネットワーク(xapi2)が出現。
[root@node ~]# ovs-vsctl list-br
xapi2
xenbr0
xenbr1
仮想マシンを起動する前にOpen vSwitch側から確認する方法があるかは不明。

(2010/8/9追記)
仮想マシンに追加されるのは仮想インタフェース(vif)であり、仮想インタフェースは仮想ネットワーク(network)に接続されている。そのため、仮想ネットワークが接続する物理インタフェース、およびVLANを仮想インタフェース作成後に修正することも可能。ただし、うまく疎通できないようなので、ネットワーク側修正後に仮想マシンを再起動する必要がある。

0 件のコメント:

コメントを投稿