高度虚拟化的环境中,混合模式I/O还能够大大提高数据中心的效率。过去,管理员通常根据单个应用程序需求调整各个服务器的大小;现在,虚拟环境中的混合I/O模式允许不同峰值需求共享资源。管理员可能经常会超额置备资源并调整各个虚拟机的大小以满足峰值需求。
仅分配物理上可用于支持所有正在运行的工作负载的资源。被认为是最安全的方案,因其可确保所有正在运行的虚拟机始终具有所需的资源。从以往经验看,CPU角度平均利用率仅为5%至15%;
vCPU与pCPU 之比视工作负载而定。虽然提倡vCPU:pCPU= 1:1的分配,设置不同比率的情况也很常见。也就是说,尽管vSphere5支持的超配比率为25:1,但能否实现高比率很大程度上取决于支持的工作负载类型。如果主机支持大量虚拟机,且每个虚拟机只有少量的CPU需求,则vCPU与pCPU 的比率可以很高。但是,如果主机运行大量CPU密集型工作负载,则该比率可能会小得多。
CPU就绪–从主机整体CPU运行状况角度来看,目前为止,该衡量指标最为重要。CPU就绪衡量指标用于确定虚拟机等待足够物理 CPU以满足虚拟机需求所需的时长。如果某个虚拟机分配有4个vCPU,该衡量指标将指示虚拟机等待4个对应pCPU同时可用所需的时长。
【超配经验】:
业内专家的指导建议是vSphere的“实际环境”比率值应在10:1到15:1范围内,vsphere官方文档中也有相关类似建议。有些资料显示的实际环境比率范围为6:1– 8:1,具体还是以业务需求而定,可通过容量核算来定,综合业务是计算密集型还是内存密集型。相关建议做法是将“CPU就绪”衡量指标保持在5%或以下。
Vsphere中关于RAM内存利用率提高的集中技术:
1)透明页面共享(TPS)–在大多数虚拟环境中,管理员运行同一操作系统的多个副本。在这些情况下,主机内存中存在大量重复的内存页面。透明页面共享基本是一种内存去重形式,vSphere将多个相同的内存页面组合到一个页面,释放其余页面以用于其他用途。从性能影响角度讲,TPS对主机的影响微乎其微。
2)内存气球(Ballooning)–在客户机虚拟机内安装VMwareTools 时,内存气球驱动程序会随其他Tools组件一起安装。该驱动程序充当Windows 进程,从而允许操作系统使用其常规内存管理技术为其分配闲置/未用内存页面。然后,气球驱动程序会“固定”这些页面,并报告给虚拟化管理程序(hypervisor)。如果主机物理内存不足,则会将客户机内存页面分配给此气球驱动程序。执行该分配后,主机可以回收这些内存页面以满足可能需要RAM的其他虚拟机的需求。通过这种方法,某个特定虚拟机有空闲RAM 时,可以透明地与同一主机上的其他虚拟机共享该RAM,从而提高主机的虚拟机密度。TPS是一项内存去重技术,气球进程可以为RAM提供精简置备功能。虽然气球进程需要一些CPU开销,但对客户机和主机的性能影响微乎其微。不过,在极端情况下,气球可能会在操作系统内引起交换。
3)内存压缩–在vSphere 4.1中,VMware 引入了内存压缩的概念,某些情况下,该技术可以替代成本高昂的交换进程。该技术,可以将内存页面压缩并置于磁盘上的压缩缓存中,而不是逐个虚拟机将内存页面交换到磁盘。需要交换已交换的页面使其返回到RAM时,则从此缓存中检索并进行解压。虽然此进程比交换到磁盘的成本低,但是对性能存在一定的影响。
4)交换到磁盘–交换到磁盘是管理程序检索足够物理RAM 以满足主机上运行的工作负载需求的最低级的选择。由于vSphere的其他内存管理技术非常优秀,因此通常仅在过量分配严重的主机上执行交换,不过,资源池限制或虚拟机上配置的内存限制也会引起交换。同样,如果虚拟机未安装VMwareTools 或VMwareTools未运行,系统将完全跳过气球进程,转而直接执行交换。交换是管理程序将最少使用的内存页面移至磁盘的过程。这些内存页面仍然可以访问,但需要时,必须从磁盘检索。从性能影响来看,交换具有极高的成本,并且会显著降低主机的整体性能。
仅当主机上存在内存争用问题,或存在上述讨论的交换情况时,才会执行交换和压缩。在大多数环境中,应避免导致交换或压缩的内存争用问题,因为这种情况意味着主机基本上用尽了RAM。
过量分配级别可能取决于一个主要因素:主机上运行多个类似工作负载时可实现的内存去重量。正在运行的工作负载之间的差异级别越大,可能发生的内存整合越少,可实现的密度越低。如果服务器上的每个工作负载都相同,则可能出现非常高的过量分配级别,管理员需定期浏览过量分配级别。实际经验表明,每个虚拟机分配的内存一般较大(总是超过该虚拟机实际使用的内存)。
【超配经验】:
1)可配置不超过物理内存的125%,即1.2:1的配比,部分经验表明超过该衡量指标会导致不可接受的风险。
2)在一些桌面环境中,经验表明1.5:1的配比,这也是Vsphere推荐的,属过度分配,超过该值风险极大。
监控: 主机服务器上,管理员需要监控虚拟机实际使用的RAM量。
超额置备存储最常见的方法是通过一个精简置备过程进行,相关经验验证表明,精简置备带来的性能影响微乎其微,几乎可以忽略不计。
精简置备运作如下:管理员置备虚拟机的总磁盘空间时,允许虚拟机访问整个分配空间。但是,实际上,vSphere 仅为虚拟机分配其实际使用的空间。因此,如果管理员向新虚拟机分配200GB存储空间,但该虚拟机仅使用40GB,则剩余的160GB仍可用于分配给其他虚拟机。,精简置备可帮助管理员为虚拟机提供需要的所有存储,而不必不断监控是否需要更多的空间,但潜在的较大风险是,会产生重大的可用性问题。如果存储超额预定导致存储卷耗尽空间,虚拟机仍认为它们具有可用磁盘空间,但实际上没有任何可用空间。如果监控不仔细,可能会导致严重故障、数据丢失并需要执行成本高昂的恢复操作。
**监控:**精简置备的管理员需要密切关注数据存储中的可用空间量
【超配经验】:
1)一些桌面环境中,存储超配比可控制1.5-2之间,最好不要超过1.5。超配比越高,监控的阈值配置条件可越精细,严格监控,及早预警。
口诀:先性能,后容量,关注CPU、内存、存储和网络
工具:VMware Capacity Planner
【性能规划】
**需求:**虚拟基础架构的性能需求指的是所有应用程序的性能需求的总和;
CPU和内存的容量基本上就意味着性能,但随着在虚拟化环境中大量的应用到共享存储,存储呈现出对性能的影响最严重的现象。规划存储时,需要重点关注两个指标,IOPS和MBps。IOPS用来衡量存储阵列每秒可处理的I/O请求数,通常与后端磁盘子系统的关系更为紧密。它的性能指标与磁盘尺寸和转速相关的。MBps则更多用于衡量带宽,它又分为读速率和写速率两个指标,用以衡量后端磁盘子系统能承受多少数据压力。
相关经验数据,不同类型磁盘的IOPS值的保守估计数值如下:
7200r/s SATA或NL-SAS:90 IOPS;
15000r/s FC或SAS:180 IOPS;
SSD:2500
网络案例:
工作负载需要15000IOPS、340 MBps读速率、100MBps写速率,使用15K SAS磁盘组建RAID5磁盘子系统,那么,计算过程如下
((读%+(4X写%))x所需IOPS/每磁盘IOPS=磁盘数
读操作占比=340/(340+100)≈77.27%;
写操作占比=100/(340+100)≈22.73%
计算结果取整后,大约需要141个磁盘。改用SSD后,大约需要11个磁盘,但是SSD又难以满足容量的需求。
这时,就需要利用到虚拟存储池以及子LUN存储分层技术。由SSD和HDD分层组成一个虚拟存储池,数据块将根据工作负载移动到合适的层级上,由SSD提供更高的IOPS和速率,而HDD则可以提供更大的容量。
【容量规划】
需求: 虚拟基础架构的容量需求指的是所有工作负载资源使用量的总和。
vsphere环境项目原始容量规划调研表
项目内容 | 项目数据 |
---|---|
基础架构上将要并行的虚拟机数量 | |
物理系统的平均CPU(MHz) | |
每台物理系统的平均CPU数(总的核心数量) | |
每台物理系统的CPU利用率峰值平均数(百分比) | |
每台物理系统的内存平均数(MB) | |
每台物理系统的内存利用率峰值平均数(百分比) | |
建议的或想要的主机规格信息 | |
CPU:每台主机的CPU插槽数 | |
CPU:每个CPU的内核数 | |
CPU:每颗内核的MHz数 | |
内存:每台主机的MB数 |
考虑因素:
在虚拟化实施的过程中,如果使用现有的服务器,推荐优先为服务器添加内存,网卡,其次是配置冗余电源,CPU;至于硬盘,在虚拟化项目中,优先是配置共享的存储,其次是添加本地硬盘。可以将原有的服务器改做存储服务器,例如,如果某服务器配置较低并且不具有升级的价值,但具有较多的本地硬盘时,可以将硬盘集中到某台服务器中,将这台服务器通过安装openfiler(32位或64位产品都有)或Windows Server 2008 R2或Windows Server 2012,组成存储服务器,通过千兆网络为虚拟化环境提供iSCSI的网络存储,这些存储可以用来做数据备份或扩展。
cpu: 建议系统至少有30%甚至更高的富余容量做为缓冲及管理等其他开销,即CPU的负载率为60%〜75%;一个主机上的资源利用率超过80%以致接近100%,整个系统响应会比较慢。通常情况下,2U的服务器最大支持,2个CPU,标配1个CPU;通常情况下,2U的服务器最大支持,2个CPU,标配1个CPU。考虑经济因素,采购两倍的2U服务器要比采购4U的服务器节省更多的资金,并且性能大多数也能满足需求。选择CPU时,选择6核或8核的英特尔系列的CPU为宜,10核或更多核心的CPU较贵
内存: 通常情况下,配置了4个8核心CPU的主机,一般需要配置96GB甚至更高的内存;在配置2个6核心CPU的主机,通常要配置32〜64GB内存。
网卡:至少要为服务器配置2接口的千兆网卡,推荐4端口千兆网卡;
电源:,2U服务器选择2个450W的电源可以满足需求,4U服务器选择2个750W电源可以满足需求,2个主备。虚拟网络vMotion、Management和vSphereFT网络可共用2块网卡(风险:当一块物理网卡出现故障时做vMotion操作就会导致单播泛洪。),生产业务网络用2块网卡。vSwitch使用access端口,vSphere Distributed Switch使用trunk模式。
存储:服务器配置6个硬盘做RAID5,或者8个硬盘做RAID50为宜;2.5寸SAS硬盘转速是10000转,3.5寸SAS硬盘转速为15000转,选择2.5寸硬盘具有较高的IOPS;且总体容量规划考虑,整个存储设计的容量要是实际使用容量的2倍以上(是配置RAID之后而不是没有配置RAID,所有磁盘相加的空间);另外一个重要的参数是IOPS(每秒输入/输出操作),即每秒进行读写(I / O)操作的次数,多用于数据库等场合,衡量随机访问的性能,存储端的IOPS性能和主机端的IO是不同的,IOPS是指存储每秒可接受多少次主机发出的访问,主机的一次IO需要多次访问存储才可以完成。但实际每个磁盘系统的IOPS是有上限的,如果实际的IOPS超过了磁盘组的设计上限,则系统反应会变慢,影响系统的性能。15000转的磁盘的IOPS是150,10000转的磁盘的IOPS是100,普通的SATA硬盘的IOPS大约是70 〜80一般情况下,在做桌面虚拟化时,每个虚拟机的IOPS可以设计为3〜5个;普通的虚拟服务器IOPS可以规划为15〜30个(看实际情 况),当设计一个同时运行100个虚拟机的系统时,IOPS则至少要规划为2000个,如果采用10000转的SAS磁盘,则至少需要20个磁盘。
网络:在进行虚拟机之间的动态迁移,或者将虚拟机从一个存储迁移到另一个存储时,为了减少迁移的时间,不对关键业务造成影响,在迁移期间会占用大量的网络资源,另外,在迁移的时候,虽然可以减少并发迁移的数量,但在某些应用中,可能会同时迁移多台虚拟机,这对交换机背板带宽以及交换机的性能的要求达到更高。将主机网卡连接到交换机的Trunk端口,然后在虚拟交换机一端划分VLAN,这样可以在只有有一到两个物理网卡时,可以让虚拟机划分到所属网络中的不同VLAN中。
【计算公式】
CPU:
每台物理机CPU平均值(MHz)X平均CPU数X高峰时CPU利用率平均值(%)=高峰时CPU利用平均数(MHz)
同时运行的虚拟机数量X高峰时CPU利用平均数(MHz)=高峰时CPU总利用数(MHz)
通过计算得出虚拟基础架构需要的计算能力
内存:
每台物理机的平均内存量(MB)X高峰时内存使用率平均值(%)=高峰时内存使用量平均值(MB)
同时运行的虚拟机数量X高峰时内存使用量平均值(MB)=高峰时内存总使用量(MB)
注:vSphere通过TPS(透明页面共享)机制在虚机之间共享内存页面,一般可获得33%的内存收益。
通过计算得出虚拟基础架构需要的内容容量
主机CPU规格:
每台主机CPU数量X每颗CPU内核数量X每个内核的MHz数=每台主机的MHz数
每台主机允许的CPU最高利用率(%)X每台主机的MHz数=每台主机CPU的可用MHz数
计算得出每台主机的计算能力
主机内存规格:
每台主机内存量(MB)X每台主机允许的最大内存使用率(%)=每台主机可用内存量
计算得出每台主机的内存容量
注: 一般建议保留20%的主机资源用于额外开销或应付可能发生的资源突发请求。
根据CPU需求计算出主机数:
高峰时CPU总利用率(MHz)/每台主机可用CPU(MHz)=根据CPU需求所需主机数(凑整)
根据CPU需求所需的主机数+1=在N+1冗余要求时所需的主机数
根据内存需求计算出的主机数:
高峰时内存总是用量(MB)/每台主机可用内存量(MB)=根据内存需求所需的主机数(凑整)
根据内存需求所需的主机数+1=在N+1冗余要求时所需的主机数
最终所需的主机数取决于最坏的情况,即,两者取最大值。
网络端口规划:
将同一台vSphere主机上不同类型的网络流量互相隔离,这是普遍认同的一种最佳实践
衡量参考:
管理网络:VMkernel(两个网卡)
vMotion:VMkernel(两个网卡)
容错(FT):VMkernel(两个网卡)
存储:VMkernel(两个网卡)
虚拟机流量:虚拟机网络(两个网卡)
带外管理网络:1个网卡
这意味着一台vSphere主机需要11个网络端口上联,两个互备的24口的交换机仅能满足4台vSphere主机的配置。
可采用融合机架式架构或融合刀片式架构来解决端口的问题,这样的架构通常只有两个万兆网络端口,并且可以通过增加上行链路的方式进行扩容;
也可以取消不用的端口类型,比如,使用FCSAN使,可以取消存储网络;未启用FT容错功能时,可以取消容错网络网络;或者对不同类型的端口进行整合,比如,网卡1用于vMotion网络,网卡2用于管理网络,可以将网卡1用于管理网络备用,网卡2用于vMotion网络备用。