NFS 共有をマウントしようとするたびに、次のメッセージが表示されます。
>> mount -t nfs gitlab-replica-storage.blah.com:/export/registry-gitlab-prod-data-vol /mnt/test
mount.nfs: Stale file handle
問題は、次のように削除できないことです。
>> umount -f -l /mnt/test
umount: /mnt/test: not mounted
マウントポイントを使用するプロセスがあるかどうかを確認しようとしましたが、そうではありませんでした。
この問題を解決するための他の選択肢はありますか?
説明すると:
- 他のコンピュータにインストールできます。
- 影響を受けたシステムの他のマウントポイントにはインストールできません。
ベストアンサー1
サーバーにそのクライアントの古いエクスポートエントリがある場合、Amount -t nfs
は失敗します。Stale file handle
例のシナリオ:クライアントが最初にnfsボリュームをマウント解除せずにサーバーを再起動すると、これが発生する可能性があります。サーバーが返され、クライアントがアンマウントされてnfsボリュームをマウントしようとすると、サーバーは次のように応答できます。
mount.nfs: Stale file handle
/proc/fs/nfs/exports
これはまたはを見ると確認できます/proc/fs/nfsd/exports
。クライアントエントリがある場合は、古いエントリかもしれません。
サーバーからエクスポートを明示的にキャンセルし、関連エクスポートを再エクスポートすると、この問題を解決できます。たとえば、すべてのエクスポートに対してこれを行うには、次のようにします。
# exportfs -ua
# cat /proc/fs/nfs/exports
# exportfs -a
その後、クライアントはmount -t nfs ...
成功する必要があります。
マウントの作成ESTALE
やその他のシステムコール(たとえば、open/readdir/unlink/chdir...)は、ESTALE
古いエクスポートとファイルハンドルを返します。 NFSは古いファイルハンドルが発生しやすい(たとえば、クライアントにはファイルハンドルがありますが、ファイルはサーバーから削除されます)。