主流超融合多副本机制缺陷与 SmartX 的临时副本策略

多副本机制是超融合软件常用的数据保护方式,可以为存储数据提供冗余保护——即使一个或部分副本异常,系统仍可通过健康副本进行副本恢复。但是,主流实现方式下,这一机制依旧无法避免“副本降级”期间带来的风险:在副本恢复完成之前,集群整体副本数依旧少于预期,此时若健康副本同样遭遇故障或意外离线,将很有可能导致数据丢失。为进一步提高数据安全性,SMTX OS 5.1 引入了“临时副本”这一创新机制,保证副本数据恢复期间“副本不降级、数据不丢失”,满足关键业务连续稳定运行的需求。

更多 SmartX 超融合 5.1 最新特性与技术解读,欢迎通过电子书《超融合技术原理与特性解析合集(更新版)》详细了解。下载链接:

合集一:虚拟化与存储

合集二:管理与运维

主流多副本保护机制的缺陷

多副本保护机制介绍

多副本技术,顾名思义就是一份数据对应多个相同的数据副本,多个副本按照既定的规则放置在不同的设备当中,以避免硬件故障导致的数据损坏或丢失。当发生硬件故障导致集群中一个副本或多个副本离线或损坏时,一方面,健康副本可保证正常 I/O 读写;另一方面,系统可通过拷贝健康副本重新生成多个副本,以恢复数据的副本级别,实现数据冗余保护。

图 1

如图 1 所示:以 2 副本为例,存储卷(volume)被切分为多个数据块,而每个数据块都拥有 2 个副本。如数据块 A 的两个副本分别放置在服务器节点 1 和服务器节点 2 上。即使任意一台服务器节点宕机,至少还有一个副本可以正常访问,从而达到数据冗余保护的目的。

SmartX 超融合基础架构同样采用多副本技术为虚拟机提供数据冗余保护。它⽀持配置 2 副本、3 副本共两种存储策略,不同的副本策略可以容忍不同级别的硬件损坏。

当前问题

超融合集群除了需要面临硬件损坏, 还可能面临诸如硬盘误操作拔出、服务器节点意外重启、存储网络闪断等问题,最终导致硬件的短暂离线(一段时间后重新上线)。这些情况通常会引起副本降级(副本数量少于预期),而且系统也很难辨别这是一次短暂离线还是永久离线。以 2 副本为例,在发生副本离线超时后,后台会自动剔除异常副本,以健康副本来响应正常的 I/O 请求,同时触发数据恢复来重建缺失的数据副本。但在数据完成恢复之前,新的数据读写都只发生在唯一的健康副本之上。

图 2

如图 2 所示:以 2 副本策略为例,正常情况下,数据 A 包含 2 个副本,当发生 I/O 写入时,副本 1 和副本 2 会同步写入 I/O。当副本 2 异常下线之后,副本 2 将被剔除,并触发数据恢复到副本 2’。在数据恢复期间,数据的变化只写入了副本 1 (副本降级),直至副本 2’ 重建完成之后,副本 2’’ 才能重新接受写 I/O(副本级别恢复)。

注:副本 2” 表示完成数据恢复的新副本,与未完成数据复制的副本 2′ 进行区分。

在副本降级期间,实际只有 1 副本在工作,一旦出现健康副本受损离线的情况,那么就有很大几率导致数据丢失。下面将通过图例说明副本降级期间的风险。

图 3

如图 3 所示:当副本 2 发生异常而无法访问时,I/O 可以正常写入并更新到副本 1,同时后台将触发数据恢复(通过拷贝副本 1 的数据重新生成副本 2’’)。而数据恢复是需要一定时间的(时长取决于数据量的大小),在数据恢复完成之前,副本 2’ 是无法正常访问的(数据不完整)。如果这个时候副本 1 遭遇硬件故障或其他原因的损坏而无法访问,那么数据 A 将没有办法通过任何可用的副本进行恢复,也无法正常读写,大概率导致数据丢失的情况发生。

SmartX 超融合临时副本技术原理

