Linux 命令速查
文件管理 man resize2fs

resize2fs

调整 ext2/ext3/ext4 文件系统的大小。

返回

补充说明

resize2fs 属于 e2fsprogs,用于扩大或缩小 ext 系列文件系统。扩容通常可以在线进行:先扩大底层块设备或逻辑卷(lvextend、分区调整),再执行 resize2fs,内核与文件系统会协作完成迁移。缩容则必须卸载文件系统,且要先做一致性检查。

标准缩容流程:umount 卸载,e2fsck -f 强制检查,resize2fs <设备> <新大小> 缩小文件系统,最后再缩小分区或逻辑卷。顺序不能颠倒,否则会破坏数据。缩容前建议备份;resize2fs -P 可以打印文件系统能缩到的最小块数。

文件系统大小参数可使用 S、K、M、G 后缀(大小写含义有别,注意 man 页说明);不指定大小时默认扩展到设备当前大小。ext4 的在线扩容支持良好,ext3 也可在线扩容,但缩容始终需要卸载。

语法

resize2fs [选项] 设备 [新大小]

选项

  • -p:显示进度条
  • -P:打印文件系统最小尺寸(块数)后退出
  • -M:缩小到最小尺寸
  • -f:强制执行,跳过某些安全检查
  • -F:在调整前刷新设备缓冲区
  • -d:输出调试信息

实例

# 扩容:先把逻辑卷扩大,再扩展文件系统到设备大小
sudo lvextend -L +10G /dev/vg0/lv_home
sudo resize2fs /dev/vg0/lv_home

# 明确扩展到 50G
sudo resize2fs /dev/vg0/lv_home 50G

# 查看最小可缩尺寸(单位为块)
sudo resize2fs -P /dev/vg0/lv_home

# 缩容前必须卸载并检查
sudo umount /home
sudo e2fsck -f /dev/vg0/lv_home
sudo resize2fs /dev/vg0/lv_home 20G
sudo lvreduce -L 20G /dev/vg0/lv_home

# 查看文件系统类型与块大小
sudo dumpe2fs -h /dev/vg0/lv_home | grep -E 'Block size|Block count'

参考链接