vSphere 故障排除之工具篇

时间:2024-04-06 15:53:07

vSphere 故障排除之工具篇(转)

这周上完了vSphere Troubleshooting的课,课堂上也有很多学员互动和讨论,关于vSphere的常见故障也是很多工程师工作中经常遇到的,于是我准备用几个专题总结一下这些常见故障的诊断思路和常用工具及技巧,希望对大家有所帮助。

 

一、故障排错方法论:

 

遇到一个错误不要紧张,只要按照一定的思路去进行故障排错就一定可以顺藤摸瓜,找出原因:

1、确定问题,收集信息:

这个问题能不能重现?之前有没有发生过?影响范围是什么?等等问题要先抛出来,就像一个人生病去医院看医生,医生首先会问你哪里不舒服?最近有没有异常?等等。收集信息可以通过查看报错信息,查看日志等途径获取。

 

2、根据现象,分析问题,找出所有可能的原因,然后确定root cause:

造成一个故障的原因可能很多,比如性能问题,误操作问题,硬件故障,软件bug等等。根据具体场景逐一排除,最终确定根本原因。

 

3、解决问题:

找到root cause之后,也要看这个问题的影响程度,紧急不紧急,然后决定怎么去处理。比如一个虚拟机不能开机,可能由于内存太大,导致开机时需要创建的交换文件也很大(交换文件大小等于虚拟机分配的内存大小减去预留值),datastore的剩余空间不足造成的。找出这个原因之后,也有很多办法可以解决,快速的也是短期的解决办法就是把虚拟机的内存降低,就可以开机了,但是可能长久来看会影响虚拟机的性能,只是可以保证虚拟机在最快时间之内开机,不影响业务连续,所以这是一个治标不治本的解决办法;长期的解决办法就是增加存储空间,用于存放虚拟机的交换文件,但是这个办法需要画的时间较长,可能会影响到虚拟机的业务连续程度。

 

二、故障排错常用工具:

 

如果遇到故障,那么必然要使用常用的工具进行排错,这里边给大家介绍几种工具,首先分两大类:图形界面工具和命令行界面工具。

 

图形界面工具来管理ESXi和虚拟机主要有三种:

1、Host Client

通过浏览器登录Host Client可以管理ESXi主机,地址:https://your_ESXi_host/ui 。Host Client是从vSphere 6.0.2引入并基于HTML5,只是该客户端只能管理单台主机,无法实现一些高级功能,比如克隆,vMotion,集群等。出于安全考虑,只有在vCenter故障情况下才建议去用Host Client管理ESXi主机。

 

vSphere 故障排除之工具篇

 

2、Web Client

通过浏览器登录Web Client可以管理vCenter以及vCenter下管理的所有对象,地址:https://your_vCenter_Server_Appliance/vsphere-client 。该客户端是vSphere 5.0引入并基于Flex,功能逐渐完善,截止到vSphere 6.5,该客户端可以实现全功能,但是在vSphere 6.7下,部分新功能转移到vSphere Client(HTML5),比如基于虚拟机的EVC设置,VMFS6自动回收的固定速率设置等。

vSphere 故障排除之工具篇

 

3、vSphere Client(HTML5)

通过浏览器登录vSphere Client可以管理vCenter以及vCenter下管理的所有对象,地址:https://your_vCenter_Server_Appliance/ui 。该客户端是vSphere 6.5引入并基于HTML5,功能逐渐完善,截止到vSphere 6.7.1,该客户端可以实现全功能。传统的基于Windows安装的vSphere Client(C#)从vSphere 6.5开始不再支持。

vSphere 故障排除之工具篇

 

 

命令行界面工具来管理ESXi和虚拟机主要有四种:

1、DCUI:

每一台ESXi都有DCUI(直接控制台用户界面),可以进行主机的基本管理,包括管理网络配置,root密码修改,锁定模式,查看日志,打开shell或者SSH等操作。

vSphere 故障排除之工具篇

 

 

2、ESXi shell或者SSH:

通过shell(本地)或者SSH(远程,需要ESXi主机的管理网络是正常的)都可以访问到ESXi主机的控制台,其中shell是在DCUI下按快捷键Alt+F1实现,同时按Alt+F2返回DCUI。需要强调的是:shell和SSH的服务默认都是关闭的,可以在DCUI的troubleshooting option(下图)中打开或者以上介绍的三个图形界面客户端打开(主机->配置->安全配置文件->服务->shell/SSH开启)。

vSphere 故障排除之工具篇

 

在shell和SSH下可以执行的常见命令有:

esxcli

esxcfg-*

vmkfstools(针对VMFS或者VMDK的操作)

esxtop(性能监控工具)

vm-support(日志导出工具)

 

举例:

比如esxcli的命令可以这么执行:esxcli network vswitch standard 

用户查看当前主机的标准交换机信息:

vSphere 故障排除之工具篇

vSphere 故障排除之工具篇

 

3、vSphere CLI(vCLI)

这是一个独立的工具集,VMware提供Windows版和Linux版的安装包,可以自行下载安装,现在的vCenter Server Appliance已经内置了该工具。目前支持的操作系统和需要提前安装的工具包如下所示:

 

支持的OS:

–Red Hat Enterprise

–Ubuntu

–SLES

–Windows

 

需要预装的工具包:

–Linux:

    •Perlversion 5.10

    •OpenSSL

    •Lib:XML2(2.6.26 or later)

    •uuid-devel(SLES 11) or e2fsprogs-devel (other)

–Windows:

    •ActivePerl

 

vSphere CLI包含以下常见命令:

esxcli

vicfg-*(类似esxcfg-*)

resxtop(类似esxtop)

vmkfstools(针对VMFS或者VMDK的操作)

vmware-cmd(针对VM的操作)

Data Center CLI(DCLI)(针对VC的操作)

 

其中DCLI是vSphere 6.0开始引入并内置在vSphere CLI中的,进入vCenter Server Appliance的shell既可以执行DCLI:

 

vSphere 故障排除之工具篇

 

4、PowerCLI

这是一个自动化执行的脚本工具,需要通过编程实现数据中心部署的自动化,该工具需要基于Windows的Powershell来实现。PowerCLI可以管理vSphere、vCloud、vRealize Operations Manager、VSAN、NSX-T,也可以被vRealize Orchestrator调用。

 

另外,关于日志的查看和收集也有一些方法:

vCenter的日志路径:/var/log/vmware/ 

 

vSphere 故障排除之工具篇

 

ESXi的日志路径:/var/log/

 

vSphere 故障排除之工具篇

 

 

 

也可以通过图形界面客户端查看日志:

 

vSphere 故障排除之工具篇

 

或者通过导出按钮导出ESXi和vCenter的日志,包含Core Dump信息。

 

同时,为了方便管理,建议通过syslog collector进行日志的集中收集,该工具内置在vCenter的安装包中,通过vCenter的管理界面(5480端口)可以配置相关信息。

 

最后打个广告,vRealize Loginsight也可以对日志进行智能的分析,只是收费哦。vSphere 故障排除之工具篇vSphere 故障排除之工具篇vSphere 故障排除之工具篇

 

附图:本周上课的白板,关于这几个工具的使用,但是美术功底太差,忽略不计vSphere 故障排除之工具篇vSphere 故障排除之工具篇vSphere 故障排除之工具篇

 

vSphere 故障排除之工具篇

 

以上是关于故障排错的常见方法和工具的使用,后续会讲一些典型的故障场景和分析,敬请期待。

 

vSphere 故障排除之工具篇