linux扩展与缩减lv大小
在线扩展lv
给vg添加新的pv并扩展lv大小
-
将新加磁盘生成pv
pvcreate /dev/sdd
-
将pv加入vg
vgextend vg_name /dev/sdd
-
先扩展lv物理边界,大小增加2G
lvextend -L +2G /dev/test1_vg/test1_lv
(或者大小增加至12G:lvextend -L 12G /dev/test1_vg/test1_lv
) -
再扩展lv逻辑边界文件系统大小
resize2fs /dev/test1_vg/test1_lv 12G
(或者自动扩展至跟lv一样大:resize2fs -p /dev/test1_vg/test1_lv
)
在第4步中,如果文件系统是xfs格式,使用命令:xfs_growfs /dev/mapper/centos-root
注意事项
- 必须先扩展逻辑卷的物理边界,再扩展逻辑边界
- lvextend 扩展逻辑卷的物理边界
- resize2fs 扩展逻辑卷的逻辑边界
- -p参数表示扩展逻辑边界跟物理边界一样大;+表示增加多少,不用加号直接写数值的表示最终大小到多少
- 扩展逻辑边界的值不能超过物理边界
离线缩小lv
先通过df -lh查看空间使用情况,确定好lv要缩减的具体大小
-
卸载lv
umount /dev/test1_vg/test1_lv
卸载后可以再使用mount命令检查是否卸载成功 -
检查文件系统确保一致性
fsck -f /dev/test1_vg/test1_lv
-
先调整lv逻辑边界文件系统大小
resize2fs /dev/test1_vg/test1_lv 10G
要调整的空间大小不同,过程所需时间也不同,测试一个800G的空间调整大约需要半小时 -
再调整lv物理边界容量
lvreduce -L 10G /dev/test1_vg/test1_lv
这里会有一个警告提醒,输入y继续
-
重新挂载lv
mount /dev/mapper/test1_vg_test1_lv /home/test
挂载后重新检查df -lh,是否缩减成功
注意事项
- 与扩展相反,必须先缩减逻辑卷的逻辑边界,再缩减物理边界
- 不能在线缩减,得先卸载
- 确保缩减后的空间大小依然能存储原有的所有数据
- 缩减之前应先强行检查文件以确保一致性