個人的な vSAN Advent Calendar 21日目です。
vSAN iSCSI ターゲットに、Linux から接続してみます。
- 今回の環境
- Linux クライアントでの iSCSI イニシエータの準備
- iSCSI ターゲットでのイニシエータ接続許可
- iSCSI イニシエータからターゲットへの接続
- iSCSI イニシエータの切断
今回の環境
vSAN iSCSI ターゲット
vSAN 7.0 U1 の 4ノードクラスタです。vCenter 7.0 U1c + ESXi 7.0 U1 です。
ESXi には、iSCSI ネットワークむけに VMkernel ポート(vmk3)を作成してあります。
ESXi「192.168.10.171」の vmk3 には、192.168.41.171 といった IP アドレスを設定してあります。iSCSI イニシエータ(クライアント)からは、このネットワークのアドレスに接続します。
vSAN iSCSI ターゲットは、下記のように用意してあります。
iSCSI イニシエータ
iSCSI イニシエータ(クライアント)として、Oracle Linux 7.9 を利用します。今回は、vSAN クラスタの外部にある Linux を利用しています。
[root@lab-vm-01 ~]# cat /etc/system-release Oracle Linux Server release 7.9
Linux クライアントでの iSCSI イニシエータの準備
Oracle Linux で iSCSI イニシエータの準備をしておきます。
まず、iscsi-initiator-utils をインストールします。
[root@lab-vm-01 ~]# yum install -y iscsi-initiator-utils [root@lab-vm-01 ~]# rpm -q iscsi-initiator-utils iscsi-initiator-utils-6.2.0.874-20.0.1.el7_9.x86_64
イニシエータの IQN を設定します。
[root@lab-vm-01 ~]# echo 'InitiatorName=iqn.1988-12.com.oracle:lab-vm-01' > /etc/iscsi/initiatorname.iscsi [root@lab-vm-01 ~]# cat /etc/iscsi/initiatorname.iscsi InitiatorName=iqn.1988-12.com.oracle:lab-vm-01
iscsid サービスを起動しておきます。
[root@lab-vm-01 ~]# systemctl start iscsid [root@lab-vm-01 ~]# systemctl enable iscsid [root@lab-vm-01 ~]# systemctl is-active iscsid active
iSCSI ターゲットでのイニシエータ接続許可
この iSCSI ターゲットに接続するイニシエータを、「許可されたイニシエータ」にある「追加」から登録しておきます。今回は、イニシエータ グループは作成せず、単一のイニシエータ IQN を登録します。
イニシエータの IQN を入力して、「追加」をクリックします。
イニシエータが追加されました。
iSCSI イニシエータからターゲットへの接続
Oracle Linux の iSCSI イニシエータから、ターゲットに接続します。
iscsiadm での接続
今回は、1台目の ESXi の vmk3 に設定してある IP アドレス(192.168.41.171)に接続します。iSCSI ターゲットが検出できました。
[root@lab-vm-01 ~]# iscsiadm -m discovery -t sendtargets -p 192.168.41.171 192.168.41.171:3260,257 iqn.1998-01.com.vmware:5264cc4fc9838f22-b0f848b5cc84d756
それでは、接続(--login)します。
[root@lab-vm-01 ~]# iscsiadm -m node -p 192.168.41.171 --login Logging in to [iface: default, target: iqn.1998-01.com.vmware:5264cc4fc9838f22-b0f848b5cc84d756, portal: 192.168.41.171,3260] (multiple) Login to [iface: default, target: iqn.1998-01.com.vmware:5264cc4fc9838f22-b0f848b5cc84d756, portal: 192.168.41.171,3260] successful.
さきほど作成した LUN が、/dev/sdb として認識されました。Virtual SAN(vSAN の以前の製品名)のデバイスだとわかります。
[root@lab-vm-01 ~]# lsscsi
[0:0:0:0] disk VMware Virtual disk 2.0 /dev/sda
[3:0:0:0] cd/dvd NECVMWar VMware SATA CD00 1.00 /dev/sr0
[33:0:0:0] disk VMware Virtual SAN 0001 /dev/sdb
動作確認
XFS でファイルシステムを作成して、/mnt にマウントしてみます。
パーティションを作成します。
[root@lab-vm-01 ~]# echo '2048,,' | sfdisk -uS /dev/sdb
ファイルシステムを作成します。
[root@lab-vm-01 ~]# mkfs.xfs /dev/sdb1
/mnt ディレクトリにマウントします。
[root@lab-vm-01 ~]# mount /dev/sdb1 /mnt
マウントされました。
[root@lab-vm-01 ~]# lsblk --bytes --ascii /dev/sdb NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sdb 8:16 0 21474836480 0 disk `-sdb1 8:17 0 21473787904 0 part /mnt [root@lab-vm-01 ~]# df -h /mnt ファイルシス サイズ 使用 残り 使用% マウント位置 /dev/sdb1 20G 33M 20G 1% /mnt
データの書き込みもできました。
[root@lab-vm-01 ~]# echo test > /mnt/test.f [root@lab-vm-01 ~]# cat /mnt/test.f test
iSCSI イニシエータの切断
Linux の iSCSI イニシエータから、LUN を切断しておきます。
LUN を /mnt からアンマウントします。
[root@lab-vm-01 ~]# umount /mnt
iSCSI ターゲットからログアウトしておきます。
[root@lab-vm-01 ~]# iscsiadm -m node -p 192.168.41.171 --logout Logging out of session [sid: 1, target: iqn.1998-01.com.vmware:5264cc4fc9838f22-b0f848b5cc84d756, portal: 192.168.41.171,3260] Logout of [sid: 1, target: iqn.1998-01.com.vmware:5264cc4fc9838f22-b0f848b5cc84d756, portal: 192.168.41.171,3260] successful.
iSCSI LUN である /dev/sdb が見えなくなりました。
[root@lab-vm-01 ~]# lsscsi [0:0:0:0] disk VMware Virtual disk 2.0 /dev/sda [3:0:0:0] cd/dvd NECVMWar VMware SATA CD00 1.00 /dev/sr0
自動接続しないように、ターゲット ポータルを削除しておきます。
[root@lab-vm-01 ~]# iscsiadm -m node -p 192.168.41.171 -o delete
このように、vSAN の iSCSI ターゲット サービスは、一般的な iSCSI ストレージのように利用できます。
つづく。