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

Libvirt не видит обновленный том LVM

Все виртуальные машины работают из пула LVM.

Я изменил размер одного из томов LVM, чтобы увеличить копируемость дисков виртуальных машин. Изменил его размер с помощью lvextend по-прежнему. Все удачно и lvs показывает новый размер.

Однако Libvirt не видит нового размера. Я пытаюсь освежиться - не повезло. Он по-прежнему показывает старую емкость.

Бег virsh vol-info на томе показывает старый размер в записи емкости и новый размер в записи распределения. Почему это так? Раньше такого не было. Увеличение объема LVM будет распространяться и станет видимым после обновления.

Теперь единственный способ получить этот новый размер виртуальной машины - это перезагрузить компьютер, о чем не может быть и речи. Как сделать видимым новый размер?

РЕДАКТИРОВАТЬ

ОС: Arch Libvirt: 1.3.0 Qemu: 2.4.1

Не помогает и перезапуск службы libvirt. Том по-прежнему отображается в libvirt со старым размером.

lvs

...      
  sswus00-vd0     vga  -wi-a----- 200.00g
...

virsh vol-info --pool pool sswus00-vd0

Name:           sswus00-vd0
Type:           block
Capacity:       100.00 GiB
Allocation:     200.00 GiB

Таким образом, емкость по-прежнему остается прежней, и это то, что получает виртуальная машина.

РЕДАКТИРОВАТЬ2

Это действительно странно.

lsblk показывает старый размер диска для этого тома lvm - 100G Но lvs показывает новый размер - 200 г

Серверной частью группы логических томов является iSCSI. Так что я подумал, что, возможно, поможет повторное сканирование шины scsi.

Ни то, ни другое echo "- - -" > echo "- - -" > /sys/devices/platform/host2/scsi_host/host2/scan

или iscsiadm -m node -R

имеет значение

Любые идеи? Как я могу сообщить ядру о новом размере? И самое главное, почему он это делает?

Вы можете отправить команду qemu monitor процессу qemu виртуальной машины, чтобы он распознал новый размер блочного устройства. Например:

virsh qemu-monitor-command vmname --hmp "block_resize drive/virtio-disk0 200G"

Обратите внимание, что drive/virtio-disk0 относится к представлению qemu о диске, которое будет варьироваться в зависимости от используемого драйвера (например, virtio или virtio-scsi) и того, какой виртуальный диск он в порядке (0 сменится на 1, 2 и т. д.). Для диска SCSI у вас будет что-то вроде drive-scsi0-0-0-0 где числа относятся к виртуальному контроллеру, шине, цели и LUN, как определено в libvirt XML.