前言
vmware ESX server 是当前服务器市场上基于intel平台的最流行的虚拟软件产品。对比其他虚拟软件产品,如GSX server 和ms virtual server,ESX的最大优点就是可以大大减少host系统所占用资源的。ESX server内核直接运行在硬件之上,而且系统稳定性和性能都有很大的提高。
ESX server也很适合企业级应用,因为它支持重要的冗余功能,比如多路经,以及链路绑定。由于有诸如p2v vmotion 和virtualcenter软件的支持,ESX server 非常适合企业部署
注意 此章节是按照ESX server 2.1.0来介绍的。对于其他版本的ESX server这些方法不一定都可以通用。
介绍
对于大型的ESX server系统来调整性能是一件非常艰巨的任务。ESX server可以在硬件上承载非常大的负载。根据负荷量以及所运行虚拟系统的数量。服务器的一些子系统可能会达到性能瓶颈。因此非常重要的一件事情就是要评估设计以及配置硬件系统,来保证不会出现系统瓶颈。
理解ESX server仅仅会虚拟化你的负载这个概念很重要,他的意思是说实际上你需要根据原先的计划来调整ESX server系统。虚拟化很多基础服务器或者终端服务器会对你配置你系统的方法产生巨大影响。另外需要明白ESX server是虚拟化当前的硬件。你还需要根据不同的虚拟操作系统来做相应的系统性能调整。
理解Vmware性能概念
在讨论调整ESX Server性能之前,理解虚拟化对性能带来的影响是很重要的。ESX server虚拟化硬件,而且提供在一个物理机器上运行多个虚拟操作系统的环境。
默认情况下,对于硬件的访问,比如硬盘,网络,每一个虚拟机器有同等的权利。通常不希望看到一个虚拟系统吃掉了其他虚拟系统所有可用的资源。比如有一个服务器连接了一个SAN存储,提供了250MBps带宽。如果安装了ESX server,创建了一个虚拟机器测试输出,一般只有25-50MBps输出这么少,是不是ESX server性能很差?现在,创建另一个虚拟机器,同时运行测试,每一个虚拟系统都可以达到25-50MBps,你可以继续这个测试,一直到ESX server内核或者SAN网络产生瓶颈。从这个例子中可以看出ESX server设计上来说是尽量考虑并行可扩展性,而不是某一个虚拟机器的高性能。如果你的应用确实需要某一个子系统的高性能负荷,你最好不要把这个应用放到ESX server上来。然而如果你有很多服务器应用但是每个都不是对i/o和cpu要求很高,使用ESX server确实可以节省硬件以及软件的费用。有些应用程序运行的性能可以和本地运行媲美。
硬件布局
在xserver上配置ESX server的时候,你可以有很丰富的硬件选择,从2路机器到16路机器64G内存,并且联接SAN存储。因此,可以做出一个非常好的解决方案,当然硬件的配置是要看自身的需求才有意义。
对于ESX server,硬件子系统容易出现瓶颈的地方通常是:内存 磁盘,网络
在虚拟机器中的典型应用比如ESX server通常不会造成cpu的瓶颈。为了避免内存瓶颈的产生。尽量选择高前端总线的系统。ESX server对于cpu到内存以及i/o到内存的操作很频繁。他们都会利用前端总线。另外尽量加大内存,来避免交换分区的产生影响性能。注意,内存的需要量是由各个虚拟机器上运行的应用程序需求来决定的。
提示:如果配置445 440,需要每一个SMP板上的内存容量相同。如果不同的话,会影响性能。
同内存同等重要的就是磁盘系统的调整,对于ESX server磁盘系统的影响尤为重要。承载ESX server内核,以及内核映像,以及控制台系统文件的磁盘来说应该配备raid1的保护
我们不推荐利用板载lsi作raid,推荐用5i 6i 6m卡,因为板载的lsi的cpu很慢,没有缓存,没有电池保护,因此不建议应用在生产环境
对于VMFS存储,我们推荐用可以用到的最好的存储设备来承载。比如:用很多磁盘作raid,磁盘越多,性能越好,尽量用10k或者15k的硬盘。如果用scsi,用u320的磁盘,使用高性能的raid控制器,比如6m,ds4300光纤控制器。使用raid10配置最大的stripe大小。对于serveRaid,使用64k 光纤通道用512k或者1MB
VMFS文件系统使用的block大小就是1MB所以尽量的配合他的大小。如果用光纤存储比如告诉HBA卡比如fc2-133。本身配置SAN存储已经是一个非常复杂的任务了,但请尽量给ESX server划分单独的存储分区同。总的来说,调整磁盘系统是一个非常复杂而且耗时间的工作,需要分析利用以及系统负荷,来调整性能。
提示:如果你对ESX server在ds4000上部署非常感兴趣,可以参考红皮书SG24-6434-00
对于网络配置,我们建议至少有2个千兆网卡(不要共享给控制台系统)网络配置依据于网络布局,比如如果交换机是10/100m那么配置多个1000m网卡也就没有意义了。根据网络布局,最好把ESX server连接到一个高速交换机,并可以支持网卡绑定功能。
cpu子系统需要根据所有的虚拟机器以及加上额外的10%-20%的复合计算的。因为ESX server支持到16路cpu,可以很容易在445上部署,请注意,不应该只考虑性能调整,你还应该考虑冗余等问题
提示:ESX server支持超线程,如果是2.1.2版本的话,推荐启用HT。不过如果用的是2.1.0,强烈建议禁用超线程。需要在bios,以及ESX server内核中都禁用。
vmware磁盘分区
在ESX server中,你需要明确