対象製品
NAS Recovery Kit (LifeKeeper for Linux)
本処理概要は LifeKeeper for Linux v9.6.1 に付属するリカバリキットをもとに作成し、
共有ディスクとして利用されるNAS領域を保護する場合を例にご案内しています。
NASを含むファイルシステムリソースの作成を行うと、
LifeKeeperには以下の様なリソース階層が作成されます。
[filesys] +[device-nfs]
本処理概要においては、上記の[device-nfs]について解説します。
その他のリソースにつきましては後述の関連記事をご参照いただきますようお願いいたします。
起動処理
1) NFSサーバのIPアドレス取得
device-nfsリソースのIDに記載の情報から、接続先NFSサーバのIPアドレスを取得します。
この情報は lcdstatus -e の出力中、device-nfsリソース行のID列に以下の様な形式で記載されています。
<接続先ホスト>-colon-<エクスポートポイント>
なお、接続先ホストがホスト名となっている場合は名前解決の上、IPアドレスを取得します。
2) NFSサーバへの接続性確認
前項において取得したIPアドレスを用いて、NFSサーバに対し以下のバージョンおよびプロトコルの組み合わせによる接続性の確認を実施します。
- NFSv4/TCP
- NFSv3/TCP
- NFSv3/UDP
- NFSv2/TCP
- NFSv2/UDP
本項の接続性確認ですべての組み合わせにおいて接続性なしと判定された場合は起動失敗となります。
本項の接続性確認でいずれかの組み合わせにおいて接続性ありと判定された場合は起動成功となり、filesysリソースにおいてマウント操作が施行されます。
※v9.6.0以前はデフォルトでNFSv3/UDPによる確認のみを実施していました。
停止処理
当該リソースの停止処理において実施される処理はございません。
NFSのアンマウントに関してはfilesysリソース停止時にて実施されるため、
当該リソースではリソース停止が実施されたことを示すログ出力のみが実施されます。
監視処理
監視処理においてはタイムアウトが設けられており、この時間を超過してもdevice-nfsリソースの監視処理が完了しない場合、
監視処理は失敗終了となり回復処理が実施されます。
参考情報:NAS Recovery Kitに関わる全てのパラメータがデフォルトの場合、監視処理のタイムアウトは120秒です。
監視処理におけるタイムアウトは、LKNFSTIMEOUTに設定されます。
なお、上記パラメータが下記計算式より算出される値よりも小さい場合、
LKNFSTIMEOUTおよびLKNFSSYSCALLTOはデフォルト値が適用されます
LKNFSSYSCALLTO * 3 + 5
参考情報:LKNFSSYSCALLTOパラメータがデフォルトの場合、上記より算出される時間は20秒です。
1) NFS接続の正常性確認
監視処理において確認される内容として、以下の計算式より算出される時間において後述の事項があります。
LKNFSTIMEOUT – ( LKNFSSYSCALLTO * 3 ) – 5
参考情報:NAS Recovery Kitに関わる全てのパラメータがデフォルトの場合、上記より算出される時間は100秒です。
確認事項は以下の通りです。
1) NFSサーバに対する接続性確認
起動処理の2項と同様の方法で接続性を確認します。
本事項の確認に成功した場合のみ、次項1-2)の内容を確認します。
2) NFS領域に対する接続性確認
NFS領域に対し読み取り専用でアクセスが可能であるかを確認します。
本事項の確認に成功した場合、この時点において監視処理は成功終了します。
上記何れの事項もLKNFSSYSCALLTOに指定された秒数以内に確認できない場合、
それぞれ、正常性確認は失敗となります。
上記事項において正常性確認に成功しない場合、2秒(固定)待機した後に再度上記事項を実施します。
上述の時間(デフォルト100秒)を超過しても正常性確認に成功しない場合、
監視処理は失敗終了となり、設定値に基づいたフェイルオーバ処理を行うための回復処理が実施されます。
回復処理
当該リソースにおいては自ノードでの復旧を目的とした回復処理はございません。
LKNASERRORの設定に基づき、ノード障害もしくはリソース障害として対向ノードへのフェイルオーバを開始させます。
関連パラメータ
以下はNAS Recovery Kitのパラメータ名とその用途を記載しています。
これらの値は /etc/default/LifeKeeper 設定ファイルを編集することにより設定可能です。
LKNFSTIMEOUT
単位 : 秒
デフォルト : 120
用途 : 監視処理のタイムアウトを指定
LKNFSSYSCALLTO
単位 : 秒
デフォルト : 5
用途 : 起動処理及び監視処理における各確認事項のタイムアウトを指定
LKNASERROR
単位 : フェイルオーバ方式(switchまたはhalt)
デフォルト : switch
用途 : リソース障害時のフェイルオーバ方式を指定
switch – リソース障害としてリソース停止処理を伴いフェイルオーバします。
halt – ノード障害としてノード強制停止を伴いフェイルオーバします。
関連資料
[Linux]FileSystemRecoveryKitの提供する機能(処理概要)を知りたいのですが
https://lkdkuserportal.sios.jp/hc/ja/articles/360037348492
改定履歴
[公開日:2016年09月12日]
[改訂日:2022年04月20日]