简介

  多时间片技术,是应用于HyperReplication的异步远程复制;提高效率, 在同步远程复制中,没有这个概念;

  时间片:在Cache中管理一段时间内写入数据的逻辑空间(数据大小没有限定);

  HyperReplication,基于cache多时间快照技术,主端需要做COW时,主机IO写入Cache即可返回,不需要等COW完成后才返回,减少了COW对主机性能的影响,极大降低了远程复制同步数据时对主机的性能影响,同时远程复制拷贝数据时,主端直接从Cache读取拷贝数据,拷贝时延较小,使异步远程复制支持秒级RPO。

  

实现原理:

  HyperReplication LUN异步远程复制基于多时间片缓存技术,周期性的同步主、从LUN的数据,上一次同步以来主LUN上发生的所有变化会在下一次同步时写到从LUN上。

  OceanStor存储系统异步远程复制采用了创新的多时间片缓存技术专利号:PCT/CN2013/080203),其实现原理如下:

1)       与同步远程复制类似,当主站点的主LUN和远端复制站点的从LUN建立异步远程复制关系以后,默认情况下会启动一个初始同步,将主LUN数据全量拷贝到从LUN;

2)       初始同步完成后,从LUN数据状态变为完整(即从LUN为主LUN的过去某个时刻的一致性拷贝),然后开始按照下面的流程进行I/O处理:

  ①    每当间隔一个同步周期(由用户设定,范围为3s~1440min),系统会自动启动一个将主站点数据增量同步到从站点的同步过程(如果同步类型为手动,则需要用户来触发同步)。每个复制周期启动时在主LUN(LUN A)和从LUN(LUN B)的缓存中产生新的时间片(TPN+1和TPX+1);

  ②    主站点接收生产主机写请求;

  ③    主站点将写请求的数据写入Cache时间片TPN+1中,立即响应主机写完成;

  ④    同步数据时,读取前一个周期主LUN(LUN A)Cache时间片TPN的数据,传输到从站点,写入从LUN(LUN B)Cache时间片TPX+1中;

    若主站点Cache写缓存达到高水位时会自动将数据从Cache写入硬盘中,此时时间片TPN的数据会在盘上生成快照,同步时已写入硬盘的数据从快照中读取并复制到从LUN(LUN B);

  ⑤    同步数据完成后,按照刷盘策略将主LUN(LUN A)和从LUN(LUN B)Cache中时间片TPN和TPX+1的数据下盘(生成的快照自动删除),等待下一个同步的到来。

多时间片缓存技术对LUN异步远程复制的影响

秒级RPO

  HyperReplication基于多时间片缓存技术,可以使LUN异步远程复制的RPO指标达到秒级。

  基于多时间片缓存技术,Cache中的数据和与Cache交互的IO都携带时间片信息,在进行复制时,可以直接从主LUN Cache中读取相应时间片的数据复制到从LUN,写从LUN时写入其Cache即可返回。而传统异步复制,每个周期需要创建、删除快照,复制时读数据需要从快照读取,写数据需要做快照处理。相对于传统技术,HyperReplication极大的缩短了复制周期,可以达到秒级RPO。

从LUN数据完全保护

  OceanStor存储系统的异步远程复制支持对从LUN数据的完全保护。在从站点,主机对从LUN的读、写有权限控制,当同步中断或从LUN数据不可用时,可以将前一个TPX周期的数据恢复到从LUN,覆盖第TPX+1个周期的数据,使从LUN回退到最近一次同步开始前时间点的可用数据。

从LUN可写

  OceanStor存储系统异步远程复制支持从LUN可写。默认情况下,异步远程复制从LUN是只读的,设置从LUN可写需满足以下两个条件:

1)       远程复制处于***或异常断开状态;

2)       远程复制从LUN数据必须是完整的(当从LUN数据不完整时,从LUN数据此时不可用,不能设置为从LUN可写)。

  当设置从LUN可写时,若从LUN存在保护时间点TPX,则会触发回滚,将从LUN的数据回滚到TPx,使从LUN数据恢复到最近一次可用数据。

  OceanStor存储系统支持对从LUN的写记录差异,当主站点生产阵列恢复后,可通过比较主从差异,进行增量同步来使得灾难恢复后业务快速回切。

