前回は、Nutanix CE / AHV でのユーザ VM の vDisk について、CVM 障害時の 様子を見てみました。
今回は、ローカル接続している Nutanix Volumes(旧 ABS)による Volume Group(VG)の iSCSI 接続が、別の CVM に切り替わる様子を見てみます。
AHV での VG は、物理マシンの OS もしくはゲスト OS の iSCSI イニシエータからの接続か、VM への直接続が可能です。今回は VM への直接続 です。
今回の VG 構成
Nutanix クラスタは前回と同様の構成で、AHV は 3ノード、ユーザ VM は 1台(vm01)だけ起動していて、AHV のアドレスは 192.168.20.22 です。
VG「vg01」には、vDisk(Volume)を 3つ作成しています。
VG「vg01」は、VM「vm01」だけに接続されています。
通常時の AHV → ローカル CVM の iSCSI 接続
AHV には CVM とユーザ VM 1台だけが起動しています。
CVM$ ssh root@192.168.20.22 virsh list FIPS mode initialized Id Name State ---------------------------------------------------- 3 d30ac7f9-372e-4ef3-a3ab-1c90dc000f08 running 4 NTNX-421ab4f5-A-CVM running
VG は、通常のユーザ VM の vDisk と同様の、ローカル CVM への iSCSI 接続です。しかし、VG に含まれる vDisk ごとに iSCSI のセッションが作成されます。
VM 自身の vDisk x 1 と VG の vDisk x 3 で、合計 4つのセッションがあります。
CVM$ ssh root@192.168.20.22 netstat -na | grep 3261 FIPS mode initialized tcp 0 0 127.0.0.1:3261 0.0.0.0:* LISTEN tcp 0 0 192.168.5.1:33792 192.168.5.254:3261 ESTABLISHED tcp 0 0 192.168.5.1:33798 192.168.5.254:3261 ESTABLISHED tcp 0 0 192.168.5.1:33804 192.168.5.254:3261 ESTABLISHED tcp 0 0 192.168.5.1:33810 192.168.5.254:3261 ESTABLISHED
CVM 障害発生
VM が起動している AHV ホストの、CVM を停止します。
CVM$ ssh root@192.168.20.22 virsh destroy NTNX-421ab4f5-A-CVM FIPS mode initialized Domain NTNX-421ab4f5-A-CVM destroyed CVM$ ssh root@192.168.20.22 virsh list FIPS mode initialized Id Name State ---------------------------------------------------- 3 d30ac7f9-372e-4ef3-a3ab-1c90dc000f08 running
iSCSI セッションは、別の CVM に張りなおされます。すべての VM vDisk と VG vDisk が、同じ CVM に切り替わるわけではありません。
CVM$ ssh root@192.168.20.22 netstat -na | grep 3261 FIPS mode initialized tcp 0 0 127.0.0.1:3261 0.0.0.0:* LISTEN tcp 0 145 192.168.5.1:33792 192.168.5.254:3261 FIN_WAIT1 tcp 0 145 192.168.5.1:33798 192.168.5.254:3261 FIN_WAIT1 tcp 0 0 127.0.0.1:3261 127.0.0.1:33736 TIME_WAIT tcp 0 0 127.0.0.1:3261 127.0.0.1:33722 TIME_WAIT tcp 0 0 127.0.0.1:3261 127.0.0.1:33708 TIME_WAIT tcp 0 0 192.168.20.22:47290 192.168.20.31:3261 TIME_WAIT tcp 0 145 192.168.5.1:33804 192.168.5.254:3261 FIN_WAIT1 tcp 0 0 192.168.20.22:47264 192.168.20.31:3261 ESTABLISHED tcp 0 0 127.0.0.1:3261 127.0.0.1:33694 TIME_WAIT tcp 0 0 192.168.20.22:47276 192.168.20.31:3261 TIME_WAIT tcp 0 0 127.0.0.1:3261 127.0.0.1:33716 TIME_WAIT tcp 0 0 192.168.20.22:47278 192.168.20.31:3261 ESTABLISHED tcp 0 145 192.168.5.1:33810 192.168.5.254:3261 FIN_WAIT1 tcp 0 0 192.168.20.22:56806 192.168.20.33:3261 ESTABLISHED tcp 0 0 127.0.0.1:3261 127.0.0.1:33728 TIME_WAIT tcp 0 0 192.168.20.22:47292 192.168.20.31:3261 ESTABLISHED tcp 0 0 127.0.0.1:3261 127.0.0.1:33702 TIME_WAIT tcp 0 0 192.168.20.22:47262 192.168.20.31:3261 TIME_WAIT
もうすこし待つと、TIME_WAIT などのセッションが消えて下記のようになります。
CVM$ ssh root@192.168.20.22 netstat -na | grep 3261 FIPS mode initialized tcp 0 0 127.0.0.1:3261 0.0.0.0:* LISTEN tcp 0 0 192.168.20.22:47264 192.168.20.31:3261 ESTABLISHED tcp 0 0 192.168.20.22:47278 192.168.20.31:3261 ESTABLISHED tcp 0 0 192.168.20.22:56806 192.168.20.33:3261 ESTABLISHED tcp 0 0 192.168.20.22:47292 192.168.20.31:3261 ESTABLISHED
今回は、VM vDisk が 192.168.20.33、VG vDisk が 192.168.20.31 に切り替わっていました。
CVM$ acli vg.attach_to_vm vg01 vm01 AttachToVm: pending AttachToVm: complete CVM$ ssh root@192.168.20.22 netstat -na | grep 3261 FIPS mode initialized tcp 0 0 127.0.0.1:3261 0.0.0.0:* LISTEN tcp 0 0 192.168.20.22:47454 192.168.20.31:3261 ESTABLISHED tcp 0 0 192.168.20.22:47460 192.168.20.31:3261 ESTABLISHED tcp 0 0 192.168.20.22:47448 192.168.20.31:3261 ESTABLISHED tcp 0 0 127.0.0.1:3261 127.0.0.1:33898 TIME_WAIT tcp 0 0 192.168.20.22:47452 192.168.20.31:3261 TIME_WAIT tcp 0 0 192.168.20.22:56806 192.168.20.33:3261 ESTABLISHED tcp 0 0 127.0.0.1:3261 127.0.0.1:33892 TIME_WAIT tcp 0 0 127.0.0.1:3261 127.0.0.1:33904 TIME_WAIT
ちなみに VG の vDisk も、CVM が復旧するとローカル接続に戻ります。
つづく。