某企业虚拟化平台高可用验证测试

简介:

一、背景介绍

某企业在成生产环境中使用8台Esxi5.1物理服务器和1台vCenter5.1物理服务器组虚拟化平台,拓扑如下图所示,为了验证平台故障发生时的高可用性,计划分别对2台Esxi物理主机采取拔电源线和拔网线的方式模拟主机和网络故障,由于vCenter是物理主机,所以不用考虑vCenter与集群中Master主机同时挂掉的情况,且主机断电故障情景简单(vmware HA细节可参考文章http://arkling.blog.51cto.com/2844506/1722470),本处只讨论网络故障时vmware HA的场景

wKioL1jKnrfRpKHnAAE-u9ugcdI579.png

二、准备工作

1.在模拟故障发生前首先确认集群HA功能是否启用,否则高可用就是空谈

wKioL1jKnreSCFbRAAB853aYIdM203.png

2.在要进行模拟故障的目标Esxi物理主机上确认主机监控已开启,否则故障发生时不会进行切换

wKiom1jKnrjjCHPAAABOigOKjyI196.png

3.确认目标Esxi物理主机上的VM虚拟机已受到vSphere HA保护

wKioL1jKnrjCAVz1AABFA-y_ZZ4725.png

三、网络故障场景详细介绍

vSphere 5以后的版本HA的判断除了需要共享存储外,还需要网络心跳(管理网络)、隔离网关和存储心跳(存储网络)。本次由于没有详细说明模拟网络故障具体切断的网络,所以需要将每种情况都考虑进去,于是网络层面故障造成的结果就分为:主机分区(管理网络故障)和主机隔离(管理网络和隔离网关同时故障)

1.主机分区

集群中部分host主机无法通过管理网络与Master通信,但隔离网关(host主机通过管理网络与隔离网关通信)和存储心跳通信正常,此时就会触发主机分区。这种场景下被分区的host主机和位于其上的VM虚拟机此时对外仍然正常提供服务,HA不会做任何操作。此时集群会变为下图所示的这种情况:

wKiom1jKnrmCtk2fAAKeBgiBLBo708.png这并不代表该故障不重要,官方的解释为:

虚拟机保护:vCenter允许虚拟机打开电源,但仅当虚拟机与负责它的首选主机在相同的分区中运行时,才能对其进行保护

集群管理:vCenter只能与群集中的部分host主机进行通信,且只能连接到一台首选主机。因此,只有在解决分区之后,配置中影响 vSphere HA的更改才能生效。此故障可能会导致其中一个分区在旧配置下操作,而另一个分区使用新的设置

2.主机隔离

集群中部分host主机丢失网络心跳和隔离网关,只与存储网络通信正常,此时就会触发主机隔离。此时集群会变为下图所示的这种情况:

wKioL1jKnruhRw_cAAHRguZTS9w080.png

被隔离的host主机和位于其上的VM虚拟机此时对外无法正常提供服务,HA会按照预先设置好的策略执行,每个VM虚拟机还可以自定义各自的启动优先级和隔离响应策略

wKiom1jKnrzjsJ44AABlEo7bENo339.png

以下对这两个策略进行详细介绍:

重启优先级:定义了当故障发生时,VM虚拟机重启的先后顺序,策略由低到高分为 禁用——低——中等——高 4个选项,缺省的配置重启优先级为中等

主机隔离相应:定义了当VM虚拟机所在的host主机被隔离时,位于其上的VM虚拟机所执行的操作,有保持电源打开、关闭电源和关机三个选择,缺省的主机隔离响应策略为保持电源打开

四、故障切换测试

针对主机隔离响应和虚拟机重启优先级这两个策略产生的不同结果如下所示:

场景1:该场景下不进行故障切换,虚拟机会一直等待网络恢复正常,此时只是host主机无法与Master主机和隔离网关进行通信,业务网络可能是正常的,即VM虚拟机可以正常对外提供服务,不必要因为网络的故障而重启虚拟机

名称

虚拟机重启优先级
主机隔离响应

状态

低/中等/高

保持打开电源


场景2:该场景下不会进行故障切换,虚拟机一直保持打开电源状态,即使主机隔离响应选择的是关机或关闭电源。如果选择“禁用”,则会为虚拟机禁用vSphere HA,这意味着当其主机出现故障时不会在其他ESXi主机上重新启动虚拟机

名称

虚拟机重启优先级
主机隔离响应

状态

禁用

保持打开电源/关机/关闭电源


场景3:该场景下被隔离主机上承载的虚拟机会进行关机操作,并在集群内其他未隔离的物理主机上重启,继续对外提供服务。要求VM虚拟机必须安装vmware tools(经测试未安装的VM虚拟机也可以完成关机,但还是按照官方解释为准)

名称

虚拟机重启优先级
主机隔离响应

状态

低/中等/高

关机


场景4:该场景下被隔离主机上承载的虚拟机会进行关闭电源操作,并在集群内其他未隔离的物理主机上重启,继续对外提供服务。与关机不同处在于,关机操作会先将内存中的数据写入硬盘,而关闭电源相当于直接拔掉电源,内存中的数据会丢失

名称

虚拟机重启优先级
主机隔离响应

状态

低/中等/高

关闭电源


五、补充说明

1.裂脑情况的产生

如果主机禁用其隔离响应(即隔离时使虚拟机处于打开电源状态)且无法访问管理和存储网络,则可能发生“裂脑”情况。在这种情况下,即使虚拟机的原始实例仍在独立主机上运行,独立主机也会丢失磁盘锁且虚拟机会 故障切换至另一主机。主机能够重新访问虚拟机的数据存储时,将会有两个虚拟机副本,但原来独立主机上的副本无权访问vmdk文件,这样便避免了数据损坏(实际测试中没有出现裂脑的情况,不确定可能的几率有多大)

2.虚拟机和应用程序监控

vSphereHA的虚拟机/应用程序监控功能会忽略虚拟机重启优先级中“已禁用”设置,因为该功能可保护虚拟机免受操作系统级别故障而不是虚拟机故障。当出现操作系统级别故障时,vSphereHA将重新引导操作系统,而虚拟机则在同一台主机上继续运行

wKioL1jKnryDsoKbAABtApOFkB4754.png


本文转自 qiao645 51CTO博客,原文链接:http://blog.51cto.com/arkling/1907465

相关文章
|
11天前
|
传感器 数据采集 监控
LabVIEW电池管理系统测试平台
LabVIEW电池管理系统测试平台
15 4
|
25天前
|
人工智能 分布式计算 DataWorks
首批!阿里云 MaxCompute 完成中国信通院数据智能平台专项测试
2024年5月31日,在中国信通院组织的首批数据智能平台专项测试中,阿里云数据智能平台解决方案(MaxCompute、DataWorks、PAI)顺利完成测试。
102 5
首批!阿里云 MaxCompute 完成中国信通院数据智能平台专项测试
|
4天前
|
前端开发 JavaScript 容器
快照测试中添加更多的断言和验证
快照测试中添加更多的断言和验证
|
16天前
|
算法 计算机视觉 异构计算
基于FPGA的图像一维FFT变换IFFT逆变换verilog实现,包含tb测试文件和MATLAB辅助验证
```markdown ## FPGA 仿真与 MATLAB 显示 - 图像处理的 FFT/IFFT FPGA 实现在 Vivado 2019.2 中仿真,结果通过 MATLAB 2022a 展示 - 核心代码片段:`Ddddddddddddddd` - 理论:FPGA 实现的一维 FFT/IFFT,加速数字信号处理,适用于高计算需求的图像应用,如压缩、滤波和识别 ```
|
12天前
|
传感器 存储 数据采集
LabVIEW阀性能测试平台
LabVIEW阀性能测试平台
11 0
|
1月前
|
算法 计算机视觉 异构计算
基于FPGA的图像直方图均衡化处理verilog实现,包含tb测试文件和MATLAB辅助验证
摘要: 在FPGA上实现了图像直方图均衡化算法,通过MATLAB2022a与Vivado2019.2进行仿真和验证。核心程序涉及灰度直方图计算、累积分布及映射变换。算法旨在提升图像全局对比度,尤其适合低对比度图像。FPGA利用可编程增益器和查表技术加速硬件处理,实现像素灰度的均匀重分布,提升视觉效果。![image preview](https://ucc.alicdn.com/pic/developer-ecology/3tnl7rfrqv6tw_a075525027db4afbb9c0529921fd0152.png)
|
1月前
|
消息中间件 Kubernetes Kafka
AutoMQ 自动化持续测试平台技术内幕
Marathon 是一个针对流系统 AutoMQ 的自动化持续测试平台,旨在在模拟生产环境和各种故障场景中验证 SLA 的可靠性。设计原则包括易拓展、可观测和低成本。平台采用分布式架构,Controller 负责资源管理和任务编排,动态调整 Worker 数量和配置,而 Worker 是无状态的,用于生成负载和上报数据。系统基于 K8S,利用服务发现、事件总线和 Spot 实例降低成本并提高弹性。测试场景以代码形式描述,支持不同流量模型和断言,提供丰富的可观测性和告警功能。未来,Marathon 有望泛化为适用于各种分布式系统的测试平台。
31 0
AutoMQ 自动化持续测试平台技术内幕
|
17天前
|
jenkins Java 测试技术
电商返利平台的测试与持续集成
电商返利平台的测试与持续集成
|
2月前
|
算法 计算机视觉 异构计算
基于肤色模型的人脸识别FPGA实现,包含tb测试文件和MATLAB辅助验证
这是一个关于肤色检测算法的摘要:使用MATLAB 2022a和Vivado 2019.2进行测试和仿真,涉及图像预处理、RGB到YCbCr转换、肤色模型(基于阈值或概率)以及人脸检测。核心程序展示了如何读取图像数据并输入到FPGA处理,通过`tops`模块进行中值滤波、颜色空间转换及人脸检测,最终结果输出到"face.txt"。
|
2月前
|
数据挖掘 测试技术 网络安全
LabVIEW开发卫星测试平台
LabVIEW开发卫星测试平台
31 3