这个应该就是我说的linux 3.*的udev问题。
在 2013年11月25日上午9:48,Du Jun <dj199...@gmail.com>写道: > Hi ZHOU, > > 如果我先stop虚拟机,再挂载volume,然后再启动虚拟机,那么一切都ok的。就是不能在虚拟机运行的时候挂载。或者我虚拟机第一次启动的时候,我挂载上去,那也是ok的,但是我卸载掉volume然后再挂载,那就会报错“Duplicate > ID 'virtio-disk1”。 > 我通过libvirt来查看VM 的XML信息如下: > root@openstack-server-1:/usr/bin# virsh dumpxml i-2-3-VM > <domain type='kvm' id='11'> > <name>i-2-3-VM</name> > <uuid>3bec686e-ccfb-4cfd-ab0f-c709b8802f04</uuid> > <description>Ubuntu 12.04 (64-bit)</description> > <memory>524288</memory> > <currentMemory>524288</currentMemory> > <vcpu>1</vcpu> > <cputune> > <shares>500</shares> > </cputune> > <os> > <type arch='x86_64' machine='pc-1.0'>hvm</type> > <boot dev='cdrom'/> > <boot dev='hd'/> > </os> > <features> > <acpi/> > <apic/> > <pae/> > </features> > <clock offset='utc'/> > <on_poweroff>destroy</on_poweroff> > <on_reboot>restart</on_reboot> > <on_crash>destroy</on_crash> > <devices> > <emulator>/usr/bin/kvm</emulator> > <disk type='file' device='disk'> > <driver name='qemu' type='qcow2' cache='none'/> > <source > > file='/mnt/d15f1dda-469f-31b1-a760-a3f477b6903e/ebe08b1d-91d2-4d38-b034-f65041b415a2'/> > <target dev='vda' bus='virtio'/> > <alias name='virtio-disk0'/> > <address type='pci' domain='0x0000' bus='0x00' slot='0x04' > function='0x0'/> > </disk> > <disk type='file' device='cdrom'> > <driver name='qemu' type='raw' cache='none'/> > <target dev='hdc' bus='ide'/> > <readonly/> > <alias name='ide0-1-0'/> > <address type='drive' controller='0' bus='1' unit='0'/> > </disk> > <controller type='ide' index='0'> > <alias name='ide0'/> > <address type='pci' domain='0x0000' bus='0x00' slot='0x01' > function='0x1'/> > </controller> > <interface type='bridge'> > <mac address='06:23:76:00:00:0d'/> > <source bridge='cloudbr0'/> > <target dev='vnet9'/> > <model type='virtio'/> > <bandwidth> > <inbound average='25600' peak='25600'/> > <outbound average='25600' peak='25600'/> > </bandwidth> > <alias name='net0'/> > <address type='pci' domain='0x0000' bus='0x00' slot='0x03' > function='0x0'/> > </interface> > <serial type='pty'> > <source path='/dev/pts/6'/> > <target port='0'/> > <alias name='serial0'/> > </serial> > <console type='pty' tty='/dev/pts/6'> > <source path='/dev/pts/6'/> > <target type='serial' port='0'/> > <alias name='serial0'/> > </console> > <input type='tablet' bus='usb'> > <alias name='input0'/> > </input> > <input type='mouse' bus='ps2'/> > <graphics type='vnc' port='5903' autoport='yes'/> > <video> > <model type='cirrus' vram='9216' heads='1'/> > <alias name='video0'/> > <address type='pci' domain='0x0000' bus='0x00' slot='0x02' > function='0x0'/> > </video> > <memballoon model='virtio'> > <alias name='balloon0'/> > <address type='pci' domain='0x0000' bus='0x00' slot='0x05' > function='0x0'/> > </memballoon> > </devices> > </domain> > 里面只有virtio-disk0没有virtio-disk1啊! > > 谢谢 > DuJun > > > > 在 2013年11月25日下午4:41,Wei ZHOU <ustcweiz...@gmail.com>写道: > > > 之前有过挂载、卸载的操作吗? > > virsh dumpxml出来的文件里面有virtio-disk1吗? > > > > 有条件试试虚拟机OS是centos6或者rhel6的情况。 > > 我记得linux kernel 3.*带的udev里面有个bug > > > > > > 在 2013年11月24日下午1:38,Du Jun <dj199...@gmail.com>写道: > > > > > Hi ZHOU, > > > 目前我的虚拟机还没有挂额外数据盘,物理机qemu版本1.0,libvirt版本0.9.8,虚拟机OS时ubuntu 12.04. > > > > > > Does these matters? > > > > > > ---- > > > Best regards, > > > DuJun > > > > > > 2013/11/24, Wei ZHOU <ustcweiz...@gmail.com>: > > > > 你挂了几个盘?你的物理机的QEMU和LIBVIRT是什么版本,虚拟机用的什么OS > > > > > > > > 2013/11/23, Du Jun <dj199...@gmail.com>: > > > >> Hi all, > > > >> 我在为虚拟机绑定磁盘的时候碰到了一个问题,log信息如下: > > > >> 2013-11-23 18:04:03,155 DEBUG [cloud.async.AsyncJobManagerImpl] > > > >> (Job-Executor-57:job-81 = [ 260b8d64-570d-4469-92c6-f27d887955b0 ]) > > > >> Complete async job-81 = [ 260b8d64-570d-4469-92c6-f27d887955b0 ], > > > >> jobStatus: 2, resultCode: 530, result: Error Code: 530 Error text: > > > >> Failed to attach volume: volume-a4903396-ca1b-48a9-838d-e82dbd190932 > > > >> to VM: basic-inception-vm; org.libvirt.LibvirtException: internal > > > >> error unable to execute QEMU command 'device_add': Duplicate ID > > > >> 'virtio-disk1' for device > > > >> 提示信息说:“Duplicate ID 'virtio-disk1' for > > > >> device”,我就迷惑了,数据磁盘在我的主存储里面是独一无二的呀,求解释,求说明!谢谢! > > > >> > > > >> ---- > > > >> Best regards, > > > >> DuJun > > > >> > > > > > > > > > >