Как заставить ядро ​​Linux повторно сканировать виртуальные диски?

У меня есть виртуальный диск, подключенный к гостевой 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?

2
задан 2 October 2021 в 00:00
1 ответ

Помимо изменения размера LV на хосте, сообщите об этом запущенному гостю:virsh blockresize <domain> vda

Как паравиртуализированный драйвер, virtio больше не претендует на роль SCSI, подсказки повторного сканирования работать не будут. Как только гость узнает об этом, объем будет больше.

Хотя в данном случае это бесполезно, более полным сценарием сканирования SCSI для Linux являетсяrescan-scsi-bus.shиз пакета sg3_utils.

3
ответ дан 3 October 2021 в 02:50

Теги

Похожие вопросы