专栏首页CU技术社区工程师笔记 | 为什么说SC系列存储的快照是性能无损的?

工程师笔记 | 为什么说SC系列存储的快照是性能无损的?

作为最常用的本地数据保护手段,快照已经成为企业级存储阵列上的必备功能之一,主要用于在线数据备份与恢复可防范逻辑故障风险,比如病毒攻击、文件格式损坏、系统崩溃以及误删除操作等。

根据存储网络行业协会SNIA(Storage Networking Industry Association)的定义:

快照是关于指定数据集合的一个完全可用拷贝,该拷贝包括相应数据在某个时间点(拷贝开始的时间点)的映像。快照可以是其所表示的数据的一个副本,也可以是数据的一个复制品。

目前,快照的实现方式主要有两种:COW(Copy On Write,写时复制)和ROW(Redirect On Write,写重定向)。

COW

Copy On Write,写时复制,即在数据第一次写入磁盘时,先将原有内容复制到另一个专门为快照准备的存储空间里,然后再将新数据写入原始位置。等下一次再写数据时,已经复制过的数据就不会再复制。

优点:

因为快照卷只需要保留发生过变化的数据块,可以实现空间的高效利用

缺点:

会引起数据卷性能的下降。创建快照之后,对数据卷的写操作会增加一个等待的过程——即将旧数据块复制到快照卷的过程中会造成的性能损失,如果写操作过于频繁,带来的开销将是不可忽略甚至不可忍受的。

ROW

Redirect On Write,写重定向,这种方式下只进行一次写操作,即创建快照卷后,直接将新数据写入预留的快照空间,并根据源卷和快照卷上的数据存储位置建立映射,读取数据时根据映射表来读,快照创建前的数据从源卷读取,快照创建后的数据从快照卷读取。

优点:

整体上降低了快照对系统性能的影响,开销较小。

缺点:

一旦快照被删除或者被覆盖,首先需要把快照卷的数据回拷到源卷,如果有大量快照,其复杂程度可想而知。

经过多年发展,使用ROW技术实现快照的存储产品也越来越多,戴尔易安信SC系列存储采用的就是基于Redirect On Write机制的Data Instant Replay快照方法,可为用户提供持续数据保护即使备份没做完也能恢复数据

由于需要进行读写操作,再加上元数据管理方式不同,快照可能会对存储性能造成影响,然而戴尔易安信SC系列存储却宣称其快照是性能无损的——

Q

为什么戴尔易安信SC系列存储如此有底气?

A

一切都要归功于其与众不同的设计理念

☟☟☟

一、创建快照时:---

其它存储的快照无论是COW还是ROW,在创建快照时都会立即生成一个快照实例,同时需要额外创建一份相应数据块的指针赋予这个实例

而SC存储在创建快照时,会记录下时间点,并将相应数据块的标记为Read-Only。

Before Snapshot▼:

After Snapshot▼:

只有需要使用快照时SC存储才生成一个快照卷并将额外的指针赋予这个快照卷

这种设计理念具备以下优势

❶ 创建快照时只是对数据块做标记,属于正常系统性能开销,没有大量额外指针操作,无性能影响

不论数据量多大都可以快速创建快照(亚秒级的即时快照创建)。

❸ 在快照被使用前,存储系统无需维护大量额外的快照指针,缓存占用少几乎没有性能降级(特别针对多个时间点的快照,只是用于防范数据损坏的快照使用场景)。

❹ 采用ROW技术,对于标记为Read-Only的数据块的修改,直接存放在一个新的数据块上,可快速创建快照。

二、继续做快照时:---

继续做快照时,其它存储是再次生成一个快照实例,并再次创建一份相应数据块的100%的指针赋予这个实例。

而SC存储是增量型快照与上一次快照不重复创建共用数据块的指针,只创建两次快照时间间隔内数据块变化的指针。

该设计理念带来了以下优势:

❶ 快照创建速度快。

❷ 快照资源开销少,性能影响小。

这就是为什么第三方评测指出,SC存储的快照可以极大改善应用的恢复时间RTO(RecoveryTime Objective)。

基于以上设计理念,SC存储的快照还有以下与众不同的使用效果

1

