超融合架构下,虚拟机高可用机制如何构建?

作者:SmartX 产品部 钟锦锌

虚拟机高可用(High Availability,简称 HA)是虚拟化/超融合平台最常用、关键的功能之一,可在服务器发生故障时通过重建业务虚拟机以降低故障对业务带来的影响。因此,为了充分保障业务的连续性和稳定性,虚拟机 HA 功能需要覆盖大范围的故障场景,能够对具体故障进行准确识别,并根据故障场景采取适合的切换机制。

基于计算与存储融合部署的架构,SmartX 超融合(搭配原生虚拟化 ELF)不仅可通过多副本策略和机架感知等技术特性提升虚拟机 HA 有效性,还可通过优化的虚拟机 HA 功能为多种服务器和虚拟机故障场景提供更为细致的虚拟机重建服务。以下,我们将结合超融合架构对高可用的构建要求,深入解读 SmartX 超融合虚拟机 HA 机制设计与具体功能。

欲了解更多 SmartX 超融合技术与特性,欢迎下载阅读系列电子书《超融合技术原理与特性解析(一)虚拟化与存储》、《SmartX 超融合技术原理与特性解析合集(二)管理与运维》

1 超融合架构下的虚拟机高可用实现需求

超融合架构下,虚拟机 HA 功能的作用与虚拟化平台基本一致:当服务器发生故障时,受影响的虚拟机将在集群中其他健康主机上自动重启并恢复运行。HA 将降低停机故障影响,并缩短服务中断时长,同时不需要专门的备用硬件和安装附加软件。关键步骤包括:

  • 准确感知故障,触发 HA。
  • 不依赖虚拟机的操作系统和软件,并在确保虚拟机的一致性前提下实现主机的转移。
  • 合理选择目标主机,重启虚拟机,完成 HA 流程。

1.1 核心差异是存储的高可用

在虚拟机 HA 功能的设计和实现上,超融合与虚拟化平台存在一些差异。在虚拟化场景中,实现故障场景下虚拟机转移到其他主机恢复运行的基础是:虚拟机数据存放在共享存储设备,且这些主机能访问该存储。因此,高可用功能是高度依赖共享存储(FC-SAN 、IP-SAN 存储等外部存储设备)的。然而在传统架构中,虚拟化主机与共享存储是相互独立的,存储的可用性是由存储设备负责保证的,虚拟化平台的高可用设计无需考虑存储的可用性。

而超融合架构的特征是计算虚拟化和软件定义存储在同一主机上融合部署,因此,超融合架构下高可用设计的复杂性在于,既要确保计算虚拟化层面的可用性,还要确保存储的可用性,这是两者在高可用实现中的核心差异。

1.2 服务器节点故障对超融合集群的影响

1.2.1 对虚拟化计算的影响

当服务器节点发生故障,最直接的影响就是虚拟机无法正常运作。如果遭遇节点宕机,虚拟机自然也会随之宕机;如果遭遇的是局部故障,虚拟机虽然不会直接宕机,但有可能无法连接网络或者无法正常 I/O 读写。无论是以上哪种故障,都很有可能影响业务的正常运行,需要通过 HA 功能介入,尽快恢复业务的正常服务。

1.2.2 对存储的影响

SmartX 超融合软件 SMTX OS 使用多副本技术实现数据冗余,所有写入的数据将自动复制为多个副本(2 副本或者 3 副本可选),并确保不同的数据副本分别写入不同的服务器。当(一台或多台)服务器节点发生故障,软件定义存储的其中一个(或多个)副本就会离线。

hci-vm-ha-1.png

图 1

2 SmartX 超融合虚拟机 HA 适用范围

2.1 可覆盖的故障场景

真实环境中面临的故障场景是复杂、多样的,高可用首先需要准确地辨认故障场景。否则,错误地、频繁地触发 HA 将会为业务连续性带来负面影响。基于以上故障影响分析,SmartX 超融合虚拟机 HA 功能在设计时尽可能考虑更多故障场景,目前可覆盖以下 4 种常见故障场景,并可根据故障场景的特点触发合适的 HA 切换动作。 

2.1.1 服务器节点宕机/不响应

当服务器节点发生宕机,原有的虚拟机已经被动关闭,此时系统会自动触发故障 HA,获取故障服务器上的虚拟机列表,并将受保护的虚拟机在集群中其他健康节点上重新启动虚拟机以恢复业务运行。

2.1.2 服务器节点存储网络故障

