在 Centos 6.* 上合并两个没有 gparted 的分区

在 Centos 6.* 上合并两个没有 gparted 的分区

我一直在尝试合并 centos 6 虚拟机上的两个分区。我只能通过命令行访问这台机器。我的系统如下所示:

[x@x-y ~]$lsblk
NAME                       MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sr0                         11:0    1 1024M  0 rom  
sda                          8:0    0  200G  0 disk 
├─sda1                       8:1    0  500M  0 part /boot
├─sda2                       8:2    0 39.5G  0 part 
│ ├─vg_vts0-lv_root (dm-0) 253:0    0 35.6G  0 lvm  /
│ └─vg_vts0-lv_swap (dm-1) 253:1    0  3.9G  0 lvm  [SWAP]
└─sda3                       8:3    0  160G  0 part 

我不想丢失 sda2 的数据,但我愿意清除 sda3 的数据。我试过 fsdisk,但不确定如何合并 sda2 和 sda3。有什么想法吗?

谢谢。

答案1

看起来您正在使用 LVM(逻辑卷管理器),这意味着您可以保留现有分区,并在“LVM”级别(即 sdx 块设备和文件系统之间)合并它们。LVM 专门设计用于允许此类操作。

任何文件系统操作都存在一定风险 - 因此在尝试之前请备份数据并检查您是否愿意承担解决方案的风险,但

  1. 使用 FDISK 或类似程序将 sda3 的分区类型修改为“8e”= Linux LVM。
  2. 如果可能,请重新加载分区信息,否则重新启动虚拟机以重新读取它 - 您可以执行“partprobe /dev/sda3”
  3. 添加物理卷 - 例如“pvcreate /dev/sda3”
  4. 使用“vgextend vg_vts0 /dev/sda3”将 /dev/sda3 添加到卷组

  5. 使用类似 lvextend -L +155G /dev/vg_vts0/lv_root 的命令扩展数据分区 - 注意,这将使分区大小增加 155 GB,而不是 160 GB。这将为您留下 5 GB 供以后使用,并且可能很有用 - 特别是当您想开始使用快照进行全盘备份时。

  6. 扩展分区 - 如果您使用的是 EXT4,则可能使用 resize4fs /dev/vg_vts0/lv_root (根据您的发行版,它可能被称为 resize2fs)

另一种选择(这更能回答您的问题,但风险更大,而且对您没有多大帮助)是重新分区底层磁盘。使用 FDISK 之类的工具,删除分区 2 和分区 3,然后使用所有空间创建一个新的分区 2 - 记得将类型设置为 8E。按照上面的步骤 6 继续操作。同样,这不是一个好主意 - LVM 使这样做比本来的风险更大 - 而且它确实有风险 - 并且违背了 LVM 的目的

相关内容