快照数量远远多于其它存储

由于维护快照的资源和性能开销极其微小,SC存储可以在更短的时间间隔内生成快照,进而实现存储阵列的连续数据保护。

2

快照一次创建,可被同时或多次重复使用

在其它存储上,一旦对某个快照卷进行了数据修改或删除操作(比如开发测试、算法训练时,可能会对某一个时间点的数据进行多次修改),该快照卷创建时的原始状态数据就无法找回

对此,现行大多数存储的做法是先创建一个Golden Image 克隆,然后再创建快照,这种做法虽然能解决上述问题,但同时又会造成更高的系统开销和性能影响

相比之下,SC存储的快照点管理就简单灵活地多。在SC存储上,每一个快照卷都从时间点的记录中剥离了出来,即使删除了快照卷,时间点的记录依然保存在系统中,由此可以再次创建这个时间点的快照卷,并重复多次使用。

另外,删除的快照卷甚至还可以在回收站中找回来

3

数据分层保证性能

结合数据分层技术,SC存储的快照可以创建在其它层级的存储空间上,从而降低生产卷所在层级的空间开销,以更好地保证生产数据的性能。

在各种连续数据保护技术中,戴尔易安信SC系列存储是为数不多的将连续数据保护功能内嵌到存储里的企业级存储。凭借着独特的快照方法,SC系列存储可为用户提供强大的数据恢复功能,帮助用户节省磁盘空间的同时又大大提高了数据恢复效率。数据保护与性能无损两手抓,SC存储就是这么秀!

本文分享自微信公众号 - CU技术社区(ChinaUnix2013)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-05-30

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 深入理解C语言指针

    要知道指针的概念,要先了解变量在内存中如何存储的。在存储时,内存被分为一块一块的。每一块都有一个特有的编号。而这个编号可以暂时理解为指针,就像酒店的门牌号一样。

    用户4962466
  • 学一学:Linux基础技能,挂新磁盘

    如果用户在云主机的原硬盘空间不够用,新购买后新增了一块云硬盘,是无法自动在云主机中使用的;如何在没有集成商支持的情况下,帮助用户将新云硬盘挂到旧云主机中,是一项...

    希望的田野
  • Cache、Cookie、Session、Token 傻傻分不清楚

    在接口测试中,客户端发送的request至服务端反馈的response中传输的数据就是接口测试最重要的部分

    测试小兵
  • 日均 5 亿查询量的京东订单中心,为什么舍 MySQL 用 ES ?

    京东到家订单中心系统业务中,无论是外部商家的订单生产,或是内部上下游系统的依赖,订单查询的调用量都非常大,造成了订单数据读多写少的情况。

    芋道源码
  • 一篇文章搞清楚HashMap和TreeMap的内部结构

    此实现提供所有可选的映射操作,并允许使用 null 值和 null 键。(除了非同步和允许使用 null 之外,HashMap 类与 Hashtable 大致相...

    程序员追风
  • (译)优化ORC和Parquet文件,提升大SQL读取性能

    本文编译自IBM开发者社区,主要介绍了HDFS中小的ORC和Parquet文件的问题,以及这些小文件如何影响Big SQL的读取性能,并探索了为了提高读取性能,...

    九州暮云
  • 玩转Mysql系列 - 第17篇:存储过程&自定义函数详解

    Mysql系列的目标是:通过这个系列从入门到全面掌握一个高级开发所需要的全部技能。

    路人甲Java
  • elastic-job-lite 数据结构分析(排版整理)

    上面整体描述了作业的数据结构,那么这些数据结构是怎么操作呢?在ejl中,存在这么一个服务:io.elasticjob.lite.internal.storage...

    阿伟
  • 玩转Mysql系列 - 第19篇:游标详解

    此时我们需要使用游标,通过游标的方式来遍历select查询的结果集,然后对每行数据进行处理。

    路人甲Java
  • K8S 生态周报| containerd v1.3 正式发布

    「K8S 生态周报」内容主要包含我所接触到的 K8S 生态相关的每周值得推荐的一些信息。欢迎订阅知乎专栏「k8s生态」。

    Jintao Zhang

扫码关注云+社区

领取腾讯云代金券