当心: Ext4 可能造成数据丢失

  原贴:http://linuxtoy.org/archives/ext4-data-loss.html

当心: Ext4 可能造成数据丢失

<script type="text/javascript"><!-- google_ad_client = "pub-9432205671574187"; //LT, 300x250 google_ad_slot = "9869120281"; google_ad_width = 300; google_ad_height = 250; //--></script> <script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"> </script> <script src="http://pagead2.googlesyndication.com/pagead/expansion_embed.js"></script> <script src="http://googleads.g.doubleclick.net/pagead/test_domain.js"></script> <script>window.google_render_ad();</script>

正在使用 Ext4 文件系统的同学可得当心了。据某些用户反映,它可能会造成你的数据丢失。国外一位 Kubuntu Jaunty 的用户称,使用 Ext4 文件系统使他丢失了大量的数据,相关描述可参见位于 launchpad 上的 bug 报告。

无独有偶,国内的 albert748 也遇到了类似的问题。他描述道,X 无缘无故死掉,断电重启后,发现 Firefox 的配置丢了很多。与上面那位国外用户一样,albert748 也使用 2.6.28 内核和 Ext4 文件系统。

今天,H-Online 刊登了一篇文章 Ext4 data loss; explanations and workarounds,其中对此进行了解释,并包含 Ext4 开发者 Ted Ts'o 提供的解决方案,有兴趣的同学可去看看。

署名 • 注明出处 • 非商业性使用

9 Comments

  1. 1 bones7456 Commented @ 2009-03-20 10:59 amReply to this comment

    我还是比较冷静的,呵呵,还没升到ext4

  2. 2 人谷子 Commented @ 2009-03-20 11:01 amReply to this comment

    我把ext3盘挂载为ext4,也试过丢失文件

  3. 3 YCF.name Commented @ 2009-03-20 11:03 amReply to this comment

    依旧ext2 + reiserfs

  4. 4 bingyuan Commented @ 2009-03-20 11:03 amReply to this comment

    吓我阿,我前段时间为了这个文件系统重装了,还丢失了很多数据

  5. 5 oceanboo Commented @ 2009-03-20 11:05 amReply to this comment

    我还是比较冲动的,呵呵,已经升到ext4

  6. 6 Vincent.D Commented @ 2009-03-20 11:07 amReply to this comment

    已经升级到ext4 没发现此问题 继续等更新

  7. 7 zlowly Commented @ 2009-03-20 11:11 amReply to this comment

    貌似原因归咎于应用程序开发人员在编写覆盖文件的操作时,没有遵循POSIX标准,而是把ext3的行为当标准了。 兼容ext3方式的新补丁需要2.6.30内核才会有,还是不升ext4算了。

  8. 8 Tigerf Commented @ 2009-03-20 11:13 amReply to this comment

    我在zfs上也碰到过相似的情况,猜测是在带日志的文件系统上非正常关机,导致系统自己回滚到一个较早的时间了。 不知道这个猜得对不对,谁懂Journaling给讲讲。

  9. 9 LI Daobing Commented @ 2009-03-20 11:19 amReply to this comment

    @Tigerf: Ts'o 的那篇文章讲得比较清楚了,一般我们覆盖文件分如下几步: 1. 写数据到 foo.tmp 2. 关闭 foo.tmp 3. 重命名 foo.tmp 到 foo。 ext3 保证在第3步时 foo.tmp 已经写到磁盘; ext4 不保证这个, 他认为按照 posix 标准,你应当在 2-3 步中间增加一次 fsync。当然在 2.6.30 中会增加一个选项保证 rename, close 前数据已经被写入磁盘。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值