KVM-Guest 仅启动单用户模式

KVM-Guest 仅启动单用户模式

我们有一个在带有 KVM/QEMU 的 Ubuntu 12.04 上运行的 Vserver 主机,到目前为止,客户机在各种操作系统(Ubuntu 10.04、12.10、Debian 6.7、CentOS 5.6)上运行良好。

在安装 Ubuntu 14.04 Server(通过 PXE 运行良好)之后,客户机在启动过程中冻结,并出现黑屏,然后才出现 Ubuntu 加载徽标。

当输入错误的网络设置时,Ubuntu 加载徽标出现,但系统在“等待网络 60 秒后冻结。

替换quiet splash $vt_handoff启动参数有助于single系统启动,输入root密码后,可以启动ssh,并可以通过ssh访问服务器。

只需删除quiet splash $vt_handoff,显示的最后一条消息是“停止 System V 运行级别兼容性 [OK]”

我只是无法在日志中找到任何线索,因为在正常启动并冻结时没有生成任何日志,只有在“单一”启动时才会生成日志。

我也尝试添加启动参数,debug verbose plymouth:debug但没有成功。

这是 Ubuntu 14.04 客户的 xml 配置:

<domain type='kvm' id='254'>
  <name>name</name>
  <uuid>cb6cb7e9-4399-603e-56ce-887f77985bc2</uuid>
  <memory>1048576</memory>
  <currentMemory>1048576</currentMemory>
  <vcpu>1</vcpu>
  <sysinfo type='smbios'>
    <system>
      <entry name='manufacturer'>Name</entry>
    </system>
  </sysinfo>
  <os>
    <type arch='x86_64' machine='pc-0.14'>hvm</type>
    <boot dev='network'/>
    <boot dev='hd'/>
    <bios useserial='yes'/>
    <smbios mode='sysinfo'/>
  </os>
  <features>
    <acpi/>
    <apic/>
    <pae/>
  </features>
  <clock offset='utc'/>
  <on_poweroff>destroy</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='/volumes/name'/>
      <target dev='sda' bus='virtio'/>
      <alias name='virtio-disk0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
    </disk>
    <controller type='virtio-serial' index='0'>
      <alias name='virtio-serial0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
    </controller>
    <interface type='bridge'>
      <mac address='ab:cd:ef:ab:cd:ef'/>
      <source bridge='br0'/>
      <target dev='vnet14'/>
      <model type='virtio'/>
      <alias name='net0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </interface>
    <serial type='pty'>
      <source path='/dev/pts/31'/>
      <target port='0'/>
      <alias name='serial0'/>
    </serial>
    <console type='pty' tty='/dev/pts/32'>
      <source path='/dev/pts/32'/>
      <target type='virtio' port='0'/>
      <alias name='console0'/>
    </console>
    <input type='mouse' bus='usb'>
      <alias name='input0'/>
    </input>
    <input type='mouse' bus='ps2'/>
    <graphics type='vnc' port='5914' autoport='yes' listen='0.0.0.0' keymap='de'>
      <listen type='address' address='0.0.0.0'/>
    </graphics>
    <video>
      <model type='cirrus' vram='65536' 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='0x06' function='0x0'/>
    </memballoon>
  </devices>
</domain>

因为它是服务器安装,所以没有安装 GUI,也没有安装显示管理器。

因此,这似乎是所用内核和所发布的 kvm/qemu 版本组合的问题。

我建立了一个新的服务器来尝试一下,以下是我所发现的:

| 主机 | 主机内核 | 客户机 | 客户机内核 | 结果 |
| 12.04.4 | 3.2 | 12.04.4 | 3.2 | 确定|
| 12.04.4 | 3.11 | 12.04.4 | 3.11 | 访客冻结,无法接通 |
| 12.04.4 | 3.13 | 12.04.4 | 3.11 | 控制台/VGA 冻结 / 访客可访问 |
| 12.04.4 | 3.13 | 12.04.4 | 3.13 | 控制台/VGA 冻结/访客可访问 |
| 12.04.4 | 3.2 | 14.04 | 3.13 | 访客冻结,无法接通 |
| 14.04 | 3.13 | 12.04.4 | 3.11 | 确定|
| 14.04 | 3.13 | 14.04 | 3.13 | 确定|

使用的 KVM/libvirt 版本是特定存储库中的最新版本。

相关内容