Nutanix CE の Acropolis Block Services(ABS) の Volume Group(VG)を、Linux VM に「Attach to a VM」で接続してみました。この場合、ゲスト OS の iSCSI Initiator ではなく、Acropolis Hypervisor(AHV = KVM) の、QEMU がもつ iSCSI Initiator 機能で VM に直接 vDisk が接続されます。
VG は、以前の投稿で作成した「vg01」を流用します。
VG には、8GB、40GB の 2つの vDisk を含みます。
Linux から iSCSI デバイス切断
まず、前回の投稿で Linux に ゲスト OS の iSCSI Initiator で接続した iSCSI ディスクを切断します。ゲストOS は、Oracle Linux 7.2 (RHEL 7.2 互換)です。
[root@vm01 ~]# cat /etc/oracle-release Oracle Linux Server release 7.2 [root@vm01 ~]# cat /etc/redhat-release Red Hat Enterprise Linux Server release 7.2 (Maipo)
ディスクは /u01 と /u02 にマウントしています。
[root@vm01 ~]# df -h /u0? Filesystem Size Used Avail Use% Mounted on /dev/sdc1 7.8G 36M 7.3G 1% /u01 /dev/sdb1 40G 49M 38G 1% /u02
アンマウントします。
[root@vm01 ~]# umount /u01 /u02
iSCSI のディスクは、まだ接続されています。
[root@vm01 ~]# lsscsi [0:0:0:0] cd/dvd QEMU QEMU DVD-ROM 2.1. /dev/sr0 [2:0:0:0] disk NUTANIX VDISK 0 /dev/sda [3:0:0:0] disk NUTANIX VDISK 0 /dev/sdc [4:0:0:0] disk NUTANIX VDISK 0 /dev/sdb [root@vm01 ~]# iscsiadm -m session tcp: [1] 10.1.1.13:3260,1 iqn.2010-06.com.nutanix:vg01-7656347c-143a-4235-a5cb-4161f46021b0-tgt0 (non-flash) tcp: [2] 10.1.1.13:3260,1 iqn.2010-06.com.nutanix:vg01-7656347c-143a-4235-a5cb-4161f46021b0-tgt1 (non-flash)
iSCSI のディスクを切断します。
[root@vm01 ~]# iscsiadm -m node -p 10.1.1.13 --logout Logging out of session [sid: 1, target: iqn.2010-06.com.nutanix:vg01-7656347c-143a-4235-a5cb-4161f46021b0-tgt0, portal: 10.1.1.13,3205] Logging out of session [sid: 2, target: iqn.2010-06.com.nutanix:vg01-7656347c-143a-4235-a5cb-4161f46021b0-tgt1, portal: 10.1.1.13,3205] Logout of [sid: 1, target: iqn.2010-06.com.nutanix:vg01-7656347c-143a-4235-a5cb-4161f46021b0-tgt0, portal: 10.1.1.13,3205] successful. Logout of [sid: 2, target: iqn.2010-06.com.nutanix:vg01-7656347c-143a-4235-a5cb-4161f46021b0-tgt1, portal: 10.1.1.13,3205] successful.
iSCSI ディスクの /dev/sdb と /dev/sdc が見えなくなりました。
[root@vm01 ~]# lsscsi [0:0:0:0] cd/dvd QEMU QEMU DVD-ROM 2.1. /dev/sr0 [2:0:0:0] disk NUTANIX VDISK 0 /dev/sda
/etc/fstab から自動マウント設定を削除しておきます。今回は「_netdev」オプションの行が iSCSI 用しかないので下記で・・・
[root@vm01 ~]# sed -i -e "/_netdev/d" /etc/fstab
iscsid は、とりあえず停止しておきます。
[root@vm01 ~]# systemctl stop iscsid Warning: Stopping iscsid.service, but it can still be activated by: iscsid.socket [root@vm01 ~]# systemctl disable iscsid Removed symlink /etc/systemd/system/multi-user.target.wants/iscsid.service.
VM への VG 接続
VG から IQN 削除
これまで接続していた Linux ゲスト OS の iSCSI Initiator IQN を削除します。
「Storage」→「Table」→「Volume Group」を開いて、vg01 の「Update」をクリックします。
IQN の「x」ボタンをクリックします。
確認画面で、「Yes」をクリックします。
いったん Save します。ここで Save せずに「Attach to a VM」しようとするとエラーになります。
VG の VM への接続
ふたたび VG「vg01」の 「Update」を開いて、「Attach to a VM」をクリックします。
接続する VM (今回は vm01)を選択して、「Attach」をクリックします。
vm01 は、これまでゲスト OS の iSCSI Initiator で VG を接続していた VM でもあります。
Save します。
VM での接続確認
Prism で vm01 の「VM Tasks」タブを見ると、vg01 が接続されたことが分かります。
ただし、「Virtual Disks」タブには VG のディスクは表示されないようです。もともと接続している ゲスト OS のインストールされたディスクだけ表示されています。
AHV にログインして virsh コマンドを実行すると、VM が iSCSI 接続していることがわかります。
[root@NTNX-b3b7a3a8-A ~]# virsh list Id Name State ---------------------------------------------------- 2 NTNX-b3b7a3a8-A-CVM running 3 e5a1c372-b219-4a2f-94c3-8e90347f52e6 running [root@NTNX-b3b7a3a8-A ~]# virsh dumpxml 3 | grep -C1 -n iscsi <driver name='qemu' type='raw' cache='none' error_policy='report' io='native'/> <source protocol='iscsi' name='iqn.2010-06.com.nutanix:vmdisk-473eb057-14ba-49b7-bdc9-869ff39282a0/0'> <host name='127.0.0.1' port='3261'/> -- <driver name='qemu' type='raw' cache='none' error_policy='report' io='native'/> <source protocol='iscsi' name='iqn.2010-06.com.nutanix:vg01-7656347c-143a-4235-a5cb-4161f46021b0/0'> <host name='127.0.0.1' port='3261'/> -- <driver name='qemu' type='raw' cache='none' error_policy='report' io='native'/> <source protocol='iscsi' name='iqn.2010-06.com.nutanix:vg01-7656347c-143a-4235-a5cb-4161f46021b0/1'> <host name='127.0.0.1' port='3261'/>
ゲスト OS での接続確認
vDidk は VM のレイヤで iSCSI 接続されているため、ゲスト OS では直接接続された SCSI ディスクとして認識されています。ゲスト OS 自身では iSCSI 接続がない状態です。
[root@vm01 ~]# cat /etc/oracle-release Oracle Linux Server release 7.2 [root@vm01 ~]# iscsiadm -m session iscsiadm: No active sessions.
しかし、VM の iSCSI Initiator で vDisk が接続されるので、VG のディスクが見えるようになっています。
[root@vm01 ~]# lsscsi [0:0:0:0] cd/dvd QEMU QEMU DVD-ROM 2.1. /dev/sr0 [2:0:0:0] disk NUTANIX VDISK 0 /dev/sda [2:0:1:0] disk NUTANIX VDISK 0 /dev/sdb [2:0:1:1] disk NUTANIX VDISK 0 /dev/sdc
マウントして中のファイルを見ると、以前の投稿で作成したテストファイルがそのまま見えます。
[root@vm01 ~]# mount -L /u01 /u01 [root@vm01 ~]# mount -L /u02 /u02 [root@vm01 ~]# df -h /u0? Filesystem Size Used Avail Use% Mounted on /dev/sdb1 7.8G 36M 7.3G 1% /u01 /dev/sdc1 40G 49M 38G 1% /u02 [root@vm01 ~]# cat /u01/test.f /u02/test.f poke go
今回は Nutanix CE 内の VM で iSCSI / Attach to a VM の接続を試しましたが、IQN 登録をする iSCSI 接続であれば Nutanix 外部のサーバにも接続することができます。工夫すれば、VG やその Snapshot を利用したデータのやり取りが可能になります。
以上。