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

简介:

一、背景介绍

某企业在成生产环境中使用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

相关文章
|
2天前
|
算法 数据挖掘 测试技术
犬类癌症检测(CANDiD)研究:使用独立测试集对1000多只犬进行基于高通量测序的多癌种早期检测"液体活检"血液测试的临床验证
这项研究首次在大规模独立测试集上验证了基于NGS的液体活检在犬类多癌种检测中的应用。该方法具有很高的特异性,可以作为一种新的无创癌症筛查和辅助诊断工具。通过早期发现癌症,有望改善犬类癌症的诊断和管理模式。
27 12
|
2月前
|
机器学习/深度学习 JSON 算法
实例分割笔记(一): 使用YOLOv5-Seg对图像进行分割检测完整版(从自定义数据集到测试验证的完整流程)
本文详细介绍了使用YOLOv5-Seg模型进行图像分割的完整流程,包括图像分割的基础知识、YOLOv5-Seg模型的特点、环境搭建、数据集准备、模型训练、验证、测试以及评价指标。通过实例代码,指导读者从自定义数据集开始,直至模型的测试验证,适合深度学习领域的研究者和开发者参考。
780 3
实例分割笔记(一): 使用YOLOv5-Seg对图像进行分割检测完整版(从自定义数据集到测试验证的完整流程)
|
1月前
|
安全 测试技术 网络安全
企业为什么要做渗透测试
随着网络经济的蓬勃发展,越来越多的企业将交易平台迁移至互联网,随之而来的安全挑战也日益凸显。尽管企业在安全方面投入巨大,但往往遇到“安全性玻璃天花板”,即安全水平达到一定瓶颈后,再增加投入也无法显著提升安全效能。渗透测试作为一种有效的安全评估手段,正逐渐受到重视。它不仅能满足政策合规要求,还能帮助企业发现并修复潜在的安全漏洞,降低业务风险。渗透测试通过模拟真实攻击,全面评估系统的安全状况,为企业提供更精准的安全防护方案。
37 0
|
2月前
|
机器学习/深度学习 JSON 算法
语义分割笔记(二):DeepLab V3对图像进行分割(自定义数据集从零到一进行训练、验证和测试)
本文介绍了DeepLab V3在语义分割中的应用,包括数据集准备、模型训练、测试和评估,提供了代码和资源链接。
276 0
语义分割笔记(二):DeepLab V3对图像进行分割(自定义数据集从零到一进行训练、验证和测试)
|
2月前
|
机器学习/深度学习 算法 PyTorch
目标检测实战(五): 使用YOLOv5-7.0版本对图像进行目标检测完整版(从自定义数据集到测试验证的完整流程)
本文详细介绍了使用YOLOv5-7.0版本进行目标检测的完整流程,包括算法介绍、环境搭建、数据集准备、模型训练、验证、测试以及评价指标。YOLOv5以其高精度、快速度和模型小尺寸在计算机视觉领域受到广泛应用。
865 0
目标检测实战(五): 使用YOLOv5-7.0版本对图像进行目标检测完整版(从自定义数据集到测试验证的完整流程)
|
2月前
|
缓存 数据挖掘 测试技术
目标检测实战(三):YOLO-Nano训练、测试、验证详细步骤
本文介绍了YOLO-Nano在目标检测中的训练、测试及验证步骤。YOLO-Nano是一个轻量级目标检测模型,使用ShuffleNet-v2作为主干网络,结合FPN+PAN特征金字塔和NanoDet的检测头。文章详细说明了训练前的准备、源代码下载、数据集准备、参数调整、模型测试、FPS测试、VOC-map测试、模型训练、模型测试和验证等步骤,旨在帮助开发者高效实现目标检测任务。
61 0
目标检测实战(三):YOLO-Nano训练、测试、验证详细步骤
|
1月前
|
SQL 数据挖掘 数据库
虚拟化数据恢复—XenServer虚拟化平台数据恢复案例
服务器虚拟化数据恢复环境: 某品牌720服务器中有一组通过同品牌、型号为H710P的RAID卡+4块STAT硬盘组建的RAID10磁盘阵列。上层部署XenServer虚拟化平台。1台Windows Server操作系统虚拟机,该虚拟机有2块虚拟磁盘(系统盘+数据盘),当作网站服务器使用。 服务器虚拟化故障: XenServer虚拟机不可用,虚拟磁盘中数据丢失。
|
1月前
|
安全 测试技术 网络安全
企业为什么要做渗透测试
【10月更文挑战第29天】随着网络经济的兴起,互联网交易系统安全成为企业关注的重点。然而,企业在安全上的投入往往达到瓶颈,形成“安全性玻璃天花板”。渗透测试作为一种有效的安全评估方法,能帮助企业突破这一瓶颈。它不仅满足政策合规性要求,还能提高客户操作安全性,减少业务风险。渗透测试通过模拟黑客攻击,发现并修复系统潜在的安全隐患,使企业从被动防御转为主动应对。
21 0
|
2月前
|
存储 NoSQL 大数据
大数据-51 Redis 高可用方案CAP-AP 主从复制 一主一从 全量和增量同步 哨兵模式 docker-compose测试
大数据-51 Redis 高可用方案CAP-AP 主从复制 一主一从 全量和增量同步 哨兵模式 docker-compose测试
39 3
|
2月前
|
计算机视觉 异构计算
目标检测实战(四):YOLOV4-Tiny 源码训练、测试、验证详细步骤
这篇文章详细介绍了使用YOLOv4-Tiny进行目标检测的实战步骤,包括下载源码和权重文件、配置编译环境、进行简单测试、训练VOC数据集、生成训练文件、准备训练、开始训练以及多GPU训练的步骤。文章还提供了相应的代码示例,帮助读者理解和实践YOLOv4-Tiny模型的训练和测试过程。
208 0