KVM:如何通过 LVM 调整客户虚拟机磁盘大小

KVM:如何通过 LVM 调整客户虚拟机磁盘大小

Debian 主机 nl-ams02c-kvm02 上有 CentOS 客户虚拟机 nl-ams02c-ispbgp02。

我调整了相应的 LVM 的大小,例如:

root@nl-ams02c-kvm02:~# lvextend -L +10000G /dev/raid50/nl-ams02c-ispbgp02
root@nl-ams02c-kvm02:~# lvdisplay /dev/mapper/raid50-nl--ams02c--ispbgp02
  --- Logical volume ---
  LV Path                /dev/raid50/nl-ams02c-ispbgp02
  LV Name                nl-ams02c-ispbgp02
  VG Name                raid50
  LV UUID                uzftwI-kf3a-R0jl-hZXq-vSP3-MDBt-o8iXTW
  LV Write Access        read/write
  LV Creation host, time nl-ams02c-kvm02, 2015-07-30 16:12:48 +0200
  LV Status              available
  # open                 1
  LV Size                9.81 TiB
  Current LE             2572500
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           254:4

现在磁盘正确显示生效的上升

root@nl-ams02c-kvm02:~# fdisk /dev/mapper/raid50-nl--ams02c--ispbgp02 -l

Disk /dev/mapper/raid50-nl--ams02c--ispbgp02: 9.8 TiB, 10789847040000 bytes, 21073920000 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 262144 bytes / 524288 bytes
Disklabel type: dos
Disk identifier: 0x0009ede3

Device                                    Boot   Start       End   Sectors  Size Id Type
/dev/mapper/raid50-nl--ams02c--ispbgp02p1 *       2048   1026047   1024000  500M 83 Linux
/dev/mapper/raid50-nl--ams02c--ispbgp02p2      1026048 102399999 101373952 48.3G 8e Linux LVM

root@nl-ams02c-kvm02:~# pvdisplay 
  --- Physical volume ---
  PV Name               /dev/sda2
  VG Name               raid50
  PV Size               21.83 TiB / not usable 3.00 MiB
  Allocatable           yes 
  PE Size               4.00 MiB
  Total PE              5723048
  Free PE               3041700
  Allocated PE          2681348
  PV UUID               j9Je9z-G1AN-JX7O-W03E-91l9-l80g-7Cys0V

问题是;

在客户机 nl-ams02-ispbgp02 (xfs 文件系统)上

我该如何调整它的大小?您能告诉我具体步骤和操作方法吗?

我必须先将其挂载(?)(但是怎么做?),然后用 xfs_growfs 来增大它(?)

从客人的角度来看,它是:

[root@nl-ams02c-ispbgp02 ~]# partprobe
[root@nl-ams02c-ispbgp02 ~]# fdisk -l

Disk /dev/vda: 52.4 GB, 52428800000 bytes, 102400000 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x0009ede3

   Device Boot      Start         End      Blocks   Id  System
/dev/vda1   *        2048     1026047      512000   83  Linux
/dev/vda2         1026048   102399999    50686976   8e  Linux LVM

Disk /dev/mapper/centos-root: 46.6 GB, 46615494656 bytes, 91045888 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/mapper/centos-swap: 5242 MB, 5242880000 bytes, 10240000 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

[root@nl-ams02c-ispbgp02 ~]# lvs
  LV   VG     Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root centos -wi-ao---- 43.41g                                                    
  swap centos -wi-ao----  4.88g                                                    
[root@nl-ams02c-ispbgp02 ~]# df -h
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   44G  1.9G   42G   5% /
devtmpfs                 7.8G     0  7.8G   0% /dev
tmpfs                    7.8G     0  7.8G   0% /dev/shm
tmpfs                    7.8G  8.3M  7.8G   1% /run
tmpfs                    7.8G     0  7.8G   0% /sys/fs/cgroup
/dev/vda1                497M  204M  294M  41% /boot

[root@nl-ams02c-ispbgp02 ~]# fdisk -l /dev/vda

Disk /dev/vda: 52.4 GB, 52428800000 bytes, 102400000 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x0009ede3

   Device Boot      Start         End      Blocks   Id  System
/dev/vda1   *        2048     1026047      512000   83  Linux
/dev/vda2         1026048   102399999    50686976   8e  Linux LVM
[root@nl-ams02c-ispbgp02 ~]# dmesg | egrep vda
[    1.280952]  vda: vda1 vda2
[    3.645818] XFS (vda1): Mounting V4 Filesystem
[    4.411333] XFS (vda1): Ending clean mount

答案1

看起来您有一个将 LV 导出到客户机的主机,然后客户机再次使用 LVM 为文件系统创建 LV。

完成上述操作后lvextend,您现在拥有一个包含一对较小分区的大型虚拟磁盘。您有两个选择:增加主分区的大小(构成来宾的 PV)或将新分区作为 PV 添加到来宾 VG。就我个人而言,我会选择前者,因为它更简洁,但如果您是 LVM 新手,则后者略微安全一些,这几乎可以全部在线完成:

  1. 任何一个:
    • 在客户机中:partprobe选择新的大小。使用 fdisk 进行验证。
    • 如果partprobe失败:重新启动客户机以便它获取新的磁盘大小。
  2. 登录至访客
  3. 使用fdisk创建一个新的扩展分区。接受建议的开始和结束。类型为:83。
  4. 在新的部分上创建新的 pv:(pvcreate /dev/vda5用适当的磁盘和/或分区替换
  5. 向 VG 添加新部分:(用实际的客户 vg 名称vgextend centos /dev/vda5替换)<centos>
  6. 扩展所需 FS 的 LV:lvextend -l +100%FREE /dev/centos/root
  7. 将 FS 扩大到新 LV 的大小:(xfs_growfs /dev/centos/root假设/或根)

相关内容