【问题标题】:Openstack instance - No bootable deviceOpenstack 实例 - 无可启动设备
【发布时间】:2018-08-15 16:36:20
【问题描述】:

我已经在 VirtualBox 机器上托管的多节点架构上部署了 Openstack。现在我正在尝试使用 qcow2 centos 映像启动我的第一个实例,但每次我这样做时都会收到以下错误:

Booting from Hard Disk... 

Boot failed: not a bootable disk

No bootable device

我提到我使用了来自官方 centos 存储库的图像,但我也使用 Virtualbox 构建了自己的 qcow 图像。在这两种情况下,结果相同。 我不知道是什么原因造成的,我应该从哪里开始调查。

【问题讨论】:

  • 这是来自centos官方虚拟机镜像的截图吗?如果是这样,我不记得在这些 VM 映像中看到任何与 iPXE 相关的日志。您是否从以下 URL 获取了 GenericCloud 图像:cloud.centos.org/centos/7/images ??
  • @Murli 是的,是从您提到的 URL 下载的官方 Centos 图像,我选择了通用云版本。

标签: centos virtualbox instance openstack qemu


【解决方案1】:

似乎 virt-manager 在创建新虚拟机时不会读取现有映像的硬盘驱动器映像格式,而是选择“原始”格式。由于 virt-manager 似乎将其设置存储在内部,因此您不能只编辑 ~/.libvirt/qemu/VMNameHere.xml 文件。

您必须将 libvirt vm 设置导出为 xml,修复硬盘驱动器映像格式,然后将 vm 设置重新导入 libvirt。

获取虚拟机名称: 代码:

virsh -c qemu:///session list --all

如果您的 vm 在系统帐户而不是您的用户帐户中,请将 qemu:///session 替换为 qemu:///system

导出虚拟机设置: 代码:

virsh -c qemu:///session dumpxml VMName > ~/Desktop/VMName.xml

更新xml文件中的硬盘格式:

代码:

From   
<devices>
    <emulator>/usr/bin/kvm</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw'/>
      <source file='/storage/vmimages/Windows7_x64-01/qcow2-60GB_HDD1.qcow2'/>
      <target dev='hda' bus='ide'/>
    </disk>
To
<devices>
    <emulator>/usr/bin/kvm</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2'/>
      <source file='/storage/vmimages/Windows7_x64-01/qcow2-60GB_HDD1.qcow2'/>
      <target dev='hda' bus='ide'/>
    </disk>

删除 virt-manager 中的旧 vm 设置:

打开 virt-manager 并删除有问题的虚拟机,但一定要留下硬盘映像

在固定的xml文件中导入:

代码:

virsh -c qemu:///session define ~/Desktop/VMName.xml

vm 会自动出现在 virt-manager 中。

虚拟机现在应该可以正常工作了。

其他说明: 这个 qcow2/raw 问题发生在我使用 virt-manager 加载到虚拟机中的每个硬盘驱动器图像上,因此我必须每次都编辑并重新导入 xml。

您也许可以关闭 libvirt-bin 和 qemu-kvm 服务,编辑 ~/.libvirt/qemu/VMNameHere.xml 文件并以更短的方法重新启动,但我没有验证这是否有效。

希望这将节省几个小时的搜索时间。

【讨论】:

  • 我已经执行了所有步骤,但最后,当我尝试启动 VM 时,virt-manager 显示以下错误:Error starting domain: internal error: process exited while connecting to monitor: 2018-08-16T15:04:49.630448Z qemu-kvm: -chardev pty,id=charserial0,logfile=/dev/fdset/1,logappend=on: char device redirected to /dev/pts/2 (label charserial0) 2018-08-16T15:04:49.632973Z qemu-kvm: -drive file=/dev/sdb,format=qcow2,if=none,id=drive-virtio-disk0,serial=ab3dc446-1247-4f40-baf3-f2d2f10a89b1,cache=none,aio=native: Image is not in qcow2 format
  • 2021 年 6 月在 Mint 20.1 上使用全新的 kvm、virt-manager 等执行上述步骤,但问题仍然存在。 xml 文件已经包含 type='qcow2' btw
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-04-18
  • 1970-01-01
  • 2014-02-01
  • 1970-01-01
  • 2021-09-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多