那天早上我像往常一样打开vSphere Client准备管理ESXi主机,结果连了三次都提示连接失败。作为运维老手,我立刻意识到这不是简单的网络抖动问题。这种突发状况在虚拟化环境中其实很常见,尤其是使用ESXi 6.0这类老版本时。
遇到这种情况先别慌,我通常会按照这个顺序排查:
去年我们数据中心就发生过一次大规模连接故障,后来发现是某台交换机配置被误删。那次教训让我养成了先检查基础网络的好习惯。实际操作中,很多"神秘故障"往往就是网线松动或者防火墙规则变更导致的。
当确认网络无异常后,下一步就是启用命令行管理通道。ESXi默认是关闭这些功能的,需要手动开启。这里有个细节要注意:不同版本的ESXi开启方式略有差异,6.0版本的操作就比6.7麻烦些。
具体操作步骤:
我遇到过最坑的情况是键盘布局设置错误,导致密码怎么输都不对。这时候可以试试美式键盘布局,或者直接接个USB键盘。开启成功后,建议顺手把主机名和DNS也配置好,这对后续排查问题很有帮助。
有了SSH通道后,SecureCRT就是我最趁手的工具。相比Putty,它的会话管理、日志记录功能在应急场景下特别实用。配置时要注意这几个参数:
bash复制# 连接成功后先检查服务状态
/etc/init.d/hostd status
/etc/init.d/vpxa status
如果发现服务异常,可以尝试重启服务。这里有个小技巧:先用ps | grep 服务名查进程ID,直接kill可能不彻底。我习惯用kill -9确保进程完全终止,再重新启动服务。
服务重启看似简单,但实际操作中会遇到各种奇怪问题。比如有次我执行services.sh restart时,发现hostd服务死活起不来。后来查日志才发现是磁盘空间满了,清理后才恢复正常。
完整的服务重启应该这样操作:
bash复制# 先停止相关服务
/etc/init.d/vpxa stop
/etc/init.d/hostd stop
# 检查进程是否完全退出
ps | grep hostd
# 确认无残留进程后再启动
/etc/init.d/hostd start
/etc/init.d/vpxa start
特别注意vCenter管理的环境,重启vpxa服务会导致主机短暂断开连接。最好在业务低峰期操作,并提前告知相关人员。记录显示,80%的vSphere Client连接问题都能通过正确重启服务解决。
有时候即使按标准流程操作,问题还是莫名其妙。比如有次我所有配置都正确,但就是连不上,结果过了两小时自动恢复了。后来发现是ESXi的ARP缓存出了问题,这种情况可以尝试:
bash复制# 清除网络缓存
esxcli network ip neighbor list
esxcli network ip neighbor remove -a
对于顽固性故障,建议收集这些日志:
我曾通过分析hostd.log发现过NTP时间不同步导致认证失败的问题。日志中会有"SSL handshake failed"之类的关键错误提示,顺着查往往能找到根因。
经过多次深夜救火后,我总结了几条预防性措施:
特别是升级到ESXi 6.7或更高版本后,稳定性会有明显提升。新版本不仅修复了大量老版本的bug,还改进了Web Client的响应速度。不过升级前务必备份虚拟机,我见过太多升级失败导致业务中断的案例了。