lvresize
lvresize
是 Linux LVM(逻辑卷管理)中的命令,用于调整逻辑卷(LV)的大小。可以用于扩展或缩小逻辑卷,并可选地自动调整文件系统大小。
1. 扩展逻辑卷
(1)扩展逻辑卷大小
lvresize -L +10G /dev/vg_name/lv_name
说明:将逻辑卷 lv_name
增加 10GB。
(2)扩展逻辑卷并自动调整文件系统
lvresize -r -L +10G /dev/vg_name/lv_name
说明:
-r
:自动调整文件系统(等价于--resizefs
)。- 适用于 ext4 和 xfs 文件系统(xfs 只支持扩展,不能缩小)。
(3)使用所有剩余空间扩展
lvresize -l +100%FREE /dev/vg_name/lv_name
说明:
-l +100%FREE
:使用卷组中所有可用的剩余空间。
2. 缩小逻辑卷
⚠ 缩小逻辑卷时,必须先缩小文件系统,否则会导致数据损坏!
XFS 不支持缩小,因此 不能 对 XFS 逻辑卷执行 lvresize -L -size
。
(1)缩小逻辑卷
resize2fs /dev/vg_name/lv_name 20G # 先缩小 ext 文件系统
lvresize -L 20G /dev/vg_name/lv_name # 再缩小 LV
说明:
resize2fs
先缩小 ext4/ext3 文件系统到 20GB。lvresize -L 20G
缩小逻辑卷到 20GB。
3. 调整到固定大小
lvresize -L 50G /dev/vg_name/lv_name
说明:将逻辑卷直接调整为 50GB(而不是增加或减少)。
4. 仅测试,不执行
lvresize -t -L +5G /dev/vg_name/lv_name
说明:
-t
仅测试,不实际修改数据,可用于检查是否可行。
5. 强制执行(跳过确认)
lvresize -f -L +10G /dev/vg_name/lv_name
说明:
-f
强制执行,不提示确认。
6. 扩展 Thin Pool 逻辑卷
如果逻辑卷在 Thin Pool 中,扩展方式不同:
lvresize -L +5G vg_name/thin_pool_name
lvextend --poolmetadatasize +1G vg_name/thin_pool_name
说明:
- 先扩展 Thin Pool,再扩展元数据。
7. 其他常见选项
选项 | 说明 |
---|---|
-L +<size> |
增加指定大小,例如 -L +5G |
-L -<size> |
减小指定大小,例如 -L -5G (小心!) |
-L <size> |
直接调整为指定大小,如 -L 50G |
-l +<PE数> |
以 PE(物理扩展块)为单位调整大小 |
-r |
自动调整文件系统 |
-t |
仅测试,不执行 |
-f |
强制执行 |
--resizefs |
自动调整文件系统(等价于 -r ) |
总结
-
扩展 LV
lvresize -r -L +10G /dev/vg_name/lv_name
-
缩小 LV(仅支持 ext4)
resize2fs /dev/vg_name/lv_name 20G lvresize -L 20G /dev/vg_name/lv_name
-
使用全部剩余空间
lvresize -l +100%FREE /dev/vg_name/lv_name
-
测试是否可行
lvresize -t -L +5G /dev/vg_name/lv_name
如果你有特定的需求,可以详细描述一下,我可以给你更具体的建议! 😊