当服务器节点的存储网口全部故障,意味着该节点的硬盘设备和数据离线,无法和集群中其他健康节点进行通讯。此时网络心跳将发生超时,当网络中断时间持续 9 个检测周期(90s),系统会触发节点自我隔离,并主动暂停故障节点上的虚拟机(如果无法暂停就会直接关闭),后续将在其他健康节点重新启动这些虚拟机以恢复业务运行。

2.1.3 虚拟机业务网络故障

目前,SmartX 超融合新增了对虚拟机业务网络故障的检测,一旦发现节点上的业务网口全部故障(存储网口正常工作),系统会在 60s 内触发 HA,但虚拟机不会经历重新启动,后台将自动执行在线迁移,将故障节点上的虚拟机迁移到集群中其他的健康节点中。

2.1.4 虚拟机状态不一致

如遭遇机房停电,集群节点整体下线,这种场景下系统是没有条件触发 HA 的;当机房重新恢复电力,HA 功能会被重新触发,由于该场景下并不存在硬件故障,因此系统会优先在原节点重新启动虚拟机,恢复虚拟机正常运行。

2.2 虚拟机高可用开关

另外,针对特定的虚拟机,用户不希望自动触发 HA。对于这一需求,SmartX 超融合设计了虚拟机 HA 开关,每台虚拟机可以根据需要选择开启或禁用 HA 功能。对于不受 HA 保护的虚拟机,当节点发生故障时,虚拟机不会自动重启,会保持关闭状态,用户可以选择手动启动虚拟机。

3 SmartX 超融合虚拟机 HA 整体机制设计

3.1 虚拟机高可用触发机制

  • 集群默认启动 HA 功能,自动选举出其中一个节点作为 HA Leader,集群其他节点均为 HA Follower。
  • 集群中每个节点会有守护进程(VM Monitor)。
  • HA Follower 通过 VM Monitor 定期(每 10s 一次)写入心跳信息。
  • HA Leader 节点通过 VM Monitor 定期(每 10s 一次)读取心跳信息,并负责判断其他节点的状态。

高可用触发时间线:

*注:时间点以非 HA leader 节点故障为例。

3.2 虚拟机重建机制

当触发 HA 之后,理论上系统可以在集群中健康主机上随机选择位置重新启动虚拟机。但考虑到集群中并不是所有主机的硬件条件都是完全一致的,如业务对主机的硬件环境比较敏感时,切换主机可能会导致业务无法正常提供服务。因此,SmartX 提供了更细致的虚拟机重建机制。

3.2.1 虚拟机放置组功能

创建虚拟机放置组的实质是通过对虚拟机的放置和迁移设置约束和建立规则,以便虚拟机能够在适当的节点上运行。创建放置组规则后,在虚拟开机、迁移及触发 HA 后的重建过程中,将遵循放置组规则为虚拟机选择合适的主机。适用场景包括:

(1)业务高可用

多台虚拟机同属于单一业务,彼此之间应用级别的故障转移时,这些虚拟机不应该放置到同一主机,否则单一主机故障可能影响业务的连续性。在这种情况下,可以通过设置放置组策略,要求触发 HA 时将相关虚拟机安排在不同主机上重建。(如图 2 所示)

hci-vm-ha-3.png

图 2

(2)业务对主机 CPU 敏感

如果虚拟机的 vCPU 是使用直通模式,触发 HA 后如果在配置其他不同型号 CPU 的主机上重建,那么虚拟机内部的 vCPU 型号也会发生变化。有一部分应用软件会绑定机器码,其中包括 CPU 信息,可能会导致许可失效。

如果虚拟机对 CPU 性能有特定需求,如特定的 CPU 主频或者 CPU 系列,在其他主机上重建有可能导致业务性能下降。

针对以上场景,可以通过设置放置组策略,确保虚拟机在触发 HA 后会在指定(拥有特定 CPU 资源)的主机上重建。(如图 3 所示)

hci-vm-ha-4.png

图 3

(3)业务对网络有特殊要求

虚拟机需要访问特殊的网络,集群中只有某部分主机才拥有该网络或网口,HA 切换主机后有可能导致网络无法正常通讯。这种情况同样可以通过设置放置组策略,确保虚拟机在触发 HA 后会在指定(拥有特定网络资源)的主机上重建。

3.2.2 HA 优先级选项

当 HA 触发时,故障节点上所有开启 HA 的虚拟机将一起进入重建队列,其顺序无法保证承载重要业务的虚拟机得到优先恢复。此外,遭遇节点故障会导致集群总资源减少(包括 CPU、内存、存储资源等),如果集群剩余的资源比较紧张,无法承载所有需要重建的虚拟机,可能导致重要虚拟机无法重建。

