最近需要部署一套VI3的生产环境,在网上发现了这片介绍VMware ESX Server 3.0的文章,相当经典,把ESX从安装到应用的很多细节方面介绍的很清楚。

(一)概述
ESX server3.0和VirtualCenter2.0代表了VMware的下一代虚拟机产品。重要的新特性包含了很多用户的新需求,例如添加了对iSCSI的支持。VMware早期的版本帮助用户将基于x86架构的低工作量的应用通过虚拟机的方式整合到一起。但一些大工作量的应用,例如数据库、信息系统、CRM、ERP等通常是不考虑使用虚拟机方式的。新产品的每ESX server支持4路SMP、16GB可用内存、32个逻辑CPU扩展到128个虚拟CPU将大大增加虚拟机的处理能力。DAS、DRS和整合备份将增加高可用性,可以使用户更快的从故障中恢复比使用更昂贵和复杂的物理的设备群集。
一.下面列举了一些ESX server3.0和VirtualCenter2.0的新特性:
·NAS和iSCSI支持:
存储虚拟机在成本低廉的NAS和iSCSI存储设备上的新特性可以使更多的用户可以使用VMware的虚拟功能。VMotion和DAS等特性也支NAS和iSCSI的存储设备。注:不支持NAS和iSCSI设备的同时使用。
·4路虚拟SMP
虚拟SMP允许创建超过一个虚拟CPU的虚拟机。ESX server3.0加上4路虚拟SMP将可以创建2个到4个虚拟cpu的虚拟机。这将允许进行虚拟像数据库等大工作量的应用。
·16GB虚拟机内存
ESX server3.0将允许用户为每个虚拟机分配16GB内存。16GB虚拟机内存和4路虚拟SMP结合起来将允许虚拟机运行更大工作量的应用,为更多应用提供虚拟环境的便利。
·Distributed Availability Services(DAS)
DAS是VirtualCenter2.0的选件,DAS检测运行故障的虚拟机并且自动的交替的重启它们在ESX server主机上。如果虚拟机的磁盘和配置文件存储在共享存储设备上,那么从故障中恢复的时间应该是很短暂的。DAS有一些智能化的规则来应用以适当的方式重启服务器,例如不会同时重启在一个ESX server主机上的配置负载均衡的虚拟机。DAS将为像群集这样高价值和高复杂性的应用提供高可用性。
·Distributed Resource Scheduling(DRS)
DRS是VirtualCenter2.0的选件,DRS允许自动的在不同的ESX主机之间分配虚拟机。当DAS发现一个虚拟机没有足够的可用资源时,会用VMotion迁移这个虚拟机从现在的ESX主机到另一个ESX主机。DRS也提供了人工移动虚拟机、停止和降低VMotion的活跃性的功能。用户可以指定某些虚拟机拒绝DRS的移动,以便这些虚拟机只能人工移动。DRS使得处理大工作量的ESX server利用自动分配资源实现最佳的性能。
·VMware Consolidated Backup
VMware Consolidated Backup是ESX server3.0的一个选件。Consolidated Backup为windows虚拟机提供了主机、局域网和无代理备份。它将提供ESX server3.0以前版本没有提供的功能,比如很容易完全备份一个运行着的虚拟机。一个虚拟硬盘可以创建一个在线的snapshot不需要虚拟机停机。一个独立的物理机器可以挂载snapshot并且用一个标准代理程序去备份上面的数据。这就意味着可以删除windows虚拟机上的备份代理程序。
·简单的服务控制台
ESX server3.0有一个基于Red Hat Enterprise Linux 3的新的控制台程序。新的控制台更像是一个标准的虚拟机,它占用更少的系统资源并且在用控制台安装第三方应用程序的时候更灵活。
·VMFS3
随着ESX server3.0引入了一个新的文件系统VMFS3,它有一些新的改进。比如,改进磁盘锁使更多的ESX主机访问共享存储;分布式目录结构更稳定;调整容量大小和新加LUNs更灵活。VMFS3不再是一个平面的操作系统,用户将可以创建目录和子目录。
·热添加虚拟硬盘
ESX server3.0将允许在虚拟机运行时添加虚拟硬盘。
·Multiple Snapshots
ESX server3.0加入了多snapshot特性,与VMware Workstation 5.x产品相似。
·大规模的管理
VirtualCenter 2可以管理上百个ESX主机和上千个虚拟机。VirtualCenter 2是为部署大量的虚拟环境设计的。
·统一的用户界面
ESX Server 3 and VirtualCenter 2共享一个新的可以从Windows终端或者浏览器访问的VMware客户端。新的客户端可以远程的管理一个ESX Server主机、虚拟机和VirtualCenter管理服务器。ESX Server3.0不再包含管理ESX Server的MUI,代替的是一个比以前更好的连接到ESX主机的新的VirtualCenter客户端,通过VirtualCenter可以直接进行所有的管理员操作。
·改进的虚拟结构管理
为了灵活的部署和方便管理的目的,VirtualCenter 2集中存储虚拟机的配置文件和VMware的licenses。VirtualCenter提供了一个新的认证服务器,可以安装在虚拟机或者一个物理机器上来管理有所的licenses信息。所有的虚拟机配置文件(.vmx、nvram等等)现在都存储在一个共享的VMFS卷上代替原来的独立存储在ESX server上。现在有一个基于web方式的远程终端允许系统管理员通过一个web浏览器连接到虚拟机代替原来需要安装一个远程终端的客户端。VirtualCenter 2增强了图形和计算的性能。
·改进的安全性
VirtualCenter的访问控制被加强了,可以使用自定义角色和权限,用户可以更灵活的设定哪些用户可以控制和改变资源。VirtualCenter帐户管理可以提供准确的帐户索引为查询哪个用户做了什么改变。
·扩展的ESX Server硬件支持
ESX Server3.0的硬件兼容列表包括的硬件范围更加广泛,使用户在选择硬件时更加灵活。新的服务器包括更多的双核CPU机型、更多的SAN产品、NAS、iSCSI和大量的I/O设备将被支持。网卡支持20个千兆网卡和26个10/100兆网卡。最大的逻辑cpu支持由16个增加到了32个,这些特性对扩展性能是有帮助的,比如配置一台多节点的x460服务器。
·改进的网络
为了支持更多的物理网卡,虚拟网络进行了改进,增加每个虚拟交换机端口到1024个、uplink端口到32个,每个ESX Server最多支持1024个虚拟交换机。每个网卡端口的绑定、传输修正策略和新的安全策略极大的改善了ESX网络配置的灵活性。
·扩展的ESX Server操作系统支持
ESX Server 3.0将支持新的操作系统版本,比如 Red Hat Enterprise Linux4。
·改进对Citrix的支持
Citrix是一个可以提高VMware运行性能的应用。ESX Server 3.0将改善Citrix的性能。

二.综合ESX和VirtualCenter
虽然ESX和VirtualCenter现在仍然是两个不同的产品,ESX Server 3.0
和VirtualCenter 2.0的将来发展是ESX Server需要依靠VirtualCenter的一些关键功能,例如VMotion、DAS和DRS。为了实现VMware的虚拟结构完整的高级功能用户将需要ESX Server和VirtualCenter,以及一些附加的选件比如VMotion、SMP等等。VirtualCenter2提供了扩展和增强的管理和安全功能,没有VirtualCenter2去部署ESX Server3是不被推荐的。ESX的一些基本的管理功能可以通过IBM Director的虚拟机管理组件来实现。

三.虚拟结构简介
什么是虚机结构?VMware的虚拟结构结合了那些基于工业标准x86架构服务器的允许进行整合和分区的软件产品,也包括那些管理那些软件产品和管理虚拟机运行的软件。ESX Server 3 and VirtualCenter 2添加的新特性包括:
·Distributed Availability Services
·Distributed Resource Scheduling
·Consolidated Backup
·Licensing Server
·New VirtualCenter Client
·WebCenter (Browser Client)
下面的图例表示了基本的虚拟结构的组成

组成中必须为物理服务器的是ESX Server和Consolidated Backup Server。VirtualCenter和Licensing Server可以被安装在物理服务器或者虚拟机上。Licensing Server集中储存和管理用户所有的license信息并且可以和VirtualCenter安装在同一个系统上。新的VirtualCenter Client是用来连接VirtualCenter和ESX Server,ESX Server2.x中做为web接口的MUI组件已经被删除了。WebCenter是一个访问虚拟机的web接口,管理员可以给那些不希望有访问VirtualCenter权限的用户使用WebCenter。使用WebCenter不需要在客户端安装软件,通过客户端的web浏览器即可以使用WebCenter访问虚拟机。DAS和DRS特性可以通过在Licensing Server中加入license信息来使用,不需要安装任何软件或附加的物理设备。Consolidated backup功能要求有一个物理的Windows服务器,这个服务器作为所有虚拟机的备份代理服务器,不需要安装附加的软件在ESX或者VirtualCenter服务器上。

