如果分区包含 Ubuntu 操作系统,如何合并两个磁盘(分区和磁盘)?

如果分区包含 Ubuntu 操作系统,如何合并两个磁盘(分区和磁盘)?

我有一台配备两个 1 TB SSD NVMe 的新服务器。

我的目标是创造一个驱动器有 2 TB。所以我需要将两个 1 TB 合并。

我在 SSD 1 上安装了 Ubuntu:

PART /boot/efi esp 256M
PART swap swap 31G
PART /boot ext3 1024M
PART / ext4 all

安装后我看到lsblk

NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
    nvme0n1     259:0    0 953.9G  0 disk
    ├─nvme0n1p1 259:1    0   256M  0 part /boot/efi
    ├─nvme0n1p2 259:2    0    31G  0 part [SWAP]
    ├─nvme0n1p3 259:3    0     1G  0 part /boot
    └─nvme0n1p4 259:4    0 921.6G  0 part /
    nvme1n1     259:5    0 953.9G  0 disk

现在我的目标是结合 part 921.6G nvme0n1p4disk 953.9G nvme1n1我无法做到。

我读到逻辑卷管理器和一个LVM 使用指南,但我仍然找不到正确的步骤。

创建 LVM 的第一步是将现有的物理设备转换为物理卷 (PV)(来源

pvcreate /dev/nvme1n1                           # create physical volume from disk

vgcreate serverssd /dev/nvme0n1p4               # create volume group named "serverssd" and add partition to it

此时我得到了错误信息:

无法以独占方式打开 /dev/nvme0n1p4。已挂载文件系统?

无法以独占方式打开 /dev/nvme0n1p4。已挂载文件系统?

我认为问题在于 Ubuntu 安装在 上nvme0n1p4。但是,我读到这不应该影响任何磁盘管理操作。


我从教程中假设下一步是:

vgextend serverssd /dev/nvme1n1             # extend the existing Volume Group

对于如何克服错误消息并完成任务的任何帮助都将不胜感激。

答案1

  1. 在第二个磁盘上创建 VG
  2. 从原始文件复制/
  3. 修改 grub 从新磁盘启动
  4. 将旧磁盘添加到 VG

(这是非常高级的工作流程,肯定需要扩展/更正)

答案2

我最终改变了 Ubuntu 安装脚本(来自救援系统),因此它只使用 80G 而不是磁盘的所有空间用于 Ubuntu 驱动器。

反而:

PART /boot/efi esp 256M
PART swap swap 31G
PART /boot ext3 1024M
PART / ext4 all

我用了:

PART /boot/efi esp 256M
PART swap swap 31G
PART /boot ext3 1024M
PART / ext4 80G

安装后,我用的剩余空间创建了一个分区nvme0n1,并将其与的分区合并nvme1n1

  1. 在 nvme0n1 的剩余空间中创建分区:

    parted /dev/nvme0n1

    print

    给出:

     Number  Start   End     Size    File system     Name  Flags
     1      2097kB  271MB   268MB   fat16                 boot, esp
     2      271MB   33.6GB  33.3GB  linux-swap(v1)        swap
     3      33.6GB  34.6GB  1074MB  ext3
     4      34.6GB  121GB   85.9GB  ext4
    

    然后:

    mkpart primary ext4 121GB 100% quit

    然后:

    mkfs.ext4 /dev/nvme0n1p5

  2. 使用 nvme1n1 的空间创建分区

    parted /dev/nvme1n1

    mkpart primary ext4 0% 100%

  3. 使用lsblk可得到:

     NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
     nvme1n1     259:0    0 953.9G  0 disk
     └─nvme1n1p1 259:8    0 953.9G  0 part 

相关内容