我遇到了一个相当典型但奇怪的问题:在我的服务器断电后,硬盘正在崩溃。 我可以感觉到在崩溃之后,fsck在启动时完成了大量的工作,然后我的Subversion版本库正在失去几个月的工作 – 这听起来很奇怪。 服务器在该硬盘上运行ext4,所以它应该是安全的 – 但事实并非如此。 我开始怀疑硬盘问题,但也许还有其他原因?
相关的fstab行是
/ dev / mapper / vg_data-LV_data / data ext4默认值1 2
系统是Fedora 11 x86_64。
不pipe任何文件系统对不干净的closures的恢复,我绝不允许生产服务器计算机运行不带电源保护。 在我看来,操作系统有太多可能的caching层和抽象层,以至于无法确保数据真正被提交(即使是磁盘子系统声称的)。
我不清楚Fedora 11 的ext4延迟分配问题是否已经解决 。 看起来像这样,但FAQ的语句并不是100%清晰的(现在我没有时间通过Fedora 11的内核SRPM了)。
对于后台:kernel 2.6.30改变了ext4的默认行为,不使用延迟分配。 在2.6.30之前,这种延迟分配行为默认是有效的,如果在提交磁盘操作之前断电,可能会导致数据丢失。 (参考http://en.wikipedia.org/wiki/Fedora_(operating_system)和http://en.wikipedia.org/wiki/Ext4#Delayed_allocation_and_potential_data_loss以及http://thunk.org/tytso/blog/上的背景2009/03/12 /延迟分配和零长度文件问题/ )。
确保你正在运行Fedora 11的最新内核,并且如果可能的话,停止让文件系统被强制closures。
根据LVM设置的精巧程度,问题可能在于LVM无视I / O障碍。 简单的线性设备上的障碍应该从2.6.30(你似乎有),但更复杂的东西应该从2.6.33工作。