個人的な vSAN Advent Calendar 22日目です。
自宅ラボの vSAN 7.0 U 1 Advent Calendar 2020 - Adventar
前回作成した vSAN iSCSI ターゲットへのアクセス制御を、iSCSI イニシエータ グループに変更してみます。
前回はこちら。
vSAN iSCSI ターゲットのアクセス制御では、「許可されたイニシエータ」を設定します。この設定では、iSCSI イニシエータの IQN を個別指定できますが、今回はイニシエータ グループを作成してみます。
- iSCSI イニシエータ グループの作成
- iSCSI イニシエータからの接続
- おまけ: vSAN iSCSI LUN と SCSI-3 Persistent Reservation(SCSI-3 PR)
iSCSI イニシエータ グループの作成
イニシエータ グループの追加
vSAN クラスタの「設定」→ vSAN の「iSCSI ターゲット サービス」→「イニシエータ グループ」にある、「追加」を開きます。
グループ名を入力して、メンバー イニシエータの IQN を追加します。今回は 2つの IQN(Linux クライアント 2台分)を追加しています。
ターゲットとイニシエータ グループの紐づけ
作成されたイニシエータ グループ(例では igroup-01)を選択して、「アクセス可能なターゲット」にある「追加」を開きます。
事前に作成しておいた vSAN iSCSI ターゲットの IQN を選択して、「追加」をクリックします。
iSCSI ターゲットが追加されました。
これは「iSCSI ターゲット」画面からでも確認できます。
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 が利用できます。そして、ターゲットやイニシエータの数が多くなった際には、イニシエータ グループを作成しておくと管理しやすくなると思います。
つづく。