vm.gowatana.jp

NEOにほんごVMware(仮)

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

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

 

前回作成した 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 ファイルシステムを作成したものをそのまま流用しています。

 

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 が利用できます。そして、ターゲットやイニシエータの数が多くなった際には、イニシエータ グループを作成しておくと管理しやすくなると思います。

 

つづく。