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

作者: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 超融合技术原理与特性解析合集(二)管理与运维

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Ollama+OpenWebUI+Phi3本地大模型入门

文章目录 Ollama+OpenWebUI+Phi3本地大模型入门一、基础环境二、Ollama三、OpenWebUI + Phi3Ollama+OpenWebUI+Phi3本地大模型入门 完全不懂大模型的请绕道,相信我李一舟的课程比较适合 Ollama提供大模型运行环境,OpenWebUI提供UI,Phi3就是那个大模型。 当然,Ollama支持超级…

单片机串口接收负数的处理方法

dp80中有很多外设处理相关的都是有符号数据。 如dpm计算的结果,插入dpm后有时候会得到0xFFFFFFFE-2(从调试界面也可以看到)。

JS-09-es6常用知识1

目录 1 模板字符串 1.1 模板字符串基本用法 1.2 模板字符串解决了一些痛点 2 解构赋值 2.1 对象的解构赋值 2.2 函数参数的解构赋值 2.3 补写:属性的简写 3 rest参数 3.1 arguments 3.2 rest参数 3.3 补充:判断数据类型 4 箭头函数 4.1 …

AI大模型的生命周期:从开发到退役的全面解析

前言 人工智能大模型(AI大模型)是当前AI领域的一大热点,它们具有强大的计算能力和广泛的应用前景。本文将全面介绍AI大模型的基础知识、训练过程、使用方法和应用场景。 一、初步了解AI大模型 AI大模型,通常指的是参数量达到亿…

Superset二次开发之Github项目推送到GitLab仓库

以下是从GitHub克隆Superset项目并将其推送到GitLab的详细操作步骤 lab 地址: xxx lab 配置: 生成SSH密钥 ssh-keygen -t rsa -b 4096 -C "邮箱地址" 默认情况下密钥会生成在~/.ssh (/c/Users/Administrator/.ssh/id_rsa)目录下。 公钥添加到GitLab: 打开公钥文件…

通过Excel,生成sql,将A表数据插入B表

文章目录 投机取巧的方式,进行表数据初始化通过navicat搜索A表数据,然后复制进excel中通过excel的函数方式,将该批量数据自动生成插入B表的sql语句然后一次性拷贝生成的sql语句,放进navicat中一次执行,直接完成数据初始化

K210视觉识别模块学习笔记3:内存卡写入拍摄图片_LED三色灯的操作_按键操作_定时器的配置使用

今日开始学习K210视觉识别模块: LED三色灯的操作_按键操作_定时器的配置使用_内存卡写入拍摄图片 亚博智能的K210视觉识别模块...... 本文最终目的是编写一个按键拍照的例程序: 为以后的专用场景的模型训练做准备,因为训练自己的模型需要大量的图片&a…

算法简单笔记4

5月31号,明天决赛,今天脑子也是一滩浆糊,踏马的一道题也做不出来,超级难受,只好简单复盘一下两道之前的题目,看完就差不多了,再学也没啥用了,写完这两题题解我就回去打把steam绝地求…

TH方程学习(3)

一、编程实现 根据论文给出的案例&#xff0c;使用TH方程进行数值仿真 1.初始化条件 %% 参考文献<New State Transition Matrix for Relative Motion on an Aribitrary Elliptical Orbit> %% 作者 Yamanaka Koji clc;clear global miu Re miu 3.986e5; Re 6378.137;…

使用pkg打包了一个使用了sqlite3的nodejs项目,启动后闪退

从截图来看&#xff0c;问题出在 sqlite3 模块上。说明在打包过程中&#xff0c;sqlite3 模块的 .node 文件没有正确加载。 紧急解决方法&#xff1a; 其实就是exe文件还需要node_modules中的sqlite3 依赖&#xff0c;我们直接在系统顶级放一个node_modules&#xff0c;且其中只…

Vue3项目练习详细步骤(第五部分:用户模块的功能)