针对这一以上问题,SMTX OS 5.1 提供了一种创新性的数据恢复机制,可有效降低副本降级问题带来的风险,提高故障场景下的数据安全等级。新的处理机制引入“临时副本”概念,可确保新写入的数据维持副本级别(整个数据恢复过程不降级);甚至在数据恢复期间发生其他叠加故障导致所有健康副本异常时,依然允许系统通过特殊的恢复机制进⾏数据修复(支持完全修复和部分修复),从⽽最大限度地保障数据恢复期间的数据安全性。

概念定义

  • 健康副本:可提供完整读写能⼒的数据副本。
  • 失败副本:出现异常、⽆法提供正常读写能⼒的数据副本,可基于临时副本进⾏数据修复。
  • 临时副本:在健康副本降级期间,负责记录新数据的写⼊,不负责数据的读取。 

临时副本运作机制

SMTX OS 5.1 采用临时副本策略提高异常发生后数据副本的安全性。

  • 数据组成:当出现副本降级,需要剔除异常副本时,通过分配临时副本响应写请求,记录数据恢复期间新写⼊的数据,以保证数据副本数满⾜预期(临时副本数据 + 健康副本数据 = 完整副本数据)。
  • 生命周期:数据恢复期间,会保留异常副本并标记为失败副本,每恢复⼀个健康副本,就移除对应的失败副本和临时副本。
  • 无损修复:如果在数据恢复期间叠加其他故障导致所有副本均出现异常,在失败副本恢复访问的情况下,可以通过特殊恢复机制⼈⼯进⾏数据修复,将临时副本上的数据重放⾄失败副本上,形成完整的健康副本。 
  • 适用场景:临时副本策略仅能改善因为可恢复故障(由于⽹络或者其他原因造成的副本临时下线)带来的副本降级。

数据恢复

正常数据恢复

2 副本或 3 副本数据在出现单个副本异常时,会为异常副本分配对应的临时副本,记录副本异常后的新写⼊的数据,并使⽤健康副本作为数据源进⾏数据恢复。

图 4

如图 4 所示: 以 2 副本为例,当副本 2 离线无法访问时,系统将从元数据中剔除异常副本,同步触发数据恢复,并额外创建临时副本,所有新写入的数据会同步写入副本 1 和临时副本(新写入数据维持 2 副本级别,不降级);与此同时数据恢复也同时在进行,通过复制副本 1 重新形成副本 2‘,当所有数据恢复完成,副本 2’‘ 处于正常状态,系统会自动删除临时副本。

利用临时副本进行无损修复

在数据恢复的过程中,如果不幸,唯一的健康副本也发生了损坏或下线,那么虚拟机将⽆法访问任何副本数据,也没有办法正常进行 I/O。但如果这时候当初离线的失败副本已经重新上线(如机器重新启动或者网络恢复等),且数据没有损坏的情况下,系统仍然可以合并失败副本(首次副本离线前的旧数据)和临时副本(离线后写入的新数据)进⾏修复,但虚拟机在数据修复期间⽆法进⾏ I/O,直至修复完成。下面将举例说明无损修复是如何实现的。

图 5

如图 5 所示: 当副本 2 发生异常离线,系统自动触发数据恢复并创建临时副本,新写入的数据会同时记录到副本 1 和临时副本当中,并通过数据恢复生成副本 2’。如果在数据恢复过程中(副本 2’ 未完全复制完成的情况),发生叠加故障,副本 1 发生了损坏或离线时,那么这个时候已经没有任何完整副本可供访问了,数据 A 也完全离线了。而系统可对原有的副本 2 的数据(已经重新上线)和临时副本(增量数据)进行数据整合,形成完整的数据副本 3,此时数据 A 可以重新上线并接受读写请求,同时可重新触发数据恢复,等待完成数据恢复之后,重新形成健康的 2 副本状态。

临时副本机制的限制和影响

限制

临时副本主要针对硬件短暂离线下的副本降级风险,但对于不可恢复的硬件故障(如磁盘损坏等),临时副本没有直接的效果。如要应对此类多个硬件叠加故障的场景,建议采用高级别的副本策略(3 副本策略)进行保护。

影响

  • 空间影响:临时副本的创建会额外占用存储空间,但是数据恢复完成后,这部分空间会自动回收。
  • 性能影响:由于虚拟机变化的数据会同步写入临时副本,因此这一过程对虚拟机的写入性能会有一定的影响(持续至数据恢复完成)。目前性能影响在可接受的范围内,而且该功能也在持续优化过程中,后续版本这部分影响将进一步降低。

