NTNX>日記

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

Nutanix AHV でのユーザ VM の vDisk 接続の様子。

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 に貼りつけています)

gist.github.com

「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 リダイレクタに接続しているためです。

gist.github.com

ちなみに、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 に直接接続した場合も、同様の接続方法になります。 

以上。