四.VirtualCenter的特性和概念
VirtualCenter 2提出了一些新的特性和概念与我们所熟悉的VirtualCenter1.x版本所不同,VirtualCenter2.0的层次结构使用户在逻辑上考虑如何设计虚拟结构时更灵活。下面仅仅是一个简短的介绍,请参考VMware的官方文档为如何配置和使用VirtualCenter的细节。
·群集
群集是VirtualCenter2.0的一个重要的新特性。群集是将多个ESX服务器组合在一起,通过DRS实现负载均衡、通过DAS实现故障切换。一个群集可以设置成DRS群集、DAS群集或者兼顾两者。如果有DRS或者DAS组件就可以建立一个群集。
·资源池
资源池是VirtualCenter2.0的另一个重要的新特性。基本上一个资源池是一个虚拟机上可分配的cpu和内存资源的集合。cpu和内存的数量大小用单位MHz和MB表示。资源池使用一个适当的共享机制来分配cpu和内存资源当虚拟机之间发生资源的争用时。下面举一个资源池的例子来说明,一个总共有cpu资源12GHz和内存32GB的ESX主机,用户创建了一个名称是web dev、大小为cpu4GHz和内存8GB资源池给web开发部门使用,在这个资源池里开发者们可以在虚拟机间按照他们的想法划分资源使用。资源池也可以继续划分子资源池。
·数据中心
数据中心特性为连接在一个网络和数据存储上的虚拟机提供了一个容器。这更像一个物理的位置,例如London数据中心、Denver数据中心。另外的特性像群集、资源池和文件夹可以被包含在数据中心之下。数据中心是一个VMotion范围因为那些包含的系统连接在同一个共享存储上(SAN、SCSI、NAS)并且可以访问同一个物理网络。
·文件夹
文件夹是一个逻辑上的容器帮助用户在VirtualCenter下管理特性。文件夹可以包括数据中心、群集、ESX主机、虚拟机和其他文件夹。在VirtualCenter中有很多种不同的方式可以通过文件夹来管理特性。例如可以管理数据中心通过物理位置,一个美国文件夹包括New York、Phoenix和Chicago数据中心,一个欧洲文件夹包括London、Paris和Milan数据中心。同样也有很多不同的方式来管理ESX主机,例如Intel系统在一个文件夹中而AMD系统在另一个文件夹中。也可以管理虚拟机通过不同的职能部门,例如开发、产品和运输等等。正如你看到的,文件夹和其他的新特性可以帮助用户更灵活的组织自己的虚拟结构。

(二)NUMA、双核和超线程与VMware
VMware ESX Server 3.0将支持的最大逻辑CPU数量增大到了32个,下表对比了ESX 2.5.x和3.0在单核、双核和超线程的不同情况下对x460服务器多节点配置的支持。

虽然2节点、8个双核cpu在开启Hyper-Threading(2节点x4CPUx2核x2超线程=32)和8节点、32个单核CPU这两种配置在ESX 3.0支持32个逻辑cpu的情况下都是可用的,但是后者将会有更好的运行效率。
下面我们需要了解一下关于处理器的三个不同的概念
·The socket(cpu插座)
·The core(cpu内核)
·The Hyper-Threading(超线程)
下图描述了上述三个概念的关系

注意一个单节点配置实际就是一个单NUMA节点,因此在多节点ESX配置中NUMA节点的数量和x460机器的数量是相等的。示例见下图

一.NUMA与ESX Server
VMware ESX Server智能的、自动适应的NUMA时序安排和内存内存分配策略可以管理所有的虚拟机,使管理员不需要手动处理虚拟机之间复杂的平衡关系。如果系统管理员有很好的技术水平也可以手动调整系统以获得最好的运行效率。忽略用户的操作系统类型进行优化工作是十分重要的。ESX Server提供了有力的、清晰的NUMA支持即使用户的操作系统不支持NUMA硬件,比如Windows NT 4.0。这个特性使得VMware ESX Server可以使用最新的,最尖端的硬件设备,即使需要运行一些旧的操作系统。

1.下面介绍几种VMware NUMA优化算法
·Home nodes and initial placement
VMware ESX Server为每个虚拟机开始运行时分配一个主节点,虚拟机只使用它的主节点上的CPU,同时也分配使用主节点上的内存。因此,如果虚拟机的主节点不改变,虚拟机就会仅使用本地内存,避免了使用其他NUMA节点的远程内存所造成的对系统性能的影响。新虚拟机安装顺序分配主目录,第一个虚拟机分别在第一个节点,第二个虚拟机分配在第二个节点,依此类推。这个策略保证了内存将被所以节点平均的使用。
一些常用的操作系统比如windows2003,提供了对这个级别的NUMA支持,也被叫做initial placement方式。这种方式对单一的并且在系统运行中负载不发生改变的应用已经足够了,例如benchmark测试。但它无法保证一个数据中心级别的、并且负载需要随时间经常变化的应用的顺畅和高效的运行。为了更好的理解一个仅仅使用initial placement方式系统的缺点,请参考下面的例子:一个系统管理员建立了4个虚拟机,前两个运行在节点1上,后两个运行在节点2上。如果节点1上的两个虚拟机关闭或者处于空闲状态。那么系统将处于不平衡的运行状态,因为所有的负载都加在了节点1上。即使允许剩下的虚拟机远程运行在节点2上,运行效率仍然是很低的,因为它仍然只能使用原来节点上的内存。
为了克服initial placement方式的缺点,VMware ESX Server结合了传统的VMware ESX Server和一个动态的负载均衡的算法。周期性的(系统默认为2秒)系统检查不同节点上的负载情况来决定是否通过在节点间移动虚拟机来使负载平衡。计算需要考虑每个虚拟机的相对优先权以确保调整负载工作的公平。负载均衡选择一个适当的虚拟机改变它的主节点到一个负载最少的节点。当可能的情况下,系统移动虚拟机到一个它已经有内存使用的目标节点。移动后,虚拟机在新的主节点上分配内存,除非它再次移动。它仅仅运行在新主节点的CPU上。
负载均衡是一个维护平衡并且保证所以节点资源都充分利用的有力工具。然而,负载均衡可能会移动虚拟机到一个它分配内存很少或者根本没有分配内存的节点上。在这种情况下,虚拟机将因为大量的对远程内存的访问而影响运行效率。ESX Server可以通过从虚拟机的原始节点到新主节点迁移内存来消除这种影响,系统在原始节点上选择一个4KB的页面并且拷贝它的数据到目标节点的一个页面。系统使用VMmonitor层和CPU的内存管理硬件去正确的映射内存,以便在将来在目标节点上进行内存调用不会存在问题。这样就消除了调用远程内存对系统运行效率的影响。当虚拟机移动到一个新的节点,ESX Server将立刻开始内存迁移,通常以大约每秒种100KB、25页面的速度进行。当虚拟机只有非常少的内存仍然在远程节点或者目标节点上只有很少的内存可用的情况下,系统会调整这个速度以避免负载过重。内存迁移算法不会进行一些不必要的内存迁移操作,比如虚拟机只是移动到新的节点很短的时间。
将initial placement、动态的负载均衡和智能的内存迁移相结合起来,它们将确保NUMA系统中内存的运行效率,即使在运行中负载发生变化。当运行过程中负载发生变化,例如新的虚拟机开始运行,系统开始进行负载调整、内存和虚拟机的迁移以达到一个最佳的配置。经过一段很短的时间,系统调整完毕进入一个稳定运行的状态。

