ここでは LifeKeeper で Amazon FSx for NetApp ONTAP を使用するためのセットアップ方法を説明します。
LifeKeeper からは、iSCSI プロトコルもしくは NFS 経由でアクセスして、共有ディスクとして使用します。マルチAZ構成にすることにより、どちらの Availability Zone (AZ) がダウンした場合でも対応できるようになります。iSCSI プロトコル用で使用する場合は AZ 毎に作成された endpoint に対してマルチパスを設定し、LifeKeeper からは Device Mapper (DM) Multipath Recovery Kit を用いて使用します。NFS 経由でアクセスする場合は NFS endpoint へのルートテーブルが各 AZ ごとに設定され、 NAS Recovery Kit を用いて使用します。
LifeKeeper のインストール
- iSCSI プロトコルで使用する場合は、Device Mapper (DM) Multipath Recovery Kit、 NFS 経由でアクセスする場合は NAS Recovery Kit を各クラスターノードに追加します。
- Device Mapper (DM) Multipath Recovery Kit を使用する場合は /etc/default/LifeKeeper で、RESERVATIONS=none を設定して、SCSI リザベーションをオフに設定します。
- (オプション) STONITH の「AWS 環境での STONITH」に従って、STONITH を設定します。
- スプリットブレイン防止のため、Quorum/Witness もインストールします。クラスターノードとONTAPがあるAZを考慮して、それ以外の AZ もしくは別リージョンに AWS 環境の Quorum/Witness クラスターの推奨事項 を参考に設定してください。
FSx for NetApp ONTAP ファイルシステムの作成
- AWS の FSx メニューから Amazon FSx for NetApp ONTAP を選択し、ファイルシステム(File system) を作成します。
- スタンダード作成(Standard create) を選択します。以下に補足事項を説明します。
- デプロイタイプ(Deployment type) ではマルチ AZ(Multi-AZ) で構成します。注:シングル AZ 構成はサポートされていません。
- 推奨サブネット(Preferred subnet)、 スタンバイサブネット(Standby subnet) には各 AZ に割り当てられたサブネットを割り当てます。ここに iSCSI エンドポイントが作成されます。
- VPC ルートテーブル(VPC route tables) では、NFS アクセスポイントが作成されるので、メインルートテーブル以外を使用している場合は、1つ以上の VPC ルートテーブルから選択します。
- その他の項目は任意です。
iSCSI プロトコルで使用する場合
https://docs.aws.amazon.com/ja_jp/fsx/latest/ONTAPGuide/mount-iscsi-luns-linux.html
に従って ONTAP の iSCSIを設定します。ここでは RHEL8.10 で以下を前提に説明します。
Filesystem
管理エンドポイント -DNS 名
management.fs-aaaa.fsx.us-west-2.amazonaws.com
管理エンドポイント -IP アドレス
10.1.255.204
SVM
管理 DNS 名
svm-aaaa.fsx.us-west-2.amazonaws.com
iSCSI DNS 名
iscsi.svm-aaaa.fsx.us-west-2.amazonaws.com
管理 IP アドレス
10.1.255.232
iSCSI IP アドレス
10.1.1.175, 10.1.2.141
各クラスターノードに iSCSI パッケージをインストールする。
このとき、イニシエーター名を確認しておきます。
# dnf install device-mapper-multipath iscsi-initiator-utils
# mpathconf --enable --with_multipathd y
# systemctl restart iscsid
# cat /etc/iscsi/initiatorname.iscsi
iqn.1994-05.com.redhat:3034e7ffb0e
ONTAP File System 管理サーバーにログインする
lun create, lun igroup create を実行します。このとき各クラスターノードのイニシエーター名を -initiator オプションで指定します。
# ssh fsxadmin@management.fs-aaaa.fsx.us-west-2.amazonaws.com
::> lun create -vserver fsx -path /vol/vol1_l/lun_001 -size 1G -ostype linux -space-allocation enabled
::> lun show
Vserver Path State Mapped Type Size
--------- ------------------------------- ------- -------- -------- --------
fsx /vol/vol1_l/lun_001 online unmapped linux 1GB
::> lun igroup create -vserver fsx -igroup igroup_001_l -initiator iqn.1994-05.com.redhat:3034e7ffb0e,iqn.1994-05.com.redhat:303eb2a3e0 -protocol iscsi -ostype linux
::> lun igroup show
Vserver Igroup Protocol OS Type Initiators
--------- ------------ -------- -------- ------------------------------------
fsx igroup_001_l iscsi linux iqn.1994-05.com.redhat:3034e7ffb0e
iqn.1994-05.com.redhat:303eb2a3e0
lun mapping で igroup_001_1 が lun 001 にアクセスできるようにします。
::> lun mapping create -vserver fsx -path /vol/vol1_l/lun_001 -igroup igroup_001_l -lun-id 001
::> lun show -path /vol/vol1_l/lun_001
Vserver Path State Mapped Type Size
--------- ------------------------------- ------- -------- -------- --------
fsx /vol/vol1_l/lun_001 online mapped linux 1GB
::> network interface show -vserver fsx
Logical Status Network Current Current Is
Vserver Interface Admin/Oper Address/Mask Node Port Home
----------- ---------- ---------- ------------------ ------------- ------- ----
fsx
iscsi_1 up/up 10.1.1.175/24 FsxId0212ef1b4803190af-01
e0e true
iscsi_2 up/up 10.1.2.141/24 FsxId0212ef1b4803190af-02
e0e true
nfs_smb_management_1
up/up 10.0.255.232/26 FsxId0212ef1b4803190af-01
e0e true
2 entries were displayed.
::> exit
各クラスターノードで iSCSI の設定を行う
# iscsiadm --mode discovery --op update --type sendtargets --portal 10.1.1.175
10.1.1.175:3260,1032 iqn.1992-08.com.netapp:sn.BBBB:vs.4
10.1.2.141:3260,1031 iqn.1992-08.com.netapp:sn.BBBB:vs.4
# オプション、8セッションで接続する場合
# iscsiadm --mode node -T iqn.1992-08.com.netapp:sn.BBBB:vs.4 --op update -n node.session.nr_sessions -v 8
# iscsiadm --mode node -T iqn.1992-08.com.netapp:sn.BBBB:vs.4 --login
# multipath -ll
プライマリーノード
# parted /dev/mapper/3600XXXX --script 'mklabel gpt quit'
# parted /dev/mapper/3600XXXX --script 'mkpart Disk1_part1 0% 100% print quit'
バックアップノードでパーティションが見えるようにします。
# parted /dev/mapper/3600XXXX --script 'print quit'
プライマリーノードで /disk1 にマウントします。
# mkdir -p /disk1
# mkfs.xfs /dev/mapper/3600XXXX; mount /dev/mapper/3600XXXX /disk1
ファイルシステムリソースを作成します。
# lkcli resource create fs --tag /disk1 --mountpoint /disk1
# lkcli resource extend fs --tag /disk1 --dest <BackUp server>
NFS 経由で使用する場合
https://docs.aws.amazon.com/ja_jp/fsx/latest/ONTAPGuide/attach-linux-client.html
に従って ONTAP の iSCSIを設定します。ここでは RHEL8.10 で以下を前提に説明します。
NFS DNS 名
svm-aaaa.fsx.us-west-2.amazonaws.com
NFS IP アドレス
10.1.255.232
共有するディレクトリー /nfs1 を ONTAP ファイルシステムに作成します。
# mount -t nfs svm-aaaa.fsx.us-west-2.amazonaws.com:/vol1_l /mnt
# mkdir /nfs1 /mnt/nfs1
# umount /mnt
プライマリーノードで、ファイルシステムリソースを作成します。
# mount -t nfs svm-aaaa.fsx.us-west-2.amazonaws.com:/vol1_l/nfs1 /nfs1
# lkcli resource create fs --tag /nfs1 --mountpoint /nfs1
# lkcli resource extend fs --tag /nfs1 --dest <BackUp server>
このトピックへフィードバック