注意:我知道这种类型的问题以前已经被问过很多次了,但我对所提供的答案有一些意见。
我在 Hyper-V 上运行 RHEL (7.1) VM。该 VM 连接了 2 个 IDE 磁盘。我需要将第二个磁盘从 80 GB 扩展到 160 GB,因此我在虚拟机管理器中扩展了磁盘。现在需要在 Linux 端做一些事情。
我读过的大多数解决方案都可以归结为:
- 使用以下命令创建新的主分区
fdisk /dev/sdb
- 将分区类型设置为 LVM(0x8e)
- 创建新的物理卷(
pvcreate
) - 使用新的 PV 扩展卷组(
vgextend
) - 扩展逻辑卷 (
lvextend
) - 扩展文件系统(
xfs_growfs
)
另一个解决方案是添加第二个磁盘并将该磁盘添加到卷组。我们不想走那条路,只保留那 2 个磁盘。
这一切都很好,我以前做过。现在我想知道是否可以扩展已经存在的分区(例如sdb1
),而不是添加sdb2
,因为据我记得主分区的数量是有限制的?想象一下:如果我需要将此磁盘扩展 5 次怎么办?那么我就有 6 个主分区。
parted
不再是一个选项,因为他们删除了resize
和move
命令。GParted
可能是一个解决方案,但是我必须使用 GParted 实时 CD 启动 VM,我想避免这种情况。
你怎么看?
答案1
是的!
使用分区工具,例如parted
或fdisk
。删除您创建 PV 的分区的原始分区,但要记住那里的起始和结束柱面/块,并确保新分区从同一位置开始,并使用比原始大小更大的大小,否则您会弄乱那里的文件系统。
完成此操作后,可能会使用 之类的工具检测新分区大小partprobe
,但如果它位于 上安装的 fs 上/
,则可能需要重新启动才能检测新分区大小。我不记得了。
完成这些之后,您现在就可以执行列表中的剩余步骤了。
不过我有一个提示:如果整个磁盘都是 PV(即,上面没有分区表),那么下次扩大文件系统时,您可以直接跳到步骤 4。