私は最近ファイルシステムのメルトダウンを経験しました。私は問題なく約180日間ノンストップでサーバーを実行していましたが、奇妙なことが発生し、ext3ファイルシステムの状態が本当に悪いことに気付きました。ドライブとメモリをテストしましたが、すべて問題ありませんでした。結局、私はシステムにホースをかけ、完全に再インストールすることを余儀なくされました。 fsck.ext状況を悪化させただけです。
さて、これが再び起こりたくないので、今回は代わりにXFSを使いました。ext3よりも成熟しているように感じますが、ファイルシステムの状態を監視する方法に困っています。 xfs_checkデバイスがマウントされている間はデバイスをスキャンできません。
では、システムがオンラインのときにXFSファイルシステムの状態をどのように監視するのでしょうか。
実のところ、ファイルシステム自体の運用状態を監視するためにできることは多くありません。 このスレッド は、読み取り/書き込みとしてオンラインになっているファイルシステムでfsckスタイルのチェックを実行できない理由を説明しています。
部分的には、ジャーナリングファイルシステムとして、XFSはデータを良好な状態に保つことが最善であると信頼する必要があります。また、xfs_check
はfsck.ext3
よりもはるかに高速であり、XFSはext3の180日/ xマウントルールと同じ方法で定期的なチェックを規定しないことを知って安心することもできます。
コメントを編集:
あなたは一度噛まれて、二度恥ずかしがり屋だと私は理解していますが。 「完全なメルトダウン」は、UNIXファイルシステムに関連する体系的な問題ではないことは間違いありません。私の経験では、そのようなイベントは、ハードウェア障害、ユーザーエラー(無礼な意図はない)、または残念なことに両方が混在することでのみ発生する傾向があります。ただし、これは、以前のext3インストールで問題が発生したことについての非常に具体的な詳細が何もないため、技術的なレベルであなたに理由を説明するのは難しいです。
ファイルシステムをLVM論理ボリュームに配置し、一時的なスナップショットを作成します論理ボリューム、次にこのスナップショットをfsckします(論理ボリュームがまだオンラインの間)。
たぶん、Theodore Ts'oの e2croncheck ext3用のスクリプトで始められます。
(3dinfluenceが言及したように:ZFSは間違いなく優れたソリューションです...)
変なことが起こっていることに気づきました
次に、問題はファイルシステムではありません(または、少なくともそれが非常に可能性が低いです)。 ext3は最もよく使用される1つであり、FSであり、壊滅的な破損を引き起こすほど深刻なバグはすでに発見され、修正されているはずです。
原因は別の場所にあり、ハードウェア自体(RAM)にある可能性があります。
質問に答えるには、XFSファイルシステムをオンラインで確認できますが、それが読み取り専用でマウントされている場合のみです。
現在マウントされているファイルシステムの整合性をチェックすることはお勧めできません。
短い免責事項:私はXFSとその速度が大好きです。 これは警告なので、あまり大げさではありません。
即時回答:いいえ、チェックを実行するにはファイルシステムをアンマウントする必要があります。稼働中のファイルシステムでfsckを実行することは悪いことです。ファイルシステムは、このような検査の下で常に変化しています。つまり、ファイルシステムが一貫して検査されているかどうか、さらには「修復」によって悪化しない場合は、本当に確信が持てません。
これは直接答えではありませんが、明確な答えです。 Ext3がおそらくより良いオプションです 。Ext3で破損が発生している場合は、ハードウェアを再検査する必要があります。 $ {DIETY}が大好きな場合 リカバリ中にデータが(潜在的に)失われないものを探している場合は、XFSを使用しないでください。 特定の状況下 itリカバリ中にデータブロックをゼロにします 。
2番目のリンクから引用:
5.1書き込み失敗
データ:データエラーはほとんど無視されているか、ユーザーにエラーを通知する以外のアクションはほとんど行われていません。ほとんどの場合、ユーザーの知らないうちにデータの損失が発生します。
XFSはもともとビデオの作業を念頭に置いて設計されているため、ビデオファイルが破損している場合は大した問題ではなく、いつでもビデオをつなぎ合わせて「悪い場所」にパッチを当てることができます。 14テラバイトのファイルシステムでfsckを数日待つのは大変なことだったので、チェック時間と引き換えにデータの整合性を確保しました。
ファイルシステムの破損は、使用しているファイルシステムに関係なく発生します。私は長年にわたってExt3とXFSの両方のファイルシステムを南に持ってきました。
Linuxでは使用できないZFSには、Fuseを使用する場合を除き、データの損失が発生する前にエラーを検出して修復できるオンラインのバックグラウンドスクラブがあります。また、すべてのファイルシステム操作で多くのECCを実行し、発生したエラーを検出して報告する必要があります。ただし、これらのほとんどから回復して自分自身を修復できるはずです。しかし、ZFSが実行するすべてのECCトリックを使用しても、ZFSファイルシステムが破損しているという極端なケース(通常はハードウェアの問題)がありました。
最善の方法は、適切なバックアップ戦略とDR計画を用意することです。既知の適切なバックアップからデータを復元することは、この種の問題から回復する最も速い方法です。を通過する lost+found
は、苦痛でエラーが発生しやすいプロセスです。