web-dev-qa-db-ja.com

ext4ファイルシステムは頻繁に破損しています

環境で時折停電が発生し、ext4ファイルシステムを搭載したUbuntuマシンでデータが破損する可能性があります。

私の理解では、ext4のデフォルトはdata=orderedを使用することです

これは、「メタデータがジャーナルにコミットされる前に、すべてのデータがメインファイルシステムに直接強制的に送信される」と説明されています。

これは、停電があり、ディスクへの書き込み操作が中断された場合、ファイルシステムが破損する可能性があることを意味しますか?

停電によるファイルシステムの破損を完全になくしたい場合、data=journaledを使用すると思いますが、パフォーマンスへの影響以外に悪影響はありますか?

おまけ:ファイルシステムのジャーナリングタイプをdata=orderedから別のタイプに変更するにはどうすればよいですか。ジャーナルに変更を加える必要があると思いますが、これらの操作を実行する方法や順序がよくわかりません。

Ubuntu(initramfs)にファイルシステム回復ユーティリティがないのは本当にうんざりしているので、ライブCDをポップインする必要がないようにするための方法はどれも素晴らしいです。

私の/ etc/fstab

#/ etc/fstab:静的ファイルシステム情報。
#
# 'blkid -o value -s UUID'を使用して、普遍的に一意の識別子を出力しますデバイスの場合。これは、ディスクが追加および削除された場合でも機能する
#デバイスに名前を付けるためのより堅牢な方法として、UUID =とともに使用できます。 fstab(5)を参照してください。
#
#[。 UUID = 9cd71f51-53bb-44c7-affa-14293e59d596/ext4 errors = remount-ro 0 1 
#インストール中に/ dev/sda5にスワップがありました
 UUID = 5568cee1-a50b-4409-ad67- cdc5bfb592a3 none swap sw 0 0 
/dev/scd0/media/cdrom0 udf、iso9660 user、noauto、exec、utf8 0 0 

OSバージョン

-bash-4.0#uname -a 
 Linux LG-F3-19 2.6.31-14-server#48-Ubuntu SMP Fri Oct 16 15:07:34 UTC 2009 x86_64 GNU/Linux 
-bash-4.0#lsb_release -a 
使用可能なLSBモジュールはありません。
ディストリビューターID:Ubuntu 
説明:Ubuntu 9.10 
リリース:9.10 
コード名:karmic 

失敗のイメージ: http://imgur.com/odo4iBY

参照: https://www.kernel.org/doc/Documentation/filesystems/ext4.txthttp://www.ibm.com/developerworks/library/l-journaling- filesystems /

4
rainereality

3つのデータジャーナリングモードはすべて、停電後もファイルシステム自体を完全にそのままにしておく必要があります。したがって、常にエラーなしでマウントする必要があります。違いはファイル内のデータのみです。 data=writebackモードでは、古いデータ(つまり、アプリが書き込みを行う前にディスクセクターに保存されていたデータ)が残る場合があります。 data=orderedおよびdata=journaledはこれを行うべきではありません。

おそらく、I/Oバリアがセットアップで機能していないことがわかります。まず、barrier=0/nobarrierでマウントしていないことを確認してください。これによりパフォーマンスは向上しますが、電源障害時に破損が発生します。

I/Oバリアがオンになっている場合、それらをサポートしていないストレージレイヤーを通過している可能性もあります。古いリリースでは、LVMはそうではなく、さまざまなmdraidレベルはそうではありませんでした。 (これはLinux 2.6.33で修正されたため、Lucidをまだ実行している場合のみです。)

最後に、ディスクが嘘をついている可能性があります。ディスクには書き込みキャッシュがあります。特にNCQの場合、想定実際にデータを書き込んだときにのみOSにデータを書き込んだことを通知しますが、OSにデータを書き込んだときにのみOSに通知することが知られています。ディスクの書き込みキャッシュ。パフォーマンスを向上させます。少なくとも電源が入っている限り。ディスクの書き込みキャッシュを無効にしてみてください。ただし、パフォーマンスが低下します。

フラッシュメモリディスクは内部で行うべき作業が多く、それらの多くは電源障害をうまく処理できないことにも注意してください。 (たとえば、ウェアレベリングでは、データのフラッシュブロック全体を移動する必要がある場合があります。途中で電源が落ちた場合、一部のフラッシュディスクで問題が発生します。)

最後に... UPSを検討しましたか?

3
derobert