LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 3317|回复: 20

ext3转ext4时虚惊一场

[复制链接]
发表于 2009-3-21 19:58:12 | 显示全部楼层 |阅读模式
看了一些关于ext3和ext4比较的文章,让我冒险的肾上腺素水平陡然上升,说干就干。
因为我的硬盘除了/boot外就一个分区挂载/,不能直接转格式,于是又拿了一个平时玩的装在USB中的Mini系统来启动,USB系统中的内核版本是2.6.27的,转之前也没有考虑,直接按照网上的介绍做了:
1、启动Mini系统,不挂载硬盘,用fdisk -l命令查看硬盘信息,我的/分区为/dev/sda7;
2、使用tune2fs -O extents,uninit_bg,dir_index /dev/sda7命令转系统格式;
3、按照终端提示,使用fsck -pf /dev/sda7命令做第一次硬盘检查。
然后mount sda7时发现系统提示,不支持mount格式为ext4的系统。当时也没有多想,反正硬盘系统的内核是2.6.28的。于是reboot,结果停在dca server started上不动了!!!
这一下惊出一身冷汗,我辛辛苦苦调试多月的系统与上百兆的近期工作文件都没了!
不死心,继续用Mini系统启动,再借一个移动硬盘临时充当/usr/portage和/var/tmp/portage,升级Mini系统的内核,重新启动Mini系统时终于能挂载硬盘的/分区了,检查一下,所有文件居然都在。为避免万一,赶紧备份一次到移动硬盘,然后再chroot,编译硬盘中的内核。menuconfig时发现,原来前面没有在内核中选ext4的系统格式,所以会不继续启动(/boot是ext2的,默认支持)。
2个半小时,两次编译内核,终于回到硬盘系统的视窗界面中。一切恢复平静了,而且启动速度有了明显提升。
不过这次升级,给了我几大教训:
1、要经常备份,万一误操作,至少能保留前期工作的成绩;
2、涉及系统的测试,最好先找个小的来试验,整个操作系统是输不起的;
3、网上看到的资料不能直接照搬,至少先检查一下自己的配置,类似ext4系统格式支持没有编入内核的错误级别似乎太低级了;
4、出了问题不能太急于行动,先分析,否则当发现不能挂载,不能启动时,直接讲硬盘给格了就什么都没了。
发表于 2009-3-21 21:05:01 | 显示全部楼层
楼主貌似经常写工作小节之类的文章吧 ;-)
回复 支持 反对

使用道具 举报

发表于 2009-3-21 21:39:00 | 显示全部楼层
总结得很好,不过似乎只要注意好第三点,其他三点都是可以避免的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-3-21 21:54:19 | 显示全部楼层
Post by Blahster;1964018
楼主貌似经常写工作小节之类的文章吧 ;-)


呵呵。我是医疗中做IT的,IT中写标准的,标准里玩合作的,合作中要共赢的。
回复 支持 反对

使用道具 举报

发表于 2009-3-22 10:26:17 | 显示全部楼层
在让你冒汗吧。ext4还不稳定,有人用ext4出现丢失数据的情况,还是过些时候再升级吧
回复 支持 反对

使用道具 举报

发表于 2009-3-22 12:03:43 | 显示全部楼层
丢失数据是从ext3转换ext4吧?
重新格式化ext4会吗?
回复 支持 反对

使用道具 举报

发表于 2009-3-22 12:13:30 | 显示全部楼层
应该没这么严重吧 我准备下个月用
回复 支持 反对

使用道具 举报

发表于 2009-3-22 12:31:22 | 显示全部楼层
丢数据不是ext4的错,ext4是符合POSIX标准的,但很多程序把ext3的行为作为标准,于是有可能出问题……
回复 支持 反对

使用道具 举报

发表于 2009-3-22 15:12:52 | 显示全部楼层
看了看changelog,gentoo-sources-2.6.28-r4已经加了那个模拟ext3行为的补丁。
回复 支持 反对

使用道具 举报

发表于 2009-3-22 16:07:07 | 显示全部楼层
今天也听说EXT4会丢数据了,不过好象都是在意外死机或断电的情况下。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表