Я использую 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
показывает все это.