Linux文件系统如何从ext3升级到ext4
尽管 ext4 出来已经有一段时间了,由于有一些 bug 还没被大量应用到服务器生产环境中,不过对于桌面用户来说 ext4 已经足够成熟了。去年发布的最新 RHEL 5.4 版本默认文件系统依然是 ext3。
·········10········20········30········40········50········60········70········80········90
·········10········20········30········40········50········60········70········80········90
·········10········20········30········40········50········60········70········80········90
最近 Linux 内核开发人员、ext4 文件系统的维护者 Ted Ts’o 跳槽到 Google,并在 Google 继续从事 ext4 的研发和 Linux kernel 方面的工作。在一篇 mailing list 里,Google 工程师 Michael Rubin 也提到了一些 Google 内部使用 ext4 的情况。经过 Google 内部测试,ext4 和高性能的 xfs 文件系统性能很接近,Google 选择 ext4 而不是 xfs 的主要原因是因为他们的现有系统是 ext2,这样升级到 ext4 会更容易一些。还有一个有意思的地方是,大多数人对 dbench 很信任,选用 dbench 来做文件系统的测试工具。
如何从 ext3 升级到 ext4?首先需要确保 Linux kernel 是支持 ext4 的,其次要注意 /boot 分区最好使用 ext3,因为现在系统上的 grub 很可能不支持 ext4,需要有这个 commit 的特别版本 grub 才能支持 ext4. 用下面的命令转换:
·········10········20········30········40········50········60········70········80········90
1.
# cd /; umount /dev/sda1
2.
# tune2fs -O extents,uninit_bg,dir_index /dev/sda1
记住,转换成 ext4 后必须用 fsck 扫描,否则不能 mount,-p 参数说明 “自动修复” 文件系统:
·········10········20········30········40········50········60········70········80········90
1.
# fsck -pf /dev/sda1
挂载 ext4 文件系统:
·········10········20········30········40········50········60········70········80········90
1.
# mount -t ext4 /dev/sda1 /path/to/