Nutanix CE の Open vSwitch に追加作成した Bridge(br1)にネットワークを作成してみました。Prism の Web UI からだと設定できないので、CVM にログインして acli を使用します。
- Acropolis のネットワーク作成には、acli を使用します。
- CE のバージョンは ce-2018.01.31-stable です。
- すでに Bridge は作成済みです。br0 と br1 があります。
Bridge は下記のように作成してあります。
「User VM Interfaces」→「Create Netowrk」をクリック。
この画面で NAME と VLAN ID を入力して「Save」します。ここで作成されたネットワークは、br0 への接続になります。
acli では下記のように見えます。
CVM$ acli net.get nw-vlan-1011 nw-vlan-1011 { identifier: 1011 logical_timestamp: 1 name: "nw-vlan-1011" type: "kBridged" uuid: "13bf48bc-a97e-4d79-a738-cae8fca535cf" } CVM$
CVM$ acli net.create nw-vlan-1011-br1 vlan=1011 vswitch_name=br1
CVM$ acli net.get nw-vlan-1011-br1 nw-vlan-1011-br1 { identifier: 1011 logical_timestamp: 1 name: "nw-vlan-1011-br1" type: "kBridged" uuid: "ee32a361-e52a-4f99-834d-041e27394811" vswitch_name: "br1" } CVM$
VM 作成(br0 の nw-vlan-1011 に接続)
VM を用意して、br0 のネットワークに接続してみます。
CVM$ acli vm.create vm01 num_vcpus=1 memory=512M vm01: pending vm01: complete CVM$ acli vm.update vm01 extra_flags=machine_type=pc-i440fx-rhel7.2.0 vm01: pending vm01: complete CVM$ acli vm.disk_create vm01 clone_from_image=CentOS-7-x86_64-GenericCloud-1802 DiskCreate: pending DiskCreate: complete CVM$ acli vm.nic_create vm01 network=nw-vlan-1011 NicCreate: pending NicCreate: complete
VM の起動
acli では、AHV ホストは名前解決されているようなので、対象ホストの指定は下記で見えるホスト名で指定します。
CVM$ acli host.list Hypervisor address Host UUID Schedulable Hypervisor Type Hypervisor Name ntnx-n11-ahv.go-lab.jp 4eab5074-1b2b-4ae7-97f1-222221e61b8c True kKvm AHV ntnx-n12-ahv.go-lab.jp 96a615fc-67b4-4ef8-a6b3-b5501ede2dae True kKvm AHV ntnx-n13-ahv.go-lab.jp e92d5654-c8c7-4eb6-a90f-7cc58189a96d True kKvm AHV ntnx-n14-ahv.go-lab.jp 5f255651-7a46-46b2-9a38-910c5ba166d6 True kKvm AHV CVM$
VM を起動します。
CVM$ acli vm.on vm01 host=ntnx-n11-ahv.go-lab.jp vm01: pending vm01: complete
今回は、わかりやすく User VM(CVM ではない VM。UVM)が1台だけの状態にしています。
CVM$ acli vm.list VM name VM UUID vm01 460c2689-2f01-4424-b70b-831942bdcfe3 CVM$
VM の vNIC(tapX)は、br0(に関連する br0.local)に接続されました。ネットワークでは VLAN ID 1011 を指定していたので、tag: 1011 が付与されています。AOS 5.5 あたりからマイクロセグメンテーション機能の追加の影響か、UVM は br0 ではなく br0.local という Bridge に接続されます。
CVM$ hostssh ovs-vsctl show | egrep '^=|Bridge "br."|Bridge "br..local"|tap|tag' ============= 192.168.1.184 ============ Bridge "br1" Bridge "br0.local" Bridge "br0" Bridge "br1.local" ============= 192.168.1.183 ============ Bridge "br0.local" Bridge "br0" Bridge "br1" Bridge "br1.local" ============= 192.168.1.182 ============ Bridge "br1" Bridge "br0.local" Bridge "br0" Bridge "br1.local" ============= 192.168.1.181 ============ Bridge "br0.local" Port "tap0" tag: 1011 Interface "tap0" Bridge "br1.local" Bridge "br0" Bridge "br1" CVM$
ライブ マイグレーション(br0)
別のホスト(ntnx-n12-ahv.go-lab.jp)にライブマイグレーションします。
CVM$ acli vm.migrate vm01 live=true host=ntnx-n12-ahv.go-lab.jp vm01: pending vm01: complete
移動されました。移動先の AHV ホスト(ntnx-n12-ahv.go-lab.jp の IP アドレスは 192.168.1.182)でも、vNIC は br0.local に接続されています。
CVM$ hostssh ovs-vsctl show | egrep '^=|Bridge "br."|Bridge "br..local"|tap|tag' ============= 192.168.1.184 ============ Bridge "br1" Bridge "br0.local" Bridge "br0" Bridge "br1.local" ============= 192.168.1.183 ============ Bridge "br0.local" Bridge "br0" Bridge "br1" Bridge "br1.local" ============= 192.168.1.182 ============ Bridge "br1" Bridge "br0.local" Port "tap0" tag: 1011 Interface "tap0" Bridge "br0" Bridge "br1.local" ============= 192.168.1.181 ============ Bridge "br0.local" Port "tap0" tag: 1011 Interface "tap0" error: "could not open network device tap0 (No such device)" Bridge "br1.local" Bridge "br0" Bridge "br1" CVM$
すこし待つと、移動元の tap が削除されます。
CVM$ hostssh ovs-vsctl show | egrep '^=|Bridge "br."|Bridge "br..local"|tap|tag' ============= 192.168.1.184 ============ Bridge "br1" Bridge "br0.local" Bridge "br0" Bridge "br1.local" ============= 192.168.1.183 ============ Bridge "br0.local" Bridge "br0" Bridge "br1" Bridge "br1.local" ============= 192.168.1.182 ============ Bridge "br1" Bridge "br0.local" Port "tap0" tag: 1011 Interface "tap0" Bridge "br0" Bridge "br1.local" ============= 192.168.1.181 ============ Bridge "br0.local" Bridge "br1.local" Bridge "br0" Bridge "br1" CVM$
VM の接続先ネットワーク変更(br1 の nw-vlan-1011-br1)
VM をいちど停止して、br1 のネットワークに接続してみます。
VM を停止します。
CVM$ acli vm.off vm01 vm01: pending vm01: complete
ネットワークを変更します。
CVM$ acli vm.nic_update vm01 50:6b:8d:0b:99:4c network=nw-vlan-1011-br1 NicUpdate: pending NicUpdate: complete CVM$ acli vm.nic_list vm01 Mac Address IP Address Network UUID Network Name 50:6b:8d:0b:99:4c ee32a361-e52a-4f99-834d-041e27394811 nw-vlan-1011-br1 CVM$
VM を起動します。
CVM$ acli vm.on vm01 host=ntnx-n11-ahv.go-lab.jp vm01: pending vm01: complete
vNIC は、br1.local(br1 に関連する Bridge)に接続されました。
CVM$ hostssh ovs-vsctl show | egrep '^=|Bridge "br."|Bridge "br..local"|tap|tag' ============= 192.168.1.184 ============ Bridge "br1" Bridge "br0.local" Bridge "br0" Bridge "br1.local" ============= 192.168.1.183 ============ Bridge "br0.local" Bridge "br0" Bridge "br1" Bridge "br1.local" ============= 192.168.1.182 ============ Bridge "br1" Bridge "br0.local" Bridge "br0" Bridge "br1.local" ============= 192.168.1.181 ============ Bridge "br0.local" Bridge "br1.local" Port "tap0" tag: 1011 Interface "tap0" Bridge "br0" Bridge "br1" CVM$
ライブ マイグレーション(br0)
別の AHV ホストにライブ マイグレーションしてみます。
CVM$ acli vm.migrate vm01 live=true host=ntnx-n12-ahv.go-lab.jp vm01: pending vm01: complete
移行先のホスト(192.168.1.182)でも、br1.local に接続されました。
CVM$ hostssh ovs-vsctl show | egrep '^=|Bridge "br."|Bridge "br..local"|tap|tag' ============= 192.168.1.184 ============ Bridge "br1" Bridge "br0.local" Bridge "br0" Bridge "br1.local" ============= 192.168.1.183 ============ Bridge "br0.local" Bridge "br0" Bridge "br1" Bridge "br1.local" ============= 192.168.1.182 ============ Bridge "br1" Bridge "br0.local" Bridge "br0" Bridge "br1.local" Port "tap0" tag: 1011 Interface "tap0" ============= 192.168.1.181 ============ Bridge "br0.local" Bridge "br1.local" Port "tap0" tag: 1011 Interface "tap0" error: "could not open network device tap0 (No such device)" Bridge "br0" Bridge "br1" CVM$
すこし待つと、移行元の tap は削除されます。
CVM$ hostssh ovs-vsctl show | egrep '^=|Bridge "br."|Bridge "br..local"|tap|tag' ============= 192.168.1.184 ============ Bridge "br1" Bridge "br0.local" Bridge "br0" Bridge "br1.local" ============= 192.168.1.183 ============ Bridge "br0.local" Bridge "br0" Bridge "br1" Bridge "br1.local" ============= 192.168.1.182 ============ Bridge "br1" Bridge "br0.local" Bridge "br0" Bridge "br1.local" Port "tap0" tag: 1011 Interface "tap0" ============= 192.168.1.181 ============ Bridge "br0.local" Bridge "br1.local" Bridge "br0" Bridge "br1" CVM$
以上。