·Manual NUMA controls
一些有很高技术水平的系统管理员通过手动配置可以更好的调整内存分配和CPU使用。这是十分有用的,例如,如果一个虚拟机运行着一个对内存敏感的应用,比如一个运行在内存中的数据库或者大数据量的科学计算。如果将虚拟机内存100%分配在本地,这些应用的运行效率可以有很大提高,但是应用虚拟机的NUMA自动优化通常会有少部分内存(5-15%)被分配在远程节点。系统管理员也可能希望手动分配NUMA资源,因为有时系统的应用很简单并且不会发出变化。例如一个8个CPU的系统运行8个应用简单的虚拟机就很容易手动进行优化配置。
VMware ESX Server提供了对NUMA配置的控制,以便系统管理员可以控制所有虚拟机的内存和CPU分配。ESX Server web管理界面提供了配置的接口,用户可以通过Only Use Processors选项为虚拟机指定使用一个特定节点的CPU,通过Memory Affinity选项指定分配特定节点的内存。如果在进行这些设定之前启动虚拟机,它将仅运行在目前节点上并且使用本地内存。系统管理员可以手动移动虚拟机到另一个节点在虚拟机启动之后。在虚拟机的内存从先前的节点迁移到新节点的过程中,页面迁移速度也是可以手动调整的。VMware ESX Server的官方文档包括对各种选项的更完整和详细的说明。
注意手动的调整NUMA资源分配可能干涉ESX Server资源管理分配算法,它试图使每个虚拟机平均分配系统的资源。例如,如果10个运行着CPU敏感应用的虚拟机手动指定在一个节点上,仅有2个虚拟机指定分配在另一个节点上,那么这样的系统就不可能使所有虚拟机平均的分配系统资源了。在手动配置时应该注意这些问题。

2.结论
VMware ESX Server提供了丰富的手动和自动的NUMA优化手段,允许用户充分的利用自己的硬件平台。通过一个动态的、自动优化的NUMA负载平衡机制结合内存迁移技术,在应用发生变化的情况下仍然可以维持高效的内存运行效率。如果需要更多关于NUMA系统配置的细节信息,请参考ESX Server官方手册或者numa(8)手册在一个ESX Server系统上。

3.实例
我们举一个简单的例子说明上面的算法,在例子中我们创建一个4路的虚拟机在一个2节点8路的单核开启超线程的服务器上。然后我们在4路虚拟机上模拟重负载观察结果。下面是命令esxtop的输出结果:

在这个例子里我们看到4路虚拟机产生的负载是运行在单NUMA节点上(本例中是节点1)。

二.Hyper-Threading与ESX Server
超线程技术是Intel NetBurst架构CPU的一个特性,它允许并行的处理一些线程当执行CPU指令的时候。超线程技术就是利用特殊的硬件指令,把两个逻辑内核模拟成两个物理芯片,让单个处理器都能使用线程级并行计算,进而兼容多线程操作系统和软件,减少了CPU的闲置时间,提高的CPU的运行效率。采用超线程及时可在同一时间里,应用程序可以使用芯片的不同部分。虽然单线程芯片每秒钟能够处理成千上万条指令,但是在任一时刻只能够对一条指令进行操作。而超线程技术可以使芯片同时进行多线程处理,使芯片性能得到提升。虽然采用超线程技术能同时执行两个线程,但它并不象两个真正的CPU那样,每个CPU都具有独立的资源。当两个线程都同时需要某一个资源时,其中一个要暂时停止,并让出资源,直到这些资源闲置后才能继续。因此超线程的性能并不等于两颗CPU的性能。
VMware ESX Server从2.1版本开始支持超线程,VMkernel可以考虑超线程技术的特点和局限去计划系统的工作负载。ESX Server采用先进的算法和选项来适当的处理和集成超线程技术。这些算法可以被应用到虚拟机级别。超线程的功能在虚拟机中可以被启用或者完全的禁用,为了启用超线程必须在服务器的系统BIOS和ESX Server的软件配置中同时进行启用超线程的配置。在ESX 2.5.2中可以在web管理界面中配置超线程,在ESX 3.0中需要在相应的处理器配
置界面中选择。
如果超线程在服务器上已经启用,ESX在每个虚拟机基础上可以有三种方式选择:
·Any(默认)
·Internal
·None
Any是默认的配置,它允许VMkernel最灵活的计划虚拟机的工作。如果虚拟机的配置文件没有被修改这就是所有负载的默认的级别。
Internal仅应用在SMP虚拟机上,它使VMkernel分配虚拟机的虚拟CPU在同一个物理CPU上。在某些情况下这个设置是很有用的,例如有些应用在运行所有线程在一个缓存一致的物理CPU上时运行效率最好。实际上Intel Xeon CPU在和超线程启用的逻辑cpu共享缓存时有不同的级别。在某些情况下分配所有负载在一个一致的缓存里对运行效率更有利。
None是另一种情况,如果一个虚拟机的CPU已经在使用了,那么将强制VMkernel停用相应cpu的超线程逻辑cpu。在某些情况下这个设置是很有用的,例如一个应用当在给定的虚拟机上运行时如果启用超线程会对性能产生负面的影响,这类应用如果禁用超线程的逻辑cpu将使这个虚拟机cpu获得2倍的可用资源因而对性能会有帮助。更多关于VMware处理超线程方面的技术信息请到下面VMware官方网站链接查看
http://www.vmware.com/pdf/esx21_Hyper-Threading.pdf

三.dual core与ESX Server
VMware ESX中的单核cpu涉及物理cpu(pCPUs)和逻辑cpu(lCPUs),第一个是标准的物理cpu,第二个是启用超线程后的逻辑cpu。新的双核的cpu在技术上做了改进,在一个socket上实现了更多个cpu核心。
双核cpu和ESX调度算法的关系是很容易理解的,一个物理cpu超线程的两个逻辑cpu共享cpu的运算器等资源,双核cpu的每个核做为一个物理cpu。下面的图示说明了上述关系


因而一个4路的双核x460服务器在关闭超线程的情况下,在ESX Server中将看到8个物理的cpu而不是4个,cpu状态信息如下图所示

图形接口中的cpu信息可能会造成一些混乱,因为它只提供了cpu封装核逻辑cpu的数量。下面是一个4路x460服务器双核开启超线程的例子:

这可能会造成一些混乱,因为在某些情况下,你没办法从界面的信息中判断确切的系统配置。下面是一个例子:

根据上图我们可以看到16个逻辑cpu,但我们没有办法判断这是八个禁用cpu的双核服务器还是八个启用超线程的单核服务器。
当将来出现多核cpu的情况下,VMware需要考虑下面2个因素去调整它的调度机制:
·如果将来引入多核cpu,将会改变现在的超线程形成的逻辑cpu在共享缓存核其他部件的一些问题。
·今天的双核核将来的多和cpu都是连接到一个系统总线上的,这在内存带宽上有可能形成瓶颈。但是x460服务器的每2个socket1个独立的前端总线的设计,使得一些运行在虚拟机上的企业级应用可以获得更多的独立的内存通路。

(三)VMware最优的配置方法
在ESX Server的架构和设计部分前,先分别介绍ESX Server 2.5.x和ESX Server 3.0在多节点x460服务器上的最优的配置方法。这些配置也可以应用到其他服务器。
一.ESX Server 2.5.x的最优配置
1.Firmware和BIOS设置
我们建议使用服务器更新光盘将BIOS和微码都刷新到最新版本,最新的BIOS和微码也可以通过网站下载。ESX Server 2.5.x推荐对BIOS进行如下配置
·Disable Hardware Prefect:在BIOS中选择Advanced Setup-> CPU Options,然后将Processor Hardware Prefetcher选项禁用。
·Disable Hyper-Threading:ESX Server 2.5.x支持16个逻辑cpu。因为每个启用了超线程的cpu在ESX Server下将被识别成2个逻辑cpu,所以在一些情况下为了使所有cpu都被识别需要禁用超线程功能,例如一个16路4节点的单核cpux460服务器或者一个8路2节点双核cpu的x460服务器。在BIOS中选择Advanced Setup-> CPU Options,然后将Hyper-Threading Technology选项禁用。下图是BIOS配置的图示。

如果你的cpu配置没有达到上面列举的极限情况,我们建议可以启用超线程功能。在大多数情况下启用超线程会带来一些微小的性能提升尤其在你运行SMP虚拟机的时候。VMware有一本关于超线程在虚拟机中应用的白皮书,如果你想了解更多这方面的信息可以到下面链接下载:
http://www.vmware.com/pdf/esx21_Hyper-Threading.pdf

