直接通过virsh命令挂载会报错。
可参考 https://blog.csdn.net/zhongbeida_xue/article/details/80498175
详细操作步骤:
1.找到libvirt中 虚拟机id
管理节点找到对应虚拟机,通过nova show + uuid 获取到instance-XXXXX
2.在对应计算节点上,确定该虚拟机状态
3.导出该虚拟机xml配置
virsh dumpxml instacne-00000001
将输出的配置保存在 instance.xml 文件中.
4.在instance.xml文件中添加cdrom
<disk type='file' device='cdrom'>
<driver name='qemu' type='raw' cache='none'/>
<target dev='hda' bus='ide'/>
<readonly/>
<address type='drive' controller='0' bus='0' target='0' unit='0'/>
</disk>
5.销毁旧的虚拟机
6.根据刚才修改的instance.xml 重新定义虚拟机
7.修改openstack nova数据库中instance表该虚拟机的状态
(不修改状态的话openstack _sync_instance_power_state 会自动关闭状态不同步的虚拟机)
将 power_state改为1,vm_state改为active
8.在libvirt上启动该虚拟机
9.待虚拟机启动后,确定进入操作系统。挂载虚拟光驱
virsh attach-disk instance-00000001 /tmp/vServerGuestTools.iso hda --sourcetype block --driver qemu --subdriver raw --type cdrom
10.光驱使用完后需要卸载
virsh attach-disk instance-00000001 '' hda --sourcetype block --driver qemu --subdriver raw --type cdrom