如何使用将空间从 /home lvm 移动到 root lvm

如何使用将空间从 /home lvm 移动到 root lvm

我有一个 10 GB 的 root lvm,其中大部分都已使用,还有一个 877 GB 的 /home lvm。我想调整 /home lvm 的大小以释放空间,然后将其分配给 root。我不清楚是否可以在挂载时动态调整分区大小,但据我所知,这是不可能的。另外,据我所知,除非我使用救援磁盘,否则我无法卸载 /home 或 root。

通常,如果我想调整无法卸载的磁盘分区的大小,我会使用 gparted 实时磁盘。但据我所知,gparted 仅适用于“真实”分区,无法对 lvm 分区进行操作。那么,访问未挂载分区并调整其大小的最佳方法是什么?

谢谢,

莫里斯

答案1

LVM 使这变得相当简单和直接。lvreduce 必须卸载您想要缩小的文件系统,但要扩展的文件系统可以在挂载时执行此操作。

脚步:1 备份 - 2 减少主 LV - 3 检查 - 4 增加根 LV - 5 检查 - 6 备份配置

只需要步骤 2 和 4 - 其余只是很好的练习。我还建议通过运行来记录整个过程script

笔记:示例输出中的卷组称为 tetrad(与主机名相同),您需要将卷组的名称插入命令中。示例输出是从存档日志中收集的,可以从 resize2fs 命令的不同版本号中推断出来。

  1. 备份(至少备份您当前的配置)。将备份复制到正在修改的卷组之外的某个位置。

    root@tetrad:~/Documentation/LVM# vgcfgbackup -f tetrad-vgcfg-2014-10-09-before-2
    
  2. 降低家庭lv

    root@tetrad# lvresize --resizefs -L -35G /dev/mapper/tetrad-export

    resize2fs 1.42 (29-Nov-2011)
    Resizing the filesystem on /dev/mapper/tetrad-export to 23955456 (4k) blocks.
    
    The filesystem on /dev/mapper/tetrad-export is now 23955456 blocks long.
    
    Reducing logical volume export to 91.38 GiB
    Logical volume export successfully resized
    
  3. 检查(可选),像步骤 1 一样备份当前状态。您会注意到步骤 4 对进行了备份/etc/lvm/backup/<vgname>,但是由于这是在被修改的文件系统上,因此您希望将副本放在其他地方。

    root@tetrad# pvs
    PV         VG     Fmt  Attr PSize   PFree 
    /dev/sda3  tetrad lvm2 a-   201.14g 37.76g
    
  4. 生根 lv

    root@tetrad:~/Documentation/LVM# lvextend -L +2G /dev/mapper/tetrad-root -r -v
        Finding volume group tetrad
        Executing: fsadm --verbose check /dev/tetrad/root
    fsadm: "ext4" filesystem found on "/dev/mapper/tetrad-root"
    fsadm: Skipping filesystem check for device "/dev/mapper/tetrad-root" as the   filesystem is mounted on /
        fsadm failed: 3
        Archiving volume group "tetrad" metadata (seqno 27).
      Extending logical volume root to 26,00 GiB
        Found volume group "tetrad"
        Found volume group "tetrad"
        Loading tetrad-root table (252:0)
        Suspending tetrad-root (252:0) with device flush
        Found volume group "tetrad"
        Resuming tetrad-root (252:0)
        Creating volume group backup "/etc/lvm/backup/tetrad" (seqno 28).
      Logical volume root successfully resized
        Executing: fsadm --verbose resize /dev/tetrad/root 27262976K
    fsadm: "ext4" filesystem found on "/dev/mapper/tetrad-root"
    fsadm: Device "/dev/mapper/tetrad-root" size is 27917287424 bytes
    fsadm: Parsing tune2fs -l "/dev/mapper/tetrad-root"
    fsadm: Resizing filesystem on device "/dev/mapper/tetrad-root" to 27917287424 bytes (6291456 -> 6815744 blocks of 4096 bytes)
    fsadm: Executing resize2fs /dev/mapper/tetrad-root 6815744
    resize2fs 1.42.9 (4-Feb-2014)
    Filesystem at /dev/mapper/tetrad-root is mounted on /; on-line resizing required
    old_desc_blocks = 2, new_desc_blocks = 2
    The filesystem on /dev/mapper/tetrad-root is now 6815744 blocks long.
    

您已完成。现在让我们欣赏结果并保留当前状态的备份。

  1. 检查一下pvslvs
  2. 备份配置并将副本存储在单独的文件系统上以便安全保管。

相关内容