STABLERESTART(5) | FreeBSD File Formats Manual | STABLERESTART(5) |
名称
nfs-stablerestart — NFSv4 サーバのための再開情報書式
nfs-stablerestart |
解説
nfs-stablerestart ファイルは、 NFSv4 サーバ仕様に記述されているように、 NFSv4 サーバが NFSERR_NOGRACE エラーを返さずに常に再開することができる情報を保持しています。 Network File System (NFS) Version 4 Protocol RFC 3530, セクション 8.6.3 を参照してください。/usr/include/fs/nfs/nfsrvstate.h の struct nfsf_rec によって定義されるファイルの最初のレコードは、サーバの最後のインカネーション (incarnation) のリース持続時間とそれ以降のブート回数の数を保持しています。これに続くのは、最初のレコードにリストされた前のブート回数の数です。リース持続時間は、猶予期間 (grace period) を設定するために使用されます。ブート回数は、後方に行く TOD クロックのために、再利用されるブート回数のありそうにない発生を避けるために使用されます、このレコードと追加されたこのブート時で前のブート回数は、猶予期間の終りに再書き込みされます。
ファイルの残りは、/usr/include/fs/nfs/nfsrvstate.h の struct nfst_rec によって定義される追加されたレコードであり、2 つのものの 1 つを表すために使用されます。クライアントが成功して状態を獲得したことをを示すレコードとクライアントの状態が破棄されたことを示すレコードがあります。クライアントのための状態の情報を示す状態破棄レコードは、リース有効期限と他の競合するオープンまたは異なったクライアントによって行われる要求をロックするために、破棄されます。クライアントがエッジ条件のいずれかか行ったかもしれないかどうか決定するために、これらのレコードを使用することができます。
クライアントがエッジ条件のいずれかが行われたかもしれないか、またはこのファイルが空であるかまたは壊れているなら、サーバは、クライアントからの任意の再利用 (reclaim) 要求に対して NFSERR_NOGRACE を返します。
サーバの正しい操作に関して、指定された IO_SYNC がある書き込み op が返される時までに、ファイルが安定した記憶行きに書き込まれてることを確実にしなければなりません。これは、ファイルを保持するローカルディスクドライブのために無効にされるハードウェアレベルキャッシュか、または同様なものを必要とするかもしれません。
関連ファイル
- /var/db/nfs-stablerestart
- NFSv4 の安定した再開ファイル
- /var/db/nfs-stablerestart.bak
- ファイルのバックアップコピー
バグ
ファイルが空であるなら、NFSv4 サーバは、すべての再利用 (reclaim) 要求のために NFSERR_NOGRACE を返すしかありません。正しいのですが、これは、非常に望ましくない発生であるので、可能なら、ファイルを失うべきではありません。ファイルのバックアップコピーは、このリスクの発生を最小にするために nfsd(8) によって維持され、使用されます。ファイルを移動するために、利用者は、nfsd ソースを編集して、それを再コンパイルしなければなりません。これは、ファイルの偶然の再配置を阻止するために行われました。April 10, 2011 | FreeBSD |