vm.gowatana.jp

NEOにほんごVMware(仮)

vSAN iSCSI ターゲットに Linux から接続してみる。(入門編1)

個人的な vSAN Advent Calendar 21日目です。

 

vSAN iSCSI ターゲットに、Linux から接続してみます。

 

今回の環境

vSAN iSCSI ターゲット

vSAN 7.0 U1 の 4ノードクラスタです。vCenter 7.0 U1c + ESXi 7.0 U1 です。

f:id:gowatana:20201222001856p:plain

 

ESXi には、iSCSI ネットワークむけに VMkernel ポート(vmk3)を作成してあります。

ESXi「192.168.10.171」の vmk3 には、192.168.41.171 といった IP アドレスを設定してあります。iSCSI イニシエータ(クライアント)からは、このネットワークのアドレスに接続します。

f:id:gowatana:20201222002120p:plain

 

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 を登録します。

f:id:gowatana:20201222010404p:plain

 

イニシエータの IQN を入力して、「追加」をクリックします。

f:id:gowatana:20201222013047p:plain

 

イニシエータが追加されました。

f:id:gowatana:20201222013139p:plain

 

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 ストレージのように利用できます。

つづく。