说明:XFS格式的LVM磁盘分区默认只能扩大不能缩小,需要利用xfsdump/xfsrestore备份恢复的方法缩小LVM分区
目前的环境:
1、根/分区10GB
2、/home分区40GB,实际使用空间不到1GB
分区都是都是使用XFS文件系统挂载的LVM分区
需求:把/home分区缩小到10GB,把空余出来的磁盘空间全部扩容到根分区/
具体操作:
1、查看磁盘以及LVM信息
#查看分区信息
df -Th
#查看磁盘信息
fdisk -l
#查看LVM
lvdisplay
#查看卷组信息
sudo vgs
2、安装LVM分区备份工具xfsdump
yum -y install xfsdump
3、备份/home分区的数据
#xfsdump -f "备份文件存放的绝对路径加备份文件名" "需要缩容的目录"
xfsdump -f /opt/home.bak /home #根据提示输入enter回车进行备份
注意:
(1)/opt是目录,home.bak是文件名,不是文件夹
(2)要确保备份目录/opt的剩余容量比/home实际使用的容量要大,否则无法进行备份操作
4、卸载需要缩容的分区/home
umount /home #如果提示无法卸载,可以使用强制卸载
fuser -m /home #查看在使用/home目录的进程 yum install psmisc
umount -l /home #强制卸载
xfs_repair /dev/mapper/centos-home #检查文件系统是否有错误
5、创建逻辑卷
lvresize -L 10G /dev/mapper/centos-home
把原来的逻辑卷容量调整成10G(缩容和扩容都是这样调整)
6、创建文件系统
mkfs.xfs -f /dev/mapper/centos-home
7、挂载文件系统
mount /dev/mapper/centos-home
8、恢复备份的/home分区数据
xfsrestore -f /opt/home.bak /home
9、扩容根/分区
#增加逻辑卷的容量
lvextend -l +100%FREE /dev/mapper/centos-root #全部容量
lvextend -L 20G /dev/mapper/centos-root #调整到指定大小容量
10、重新识别分区大小
xfs_growfs /dev/mapper/centos-root
11、查看大小
df -Th
至此,使用xfsdump缩小XFS文件系统的LVM磁盘分区完成。