2.RSA II配置
配置操作系统USB选项为 Linux OS,方法请参考RSA配置手册59页。
3.内存配置
ESX Server 2.5.x支持扩展内存容量到64GB
4.CPU配置
x460和所有MXE-460必须安装4个cpu,并且所有cpu必须是同样的主频和缓存。
5.PCI设备的配置
在多节点x460的配置中,系统性能可能会受到安装的pci设备的影响,比如网卡、光纤通道HBA卡等等。为了平均的分配负载,我们推荐分配pci设备在不同的节点上,这对在节点失败的情况下保证系统运行也是有帮助的。
·光纤通道HBA:
在多节点性x460配置中,我们建议安装一个光纤通道HBA卡在第一个节点上,其他的安装在第二个节点上,我们建议在ESX Server中至少安装两块光纤通道HBA卡以保证冗余环境的实现。对QLogic光纤通道HBA卡建议在QLogic BIOS中将Port Down Retry的值设置成15。
·8i阵列卡:
在ESX Server上建议使用8i阵列卡,8i阵列卡是安装在主板上为x460服务器提供完全的阵列功能的阵列控制器。8i阵列卡不占用一个pci插槽而是在主板上有一个专用的插槽。我们建议将8i阵列卡和硬盘安装在主节点上,并且其他的节点都在BIOS中将主板集成的SAS控制器禁用。
·网卡:
在一个2节点的x460服务器上我们推荐至少需要4个网卡,一个网卡作为服务控制终端,一个用作VMotion,另外两个提供给虚拟交换机使用为虚拟机提供虚拟网络连接。在一个4节点的x460服务器上至少需要6个网卡,这种情况下主板集成就已经有8个网卡,所有的网卡都可以被应用。一个用作服务控制终端,一个用作VMotion,其他4个或者6个可以用作虚拟机网络的使用。注意,在ESX Server2.5.x中每个虚拟交换机的端口数量限制为32个,因此在一个4节点配置中,我们至少要创建两个虚拟的交换机。ESX Server2.5.x也限制了每个服务器8个网卡,因此如果你希望使用附加的网卡,你必须先在BIOS里禁用掉主板集成的网卡。下图是一个网卡配置的实例。

6.硬盘
我们建议你在一个RAID1阵列上安装ESX Server并且添加一块热备份硬盘为了尽可能的实现冗余。硬盘容量的大小取决于内存的大小和计划在服务器上安装的虚拟机的数量。我们建议你在服务器上安装三块72.3GB 10k RPM的硬盘,两块做RAID1、另一块做为热备份硬盘。这些容量足够配置一个4节点、内存为64GB、运行64个虚拟机的x460服务器,这里假设虚拟机运行在SAN存储上,不运行在本地硬盘上。

7.安装ESX Server 2.5.x
一个多节点、单核cpu的x460服务器需要安装ESX Server 2.5.1 upgrade1或者更高版本,一个多节点、双核cpu的x460服务器需要安装ESX Server 2.5.2或者更高版本。这里我们没有提供每个安装步骤的图示,因为这些步骤在VMware网站上已经有完善的文档,下面是文档的连接http://www.vmware.com/support/esx25/doc/install/index.html
以下是对安装过程的一些建议和提示:
·Service Console RAM:对2节点的x460建议设置Service Console RAM为512MB,对4节点x460服务器建议设置Service Console RAM为800MB。无论x460节点配置数量,如果你计划运行一些Service Console的附加的应用,建议将Service Console RAM设为800MB(这是最大值)。
·磁盘分区:
磁盘分区的大小是由很多因素所决定的,比如虚拟机的数量和安装的内存容量等等。Swap分区的大小应该是Service Console RAM的两倍,VMFS2卷是为VMkernel使用的swap分区,应该至少大于服务器所安装的物理内存。下面是一个在32GB内存的8路x460服务器上分区的例子,这个服务器计划运行32个虚拟机,有一个72.3GB的本地RAID1阵列,虚拟机都存储在SAN存储中。

Partition Size(MB) Comment
/boot 50 Service Console引导文件,应该被指定为主分区。
/ 4096 Root分区,如果root分区容量不足将会出现很多问题。应该被指定为主分区。
Swap 1024 Service Console的交换文件,应该是Service Console RAM的两倍大小。
/var 1024 存储各种ESX Server的日志文件,应该分配足够的空间。VMware的脚本安装也会用到/var分区
/home 512 存储虚拟机的配置文件,这些配置文件容量很小,无论有多少虚拟机512M的容量都已经足够。
/vmimages 10000 存储虚拟操作系统或者其他应用的iso镜像文件,这些文件可以被mount到虚拟机上。
VMFS2 32000 这个分区被格式化为VMFS2文件系统,并且创建vmkernel的交换分区。要求分区大小至少要大于服务器的物理内存。
Core dump 100 如果ESX Server系统崩溃,一些日志将被保存在coredump分区上,可以用做错误分析。
/tmp 1024 可选择建立,存储一些临时文件。

·安装过程中的配置
下面是一些安装过程中的配置建议,如果想了解更细节的安装过程请到VMwae官方网站查看文档,链接如下
http://www.vmware.com/support/pubs/esx_pubs.html

Service Console资源设置
我们先前已经提到过为Service Console分配的内存数量,另一个需要注意的设置是为Service Console分配的最小cpu值。默认的情况下ESX Server 2.5.x分配cpu0的8%给Service Console。这个值是基于Service Console没有运行任何附加应用的情况下。我们建议如果安装Direcror代理程序在x460服务器,需要增加这个参数的值。建议的增加量如下,2节点配置增加到15%,4节点配置增加到30%。注意,这个参数是在Service Console需要附加cpu运算、发生资源争用的时候有影响,在绝大多数情况下Service Console只需要很少的cpu占用,这种情况下cpu资源被虚拟机使用。

网络配置:
我们建议将网卡设为自动检测速度和双工模式,这是最好的设定针对x460服务器主板集成的Broadcom网卡。如果你有丰富的处理网络性能问题的经验可以尝试将网卡配置为1000M、全双工。这个设定通过图形界面中的Options → Network Connections进行调整。这是一个基本的配置,如果想了解更多网络相关的高级配置请到下面链接查看VMware提供的白皮书
http://www.vmware.com/vmtn/resources/esx_resources.html

配置时间:
使ESX Server保持准确的时间是很重要的,可以配置你的ESX Server和一个NTP服务器进行时间同步。下面是相关文档链接:
http://www.vmware.com/support/kb
VMware也建议你同步虚拟机和ESX Server的时间,这个功能是通过一个安装在虚拟机上的VMware工具实现的。更多的细节信息可以到VMware网站上查看Timekeeping相关的白皮书:
http://www.vmware.com/pdf/vmware_timekeeping.pdf

存储配置:
有些配置可以优化系统的存储I/O。
Fiber channel queue depth on QLogic HBAs:Vmware建议在高I/O环境中增加HBA最大队列的值。这可以通过在控制终端编辑hwconfig文件来实现,推荐值是64。VMware不推荐在Emulex HBA卡做这样的设置,因此只需要在使用QLogic HBA卡的情况下修改这个参数。
Outstanding disk requests per virtual machine:这个设定是与先前提到的queue depth参数相关的,VMware建议同时修改它们。可以通过图形界面选择Settings->Options->Advanced,修改其中的Disk.SchedNumReqOutstanding值来进行调整。改变这个参数和HBA max queue depth的参数保持一致,推荐值是64。
更多关于优化ESX Server 2.5.x的信息请查看下面的官方文档
http://www.vmware.com/pdf/esx2_best_practices.pdf

二. ESX Server 3的最优配置
1.RSA II配置
配置操作系统USB选项为 Linux OS,方法请参考RSA配置手册59页。
2.内存配置
支持扩展内存容量到64GB
3.CPU配置
x460和所有MXE-460必须安装4个cpu,并且所有cpu必须是同样的主频和缓存。
4.PCI设备的配置
在多节点x460的配置中,系统性能可能会受到安装的pci设备的影响,比如网卡、光纤通道HBA卡等等。为了平均的分配负载,我们推荐分配pci设备在不同的节点上,这对在节点失败的情况下保证系统运行也是有帮助的。
·光纤通道HBA:
在多节点性x460配置中,我们建议安装一个光纤通道HBA卡在第一个节点上,其他的安装在第二个节点上,我们建议在ESX Server中至少安装两块光纤通道HBA卡以保证冗余环境的实现。对QLogic光纤通道HBA卡建议在QLogic BIOS中将Port Down Retry的值设置成15。
·8i阵列卡:
在ESX Server上建议使用8i阵列卡,8i阵列卡是安装在主板上为x460服务器提供完全的阵列功能的阵列控制器。8i阵列卡不占用一个pci插槽而是在主板上有一个专用的插槽。我们建议将8i阵列卡和硬盘安装在主节点上,并且其他的节点都在BIOS中将主板集成的SAS控制器禁用。
·网卡
ESX Server 3现在每个虚拟交换机支持1024个端口,并且不需要再分离终端OS、虚拟机和VMotion网卡。你可以再安装过程中简单的指定所有网卡到一个虚拟交换机。下图是一个虚拟交换机的图例

VMware单独分离一个网卡作为服务终端网卡是出于安全方面的考虑,所以创建多个虚拟交换机是合理的选择,可以分离不同类型的网络。ESX Server 3有一些新的网络方面的安全策略,默认情况下它们都设定为allow,你可以在你的网络环境中测试它们但我们建议你选择都设置为reject。下图为示例:

