本セクションでは、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 情報を含んだディレクトリです。バージョン 7.4 以降では、このディレクトリは、NFS v4 擬似ファイルシステムを保護する際に NFS エクスポートディレクトリに移動されています。 /var/lib/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 ファイルロックを適切に機能させるために、実行しておく必要があります。 |
portmap/rpcbind | RPC プログラム番号をポート番号に変えるデーモンプロセス。このデーモンは、NFS のために実行しておく必要があります。このプロセスが失敗するとスタンバイノードへのスイッチオーバを強制します。いくつかのシステムでは、この機能はポートマップにより提供されます。 rpcbindにより提供される場合もあります。 |
rpc.idmapd | NFS v4 で、ユーザー名 / グループ名とユーザー ID/ グループ ID を一致させるデーモンプロセスです。このプロセスは NFS v4 では必ず起動させる必要がありますが NFS v2/v3 では必要ありません。 |
エクスポートの考慮事項
特定のエクスポートされたファイルシステムに対する LifeKeeper の保護は、exports(5) のマニュアルページで説明されている形式のエクスポートオプションによって決まります。特に、ホスト制限のフォーマットに注意してください。正当なホスト制限は、単独ホスト、ネットグループ、ワイルドカードで指定されたホスト名およびネットマスクの 4 つのみです。
特に、ワイルドカードで指定された IP アドレス (172.13.4.* など) は不正であり、スイッチオーバまたはフェイルオーバでファイルハンドルの陳腐化を招く恐れがあります。
exportfs -v を実行し、返されたエクスポートの記述とマニュアルページに説明されているフォーマットを手動で比較することで、慎重にチェックを行ってください。 (申し訳ございませんが、exportfs ではチェックは行えず、一部の不正なエクスポートフォーマットを受け入れてしまいます)。
RPC.MOUNTD 再起動
複数の NFS リソース階層がある特定の条件下では、
rpc.mountd は、使用可能なエクスポートの一覧を適切に公表できません。そのため、リストア時の NFS Recovery Kit は停止し、rpc.mount を再開して、エクスポートの適切な一覧をすべてのクライアントが利用できるようにします。rpc.mount
を停止し、再開するアクションは、 /etc/default/LifeKeeper 内の RESTARTMOUNTD エントリによって制御されます。デフォルトでは、このエントリは次のように true に設定され、NFS リストア時に必ず rpc.mount の停止と再起動が行われます。
RESTARTMOUNT=true
このアクションをオフにするには、次のように設定します。
RESTARTMOUNT=false
NFS リソース階層
LifeKeeper が保護する NFS リソースを作成すると、LifeKeeper によって次の階層が作成されます。
- NFS ファイルシステムリソース (親またはルート)
- HA-NFS リソース
- ファイルシステムリソース (基礎ファイルシステム)
NFS リソースを作成する前に、IP アドレスリソースを作成する必要があります。
NFS リソースを作成する前に、ファイルシステムリソースを作成することができます。この場合は、ファイルシステムリソースに割り当てる名前を選択できます。そうでない場合は、NFS リソース作成時に、NFS Server Recovery Kit によって自動的にファイルシステムリソースが作成されます。
サービス自動起動の設定
NFSv2/NFSv3 領域を保護する場合は、以下のコマンドを実行して nfs-server.service を自動起動に設定してください。
systemctl start nfs-server.service
systemctl enable nfs-server.service
また、NFSv4 領域を保護する場合は、nfs-server.service を自動起動に設定しないでください。
rpcbind/portmapの自動起動設定
rpcbindあるいはportmapの自動起動が有効になっていることを確認してください。
systemctl is-enabled rpcbind.socket
有効になっていない場合は、以下のコマンドで自動起動を有効にしてください。
systemctl start rpcbind.socket
systemctl enable rpcbind.socket
NFSv2/v3 と NFSv4 の扱い
LifeKeeper は、オプションに /etc/exports にて "fsid=0" が指定されている領域を NFSv4 として保護します。 "fsid=0" の指定がない場合は NFSv2/3 として保護します。なお、この2つを混在することはできません。
このトピックへフィードバック