针对这个场景,SmartX 超融合提供了虚拟机 HA 优先级选项,可以为虚拟机设置高、中、低 3 种优先级别,当触发 HA 后,系统可依照优先级顺序重建虚拟机,确保重要虚拟机优先重建完成。(如图 4 所示)

hci-vm-ha-5.png

图 4 

3.3 机架感知功能:提升虚拟机 HA 有效性

前面提到 SMTX OS 在不同服务器拥有多个数据副本,可容忍服务器硬件故障,并通过存活副本自动完成数据恢复。但如果这些服务器都放在同一个机柜,那么只要机柜的 PDU 共享电源发生故障,多台主机会将同时离线,那么多副本保护机制就可能失效。机架感知技术,就是通过感知服务器的存放拓扑(放置在不同机柜),数据的多个副本自动跟随放置在位于不同机柜的多台服务器当中。即使遭遇某一机柜电源故障,系统也可以从其他机柜上的服务器找到对应的数据副本,并触发数据恢复流程。

hci-vm-ha-6.png

图 5

前面提到存储可用性是虚拟机高可用的关键,机架感知功能不仅可以提升集群的可用性,还增强了虚拟机高可用的有效性。

小结

整体而言,在故障发生初期,SMTX OS 超融合软件可准确识别故障场景类型,并根据故障类型执行对应高可用动作,尽可能减少 HA 切换影响;在触发 HA 切换后,系统会根据预设规则精准地将虚拟机安排到合适的主机上进行重建,并可根据业务重要性安排重建顺序。搭配机架感知功能,SmartX 超融合虚拟机 HA 机制可为业务虚拟机提供多场景、有效、准确的连续性保障。

欲了解更多 SmartX 超融合技术与特性,欢迎下载阅读系列电子书超融合技术原理与特性解析(一)虚拟化与存储》、《SmartX 超融合技术原理与特性解析合集(二)管理与运维

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/16601.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ubuntu22.04下 easyconnect+输入法安装

先使用对应ubuntu版本的easyconnect安装 sudo dpkg -i EasyConnect_x64_7_6_7_3.deb 下载压缩包servicePack,并解压缩 cd 下载路径/servicePack sudo cp * /usr/share/sangfor/EasyConnect/ 打开easyConnect /usr/share/sangfor/EasyConnect/EasyConnect 此处…

pid中的d到底是什么意思?微分到底是用来做什么的,什么情况下用,避免入坑实际案例中的使用-----------PDI中的D阻尼调节

1,PID中表示的含义是什么? 比例(proportional):放大比例-------表示现在 0.2 积分(integral):误差积分------过去 0.04 微分 (derivative):阻尼 ------未来 0.002 在调节…

IDEA设置运行内存

1.开启内存指示条​​​​​​​ 查看idea右下角​​​​​​​ 2.环境变量查看ideaVM地址,没有的话那就是默认的配置文件: idea 安装 bin 目录下 idea64.exe.vmoptions 3.去对应路径修改内存参数大小 4.重启IDEA,end

体育赛事直播系统源码开发:社区论坛模块如何实现引流与增收双赢

在当今数字化时代,体育直播平台不仅是赛事观看的窗口,更是一个互动和交流的社区,以及是一场关于用户体验、用户粘性以及商业模式创新的综合较量。为了在这片红海市场中脱颖而出,平台必须采取更加精细化和多元化的运营策略。其中&a…

前端命令行部署

最近接了一个项目,发版本需要把dist包给后端部署服务,再加上产品那边需求不稳定,改了又改,一天要发好几个,不仅跟我配合的后端不胜其烦,本人也是很烦。最近在网上看到一个npm自主部署的包–deploy cli工具&…

香橙派 AIpro开发板:开启AI视觉的无限可能

前言 在当今这个由数据和智能驱动的时代, 人工智能(AI) 已经成为推动技术创新和实现自动化的关键。 特别是在计算机视觉领域,AI的潜能被无限放大,它使得机器能够“看见”并理解视觉世界,从而执行复杂的任务…

LangChain 0.2 - 对话式RAG

文章目录 一、项目说明二、设置1、引入依赖2、LangSmith 三、Chains1、添加聊天记录Contextualizing the question聊天记录状态管理 2、合并 四、Agents1、检索工具2、代理建造者3、合并 五、下一步 本文翻译整理自:Conversational RAG https://python.langchain.co…

