存储数据保护技术——HyperMetro双活技术讲解

2024-01-08 16:10

本文主要是介绍存储数据保护技术——HyperMetro双活技术讲解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

基本概念

双活部署方式

当数据中心A和数据中心B同时写入数据,怎么区分?怎样保证数据一致性

仲裁模式

脑裂现象

两种仲裁模式

静态优先级模式

仲裁服务器模式

双写原理

方案扩展性设计


基本概念

HyperMetro 双活

双活没有主从的概念

正常情况下,双活特性中的两个数据中心互为备份,且都处于运行状态

当其中一个数据中心发生故障时,可以自动切换到另一个数据中心

双活部署方式

本地数据中心部署:通常部署在同园区的不同机房中

跨数据中心部署:    通常部署在同城或着相近城市的来两个数据中心(300km以内)

对于长距离传输(FC组网≥25kmIP组网≥80km),方案需要准备波分设备来保证网络的传输时延

当数据中心A和数据中心B同时写入数据,怎么区分?怎样保证数据一致性

通过分布式锁互斥来保证数据的一致性

互斥

同时只能有一台主机进行数据写入(主机A写入的时候,主机B不能写入--对后端的整列为只读状态)

分布式锁

当主机A进行写入时(会双写到阵列AB),会将其写入数据的空间进行锁定----主机B写入时不会写入到此空间,会写入到其它的空间中(空间锁定会进行动态调整,分布在两个阵列上)

注意

当其中一个阵列发生故障时,当主机进行写入数据时,会将差异数据记录到DCL存储空间中,等故障阵列恢复后,将数据增量写入到阵列

仲裁模式

脑裂现象

数据中心A和B之间进行数据同步的线缆出现故障,此时数据中心之间无法通信,不知道主备设备是哪个,造成脑裂现象

当脑裂或者其中一个数据中心出现故障时,可以通过仲裁来决定谁是主设备--可以进行数据读写,谁是从设备--不能进行数据读写

两种仲裁模式

通过不同的仲裁方式来判断主备设备

静态优先级模式

未配置仲裁服务器时使用此场景。通过本地优先级来判断谁是主

仲裁服务器模式

哪个阵列先找到仲裁设备,哪个就为主---------是一个软件,一般安装在Linux系统中

双写原理

方案扩展性设计

这篇关于存储数据保护技术——HyperMetro双活技术讲解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/584024

相关文章

SpringBoot3实现Gzip压缩优化的技术指南

《SpringBoot3实现Gzip压缩优化的技术指南》随着Web应用的用户量和数据量增加,网络带宽和页面加载速度逐渐成为瓶颈,为了减少数据传输量,提高用户体验,我们可以使用Gzip压缩HTTP响应,... 目录1、简述2、配置2.1 添加依赖2.2 配置 Gzip 压缩3、服务端应用4、前端应用4.1 N

C# WinForms存储过程操作数据库的实例讲解

《C#WinForms存储过程操作数据库的实例讲解》:本文主要介绍C#WinForms存储过程操作数据库的实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、存储过程基础二、C# 调用流程1. 数据库连接配置2. 执行存储过程(增删改)3. 查询数据三、事务处

Java利用JSONPath操作JSON数据的技术指南

《Java利用JSONPath操作JSON数据的技术指南》JSONPath是一种强大的工具,用于查询和操作JSON数据,类似于SQL的语法,它为处理复杂的JSON数据结构提供了简单且高效... 目录1、简述2、什么是 jsONPath?3、Java 示例3.1 基本查询3.2 过滤查询3.3 递归搜索3.4

Python中随机休眠技术原理与应用详解

《Python中随机休眠技术原理与应用详解》在编程中,让程序暂停执行特定时间是常见需求,当需要引入不确定性时,随机休眠就成为关键技巧,下面我们就来看看Python中随机休眠技术的具体实现与应用吧... 目录引言一、实现原理与基础方法1.1 核心函数解析1.2 基础实现模板1.3 整数版实现二、典型应用场景2

Oracle存储过程里操作BLOB的字节数据的办法

《Oracle存储过程里操作BLOB的字节数据的办法》该篇文章介绍了如何在Oracle存储过程中操作BLOB的字节数据,作者研究了如何获取BLOB的字节长度、如何使用DBMS_LOB包进行BLOB操作... 目录一、缘由二、办法2.1 基本操作2.2 DBMS_LOB包2.3 字节级操作与RAW数据类型2.

Java实现数据库图片上传与存储功能

《Java实现数据库图片上传与存储功能》在现代的Web开发中,上传图片并将其存储在数据库中是常见的需求之一,本文将介绍如何通过Java实现图片上传,存储到数据库的完整过程,希望对大家有所帮助... 目录1. 项目结构2. 数据库表设计3. 实现图片上传功能3.1 文件上传控制器3.2 图片上传服务4. 实现

C++快速排序超详细讲解

《C++快速排序超详细讲解》快速排序是一种高效的排序算法,通过分治法将数组划分为两部分,递归排序,直到整个数组有序,通过代码解析和示例,详细解释了快速排序的工作原理和实现过程,需要的朋友可以参考下... 目录一、快速排序原理二、快速排序标准代码三、代码解析四、使用while循环的快速排序1.代码代码1.由快

C语言中的浮点数存储详解

《C语言中的浮点数存储详解》:本文主要介绍C语言中的浮点数存储详解,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、首先明确一个概念2、接下来,讲解C语言中浮点型数存储的规则2.1、可以将上述公式分为两部分来看2.2、问:十进制小数0.5该如何存储?2.3 浮点

MySQL常见的存储引擎和区别说明

《MySQL常见的存储引擎和区别说明》MySQL支持多种存储引擎,如InnoDB、MyISAM、MEMORY、Archive、CSV和Blackhole,每种引擎有其特点和适用场景,选择存储引擎时需根... 目录mysql常见的存储引擎和区别说明1. InnoDB2. MyISAM3. MEMORY4. A

Golang基于内存的键值存储缓存库go-cache

《Golang基于内存的键值存储缓存库go-cache》go-cache是一个内存中的key:valuestore/cache库,适用于单机应用程序,本文主要介绍了Golang基于内存的键值存储缓存库... 目录文档安装方法示例1示例2使用注意点优点缺点go-cache 和 Redis 缓存对比1)功能特性