本文介绍了基于VMware的虚拟化建设中,如何进行计算资源规划、存储资源规划、网络资源规划、可用性规划以及管理与监控规划。由 skey_deng 分享。
1、虚拟化的优势
虚拟化技术可以极大减少需要维护和管理的设备。虚拟化可以提高资源利用率,降低硬件采购成本,同时更加节能和节省空间。
服务器虚拟化后,我们通过虚拟化集群,统一进行管理。充分利用已有设备,同时也可以进行纵向及横向扩展新设备。
虚拟化的深入应用,将动态增加虚拟化集群的规模,形成更健康的IT体系架构。
客户端方面,将不改变原有的访问模式,不会对业务系统造成任何不利影响,可实现既有系统的平稳迁移。
虚拟化对比传统架构的优势点总结如下:
规划工作容易把控
硬件投资相对较小
资源利用率高,易整合
服务器功耗小,配套基础设施消耗小
应用部署快速,新业务上限周期短
业务连续性优异,抗灾害能力强
2、虚拟化适用性
虚拟化平台的适用性较强,除个别类型应用不适合虚拟化平台,其余皆可适用。
不适合采用虚拟化的应用
具有特殊硬件访问要求的应用
需求高性能图形显卡
不适用虚拟化,例如OCR文字识别系统
特殊的串/并行加密设备
不适用虚拟化,例如统一加密平台
USB设备连接需求
可能不适用,可采用外置USB设备代替,需经过测试,例如个别采用U盾授权的监控等
即使在高配置的服务器上仍然具有很高负载的应用
可能不适用,需分析当前服务器配置情况
3、虚拟化建设规划与分析
虚拟机上运行着为各个用户和整个业务线提供支持的应用与服务,其中有很多都是关键业务应用,因此必须正确设计、调配和管理虚拟机,以确保这些应用与服务能够高效运行。
3.1 计算资源规划
VMware ESXi主机是数据中心的基本计算构造块,这些主机资源聚合起来可构建高可用动态资源池环境,作为数据中心各应用的整体计算资源。
本小节主要介绍对计算资源进行整体规划的要求,包括物理服务器,虚拟机等资源。
指导原则与最佳实践:
- 除非确实需要多个虚拟CPU (vCPU),否则默认配置一个,使用尽可能少的虚拟CPU。操作系统必须支持对称多处理(SMP)功能。应用必须是多线程的,才能受益于多个虚拟CPU。虚拟CPU的数量不得超过主机上物理CPU核心的数量。
- 不要规划使用主机的所有CPU或内存资源,在设计中保留一些可用资源。要实现虚拟机内存性能最优化,关键是在物理RAM中保留虚拟机的活动内存,应避免过量分配活动内存。
- 始终将透明页共享保持启用状态,始终加载VMware Tools并启用内存释放。
- 资源池CPU和内存份额设置不能用于配置虚拟机优先级。资源池可用于为虚拟机分配专用CPU和内存资源。
- 在工作负载极易变化的环境中配置vSphere DPM,以降低能耗和散热成本。
- 部署一个系统磁盘和一个单独的应用数据磁盘。如果系统磁盘和数据磁盘需要相同的I/O特征(RAID级别、存储带宽和延迟),应将它们一起放置在一个数据存储中。
- 应用要求应作为向虚拟机分配资源的主要指标。
- 像保护物理机一样保护虚拟机的安全。确保为虚拟基础架构中的每个虚拟机启用了防病毒、反间谍软件、入侵检测和FW。确保随时更新所有的安全保护措施。应用合适的最新补丁,要将虚拟机软件和应用保持在最新状态,应使用补丁程序管理工具,或者安装和配置Update Manager。入侵检测及FW可以在网络上配置。
- 为避免管理连接问题,应向每个ESXi主机分配静态IP地址和主机名。为便于管理,应为DNS配置每个ESXi主机的主机名和IP地址,考虑到成本问题的话可以在VM中搭建简单DNS服务。
- 确保数据中心有足够的电源和散热容量以避免服务中断。
- 无论选择了哪个硬件平台,都应设计一致的平台配置,特别是在VMware集群中。一致性包括CPU类型、内存容量和内存插槽分配、网卡和主机总线适配器类型,以及PCI插槽分配,参见VMware的兼容性列表。
- 使用一个或多个启用了vSphere HA和DRS的集群,以增加可用性和可扩展性。
- 使用横向扩展还是纵向扩展集群由集群用途、基础架构规模、vSphere限制以及资金和运营成本等因素确定。
- 每台服务器的运算能力按照峰值而非平均值进行估算,确保可以支持虚拟机应用同时运行的最高值。
- CPU和内存的估算需要预留20%的空间用于突发的计算能力过量。
- 内存共享按照50%的比例进行估算。
- 使用以下公式来估算可以满足数据中心中虚拟机在CPU峰值时正常运行所需的ESXi主机个数。所有虚拟机的CPU峰值频率需求量总和/每台ESXi主机的可用CPU=需要的ESXi主机个数
- 使用以下公式来估算可以满足数据中心中这些虚拟机在内存峰值时正常运行所需的ESXi主机个数。所有虚拟机的内存峰值总需求量/每台ESXi主机的可用内存=需要的ESXi主机个数
- 为使用vSphere的高可用功能,我们需要考虑增加一定数量的ESXi主机个数。
3.2 存储资源规划
正确的存储设计对组织实现业务目标有着积极的影响,可以为性能良好的虚拟数据中心奠定基础。可以保护数据免受恶意或者意外破坏的影响,同时防止未经授权的用户访问数据。存储设计必须经过合理优化,以满足应用、服务、管理员和用户的多样性需求。
存储资源规划的目标是战略性地协调业务应用与存储基础架构,从而降低成本、改善性能、提高可用性、提供安全性,以及增强功能。
本小节对存储资源进行整体规划,包括共享存储逻辑规划,存储空间规划,存储I/O控制规划,存储分层规划等。
指导原则与最佳实践:在规划存储资源时,我们会遵循如下的指导原则与最佳实践。
- 构建模块化存储解决方案,该方案可以随时间推移不断扩展,以满足组织的需求,用户无需替换现有的存储基础架构。在模块化存储解决方案中,应同时考虑容量和性能。
- 每个存储层具有不同的性能、容量和可用性特征,只要不是每个应用都需要昂贵、高性能、高度可用的存储,设计不同的存储层将十分经济高效。
- 配置存储多路径功能,配置主机、交换机和存储阵列级别的冗余以便提高可用性、可扩展性和性能。
- 允许集群中的所有主机访问相同的数据存储。
- 配置存储DRS以根据使用和延迟进行平衡。
- 对于光纤通道、NFS和iSCSI存储,可对存储进行相应设计,以降低延迟并提高可用性。对于每秒要处理大量事务的工作负载来说,将工作负载分配到不同位置尤其重要(如数据采集或事务日志记录系统)。通过减少存储路径中的跃点数量来降低延迟。
- NFS存储的最大容量取决于阵列供应商。单个NFS数据存储的容量取决于将访问数据存储的每个虚拟机所需的空间,乘以在延迟可接受的情况下可以访问数据存储的虚拟机数量。考虑将存储DRS配置为使其成员数据存储的使用量保持在80%(默认设置)的均衡水平。
- 单个VMFS数据存储的容量取决于将访问数据存储的每个虚拟机所需的空间,乘以在延迟可接受的情况下可以访问数据存储的虚拟机数量。考虑配置存储DRS,使数据存储使用量保持在80%的均衡水平。保留10%到20%的额外容量,用于容纳快照、交换文件和日志文件
- 为促进对iSCSI资源的稳定访问,应该为iSCSI启动器和目标配置静态IP地址。
- 对于基于IP的存储,应使用单独的专用网络或VLAN以隔离存储流量,避免与其他流量类型争用资源,从而可以降低延迟并提高性能。
- 根据可用性要求选择一个RAID级别,对大多数虚拟机工作负载而言,如果阵列具有足够的电池供电缓存,RAID级别对性能不会产生影响。
- 对于大多数应用,除非存在对RDM的特定需求,否则请使用VMDK磁盘。
共享存储逻辑规划
对于属主机与存储的连接应采用多链路,以提高负载及冗余。
确保每个ESXi主机内虚拟机并发IO队列长度与HBA适配卡设置保持一致。
底层LUN的需求根据实际虚拟机应用对存储IOPS的实际需求进行规划。
根据应用的需要设置LUN的RAID结构,如对于随机读写的数据库如Oracle、SQL数据库,建议在LUN级别采用RAID10结构,对于数据库日志通常为连续写或恢复时连续读,建议在LUN级别采用RAID5结构。
对于IO密集型的应用尽量采用单独的VMFS存储,避免在存储端与其他应用产生IO争用。
多个虚拟机共用一个数据存储或者多个主机共享一个数据存储时,可以启用存储队列QoS确保核心应用的延时在可控范围以及对数据存储读写的优先级。
通常情况下1~2TB的LUN大小具有较好的性能和可管理性。
磁盘阵列的选择应该满足整个虚拟化环境最大IOPS的吞吐量需求,并配置足够的存储处理器、缓存和端口数。
存储空间规划
规划LUN容量时,建议每个LUN运行10到20个VM(数据事务类应用可以适当减少),并且每个LUN的使用量不超过容量的80%。
若VM需要直接访问存储卷,如NTFS或EXT3,应在存储中另外创建一LUN,以RDM方式映射到VM,VM以裸磁盘方式使用。
LUN容量规划的公式如下所示。
LUN容量 = (Z x (X + Y) *1.25)
其中:
Z = 每LUN上驻留10个虚拟机
Y = 虚拟磁盘文件容量
X = 内存大小
根据XXX客户的实际生产环境的情况,即:1GB内存,单一VMDK文件需要80GB,LUN容量计算如下:
LUN容量= (10 x (1 + 80) * 1.25) ≈ 1000 GB
存储分层规划
每个存储层具有不同的性能、容量和可用性特征,只要不是每个应用都需要昂贵、高性能、高度可用的存储,设计不同的存储层将十分经济高效。
在规划存储分层时,我们主要考量应用和服务的如下存储特征。
每秒I/O操作数(IOPS)要求
每秒兆字节数(MBps)要求
容量要求
可用性要求
延迟要求
并依据下列信息将应用及服务移至设计有匹配特征的存储层。
考虑任何现有的服务级别协议(SLA)
数据在信息生命周期中可能会在存储层之间移动
数据存储群集规划
数据存储以及与数据存储群集关联的主机必须符合特定要求,才能成功使用数据存储群集功能。
创建数据存储群集时,应遵循下列准则。
数据存储群集必须包含类似的或可互换的数据存储。
一个数据存储群集中可以混用不同大小和I/O能力的数据存储,还可以混用来自不同阵列和供应商的数据存储。但是,下列类型的数据存储不能共存于一个数据存储群集中。
在同一个数据存储群集中,不能组合使用NFS和VMFS数据存储。
在同一个启用了存储DRS的数据存储群集中,不能结合使用复制的数据存储和非复制的数据存储。
连接到数据存储群集中的数据存储的所有主机必须是ESXi 5.0及更高版本。如果数据存储群集中的数据存储连接到ESX/ESXi 4.x及更早版本的主机,则存储DRS不会运行。
数据存储群集中不能包含跨多个数据中心共享的数据存储。
最佳做法是,启用了硬件加速的数据存储不能与未启用硬件加速的数据存储放在同一个数据存储群集中。数据存储群集中的数据存储必须属于同类,才能保证实现硬件加速支持的行为。
3.3 网络资源规划
正确的网络设计对组织实现其业务目标有着积极的影响,它可确保经过授权的用户能够及时访问业务数据,同时防止未经授权的用户访问数据。网络设计必须经过合理优化,以满足应用、服务、存储、管理员和用户的各种需求。
网络资源规划的目标是设计一种能降低成本、改善性能、提高可用性、提供安全性,以及增强功能的虚拟网络基础架构,该架构能够更顺畅地在应用、存储、用户和管理员之间传递数据。
本小节对网络资源进行整体规划,包括虚拟交换机,网卡绑定等。
在规划网络设计时,我们主要从以下几个方面进行考量并进行相关的设计。
连接要求
带宽要求
延迟要求
可用性要求
成本要求
指导原则与最佳实践:
在规划网络资源时,我们会遵循如下的指导原则与最佳实践。
- 构建模块化网络解决方案,该方案可随时间的推移不断扩展以满足组织的需求,使得用户无需替换现有的网络基础架构,进而降低成本。
- 为了减少争用和增强安全性,应该按照流量类型(vSphere管理网络(HA心跳互联网络)、vMotion在线迁移网络、虚拟机对外提供服务的网络、FT、IP存储)对网络流量进行逻辑分离。
- VLAN可减少所需的网络端口和电缆数量,但需要得到物理网络基础架构的支持。
- 首选分布式交换机,并应尽可能少配置虚拟交换机。对于每一个虚拟交换机vSwitch应该配置至少两个上行链路物理网络端口。
- 可以在不影响虚拟机或在交换机后端运行的网络服务的前提下,向标准或分布式交换机添加或从中移除网络适配器。如果移除所有正在运行的硬件,虚拟机仍可互相通信。如果保留一个网络适配器原封不动,则所有的虚拟机仍然可以与物理网络相连。
- 连接到同一vSphere标准交换机或分布式交换机的每个物理网络适配器还应该连接到同一物理网络。将所有VMkernel网络适配器配置为相同MTU。
- 实施网络组件和路径冗余,以支持可用性和负载分配。
- 使用具有活动/备用端口配置的网卡绑定,以减少所需端口的数量,同时保持冗余。
- 对于多网口的冗余配置应该遵循配置在不同PCI插槽间的物理网卡口之间。
- 对于物理交换网络也应该相应的进行冗余设置,避免单点故障。建议采用千兆以太网交换网络,避免网络瓶颈。
- 对吞吐量和并发网络带宽有较高使用要求的情况,可以考虑采用10GbE,不过采用万兆网络在适配器和交换机上的投入成本也会相应增加。简单的方法是通过在虚拟机网络vSwitch或vPortGroup上通过对多块1GbE端口捆绑负载均衡实现。
- 将直通设备与Linux内核2.6.20或更低版本配合使用时,避免使用MSI和MSI-X模式,因为这会明显影响性能。
- 为了保护大部分敏感的虚拟机,要在虚拟机中部署防火墙,以便在带有上行链路(连接物理网络)的虚拟网络和无上行链路的纯虚拟网络之间路由。
虚拟交换机规划
所选用的网卡必须在vSphere服务器的网络I/O设备兼容列表里。
对于虚拟交换机的双端口冗余,如果网卡自带软件支持可以在ESXi操作系统级别实现NIC Teaming,本方案建议通过在vSwitch交换机层面配置双网卡的负载均衡或主备切换策略,负载均衡策略可以基于虚拟机源地址或目标地址IP哈希值,也可以设置为基于MAC地址哈希值。
对于虚拟机应用的网络,为了确保虚拟机在执行了vMotion迁移到另一物理主机时保持其原有的VLAN状态,建议根据实际需要在虚拟交换机端口启用802.1q的VLAN标记(VST)方式。采用此方式可以确保迁移主机可以保留原有的网络配置如网关等,并且建议在网络设置中启用通知物理交换机功能,该功能可以确保迁移主机通过反向ARP通知物理交换机虚拟机端口的更改,确保新的用户会话可以被正确建立。
对于虚拟机存储,采用IPSAN网络,通过虚拟机vmkernel包含的PSA多路径模块进行存储路径汇聚及故障策略选择。
网卡绑定
服务器整合会将各种故障影响混在一起,从而增加对冗余的需要。而通过使用来自多个网卡和主板接口的端口配置网卡绑定可进一步减少单点故障的数量。除此之外,网卡绑定还可以增加网络路径的可用带宽
网卡绑定要求满足以下条件:
将两个或更多网卡分配到同一虚拟交换机
同一端口组中的所有网卡都位于相同的第二层广播域中
3.4 可用性规划
本次规划充分考虑了虚拟化环境的可用性设计,例如:在网络层面和存储层面分别利用了VMware vSphere内置的网络冗余和存储多路径控制确保高可用。在服务器高可用性上,vSphere内置了HA,DRS和vMotion等功能可以应对本地站点多种虚拟机应用计划内和计划外意外停机的问题。
本小节对可用性进行整体规划,可用性相关技术的说明与配置指导原则如下:
指导原则与最佳实践:
- 在高可用性集群中配置所有vSphere主机,最少应实现n+1冗余。
- 按照需求启用HA策略,并且对于业务连续性要求较高的系统设置业务自启动脚本,保证虚拟机在其他宿主机重启后能够在最短时间内启动服务。
- 按照需求启用DRS策略,并设置互斥规则,尤其针对采用多机负载技术的应用,避免多机处于统一宿主机。
- VMware HA提供了简单易用、高效、高可用的虚拟机应用运行环境。在物理机发生故障时,可以被集群中的其他物理节点侦测到并且自动在备用物理机或其他有空闲资源的物理机启动故障节点在线的虚拟机。此外,如果虚拟机操作系统故障也可以被VMware HA侦测到并尝试重启该虚拟机,最大限度保持虚拟机应用的可用性。
- 利用VMware DRS动态资源调配可以收集各物理主机和虚拟机资源(CPU、内存等)使用情况,并且提供虚拟机最佳放置策略,可以自动或手动进行虚拟机的在线迁移功能满足最佳负载平衡需求。利用DRS建立资源池,可以最大限度的保证XXXX信息中心虚拟化环境的核心应用,例如针对办公系统的SQL数据库设置高优先级别,确保其在资源池中CPU、内存等资源的配比保持最优。同时,可以构建DRS HA集群在确保负载平衡的同时满足高可用的要求。
- 对于需要对虚拟机所在物理机运行环境进行升级维护时,可以采用VMware VMotion技术在线将该物理机运行的虚拟机通过网络迁移到其他物理主机,并且确保迁移过程中对虚拟机应用没有影响。迁移后所有与客户端的会话连接不会中断,目前千兆网络vSphere可以同时并发迁移4个虚拟主机。
3.5 管理与监控规划
VMware vSphere虚拟基础架构每天都必须持续高效运行。而保持这种高效性首先要从正确设计管理和监视组件开始。
本小节对管理与监控组建进行整体规划,包括vCenter Server及其数据库,警报和ESXi主机安装与配置等。
指导原则与最佳实践:在进行管理与监控规划时,我们会遵循如下的指导原则与最佳实践。
- 首选使用虚拟机部署vCenter Server和数据库系统。根据虚拟基础架构的大小部署一个或多个vCenter Server系统。
- 配置静态IP地址和主机名称,以避免与vCenter Server实例的连接中断。
- 如果可以允许停机一两分钟,请使用vSphere HA保护vCenter Server系统。如果无法容忍停机一或两分钟以上,请使用vCenter Server Heartbeat
之类的产品或第三方集群解决方案保护vCenter Server系统。- 如果为vSphere HA集群启用了DRS,请禁用vCenter Server虚拟机迁移。
- 对于除包括少量主机的小型基础架构外的所有基础架构而言,请勿将vCenter Server数据库系统和vCenter Server置于相同的系统中。
- 使用数据库供应商提供的可用性方法(如果可能),如果数据库供应商未提供特定的方法,请使用vSphere HA保护数据库服务器。
- 如果组织担心在使用管理界面连接vCenter Server系统或ESXi
主机时会有中间人攻击,请使用证书。如果配置了vCenter链接模式(仅限基于Windows的vCenter Server系统)或vSphere Fault Tolerance (FT),必须启用vCenter Server证书检查。- 使用自动化方法安装和配置ESXi主机。为基础架构服务创建独立的管理集群。
- 限制具有vCenter Server访问权限的用户数量。对具有vCenter Server访问权限的用户采用最低特权原则。
- 将vCenter Server系统和托管管理接口的所有服务器(VMware vSphere Client、vSphere PowerCLI等)添加到目录服务。然后在目录服务中创建用户和组
- 使用文件夹为需要相似访问权限的对象分配角色,通过简化权限分配来简化管理和增强安全性
- 在独立于vCenter Server系统的系统中安装vCenter Server可选模块。最好在虚拟机上安装可选模块。
- 如果设计包括多个vCenter Server系统,应该配置vCenter链接模式。vCenter链接模式要求所有vCenter Server系统都是同一个域中的Active Directory成员,或至少是受信任域的成员。
- 必须在虚拟机、ESX/ESXi主机和管理系统中保持时间同步。
- 快照不是备份解决方案,但却是很有用的撤消操作解决方案。对于生产环境,建议每个虚拟机对应一个快照和清除策略:
- 尽可能自动执行性能监视,并在超过性能阈值时创建用于通知的警报。但避免采用过于严格的vCenter Server警报设置。
- 在包含70–100 台主机或者更多主机的大型基础架构中,考虑至少创建一个启用了vSphere HA和DRS且包含三台主机的管理集群。
- 如果已存在管理集群,请优先使用现有管理工具与流程执行操作系统和应用的更新操作。否则,请使用Update Manager。