Xen HVM domU VNC 不刷新屏幕
Xen HVM domU VNC not refreshing screen
在我们的一个管理程序 运行 Xen(戴尔 R420 上的 Debian Jessie 之上的 v.4.6.0)上,当我们为 HVM 配置一个 domU 并通过 VNC 连接到控制台时,连接显示静态图像并且似乎不接受鼠标或键盘输入(让您认为 VM 是 frozen/not 响应)。关闭并通过 VNC 重新连接后,该行为仍然存在,但现在反映了上一个会话的 mouse/keyboard 输入(因此,如果您按 tab 键三次,您可以看到相应的单选按钮或输入按钮在 closing/opening VNC 连接,但你需要再次关闭 window 才能看到下一个输入在哪里,使其无法使用。
我们在其他三台配置了 HVM 的 domUs 的物理机上顺利地安装了 Xen 运行(2x Debian Jessie,1x Ubuntu Xenial,都使用 v.4.6.0)并且一直在比较什么可能有所不同,我们注意到 QEMU 可以在麻烦的 Xen 主机上更新。将 QEMU 从 1.2.2 升级到 1.2.5(匹配工作主机上的版本)并重新启动后,问题仍然存在。我们已将 VM 配置复制到另一台主机并取得成功,这让我们相信这台机器有一些孤立的东西。
猫的结果/sys/hypervisor/properties/capabilities
xen-3.0-x86_64 xen-3.0-x86_32p hvm-3.0-x86_32 hvm-3.0-x86_32p hvm-3.0-x86_64
xl 信息的结果:
host : vm-host
release : 3.16.0-4-amd64
version : #1 SMP Debian 3.16.7-ckt25-2+deb8u3 (2016-07-02)
machine : x86_64
nr_cpus : 16
max_cpu_id : 47
nr_nodes : 1
cores_per_socket : 8
threads_per_core : 2
cpu_mhz : 2500
hw_caps : bfebfbff:2c100800:00000000:00007f00:77bee3ff:00000000:00000001:00000281
virt_caps : hvm hvm_directio
total_memory : 32704
free_memory : 17945
sharing_freed_memory : 0
sharing_used_memory : 0
outstanding_claims : 0
free_cpus : 0
xen_major : 4
xen_minor : 6
xen_extra : .0
xen_version : 4.6.0
xen_caps : xen-3.0-x86_64 xen-3.0-x86_32p hvm-3.0-x86_32 hvm-3.0-x86_32p hvm-3.0-x86_64
xen_scheduler : credit
xen_pagesize : 4096
platform_params : virt_start=0xffff800000000000
xen_changeset :
xen_commandline : placeholder dom0_mem=1024M,max:1024M dom0_max_vcpus=1 dom0_vcpus_pin no-real-mode edd=off
cc_compiler : gcc (Debian 5.3.1-8) 5.3.1 20160205
cc_compile_by : ijc
cc_compile_domain : debian.org
cc_compile_date : Tue Feb 9 17:46:27 UTC 2016
xend_config_format : 4
示例 domU 配置:
name="VM1"
uuid="91f4c306-101b-431b-bf73-2146b2a137fb"
vcpus=2
memory=2048
disk = [ "phy:/dev/vg1/centos,xvda2,w",
"file:/path/folder/images/CentOS-7-x86_64-Minimal-511.iso,xvdb:cdrom,r" ]
builder = "hvm"
boot = "dc"
vnc = "1"
vnclisten = "0.0.0.0"
vncdisplay = "0"
vncpasswd = "password"
vga ="stdvga"
videoram = 64
任何关于如何让 VNC 顺利和正确工作的建议都将不胜感激!
尝试将 GRUB_GFXPAYLOAD_LINUX="keep"
或 GRUB_GFXPAYLOAD_LINUX="640x480"
(或其他分辨率)添加到 DomU 上的 /etc/default/grub
,然后 运行 update-grub2
(在 DomU 上)并重新启动。这帮助我解决了同样的错误。
感谢推荐。事实证明,我们安装了混合版本的 Xen 及其依赖项(有些是 4.4,有些是 4.6)。我们最终删除了 Xen 和所有相关的软件包并重新安装。在安装过程中,我们注意到安装 xen-hypervisor-4.6-amd64 来自 stretch repo(预期),但它的依赖项来自旧版本的 jessie main repo(例如,libxen-4.4 而不是 libxen-4.6)。为了解决这个问题,我们 运行
apt-get -t stretch install xen-hypervisor-4.6-amd64
它正确安装了 stretch 的所有依赖项,并且在重新启动后,与 HVM domU 的 VNC 连接按预期工作。
在我们的一个管理程序 运行 Xen(戴尔 R420 上的 Debian Jessie 之上的 v.4.6.0)上,当我们为 HVM 配置一个 domU 并通过 VNC 连接到控制台时,连接显示静态图像并且似乎不接受鼠标或键盘输入(让您认为 VM 是 frozen/not 响应)。关闭并通过 VNC 重新连接后,该行为仍然存在,但现在反映了上一个会话的 mouse/keyboard 输入(因此,如果您按 tab 键三次,您可以看到相应的单选按钮或输入按钮在 closing/opening VNC 连接,但你需要再次关闭 window 才能看到下一个输入在哪里,使其无法使用。
我们在其他三台配置了 HVM 的 domUs 的物理机上顺利地安装了 Xen 运行(2x Debian Jessie,1x Ubuntu Xenial,都使用 v.4.6.0)并且一直在比较什么可能有所不同,我们注意到 QEMU 可以在麻烦的 Xen 主机上更新。将 QEMU 从 1.2.2 升级到 1.2.5(匹配工作主机上的版本)并重新启动后,问题仍然存在。我们已将 VM 配置复制到另一台主机并取得成功,这让我们相信这台机器有一些孤立的东西。
猫的结果/sys/hypervisor/properties/capabilities
xen-3.0-x86_64 xen-3.0-x86_32p hvm-3.0-x86_32 hvm-3.0-x86_32p hvm-3.0-x86_64
xl 信息的结果:
host : vm-host
release : 3.16.0-4-amd64
version : #1 SMP Debian 3.16.7-ckt25-2+deb8u3 (2016-07-02)
machine : x86_64
nr_cpus : 16
max_cpu_id : 47
nr_nodes : 1
cores_per_socket : 8
threads_per_core : 2
cpu_mhz : 2500
hw_caps : bfebfbff:2c100800:00000000:00007f00:77bee3ff:00000000:00000001:00000281
virt_caps : hvm hvm_directio
total_memory : 32704
free_memory : 17945
sharing_freed_memory : 0
sharing_used_memory : 0
outstanding_claims : 0
free_cpus : 0
xen_major : 4
xen_minor : 6
xen_extra : .0
xen_version : 4.6.0
xen_caps : xen-3.0-x86_64 xen-3.0-x86_32p hvm-3.0-x86_32 hvm-3.0-x86_32p hvm-3.0-x86_64
xen_scheduler : credit
xen_pagesize : 4096
platform_params : virt_start=0xffff800000000000
xen_changeset :
xen_commandline : placeholder dom0_mem=1024M,max:1024M dom0_max_vcpus=1 dom0_vcpus_pin no-real-mode edd=off
cc_compiler : gcc (Debian 5.3.1-8) 5.3.1 20160205
cc_compile_by : ijc
cc_compile_domain : debian.org
cc_compile_date : Tue Feb 9 17:46:27 UTC 2016
xend_config_format : 4
示例 domU 配置:
name="VM1"
uuid="91f4c306-101b-431b-bf73-2146b2a137fb"
vcpus=2
memory=2048
disk = [ "phy:/dev/vg1/centos,xvda2,w",
"file:/path/folder/images/CentOS-7-x86_64-Minimal-511.iso,xvdb:cdrom,r" ]
builder = "hvm"
boot = "dc"
vnc = "1"
vnclisten = "0.0.0.0"
vncdisplay = "0"
vncpasswd = "password"
vga ="stdvga"
videoram = 64
任何关于如何让 VNC 顺利和正确工作的建议都将不胜感激!
尝试将 GRUB_GFXPAYLOAD_LINUX="keep"
或 GRUB_GFXPAYLOAD_LINUX="640x480"
(或其他分辨率)添加到 DomU 上的 /etc/default/grub
,然后 运行 update-grub2
(在 DomU 上)并重新启动。这帮助我解决了同样的错误。
感谢推荐。事实证明,我们安装了混合版本的 Xen 及其依赖项(有些是 4.4,有些是 4.6)。我们最终删除了 Xen 和所有相关的软件包并重新安装。在安装过程中,我们注意到安装 xen-hypervisor-4.6-amd64 来自 stretch repo(预期),但它的依赖项来自旧版本的 jessie main repo(例如,libxen-4.4 而不是 libxen-4.6)。为了解决这个问题,我们 运行
apt-get -t stretch install xen-hypervisor-4.6-amd64
它正确安装了 stretch 的所有依赖项,并且在重新启动后,与 HVM domU 的 VNC 连接按预期工作。