在 Windows 下 VMware 虚拟机的硬盘扩容

扩容硬盘

关闭虚拟机后可以方便的使用图形化界面扩容,这里就不再赘述。下面重点将如何使用命令行操作

使用 vmware-vdiskmanager 扩容

命令如下

1
vmware-vdiskmanager -x [新大小]GB [VMDK文件路径]

[新大小] 替换为你想要扩容到的新的磁盘大小(以 GB 为单位),将 [VMDK文件路径] 替换为你的 VMDK 文件的完整路径。
例如,如果你想将 VMDK 文件扩容到 100 GB,命令如下:

1
vmware-vdiskmanager -x 100GB "/path/to/vmname/disk.vmdk"

CentOS Stream 9 扩容

CentOS Stream 9 使用 LVM(逻辑卷管理)来管理分区,所以需要先扩容分区,再扩容 LVM,最后扩容文件系统。

我这里是扩容的第一块 NVME 硬盘。

扩容分区

1
parted /dev/nvme0n1 print

显示如下

分区信息输出 >folded
1
2
3
4
5
6
7
8
9
10
Model: VMware Virtual NVMe Disk (nvme)
Disk /dev/nvme0n1: 275GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:

Number Start End Size Type File system Flags
1 1049kB 1075MB 1074MB primary xfs boot
2 1075MB 275GB 274GB primary lvm

这里主要确认扩容的分区编号,这里是2,然后使用下面命令,其中-1为使用剩余全部空间。

1
parted /dev/nvme0n1 resizepart 2 -1

扩容 LVM

可选)No matching physical volumes found.

我是拷贝的另外的一个虚拟机的 vmdk 文件到新的 vmdk 文件,使用 pvdisplayvgdisplaylvdisplay都会输出以下问题:

LVM信息丢失 >folded
1
2
Devices file sys_wwid eui.3d7cfcedf7506898000c296e1c24fd95 PVID OTiAANRQYfgkEtAGxCMbdrbj0lW8BF4e last seen on /dev/nvme0n1p2 not found.

解决办法,编辑文件:/etc/lvm/lvm.conf

找到行:use_devicesfile =

添加以下内容

1
use_devicesfile = 0

保存,重启系统生效。

扩容 PV

根据硬盘扩容

1
pvresize /dev/nvme0n1p2

输出

Physical volume “/dev/nvme0n1p2” changed
1 physical volume(s) resized or updated / 0 physical volume(s) not resized

扩容 VG

查看 vg 信息,确认 vg name

1
vgdisplay

1
vgs

扩容

1
vgextend cs /dev/nvme0n1p2

输出

Physical volume ‘/dev/nvme0n1p2’ is already in volume group ‘cs’
Unable to add physical volume ‘/dev/nvme0n1p2’ to volume group ‘cs’
/dev/nvme0n1p2: physical volume not initialized.

扩容 LV

一样先查看信息,获得lv path,针对性扩容具体路径

1
lvdisplay

1
lvs

扩容

1
lvresize -l +100%FREE /dev/cs/root

输出

Size of logical volume cs/root changed from <17.00 GiB (4351 extents) to <253.00 GiB (64767 extents).
Logical volume cs/root successfully resized.