在Libvirt KVM的运行时添加Virtio块设备

我运行的是基于KVM的客户系统,运行相同的操作系统的Debian Wheezy Beta 4。 我正在使用LibVirt来pipe理虚拟化。

我想要做的是通过Virtio将基于LVM的块设备连接到正在运行的访客系统。 如果我通过virsh edit [MACHINE]来configuration它,它将如下所示:

 <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文件中指定磁盘configuration。

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

new-disk.xml文件包含你将要使用edit添加的五行。

添加 – --persistent更新你的机器的XML定义。

更新

在添加设备之前,请确保在guest虚拟机中加载了hotplug内核模块:

 modprobe acpiphp modprobe pci_hotplug 

然后您应该看到内核在dmesg抛出一些debugging消息,如下所示:

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