当我尝试在KVM中分离驱动器时,出现以下错误:
错误:操作失败:无法分离磁盘vde - 没有设备的PCI地址
我试过google,但找不到其他同样问题的人?
这是我的VPS的XML转储:
(root@h2)-(/home/cloud)# virsh dumpxml vps_99
<domain type='kvm' id='218'>
<name>vps_99</name>
<uuid>42db1de2-f0d4-1030-ac57-0050560018a2</uuid>
<memory>524288</memory>
<currentMemory>524288</currentMemory>
<vcpu>1</vcpu>
<os>
<type arch='x86_64' machine='pc-0.12'>hvm</type>
<boot dev='hd'/>
</os>
<features>
<acpi/>
<apic/>
<pae/>
</features>
<clock offset='utc'/>
<on_poweroff>restart</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>restart</on_crash>
<devices>
<emulator>/usr/bin/kvm</emulator>
<disk type='block' device='disk'>
<driver name='qemu' type='raw'/>
<source dev='/dev/nbd1'/>
<target dev='vda' bus='virtio'/>
</disk>
<disk type='block' device='disk'>
<driver name='qemu' type='raw'/>
<source dev='/dev/nbd2'/>
<target dev='vdb' bus='virtio'/>
</disk>
<disk type='block' device='disk'>
<driver name='qemu' type='raw'/>
<source dev='/dev/nbd3'/>
<target dev='vde' bus='virtio'/>
</disk>
<interface type='bridge'>
<mac address='00:50:56:00:1b:24'/>
<source bridge='br0'/>
<target dev='vnet3'/>
<model type='virtio'/>
</interface>
<input type='mouse' bus='ps2'/>
<graphics type='vnc' port='5903' autoport='yes' keymap='en-us'/>
<video>
<model type='cirrus' vram='9216' heads='1'/>
</video>
</devices>
<seclabel type='dynamic' model='apparmor'>
<label>libvirt-42db1de2-f0d4-1030-ac57-0050560018a2</label>
<imagelabel>libvirt-42db1de2-f0d4-1030-ac57-0050560018a2</imagelabel>
</seclabel>
</domain>
另一个疯狂的事情是我指定为“vde”的驱动器作为“vdc”连接到虚拟服务器,好像它完全忽略了我的“vde”规范。
如果有人可以告诉我如何确保驱动器作为我指定的设备连接,我会很高兴。亚马逊网络服务似乎能够做到,所以为什么我不应该:)。
更新:虚拟机启动后,我似乎可以毫无问题地添加和删除新磁盘。似乎分离在用于创建虚拟服务器的原始XML中定义的磁盘只是问题。但问题仍然存在,如何分离在定义虚拟服务器时定义的磁盘?
更新2:我还尝试为每个磁盘添加<address>
条目,以确保每个磁盘在预定义的时隙连接,即
<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
但仍无法分离磁盘,“virsh dumpxml vps_99”实际上显示我的条目已被完全删除/忽略。
更新3:我还尝试将磁盘定义放在临时XML文件中并运行:virsh detach-device vps_99 disk.xml 还是一样的错误: 错误:无法从disk.xml分离设备 错误:操作失败:磁盘vdi无法分离 - 没有设备的PCI地址
答案 0 :(得分:0)
您可以使用libvirt
执行此操作。您必须将设备的xml描述设为xlmDec
。
例如:
virDom.detachDevice(xmldesc)