将第二个分区合并到根目录

将第二个分区合并到根目录

我希望分区中的数据/dev/sda1自动“溢出”到该/dev/vda分区。所以我想我的问题是:如何合并 2 个分区,使其/大小变为 138GB?

root@vps:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            3.8G     0  3.8G   0% /dev
tmpfs           780M   34M  747M   5% /run
/dev/sda1        39G  7.7G   32G  20% /
tmpfs           3.9G     0  3.9G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           3.9G     0  3.9G   0% /sys/fs/cgroup
tmpfs           780M     0  780M   0% /run/user/1000
/dev/vda         99G   60M   94G   1% /mnt/vda

这些是可用的磁盘:

root@vps:/# fdisk -l
Disk /dev/vda: 100 GiB, 107374182400 bytes, 209715200 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/sda: 40 GiB, 42949672960 bytes, 83886080 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xffcebafc

Device     Boot Start      End  Sectors Size Id Type
/dev/sda1  *     2048 83886046 83883999  40G 83 Linux

我对此了解不多,所以我可能不会问正确的问题。

答案1

鉴于您正在处理两个物理设备,您将无法在物理级别组合分区。但是,您可以使用 LVM(逻辑卷管理器)创建相当于虚拟块设备的内容,该虚拟块设备由多个真实的块设备。这将模拟 ~138GB 的​​分区。也可以使用 BTRFS 在文件系统级别执行类似的操作,但您可以使用 LVM 执行以下操作:

注意:除了 LVM 支持之外,您的系统还需要能够从 LVM 引导,这取决于您的引导加载程序及其配置方式。

转换为 LVM

显然,请确保首先备份系统,因为此过程会清除/dev/sda1/dev/vda。然后从 Live CD/USB 驱动器启动 Linux 并...

  1. 运行wipefs /dev/vda以快速清除分区。
  2. 通过运行创建LVM物理卷pvcreate /dev/vda
  3. 创建卷组:vgcreate vg0 /dev/vda
  4. 为您的根文件系统创建一个逻辑卷:lvcreate -L80G -n rootfs vg0。不用担心80GB的大小;稍后会增加。
  5. 将文件系统放在逻辑卷上,例如... ext4:mkfs.ext4 -L ROOTFS /dev/vg0/rootfs
  6. 挂载新文件系统... /mnt/newroot:mount -L ROOTFS /mnt/newroot
  7. 由于您是从 Live CD 执行此操作,因此您需要将真实的安装/到某处,例如... /mnt/oldroot:mount /dev/sda1 -o ro /mnt/oldroot
  8. 复制老根将成为什么新根:cp -aR /mnt/oldroot/* /mnt/newroot/

现在,到目前为止,除了失去了其中的一切之外/dev/vda,没有发生任何不可挽回的事情。因此,这是设置引导加载程序(例如 GRUB2)以进行引导/dev/vg0/rootfs并确保可以引导的绝佳机会。除了 df 输出应如下所示之外,一切都应该相同:

root@vps:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            3.8G     0  3.8G   0% /dev
tmpfs           780M   34M  747M   5% /run
tmpfs           3.9G     0  3.9G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           3.9G     0  3.9G   0% /sys/fs/cgroup
tmpfs           780M     0  780M   0% /run/user/1000
/dev/vg0/rootfs  99G  7.7G   92G   ?% /

如果您已经做到这一点,那么您可以继续执行以下操作来利用 LVM 的神奇力量。对于某些文件系统,例如 EXT4,可以在实时系统上完成以下操作;无需现场 CD。

  1. 清除旧根:wipefs /dev/sda1
  2. 创建新的物理卷:pvcreate /dev/sda1
  3. 将新物理卷添加到 LVM:vgextend vg0 /dev/sda1

此时,这两个分区可供 LVM 使用,但尚未使用。要使用两个分区(实际上它们现在是 LVM 物理卷),/请扩展根逻辑卷以消耗所有可用空间:

  1. 扩大逻辑卷:lvextend -l 100%FREE /dev/vg0/rootfs
  2. 扩大文件系统:resize2fs /dev/vg0/rootfs

这应该会给你一个大小约为 138GB 的​​根文件系统:)

相关内容