本节书摘来自华章出版社《VMware vCAT权威指南:成功构建云环境的核心技术和方法》一书中的第3章,第3.4节,作(美)VMware vCAT 团队,更多章节内容可以访问云栖社区“华章计算机”公众号查看
3.4 资源组架构
资源组(见图3.6)是一组专用于最终用户工作负载、由单个vCenter Server管理的资源。vCloud Director管理所有附属的资源组vCenter Server实例的资源。所有配置任务通过vCloud Director初始化,并且下传到相应的vCenter Server实例。
在标准化分组中配置资源为vCloud环境伸缩提供了一致的方法。建议用一个单独的vCenter Server实例管理云资源组。至少,如果你使用单个vCenter Server管理管理组件和云资源组,将所有vCloud资源工作负载放在一个单独的群集中。
不要使用vSphere Client对资源组对象进行更改。使用vSphere Client改变vCloud Director创建的对象的状态会引发不可预测的副作用,因为这些对象属于vCloud Director。
3.4.1 计算资源
按照vSphere设计原则配置资源组vSphere主机。正确地启用vSphere HA可以防止主机和虚拟机故障。
在vSphere 5中,向基于Fault Domain Manager(FDM,故障域管理器)的HA转移对于vCloud Director是透明的。HA/DRS群集中的总主机数量仍然为32,所以vCloud环境的群集规格原则没有改变。FDM要求用单个首选主机(Master Host)代替传统HA的5个主节点。如果首选主机失效,剩余的从机选择一个新的首选主机。
为快速置备(链接克隆)和VMFS数据存储限制每个群集8台主机不适用于vSphere 5.1所支持的资源组。VMFS5数据存储上的快速置备支持最多32台主机。
提供者虚拟数据中心提供一种服务交付。在构建群集时,将类似的服务器组合到一起(根据主机数量、核心数量、内存数量和CPU类型),通过容量或者性能支持计算资源的差别化。
无状态的ESXi
无状态(Stateless)ESXi指的是完全在内存中(没有任何本地持久化数据)运行一台主机上的VMware ESXiTM软件。主机状态的集中管理使得大的类似主机群组上的一致配置以及vSphere主机的快速置备成为可能。这有助于在大规模的vCloud环境中改进运营效率。
无状态ESXi需要VMware vSphere Auto DeployTM(VMware vSphere自动部署),这是一种在PXE启动的主机上应用映像配置文件和主机配置文件的部署服务器。vSphere Auto Deploy在单独主机或者vCenter Server实例上安装,默认安装在vCenter Server虚拟设备上。VMware vSphere PowerCLITM在vCenter和vSphere Auto Deploy都能访问的位置安装。主机配置文件对于无状态环境是不可或缺的,因为服务器的每次重启都会清除本地主机配置数据。
为所有无状态vSphere主机配置DHCP。DHCP服务器需要更改配置,将vSphere主机引导到一台TFTP服务器。该服务器可以是单独的DHCP服务器,也可以是组织的DHCP服务器。vCenter Server虚拟设备包含了DHCP和TFTP服务。
识别用于vCloud主机的映像配置文件,这可能是存储在公共库中的配置文件,也可能是本地存储的一个压缩文件。如果使用主机配置文件,在vSphere Auto Deploy能够访问的位置保存主机配置文件的副本,并用VMware vSphere? ESXiTM Image Builder CLI向规则引擎添加规则。
图3.7说明了第一次启动期间的自动部署步骤。
vCloud Director可以管理有状态或者无状态的vSphere主机。如果你选择无状态选项,将vCloud Director vSphere Installation Bundle(vSphere安装包,VIB)(包含代理)添加到映像配置文件。vCloud Director VIB在主机启动时自动加载。为了无状态主机准备和取消准备,vCloud Director用带有相关应答文件的一个主机配置文件配置该代理。
如果主机重启,相应的映像配置文件在主机开始备份的时候重新加载。vCloud Director检测状态变化,并再次向主机推送配置。
如果使用无状态模式,避免创建需要主机特定配置的设计。将准备好的有状态主机转换为无状态主机时,要在转换之前取消主机的准备。
3.4.2 网络资源
对于vCloud资源组,在配置网络时应该记住vSphere设计原则。将每台主机vSphere分布式交换机端口增加为最大值4096,以增大vCloud Director可以为vCloud网络动态创建的端口组规模。关于增加该值的更多信息,参见VMware vSphere文档中的《vCenter Server and Host Management Guide》(vCenter Server和主机管理指南,www.vmware.com/support/pubs/vsphere-esxi-vcenter-server-pubs.html)。
将所有物理网络设备和传输网络中的vSphere分布式交换机的最大传输单元(maximum transmission unit,MTU)大小增加到1600,以支持VXLAN或者vCloud Director网络隔离。如果没有增加MTU大小,会导致包碎片,对最终用户的工作负载吞吐量造成负面影响。
3.5小节介绍vCloud网络考虑因素。
3.4.2.1 I/O控制
vCloud Director提供如下控制,防止消费者误用资源:
运行中和存储的虚拟机限额确定组织中的每个用户可以存储的虚拟机数量,以及组织虚拟数据中心内可以开启的虚拟机数量。这个限额作为所有添加到该组织的新用户的默认值。
对资源密集操作的限制避免消费者影响组织中的所有用户,并提供对拒绝服务攻击的防御。
因为性能或者安全性的理由限制并发VMRC连接数量。
3.4.2.2 IPv6
互联网协议第6版(IPv6)是IP编址的最新版本,设计用于接替IPv4作为互联网的标准协议。迁移到IPv6的关键驱动力之一是支持更大的地址空间(有264个地址,而IPv4只有232个)。
支持IPv6需要下列vCloud Director组件:
静态IP池
DHCP服务器
静态IP分配
NAT规则
防火墙规则
支持IPv6需要下列vSphere基础架构组件:
vCenter Server
ESXi
vSwitches(标准和分布式)
VMkernel
vSphere vMotion
虚拟机(可用于Windows和Linux的客户机操作系统定制)
vSphere虚拟机支持IPv6编址,可以用如下组件配置:
静态IPv6地址
用来自路由器的前缀通告进行自动配置
来自DHCP6服务器的DHCP
用于内部通信的本地网络地址
vCloud Networking and Security Edge目前不支持IPv6。vCloud Director用IPv6管理的虚拟机只能与不处于vCloud Networking and Security Edge设备之后的端点通信。在同一个直接连接的vApp或者组织虚拟数据中心网络上通信的虚拟机可以使用IPv6。要使用IPv6与外界通信,可以将组织的虚拟机连接到一个直连的外部组织虚拟数据中心网络。
许多目标目前不支持IPv6,所以要在IPv4和IPv6的双重协议栈中操作虚拟机。
如果底层的物理基础架构不支持IPv6,另一个选择是用路由器建立6-to-4隧道,提供到IPv6 vCloud的连接。在一个具有纯IPv6接口和IPv4接口的中继路由器上终止隧道,在两个环境之间移动流量。
对于单元网络接口,vCloud Director不支持IPv6编址。
3.4.2.3 虚拟可扩展LAN(VXLAN)
虚拟可扩展LAN(Virtual eXtensible LAN,VXLAN)是IETF提出的一种协议,使用封装机制,在3层网络上启用一个2层覆盖。VXLAN支持不同网络上的弹性虚拟数据中心。
VXLAN设计用于在现有网络上进行无缝部署,对物理网络的更改很少。VXLAN要求在用于组播(Multicast)路由的物理交换机和PIM上启用IGMP(v1,v2和v3)snooping,在物理网络基础架构上部署IP组播。
3.4.2.4 vCloud Networking and Security Edge
vCloud Networking and Security Edge是一种虚拟防火墙路由器,提供支持多租户所需的边界安全。vCloud Networking and Security Edge设备在从vCloud Director中创建路由或者隔离的组织或者vApp网络时自动部署。对于vApp网络,vCloud Networking and Security Edge设备动态根据vApp的电源状态自动部署和取消部署。
包含在vCloud Director中的vCloud Networking and Security Edge许可证不包含SSLVPN和负载平衡等功能,这些功能包含在完全授权的vCloud Networking and Security Advanced Edition中。
3.4.2.5 vCloud Networking and Security App
vCloud Networking and Security App是一个基于虚拟化管理器的vNIC级别应用程序防火墙,控制和监控虚拟数据中心内虚拟机之间的流量。防火墙策略可以应用到vCenter安全组——通过vCloud Networking and Security Manager UI创建的自定义容器。容器策略允许创建混合的信任区群集,不需要附加的物理防火墙。vCloud Networking and Security App还支持经典的五元防火墙规则。
3.4.2.6 vShield Endpoint
VMware vShield Endpoint将防病毒功能转移到由Trend Micro等合作伙伴提供的加固安全虚拟机上。vShield Endpoint使用VMware端点安全性(endpoint security, EPSEC)API访问文件系统,以扫描和清除病毒。这就消除了在客户机操作系统设置代理的需求,避免在扫描或者防病毒软件更新活动中消耗CPU周期而引起的防病毒风暴。防病毒功能减负提供了增强的安全性,因为恶意软件攻击往往从禁用防病毒代理开始。高效的vShield Endpoint防病毒架构为大规模的vCloud环境提供了服务形式的防病毒功能。
3.4.2.7 vCloud Networking and Security Data Security
vCloud Networking and Security Data SecurityTM提供了组织虚拟化和vCloud环境中存储的敏感数据的可见性。vCloud Networking and Security Data Security提供的违规数据能够提供保护敏感数据和实现规章合规性所需的信息。
目前,vCloud Director 5.1没有集成vCloud Networking and Security App、vCloud Networking and Security Data Security或者vShield Endpoint。结合使用这些功能和vCloud Director需要精心设计vCloud基础架构。
3.4.3 存储资源
为vCloud设计存储资源不同于传统的vSphere方法。VMware vSphere Storage DRSTM和存储配置文件等平台特性有助于在存储资源中平衡工作负载,使提供者能够提供差别化的存储。这能够配置灵活的存储资源池,同时为最终用户保持一致性的性能。用户可以为特定的工作负载类型选择合适的存储层。
在设计存储资源时,VMware建议进行如下工作:
进行一次存储使用情况和趋势的当前状态分析。
定义需要的存储SLA范围和合适的定价模型。
在vSphere中根据SLA、工作负载和成本,创建多个存储配置文件。
将存储配置文件映射到提供者虚拟数据中心。
选择提供者虚拟数据中心提供的存储配置文件的一个子集,应用到组织虚拟数据中心。
设计最优化的可用性(从vSphere主机到存储架构的冗余路径)。
部署模块化和可伸缩的物理存储。
用容量分析工具监控存储使用情况和趋势。
使用存储性能工具调整vApp存储工作负载。
vCloud Director使用存储配置文件支持在一个虚拟数据中心的分层存储。按照vSphere设计原则在资源组中配置共享存储和存储配置文件。
数据存储规格考虑因素包括容量和性能。
数据存储容量考虑因素:
根据物理存储和vCloud工作负载预期,数据存储的最优化尺寸是多大?
平均vApp尺寸×vApp数量×空闲容量是多大?例如,平均虚拟机尺寸×虚拟机数量×(1+%净空比)。
平均虚拟机磁盘尺寸是多大?
平均情况下,一个vApp中有多少个虚拟机?
虚拟机预期数量是多少?
扩张所需的保留空闲容量是多少?
预期的工作负载是临时性还是静态的?
是否使用快速置备?
数据存储性能考虑因素:
预期的工作负载是不是磁盘密集型的?
相关群集的性能特性如何?
vCloud Director不支持原始设备映射(RDM)。
3.4.3.1 存储分层
vCloud Director 5.1中的存储分层通过存储配置文件在虚拟机层次上实现:
存储配置文件的编写、改名和删除通过vSphere进行。
存储配置文件可以在提供者虚拟数据中心级别上添加、禁用或者删除。
被选择的群集中的所有可用存储配置文件在提供者虚拟数据中心创建时列出。
组织虚拟数据中心存储配置文件基于由提供者虚拟数据中心提供的存储配置文件的一个子集。
每个组织虚拟数据中心都有相关的默认存储配置文件。
所有虚拟机都有相关的存储配置文件,默认使用组织虚拟数据中心存储配置文件。
虚拟机的放置基于存储配置文件。
支持存储配置文件的其他实体包括:
模板
媒体
独立磁盘
OVF存储配置文件支持:
vSphere在将虚拟机导出为OVF时不支持导出存储配置文件关联。
vCloud Director模板下载导出一个模板虚拟机的默认实例化配置文件。
vCloud Director模板上传应用OVF规定的模板虚拟机默认实例化配置文件。
独立于虚拟机的磁盘有这些特性:
与组织虚拟数据中心存储配置文件相关
允许选择数据存储放置存储配置文件的磁盘账户
可以更改存储配置文件
允许使用与连接该磁盘的虚拟机不同的存储配置文件
下列vSphere更改影响vCloud Director存储配置文件:
更改数据存储标签
删除存储配置文件
更改虚拟机存储配置文件关联
虚拟机用VMware vSphere Storage vMotion迁移到新的数据存储
存储配置文件合规性检查在如下情况进行:
通过REST API初始化时
在设定的时间间隔自动进行
在vCenter中删除组织虚拟数据中心使用的存储配置文件时
在虚拟机用vSphere Storage vMotion迁移时
违反合规性会以系统警告的形式在虚拟机上显示。
3.4.3.2 vSphere Storage vMotion
vSphere Storage vMotion可以实时地在共享存储位置上迁移虚拟机磁盘文件。如果符合如下条件,vApp磁盘的重新定位可以使用vCloud API或者vSphere Client进行:
目标数据存储是与vApp相同的组织虚拟数据中心的一部分。
单独虚拟机的所有虚拟磁盘都被迁移到同一个数据存储。
使用vCloud API初始化vSphere Storage vMotion,保留链接克隆状态。
不要用vSphere Client调用链接克隆的vSphere Storage vMotion迁移,因为这样做可能造成预想之外的效果,例如增量磁盘的膨胀。涉及数据存储和主机的vSphere Storage vMotion操作可能失败。
3.4.3.3 存储I/O控制
通过存储设备延时监控和数据存储级别上实施的磁盘共享,存储I/O控制(SIOC)管理各个主机的存储资源。在争用期间避免存储资源的不平衡,能够在高度统一的虚拟化环境中保护虚拟机的性能。
在群集中的所有数据存储上启用SIOC,可以通过保持工作负载隔离/优先级和存储I/O吞吐率之间的平衡,减少最恶劣情况下的设备延迟。更多信息,请参见存储控制技术概述和部署考虑因素(www.vmware.com/files/pdf/techpaper/VMW-vSphere 4.1-SIOC.pdf)。
SIOC不支持原始设备映射(RDM)或者具有多个盘区(Extent)的数据存储。如果你使用由具备自动存储分层功能的阵列支持的数据存储,就要验证与SIOC的兼容性。
3.4.3.4 vSphere Storage APIs-Array Integration
vSphere Storage APIs-Array Integration(VAAI)是一组ESXi和存储阵列之间的协议接口。这些ESXi扩展可以通过允许vSphere向支持的阵列传递存储原语,实现基于存储的硬件加速。
在vCloud环境中,源自配置任务的克隆和快照操作可能很快淹没系统。VAAI改进了繁重存储操作期间存储任务的执行时间、网络流量利用率和主机CPU利用率。
对于基于块存储的系统,阵列集成扩展以基于T10 SCSI命令的形式实现。支持T10 SCSI标准的设备不需要VAAI插件来卸载存储功能(如全拷贝、块置零和加锁)。
NAS的硬件加速通过安装供应商插件启用。VAAI NAS插件由存储供应商开发,VMware进行验证。
vCloud Director 5.1支持如下通过VAAI集成进行的减负。
块(FC,iSCSI):全拷贝功能卸载到阵列上(ESXi 4.1或者更高版本,使用在VMware兼容性指南中列出的存储阵列固件)。
NFS:全拷贝功能卸载到阵列上(ESXi 5.0或者更高版本,使用安装在ESXi服务器上的供应商VIB(Virtual Infraseruceure Bundle,虚拟基础架构包))。
NFS:对于支持克隆功能的存储阵列,链接克隆卸载到阵列上。
3.4.3.5 vSphere Storage DRS
vSphere Storage DRS为具备vSphere Storage DRS功能的数据存储群集中的数据存储提供初始布局和持续平衡建议。数据存储群集提供了数据存储资源的聚合——类似于群集与主机的关系。
使用vSphere 5.1主机时,vCloud Director 5.1支持vSphere Storage DRS。在vSphere 5.1中,vSphere Storage DRS还支持快速置备(链接克隆)。
vSphere Storage DRS持续地平衡存储空间使用和存储I/O负载,避免资源瓶颈,满足服务水平,并提高存储的可管理性。
vCloud Director 5.1识别存储群集。成员数据存储阵列在vCloud Director中可见,但是无法从vCloud Director中修改。
vCloud Director 5.1利用vSphere Storage DRS进行虚拟机的初始布局。
vCloud Director使用vSphere Storage DRS管理空间利用率和I/O负载平衡。vSphere Storage DRS能够帮助存储单元(Pod)中的虚拟机、媒体和虚拟机磁盘进行再平衡。
正如在vCloud Director 1.x中那样,贯穿vCloud Director中分配的所有vSphere实例,vCloud Director 5.1在数据存储群集和独立数据存储之间确定最优的布局。
REST API有一种新的VIM对象类型DATASTORE_CLUSTER。当VIM对象类型为DATASTORE_CLUSTER时,数据存储属性现在包含数据存储成员列表。
3.4.3.5.1 vSphere Storage DRS和快速置备
vSphere Storage DRS支持vCloud Director中的快速置备。
vSphere Storage DRS只支持vCloud Director 5.1的连接克隆。
vCloud Director 5.1不支持跨越数据存储的链接克隆配置。
vSphere Storage DRS不建议从基本磁盘跨越到数据存储的链接克隆。
vSphere Storage DRS将克隆迁移到一个包含影子虚拟机的数据存储,并将克隆重新链接到现有的影子虚拟机。
链接克隆可以在VMFS3和VMFS5之间迁移,并在vSphere Storage DRS中得到支持。格式转换自动在平台级别上处理。
迁移一个虚拟机的逻辑受到如下因素的影响:
移动的数据量
源数据存储的空间减少量
目标数据存储的附加空间量
链接克隆决策还取决于目标数据存储是否有基本磁盘的一个拷贝,或者影子虚拟机是否必须实例化:
在一个数据存储上放置没有基本磁盘的链接克隆,会造成数据存储上使用的空间更多,这与在已经存在的影子虚拟机上放置克隆相反。
在初始布局期间,vSphere Storage DRS选择一个包含影子虚拟机的数据存储,以便这种布局得到最大的空间节省。如果必要,初始布局建议可以包含从目标数据存储中撤出现有虚拟机。
如果已经包含了基本或者影子虚拟机的数据存储不可用,vCloud Director制作一个完整的克隆,在所选的数据存储中创建一个影子虚拟机,然后在所选的数据存储中建立链接克隆。
vSphere Storage DRS中的最新模型在计算潜在移动影响时考虑了链接克隆共享。
链接克隆和没有链接克隆的虚拟机可以共存于同一个数据存储。
3.4.3.5.2 vSphere Storage DRS的局限
vCloud Director不支持存储单元的创建、删除和修改。这些任务必须在vSphere级别上执行。
vCloud Director不支持成员数据存储操作。
如果vSphere主机是vSphere 5.1之前的版本,用于vCloud Director的数据存储群集无法启用vSphere Storage DRS。
3.4.4 vCloud资源规模的确定
vCloud资源规模的确定(Resource Sizing)取决于对应的服务定义。私有vCloud服务定义可能没有明确地提出需要支持的工作负载数量。在这种情况下,以公共vCloud的初始规模作为参考。
对于公共vCloud,vCloud消费者资源的初始规模可能很难预测,因为缺乏预期消费者的数据点。提供者也不知道现有使用的vCloud工作负载的统计数字。
位于下一小节的规模确定示例来自第2章,有助于vCloud环境初始规模的确定。
联系当地的VMware代表,获取关于你的vCloud环境规模的详细信息。
3.4.4.1 公共vCloud规模确定示例
服务定义说明,50%的虚拟机使用保留池模式,50%使用现收现付分配模式。模式应用到小、中和大资源池的比例分别为75%、20%和5%。因此,“小”代表环境中虚拟机总数的37.5%,“中”代表总数的10%,“大”代表总数的2.5%。
表3.4列出了各种虚拟数据中心的虚拟机数量。虚拟机总数1500反映了第2章中概述的公共vCloud服务定义规格。你可以修改这个总数,反映自己的目标虚拟机数量。
因为百分数的关系,有些虚拟机数量向上或者向下取整。
第2章还提出了在vCloud中的虚拟机分布,45%为小,35%为中,15%为大,5%为超大。表3.5显示了CPU、内存、存储和网络的需求。
在确定最终规模之前,参考VMware设计指南,获得常见的合并比例。表3.6显示了使用现场部署中典型的合并比例得出的最终数量。
16台具备如下配置的主机可以支持必要的容量。
插槽数量:4
核心数量:6
超线程:支持
内存:144GB
网络:双10GigE
这些计算没有考虑消费者或者提供者模板消耗的存储,也没有考虑vCloud Networking and Security Edge设施消耗的资源。一个vCloud Networking and Security Edge设备支持所有私有组织虚拟数据中心网络和外部路由的组织虚拟数据中心网络。
下面是每个vCloud Networking and Security Edge设施的规格。
CPU:1vCPU(紧凑),2vCPU(大)
内存:256MB(紧凑),1GB(大)
存储:200MB(紧凑),256MB(大)
网络:1GigE(这已经计算在工作负载的吞吐率中,不应该再次计算)
3.4.4.2 vCloud最大限值
vCloud基础架构的可伸缩性反映了该平台在对可管理性、性能和可靠性的影响最低的情况下,管理不断增加的vCloud消费者及工作负载的能力。从消费者的角度,可伸缩性指的是响应按需消费基础架构资源的能力。
在设计vCloud规模时,要考虑vCloud平台以及底层vSphere平台的最大限值。vCloud Director 5.1要求采用vSphere 5.1,并且进行了许多平台改进和增强。vCloud Director还引入了一些可能影响伸缩性的特性,包括快速置备、扩展、SQL Server支持、第三方分布式交换机集成和UUID。
vCloud Director Web控制台最大限值是主要的约束条件,然后是vSphere平台最大限值。vCloud Director数据库平台的选择(Oracle或者SQL Server)可能造成很小的性能差异。
表3.7列出了10单元配置下的vCloud最大限值。
关于配置最大限值的更多信息,请参见VMware vSphere文档中的《Configuration Maximums for VMware vSphere 5.1》(VMware vSphere 5.1配置最大限值,www.vmware.com/support/pubs/vsphere-esxi-vcenter-server-pubs.html),以及VMware知识库文章《vCloud Director 5.1 Configuration Maximums》(vCloud Director 5.1配置最大限值,http://kb.vmware.com/kb/2036392)。