无法使用“cfdisk”扩展虚拟磁盘:无法调整分区大小

无法使用“cfdisk”扩展虚拟磁盘:无法调整分区大小

我想将 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创建新的逻辑分区了。

相关内容