NTNX>日記

個人的な趣味による Nutanix Community Edition 日記。Japanese のみですみません。

Nutanix AHV での CVM 障害時のユーザ VM の様子を見る。(Local VG 編)

前回は、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つ作成しています。

f:id:gowatana:20181216172402p:plain

VG「vg01」は、VM「vm01」だけに接続されています。

f:id:gowatana:20181216172522p:plain

通常時の 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 が復旧するとローカル接続に戻ります。

つづく。