加宽全连接

一、Functional API 搭建神经网络模型 1.对宽深神经网络模型进行手写数字识别: 运行代码: inputs keras.layers.Input(shapeX_train.shape[1:]) hidden1 keras.layers.Dense(300,activation"relu")(inputs) hidden2 keras.layers.Dense(…

MySQL中视图是什么,有什么作用

目录 一、视图的简介 1.1 什么是视图? 1.2 为什么使用视图? 1.3 视图有哪些规则与限制? 1.4 视图能否更新? 二、视图的创建 三、视图的作用 3.1 用视图简化复杂的联结 3.2 用视图格式化检索出的数据 3.3 用视图过滤数据…

梭住绿色,植梦WILL来,容声冰箱“节能森林计划”再启航

近日,容声冰箱再度开启了“节能森林计划”绿色公益之旅。 据「TMT星球」了解,此次活动深入到阿拉善荒漠化地带,通过实地考察和亲身体验,见证容声了“节能森林计划”项目的持续落地和实施效果。 2022年,容声冰箱启动了…

【电控实物-PMSM】

遗留问题 电流环闭环 电流环频率会受到编码器回传频率影响? Ld&Lq辨识 L观测器设计验证 滑膜观测器/高频注入 前馈(加大负载) 各种电流控制模式: psms规格书 参数辨识 Ld&Lq

qt 布局学习笔记

目录 qt下载地址: widget 宽高 管理信息列表源码 c版: pro文件: qt 设置水平布局,里面有两个按钮,每个按钮就变的很宽,怎么设置按钮的精确位置 设置固定大小: 使用弹性空间(…

高效掌控速卖通自养号测评:成本、步骤、技巧全方位掌握

在跨境电商的汹涌浪潮中,速卖通犹如一颗璀璨的领航星,引领着无数寻求海外拓展的企业和商家驶向国际市场的广阔海域。从最初的C2C模式起步,速卖通历经蜕变,如今已华丽转身成为B2C跨境电商领域的翘楚,承载着无数中国卖家…

【传知代码】基于图神经网络的知识追踪方法(论文复现)

前言:本文将深入探讨基于图神经网络的知识追踪方法,旨在通过构建知识图谱来捕捉知识之间的复杂关联,并利用图神经网络强大的表示学习能力来建模学生的学习过程。我们将首先介绍图神经网络的基本原理和关键技术,然后详细阐述如何将…

现代前端工程化实践:Git、Husky、Commitlint与PNPM的协同作战

引言 Git Husky 与 Commitlint 是两个在 Git 工作流程中非常实用的工具,它们可以帮助团队维护代码质量和提交规范。Husky 是一个 Git 钩子管理器,允许你在仓库级别方便地配置钩子脚本;而 Commitlint 则是用来规范 Git 提交信息的工具&#x…

edge浏览器的网页复制

一些网页往往禁止复制粘贴,本文方法如下: 网址最前面加上 read: (此方法适用于Microsoft Edge 浏览器)在此网站网址前加上read:进入阅读器模式即可

跨境电商投放Facebook广告推广攻略!

在出海浪潮中,跨境电商已经成为企业连接不同市场、拓展国际业务的重要途径。Facebook,作为全球最大的社交平台之一,拥有超过20亿的活跃用户,为跨境卖家提供了一个无与伦比的营销舞台。有效利用Facebook广告,不仅能帮助…

MySQL导入SQL脚本---超详细介绍

1.新建xxx数据库,字符集选对。 2.在mysql安装目录下cmd进入小黑窗 3.执行mysql -uroot -p123456 --default-character-setutf8命令 4.use xxx; 5.source xxx.sql 执行完上面的命令等待结束就可以了 需要注意的是--default-character-setutf8,要不然可…

如何选择一款开放式耳机?六大独家选购技巧超详细汇总!

​喜欢户外活动的朋友们,你们都是懂得享受生活的达人吧!想象一下,在户外活动时,如果能有一副既适合场景又提供超棒音乐体验的耳机,那该多完美啊!这时候,开放式耳机就闪亮登场了!它的…

RocketMQ实战教程之常见概念和模型

RocketMQ实战教程之常见概念和模型 常见概念与模型 官方文档: https://rocketmq.apache.org/zh/docs/introduction/02concepts 1 常见概念[重点] 消息(Message) 消息是 Apache RocketMQ 中的最小数据传输单元。生产者将业务数据的负载和拓展属性包装成消息发送…