vm.gowatana.jp

NEOにほんごVMware(仮)

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

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

自宅ラボの vSAN 7.0 U 1 Advent Calendar 2020 - Adventar

前回作成した vSAN iSCSI ターゲットへのアクセス制御を、iSCSI イニシエータ グループに変更してみます。

前回はこちら。

vSAN iSCSI ターゲットのアクセス制御では、「許可されたイニシエータ」を設定します。この設定では、iSCSI イニシエータの IQN を個別指定できますが、今回はイニシエータ グループを作成してみます。

iSCSI イニシエータ グループの作成

イニシエータ グループの追加

 vSAN クラスタの「設定」→ vSAN の「iSCSI ターゲット サービス」→「イニシエータ グループ」にある、「追加」を開きます。

f:id:gowatana:20201223202649p:plain

グループ名を入力して、メンバー イニシエータの IQN を追加します。今回は 2つの IQN(Linux クライアント 2台分)を追加しています。

f:id:gowatana:20201223202946p:plain

ターゲットとイニシエータ グループの紐づけ

 作成されたイニシエータ グループ(例では igroup-01)を選択して、「アクセス可能なターゲット」にある「追加」を開きます。

f:id:gowatana:20201223203043p:plain

 事前に作成しておいた vSAN iSCSI ターゲットの IQN を選択して、「追加」をクリックします。

f:id:gowatana:20201223203347p:plain

iSCSI ターゲットが追加されました。

f:id:gowatana:20201223203437p:plain

これは「iSCSI ターゲット」画面からでも確認できます。

f:id:gowatana:20201223203545p:plain

iSCSI イニシエータからの接続

今回はイニシエータ グループに Linux クライアント 2台分の IQN を登録してあるので、それぞれ接続確認します。

Linux クライアントは、下記投稿と同様に準備してあります。LUN は、前回 XFS ファイルシステムを作成したものをそのまま流用しています。

vSAN iSCSI ターゲットに Linux から接続してみる。(入門編) - vm.gowatana.jp

1台目の接続確認

まず、1台目の Linux から接続確認します。前回と同様、iSCSI ターゲットとして 192.168.41.171(ESXi のうち 1台)を指定しています。

[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
[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.
[root@lab-vm-01 ~]# lsscsi | grep "Virtual SAN"
[33:0:0:0]   disk    VMware   Virtual SAN      0001  /dev/sdb

マウントして、動作確認のためファイルを作成しておきます。

[root@lab-vm-01 ~]# df -h /mnt
ファイルシス   サイズ  使用  残り 使用% マウント位置
/dev/sdb1         20G   33M   20G    1% /mnt
[root@lab-vm-01 ~]# echo "test 2020/12/22" > /mnt/test.f
[root@lab-vm-01 ~]# cat /mnt/test.f
test 2020/12/22

この環境で iSCSI LUN に作成してあるファイルシステムでは、複数ホストからの同時書き込みできません。そこで、次のホストでマウントするために、アンマウントしておきます。

[root@lab-vm-01 ~]# umount /mnt

2台目の接続確認

1台目と同様に iSCSI イニシエータの準備をしてある、2台目の Linux クライアントで、iSCSI LUN をマウントしてみます。

IQN は、ターゲット グループに登録してあるものです。

[root@lab-vm-02 ~]# cat /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.1988-12.com.oracle:lab-vm-02

それでは、LUN を接続します。

[root@lab-vm-02 ~]# iscsiadm -m discovery -t sendtargets -p 192.168.41.171
192.168.41.171:3260,257 iqn.1998-01.com.vmware:5264cc4fc9838f22-b0f848b5cc84d756
[root@lab-vm-02 ~]# 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.

ファイルシステムをマウントすると、1台目で作成したテスト ファイルの存在が確認でき、同じ LUN に接続していることがわかります。

[root@lab-vm-02 ~]# mount /dev/sdb1 /mnt
[root@lab-vm-02 ~]# cat /mnt/test.f
test 2020/12/22

アンマウントしておきます。

[root@lab-vm-02 ~]# umount /mnt

おまけ: vSAN iSCSI LUN と SCSI-3 Persistent Reservation(SCSI-3 PR)

クラスタ ソフトウェアで共有ディスクを利用するうえで、排他制御のために SCSI-3 Persistent Reservation(SCSI-3 PR)が必要とされたりします。

vSAN iSCSI LUN でも、SCSI-3 PR がサポートされています。

SCSI-3 PR に対応していないデバイスだと、下記のように「command not supported」となりますが・・・

[root@lab-vm-02 ~]# sg_persist -d /dev/sda -k
  VMware    Virtual disk      2.0
  Peripheral device type: disk
PR in (Read keys): command not supported

vSAN iSCSI LUN による /dev/sdb だと出力が異なります。ちなみに Virtual SAN は vSAN の旧名称です。

[root@lab-vm-02 ~]# sg_persist -d /dev/sdb -k
  VMware    Virtual SAN       0001
  Peripheral device type: disk
  PR generation=0x0, there are NO registered reservation keys

Windows や Linux のクラスタ ソフトウェアなどで共有ディスクが必要な場合は、このように vSAN iSCSI ターゲットの LUN が利用できます。そして、ターゲットやイニシエータの数が多くなった際には、イニシエータ グループを作成しておくと管理しやすくなると思います。

つづく。