除了对多副本机制的优化,SMTX OS 5.1 还新增了 GPU 直通与 vGPU 支持、PCI 直通支持、DRS 优化等虚拟化与存储能力。搭配软件定义的网络负载均衡、可观测平台等产品组件,SmartX 超融合 5.1 版本全面提升虚拟化、存储、网络与安全、运维管理支持等基础设施能力。

 更多 SmartX 超融合 5.1 最新特性与技术解读,欢迎通过电子书《超融合技术原理与特性解析合集(更新版)》详细了解。下载链接:

合集一:虚拟化与存储

合集二:管理与运维

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

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

相关文章

视频集中存储EasyCVR平台播放一段时间后出现黑屏是什么原因?该如何解决?

安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及支持厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安…

Ubuntu开机无法进入系统,文件根系统目录空间不足导致?

前言: 自己电脑上装的是Win11和Ubuntu20双系统,平时就是切换着用。 偶然有次,Ubuntu提示文件根系统目录空间不足,自己没在意。 结果下次开机进入Ubuntu时候,芭比Q了。。进不了系统 这样的事情发生很多次了,…

Spring Boot自动配置原理、实战、手撕自动装配源码

Spring Boot自动配置原理 相比较于传统的 Spring 应用,搭建一个 SpringBoot 应用,我们只需要引入一个注解 SpringBootApplication,就可以成功运行。 前面四个不用说,是定义一个注解所必须的,关键就在于后面三个注解&a…

超好用!在线即可制作电子产品图册

​电子产品图册是展示产品特点、功能和外观的重要方式之一。通过图册,可以让客户更好地了解产品,增强信任感,从而促进销售。同时,对于企业来说,制作精美的电子产品图册也是展示企业文化和品牌形象的重要手段之一。 一、…

自然语言处理(一):RNN

「循环神经网络」(Recurrent Neural Network,RNN)是一个非常经典的面向序列的模型,可以对自然语言句子或是其他时序信号进行建模。进一步讲,它只有一个物理RNN单元,但是这个RNN单元可以按照时间步骤进行展开…

大语言模型(LLM)综述(六):大型语言模型的基准和评估

A Survey of Large Language Models 前言7 CAPACITY AND EVALUATION7.1 基本能力7.1.1 语言生成7.1.2 知识利用7.1.3 复杂推理 7.2 高级能力7.2.1 人类对齐7.2.2 与外部环境的交互7.2.3 工具操作 7.3 基准和评估方法7.3.1 综合评价基准7.3.2 评估方法 7.4 实证评估7.4.1 实验设…

HarmonyOS开发:UI开展前的阶段总结

前言 关于HarmonyOS,陆陆续续总结了有14篇的文章,大家可以发现,没有一篇是关于UI相关的,不是自己没有分享的打算,而是对于这些UI而言,官方都有着一系列的文档输出,如果我再一一的分享&#xff0…

Redis之Java操作连接操作Redis

前言 Java是一种强大的编程语言,而Redis是一个快速且具有高可扩展性的开源键值数据存储系统。使用Java操作Redis可以提高效率和性能,并且能够满足大规模数据存储和处理的需求。在本篇文章中,我们将介绍如何使用Java连接Redis,以及…

Day24力扣打卡

打卡记录 寻找峰值&#xff08;二分法&#xff09; class Solution { public:int findPeakElement(vector<int> &nums) {int left -1, right nums.size() - 1; // 开区间 (-1, n-1)while (left 1 < right) { // 开区间不为空int mid left (right - left) / …

键盘打字盲打练习系列之认识键盘——0

一.欢迎来到我的酒馆 盲打&#xff0c;yyds&#xff01; 目录 一.欢迎来到我的酒馆二.键盘规格三.键盘分区 二.键盘规格 经常看视频&#xff0c;看到别人在键盘上一通干净利索的操作&#xff0c;就打出想要的文字。心里突然来一句&#xff1a;卧槽&#xff0c;打字贼快啊&#…

Go 接口:nil接口为什么不等于nil?

