虚拟机无法扩展 /dev/mapper/vg0-rootvol

虚拟机无法扩展 /dev/mapper/vg0-rootvol

我有一个虚拟机,我正在尝试将其从 150GB 扩展到 500GB。

$ sudo cfdisk /dev/sda
                         cfdisk (util-linux 2.23.2)

                            Disk Drive: /dev/sda
                     Size: 536870912000 bytes, 536.8 GB
           Heads: 255   Sectors per Track: 63   Cylinders: 65270

   Name        Flags     Part Type  FS Type         [Label]       Size (MB)
 --------------------------------------------------------------------------
                          Pri/Log   Free Space                         1.05*
   sda1        Boot       Primary   xfs                              536.88*
   sda2                   Primary   LVM2_member                   536333.00*

我已经跑了fdiskhttps://unix.stackexchange.com/a/134813/173008)删除并创建新的 sda2 分区。

我正在遵循本指南(https://unix.stackexchange.com/a/108229/173008),但是我陷入困境,因为我无法扩展vg0以使用这个额外的空间。

$ df -h
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/vg0-rootvol  146G  123G   16G  90% /
/dev/sda1                509M  268M  242M  53% /boot

$ sudo pvs
  PV         VG  Fmt  Attr PSize    PFree
  /dev/sda2  vg0 lvm2 a--  <149.50g    0

$ sudo vgs
  VG  #PV #LV #SN Attr   VSize    VFree
  vg0   1   2   0 wz--n- <149.50g    0

$ sudo lvs
  LV      VG  Attr       LSize    Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  rootvol vg0 -wi-ao---- <147.50g
  swap1   vg0 -wi-ao----    2.00g

问题是 上没有“额外空间” /dev/sda2,并且仍然显示<149.5g,因此运行以下命令不起作用:

$ sudo pvresize /dev/sda2
  Physical volume "/dev/sda2" changed
  1 physical volume(s) resized or updated / 0 physical volume(s) not resized

$ sudo lvextend --size +350G /dev/mapper/vg0-rootvol
  Insufficient free space: 89600 extents needed, but only 0 available

我被困住了,不知道如何解决这个问题。任何帮助,将不胜感激。

答案1

在扩展逻辑卷之前必须先扩展卷组,因为逻辑卷包含在卷组中。

要执行这些操作,您必须卸载文件系统。卸载它们并且仍然能够在系统上工作的最简单方法是运行实时 Linux 操作系统。

通常这个实时系统会在拇指驱动器上,但是因为您使用的是虚拟机,您可以在虚拟机的设置中将实时 Linux 系统的 ISO 文件挂载到虚拟机,然后设置启动优先级,以便它从 ISO 启动。

我知道 Ubuntu 和 Fedora 都提供安装映像作为实时操作系统,许多其他发行版也是如此。您可能需要安装lvm2(apt 软件包),以便拥有所需的工具。

要扩展卷组,您需要使用卷组可以扩展到的可用空间创建一个新的物理分区。

fdisk /dev/sda/

在交互式菜单中,执行以下操作:

n to create a new partition
3 for the third partition
Enter for default first sector
Enter again for default last sector
w to write changes and exit

提示可能因系统而异,但本质上您只需要一个所需大小的新分区。我所展示的将使用磁盘上的所有可用空间。现在需要将分区做成LVM分区,或者物理卷

pvcreate /dev/sda3

然后,您可以将包含卷组的物理卷扩展到新的物理卷,将两者组合起来。

pvextend /dev/vg0 /dev/sda3

现在,如果您这样做,vgs您应该会看到卷组更大,从而为逻辑卷提供了扩展空间。

lvextend --size +350G /dev/mapper/vg0-rootvol

逻辑卷现在应该更大。

lvs

答案2

您不会在 /dev/sda2 中找到更多空间,因为您没有扩展它或使用新空间创建另一个新分区。

您应该通过以下命令创建新的 350GB 的 /dev/sda3 :

fdisk /dev/sda 
n create new  
p primary  partition
[enter]
                 //then change the partition type to lvm using this :
t to change type 
8e is for lvm 

完成后输入 w 写入并重新启动机器

现在,创建 /dev/sda3 后,您可以使用以下命令扩展所需的 vg:

pvcreate /dev/sda3

vgextend vg_xxx /dev/sda3

pvscan

vgdisplay

lvextend -l +350GB /dev/vg_xxx-lv_xxyy

xfs_growfs  /dev/vg_xxx-lv_xxyy

lvdisplay

vgdisplay

相关内容