6.硬盘
ESX Serve 3可以使用更小容量的硬盘,因为它不再需要一个本地的VMFS分区做为VMkernel的交换分区,也不需要去考虑运行虚拟机的数量和服务器物理内存的容量。

7.安装ESX Server 3
·Service Console RAM:ESX Server 3中分配给Service Console的内存不再依赖与运行虚拟机的数量。默认值使256MB,这个值在安装的过程中是不能改变的,但是安装后可以对这个值进行调整。像ESX Server 2.5.x中一样,如果你安装一些附加的应用需要适当的加大Service Console RAM的值,我们建议你如果运行IBM Director代理程序、备份代理或者其他一些应用的时候将这个值加大到512MB。

·硬盘分区
像service console RAM一样,硬盘分区也不再被服务器物理内存和虚拟机数量所影响。下图是一个在一个多节点x460服务器上安装ESX Server 3的示例,swap分区建议设为service console RAM的两倍,无论x460安装了32GB或者更多的内存,安装都仅仅需要18GB硬盘空间,同种情况下ESX Server 2.5.x需要72.3GB的硬盘空间。我们不再需要/home和/vmimages分区,因为所有虚拟机的配置文件和一些应用ISO镜像文件都存储在共享存储上,例如SAN、ISCSI或NAS。

·安装过程中的配置
下面是一些安装过程中的配置建议
Service console资源配置:
我们先前已经提及建议将Service console RAM从默认的256MB增加到512MB。尽管在设计上ESX Server 3比ESX Server 2.5.x的Service Console占用更少的资源,但是minimum CPU值的设定还是于ESX Server 2.5.x相似,下面是一些推荐值:2节点配置增加到15%,4节点增加到30%,8节点增加到50%。

网络配置:
在安装期间添加网卡到第一个虚拟交换机上,然后添加端口给虚拟机、VMotion和NAS存储。在配置网络时可以修改默认的安装选项。

存储配置:
建议在计划使用iSCSI存储的时候用基于硬件的QLogic QLA4010 HBA卡,现在没有基于软件的iSCSI模拟软件在ESX上。硬件的iSCSI设备的性能会比使用模拟软件要优越得多。

配置时间:
使ESX Server保持准确的时间是很重要的,可以配置你的ESX Server和一个NTP服务器进行时间同步。下面是相关文档链接:
http://www.vmware.com/support/kb
VMware也建议你同步虚拟机和ESX Server的时间,这个功能是通过一个安装在虚拟机上的VMware工具实现的。更多的细节信息可以到VMware网站上查看Timekeeping相关的白皮书:
http://www.vmware.com/pdf/vmware_timekeeping.pdf

Service Console防火墙:
ESX Server 3在默认的情况下启用了service console防火墙,VMware已经默认打开所有与VirtualCenter通信的端口。如果为了测试或者排错需要暂时关闭防火墙可以在service console下键入命令esxcfg-firewall –u,这将在下一次重新启动前禁用防火墙,下面是命令的图示

(四)结构和设计
即使ESX Server 3.0有许多新的、有用的特性,但是在一段时期内可能一些用户还是会使用和部署ESX Server 2.5.x。出于这个考虑下面我们会综合介绍ESX Server 2.5.x和ESX Server3.0的体系结构和设计。

一、ESX Server 2.5.x的设计
这本红皮书不能代替Vmware的官方文档,关于如何去安装和使用ESX Server 2.5.x的详细信息请到下面链接查看Vmware提供的文档
http://www.vmware.com/support/pubs/esx_pubs.html
下面我们讨论的体系结构和设计中,我们假设一个应用环境,它由最少两个ESXServer系统、共享的SAN存储、VirtualCenter和VMotion。

1.ESX Server 2.5.x特性概述
ESX Server 2.5.x有下面的特性
ESX server物理机
·每ESX Server支持16个逻辑CPU
·每ESX Server支持80个虚拟机CPU
·每ESX Server支持64GB内存
·支持8个swap文件,每个swap文件的最大容量为64GB
·每系统支持64个适配器
·支持8个千兆网卡或者16个百兆网卡
·每个虚拟交换机支持32个虚拟机
·每ESX Server支持16个光纤通道卡
·每个存储阵列支持128个LUN
·每ESX Server支持128个LUN

ESX Server 2.5.x虚拟机
·通过可选的vSMP模块,每个虚拟机可以支持2个虚拟CPU
·每个虚拟机支持3.6GB内存
·支持4个虚拟scsi适配器并且可以支持到15个scsi硬盘
·虚拟磁盘容量支持9GB
·支持4个虚拟网卡
关于最新的支持操作系统和硬件的列表可以参考下面链接提供的系统兼容向导。
http://www.vmware.com/vmtn/resources/esx_resources.html

2.ESX Server 2.5.x的虚拟结构
ESX Server 2.5.x的虚拟结构由下面几个部分组成
·ESX Server 2.5.x
·VirtualCenter 1.3
·vSMP
·Vmotion
ESXServer运行在一个物理机上。VirtualCenter即可以运行在物理机上也可以运行在一个虚拟机上。如果你决定将VirtualCenter运行在一个虚拟机上,你需要考虑一个问题,如果虚拟机所属的ESXServer离线了,你将不能访问VirtualCenter直到ESXServer重新上线或者你将虚拟机重新运行在另一个机器上。vSMP和VMotion是已经安装的特性但是需要一个license去激活。
VMware提供了一个VIN(Virtual Infrastructure Node)license,内容如下
·ESX Server license
·Virtual SMP license
·VirtualCenter Agent license
·vMotion license
购买VIN license比单独购买各个license更节省成本。

3.服务器的规模
使用服务器的规模由以下几个因素决定
·目前方案的规模
·将来发展的估计
·高可用性和容灾计划
·预算的限制
有一些不同的方法去估算你将需要的ESX服务器的数量,下面介绍最流行的两种:
·最容易的方法是计算每个4-5个虚拟CPU对应一个物理CPU
这个结果是大概一个4路服务器对应16-20个虚拟CPU,一个8路服务器对应32-40个虚拟CPU,这里假设每个虚拟CPU运行的负载量适中。
关于内存方面,如果你给每个虚拟机分配1GB内存,在大多数情况下已经足够处理虚拟机运行,管理终端和虚拟管理了。如果你计划在虚拟机上运行一些内存敏感的应用,应该适当的加大这个值。
根据上面的估算,我们可以用一个8路(2节点)、配置32GB内存的x3950支持32个虚拟机,用一个16路(4节点)、配置64GB的x3950支持64个虚拟机。
上面的估算都是基于一个单核CPU,因为一个双核CPU不那不能提供100%的相当于两个单核cpu运行性能,我们建议你按1.5个单核CPU来估算1个双核CPU,也就是每双核CPU对应6-7个虚拟机。
·如果你有一些运行应用的物理机,也可以通过计算CPU利用率平均峰值来换算成MHz总数来进行虚拟机数量的估算。例如,如果你有两个500MHz的CPU,CPU利用率平均峰值为50%,那么你的虚拟机CPU计算结果应为500MHz。
为了得到CPU利用率的平均峰值,你需要对CPU的利用率在运行着应用的情况下至少进行一周的记录,为了计算结果更准确建议进行一个月的记录。如果你已经有了企业级的监控软件比如IBM Tivoli、HP OpenView、NetIQ等等,那么你已经可以直接通过这些软件得到你想要的信息。
下一步你需要把你所有运行ESX Server的服务器的主频加起来。例如,一个配置3GHzCPU的2节点8路的x3950服务器计算结果为24000MHz。计算结果先需要减去10%,这部分是终端OS需要的,结果是21600MHz。
因为附加的占用率和过载的情况下需要减去一些数量,通常20%是安全的数值。得到了17280MHz可以提供给虚拟机的应用运行。分为每个虚拟机500MHz,结果为大概可以运行34个虚拟机(17,280/500=34.5)。
你可以用类似的方法来估算虚拟系统所需要的内存总量。首先在物理机上得到平均内存利用率,然后每个虚拟机加上54MB为了虚拟化的开销,为内存平均利用率超过512MB的系统加上32MB内存,这些就是你的虚拟机需要的内存总量。还需要加上分配给Service Console的内存(一个8路的ESX Server系统这个值一般设为512MB),加上VMkernel所需的24MB内存,这就是整个系统需要的内存总量。
例如,你有10个平均内存利用率为512MB的物理机需要转换为虚拟机总量为5120MB,加上每个虚拟机54MB的虚拟化开销(5120+540=5660 MB),这是虚拟机需要的总量。再加上Service Console需要的内存(5660+512= 6172 MB)和VMkernel的24MB内存(6172+24=6196),得到最后的结果是这10个虚拟机需要6GB内存。
我们看到上面两种方法在8路的x3950服务器上得出的结果很相似,其实按照一般的经验通常上面两种方法估算的结果都是很接近的,所以为了节省时间,我们建议使用第一种方法来初步规划你的ESX Server的规模。
未来方案规模的发展是很难去决定的。经常出现这样的情况,当一些公司第一次执行VMware的虚拟环境的时候先部署了一部分虚拟机,但是使用后发现了虚拟环境带来了很多的好处并且没有降低系统的运行效率,这样新的虚拟机的数量迅速增加,超过了现有的CPU、内存和I/O资源,这将导致总体的运行效率收到影响。所以需要为虚拟环境的扩展提前作出一定的考虑。

