EXT3文件系统转换成EXT4

EXT4文件系统和EXT3兼容,如果需要先验证测试一下EXT4文件系统,甚至不需要做任何转换,只需要修改/etc/fstab将原先文件系统挂载类型ext3更改成ext4然后重启系统就可以使用。

这样就可以在任何时候回退到使用ext3文件系统。这种方式比较适合在正式转换到使用ext4文件系统前先测试,不过此时只能使用ext4中完全兼容ext3部分的特性,但是无法使用类似extens等主要改进功能。

迁移到ext4

警告:在文件系统转换前请先完整备份文件系统,转换可能导致系统无法启动和数据丢失(虽然概率很低^_^)

警告:文件系统从ext3转换成ext4之后将不再兼容,所以在转换前务必确保支持ext4文件系统的工具已经安装升级完成,包括bootloadere2fsprogsmount以及最新的内核。

转换非根文件系统(non-root filesystem)到ext4

这里转换/dev/xvdb1磁盘挂载的/home目录ext3文件系统

  • umount 分区

umount /dev/xvdb1
  • 使用fsck检查文件系统,由于此时依然是ext3文件系统:

fsck.ext3 -pf /dev/xvdb1
  • 激活文件系统的ext4新属性

tune2fs -O extents,uninit_bg,dir_index /dev/xvdb1

extents选项激活文件系统使用extents来代替文件的bitmap映射

uninit_bg通过只检查磁盘使用部分来减少文件系统检查时间

dir_index允许将大型目录内容存储在htree中加快访问,这个dir_indexext3文件系统中冶支持,所以可能不需要使用它,但是启用这个选线没有任何问题。

  • 再次使用ext4文件系统方式运行一次磁盘文件系统检查,这个检查会发现错误的,这是正常现象,可以让fsck自动修复错误。可以运行2次fack以确保文件系统完全干净:

fsck.ext4 -yfD /dev/xvdb1

-D选项通过重建目录索引来实际激活dir_index。这个rebuild也可以在以后通过使用这个参数的fsck检查来执行。

  • 编辑/etc/fstab使用ext4代替ext3参数

/dev/xvdb1 /home ext4 defaults 0 2

参考

Last updated