通过VNC访问KVM虚拟机,VNC无响应的解决方法
问题现象描述
在TaiShan 2280V2上安装CentOS 7.6后,使用KVM虚拟化方案,通过VNC接入创建好的虚拟机后,无法通过VNC进行操作。
具体现象为:通过VNC登录虚拟机后,无法输入任何字符,且界面无响应。
关键过程、根本原因分析
- 查看环境信息。
virsh list --all
返回如下信息,可以看到出问题的虚拟机名称为centos。Id Name State ---------------------------- 16 test1-name running 19 centos running
- 查看centos虚拟机的配置。
virsh edit centos
可以看到虚拟机配置文件中仅定义了鼠标,且虚拟机使用了PS2总线连接的鼠标作为输入设备。ARM服务器中,虚拟机不支持使用PS2总线连接的鼠标作为输入设备。
结论、解决方案及效果
ARM服务器中,虚拟机不支持使用PS2总线连接的鼠标作为输入设备,需要将鼠标改为使用virtio连接。在本例中,以出现问题的虚拟机centos为例进行说明。
- 关闭虚拟机。
virsh shutdown centos
- 将鼠标改为使用virtio连接,添加键盘配置并把键盘配置为通过virtio总线连接。
- 使用如下命令修改虚拟机配置:
virsh edit centos
- 按“i”进入编辑模式,将<input tye='mouse' bus='ps2'/>字段改为如下信息:
<input type-'mouse' bus='virtio'/> <input type='keyboard' bus= virtio'/>
- 按“Esc”键退出编辑模式,输入:wq!,按“Enter”键保存并退出。
- 使用如下命令修改虚拟机配置:
- 重启虚拟机。
virsh start centos
- 虚拟机启动后,查看当前虚拟机配置。
virsh dumpxml centos
可以看到虚拟机配置已经生效。
- 再次通过VNC登录虚拟机,已经可以进行正常的操作。
父主题: KVM虚拟化