4.关于VMotion
在设计虚拟环境的时候,VMotion需要被做为一个重点去考虑。VMotion特性可以实现在虚拟机保持运行的情况下实现虚拟机在物理机之间的转移。因为VMotion需要在两个物理机之间转移系统运行的一些底层的状态,所有要求两个物理平台的CPU必须运行一样的指令集。这就意味着执行VMotion操作的物理服务器的CPU必须符合下列的要求
·同厂商的CPU产品(Intel or AMD)
·同系列的CPU产品(Pentium III, Pentium 4, Opteron, etc)
有时同样系列的CPU产品在扩展特性上会有很大的不同,比如64位扩展技术和SSE3。在这种情况下不能实现VMotion的操作即使是同样系列的CPU。CPU的主频和缓存不是考虑的主要因素,但是一些扩展特性的不同可能导致在物理机之间的VMotion操作失败。
例如,x366和x260服务器和x3950使用同样类型的CPU,它们适合与x3950配置VMotion操作。然而其他使用不同CPU的xSeries服务器就不能了。
VMotion要求准备一个专署的网卡,VMware要求提供一个千兆网卡供VMotion使用。但是如果你只有百兆网卡可用,也可以配置VMware使用百兆网卡,当然这样VMotion的时间将显著增加。另外一个重要的要求是VMotion要求一个共享的存储。

5.计划你的Server farm
在VirtualCenter 1.x中,一个farm就是一个组成你的虚拟环境的ESX Server系统的组。一个farm也是一个VMotion的划分,这意味着相互配置了VMotion操作的服务器必须在同一个farm中。在计划的过程中,你需要考虑每个farm中主机的数量。下面是VMware帮助你划分farm的一些参考:
·VMware建议连接到一个单独VMFS卷上的ESX Server不要超过16个。
·VMware建议每个LUN不要划分超过32个I/O敏感的虚拟机,或者100个对I/O要求很低的虚拟机。
·每个VMFS卷不要超过255个文件。
·存储容量有2TB的限制。
因为VMotion要求共享的存储,那么将限制每个farm可以有16个ESX Server。你可能希望去创建一个小一点的farm,那么可以创建一个使用VMotion的一个只有两个ESX Server的farm。

6.存储容量
就像服务器规模的估算一样,没有一个普遍的答案应用到每个不同的环境中。前面部分已经提到了每个VMFS卷运行I/O需求敏感的虚拟机的数量不要超过32个,应该尽量的减少资源争用和SCSI锁情况的出现。
有很多方法去决定VMFS卷的合适大小,下面是最简单的方法。
如果你决定用2个8路的x3950服务器,每个服务器运行32个虚拟机将符合对CPU性能的要求。用前面提到的32个虚拟机每LUN的策略来看,你需要为这些虚拟机建立两个LUN。如果你建立新的虚拟机可以先估算一下虚拟硬盘的平均容量。如果每个虚拟机平均需要20GB硬盘,这样每个LUN需要640GB。你还需要加上一些附加的容量为了以后的扩展需要,通常10%是个合适的比率,加上这部分结果为720GB。如果你计划使用redo日志,需要相应的多划分一些空间。

7.规划网络
在服务器farm设计网络部分的时候有很多的选项,对这些选项的选择一般都是基于你的物理网络或者公司的网络安全策略。重要的一点是ESX Server强烈建议使用千兆网络连接。

在ESX Server 2.5.x配置网络的时候,你需要考虑三个基本的组成部分。
·Service console
出于对运行效率和网络安全的考虑,VMware建议你为Service console提供一个专用的网卡。你可以把service console网卡连接在你的数据中心的专用的管理网络中。
在默认的配置中,一个百兆网卡足以提供service console所需的带宽。如果你计划用service console运行备份或者其他需要高带宽的应用,就建议使用千兆网卡。

·虚拟机
虚拟机使用一个与service console分离的网络。虽然系统并没有强制要求使用千兆网卡,但在实际应用中我们建议你使用千兆网卡提供虚拟机的网络连接,因为32个虚拟机将产生巨大的网络通讯量。
一个比较好的计划是10-20个虚拟机使用一个千兆网卡。这意味着一个8路x3950运行32个虚拟机最少需要2个千兆网卡。请注意这是最小的建议,再添加1个或2个千兆网卡将为虚拟机提供更充足的带宽。
另外一个需要考虑的是VLAN的配置,假设你的数据中心里有多个VLAN需要应用到虚拟机上,这种情况下你有两种不同的选择:
第一种是为每个物理的VLAN在ESX Server上配置一块网卡,当你的网络环境比较简单的时候可以使用这个选择,但是如果你有10个网络这个选择就变的不可行了。注意ESX Server 2.5.x仅仅支持最大8个千兆网卡。
另一种是使用ESX Server对VLAN(802.1q)的支持,这个选项为每个VLAN创建一个虚拟的端口组在虚拟交换机上。如果你的物理交换机支持,建议你使用这种方法。
在配置中还需要考虑虚拟机网络的冗余连接,ESX Server 2.5.x不仅支持多个网卡连接到一个虚拟交换机提高带宽,也提供了对网卡失败的冗余切换。为了实现高可用性我们建议你对网卡进行绑定。

·VMotion
VMware要求为VMotion提供一个独立的千兆网卡。不推荐使用百兆网卡,因为这将大大影响运行效率。你应该为VMotion单独分配一个千兆网卡并且划分单独的子网。
如果你只有两个运行ESX Server的服务器,你可以使用交叉线直接连接两个服务器的网卡作为虚拟网络使用,这个方法也可以在排除VMotion的故障的时候使用。

8.网络负载均衡
ESX Server 2.5.x为虚拟机提供了两种网络负载均衡的方法。
·基于MAC地址的网络负载均衡是ESX Server默认的方式。这种方法简单的将两个物理网卡连接到虚拟交换机不需要在物理交换机上进行额外的配置,缺点是负载均衡的效率不是非常理想,这种方法有时使一个虚拟机经常使用某一个物理的网卡,并且不能手动的调整每个虚拟机使用的物理网卡。
·基于ip的网络负载均衡,这种方法提供了一种网络负载均衡的更好选择,缺点是你需要在你的物理交换机上进行额外的配置,需要配置你的物理交换机的802.3ad协议(或者Cisco交换机的EtherChannel)。这是一个实现高运行效率的选择。
以上是对ESX Server 2.5.x的网络的概述。一些高级的应用,比如备份网络、DMZ网络和配置的细节超出了这本红皮书的介绍范围。如果需要更深入的信息请访问VMware的官方网站,链接如下
http://www.vmware.com/support/pubs/esx_pubs.html
http://www.vmware.com/vmtn/resources/esx_resources.html

(五)安装ESX Server 3和VirtualCenter 2
在这个部分我们介绍在System x3950上安装ESX Server 3.0和VirtualCenter 2的过程。下面仅包括基本的安装过程,关于如何安装配置和使用ESX Server和VirtualCenter的细节请参考VMware的官方手册。

一.安装ESX Server 3
下面是在本地硬盘上安装ESX Server3的基本步骤,更多的安装细节请参考《ESX Server 3 Installation Guide》,例如从SAN启动。
1.从ESX Server 3光盘启动将看到如下图所示的安装初始化画面,按回车键进入图形化安装。

2.在磁盘分区画面中可以选择手动或者自动(默认),这里我们选择自动分区,点击Next。

3.如果需要可以在自动分区的基础上对进行调整。

4.选择Boot Loader的位置,这里我们默认选择安装在第一个硬盘的Master Boot Record(MBR)上。

5.选择一块你准备用做Service console的网卡,输入IP地址、DNS服务器和主机名等信息,你可以选择任何一块安装在机器上的网卡做为Service console网卡。
注:我们建议使用固定IP地址和完整的域名。

