越来越多的企业考虑通过虚拟化来提高 IT 资源和应用程序的效率和减少运营成本。而在传统的服务器维护中,如果一台服务器宕机,那么最多就是这台服务器上的应用无法正常提供服务,可以通过集群高可用等方法解决;但是在虚拟化环境中,如果一台虚拟主机端服务器宕机,那么运行在上面的虚拟机就都会无法正常运行。

虽然虚拟化将所有的资源都集中管理,但是出现故障时影响的面也广了,所以在虚拟化中集群高可用的功能就显得尤为重要。保护物理服务器是不够的,还要保护包含重要商业数据和信息虚拟服务器。虚拟服务器提供了灵活性,但是,与此同时,如果一台包含多个虚拟服务器的物理服务器出现故障,那将造成巨大的数据损失。

本文主要介绍如何优化现有的VMware虚拟化环境,利用架构改造将环境调整为高可用架构。无论是网络资源层、计算资源层、还是存储资源层均实现双链路高可用。在做任何架构的改动之前,一定要对现有环境有足够的认知和了解,掌握其变动对业务的影响。

  • 在调整架构之前,一定要先了解和熟悉现有架构缺点。

  • 在调整架构之前,解决现有环境的故障问题。

  • 了解现有架构与业务的匹配性。

  • 预评估现有架构改造的工作量和依赖条件。

下面将详细介绍如何将现有VMware架构调整为高可用性双链路架构。

 

高可用方案背景

VMwarevSphere是VMware公司推出的一套服务器虚拟化解决方案,vSphere本身是个软件套件,组件主要包括用于主机虚拟化的ESXi,用于虚拟化管理的vCenter,用于升级的Update Manager,以及自动化部署Auto deploy等。

在之前的架构中,集团已有的虚拟化架构已经存在2年了,整体运行良好,但是每次出现问题的时候,都会影响业务的运行,无论是网络设备故障还是SAN交换机、甚至计算节点。整体方案采用千兆的网络交换机进行虚拟机的管理与迁移,群集之间未开启HA,SAN的划分层次不明确,名称没有规范。导致故障后,虚拟机不能及时漂移。业务的流量过大,网络带宽受到限制。硬件链路的设备损坏,将导致虚拟化环境瘫痪,影响业务的正常使用。由于之前的架构在vMotion和Storage vMotion上的性能不佳,导致硬件或系统变更时,业务不能很好的迁移,给运维带来了不小的压力。

VMware vMotion迁移原理

vMotion作为VMware提供的强大功能之一,可以很好的帮运维人员解决单机维护影响业务的困扰。了解vMotion的迁移原理,为更好的架构设计打好铺垫。

VMware VMotion能够在两台正在运行的服务器之间进行实时迁移,具有零停机性能,能够 大幅度提高了服务器的可用性,保证交易数据的完整性。用户可以手工迁移服务器上的虚拟机至另外一台服务器,从而在不间断服务的情况下,升级和维护原来的服务器。多个服务器之间可以自动迁移虚拟机,从而达到负载均衡,提高资源利用率的目的。同时,这项技术还可以实现双机或多机热备,保证了服务的高可用性。具体工作原理,如图 1 所示,Storage vMotion如图 2 所示:

1

图1.vMotion迁移原理图

专业术语说明:

  • vMotion:是VMware 开发出的一项独特技术,它将服务器、存储和网络设备完全虚拟化,使得正在运行的整个虚拟机能够在瞬间从一台服务器移到另一台服务器上。虚拟机的全部状态由存储在共享存储器上的一组文件进行封装,而 VMware 的 VMFS 群集文件系统允许源和目标 VMware ESX 同时访问这些虚拟机文件。

  • Storage vMotion:是VMware推出的一项针对存储迁移的功能,就是在虚拟机开机状态下改变其存储位置,和VMotion一样,整个迁移过程对用户透明,应用不会中断。

Storage vMotion作为VMware提供的另一个强大功能,极高方便了管理员针对存储的运维,可以在业务需要时随时在线迁移VM的存储,不影响业务的正常运行,而且vMotion和Storage vMotion是可以同时操作的。

2

图 2.Storage vMotion原理图

原理图说明:

  • 移动磁盘文件之前,Storage VMotion 会在目标数据存储中为虚拟机创建一个新的虚拟机主目录。

  • 接着,将会创建一个新的虚拟机实例。其配置保留在新的数据存储中。

  • 然后,Storage VMotion 会为每个所移动的虚拟机磁盘创建一个子磁盘,用于在父磁盘处于只读模式的同时捕获写活动的副本。

  • 将原始父磁盘复制到新的存储位置。

  • 子磁盘重新成为新位置中新复制的父磁盘的父磁盘。

  • 完成到新虚拟机副本的转移后,原始实例将关闭。然后,从 VMware vStorage VMFS 中删除源位置的原始虚拟机主目录

整个过程所花费的时间与冷迁移大致相同,并且与虚拟机磁盘的大小有关。从原始虚拟机到新实例的最终切换可在两秒内完成,并且对应用程序用户是透明的。Storage VMotion 使用独立于特定存储类型的高级拷贝引擎技术。这意味着它适用于您已有的任何存储类型。

现有架构设计

为了让大家更好的理解现有架构的问题,根据项目的实际经验绘制了部署架构图,并在文中对架构图进行了详细说明。如图 3 所示:

3

图 3.VMware部署架构图

说明:

为了更好的理解架构用意,以下为详细说明。

1.通过文章可以看到这是一个典型的集中存储架构,采用HP的3PAR作为虚拟机的存储。

2.两台博科SAN交换机交叉链接。

