Nutanix CE の AHV で、vDisk 接続の様子を見てみます。
AHV では、vDisk ごとに iSCSI による接続となっています。
Oracle Linux 7 KVM の vDisk接続
まず比較対象として、AHV ではない Linux の KVM で、vDisk の接続の様子を見ています。
これは、特殊な設定をしていない例として Oracle Linux 7 の KVM で起動している VM で、virt-install の「--disk size=~」でディスク容量だけ指定してインストールしたものです。
[root@lab-kvm-01 ~]# cat /etc/oracle-release Oracle Linux Server release 7.5 [root@lab-kvm-01 ~]# virsh list Id 名前 状態 ---------------------------------------------------- 1 vm01 実行中 [root@lab-kvm-01 ~]# virsh dumpxml 1 | grep "domain type" <domain type='kvm' id='1'>
virsh dumpxml で定義情報を確認すると・・・
[root@lab-kvm-01 ~]# virsh dumpxml 1 | xmllint --xpath "//disk" -
下記のような情報が取得できます。vDisk は、qcow2 の file として作成、接続されています。(XML だとブログ貼り付けがつらいので、gist に貼りつけています)
「source file」のパスにあるファイルを file コマンドで確認すると、イメージファイルであることがわかります。
[root@lab-kvm-01 ~]# file /var/lib/libvirt/images/vm01.qcow2 /var/lib/libvirt/images/vm01.qcow2: QEMU QCOW Image (v3), 8589934592 bytes
Nutanix AHV の ユーザ VM の vDisk 接続
それでは、AHV の UVM の vDisk 接続を見てみます。今回は、Nutanix CE ce-2018.05.01-stable の CVM からコマンド実行して確認しています。
ドメイン ID 1 のほうは CVM で、ID 3 のほうが UVM です。
CVM$ virsh list Id Name State ---------------------------------------------------- 1 NTNX-68fda404-A-CVM running 3 e234fdbb-f13d-4319-b033-a7f2622c0719 running
下記のようなコマンドラインで、cdrom 以外のディスク接続の定義情報を取得してみます。
CVM$ virsh dumpxml 3 | xmllint --xpath "//disk[@device!='cdrom']" -
vDisk は、iSCSI デバイスを、ロー(raw)デバイスとして接続しています。iSCSI ターゲットの接続先が「127.0.0.1」宛になっているのは、AHV のローカルの iSCSI リダイレクタに接続しているためです。
ちなみに、AHV 側(ローカルスイッチ経由のアドレスの 192.168.5.1)の iSCSI リダイレクタは、下記の「iscsi_red」からはじまる行のプロセスです。
CVM$ ssh root@192.168.5.1 lsof -P -n -i:3261 FIPS mode initialized COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME iscsi_red 6045 root 5u IPv4 52747 0t0 TCP 127.0.0.1:3261 (LISTEN) qemu-kvm 11694 qemu 15u IPv4 25213844 0t0 TCP 192.168.5.1:42672->192.168.5.254:3261 (ESTABLISHED) qemu-kvm 11694 qemu 16u IPv4 25213847 0t0 TCP 192.168.5.1:42678->192.168.5.254:3261 (ESTABLISHED)
リダイレクト先は CVM で、stargate(スターゲート)が iSCSI ターゲットとして受けています。192.168.5.254 が CVM 側の IP アドレスです。これは正常時の状態で、CVM 障害があると、192.168.5.x ではなく AHV 外部に接続できる IP アドレスで別 AHV の CVM に接続します。
CVM$ lsof -P -n -i:3261 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME stargate 25239 nutanix 95u IPv4 76704 0t0 TCP *:3261 (LISTEN) stargate 25239 nutanix 134u IPv4 23278958 0t0 TCP 192.168.5.254:3261->192.168.5.1:42672 (ESTABLISHED) stargate 25239 nutanix 137u IPv4 23278966 0t0 TCP 192.168.5.254:3261->192.168.5.1:42678 (ESTABLISHED)
ちなみに、Nutanix Volumes(旧 ABS)によるボリュームを VM に直接接続した場合も、同様の接続方法になります。
以上。