顶部导航栏个人信息显示 接口文档 接口请求与绑定 导航栏下拉菜单功能 路由实现 退出登录和路由跳转实现 基本资料修改 页面结构 接口文档 接口请求与绑定 修改头像 页面结构 头像回显 头像上传 接口文档 重置密码 页面结构 接口文档 接口请求与绑定 顶部导航…

docker部署owncloud进行管理

目录 一.拉取镜像 1.使用mysql和owncloud最新版镜像&#xff0c;构建个人网盘 2.查看是否已经正确监听端口 二.使用浏览器进行测试 1.使用IP:8080进行访问&#xff0c;用admin运行容器时设置的密码登录 2.查看到已经有的文件 3.文件上传对应的位置 4.在web页面进行简单…

基于RFID技术的烟草在线监测系统在烟草仓库温湿度监测中的应用。

在现代工业生产中&#xff0c;精准高效的在线监测系统对于产品质量控制至关重要。尤其是在高价值且对环境敏感的产品制造过程中&#xff0c;如烟草加工&#xff0c;实时准确的数据采集与分析直接关系到最终产品的品质及安全标准达标程度。 烟草行业在我国属于传统轻工业之一&am…

【kubernetes】探索k8s集群的存储卷、pvc和pv

目录 一、emptyDir存储卷 1.1 特点 1.2 用途 1.3部署 二、hostPath存储卷 2.1部署 2.1.1在 node01 节点上创建挂载目录 2.1.2在 node02 节点上创建挂载目录 2.1.3创建 Pod 资源 2.1.4访问测试 2.2 特点 2.3 用途 三、nfs共享存储卷 3.1特点 3.2用途 3.3部署 …

WiFi串口服务器与工业路由器:局域网应用的协同之力

在工业物联网&#xff08;IIoT&#xff09;迅猛发展的当下&#xff0c;局域网&#xff08;LAN&#xff09;作为连接工业设备与数据中心的桥梁&#xff0c;其重要性日益凸显。WiFi串口服务器与工业路由器作为局域网中的关键组件&#xff0c;以其独特的性能和功能&#xff0c;为传…

网络分层与各层网络协议介绍

一.OSI七层模型 1.OSI&#xff08;Open Systems Interconnection&#xff09;七层模型是由国际标准化组织&#xff08;ISO&#xff09;提出的一种网络通信协议的参考模型&#xff0c;用于标准化网络通信的过程。 OSI模型将网络通信分为七个层次&#xff0c;每个层次负责不同的…

python weakref的应用举例

问题: 有很多时候, 我们想拥有一个实例, 但是不增加引用计数. 怎么解决呢? 场景: 英雄击打怪物, 如果怪物在受到英雄打击前就死了, 我们可以在英雄的实例里面, 使用一个弱引用来引用怪物, 如果还存在就击打, 不存在就不击打.一般的ui系统都有事件系统, ui上触发一个事件, 然…

如何选择国产数据库?

ORACLE的强大是全方位的,作为甲方DBA,喝喝咖啡,看看报纸,开开会,临听一下ORACLE ACE吹水! 作为国企的DBA, CTO.基本上国企都算是传统行业,都是跑ERP系统,进销存系统.客户关系系统.基本上都是B2B业务. 直接面对普通老百姓的互联网业务非常少. 核心业务都是使用ORACLE,少量互联网…

洞察全球商机:精细化策略引领海外营销平台对接

随着全球市场的不断融合和互联网技术的飞速发展&#xff0c;企业越来越意识到海外营销与客服系统对接的重要性。 NetFarmer&#xff0c;作为一家专注于服务企业数字化出海的公司&#xff0c;对于海外市场的洞察和对接策略有着独特的见解。今天运营坛将深入探讨海外营销平台对接…

华为SSH实验

华为SSH实验 实验拓扑&#xff1a; 实验要求&#xff1a;从SSH客户端AR1采用stelnet方式登录到SSH 服务器端。 实验步骤&#xff1a; 1.完成基本配置&#xff08;略&#xff09; sys Enter system view, return user view with CtrlZ. [AR1]sys CLIENT [CLIENT]INT g0/0/0 [C…