调整现有 LVM 分区的大小并将空间添加到另一个 LVM 分区

调整现有 LVM 分区的大小并将空间添加到另一个 LVM 分区

我想调整现有 LVM 分区的大小并将空间添加到另一个 LVM 分区。

[root@dckapstaging ~]# df -h
Filesystem                           Size  Used Avail Use% Mounted on
/dev/mapper/vg_dckapstaging-lv_root   50G   50G     0 100% /
tmpfs                                3.9G     0  3.9G   0% /dev/shm
/dev/sda1                            485M   91M  369M  20% /boot
/dev/mapper/vg_dckapstaging-lv_home  215G   93G  111G  46% /home

我想从;/dev/mapper/vg_dckapstaging-lv_root扩展到另外 15 GB/dev/mapper/vg_dckapstaging-lv_home我该怎么做?

答案1

假设您的卷组已满,并且您无法进一步扩展它,您将需要:

  1. lv_home使用文件系统的特定工具来缩小文件系统,例如,resize2fs如果您使用 ext3/4。
  2. lv_home相应地调整大小lvreduce
  3. 增加lv_rootlvresize.
  4. 增加文件系统,lv_root使其使用 LV 中的所有额外空间。

与往常一样,首先备份数据,调整文件系统的大小始终是一件有风险的事情。

如果您碰巧使用 XFS,则lv_home需要使用不同的方法,因为 XFS 不支持收缩。在这种情况下:

  1. 备份数据在lv_home
  2. 减少lv_homelvreduce此时FS被破坏!)
  3. lv_home重新创建较小大小的文件系统
  4. 恢复数据
  5. lv_root按照上述步骤 3 和 4增加。

答案2

首先,你想要卸载分区有问题。启动 USB 记忆棒或类似设备。在摆弄文件系统之前,始终建议备份重要数据。

首先减少/dev/mapper/vg_dckapstaging-lv_home.否则,调整 lv 的大小将会丢失数据。执行此操作的方法自然取决于文件系统。resize2fs适用于 ext2/3/4 文件系统。resize2fs /dev/mapper/vg_dckapstaging-lv_home 200G

缩小文件系统后,运行lvresize -L -15G /dev/mapper/vg_dckapstaging-lv_home以释放 15GB 并lvresize -L +15G /dev/mapper/vg_dckapstaging-lv_root扩大lv_root

使用 fs 调整大小工具完成。对于 ext 来说,是将resize2fs /dev/mapper/vg_dckapstaging-lv_root其扩大到最大可用空间。

编辑:更正了一个拼写错误:分区 - >文件系统

答案3

这是一个有风险的操作

  1. 你应该尝试清理/(看看/var/log /var/spool并删除旧的大文件)

  2. 继续进行的理论方法包括

    fsck -F /dev/mapper/vg_dckapstaging-lv_home
    lvresize --size -15G /dev/mapper/vg_dckapstaging-lv_home
    resize2fs /home
    lvresize --size +15G /dev/mapper/vg_dckapstaging-lv_root
    resize2fs /
    
  3. 免责声明

    3.1.请务必有有效的备份!

    3.2.如果这是一个生产系统,请先尝试测试一下。

相关内容