6.网络配置结束后,安装程序会重启ESX Server,安装就结束了。
7.启动后画面如下图所示,你可以使用VirtualCenter客户端去直接连接ESX Server,不再需要一个MUI。

二.安装认证服务器
认证服务器是一个新加入的组件。通过认证服务器来集中管理用户的所有licenses。认证服务器可以被安装在VirtualCenter上、虚拟机上或者一个已经存在的FLEXnet认证服务器上。下面是简单的安装过程。
1.运行vlsetup.exe开始认证服务器的安装,你将看到一个认证服务器安装向导。
2.接受同意条款并且点击Next继续。
3.在客户信息界面输入用户名和公司名,点击Next继续。
4.选择安装的目的文件夹,点击Next继续。
5.提供你的licenses文件的路径,点击Next继续。

6.点击Install开始安装。
7.当安装完成后点击Finish。

三.安装VirtualCenter 2
下面的部分我们演示了VirtualCenter 2的基本安装,更详细的安装、配置、使用的信息请参考VMware的官方手册。
1.打开VirtualCenter 2安装程序。在欢迎画面点击Next继续。
2.接受同意条款并且点击Next继续。
3.在客户信息界面输入用户名和公司名,点击Next继续。
4.选择安装的目的文件夹,点击Next继续。
5.选择典型或者自定义安装,在这里我们选择典型安装然后点击Next继续。
6.选择使用的数据库,在这个例子中我们选择使用Microsoft SQL Server 2000 Desktop Engine (MSDE),点击Next继续。

7.配置你的ODBC数据源连接,点击Next继续。
8.在下图所示的界面中输入你的认证服务器或者一个licenses文件。如果你的认证服务器被用来安装VirtualCenter,你可以用类似27000@localhost来表示,或者也可以输入完整的域名。

9.输入VirtualCenter服务帐户信息,我们建议你使用一个系统的帐户。

10.在VirtualCenter web服务配置界面可以选择web服务使用的端口,默认的是8443。Use default VMware Digital Certificates选项的意思是用户在使用SSL加密访问时是否使用默认的VMware数字证书。

11.选择Install开始安装过程,选择Back回到前一个步骤。
12.安装完成后,点击Finish退出。

四.安装VirtualCenter客户端
你需要安装VirtualCenter客户端,不仅仅为了访问VirtualCenter,也需要通过它配置ESX Server因为在ESX Server 3中不再提供一个图形界面的配置工具。下面是安装的步骤:
1.打开VirtualCenter 2安装程序。在欢迎画面点击Next继续。
2.接受同意条款并且点击Next继续。
3.在客户信息界面输入用户名和公司名,点击Next继续。
4.选择安装的目的文件夹,点击Next继续。
5.选择Install开始安装过程,选择Back回到前一个步骤。
6.安装完成后,点击Finish退出。
如果需要连接VirtualCenter或者ESX Server,双击桌面上的VirtualCenter客户端图标,并且输入连接服务器的信息。
·连接ESX Server输入 servername -9005
·连接VirtualCenter输入 servername -905

