解决vSphere性能不佳的技巧
https://blog.csdn.net/VirtualMan_/article/details/105171430
前言
VM肯定会出现中断,性能问题或停止响应,这是事实。作为虚拟化工程师,至少遇到一次这些问题。由于虚拟化环境是一个非常复杂的系统,因此有太多不同的原因会影响VM性能。试图找出问题所在可能会花费很多时间。
本文将一起尝试确定是什么原因导致VMware基础架构出现性能问题,并找到避免问题的方法。
需要什么来进行适当的故障排除?
首先是记录,记录是解决vSphere环境问题的秘诀。当然,你会100%相信自己的记忆,会记住所有需要了解的信息,例如登录凭据或任何其他必要信息。当服务器突然出现故障或ESXi主机超过负载时,想要发生的最后一件事就是试图记住密码以输入主机或vSpherevCenter。
此外,任何现有文档(例如vSphere群集方案)都可以提供很大帮助。如果不知道整个系统的配置方式,那将大大降低速度。没有人真正喜欢保留记录,但是相信,当需要时,会因为拥有记录而感谢自己。现在,让我们看一下此信息应包含的内容:
ESXi主机
主机名/IP地址
ESXi主机版本和补丁程序级别
Root密码(保存在安全的地方)
记录存储和接口的IP地址
主机硬件描述
存储配置(iSCSI等)
网络适配器(厂商、驱动程序版本等)
存储交换机
使用的IP地址
固件版本
凭据(保存在安全的地方)
Vlan设置
存储阵列
SAN管理端口的IP地址
固件级别
LUN配置,RAID级别,驱动器数量,大小,驱动器固件
SAN阵列管理界面的登录名和密码
供应商特定的SAN管理工具(工具)
正如你所能收集到的信息一样,文档越多越好。可悲的是,许多管理员忽略该规则。此外,如果文档过时了,也不会有太大作用,因此需要随时随地更新。
首先要做什么?
1. 仔细研究VMware的最佳性能实践
首先,有一个故障排除方案。根据相关性(VMware Tools,CPU等)及其范围(从对性能的100%影响到最小影响)对可能的问题进行分类。如果使用它,则可以极大地改善基础结构。
2. VMware Tools?
确保在每个VM上都安装、升级并运行了VMware Tools。基本上,VMware Tools软件包是一套虚拟设备驱动程序,会影响虚拟机的性能(当然,通常情况会更好)。
验证VMware Tools是否安装:
-
在vSphere Web Client选择一个主机
移动到虚拟机选项卡
添加VMware Tools Status
检查状态。如果显示“Yes”,开始寻找提高性能的另一种方法。
尚未运行/已过期–安装VMware Tools。
如果尚未启动VMware Tools,则需要修复客户机操作系统,这可能是问题所在。要么是Linux内核更新,要么是由于某种原因禁用了Windows中的VMware Tools。
如果当前的VMware Tools版本已过期,则必须使用vSphere Web Client菜单进行升级。通常,在ESX / ESXi主机上安装最新更新后会出现这种情况。操作完后,不要忘记使VMwareTools保持最新。总体而言,使用vSphere Web Client可以按照以下方案的建议轻松检查VMwareTools:
虚拟机的的vmtools状态显示。
可以通过在标题上单击鼠标右键并相应地选择来添加vmtools。
也可以使用PowerCLI检查vmtools软件包的存在及其当前状态。与vmtools相关的大部分属性位于.guest.extensiondata下。
基本问题
1. 虚拟机资源不足
必须有足够的资源来使VM有效运行。但是,你会惊讶地发现,有多少vm没有根据客户机操作系统需求和在其下运行的应用程序分配足够的资源。尽管虚拟化带来了无数好处,但总会有一些开销需要去解决。如果内存用完,VM将如何处理?自然,计算机将开始更频繁地交换到磁盘。如果基础存储已满,性能将遭受巨大打击。因此,只要有机会,就使用预留空间,资源池,DRS以及任何可以确保将正确数量的资源分配给VM的方法,以最大程度地提高运营效率。
2. 性能监控
性能监控是vSphere Client中嵌入的一项功能。这是一个必要的工具,它将帮助检查与性能相关的问题。如此好是因为它使你在任何可能的地方使用警报,因此可以提前知道性能瓶颈。
但是请记住,在本地ESXi主机上工作时,只能访问“性能”选项卡。如果需要更多详细信息,请使用VMware®vSphere vCenter。
SUPER IMPORTANT. Performance和Advanced Performance不仅仅是有效且信息丰富的诊断工具。如果使用得当,则可以轻松找到系统的软肋。
让我们以资源池CPU使用情况为例。查看详细信息:
-
选择资源池,移动到Performance,切换到Advanced并选择CPU
以MHz为单位的使用情况
比较资源池限制的值和当前的使用值。如果接近极限,则可能是资源不足,需要做的就是重新评估该池中各个VM的CPU就绪值。
CPU就绪验证:
-
选择一个虚拟机,移动到Performance,选择Advanced,切换到CPU(如果要对特定VM的性能进行故障诊断,从该VM开始)
评估所有VM对象的就绪情况。 “对象”是VM的独立vCPU。需要更改“图表选项…”的属性
任何vCPU的最低或平均就绪值是否超过2000毫秒?如果是这样,看一下时间就一切都清楚了。由于资源池设置了限制,因此仅缺少处理器资源。
现在,只需对该池中的其余虚拟机执行相同的操作。
主机CPU使用率验证
-
选择主机,移动到Performance,选择Advanced,选择CPU
以MHz为单位的使用情况
是超过75%,还是最高是90%?如果是这样,那么缺少主机处理器资源。如下所述,验证此主机上的VM已为CPU准备就绪时间。如果CPU的平均使用情况不超过75%,那么接下来要看的是!
CPU就绪验证
-
如果要对特定虚拟机的性能进行故障排除,从该虚拟机开始。否则,选择一个主机,移至“虚拟机”,按照“主机CPU —
MHz”(从列到列)中的顺序排列列表,然后从列表开头看一两个VM。要评估CPU就绪情况,请选择一个VM,移至Performance,切换至Advanced,切换至CPU
评估所有VM对象的就绪情况。 “对象”是VM的独立vCPU。需要更改“图表选项…”的属性
任何vCPU的最低或平均就绪值是否超过2000毫秒?如果是这样,看一下时间就一切都清楚了。由于资源池设置了限制,因此仅缺少处理器资源。
需要验证的潜在问题参数:
-
客户机CPU使用情况
活动VM内存交换
VM交换等待
VM内存压缩
超负载存储设备
接收数据包丢失
发送数据包丢失
一个SMP VM中的一个vCPU
主机中的VM CPU就绪与平均负载
缓慢或超载的存储系统
存储系统最高负载
峰值网络数据传输
VM处理器低使用情况
过去的VM内存交换
资源池内存需求高
主机内存需求高
客户机内存需求高
时间中断率高
NUMA设置
虚拟机快照响应时间高
磁盘子系统问题:
简而言之,可以将存储系统问题缩小到以下范围
- 存储系统过载
第一,存储系统过载的原因是什么?好吧,主要配置非常简单。无论是错误的配置(设备的数量和类型/ RAID级别/缓存/等等)还是非常高的负载。目前还没有通用的解决方案,只能列出你可能已经知道的事情:
第二,构建存储系统时,不仅要考虑容量,还要考虑性能
考虑到虚拟化时,负载类型也可以切换(从一致到随机)。
使用存储工具监控存储系统磁盘性能,需要与esxtop一起监控
还有一个工具叫vSCSIStats
如果某些应用程序提供更多的内存,它们可以降低其磁盘开销。
- 存储系统缓慢
按照上述列表操作
- 存储系统延迟
Shares
https://docs.vmware.com/en/VMware-vSphere/6.7/com.vmware.vsphere.html.hostclient.doc/GUID-3AB5A86D-5AFF-4A18-A758-08A529C7A9F9.html
Limit IOPS
https://kb.vmware.com/s/article/1038241
CongestionThreshold (Storage IO Control).
https://kb.vmware.com/s/article/1019687
- 坏盘
定期检查磁盘/网络存储,如果出现故障或过时,请立即进行更换。但是,你应该知道,在某些情况下,尤其是在磁盘出现故障时,开始检查(额外使用RAID内存)会使其他磁盘处于同一命运=毁灭整个RAID。
- ESXi系统
将单独的磁盘用于ESXi主机OS,交换分区和保存在本地数据存储上的VM。另外,考虑使用RAID来提高读写性能。
- 快照
删除所有未使用或多余的快照,这不是可选操作。现在必须知道,拥有的快照越多,I / O活动的磁盘开销就越大。
- 加密
仅在必要时使用磁盘加密!加密会导致开销增加,开销增加会导致性能下降。
小建议:
(1) 部署vRealize Operations Manager以对环境进行更深入的评估
(2) 问自己一个问题:VM是否真的表现异常?
(3) 最新更新和最新版本
更新和最新版本经常会通过修复错误,改进驱动程序和代码来解决性能问题。但是,有时最新版本会使情况更糟!因此,请保持警惕并进行测试,直到确定为止。或者至少让其他人尝试一下,再做出决定。
(4) 防病毒软件
不推荐在ESXi上安装任何防病毒软件,因为ESXi本身占用空间小以及内置的安全功能。如果必须在ESXi上安装AV,则一定要从扫描计划中排除VM文件(例如VMDK),尤其是在高峰使用时间内。
(5) 是否启用了CPU电源管理?
如果在ESXi服务器上启用了CPU电源管理,则可能导致速度延迟,进而导致应用程序或工作负载延迟,从而导致性能降低。如果认为这是问题的根源,则必须与厂商有关禁用CPU电源管理的文档进行检查。如果效果为零,请重新启用它并进行一次健康检查。
(6) 用于Bios和SCSI控制器的电池
如果条件,请检查ESXi主机的Bios系统的电池,以及SCSI或其他控制器的动力电池。SCSI高速缓存通常需要额外的电源才能工作,控制板上的电池通常会为其提供电源。虽然说明书上说是备用电源方案,但我发现电源电池欠压导致控制器工作错误,只能通过更换才得以修复。
最后的几点建议:
对存储系统的所有物理架构进行健康检查,包括iSCSI交换机,网络和光缆等。
检查交换机日志,以确保存储系统或设备本身没有发生任何错误或其他事件。
从vmkernel地址对iSCSI进行Ping操作,以确保连接到iSCSI没问题。
对SAN本身进行运行状况检查-确保没有出现故障的磁盘,存储控制器故障转移事件或任何其他可能影响性能的错误。
检查连接到ESXi主机的每个LUN上的可用磁盘空间。
总结
VMware vSphere ESXi故障排除看起来有些复杂。但是,有了精确的文档,对基础架构的很好理解以及一些高效的内置工具,可以解决VM的任何问题。想一想到底在哪里以及出现什么问题,然后找出导致系统故障的部分。也可以随时向VMware或供应商技术支持寻求帮助。
扫码关注公众号 查看更多技术干货!