本文主要内容:深入了解接口类型的运行时表示层。 文章目录 一、Go 接口的地位二、接口的静态特性与动态特性2.1 接口的静态特性与动态特性介绍2.2 “动静皆备”的特性的好处 三、nil error 值 ! nil四、接口类型变量的内部表示第一种&#xff1a;nil 接口变量第二种&#xff1a…

刷题笔记day14-二叉树01

前序遍历 前序遍历的方式是&#xff1a;根节点、左节点、右节点。 /*** Definition for a binary tree node.* type TreeNode struct {* Val int* Left *TreeNode* Right *TreeNode* }*/ import "container/list"func preorderTraversal(root *TreeNode…

VR全景如何应用在房产行业,VR看房有哪些优势

导语&#xff1a; 在如今的数字时代&#xff0c;虚拟现实&#xff08;VR&#xff09;技术的迅猛发展为许多行业带来了福音&#xff0c;特别是在房产楼盘行业中。通过利用VR全景技术&#xff0c;开发商和销售人员可以为客户提供沉浸式的楼盘浏览体验&#xff0c;从而带来诸多优…

「Verilog学习笔记」使用子模块实现三输入数的大小比较

专栏前言 本专栏的内容主要是记录本人学习Verilog过程中的一些知识点&#xff0c;刷题网站用的是牛客网 分析 题目要求编写子模块实现两个输入数的大小比较并输出较小值&#xff0c;可以使用if-else语句实现。同时要求在主模块中实现三个输入数值的大小比较&#xff0c;假设三个…

5分钟Python安装实战(MAC版本)

最近在学习Chatgpt接口&#xff0c;官方提供三种方式调用Chatgpt接口&#xff0c;分别是curl、python、node.js&#xff1a;具体介绍我放在下方图片 因为熟悉Python&#xff0c;所以我选择了python这种方式&#xff0c;顺便记录下安装过程&#xff0c;整体并不复杂&#xff0c;…

国产小体积超低成本电动车仪表智能刷卡解锁13.56M非接触式读写芯片CI522兼容替代RC522

Ci522电动车仪表一键启动芯片 Ci522是一个高度集成的&#xff0c;工作在13.56MHz的非接触式读写器芯片&#xff0c;阅读器支持ISO/IEC 14443 A/MIFARE。 无需外围其他电路&#xff0c;Ci522的内部发送器可驱动读写器天线与ISO/IEC 14443 A/MIFARE卡和应答机通信。接收器模块提…

【STM32】TIM2的PWM:脉冲宽度调制

PWM是一种周期固定&#xff0c;脉宽可调整的输出波形。 0.通用寄存器输出 1.捕获/比较通道1的主电路--中间部分 2.捕获/比较通道的输出部分--输出 3.通用定时器输出PWM原理 PWM波周期或者频率由ARR&#xff08;就是要进递增/递减的值&#xff09;决定&#xff0c;PWM波占空比由…

代码随想录 Day40 动态规划08 LeetCodeT198打家劫舍 T213打家劫舍II T337 打家劫舍III

动规五部曲: 1.确定dp数组含义 2.确定递推公式 3.初始化dp数组 4.确定遍历顺序 5.打印数组排错 LeetCode T198 打家劫舍 题目链接:198. 打家劫舍 - 力扣&#xff08;LeetCode&#xff09; 题目思路: 今天我们走出背包问题,开始进入新一轮经典问题的学习:打家劫舍问题. 题目大概…

桌面远程连接

遇到的问题&#xff1a; win11家庭版不支持远程连接&#xff0c;如下图所示&#xff1a; 解决办法&#xff1a; 被控方电脑 1、打开控制面板-系统和安全-允许远程访问&#xff0c;勾选允许远程协助连接这台计算机 2、打开控制面板-系统和安全-Windows Defender 防火墙-允许…

WebDAV之π-Disk派盘 + PassStore

大家常用的qq,手机微信,新浪微博等。假如各个网址都设成同样的帐号和登陆密码,一旦某一帐户泄漏了,别的平台上的账户密码都有被撞库攻击的风险。在不一样的站点设定不一样的高韧性登陆密码才算是最安全可靠的确保,殊不知这般繁多的帐户密码是难以记得的。因而,有着一款安…