VMware虚拟机性能优化
一、ESX及vCenter服务器的优化
- 检查ESX物理服务器是否在兼容列表中,特别是BIOS的版本是否符合ESX版本的要求
- 开启ESX物理服务器硬件虚拟化技术VT-X,AMD-V
- 关闭BIOS中的英特尔SpeedStep和AMD PowerNow的CPU电源节电管理模式。节电模式使CPU低频运行,降低CPU性能。
- 避免在服务控制台中运行会占用过多 CPU 或内存资源的程序
- 限定vCenter数据库日志文件的大小或者把数据库日志的恢复模式更改为简单。
二、虚拟机的优化
- 安装合适版本的Vmware tools,使用vCenter或者vsphere client推荐的版本。
- 在虚拟机中,断开或禁用未使用的或不必要的物理硬件,例如:com端口、LPT端口、USB控制器,软盘驱动器、光盘驱动器、网络接口等
- 虚拟机尽量禁用屏保程序和窗口动画,在Linux上禁用X window图形桌面。
- 虚拟机的备份和防病毒程序运行在非高峰期,并错开计划任务的时间点。
- 定期做磁盘碎片的整理
- 配置NTP服务器。
- 虚拟机要定期清理快照文件。
- P2V迁移成功后删除原物理硬件相关的驱动程序,删除影子设备。
三、CPU性能优化
- 不要过量分配虚拟CPU,尽量减少虚拟CPU的数量。
虚拟机在多处理器环境下需要处理器的速度一样,如果某个CPU速度快了,需要该CPU跑慢点儿,等待运行慢的CPU跟上。ESXtop命令中%CSTP值较高,说明该虚拟机不需要这么多CPU。
- 将主机上或资源池中其他虚拟机的 CPU 使用情况与此虚拟机的 CPU 使用情况值进行比较。
- 确定虚拟机CPU就绪时间过长是否由其 CPU 使用情况时间达到CPU 限制设置所致。如果出现这种情况,请增加虚拟机上的CPU 限制。
- 增加 CPU 份额以给予虚拟机更多机会运行。
- 增加分配给虚拟机的内存量。减少应用程序的磁盘和网络活动,这可能会降低磁盘 I/O,并减少 ESX主机对虚拟化硬件的需求。
- 如有必要,请在主机上升级物理 CPU。
- 启用节省CPU功能(例如 TCP 分段卸载、较大内存页面、巨型帧等)。
四、存储的优化
- 存储设备的兼容性检查,包含Firmware的版本。
- HBA兼容性检查
- 配置存储网络的冗余路径,存储处理器是主动和被动模式,使用MRU,主动和主动模式使用FIXED。
- 相同读写类型的应用,尽量不用放在同一LUN上。
- 根据虚拟机读写的带宽,放在不同raid组的LUN上。
- 使用厚磁盘的模式性能优于精简磁盘。
厚置备延迟置零:默认的创建格式,创建过程中为虚拟磁盘分配所需空间。创建时不会擦除物理设备上保留的任何数据,没有置零操作,当有IO操作时,需要等待清零操作完成后才能完成IO,即:分配好空间,执行写操作时才会按需要将其置零;
厚置备置零(thick):创建支持群集功能的厚磁盘。在创建时为虚拟磁盘分配所需的空间。并将物理设备上保留的数据置零。创建这种格式的磁盘所需的时间可能会比创建其他类型的磁盘长。即:分配好空间并置零操作,有IO的时无需等待任何操作直接执行。
精简置备(thin):精简配置就是无论磁盘分配多大,实际占用存储大小是现在使用的大小,即用多少算多少。当客户机有输入输出的时候,VMkernel首先分配需要的空间并进行清零操作,也就是说如果使用精简配置在有IO的时候需要:等待分配空间和清零,这 两个步骤完成后才能进行操作,对于IO叫频繁的应用这样性能会有所下降,虽然节省了存储空间。同一个LUN上放置不超过12台虚拟机。
- 使用磁盘份额区分磁盘的优先级
五、磁盘I/O性能
- 增加虚拟机内存。
- 在所有客户机上整理文件系统碎片。
- 禁止对 VMDK 文件进行防病毒按需扫描。
- 使用 Storage VMotion根据虚拟机磁盘IO读写的要求,在不同的磁盘组或者RAID组的LUN迁移 I/O 密集型虚拟机。
- 使用多路径切换策略,均衡存储的负载。
- 更改HBA卡的队列深度
- 删除虚拟机的快照文件
- 减少vmotion和DRS发生的频率
六、内存性能优化
- 避免内存的过量分配
- 仔细精确计算分配给虚拟机的内存量及VCPU数量,减少内存开销
- 验证是否在每个虚拟机上均安装了 VMware Tools。
- 如果虚拟机的内存预留值设置大大高于活动内存设置,则减少预留设置,以便 VMkernel 可以在主机上回收空闲内存供其他虚拟机使用。
- 将一个或多个虚拟机迁移到 DRS 群集中的其它上。
七、网络优化
- SC、vmkernel、VM分属于不同的虚拟交换机。
- 使用VLAN技术
- 在物理交换机的端口上开启portfast
- 验证是否在每个虚拟机上均安装了 VMware Tools。
- 如果可能,使用 vmxnet3 网卡驱动程序,这些驱动程序可用于 VMware Tools。并对其进行了优化,以提高性能。
- 如果在相同 ESX/ESXi 主机上运行的虚拟机之间相互通信,则将它们连接到相同 vSwitch 以避免通过物理网络传输数据包。
- 使用NIC Teaming 增加网络带宽。
- 使用单独的物理网卡处理不同的数据流量,例如由虚拟机、iSCSI 协议、VMotion 任务和服务控制台活动生成的网络数据包。
- 验证物理网卡的端口速度和双工模式设置符合硬件配置,以便其发挥最大性能。