Назад | Перейти на главную страницу

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

Похоже, у вас есть хост, который экспортирует LV гостю, который затем снова использует LVM для создания LV для файловой системы.

После Вас lvextend, теперь у вас есть большой виртуальный диск с парой небольших разделов. У вас есть два варианта: увеличить размер основного раздела, который формирует гостевой PV, или добавить новый раздел в качестве PV в гостевую VG. Лично я бы выбрал первое, так как он более аккуратный, но если вы новичок в LVM, немного безопаснее сделать последнее, что можно сделать в основном онлайн:

  1. Либо:
    • В гостях: partprobe подобрать новый размер. Проверьте с помощью fdisk.
    • Если partprobe сбой: перезагрузите гостевую систему, чтобы она заняла новый размер диска.
  2. Войти в гостевой
  3. С участием fdisk, создайте новый расширенный раздел. Примите предложенные начало и конец. Тип: 83.
  4. Создайте новый pv на новой детали: pvcreate /dev/vda5 (Замените на соответствующий диск и / или раздел
  5. Добавить новую часть в VG: vgextend centos /dev/vda5 (Заменить <centos> с фактическим именем гостя vg)
  6. Расширьте свой LV требуемой FS: lvextend -l +100%FREE /dev/centos/root
  7. Увеличьте свою FS до размера нового LV: xfs_growfs /dev/centos/root (предполагать / или корень)