WindowsNFSサーバーとそこからボリュームをマウントしていたいくつかのCentOSLinuxサーバーがあります。 Windowsサーバーは新しいネットワークに移動し、DNSが機能し、NFSマウントがホスト名でマウントされていても、NFSクライアントはipaddr値も記録しているようです。これは無効になっています。これにより、予想される典型的なハンギングマウントdfの問題が発生します。これをさかのぼって解決するにはどうすればよいですか?
IPアドレスが変更された場合は、NFSクライアントを再起動するか、マウントされたサービスを明示的に解放するumount
コマンドを実行する必要があります。ただし、元のNFSサービスがなくなったため、これを完了できない場合があります。
私が見つけた他の唯一のアプローチは、このLinux Journalの記事「 ハウツー:再起動せずにスタックしたNFSマウントを解放する 」に書かれているものでした。私はこのアプローチを使用したことがなく、今日までこの方法について聞いたことがありませんが、それを調べることは実行可能に聞こえます。
また、NFSマウントがintr/nointrでマウントされているかどうかによっては、問題が発生する可能性があると思います。このフィーチャートグルの詳細については、NFSのマニュアルページman nfs
を参照してください。
抜粋
intr / nointr Selects whether to allow signals to interrupt file operations
on this mount point. If neither option is specified (or if
nointr is specified), signals do not interrupt NFS file
operations. If intr is specified, system calls return EINTR
if an in-progress NFS operation is interrupted by a signal.
Using the intr option is preferred to using the soft option
because it is significantly less likely to result in data
corruption.
The intr / nointr mount option is deprecated after kernel
2.6.25. Only SIGKILL can interrupt a pending NFS operation
on these kernels, and if specified, this mount option is
ignored to provide backwards compatibility with older
kernels.
この投稿 私のために働いたステップがあります。一言で言えば:
ifconfig eth0:fakenfs Old_IP netmask xxx.xxx.xxx.xxx
umount -l /mount
ifconfig eth0:fakenfs down
mount -a