RHEL6: システムの電源が切れると ext4 ファイルシステムのデータが失われる場合がある
Environment
- Red Hat Enterprise Linux 6
- kernel 2.6.32-279.el6 で報告されています。
- おそらく kernel-2.6.32-358.18.1.el6 未満のカーネルが影響を受けます。
- SYNC フラグを設定したファイルにメタデータを保存する ext4 ファイルシステム
- この問題は、ベアメタルと KVM 下の仮想ゲストで発生することが報告されています。
Issue
- システムの電源が切れると、ext4 ファイルシステムのファイル上に存在するアプリケーション保存情報またはメタデータのデータが失われます。
Resolution
- カーネル kernel-2.6.32-358.18.1.el6 のエラータ https://rhn.redhat.com/errata/RHSA-2013-1173.html で修正されました。
- この問題は、Red Hat Bug 955807 - Data loss in ext4 file system after power loss (非公開) で対応されていました。
- Red Hat Enterprise Linux Server 6.3 EUSの修正は、https://rhn.redhat.com/errata/RHBA-2014-0291.htmlより公開されております。
- Red Hat Enterprise Linux Server 6.2 AUSの修正は、https://rhn.redhat.com/errata/RHBA-2014-0362.htmlより公開されております。
Root Cause
- ext4 コードに複数のバグがあるため、データ統合システムコールが、ディスク上のデータを常に適切に持続するわけではありません。したがって、ext4 ファイルシステムで同期していないデータは、システムが予想外に終了した時に失われた可能性があります。この問題に対応するために、ファイルの同期を行うコードでデータのバリアを適切に使用する修正を含む一連のパッチを ext4 コードに適応しました。ここで説明されている状況ではデータロスは発生しません。
Diagnostic Steps
- ファイルが (o_sync を持つ) 書き込み用のオープンファイルの時に、fsync がディスクにコミットをします。
- この操作時に電源が切れます。
- 再起動するとデータが失われます。
This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.
Comments