VNC 无法在 XEN/libvirt domU 上运行 - debian jessie

VNC 无法在 XEN/libvirt domU 上运行 - debian jessie

您好,最近配置了一个全新的服务器用于测试目的:

  • Debian 杰西 (8.3)
  • xen 4.4(xl 工具栈)
  • 维尔廷斯特

我通过 virt-install 创建并启动了一个新的 domU:

virt-install \
    --network=bridge:br0 \
    --name=test1 \
    --disk path=/home/xen/tests/test1.qcow2,format=qcow2 \
    --boot hd \
    --ram 512 \
    --vcpus=1 \
    --check-cpu \
    --hvm \
    --graphics vnc,listen=0.0.0.0,port=5901,password="secret" \
    --noautoconsole

创建工作正常并且 VM 按预期启动,但无法通过 VNC 访问 domU。

遵循 virt-install 创建的 XML:

<domain type='xen'>
   <name>test1</name>
   <uuid>53cf8b9b-9fa8-4751-8bea-6c2bf8519b96</uuid>
   <memory unit='KiB'>524288</memory>
   <currentMemory unit='KiB'>524288</currentMemory>
   <vcpu placement='static'>1</vcpu>
   <os>
       <type arch='x86_64' machine='xenfv'>hvm</type>
       <loader type='rom'>/usr/lib/xen/boot/hvmloader</loader>
       <boot dev='hd'/>
   </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/lib64/xen/bin/qemu-dm</emulator>
       <disk type='file' device='disk'>
           <source file='/home/xen/tests/test1.qcow2'/>
           <target dev='hda' bus='ide'/>
           <address type='drive' controller='0' bus='0' target='0' unit='0'/>
       </disk>
       <controller type='ide' index='0'/>
       <interface type='bridge'>
           <mac address='00:16:3e:8f:a2:59'/>
           <source bridge='br0'/>
       </interface>
       <serial type='pty'>
           <target port='0'/>
       </serial>
       <console type='pty'>
           <target type='serial' port='0'/>
       </console>
       <input type='mouse' bus='ps2'/>
       <input type='keyboard' bus='ps2'/>
       <graphics type='vnc' port='5901' autoport='no' listen='0.0.0.0' keymap='it' passwd='secret'>
           <listen type='address' address='0.0.0.0'/>
       </graphics>
       <video>
           <model type='cirrus' vram='16384' heads='1'/>
       </video>
   </devices>

通过查看进程列表我发现:

root     17576 70.1  6.1 468588 26788 ?        SLsl 03:23   0:14 /usr/bin/qemu-system-i386 -xen-domid 73 -chardev socket,id=libxl-cmd,path=/var/run/xen/qmp-libxl-73,server,nowait -mon chardev=libxl-cmd,mode=control -nodefaults -name test1 -vnc 0.0.0.0:1 -display none -serial pty -device cirrus-vga -global vga.vram_size_mb=8 -boot order=c -device rtl8139,id=nic0,netdev=net0,mac=00:16:3e:8f:a2:59 -netdev type=tap,id=net0,ifname=vif73.0-emu,script=no,downscript=no -machine xenfv -m 504 -drive file=/home/xen/tests/test1.qcow2,if=ide,index=0,media=disk,format=raw,cache=writeback

如果我使用 KVM 而不是 XEN 创建完全相同的机器

--connect=qemu:///system

VNC 连接运行顺畅,我可以轻松地对客户虚拟机进行身份验证。

我认为问题在于 VNC 没有使用密码参数启动,但我真的不知道该去哪里查看。

笔记:

  • 相同的 XML 配置在 debian wheezy 7.5 上正常运行(使用 xen 而不是 xl toolstack)
  • 查看使用 KVM 创建的 domU 的进程列表有“-vnc 0.0.0.0:1,密码“而使用 XEN 的版本则有”-vnc 0.0.0.0:1(我觉得这真的很奇怪)
  • domU 通过 virsh 进行管理

这是 debian Jessie 中新的 xen toolstack (xl) 和 virsh 的问题吗?有人遇到过同样的问题或类似的问题吗?

如果我可以添加一些缺失的细节以更好地了解情况,请告诉我。

相关内容