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

Добавление блочных устройств Virtio во время выполнения в Libvirt KVM

Я использую Debian Wheezy Beta 4 с гостевыми системами на основе KVM, которые работают под управлением той же операционной системы. Я использую LibVirt для управления виртуализацией.

Я бы хотел подключить блочное устройство на основе LVM к работающей гостевой системе через Virtio. Если бы я настроил его через virsh edit [MACHINE] это выглядело бы так:

<disk type='block' device='disk'>
  <driver name='qemu' type='raw' cache='none' io='native'/>
  <source dev='/dev/volume_group/logical_volume'/>
  <target dev='vdb' bus='virtio'/>
</disk>

Я пытался узнать, как это сделать с virsh attach-disk. Пока я понял следующее:

virsh attach-disk guest /dev/volume_group/logical_volume vdb --driver qemu --type raw --cache none --persistent

Как я могу указать цель bus и водительские io поле? Мне действительно нужно, чтобы эти параметры были точно такими, как указано в XML.

Я считаю, что способ указания параметров в командной строке весьма ограничен. Попробуйте использовать attach-device действие и укажите конфигурацию диска в XML-файле.

virsh # attach-device [MACHINE] /tmp/new-disk.xml

с new-disk.xml файл, содержащий пять строк, которые вы бы добавили, используя edit.

Добавить --persistent чтобы он обновил определение XML вашего компьютера за вас.

Обновить

Перед добавлением устройства убедитесь, что в гостевой системе загружены модули ядра hotplug:

modprobe acpiphp
modprobe pci_hotplug

Затем вы должны увидеть, как ядро ​​выдает некоторые отладочные сообщения в dmesg, как это:

[  321.946440] virtio-pci 0000:00:06.0: using default PCI settings
[...]
[  321.952782]  vdb: vdb1 vdb2

В наши дни virsh (1) имеет все параметры командной строки, вы можете просто запустить, например:

sudo virsh attach-disk \
           --domain guestname \
           --source /dev/volume_group/logical_volume \
           --target vdb \
           --driver qemu \
           --subdriver raw \
           --cache none \
           --io native \
           --targetbus virtio \
           --config \
           --live

virsh attach-disk --help показывает все это.