背景介绍
之前写过比较多的关于lvm的文章:
CentOS 7 lvm 更换坏盘操作步骤小记 —— 筑梦之路_centos更换硬盘操作-CSDN博客
xfs ext4 结合lvm 扩容、缩容 —— 筑梦之路_ext4扩盘-CSDN博客
LVM逻辑卷元数据丢失恢复案例 —— 筑梦之路_pve lvm数据恢复-CSDN博客
LVM逻辑卷管理之磁盘镜像——筑梦之路_linux lv创建卷镜像-CSDN博客
CentOS7 LVM 逻辑卷2种读写策略(磁盘IO性能优化)—— 筑梦之路_lvm 磁盘读写负载均衡-CSDN博客
CentOS7 利用lvm cache结合机械盘和SSD盘实现磁盘IO性能提升 —— 筑梦之路_lvmcache-CSDN博客 linux操作系统比较完善的LVM逻辑卷管理——筑梦之路_pvresize -v /dev/sda-CSDN博客
CentOS 7 非LVM分区扩容(必须是同一块硬盘)——筑梦之路_非lvm分区 中间分区能扩容么-CSDN博客
Centos 7 xfs 文件系统 lvm 分区容量调整_centos7如何调整文件系统大小-CSDN博客
而现实情况相对复杂,以上文章的共同点均需要首先对一块裸盘进行分区,然后在分区的基础上使用lvm逻辑卷管理,而某些用户使用时则未进行分区,直接使用了裸盘,比如/dev/sdb,这里主要针对这种情况记录下如何进行lvm的扩容和缩容。
环境说明
centos 7
系统盘20G 数据盘10G(裸盘)文件系统xfs
lvm扩容
现需要对数据盘进行在线扩容到20G,并不影响现有数据
# 查看块设备
lsblk
# 此时发现pv仍然还是10G
调整pv大小
pvresize /dev/sdb
lv扩容
lvextend -l +100%FREE /dev/mapper/data-lv
xfs_growfs /dev/mapper/data-lv
至此扩容成功。
lvm缩容
xfs文件系统不支持在线缩容,因此要缩容的话得做好数据备份,重建lv
这里分两种情况来说明
1. 收缩容量
2. 回收硬盘
收缩容量
现需要逻辑分区缩容10G
# 做好数据备份
cp -aR /mnt /opt/backup/
# 收缩lv
lvresize -L 10G /dev/mapper/data-lv
由于xfs文件系统并不支持缩容,因此查看挂载还是没变化
需要卸载挂载,重新格式化lv,注意挂载点是否有进程占用,若有进程占用需要先停掉服务,确保数据不会丢失。
# 卸载
umount /mnt
# 格式化
mkfs.xfs /dev/mapper/data-lv
# 重新挂载
mount /dev/mapper/data-lv /mnt
# 查看容量
df -hT /mnt
缩容减盘
现需要将硬盘/dev/sdb下架
# 数据做好备份
# 卸载挂载点
umount /mnt
# 移除lv
lvremove /dev/mapper/data-lv
# 移除vg
vgremove data
# 移除物理卷
pvremove /dev/sdb
此时就可以将系统关机,移除硬盘了