某虚拟化项目总结:一条光纤引发的故障

本文转载自51CTO博客,完整内容请戳我


摘要:在今年9月份的一个虚拟化项目中,项目前期一切正常。在为服务器添加、更换内存之后,出现ESXi主机存储断开、虚拟机系统慢、ESXi主机启动慢的故障,经过多方检查,终于排查了故障。最终故障的原因很简单:ESXi主机与存储的连接光纤出现问题导致了故障的产生。但整个项目过程中涉及到了更换内存、更换主板、升级固件等一系列事件,所以前期故障分析中没有正确的定位故障点,导致事情越来越复杂。下面我把整个过程还原一次,希望此事对其他经常做项目的朋友有所帮助。

1 项目实施初期一切正常

这个项目比较简单:2台联想3650 M5的主机(每主机配置1个CPU、128GB内存、单口8GB FC HBA接口卡)、1台IBM V3500存储,每台主机安装了VMware ESXi 6.0.0 U2的版本,有6个业务虚拟机、1个vCenter Server虚拟机用于管理。拓扑如图1所示。

某虚拟化项目总结:一条光纤引发的故障

图1 某单位虚拟化拓扑图

在项目的初期,安装配置ESXi主机、划分IBM V3500存储、创建虚拟机后,各个业务虚拟机对外提供服务,系统一切正常。在全部业务虚拟机正常运行两天后,观察到主机内存使用率超过60%接近70%时,我对客户建议将每台服务器的内存扩充到256GB,甲方技术主管在汇报领导后,同意了扩充内存的要求,但是就是在这个扩充内存,引起了后续一系列的故障。

说明:使用vSphere Client登录vCenter Server,在左侧导航器中选中群集,在右侧“主机”选项卡中,可以看每个主机配置的内存、已经使用内存的百分比。图2是每台主机配置到256GB之后的截图,当时128GB截图没有保存。这是项目正常之后的截图,从图中可以看出,系统中所有虚拟机使用内存大约170GB,在每台主机只有128GB的情况下,使用内存是66%,在每台主机扩充到256GB后,使用内存33%。

某虚拟化项目总结:一条光纤引发的故障

图2 主机内存、CPU使用率

联想3650 M5服务器,支持2个CPU,每个CPU有12个内存插槽,每个内存插槽最大支持单条64GB内存。故每个CPU最大支持64×12=768GB内存。

在这个项目中,每台联想3650 M5配置了8条16GB的内存,只剩余4个插槽(当前主机只配置了一个CPU),如果要扩充到256GB内存,可以再购买4条32GB或2条64GB内存,进行“混插”。但这样客户后期将不能继续进行内存扩充,这样不是好的升级方案。我给出的方案是,建议为每台服务器配置4条64GB的内存,拆下的内存折旧或内存置换。联系了长期为我们提供内存的公司,对方答应可以4条16GB换成1条64GB的内存,这样对三方有利。

2 更换内存一波三折

8条64GB的内存到位之后,为每台服务器更换内存。内存更换过程中,可以将所有虚拟机暂时迁移到另一台主机,这样业务不会中断。

服务器安装内存是有“讲究”的,必须按照指定的位置进行安装。每台服务器的盖板上都有内存的安装顺序,例如联想3650 M5内存安装顺序如图3所示。

某虚拟化项目总结:一条光纤引发的故障

图3 联想3650 M5内存安装顺序

即:单个CPU的内存安装顺序是1,4,9,12,2,5,8,11,3,6,7,10;双CPU的安装顺序依次是1,13,4,16,9,21,12,24,2,14,5,17,8,20,11,23,3,15,6,18,7,19,10,22。例如当前主机安装了8条16GB内存,则需要安装在1,4,9,12,2,5,8,11位置。安装之后,在开机之前可以在IMM中看到安装的内存信息、内存是否正常,如图4所示。

某虚拟化项目总结:一条光纤引发的故障

图4 当前安装了8条16GB内存截图

但是,将4条64GB的内存插上之后,服务器开机无显示,在IMM中也没有检测到内存,如图5、图6所示。

某虚拟化项目总结:一条光纤引发的故障

图5 没有检测到内存


本文转载自51CTO博客,完整内容请戳我