一、故障
- 有同事反映虚拟机连接不了
- 在vcenter上看服务器CPU跑满
- 等于服务器远程控制卡,一切正常(此处有坑)
- 初步怀疑是有虚拟机跑东西把CPU占满了
二、服务器配置信息
- 服务器型号:戴尔 R710
- CPU:2颗E5-5645
- 内存:64G
- 硬盘:6*1T SATA硬盘做的RAID 5
- 服务器使用时长:8年+
三、第一阶段排查
- 查看宿主机上的虚拟机,发现CPU都没有跑很高
- 但是看vcenter中宿主机cpu基本都跑满了,夸张的时候只有1M可用
- 当时的主要想法还是有虚拟机出故障导致的宿主机cpu有问题,所以想先关闭了几台虚拟机看下情况
- 关闭虚拟机的时候异常缓慢,要等很久才能关闭
- 关闭了大概一半的虚拟机后,问题依旧
- 怀疑是其他问题导致
四、现场排查阶段
- 还没到机房,就听到机房有服务器声音很大
- 到机房后,找到宿主机,发现宿主机报两个错误,其中一个是1410(另一个后面补上)
- 想着重启,看能否恢复业务
- 重启后,一直卡在重启界面
- 为尽快恢复业务,只能更换服务器了
五、更换服务器
- 随手找了一台戴尔 R710服务器,将故障服务器的硬盘接入后,无法启动(运气不佳,报内存错误等)
- 又找了一台确定是好的戴尔 R730,将故障服务器的硬盘接入后,通过导入RAID信息,成功启动
- 启动后,ESXI中的虚拟机可依看到,但是都是无法连接状态
六、ESXI存储故障排查
- esxi启动后,提示找不到存储
- 开启esxi的ssh功能
- 通过crt连接到esxi,通过如下命令查看没有挂载的磁盘信息,并记住它的uuid
esxcfg-volume -l
- 通过以下命令挂载磁盘
esxcfg-volume -r xxxxxxxx #注意,这个xxxxxxxx就是我们上面查看的未挂载的磁盘的uuid
- 通过df -h查看磁盘信息
df -h
- 这里就可以看到磁盘并浏览里面的文件了,然后在数据存储中“注册虚拟机”,就可以使用了
- 注册虚拟机的时候,因为esxi存储中的名称跟vcenter中的名称不一致,建议大家先把所有虚拟机开起来,看下具体的ip,再重新命名即可
七、教训
- 服务器一定要有报废期限
- 一台物理机上不能有太多的虚拟机,这个恢复起来太痛苦了
- 一定要有完善的告警系统,不能凭想象