FusionAccess V1R5C20与Turbo C++(DOSBOX)软件冲突导致虚拟机断连

发布时间:  2015-03-18 浏览次数:  183 下载次数:  0
问题描述

XX局点客户虚拟机安装Turbo C++(DOSBOX)软件,打开TurboC++,程序自动全屏显示,使用键盘“ALT+X”退出,或者在File目录下按“Quit:ALT+X”,则虚拟机会话断连后自动重连。

告警信息
处理过程

1. 修改Turbo C++软件包下修改dosbox.conf文件中的参数,可以窗口启动(非全屏),则使用键盘“ALT+X”退出,或者在File目录下按“Quit:ALT+X”,不会发生虚拟机断连问题。

2. 通过观察虚拟机底层活动,发现Turbo C++在全屏后退出时,调用的不是华为自研驱动,因此在退出全屏时,桌面系统会认为连接异常从而自动重连。

3. 手动禁用虚拟机标准VGA驱动,再次以全屏方式启动Turbo C++程序,并以同样的方式退出,这时不会发生虚拟机断连问题。

根因

Turbo C++封装在DOSBOX中,而dosbox.conf脚本会调用标准VGA显示驱动,而非华为自研虚拟机显示驱动,因此桌面系统会认为连接异常,从而自动重连。

禁用标准VGA显示驱动后,可以规避这一问题,但同时也无法使用VNC来打开虚拟机,因为VNC也是调用标准VGA显示驱动。

解决方案

考虑到客户的使用场景主要为链接克隆(用户虚拟机不需要VNC),建议在链接克隆模板中禁用标准VGA显示驱动,则最终用户可以按照习惯来正常使用Turbo C++。同时,管理员使用RDP来远程登录链接克隆模板虚拟机,进行查看和模板更新。

其它完整复制虚拟机,则建议在模板中修改dosbox.conf文件中的参数,使其窗口启动(非全屏),同样可以规避兼容性问题,且VNC正常使用。 

 场景

方案一:使用窗口化显示Turbo C++,而非全屏

 方案一:在虚拟机模板中禁用标准VGA显示驱动
 用户使用Turbo C++  Turbo C++可以窗口启动,并正常使用  Turbo C++可以在全屏模式下正常使用
 VNC登录更新模板  可以VNC登录模板进行更新  无法使用VNC登录模板进行更新,只能RDP远程桌面
 建议选择  完整复制  链接克隆

建议与总结

1. 售前阶段须做好客户软件兼容性调研,从而提前分析解决可能的风险。

2. DOSBOX是一种使用较广的容器,建议产品线进行兼容性开发。

END