CentOS 6.x 在格式化大于16TB的ext4分区时,会提示如下错误: mke2fs 1.41.12 (17-May-2010) mkfs.ext4: Size of device /dev/sda1 too big to be expressed in 32 bits using a blocksize of 4096.
原因在于CentOS 自带的 e2fsprogs 版本为1.41.12较低,无法创建16TB以上的文件系统。
这里我们先下载最新的e2fsprogs源码包,下载地址如下: ftp://ftp.ntu.edu.tw/linux/kernel/people/tytso/e2fsprogs/
下载的版本为1.43.8,进行编码安装:
tar -zxvf e2fsprogs-1.43.8.tar.gz cd e2fsprogs-1.43.8 mkdir build cd build/ ../configure (如果linux系统是最小化安装,会缺少gcc相关依赖包../configure之前要先安装gcc,命令yum install gcc,否则configure失败下一步make操作无法进行) make make install
编译完成后使用如下命令格式化:
mke2fs -O 64bit, has_journal,extents, huge_file,flex_bg,uninit_bg, dir_nlink, extra_isize -i 4194304 /dev/sbd1 或者: mkfs.ext4 -O 64bit /dev/sdb1(建议用这个,格式化太慢可用加上参数-T largefile)
提示:
This filesystem will be automatically checked every 22 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
设置下一个自动检查周期的POS。本例将其设置为3650天后
tune2fs -i 3650d /dev/mapper/vg0-lv0
查看人工设定自动检查周期后的文件系统信息
tune2fs -l /dev/mapper/vg0-lv0