Openstack Grizzly,实例启动正常,但没有控制台输出

Openstack Grizzly,实例启动正常,但没有控制台输出,openstack,Openstack,我正在两节点配置上运行Grizzly。如果我使用标准映像,即cirros-0.3.0-x86_64-disk.img或任何ubuntu-server-cloudimg-amd64-disk1.img,我没有问题,控制台日志就在那里。但是如果我使用KVM和任何ubuntu ISO标准文件创建一个映像,那么我就不会得到控制台日志。实例总是正常运行,我可以通过仪表板登录屏幕访问它们,并且没有关于控制台的错误消息;在这些情况下,console.log始终为0字节。我需要添加到图像创建过程中的那些云图像有

我正在两节点配置上运行Grizzly。如果我使用标准映像,即cirros-0.3.0-x86_64-disk.img或任何ubuntu-server-cloudimg-amd64-disk1.img,我没有问题,控制台日志就在那里。但是如果我使用KVM和任何ubuntu ISO标准文件创建一个映像,那么我就不会得到控制台日志。实例总是正常运行,我可以通过仪表板登录屏幕访问它们,并且没有关于控制台的错误消息;在这些情况下,console.log始终为0字节。我需要添加到图像创建过程中的那些云图像有什么不同吗?我已经尝试并添加了libvirt,但没有成功。 谢谢你的帮助

简短的回答
  • 在虚拟机内部,编辑
    /etc/default/grub
    ,使其具有以下行:

    GRUB_CMDLINE_LINUX_DEFAULT="console=ttyS0"
    
  • sudo update-grub
    
  • 更长的答案 Grub需要配置为将引导消息写入串行设备(ttyS0)。特别是在Ubuntu上,在您的/boot/grub/grub.cfg中,应该有一行有
    console=ttyS0
    ,如下所示:

        linux   /boot/vmlinuz-3.2.0-49-virtual root=UUID=6d2231e4-0975-4f35-a94f-56738c1a8150 ro console=ttyS0
    

    但是,不应直接编辑此文件。相反,您应该编辑
    /etc/default/grub
    以指定要传递给内核的其他参数,然后运行
    更新grub
    ,这将为您更新/boot/grub中的文件。通过编辑
    /etc/DEFAULT/GRUB
    中定义的
    GRUB\u CMDLINE\u LINUX\u DEFAULT
    变量,指定
    console=ttyS0
    参数,谢谢@Lorin Hochstein,我可以问另一个问题吗?如果我使用windows映像,比如XP,2008。那么,我怎样才能得到像linux操作系统这样的控制台日志文件呢?谢谢@Lorin Hochstein,我可以问另一个问题吗?如果我使用windows映像,比如XP,2008。那么,我如何才能获得像linux OS这样的控制台日志文件?@BigTiger我建议您在ask.openstack.org或serverfault.com上单独提问。谢谢您的建议。