当发现lv分配了过多内存,想要回收一部分,可以进行调整,这里需要区分磁盘类型,xfs格式lv调整大小会导致数据丢失,因此需要进行备份还原操作,ext4就不需要。
本文介绍xfs格式下操作,ext4可参考:LVM——缩小LVM分区(efx4)_lvm缩小_Rocket MAN的博客-CSDN博客
确认文件格式
查看当前文件系统格式,确认是xfs
备份原数据
备份数据可以用最普通的cp或者scp命令进行文件备份,这里不多做介绍,也可以使用xfsdump进行备份。
使用xfsdump有以下注意点:
- xfsdump 不支持没有挂载的文件系统备份!所以只能备份已挂载的!
- xfsdump 必须使用 root 的权限才能操作 (涉及文件系统的关系)
- xfsdump 只能备份 XFS 文件系统
- xfsdump 备份下来的数据 (档案或储存媒体) 只能让 xfsrestore 解析
- xfsdump 是透过文件系统的 UUID 来分辨各个备份档的,因此不能备份两个具有相同 UUID 的
xfsdump
1 2
| xfsdump -f /tmp/data_dump /data #过程中需要输入两次label,完成后会在/tmp目录下生成data_dump文件
|
卸载分区
减小分区大小
可以用lvreduce直接减少大小也可以用lvremove和lvcreate重建lv,反正原数据都是会丢失的~~
lvreduce调整大小
减少100G
1
| lvreduce -L -100G /dev/sylink/data
|
减少到100G
1
| lvreduce -L 100G /dev/sylink/data
|
查看vgdisplay空余容量也随之增大
lv移除重建
1
| lvremove /dev/sylink/data
|
1
| lvcreate – name data -L 100GB sylink
|
使用 XFS 文件系统格式化分区
1
| mkfs.xfs -f /dev/sylink/data
|
重新挂载 / data
1
| mount /dev/mapper/sylink-data /data
|
重新挂载后,/data 下是空数据,需要还原刚备份的数据
恢复数据
1
| xfsrestore -f /tmp/data_dump /data
|
参考:
LVM——linux缩小逻辑卷(xfs)_lvm xfs 缩小_Rocket MAN的博客-CSDN博客](https://blog.csdn.net/qq_41566366/article/details/124446706)