去年曾经写过一篇文章,关于XenServer虚拟机假死的问题,http://kaiqian.blog.51cto.com/236001/1625411 有兴趣的同学可以参看此文章。


前段时间又有人向我反映这个问题,所以延续当时的思路做了进一步排错。


现象:一台XenServer上的在正常运行过程中,数台虚拟机进入亮黄、假死的状态,由于是生产环境,管理员直接将服务器重启,虚拟机工作正常。但这个问题据说之前还发生过一次,说明不是单点问题,所以需要找到问题的原因,防止此问题再次发生。


初步检查:服务器为Dell R720,XenServer 6.5 SP1 + 005hotfix。


这是一组非常常见的组合Dell R720 + XS 6.5 SP1,兼容性应该没有太大的问题,R720肯定在Citrix XenServer兼容列表中。

虚拟机跑了少于10台,负载也并不高。所以不会是高负载导致的。


分析:通过XenCenter导出XenServer report,并上传到Citrix Insight Service(简称CIS)  https://cis.citrix.com ,利用Citrix的后台数据库(需要有mycitrix账号)对于这台XenServer进行深度的分析。结果发现了一些有价值的信息。

通过CIS系统,一共发现了7个Alert。其中有一个Alert与我们问题看起来非常相关,

XenServer 虚拟机假死亮黄解决思路之我见 2_第1张图片

显示由于一个关于Deadbeef的报错信息,与VM卡死问题相关。这里还给了两个KB,但是访问以后发现解决方案是对应老版本的XenServer,并不适用6.5版本。


进一步Research,在公网上发现https://bugs.xenserver.org/browse/XSO-399,提示这种问题是由于网卡驱动不适用导致。在这里提到了Dell服务器上所使用的Broadcom网卡,检查了故障服务器配置发现和罗列的配置非常非常类似。

XenServer 虚拟机假死亮黄解决思路之我见 2_第2张图片

 

所以在这里,下载对应的Driver Disk并安装出问题的XenServer服务器上。

Driver Disk for Broadcom tg3 3.137f - For XenServer 6.5.0

http://support.citrix.com/article/CTX201909 


后续监控数月,没有再出现类似的问题。


小结:对于XenServer来说,他的内核Dom0事实上就是一个CentOS的Linux,他层的硬件的通信、处理机制,如:网卡/HBA卡都是与一个普通的Linux系统相同的模式。所以,就和一个普通的Linux操作系统一样,虽然他自带了很多硬件的驱动,但是很多时候硬件驱动需要升级来解决包括兼容问题、性能问题在内的一些问题。


所以在此特别提醒,当XenServer出现一些异常情况的时候:(我相信其他Hypervisor也是类似的机理)

  1. 在项目实施前,请务必确认服务器、HBA卡、网卡在XenServer的兼容列表中,http://hcl.xensource.com/ 

  2. 如果遇到类似的不稳定、兼容问题,访问https://www.citrix.com/support 网站,查看对应的网卡、HBA卡是否有新的Driver Disk可以升级。当然服务器的Bios也是要去检索的。

  3. 通过CIS网站,可以获取更加丰富而详细的报告,保证大家进行有效的分析,更快速的找出潜在的问题原因。

注:CIS网站支持的产品包括XenServer,XenDesktop,XenApp,NetScaler等。