LVM分区缩容-xfs格式

问题

业务上要求调整分区大小,如 / 分区减少 20G,划分给 /home。

操作流程

操作系统 centos7 系列,文件系统格式为 xfs 格式,分区管理采用 lvm 管理。
由于 xfs 系统不支持 resize2fs 缩容到指定大小,所以需要先备份分区内容,然后缩减 lv,格式化 lv,再恢复备份内容。下文展示为 /dev/mapper/centos-root lv 空间减小 20G,划分给 /dev/mapper/centos-home

  1. 使用安装光盘启动系统,进入排错模式,选择 3 不挂载文件系统。

  2. 在系统 sh 界面激活 lvm,备份 / 分区,缩容 / lv,格式化 / lv 并恢复内容。

1
2
3
4
5
6
7
8
9
10
11
12
vgchange -ay centos  #centos 为vg名称
mount /dev/mapper/centos-home /mnt #将 home 分区挂载到mnt,放置备份文件。
## 确认文件系统并备份
df -t /dev/mapper/centos-root
xfsdump -f /mnt/root.xfsdump /dev/mapper/centos-root
## 减小root lv,并格式化
lvreduce /dev/mapper/centos-root -L -20G
mkfs.xfs /dev/mapper/centos-root
## 创建临时挂载点,将root lv挂载并恢复
mkdir /mnt1
mount /dev/mapper/centos-root /mnt1
xfsrestore -f /mnt/root.xfsdump /mnt1
  1. 重启系统,进入系统后扩容 home lv
1
2
3
lvextend /dev/mapper/centos-home -L +20G
xfs_grows /dev/mapper/centos-home
df -h #查看验证

总结

lvm 管理文件系统灵活。
xfs 格式文件系统和 ext4 文件系统处理方式不一样,ext4 可以直接使用 resize2fs.
实践出真知。

参考

https://blog.csdn.net/j_ychen/article/details/79404197