------------------------------------------- version: 9.0.1 node: 3 datastore: GFS2 x 1 ( FC接続風 ) ※HVMホストは、AlmaKVM上のVMとして構築している。 ※FCストレージは用意できないので、AlmaKVMにHVMホスト間で共有できる仮想DISKをひとつ用意して代わりとした。 multhpath的にはFCかiSCSIかは関係ないはず。基本的には以下の条件を満たせばマルチパスるはず。 ・ちゃんとSCSIデバイスなりを認識すること(/dev/sdX) ・それらが同じもので&異なる「パス」であること host1 host2 host3 | | | ----------------- | vDISK | ----------------- test-manager: 172.16.2.180 test-hvm: 172.16.2.181 test-hvm2: 172.16.2.182 test-hvm3: 172.16.2.183 guest-ubuntu: 172.16.2.184 guest-ubuntu2: 172.16.2.185 ------------------------------------------- ・iSCSiでなくFC接続を想定した形でGFS2データストアの作成を試してみた ------------------------------------------- やってみて ・FCであってもiSCSIの時と考え方は同じで「クラスタ作成してGFS2データストア作成するまでの間に」 DISK認識(/dev/sdX等)&マルチパスデバイスがある状態をつくれればOK。まあ、クラスタ作成前にその状態になっていても いいようには思うが、そんな細かいことはどうでもいいかな。「iSCSIの時と同じ流れ」ってのがシンプルかな。 基本的にはmultipathの設定などはそのままでいいとは思うが、そこはその時使う機器のマニュアル等参照。 ------------------------------------------- 参考RUL ・Morpheus VM Essentials - FCストレージダイレクト接続 https://community.hpe.com/t5/hpe-morpheus-vm-essentials/morpheus-vm-essentials-fc-storage-direct-connect/m-p/7270778/highlight/true#M2563 ・ゲスト仮想マシンでのストレージコントローラーの管理 https://docs.redhat.com/ja/documentation/red_hat_enterprise_linux/6/html/virtualization_administration_guide/sect-managing_storage_controllers_in_a_guest ・仮想 SCSI コントローラーの作成 https://docs.redhat.com/ja/documentation/red_hat_enterprise_linux/6/html/virtualization_administration_guide/sect-managing_storage_controllers_in_a_guest ・仮想マシンへのストレージの接続 https://docs.redhat.com/ja/documentation/red_hat_enterprise_linux/10/html/configuring_and_managing_windows_virtual_machines/attaching-storage-to-virtual-machines ------------------------------------------- ◆構築 ※HVM3ホストに対してすることは、1号機のみ記載している。同じことをするだけ。 ①【AlmaKVM】テスト用全HVMホストVMをAlmaKVM上に作成 ②【AlmaKVM】仮想 SCSI コントローラーの作成 # virsh dumpxml test-hvm | grep controller.*scsi # vi /tmp/virtio-scsi-controller.xml ------------------------------------------------------ ------------------------------------------------------ # virsh attach-device --config test-hvm /tmp/virtio-scsi-controller.xml # virsh dumpxml test-hvm | grep controller.*scsi ③【AlmaKVM / HVM】テスト用環境作成(HVMインスト+初期設定+マネージャデプロイ+・・・つか、クラスタ作成までする。) ==この時点でクラスタ作成出来ていて、GFS2データストア作成はまだという状態 ==次は、ストレージ側でボリュームをHVMホスト側に見えるようにすることを想定してやってみる。 ④【AlmaKVM】既存ストレージプールに test-hvm-share-01.raw という名前の 50 GiB の raw ボリュームを作成 # virsh vol-create-as --pool kvm360-ssd --name test-hvm-share-01.raw --capacity 50GiB --format raw # virsh vol-list kvm360-ssd | grep -i "test-hvm-share-01.raw" # qemu-img info /var/lib/libvirt/nfspool/ssd/test-hvm-share-01.raw ⑤【AlmaKVM】共有DISK接続 ※共有DISKアタッチ用xmlはHVMで共有DISKを設定した際のvm の xml を参考にした。 HVMホスト間で共有するので「shareable」が入っている(libvirt のドキュメントでは、キャッシュは無効にする必要ありと。) ※今回は、2つの仮想DISKが同一であることを確実に認識させたかったので、念のため「wwn」を入れて同じ値としてみた。 「serial」にしようか迷ったが、今回は「wwn」のほうがぽいかなと。。 ※「target='0'」「target='1'」としてみた。違うやり方もあるはずだが、マルチパスデバイスも出来ているし、今回はその点が重要でないため気にしない。 ※この時点でVMは起動しているので、アタッチする際はライブ設定、永続設定ともされるようにしている。 # vi /tmp/shared-disk-1.xml ------------------------------------------------------ 5000c50015ea1234
------------------------------------------------------ # vi /tmp/shared-disk-2.xml ------------------------------------------------------ 5000c50015ea1234
------------------------------------------------------ # virsh attach-device test-hvm /tmp/shared-disk-1.xml --live --config # virsh attach-device test-hvm /tmp/shared-disk-2.xml --live --config ⑥【全HVMホスト】SCSIデバイス、マルチパス確認 # lsblk # multipath -r # multipath -ll ==すべて問題なし。まあ、SCSIデバイスを認識してなかっても、数分ごとに以下のように全HBAのスキャンが走るので ==ここでコマンドを手動で実行しなくても、数分待てば認識するはず。認識しなければさせればいいだけ。 ==(/usr/bin/tee /sys/class/scsi_host/hostX/scan)※実際には「echo "- - -"」を←のscanに書き込んでいる。 ⑦【全HVMホスト】GFS2データストア作成 ------------------------------------------- ◆確認 〇:パス切り替え # multipath -ll # echo offline > /sys/block/sda/device/state # multipath -ll # echo running > /sys/block/sda/device/state # multipath -ll # echo offline > /sys/block/sdb/device/state # multipath -ll # echo running > /sys/block/sdb/device/state # multipath -ll 〇:各ホストの hb.properties がデータストアに作成され更新されるか 〇:2VM作成する。各VMの仮想DISKの保存先をデータストアにしてVM作成できるか 〇:ライブマイグレーション 〇:HA