本セクションでは、NFS Server Recovery Kit の設定と管理を開始する前に考慮すべき事項および典型的な LifeKeeper NFS 設定例について記載しています。
LifeKeeper Core のリソース階層の設定に関する手順については、SPS for Linux テクニカルドキュメンテーション を参照してください。
NFS
次の表は、NFS Server Recovery Kit で重要な NFS ファイル、コマンド、デーモンについて説明しています。
exports(5) (/etc/exports) | NFS クライアントにエクスポートされたファイルシステムのアクセス制御リストです。ファイルの各行に、エクスポートポイント、ファイルシステムをマウントできるクライアントのリスト(オプション) 、マウントパラメータのリスト(オプション) が記述されています。 注記: LifeKeeper が保護する NFS リソースを作成すると、ファイルシステムのエクスポート情報は exports ファイルから削除され、LifeKeeper によって管理されます。NFS リソースを削除すると、 exports ファイルにエクスポート情報がリストアされます。 |
/var/lib/nfs | 現在のエクスポート、クライアントマウント、ロックの状態およびその他の NFS 情報を含んだディレクトリーです。 |
/var/lib/nfs/etab | NFS にエクスポートしたファイルシステムの現在の表を含むファイルです。このファイルは exportfs コマンドによって管理され、ユーザーがこのファイルを直接編集することはありません。 注記: バックアップサーバーで NFS リソースのサービスを起動すると、その NFS ファイルシステムは、プライマリーサーバーの etab ファイルから削除され、バックアップサーバーの etab ファイルに挿入されます。 |
/var/lib/nfs/rpc_pipefs | NFS のユーザー空間の通信に対するカーネルに使用されます。このディレクトリーは、LifeKeeper のインストール中に /var/lib に再配置されます。 |
exportfs(8) (/usr/sbin/exportfs) | /var/lib/nfs/etab のエクスポートされたファイルシステムの表を管理するコマンドです。 |
rpc.mountd(8) (/usr/sbin/rpc.mountd) | マウント要求を認証し、クライアントにファイルシステムのマウントを許可する場合にはファイルハンドルを返すデーモンです。 |
rpc.nfsd(8) (/usr/sbin/rpc.nfsd) | クライアントのファイルシステム要求を処理するデーモンです。 |
rpc.quotad(8) (/usr/sbin/rpc.rquotad) | NFS 経由でリモートマウントされたローカルファイルシステムのユーザーのクォータを返す rpc サーバーです。 |
rpc.lockd(8) (/sbin/rpc.lockd) | クライアントのファイルロック要求を処理するデーモンです。 |
rpc.statd(8) (/usr/sbin/rpc.statd) | NFS クライアントとサーバーのステータスを監視し、ステータスを通知するデーモンです。このデーモンは、NFS ファイルロックを適切に機能させるために、実行しておく必要があります。 |
rpcbind | RPC プログラム番号をポート番号に変えるデーモンプロセス。このデーモンは、NFS のために実行しておく必要があります。このプロセスが失敗するとスタンバイノードへのスイッチオーバーを強制します。 |
rpc.idmapd | NFS v4 で、ユーザー名 / グループ名とユーザー ID/ グループ ID を一致させるデーモンプロセスです。 |
エクスポートの考慮事項
特定のエクスポートされたファイルシステムに対する LifeKeeper の保護は、exports(5) のマニュアルページで説明されている形式のエクスポートオプションによって決まります。特に、ホスト制限のフォーマットに注意してください。正当なホスト制限は、単独ホスト、ネットグループ、ワイルドカードで指定されたホスト名およびネットマスクの 4 つのみです。
特に、ワイルドカードで指定された IP アドレス (172.13.4.* など) は不正であり、スイッチオーバーまたはフェイルオーバーでファイルハンドルの陳腐化を招く恐れがあります。
exportfs -v を実行し、返されたエクスポートの記述とマニュアルページに説明されているフォーマットを手動で比較することで、慎重にチェックを行ってください。
(exportfs では完全にチェックは行えず、一部の不正なエクスポートフォーマットを受け入れてしまいます。)
エクスポートオプション fsid=0 非サポート
エクスポートのオプションに “fsid=0” を指定すると、NFSv4 では擬似ファイルシステムのルートとして扱われます。しかし、LifeKeeper ではサポートされません。LifeKeeper で保護するエクスポートポイントのオプションには ”fsid=0” を指定しないでください。また、LifeKeeper は ”fsid=0” が指定されたエクスポートポイントのサブディレクトリーのエクスポートポイントも保護できません。
クライアントからの接続に影響がありますので、LifeKeeper で保護していないエクスポートについても “fsid=0” を指定してエクスポートしないでください。
bind マウント 非サポート
bind マウントは LifeKeeper ではサポートされません。エクスポートポイントを bind マウントしないでください。
RPC.MOUNTD 再起動
複数の NFS リソース階層がある特定の条件下では、rpc.mountd は、使用可能なエクスポートの一覧を適切に公表できません。そのため、リストア時の NFS Recovery Kit は停止し、rpc.mountd を再開して、エクスポートの適切な一覧をすべてのクライアントが利用できるようにします。rpc.mountd を停止し、再開するアクションは、 /etc/default/LifeKeeper 内の RESTARTMOUNTD エントリーによって制御されます。デフォルトでは、このエントリーは次のように true に設定され、NFS リストア時に必ず rpc.mount の停止と再起動が行われます。
RESTARTMOUNTD=true
このアクションをオフにするには、次のように設定します。
RESTARTMOUNTD=false
NFS リソース階層
NFS リソースを作成する前に、IP アドレスリソースを作成する必要があります。
LifeKeeper が保護する NFS リソースを作成すると、LifeKeeper によって次の階層が作成されます。
- NFS ファイルシステムリソース (親またはルート)
- IP リソース
- HA-NFS リソース
- ファイルシステムリソース (基礎ファイルシステム)
- HA-NFS リソース
- IP リソース
NFS リソースを作成する前に、ファイルシステムリソースを作成することができます。この場合は、ファイルシステムリソースに割り当てる名前を選択できます。そうでない場合は、NFS リソース作成時に、NFS Server Recovery Kit によって自動的にファイルシステムリソースが作成されます。
NFS サブシステムの停止と起動による悪影響
NFS Server Recovery Kit がNFS エクスポートを保護しているときに NFS サブシステム (nfs-server.service) が停止された場合、NFS の停止動作ですべてのディレクトリーのエクスポート解除が実行されるため、保護しているすべてのエクスポート済みディレクトリーが影響を受けます。quickCheck が停止した NFS プロセスを検出し、ローカルリカバリーを実行してプロセスを再起動してから、ディレクトリーを再エクスポートします。ただし、すべてを復旧するためには、保護されたエクスポートのすべてについて quickCheck が実行される必要があります。例えば、5 個のエクスポートが保護されている場合、保護するすべてのエクスポート済みディレクトリーを復旧するために、quickCheck が 5 回実行されます。デフォルトの quickCheck の間隔は 2 分なので、すべてのエクスポート済みディレクトリーを復旧するためには、10 分かかります。
NFS Server Recovery Kit がシステム上のエクスポート済みディレクトリーをアクティブに保護しているときには、NFS サブシステムを停止しないでください。NFS サブシステムを停止する必要がある場合は、すべての NFS リソースをスタンバイノードに切り替えてから NFS サブシステムを停止してください。exportfs コマンドの使用も検討する必要があります。このコマンドラインユーティリティは 1 つのディレクトリーのエクスポート / エクスポート解除の機能を有しているので、NFS サブシステム全体を停止する必要がなくなります。
このトピックへフィードバック