![无法使用“cfdisk”扩展虚拟磁盘:无法调整分区大小](https://linux22.com/image/187675/%E6%97%A0%E6%B3%95%E4%BD%BF%E7%94%A8%E2%80%9Ccfdisk%E2%80%9D%E6%89%A9%E5%B1%95%E8%99%9A%E6%8B%9F%E7%A3%81%E7%9B%98%EF%BC%9A%E6%97%A0%E6%B3%95%E8%B0%83%E6%95%B4%E5%88%86%E5%8C%BA%E5%A4%A7%E5%B0%8F.png)
我想将 Proxmox 环境中的虚拟磁盘从 64GB 扩展到 100GB。来宾操作系统是 Debian 10。我在 Proxmox 中扩展了虚拟磁盘(现在有 100GB)并重新启动了来宾操作系统。
cfdisk
正确地看到磁盘的大小现在为 100GiB:
Disk: /dev/vda
Size: 100 GiB, 107374182400 bytes, 209715200 sectors
Label: dos, identifier: 0x9f2b12a1
Device Boot Start End Sectors Size Id Type
>> /dev/vda1 * 2048 499711 497664 243M 83 Linux
/dev/vda2 501758 134215679 133713922 63.8G 5 Extended
└─/dev/vda5 501760 134215679 133713920 63.8G 8e Linux LVM
Free space 134215680 209715199 75499520 36G
但是我无法扩展vda2
或 并vda5
出现以下错误消息:
- /dev/vda2:最大大小为 68461528064 字节
- /dev/vda5:无法调整分区 #5 的大小。
有什么想法可能是错的吗?
答案1
我有同样的问题。
我通过创建一个新分区来解决这个问题cfdisk
,然后通过创建一个新的物理卷pvcreate /dev/sda3
。我将这个新的 pv 添加到我的卷组中:vgextend /dev/VMTEMPLATE-vg /dev/sda3
。
VG 现在应该相应放大。然后我调整了逻辑卷的大小:lvresize /dev/VMTEMPLATE-vg/root /dev/sda3
。
最后我调整了文件系统的大小:resize2fs /dev/mapper/VMTEMPLATE--vg-root
。
答案2
在VMWare中
编辑VM guest虚拟机并向第一个磁盘添加一些磁盘空间并保存。
运行 cfdisk 以利用可用空间
$ sudo cfdisk
从可用空间创建一个新分区。就我而言,它是 /dev/sda3
创建新的物理卷
$ sudo pvcreate /dev/sda3
物理卷“/dev/sda3”已成功创建。
将新物理卷添加到我的卷组中
$ sudo vgextend /dev/transfer-vg /dev/sda3
卷组“transfer-vg”成功扩展
调整逻辑卷大小
$ sudo lvresize /dev/transfer-vg/root /dev/sda3
逻辑卷 Transfer-vg/root 的大小从 <5.52 GiB(1413 个扩展)更改为 <17.52 GiB(4485 个扩展)。逻辑卷 Transfer-vg/root 已成功调整大小。
找到要调整大小的文件系统的名称
$ df -hT | grep mapper
/dev/mapper/transfer--vg-root ext4 5.4G 4.2G 911M 83% /
/dev/mapper/传输数据 ext4 79G 14G 61G 19% /var/www/data
调整文件系统大小
$ sudo resize2fs /dev/mapper/transfer--vg-root
resize2fs 1.44.1 (2018 年 3 月 24 日) /dev/mapper/transfer--vg-root 处的文件系统安装在 / 上;需要在线调整大小 old_desc_blocks = 1, new_desc_blocks = 2 /dev/mapper/transfer--vg-root 上的文件系统现在的长度为 4592640 (4k) 块。
答案3
cfdisk
可能不允许您调整分区大小,因为它包含正在使用的其他分区。相反,您可以使用可以在低级别执行操作的工具:parted
警告:提前拍摄虚拟机快照,因为如果操作错误,可能会丢失数据。无法写入、保存或撤消。
在parted
控制台类型中resizepart <PART_NUMBER> <NEW_END_POSITION>
请注意,您设置的是分区的结束位置而不是大小。例如,在下面的示例中,扩展分区 2 的大小被调整为使用磁盘末尾的剩余可用空间。
(parted) print free
Model: VMware Virtual disk (scsi)
Disk /dev/sda: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
32.3kB 1049kB 1016kB Free Space
1 1049kB 300MB 299MB primary ext2 boot
300MB 301MB 1048kB Free Space
2 301MB 12.9GB 12.6GB extended
5 301MB 12.9GB 12.6GB logical lvm
12.9GB 21.5GB 8591MB Free Space
(parted) resizepart 2 21.5GB
(parted) print free
Model: VMware Virtual disk (scsi)
Disk /dev/sda: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
32.3kB 1049kB 1016kB Free Space
1 1049kB 300MB 299MB primary ext2 boot
300MB 301MB 1048kB Free Space
2 301MB 21.5GB 21.2GB extended
5 301MB 12.9GB 12.6GB logical lvm
12.9GB 21.5GB 8591MB Free Space
正如您所看到的,分区 2 的末尾与可用空间的末尾相匹配。之后,就可以去友好地cfdisk
创建新的逻辑分区了。