在一个服务器虚拟化项目中,项目前期一切正常。为服务器添加、更换内存之后,出现ESXi主机存储断开、虚拟机系统慢、ESXi主机启动慢的故障,经过多方检查,终于排查了故障。故障原因是ESXi主机与存储的连接光纤出现问题导致了故障的产生。但整个项目过程中涉及到了更换内存、更换主板、升级固件等一系列事件,所以前期故障分析中没有正确的定位故障点,导致事情越来越复杂。
在一个服务器虚拟化项目中,项目前期一切正常。为服务器添加、更换内存之后,出现ESXi主机存储断开、虚拟机系统慢、ESXi主机启动慢的故障,经过多方检查,终于排查了故障。故障原因是ESXi主机与存储的连接光纤出现问题导致了故障的产生。但整个项目过程中涉及到了更换内存、更换主板、升级固件等一系列事件,所以前期故障分析中没有正确的定位故障点,导致事情越来越复杂。
一、项目实施初期
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的内存,拆下的内存折旧或内存置换。
二、更换内存一波三折
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 没有检测到内存
图6 内存详细信息、无内存
后来一条一条内存安装,服务器也是检测不到内存。没有办法,将原来的8条16GB内存插回主机。更换了镁光的单条64GB的内存后,安装成功,如图7所示。
说明:此次不能用的单条64GB内存,但是在DELL R720XD主机上使用是没有问题的。
图7 检测到4条64GB的主机
在为第1台主机顺利的安装更换了内存之后,为第2台主机安装内存的时候出了大问题。在插上这4条64GB内存之后,主机无法开机,在IMM检测,提示系统出现严重故障(System Critical),如图8所示。
图8 System故障
工程师换上原来的16GB内存之后,服务器可以开机,一切正常。但换上这4条内存之后还是出现图8的故障。工程师一条一条安装64GB内存,检测到其中的一条有问题,后来安装了3条64GB内存,如图9所示。
图9 当前安装3条内存
客户反映虚拟机ERP系统慢,工程师在远程检查的过程中,发现其中一台ESXi12主机(IP地址172.16.6.12)的存储连接断开,在“清单”中有一个虚拟机变灰,如图10所示,但此时使用远程桌面是可以登录这个虚拟机的。
图10 没有检测到共享存储
此时在左侧选中172.16.6.12这台主机(ESXi12),“配置→存储”中共享存储已经变灰不可访问,如图11所示。
图11 在第2台主机存储变灰
但另一个主机ESXi11(IP地址为172.16.6.11)存储正常,但fc-data02显示的可用容量为0,如图12所示。
图12 第1台主机存储正常
登录IBM V3500存储,在存储中检查到一切正常,如图13所示。
图13 存储中检测到正常
在重新扫描存储没有反应之后,重新启动故障主机。正常情况下,主机在5~8分钟之后会上线,但等了有30分钟,这台重新启动的主机也没有上线,PING这台主机的IP地址也不通。
到达客户现场后,远程重新启动出问题的那台那台服务器已经“正常”了,但虚拟机系统还是有点慢。重新启动这台主机,终于发现了问题,就是这台服务器启动特别慢。BIOS自检到系统启动这一环节还算正常,但从出现ESXi的界面之后到进入系统,时间非常的长。
在进入ESXi界面之后,分别在“nfs41client loaded successfully”(如图14所示)、“Running sfcbd-watchdog start”(如图15所示)各停留大约30多分钟。
图14 在此停留半小时
图15 在此停留半小时
因为另一台主机更换过主板与内存,这台主机只更换过内存。而在换内存之前系统正常。初步判断可能是更换单条64GB内存引起的,但网络中另一台服务器也是安装了4条64GB的内存。检查这两个主机,发现正常运行的主机的固件比较新(ESXi11的主机),因为这台主机换了一块新主板。之后我为出故障的主机(ESXi12)刷新固件到同版本,系统启动变快了一点,但仍然没有解决问题(还是在图14、图15停留很长时间)。
在一条一条“试”内存的过程中,插上每条内存启动速度都很快,从出现图14、图15所示的ESXi的启动界面,几分钟就进入系统出现ESXi的控制台页面(出现IP地址等信息),但试过内存没问题之后,将所有内存都插上,系统启动就又变慢了。换上原来拆下来的单条16GB的内存,ESXi启动时间变为半小时,但ESXi主机反应仍然较慢。
在插单条64GB内存的时候,为了加快测试速度,并没有插网线和存储光纤(每次关机拔内存都要断电,要把服务器从机柜中拉出来,后面的网线、光纤也是拔下的)。网络问题不会引起ESXi启动慢,那么问题就可能出在服务器与存储的连接光纤上,因为每台服务器只配了一块单口的FC-HBA接口卡,服务器与存储只有一条光纤连接,没有冗余。将出问题的这台服务器更换光纤之后,重新启动服务器,启动速度正常(大约不到5分钟就进入了ESXi的控制台界面),至此问题解决。
事后分析,在反复更换内存、为服务器更换主板,反复为服务器加电、断开、从机柜中拉出服务器,可能碰到了ESXi12这台服务器的光纤,导致光纤出故障,但光纤又没有完全断,可能处于“时通时断”的状况,这样服务器在连接到存储时,会反复尝试,或者有错误的数据包需要纠错。如果光纤完全断开,服务器检测不到就会跳过连接存储,反而是这种“时通时断”的连接,导致服务器反复尝试,增加了服务器的启动时间。
服务热线
服务热线
180 1186 3066
微信咨询
智慧领航-东莞
智慧领航-深圳
智慧领航-广州
返回顶部