Amazon FSx for NetApp ONTAPでLifeKeeperを共有ディスク構成で組んでみた

Banner for FSx for ONTAP × LifeKeeper with Japanese subtitle and illustration of a person at a computer beside a server, orange button: 構築手順を解説。

Amazon FSx for NetApp ONTAPとLifeKeeperを組み合わせた、共有ディスク構成の構築ガイドです。
iSCSI・NFS両対応のボリューム作成からLifeKeeperのリソース定義、スイッチオーバーによる動作検証まで、実際の構築手順をステップごとに詳しく解説します。

 

1. はじめに

こんにちは!馬場です。
AWS上でLifeKeeperを構築する際に、Amazon FSx for NetApp ONTAPを利用したボリュームの保護ができるようになったため、実際に検証してみました。

Amazon FSx for NetApp ONTAPについて
Amazon FSx for NetApp ONTAPとはNetApp の人気ファイルシステムであるONTAP上に構築されたフルマネージド共有ストレージです。
オンプレミスにてNetApp製品を利用している場合、オンプレミスの使用感そのままに同期、移行が可能です。
LifeKeeperでは従来DataKeeperによるストレージ保護のみでしたが、Amazon FSx for NetApp ONTAPがサポート対象となることで、共有ディスクの保護も可能となりました。
LifeKeeperではiSCSIとNFSに対応しているため今回はiSCSIとNFSをLifeKeeperで保護するところまで構築します。

2. Amazon NetApp ONTAP ボリュームの保護手順

今回は実際にAmazon FSx for NetApp ONTAPで作成したボリュームをLifeKeeperにて保護してみました。インスタンスの作成、LifeKeeperのインストール、Amazon FSx for NetApp ONTAPによるボリューム作成、LifeKeeperによるファイルシステムの保護の順で行います。今回はボリュームの作成とLifeKeeperによる保護について詳しく記載します。

2-1. システム構成の概要

構成図は以下の通りです。
同一VPC内に異なるAZに2つのインスタンスを作成しました。
動作検証に使用した環境は以下のとおりです。

項目 内容
クラウド環境 AWS
インスタンスタイプ t3.small
リージョン バージニア北部(us-east-1)
OS Red Hat Enterprise Linux 9.6.0
ディスクサイズ 10GiB(OS起動用)
LifeKeeperバージョン v10.0.1

動作検証環境

Amazon FSx for NetApp Ontap作成によってのiSCSIエンドポイントが各サブネット内に、NFSエンドポイントがVPCのネットワーク内に作成され、接続が可能となる構成となっています。
今回は一つのファイルシステムの中にNFS用とiSCSI用のボリュームを作成しました。

2-2. LifeKeeperのインストール

はじめにLifeKeeperのインストールを含めた、インスタンスの作成を行います。
LifeKeeperにてAmazon FSx for NetApp ONTAPのファイルシステムを保護する場合、iSCSIの場合DMMP(Device-Mapper-MultiPath) Recovery Kitを、NFSの場合は
NAS Recovery Kitをインストールする必要があります。

特にiSCSIの使用にDMMP Recovery Kit導入が必須なのはAWS上でAmazon FSx for NetApp ONTAPを使用する場合のみです。
LifeKeeperの事前準備として2本のコミュニケーションパスとIPリソースを作成しておきます。

2-3. ボリュームの作成

次にAmazon FSx for NetApp ONTAPでボリュームを作成します。
ファイルシステムを作成を押すと、使用するファイルシステムのタイプを選択できるので、Amazon FSx for NetApp ONTAPを選択して下さい。

次にファイルシステムの詳細を指定します。
Amazon FSx for NetApp ONTAPを選択し、次へ進みます。

今回はスタンダード作成を選択し、以下のパラメータを使用しました。
作成が完了すると、ファイルシステム、ストレージ仮想マシン、ボリュームが作成されます。

カテゴリ パラメータ 設定値
ファイルシステムの詳細 ファイルシステム名 任意
デプロイタイプ マルチ AZ 2
SSD ストレージ容量 1,024 GiB(最小容量)
プロビジョンド SSD IOPS 自動
スループットキャパシティ 推奨されるスループット容量
ネットワークとセキュリティ Virtual Private Cloud (VPC)
推奨サブネット プライマリーノードに指定したサブネットのうち
スタンバイサブネット バックアップノードに指定したサブネット
VPC ルートテーブル 1つ以上のVPCルートテーブルを選択し、ファイルシステムとLifeKeeperクラスターが接続できるようルートテーブルを追加
ネットワークタイプ IPv4
エンドポイント IPv4 アドレス範囲 VPC から未割り当ての IPv4 アドレス範囲
暗号化 暗号化キー aws/fsx(デフォルト)
ファイルシステム管理パスワード パスワードを指定(後に利用します)
デフォルトのストレージ仮想マシン設定 ストレージ仮想マシン名 任意
SVM 管理パスワード 指定しない
ボリュームのセキュリティスタイル Unix(Linux)
Active Directory Active Directory に参加しない
デフォルトのボリューム設定 ボリューム名 任意
ボリュームスタイル FlexVol(推奨)
ボリュームサイズ 12GiB(任意)
ボリュームタイプ Read-Write(RW)
ジャンクションパス 任意
ストレージ効率 無効
スナップショットポリシー Default
デフォルトのボリュームストレージの階層化 容量プールでの階層化ポリシー スナップショットのみ
階層化ポリシーの冷却期間 31(デフォルト値)
デフォルトのボリューム SnapLock 設定 SnapLock 設定 無効
バックアップとメンテナンスオプション 変更なし
タグオプション 変更なし

ファイルシステム作成パラメータ