3.四台思科千兆交换机两两堆叠,但是网关和出口却在第一台。

4.所有ESXi主机分别连接SAN网路及以太网络。

高可用架构

乍一看之前的架构没有什么问题,但是仔细推敲会发现网络不具备冗余效果,当第一台交换机出现意外宕机,那么整个虚拟化环境将脱离网络,直接影响业务的正常运行。而四台交换机均为千兆交换机,无法满足业务的使用和将来的扩展。为了解决这些问题,我们将现有架构进行了修订,所有链路均实现冗余,任何一条链路中断,都不会影响业务的正常运行。新架构如图4所示:

4

 


图 4.虚拟化环境架构图

高可用架构说明

由于受到硬件资源限制,首先需要购买万兆交换机,并且每台服务器上需要插入万兆网卡,详细信息如表 1 所示。

表 1.环境设备说明
5

计算节点的设计

X3650服务器额外配置2块万兆双口网卡、自带4个千兆网口、2个HBA卡。为了让虚拟化的性能和稳定性提高,采用管理流量、vKernel流量和VM流量分开的方式,不同的网卡走不同的流量,相互之间无干扰。共24台服务器,建立4个群集,分别用于生产和测试,在下文的网络配置中,将详细讲述具体的分流配置。

ESXi安装

实际项目中采用VMware vSphere6.0版本搭建虚拟化环境,其稳定性和功能性比之前的版本有所提升。

管理员通过IMM远程安装ESXi到24台服务器,并配置IP、主机名、DNS等配置。使所有主机相互通信,开启防火墙防止远程登陆,强化安全防御机制。

ESXi添加群集

按照规划,在vCenter内创建4个群集,分别命名为Prd01、Prd02、Dev01、Dev02。每个集群添加6台主机,主机的命名符合规划要求,主机的高可用配置将在下文介绍。

网络的设计

4台网络交换机去掉之前的堆叠模式,分别作为接入层交换机连接上层汇聚,划分两个VLAN,分别为生产VLAN命名为prod及开发测试VLAN命名为Dev。每台交换机独立工作,作为接入层,尽量减少其它无关的网络配置。

SAN的设计

2台博科SAN交换机分别将24台主机接入,并相互主备。每个交换机划分24个Zone,以主机为单位,这样设计可以提高I/O读取,并确保Zone与Zone的隔离,不会影响其他的主机与存储。

存储的设计

当前采用惠普的高端存储3PAR作为VM及其它相关文件的存储介质,共划分15个LUN,每个LUN是4T。全部格式化为VMFS5,挂载到各个主机。由于3PAR底层采用RAID技术确保了数据的冗余性,所以我们直接划分相关LUN即可。

环境配置

通过上述操作,已经将虚拟化环境的基础设施进行了说明,从底层存储到SAN交换机、主机及上层的网络设备,确保连接线正常,符合交叉连接法,避免单链路故障。下面将主要介绍具体的配置,如何使其符合高可用要求。

VMware主机高可用配置

SXi软件的顺利安装仅仅是完成了虚拟化的搭建,但是其高可用特性需要额外的配置。不同的配置参数,将有不同的效果产生。VMware的高级功能很多都在群集中设定,群集将作为高可用区(Availability zone)对其内部主机进行统一资源分配与调整。群集内的虚拟机将以群集作为边界进行自动迁移和负载。作为高可用要求,需要在群集内打开HA,此功能将确保单个主机故障后,虚拟机可以自动在群集内的其它主机上重启,保证业务不被长时间中断。如图5所示:

5-1

图 5. VMware HA配置

开启DRS功能,建议选择全自动模式,当然不同场景请酌情设置。开启后,创建的VM将会自动分配到资源合理的虚拟主机上,不会导致资源分配不均的现象发生。若在后期的使用中,资源发生变化,VM会自动调用vMotion功能,基于DRS的策略进行迁移,整个过程无需人工参与。如图6所示:

6

图 6. VMware DRS配置

VMware内的很多高级功能,都需要DRS和HA依赖,所以要使用更高阶功能,都需要提前开启上述两个功能。

SAN配置

线缆连接正确后,分别登陆到两台SAN交换机内,配置24个Zone,每个Zone内仅有一个主机与存储LUN聚合。之后将所有的Zone统一保存在一个名为vcf的配置文件内。每个SAN交换机仅仅有一个配置文件会生效,所以请切记,不要建立多个。多个Config的配置,需要根据自身场景而定。配置完成后,同一群集内的主机可以看到共同的存储LUN。如图7所示:

7

图 7. VMware LUN配置

网络配置

为了满足网络流量按照功能隔离传输与高可用的要求,需要在每台主机的网络配置中将四个万兆网口交叉配置到不同的虚拟交换机内,vSwitch0主要负责vMotion、FT和管理流量。vSwitch1主要负责虚拟机的流量传输。如图8所示:

8

图 8. VMware 网络配置

存储高可用设计

调整后的架构,基本实现了各条链路的高可用,唯一不足的是存储为单一集中存储。按照当前架构,如果存储损坏,所有的数据将不能放问,甚至有丢失的风险。整个项目由于费用的问题, 不能在本季度进行存储购买。为了保证虚拟机在存储失效后可用,我们暂时采用备份机制解决,遇到类似问题,通过备份恢复。如果条件允许,还是建议买额外的3PAR存储或者IBM SVC进行存储级别的冗余,可以大大减轻存储损坏带来的损失,快速切算业务到正常的存储。

通过如上设计,基本上去掉了之前架构的网络、主机等非高可用因素,提高了基础设施的可用性、可靠性。

欢迎关注技术公众号:架构师成长营

 

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