我有一台 5.4 机器。今天通过 yum upgrade 升级到 5.5。一切顺利。重新启动。想将根分区转换为 ext4(我有三个分区:/boot、/ 和 swap)。它们都在软件 RAID 1 上(根是 /dev/md2)。我做了以下转换
yum install e4fsprogs
tune2fs -O extents,uninit_bg,dir_index /dev/md2
nano /etc/fstab # I indicated here that my /dev/md2 is of ext4
uname -a
mkinitrd -f /boot/initrd-2.6.18-194.3.1.el5.img 2.6.18-194.3.1.el5
重新启动。我期望 fsck 能够像某些网站所说的那样自动启动。但是它没有。出现了一些错误(不记得具体是哪个了)。好的,我启动了 linux rescue 并执行了 fsck:
fsck -t ext4 -fy /dev/md2
分区一切顺利。但是当我启动主系统时,日志中仍然显示:“ext3-fs:”,然后显示由于未知的扩展属性 (200) 而无法挂载 ext3 分区。
我再次启动了 linux rescue。它加载正常,并正确确定了我机器上的所有分区,包括 /mnt/sysimage 下的 ext3(启动)和 ext4(/)。
我再次尝试 mkinitrd 并观察其输出,确保 ext4 模块已包含在系统中。我还编辑了 menu.lst grub 文件以包含 rootfstype=ext4 内核参数。运气不好。我仍然收到来自 ext3-fs 的消息,称由于属性和内核崩溃而无法挂载文件系统。我检查了 /etc/fstab - 它很好,并说 root 是 ext4。
我做错了什么?这台机器是空的,所以我只能用 5.5 重新格式化它,并重新创建分区,使其最初为 ext4。但是……我只是想知道我做错了什么。
答案1
我解决了这个问题。这是因为调用 mkinitrd 时没有--with=ext4选项。我发布了详细文章到我的博客。
答案2
很抱歉这条消息没有完全帮助到你,但如果可以的话,我肯定会重新格式化机器。首先,我认为将 ext3 迁移到 ext4 不会给你带来太多/任何花哨的性能优势,而这些优势往往是此类迁移的背后原因。你需要一个新的 ext4 文件系统才能获得新文件系统布局带来的好处。你可以通过将数据克隆到另一个 LV(如果你使用 LVM)或通过全新安装来实现这一点。至于哪种方法对你的情况最简单,你只能说是 YMMV 了。