04-华为HyperReplication中的多时间片技术的更多相关文章

  1. 【DDD/CQRS/微服务架构案例】在Ubuntu 14.04.4 LTS中运行WeText项目的服务端

    在<WeText项目:一个基于.NET实现的DDD.CQRS与微服务架构的演示案例>文章中,我介绍了自己用Visual Studio 2015(C# 6.0 with .NET Frame ...

  2. Linux 中的零拷贝技术,第 1 部分

    概述 本系列由两篇文章组成,介绍了当前用于 Linux 操作系统上的几种零拷贝技术,简单描述了各种零拷贝技术的实现,以及它们的特点和适用场景.本文是本系列文章的第一部分,主要是介绍一些零拷贝技术的相关 ...

  3. CSS3中新出现的技术

    CSS3中新出现的技术 CSS媒体查询 媒体查询 包含了一个媒体类型和至少一个使用如宽度.高度和颜色等媒体属性来限制样式表范围的表达式.CSS3加入的媒体查询使得无需修改内容便可以使样式应用于某些特定 ...

  4. Android中通过进程注入技术改动广播接收器的优先级

    前言 这个周末又没有吊事,在家研究了怎样通过进程的注入技术改动广播接收器的优先级.关于这个应用场景是非常多的.并且也非常重要.所以就非常急的去fixed了. Android中的四大组件中有一个广播:B ...

  5. [转帖]Linux 中的零拷贝技术,第 1 部分

    Linux 中的零拷贝技术,第 1 部分 https://www.ibm.com/developerworks/cn/linux/l-cn-zerocopy1/index.html   引言 传统的 ...

  6. Android中通过进程注入技术修改广播接收器的优先级

    前言 这个周末又没有吊事,在家研究了如何通过进程的注入技术修改广播接收器的优先级,关于这个应用场景是很多的,而且也很重要,所以就很急的去fixed了. Android中的四大组件中有一个广播:Broa ...

  7. 【转】代码中特殊的注释技术——TODO、FIXME和XXX的用处

    (转自:http://blog.csdn.net/reille/article/details/7161942) 作者:reille 本博客网址:http://blog.csdn.net/reille ...

  8. 【Cocos2d-x游戏开发】Cocos2d-x中的数据存储技术

    一.引言 数据存储和网络功能可以说是一款游戏中必不可少的功能,如果一款游戏不能保存进度那么它的可玩性必然大打折扣(试想一下,玩家辛辛苦苦玩了一整天的游戏,结果退出时告诉人家不能保存关卡信息,你明天还得 ...

  9. OpenGL中实现双缓冲技术

    在OpenGL中实现双缓冲技术的一种简单方法: 1.在调用glutInitDisplayMode函数时, 开启GLUT_DOUBLE,即glutInitDisplayMode(GLUT_RGB | G ...

  10. Android中的接口回调技术

    Android中的接口回调技术有很多应用的场景,最常见的:Activity(人机交互的端口)的UI界面中定义了Button,点击该Button时,执行某个逻辑. 下面参见上述执行的模型,讲述James ...

随机推荐

  1. Linux系统运维之subversionEdge部署

    一.介绍 Subversion Edge是Collabnet公司发布的SVN和Apache等组件结合的SVN管理工具.由于安装过subversion+apache,发现添加账户都需要登录服务器改配置, ...

  2. Docker安装MariaDB--九五小庞

    1 docker search mariadb 搜索mariadb镜像(非必须) 2 docker pull mariadb 下载docker镜像(下载的是latest版本)想要下载指定版本执行的命令 ...

  3. 如何根据oops函数偏移快速定位源码?

    如何根据函数偏移快速定位源码? 在内核栈的输出中,你一定注意到每一个函数的输出格式都是函数名+偏移量,而这儿的偏移就是调用下一个函数的位置.那么,能不能根据函数名+偏移量直接定位源码的位置呢? 答案是 ...

  4. Java开发大型互联网-架构师必须掌握的分布式技术

    Java开发大型互联网-架构师必须掌握的分布式技术 摘要:在当今互联网行业,随着用户量和业务的不断增长,大型互联网系统的设计和开发已经成为了一项头等重要的任务.作为架构师,要能够应对这样的挑战,就必须 ...

  5. 2023ccpc大学生程序设计竞赛-wh

    对于大一的我,只听说线下大型比赛,而第一次参加也必然心情激动,生为大一,由于没有参赛经历,所有不知道参赛技巧,所以三个人像个无头苍蝇一样,跟着榜单做,我作为写码的,其他两名队友负责思路和想法,第一道签 ...

  6. 【MAUI Blazor踩坑日记】1.关于图标的处理

    前言 本系列文章,默认你已经踏上了MAUI Blazor的贼船,并且对MAUI Blazor有了一些了解,知道MAUI是什么,知道Blazor是什么. 不会教你怎么写MAUI Blazor的项目,只是 ...

  7. LCD与OLED的相爱相杀

    目前市面的显示技术主要分为LCD与OLED. 本文主要记录对LCD与OLED的学习. 导言:介绍一些专业名词和术语. 像素点:是指在由一个数字序列表示的图像中的一个最小单位,称为像素. 一张图片在显示 ...

  8. Feign自定义重试策略及超时时间

    背景 feign可以配置重试策略及超时时间,但是无法根据业务场景动态的设置.可能会引起接口幂等,无效重试资源耗费,大数据量耗时操作报超时异常等问题.所以需要更细粒度的重试策略及超时时间配置. 自定义重 ...

  9. Fastjson1.2.24漏洞复现-基于vulhub漏洞平台(文件上传写入-反弹shell)

    Fastjson1.2.24漏洞复现-基于vulhub漏洞平台 环境准备: 192.168.59.130 攻击机 window10 192.168.59.135 靶机 centos8 声明:不涉及互联 ...

  10. python:时间模块dateutil

    安装 pip install python-dateutil dateutil模块主要有两个函数,parser和rrule. 其中parser是根据字符串解析成datetime,而rrule则是根据定 ...