У меня есть виртуальный диск, подключенный к гостевой KVM, поддерживаемый логическим томом LVM. Я увеличил размер логического тома с помощью lvresize
на хост-компьютере KVM.
Затем мне пришлось ввести virsh pool-refresh
, чтобы хост KVM знал об изменении размера тома. Теперь, если я проверю объем в virt-manager
, я увижу правильный размер диска. Но гостевая ОС все равно видит диск по старому размеру несмотря ни на что.
Как заставить ядро Linux повторно сканировать виртуальные диски без перезагрузки гостевой системы?
Другие решения, которые я нашел, не были специфичны для virtio и не работали. Например, echo "- - -" > /sys/class/scsi_host/host0/scan
должен работать для SCSI-дисков, но не для virtio. Другой совет, echo 1 > /sys/block/vda/device/rescan
не работает, потому что файл rescan
не существует.
Итак, знаете ли вы о каком-либо конкретном совете virtio по повторному сканированию диска virtio?
Помимо изменения размера LV на хосте, сообщите об этом запущенному гостю:virsh blockresize <domain> vda
Как паравиртуализированный драйвер, virtio больше не претендует на роль SCSI, подсказки повторного сканирования работать не будут. Как только гость узнает об этом, объем будет больше.
Хотя в данном случае это бесполезно, более полным сценарием сканирования SCSI для Linux являетсяrescan-scsi-bus.sh
из пакета sg3_utils
.