Data corruption with ext3 in striped logical volume
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
e2fsprogs (Ubuntu) |
Invalid
|
Undecided
|
Unassigned |
Bug Description
I'm using Kubuntu 7.04 Beta1 on a FSJ AMILO Xi 1554 notebook (Core 2 Duo T7200, 2 GB RAM, 17", ATI Mobility Radeon X1900).
My notebook has two 160 GB harddisks.
I created an LVM volume group that includes both harddisks.
Then I created logical volumes for my root and home partitions; to improve the performance, I created these logical volumes as RAID-0 volumes using the "-i 2" option of the lvcreate command:
root@linux ~# lvcreate -n lvstriped -L 1000M -i 2 volg1
Finally I formatted these logical volumes with mkfs.ext3 using the default parameters.
During the four weeks that I used this setup, I noticed that (nearly) every unclean unmount of a partition during shutdown or crash resulted in a forced complete fsck (not just a journal replay, but a time-consuming check covering the whole filesystem) during the next boot sequence. These full fsck's often showed a lot of errors that were corrected (duplicated inodes, wrong counters in inodes, etc.); sometimes the fsck even dropped me to busybox or rebooted the system to continue with a fresh fsck.
From time to time I found some files in lost+found, and some KDE configuration files were missing. The worst thing I saw was that a script was corrupted during a crash. Before the crash the script was fine, and after the crash it contained only binary garbage. What made me feel very uneasy is that the script was definitely used in read-only mode during the crash. I hope that none of my personal data files (like vacation photos) have been corrupted without me noticing it.
By the way, I made sure that the ext3 partitions were mounted as ext3 with journaling enabled to data=ordered and data=journal (I tested both); this didn't help the problem.
Finally I stored all my files to a backup medium, removed the volume group from the hard disks, created plain ext3 partitions (no LVM, and no RAID-0 striping), and restored my files to these partitions. Now everything works fine. When the system crashes, I see a journal replay on the next boot sequence, but no more lost files and no forced complete fsck.
If the problem doesn't show up when you stop using LVM, it's highly unlikely to be an e2fsprogs bug!