web-dev-qa-db-ja.com

nfs以外のボリュームのumount-fは常に悪ですか?

編集:エグゼクティブサマリー(以下の詳細バージョン):バッテリー寿命が短いため、停電時にすばやくシャットダウンするマシンが必要です。 IOがシャットダウンを保持していて、データがないスクラッチドライブで 'umount -f'(power-failure-caseスクリプトに埋め込まれている)を使用しない理由はありますか?とにかく仕事が死んでいるかどうか気にしないのですか?


初心者のSysAdmin(長年の* nixユーザー)からの質問。

最近、CentOS計算サーバーをセットアップし、apcupsdがUPSと通信するようにしたので、電源が切れるとすぐに正常にシャットダウンします(お金があるのはそれだけです)。地元の電力会社は、私がプラグを抜く前にこれをテストしました(そうです!)。これにより、ファイルシステムをアンマウントするのに10分ほどかかり、最終的にシャットダウンする前にバッテリーが12%になるまで、非常に緊張した瞬間がありました。

'halt'コマンドを発行してシャットダウンにかかる時間を確認する簡単なテストの準備として、重いIOジョブでいっぱいのマシンをチョックしたため、非常に時間がかかりました。重いIOすべてがRAID0の専用ドライブのスクラッチスペースに送られます。ジョブが停止した場合、それらのドライブの内容を気にする必要はありません。このような障害が発生した後、ファイルシステムを再作成する余裕さえあります。シャットダウンが完了する前にバッテリーが切れた場合、使用頻度の低いドライブ(ホームダー)のいずれかが破損した場合は苦痛になります。

とは言うものの、apcupsdには、sys-adminが特定の条件が満たされたときに実行されるbashスクリプトを挿入する場所があります。その状態が停電であり、迅速なシャットダウンを取得するためにスクラッチデータを破損することを本当に気にしない場合、「umount -f」は私の友人ですか?

考えていないことはありますか?この後、必然的にファイルシステムを作り直す必要がありますか、それともドライブ上の最も確実に破損したファイルを削除するだけですか?

5
JackOfAllTrades

長時間のシャットダウンの根本原因を実際に見つけ、その特定のファイルシステムでのデータの整合性に注意を払っていないと仮定すると、必ずumount -fを実行する必要があります。

ただし、問題が解決する可能性は低いと思います。umount-fは、応答しないNFSサーバーを回避し、ファイルハンドルを開きますが、バッファリングされたデータをファイルシステムに書き込みます。すでに大量のデータが処理されている場合でも、umountスクリプトには長い時間がかかります。

スクラッチファイルシステムで大量のI/Oを実行しているジョブも強制終了(または強制終了-9)して、追加のI/Oがキューに入れられないようにすることをお勧めします。

1
Urgoll