ext4 对数据库和虚拟机来说是否足够稳定?数据完整性问题是由于数据没有真正写入磁盘,而是在缓存中,断电后缓存会被清除。据我所知,解决方法是在 fstab 中放置一个 fsync 选项。启用该选项后,ext3 和 ext4 的性能不是一样吗?
如果发生断电,哪种文件系统可以防止数据丢失?
答案1
为了防止断电时数据丢失,您必须使用同步写入(sync
fstab 中的选项)。这会降低您的性能,并迫使您考虑更好的替代方案。
ext4 已准备好投入生产使用。一段时间以来,它一直是面向服务器的发行版中的默认选择。
如果发生断电,请使用 UPS。如果您没有购买 UPS 的预算,那么您的数据就不值得在断电时进行保护,对吗?
几乎所有现代文件系统都使用写入缓存:ext3、jfs2、ext4、btrfs、zfs,等等。数据库编写者非常注重数据处理,并注意在适当的时间同步适当的数据。
答案2
是的,它是 RHEL、Centos、SL、OEL 等上主流支持的 FS。
答案3
你应该两次(或更多)在启用屏障的 ext4 分区上设置 MySQL 数据库之前。最好使用旧的 XFS。看这里:http://serenadetoacuckooo.blogspot.com/2011/04/ext4-performance-and-barrier-option.html。由于“barrier”选项,Ext4 存在一些严重的延迟问题。当然,barrier 是 turbo-safe,但通常它会消耗您的 iowait 时间并增加 io 延迟几倍(对于 mysql UPDATE,情况会恶化约 10-30 倍)。然而这不是规则。做之前先考虑一下我的话。