(六)高可用性和扩展

    负载平衡和故障冗余机制x3950服务器是一个运行ESXServer的理想平台,因为x3950的高可用性的硬件特性、处理大量应用负载的能力和可以通过多节点配置来动态的调整资源的分配。用户也可以通过VMware的高级特性比如Distributed Availability Services(DAS)和Distributed Resource Scheduler(DRS)来增强x3950硬件的高可用性,确保虚拟架构的持续在线时间和最优资源平衡。
    一.Distributed Availability Services (DAS)
    下面提供了关于Distributed Availability Services (DAS)优势的概述和如何利用DAS配置基于x3950平台的虚拟架构。
    下图提供了一个由6个运行ESX Server 3的x3950组成群集的示例。
    注:ESX Server 2和ESX Server 3的一个主要不同是现在所有虚拟机文件都可以存储在SAN设备上,包括vmx配置文件。这就使得管理虚拟架构更容易,并且灾难恢复也更容易了。

     

    现在,我们考虑群集中6个服务器中的一个因为某种原因出现故障的情况,原因可能包括:
    ·一个关键的没有冗余配置部件的硬件故障。
    ·ESX Server的内核崩溃。
    在这种情况下DAS服务运行在VMware VirtualCenter服务器上,DAS通过故障转移重新分配资源,将运行在失败服务器上的虚拟机分配到其他运行正常的虚拟机上。如下图所示

    所有运行在失败服务器上的虚拟机将停止运行,然后DAS会将它们重新分配到其他正常运行的节点并且重新启动他们。如下图所示

    注:当安装ESX Server的物理服务器宕机,安装在服务器上的虚拟机也就随之停机了。经过DAS的重新分配这些虚拟机很快就会重启启动,但是用户的应用会经历一段离线时间。根据运行在虚拟机上的应用的不同这个离线时间通常很短暂。

    还有一点需要注意的是在ESX Server 3中所有的虚拟机相关文件都是可以存储在SAN存储上的,所以DAS服务仅需要重新分配SAN存储上的虚拟机到合适的正常运行的ESX Server上,不会涉及任何文件的转储或者重建。这与ESX Server 2要求虚拟机配置文件独立存储在虚拟机本地硬盘上相比是一个突出的优势。

    配置DAS
    执行下面步骤去配置Distributed Availability Services (DAS)
    1.使用VirtualCenter管理界面定义一个cluster,如下图所示。我们看到这个ESX Server 3.0已经包括一个datacenter。

    2.现在在datacenter上创建一个新的cluster,在datacenter上点右键选择New Cluster。

    3.在新cluster建立向导中可以输入cluster的名字,并且可以选择这个cluster支持DAS、DRS或者两者都支持。选择完成后点击NEXT。

    4.指定DRS特性自动分配资源的级别。DRS可以设置下面3种级别
    ·Manual:VirtualCenter会对创建新虚拟机和虚拟机的移动提出建议,但是所有的控制都会留给系统管理员来进行操作。
    ·Automated:VirtualCenter在创建新虚拟机的时候DRS根据负载来自动选择创建在哪一个ESX Server主机上,但在运行过程中DRS对重新分配资源的操作,象Manual方式一样只是提出建议,具体的操作由系统管理员来完成。
    ·Fully automated:VirtualCenter自动决定新创建的虚拟机在哪个ESX Server主机上,在运行过程中自动通过VMotion特性来平衡资源的分配。

    这样我们就创建完成了一个cluster我们需要为新的cluster添加运行ESX Server的主机,从而使这些ESX Server主机可以受我们刚刚配置的DRS等算法的控制。执行下面的步骤添加新的ESX Server主机。
    1. 右键点击cluster并且选择Add Host。

    2.输入想要添加的ESX Server主机的信息,包括主机名(或ip地址)和root用户名和密码。如果输入的信息正确,VirtualCenter将会连接并且显示ESX Server主机。

    3.点击Next完成ESX Server主机的添加,在这里我们添加了一个8路的x3950服务器到cluster。

    4.按照同样的方法继续添加其他ESX Server主机到cluster。

    使用DAS
    现在cluster已经建立完成,我们来进行failover的测试。下图显示了cluster的状态,可以看到DAS和DRS都已经启用,cluster包含2个ESX Server主机,根据CPU和内存计算出了所有可用的资源。

    每个ESX Server主机上已经运行了一些虚拟机。下面分别是2个ESX Server上运行虚拟机的图示。

    为了模拟宕机的情况我们关闭第一台ESX Server主机。VirtualCenter会发现这台主机不再可用,并且把运行在这台主机上的虚拟机标志为不可用,然后会开始failover的进程。

    如下图所示经过failover过程后,原来运行在已经关机的第一个ESX Server主机上的虚拟机vm1在同一个cluster中的第二个ESX主机上重新启动了。

    failover的事件日志也会记录在VirtualCenter日志系统中。

    Distributed Resource Scheduler(DRS)
    这部分主要介绍Distributed Resource Scheduler (DRS)是如何工作的,并且举了一个简单的例子来说明。VirtualCenter通过DRS实现下面的一些功能,当cluster中的一个ESX Server主机由于负载过大导致资源饱和了,DRS将建议或者自动发起一个VMotion操作,将这个主机上的某些虚拟机安全迁移到cluster中的另一个有更多可用资源的ESX Server主机。如下图所示,例如在你的系统里有一个ESX Server主机的资源利用率已经达到了90%,而同时你还有其他的资源利用率比较低的ESX Server主机,DRS将重新平衡所有节点上的资源使用。

    如果调整资源的建议被管理员接受,或者DRS被设置成自动执行方式,资源将被重新平衡通过迁移一个或者多个虚拟机到其他主机。

    使用DRS
    现在我们介绍DRS的概念,我们继续使用和上一节DAS中使用的例子。在这个例子中第一个ESX Server主机是一个8路x3950服务器,如下图所示它的系统利用率,我们可以看到主机的资源利用率很低。

    另一方面,四路smp的虚拟机vm2运行着负载很大的应用在第二个4路ESX Server主机上,如下图所示。


    根据cpu和内存的利用率我们可以看到这个ESX Server主机的资源使用应该被调整,尤其在考虑到在cluster中还有一个8路服务器大部分时间处于空闲状态。几分钟后,DRS算法会建议系统管理员通过VMotion操作将vm2从第二个主机移到第一个主机上,如下图所示。

    点击Apply Migration Recommendation执行vm2从4路系统到8路空闲系统的Vmotion操作。
    注:如果DRS被设置为fully automated模式,VMotion将迁移虚拟机不需要管理员的确认操作,仅将日志记录到VirtualCenter的事件日志里。

    4路虚拟机

    支持4路虚拟机是ESX Server 3.0的创新特性之一。有了对4路虚拟机的支持,你可以在虚拟机上运行一些企业级的应用,比如数据库、ERP、CRM等这些应用往往都需要2个以上CPU支持。下图是一个4路windows虚拟机的图示。
    x3950服务器尤其是多节点的配置,不仅可以运行标准负载的ESX Server,更可以在x3950上运行一些安装了可扩展的企业级应用的虚拟机。下面讨论了两方面的原因。1. 运行企业级应用的虚拟机要求大型的ESX Server主机
    利用ESX Server在一个物理服务器上运行多个虚拟机有很多好处,比如更高的资源利用率、系统的整合等。但也有一些限制,虚拟机不能被分配更多的虚拟cpu比所安装的物理服务器的逻辑cpu数量。也就是说如果你想创建一个4路虚拟机(4个虚拟cpu),就必须要有一个有4个逻辑cpu的服务器(例如,至少2个双核或者启用超线程的物理cpu)。如果要很好的利用ESX Server 3.0支持建立4路虚拟机这个新特性,使用支持更多cpu的x3950是一个理想的选择。
    双核cpu对支持4路虚拟机有很大的帮助,但是不能解决在一个物理服务器上运行多个安装企业级应用的虚拟机所产生的所有问题,尤其当虚拟机出现资源利用率峰值重叠的时候。
    可以选择为所有运行企业级应用的虚拟机创建一个高优先级的资源池,使这些虚拟机需要资源的时候可以比较容易的获得。也可以为所有其他的虚拟机创建一个低优先级的资源池,使得高优先级的虚拟机并不争用资源的时候,低优先级的虚拟机也可以得到它们需要的资源。

     

    使用多节点x3950来进行上述配置的优势
    ·通过设置高优先级的资源池,可以保证运行企业级应用的虚拟机对资源的使用。
    ·通过可扩展的多节点配置,可以保证即使在同时出现资源利用率峰值的时候也可用提供足够的资源。
    ·保证在运行企业级应用的虚拟机在没有资源争用的情况下,其他的虚拟机也可以正常的使用cpu和内存资源。
    上面关于资源调整的功能不需要用户手工干预,这些都由VMkernel的调度算法所提供。

    注:尽管可以通过DRS自动的平衡不同ESX Server主机的资源利用,但是建议对于运行关键业务虚拟机的DRS调整要经过系统管理员的同意。

    下面列举了在同一个ESX Server主机上运行多个4路虚拟机可以同时达到资源利用率峰值的数量。对一个2节点单核CPU配置的x3950来说,你可用在上面运行5到10个4路虚拟机,并且可以支持2个虚拟机同时达到资源利用率的峰值。当然这里对系统数量的估计,是为了对主机配置和负载进行讨论的目的,在实际应用中你不会将虚拟机的使用率接近100%。

    例如,如果你有一个4路单核的x3950(第一行所列),上面安装了多个4路虚拟机,在同一个时间你只能有一个4路虚拟机达到资源利用率的峰值,这个时刻其他的虚拟机获得的资源就很有限。随着你使用更高的硬件配置(例如一个多节点x3950的配置),你的资源分配就会更灵活,因为很可能同一时刻没有2个4路虚拟机可以同时达到资源利用率峰值。这样当一个4路虚拟机达到资源利用率的峰值,其他的虚拟机还有比较多的资源可供分配。
    注:这里我们没有考虑启用超线程的情况,也没有统计由超线程产生的逻辑CPU数量。
    在上面关于资源利用率峰值重叠的描述中我们还可以考虑下面的情况,不同的应用在一天的不同时间段可能有着不同的负载。比如不同的数据库应用,一个应用联机事务处理能力的SQL Server数据库在白天可能一直处于高负载的运行状态,一个应用为数据仓库的Oracle数据库可能只有在晚上才开始收集报告。
    在不同的情况下,不同的企业级应用有着各自的工作模式,资源利用率情况也不尽相同。这时使用一个多节点配置的x3950服务器是个很好的选择。
    还有重要的一点是VMware虚拟结构并不是适合所有的4路企业级应用。尤其如果你的企业级应用一天24小时的资源利用率都接近90%,你也可能会考虑应用一个单独的物理服务器来运行这个应用。

    2.4路虚拟机的NUMA架构
    VMkernel的NUMA架构包括运行一个虚拟机在一个单独的NUMA节点上,如果VMkernel发现为一个虚拟机分配的虚拟CPU数量超过了系统NUMA节点的容量,VMkernel将禁用指定虚拟机的NUMA算法,这将对虚拟机的性能产生一定消极的影响。幸运的是这种情况不会发生在x3950服务器上。
    选择在什么情况下应用4路虚拟机是很重要的,例如你要应用一个4路虚拟机为一个后台SQL Server数据库,因为这个应用需要一个十分突出的性能。Intel Xeon架构是目前x86平台下可用适用4路虚拟机的平台,这意味着在x3950服务器上,VMkernel将使用NUMA算法来优化CPU和内存的使用,从而获得更高的性能。

    虚拟结构在x3950服务器上的扩展

    在x3950服务器上部署ESX Server的优势之一就是可以减少需要管理的物理服务器数量。下面我们举例说明一下如何在扩展虚拟结构的计算能力的同时保持IT基础设施的稳定性。
    下面例子是已经部署了100个虚拟机在6个可扩展的x3950平台上,如图所示。

    为了适应商业目的的需要,现在要求创建新的虚拟机运行新的服务。但是现有ESX Server服务器的资源利用率已经达到了70-80%,下面有2种选择
    ·购买新的服务器,在上面安装新的ESX Server,然后在新的主机上部署虚拟机,这是一种向外扩展的选择。
    ·基于x3950的特性我们还有另外一种不同的方法,可以升级现有的x3950服务器来支持更多的虚拟机,这是一种向上扩展的选择。添加x3950(或x3950E)节点到现有的x3950服务器上,这样我们可以在不改变现有的farm和cluster结构的情况下将支持虚拟机的数量加倍。如下图所示。

    如果需要,将来还可以继续通过简单的添加节点的方式对现有结构进行向上扩展,下图表示将几个ESX Server主机从8路扩展到16路。
    注:升级x3950从4路到8路的成本通常不会比新添加一个单独的4路服务器更高,这里包括软件license和硬件开销。


    你可能注意到在上面的例子中,我们没有考虑升级网络和光纤通道连接。实际上随着部署虚拟机和工作负载的增多,应该考虑添加物理网卡到虚拟交换机和添加光纤HBA卡来增加I/O吞吐量。

    向上扩展的步骤
    先前的部分描述了基于x3950平台的ESX Server向上扩展的概念。下面介绍一下在ESX Server上实施扩展的步骤。我们以升级4路x3950到8路3950为例进行说明。下图是服务器现有的主机配置和网络配置。

    在例子中,我们使用了2个网卡,第一个网卡作为console的网络连接,第二个网卡由VMotion和生产网络共享。注意这显然不是个最优的网络配置,这里仅仅是简单的测试环境。
    执行下面的步骤来实施配置的升级
    1. 关闭x3950服务器,拔去电源。
    2. 将附加的x3950或者x3950E节点和现有的x3950服务器配置成一个8路的节点。
    3. 启动第一个x3950节点,第二个x3950节点也应该被自动启动。ESX Server在启动过程中将自动检测到新的资源,新的CPU、内存等。ESX Server在更改配置生效前会重新启动。如下图所示。

    4.启动后新的资源将被系统所识别。
    注:为了支持更多数量的CPU你可能需要为ESX Server添加license

    5.网络的配置比较简单,第二个节点的2个集成网卡会被自动识别。我们可以根据需要进行配置。