如何在扩展虚拟机磁盘大小后增加 LVM 中卷组中的可用空间

如何在扩展虚拟机磁盘大小后增加 LVM 中卷组中的可用空间

我们想要增加 VM centOS 服务器中卷组的空间

例如

pvs我们看到

pvs
  PV         VG   Fmt  Attr PSize    PFree
  /dev/sda2  VLwol lvm2 a--  <100.00g <5.09g

主要目标是在 PFree 下获得值 - 300g

例子

pvs
  PV         VG   Fmt  Attr PSize    PFree
  /dev/sda2  VLwol lvm2 a--  <400.00g <305g

因此,我们首先从 Vsphaere 客户端增加操作系统磁盘 + 300g

然后我们重新扫描磁盘

 echo 1>/sys/class/block/sda/device/rescan

从这一点来看,为了增加卷组中的可用空间,最好的建议方法是什么?

答案1

以下是使用 KVM 虚拟机上的 iSCSI 驱动器执行此操作的示例,因为此过程适用于任何运行 LVM2 的现代 Linux 操作系统,而不仅仅是 VMware 上的 CentOS。我在测试虚拟机上执行了此操作,从 和/dev/sda/dev/sda1大小均为 64G 开始:

root@xi:~# lsblk /dev/sda
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda           8:0    0   64G  0 disk 
+-sda1        8:1    0   64G  0 part 
  +-vg-root 254:0    0 22.4G  0 lvm  /
  +-vg-swap 254:1    0  952M  0 lvm  [SWAP]
  +-vg-tmp  254:2    0  952M  0 lvm  /tmp
  +-vg-var  254:3    0  7.5G  0 lvm  /var

root@xi:~# pvs
  PV         VG Fmt  Attr PSize   PFree  
  /dev/sda1  vg lvm2 a--  <63.99g <32.33g

我进入存储子系统并将磁盘扩展了 8GB。现在我们可以告诉内核重新扫描设备,正如您提到的那样(尽管我的设备在下面找到/sys/class/scsi_disk)。

root@xi:~# echo 1 > /sys/class/scsi_disk/0\:0\:0\:0/device/rescan

root@xi:~# lsblk /dev/sda
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda           8:0    0   72G  0 disk 
+-sda1        8:1    0   64G  0 part 
  +-vg-root 254:0    0 22.4G  0 lvm  /
  +-vg-swap 254:1    0  952M  0 lvm  [SWAP]
  +-vg-tmp  254:2    0  952M  0 lvm  /tmp
  +-vg-var  254:3    0  7.5G  0 lvm  /var

现在我们可以看到,lsblk现在显示的驱动器更大了,但分区仍然是原始大小。我们需要使用分区工具调整分区大小以填充扩展的空间。要使用 执行此操作fdisk,您必须擦除分区并从同一块开始创建一个新分区,但这有点吓人。更简单的方法是使用parted resizepart,如下所示:

root@xi:~# parted /dev/sda resizepart 1 100%                                  
Information: You may need to update /etc/fstab.

root@xi:~# lsblk /dev/sda
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda           8:0    0   72G  0 disk 
+-sda1        8:1    0   72G  0 part 
  +-vg-root 254:0    0 22.4G  0 lvm  /
  +-vg-swap 254:1    0  952M  0 lvm  [SWAP]
  +-vg-tmp  254:2    0  952M  0 lvm  /tmp
  +-vg-var  254:3    0  7.5G  0 lvm  /var

程序parted调整了磁盘分区的大小,但内核可能还不知道这一变化。运行partprobe以确保内核更新其内存表:

root@xi:~# partprobe /dev/sda

在我们知道分区已调整大小并且内核知道这一点之后,我们终于可以扩展物理卷了。该pvresize命令会自动扩展物理卷以填充所有可用空间:

root@xi:~# pvresize /dev/sda1
  Physical volume "/dev/sda1" changed
  1 physical volume(s) resized or updated / 0 physical volume(s) not resized

root@xi:~# pvs
  PV         VG Fmt  Attr PSize  PFree 
  /dev/sda1  vg lvm2 a--  71.99g 40.33g

相关内容