我听说即使是日志记录的文件系统,比如EXT4 3/EXT4 4,也可能在停电期间损坏,例如维基百科1:
In the event of a system crash or power failure,
such file systems are quicker to bring back online and
less likely to become corrupted.有谁能通过举例来提供更多的细节?
1
发布于 2012-07-01 17:46:57
由于磁盘内的重新排序,大多数现代磁盘上也可能发生损坏。
现代磁盘通常会对用于提高性能的请求进行重新排序(通过重新排序写入,使整个请求列表不那么麻烦),这称为标记命令排队。
对磁盘上的日志的写入可能会延迟,因为从当前的头位置到操作系统请求的实际顺序的写入效率更高,这意味着可以在日志之前提交块。
解决这一问题的方法是让操作系统显式地等待提交日志,然后再提交任何写操作。这就是所谓的障碍。大多数文件系统在默认情况下不使用这个选项,并且将显式地需要启用一个挂载选项。
mount -o barrier=1 /dev/sda /mntpnt障碍的最大缺点是它们有降低I/O速度的趋势,有时会大幅降低I/O(约30%),这就是它们在默认情况下没有启用的原因。除此之外,当您开始在标准磁盘(如LVM或Raid )之上添加逻辑层时,事情就会变得更好。LVM (最近)增加了对大多数LV配置的障碍支持,mdadm似乎已经有一段时间了。
发布于 2012-07-01 17:59:02
大多数日志文件系统(ext3 3/4,ntfs)仅通过事务方式保护元数据。如果发生停电,用户数据可能呈现不一致,但元数据很好。
Zfs和我认为xfs使用事务和日志保护元数据和用户数据。
发布于 2012-07-02 00:32:15
屏障是避免停电时损坏的一种方法,但是表演热提供了这个安全特性。这两个世界中最好的(performance/barrier=off,实际上不存在腐败风险)成本要高一点:使用具有非易失性、电池支持的写缓存的设备。
https://serverfault.com/questions/403891
复制相似问题