升级 ext3 至 ext4

CentOS 5.6(2.6.18 内核) 默认是 ext3 的文件系统,与之相比,ext4(最早出现在 2.6.19) 有很多的优点: 增大了单个分区以及单个文件的最大值,现在一个分区最大可支持 1EB(1EB=1024PB=1024^2TB) 的容量,单个文件达 16TB;有很好的兼容性,ext3 和 ext2 可以挂载为 ext4,也就是说 ext4 向下兼容 ext3/2;同时使用校验和来提供文件的可靠性,当然性能也有很大的提升。DW 上有篇很好的简述 ext4 的文章。

要升级的方式很简单,安装 e4fsprogs toolkit:

# yum -y install e4fsprogs

卸载要升级的文件系统:

# umount /data

运行 tune4fs 升级:

#tune4fs -O extents,uninit_bg,dir_index /dev/sdb1

修改 fstab,运行 fsck:

# vi /etc/fstab
# e4fsck -fDC0 /data

运行过程中会出现如下的问题

One or more block group descriptor checksums are invalid

选择 Y,如果不想按 Y,在参数上加 p。

重新挂载。

还有种简单的方式,直接将 ext3 挂载为 ext4,但这种方式只能享受到 ext4 的部分功能:

# mount -t ext4 /dev/sdb1 /data

参考:
http://kernelnewbies.org/Ext4