NFSを使用して複数のLinuxサーバーを相互接続します。しばらくはすべてが順調に進んだが、なんだかだんだん不安になった
例:クライアントからNFSサーバーに4 GBファイルをコピーする操作が完了する前に、IOエラーが原因で失敗します。dmesg
いっぱい
[1525450.884071] nfs: server quackron not responding, timed out
[1525451.384072] nfs: server quackron not responding, timed out
[1525451.884072] nfs: server quackron not responding, timed out
[1525452.384086] nfs: server quackron not responding, timed out
[1525452.884065] nfs: server quackron not responding, timed out
[1525584.112127] nfs: server quackron not responding, timed out
[1525669.492066] nfs: server quackron not responding, timed out
[1525930.544062] nfs: server quackron not responding, timed out
マウントオプション(再起動またはアンマウントトリックが発生するまで消えるNFSサーバーがディレクトリ全体をロックするのを防ぐための多くの追加オプション)
rw,intr,soft,timeo=5,retrans=5,actimeo=10,retry=5,vers=4,addr=10.0.0.20,clientaddr=10.0.0.1
サーバーに移動すると、dmesgからこれを取得します。
[1384141.237197] NFSD: Using /var/lib/nfs/v4recovery as the NFSv4 state recovery directory
[1384141.237237] NFSD: starting 90-second grace period
[1439491.137710] nfsd: last server has exited, flushing export cache
[1439492.461197] NFSD: Using /var/lib/nfs/v4recovery as the NFSv4 state recovery directory
[1439492.461236] NFSD: starting 90-second grace period
このdmesgまたはログには見つかりませんが、「nfsd最後のサーバーがシグナル15で終了しました」というエラーが表示されることがわかります。グーグルしても有用な情報が出ないようです。
nfsがクラッシュし続ける原因は何ですか?
注:このサーバーはUbuntu Server 11.10を実行しており、完全に最新の状態です。
答え1
テストとして、クライアントのインストールを次のように変更します。
sudo mount -t nfs -o intr,hard,timeo=14,rsize=8192,wsize=8192
fstab
または、クライアント側に入れると次のようになります。
remoteserver:/remote/path /local/path nfs rsize=8192,wsize=8192,hard,timeo=14,intr 0 0
私は職場でこれらの設定を使用し、通常は週に数TBを送信します。
これらの設定を使用する場合は、特定のパス変数以外の設定を追加しないでください。
答え2
プライベートNFS VLANの場合は、ネットワークに重複したIPがないことを再確認してください。ちょうど非常に似た問題をデバッグした結果、キックスタートファイルにいくつかのタイプミスがあり、40のホストのうち5つのホストに重複したIPアドレスがあることがわかりました。 NFSは正常に動作し、レプリケーションはしばらく高速になりますが、パフォーマンスは徐々に低下し、完全に中断されます。