なおそれぞれを確認したい場合は以下の公式ドキュメントをご確認下さい。

2-4. 共有ディスクの設定

続いて作成したボリュームとLifeKeeperのノードで共有ディスクをiSCSI、NFSとして認識できるよう設定します。
ここからはLifeKeeper公式ドキュメントAWS公式ドキュメントを参考にして下さい。

iSCSIプロトコルで使用する場合

AWS公式ドキュメントとLifeKeeper公式ドキュメントに従ってONTAPのiSCSIを設定します。
ここではRHEL9.6.0 で以下を前提に説明します。
作成後、はじめにエンドポイントを確認します。
ファイルシステム内のネットワークとセキュリティのエンドポイントを確認して下さい。

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オプションで指定します。

-vserver オプションには仮想ストレージマシンの名前が、-pathには“/vol” + ボリューム名 + lunの名前が入ります。lunの名前とigroup名はここで決めて下さい。
仮想ストレージ名とボリューム名が分からない場合はfsxadminに接続後、volume show コマンドを実行し確認してください。

# 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 の設定を行う。
# ターゲット 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

#ターゲットイニシエーターにログインします。iSCSI LUN は、使用可能なディスクとして表示されます。
# 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'

プライマリーノードで /diskiscsi1 にマウントします。

# mkdir -p /diskiscsi1
# mkfs.xfs /dev/mapper/3600XXXX; mount /dev/mapper/3600XXXX /diskiscsi1

NFS 経由で使用する場合

ボリュームの Linux クライアントへのマウントに従って ONTAP のNFSを設定します。

NFS DNS 名
svm-aaaa.fsx.us-west-2.amazonaws.com
NFS IP アドレス
10.1.255.232
ジャンクションパス
 /vol1_l

共有するディレクトリー /disknfs1 を ONTAP ファイルシステムに作成します。

# mount -t nfs svm-aaaa.fsx.us-west-2.amazonaws.com:/vol1_l /mnt
# mkdir /disknfs1 /mnt/disknfs1
# umount /mnt

プライマリーノードで、ファイルシステムリソースを作成します。

# mount -t nfs svm-aaaa.fsx.us-west-2.amazonaws.com:/vol1_l/disknfs1 /disknfs1

2-5. LifeKeeperで保護する

共有ディスクを作成できたので最後にLifeKeeperでリソースを作成して保護すれば完了です。以下の手順で行います。
2ノード構成でコミュニケーションパスの設定まで完了している前提です。

最初に簡易的なパラメータ表をまとめておきます。

パラメータ 設定値
オペレーション リソース階層の作成
サーバー ip-10-0-2-22.ec2.internal
Application Recovery Kit File System
マウントポイント /diskiscsi1
ファイルシステム
リソースタグ
/diskiscsi1
スイッチバック
タイプ
INTELLIGENT
プライマリー
プライオリティ
1
スタンバイサーバー ip-10-0-4-4.ec2.internal
スタンバイ
プライオリティ
10
File System
リソースタグ
/diskiscsi1

LifeKeeper リソース作成パラメータ(iSCSI)

    1. 始めにオペレーションからリソース階層の作成を押しリソース作成画面へ移ります。


    2. 作成するサーバーとARKはFile Systemを選択します。


    3. 先に稼働系で設定した、マウントポイントを指定します。

             
    4. ファイルシステムリソースのタグ名を設定し、スイッチバックタイプはデフォルトのINTELLIGENTに設定します。

    5. 設定を確認し、実行を押す。
    6. 実行されるので、成功後リソース階層の拡張を押す。

    7. 拡張先のスタンバイサーバーとプライオリティーを設定します。

    8. 拡張前チェックが行われるので、次へを押す。

       
    9. File Systemリソースタグとマウントポイントを確認し、次へを押す。

    10. 最後に内容を確認して実行を押す。

    11. リソース作成が成功し、作成画面を閉じるとリソースが作成されています。以下はiSCSI、NFSどちらも作成した状態です。

2-6. 保護できているか検証

プライマリーノードにてディスクにテキストデータを作成し、閲覧できるか確認します。
現在Node1がプライマリーノードでNode2がバックアップノードとなっている状態です。
この時Node1で保護したファイルシステム配下にテキストを作成します。
両系からアクセスできるかを確認するとNode1からはアクセスでき、Node2からはアクセスができない状態です。

[Node1]# date > /diskiscsi1/test.txt
[Node1]# cat /diskiscsi1/test.txt
Tue Apr 14 07:01:37 AM UTC 2026

[Node2]# cat /diskiscsi1/test.txt
cat: /diskiscsi1/test.txt: No such file or directory

続いてスイッチオーバーを行い、再度各ノードからアクセスを確認します。
スイッチオーバーをしたため、Node1がバックアップノード、Node2がプライマリーノードとなっています。
そのため今回はNode1からはアクセスできず、Node2からアクセスできる状態となり、ちゃんと保護できていることが分かります。

[Node1]# cat /diskiscsi1/test.txt
cat: /diskiscsi1/test.txt: No such file or directory

[Node2]# cat /diskiscsi1/test.txt
Tue Apr 14 07:01:37 AM UTC 2026

3. 最後に

以上が LifeKeeper にてAmazon FSx for NetApp ONTAPの共有ストレージを保護する方法となります。
LifeKeeper でストレージを保護する場合従来はDataKeeperでの保護限定でしたが共有ストレージの保護も加わり、より柔軟な構成を作ることが可能となりました。
特に既にFSx for ONTAPを使用している方については同じ感覚で使用・管理ができ、クラウドへの移行がよりスムーズに行えそうです。

詳細については AWS 公式サイトや、弊社ドキュメントをご確認下さい。