环境
Linux 3.10.0-957.12.2.el7.x86_64 #1 SMP Tue May 14 21:24:32 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
CentOS Linux release 7.6.1810 (Core)
描述
扩大 PV,VG,LV 到 16.1T 后,发现 resize2fs 文件系统,报错:resize2fs: New size too large to be expressed in 32 bits。
大概就是 ext4 虽然支持超过 16T,但是由于支持它格式化工具支持的不太友好,导致此问题。
虽然网上有解决方案,但是最终作罢,先缩小到 15.8T,等待之后迁移到 XFS。
操作
利用 df,lsblk,lvs,确定对应关系
df -h
/dev/mapper/svn-bak 16T 6.7T 8.3T 45% /svnbak
lsblk
sdd 8:48 0 16.1T 0 disk
└─sdd1 8:49 0 16.1T 0 part
└─svn-bak 253:3 0 16.1T 0 lvm /svnbak
lvs
bak svn -wi-ao---- 15.80t
先缩小文件系统,再缩小LV,在刷新文件系统。
如果顺序反了,查看补充。
resize2fs /dev/mapper/svn-bak 15.8T
lvresize -L 15.8T /dev/svn/bak
resize2fs /dev/mapper/svn-bak
补充
如果先缩小了LV,在缩小文件系统出现错误。
解决方法为,扩大 LV,刷新,检查,刷新,之后再进行“操作”步骤。
lvresize -L 16.1T /dev/svn/bak 或 lvextend -r svn/bak /dev/sdd1
resize2fs /dev/mapper/svn-bak
e2fsck /dev/mapper/svn-bak
resize2fs /dev/mapper/svn-bak