本セクションでは、NFS Server Recovery Kit の設定と管理を開始する前に考慮すべき事項および典型的な LifeKeeper NFS 設定例について記載しています。

LifeKeeper Core のリソース階層の設定に関する手順については、SPS for Linux テクニカルドキュメンテーション を参照してください。

NFS

次の表は、NFS Server Recovery Kit で重要な NFS ファイル、コマンド、デーモンについて説明しています。

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 によって自動的にファイルシステムリソースが作成されます。

サービス自動起動の設定

RHEL, CentOS, OLの7以降および SLES12 以降の systemd を使用しているOSで NFSv2/NFSv3 領域を保護する場合は、以下のコマンドを実行して nfs-server.service を自動起動に設定してください。

# systemctl start nfs-server.service

# systemctl enable nfs-server.service

また、NFSv4 領域を保護する場合は、nfs-server.service を自動起動に設定しないでください。

rpcbind/portmapの自動起動設定

rpcbindあるいはportmapの自動起動が有効になっていることを確認してください。

  • RHEL7 や CentOS7、OEL7 および SLES12 などの systemd 環境の場合

# systemctl is-enabled rpcbind.socket

  • systemd 環境以外の場合

# chkconfig --list rpcbind

有効になっていない場合は、以下のコマンドで自動起動を有効にしてください。

  • RHEL7 や CentOS7、OEL7 および SLES12 などの systemd 環境の場合

# systemctl start rpcbind.socket

# systemctl enable rpcbind.socket

  • systemd 環境以外の場合

# service rpcbind start

# chkconfig rpcbind on

NFSv2/v3 と NFSv4 の扱い

LifeKeeper は、オプションに /etc/exports にて "fsid=0" が指定されている領域を NFSv4 として保護します。 "fsid=0" の指定がない場合は NFSv2/3 として保護します。なお、この2つを混在することはできません。

フィードバック

フィードバックありがとうございました

このトピックへフィードバック

送信