作者简介:徐林波 NeonSAN 开发人员,具备丰富的存储领域从业经验,资深存储系统软件研发工程师,熟悉当前主流及新型存储介质。

引言

面对当前企业数字化转型浪潮,信息数据已经成为企业赖以生存的基础,数据损坏或丢失将给企业带来难以估量的巨大损失。存储系统中的数据保护技术,如数据快照与备份,即为应对这一挑战的必备特性。

相比备份特性,快照作为更加底层的技术,具有非常广泛的应用,例如作为备份的源、作为数据挖掘的源、作为保存应用程序状态的检查点,甚至就是作为单纯的数据复制的一种手段等。

快照技术

存储网络行业协会 SNIA(StorageNetworking Industry Association)将快照技术定义为:关于指定数据集合的一个完全可用拷贝,该拷贝包括相应数据在某个时间点(拷贝开始的时间点)的映像;快照可以是其所表示的数据的一个副本,也可以是数据的一个复制品。

与照相机一样,快门一闪,就把刚刚的人像停留在了相片上。存储系统中的数据快照与我们生活中所说的“照片”非常相似,所不同的是,快照的对象不是人,而是数据。就如同照片留住了我们过去的摸样和岁月,快照把数据在某一时刻的映像保留了下来。

为什么要使用快照呢?快照其实也可以理解为数据的一种瞬时备份,利用它可以实现常规备份软件无法实现的分钟级别的 RPO;同时用户可以通过创建定时自动快照,并且把快照作为数据远程备份的源,在需要回滚时,快速回滚到指定的时间点上来,从而大大的提高了业务系统可用性。

快照按照分类可以分为全量快照和增量快照,全量快照是实现所有数据的一个完整的只读副本,增量快照是基于全量快照的一个差异化数据影像。

在存储系统中,快照可以在不同层面实现,如在磁盘阵列、文件系统、卷管理器、NAS 系统或备份系统等地方来实现。为了降低快照所占用的存储空间,当前常用的为写时复制(COW ,Copy-On-Write)和写重定向(ROW,Redirect-on-Write)快照技术。另外,还出现了其他一些快照技术的实现方式,如镜像分离、日志、持续数据保护等,这些方式,可以提升快照的某一方面的相关特性,以应对一些特殊的场景。

下面以卷管理层实现的快照为例子,介绍两种主要的快照技术。

一 COW 快照

COW 技术也称为第一次写时复制技术,如图 1 所示,当数据第一次写到某个存储位置时,首先会将这个位置原有的数据复制一份到快照空间(为快照分配的存储空间),随后才会将数据写入该存储位置,下一次的写入则不会再执行写时复制动作,实现了保存原始数据的效果。

图 1 COW 快照

COW 实现的快照,其源卷的数据分布不会发生变化,实时更新的是快照卷的元数据信息,源卷的读性能不受影响;但写入时,由于每次都需要拷贝后再写入,实际是产生了一次读两次写,因此写性能受到影响。

二 ROW 快照

ROW 又称指针重映射快照,这种实现方式与 COW 非常相似,区别在于对原始数据卷的首次写操作将被重定向到预留的快照空间。如图 2 所示,当数据被首次重写时,ROW 会选择一个新的位置,同时指向该数据的指针也被重新映射,指向更新后的数据。

图 2 ROW 快照

ROW 实现的快照,其源卷的数据分布一直在发生变化,源卷的元数据信息实时更新,不会有额外的拷贝数据动作,卷的最新数据在快照卷上,在对卷数据进行读操作时需要重定向到最新位置。因此 ROW 对读性能有一定的影响,对写无影响;另外在删除快照时,快照数据需要拷贝到源卷,有一定的耗时,因此,根据快照数据的大小,删除操作执行的时间也会有变化。

三 COW 与 ROW 技术对比

在应用场景适应性上,由表1可见,COW 适合读密集型业务,ROW 适合写密集型业务。

备份技术

在数据保护中,对数据进行备份是极为常见的一种做法,常见的备份问题其实都可以基于快照+复制技术来解决,备份按照其保护的层级分为业务级、应用级和数据级。按照备份时的系统状态是否在继续处理业务,可以分为在线备份和离线备份,也可以称冷备份和热备份。备份按照业务可以分为完全备份(也称全量备份)、增量备份、差异备份。如图 3 所示,完全备份为上一个时刻点上的全量数据;差异备份为上一次完全备份后的变化数据;增量备份为上一备份点(完全备份、差异备份、增量备份)之后有变化的数据。

图 3 备份类型

备份技术在业界使用更多的是拉远的在线数据备份技术,即远程备份。远程备份一般会用到远程复制的技术,包括同步复制、异步复制。其中同步远程复制,需要在主从存储 IO 都写完成的情况下返回至上层应用,以保证数据的一致性;而异步远程复制是在 IO 下发至主端存储缓存后就反馈当前 IO 写完成,数据复制到从端是在后台异步执行的。

备份常常和容灾技术一起提出,更多是作为一个整体的灾备解决方案。灾备解决方案根据不同的业务场景会有不同的部署方式。但不管是怎样的解决方案,衡量容灾备份系统有两个关键的技术指标,RPO(Recovery Point Objective):即数据恢复点目标,主要指的是业务系统所能容忍的数据丢失量。RTO(Recovery Time Objective):即恢复时间目标,主要指的是业务所能容忍的停止服务的最长时间,也就是从灾难发生到业务系统恢复服务功能所需要的最短时间周期。

总结

快照和备份都是数据保护的一种手段,但却是两种不同的概念。快照是数据存储的某一时刻的状态记录,而备份则是数据存储的某一个时刻的副本;由于快照只是记录了一个状态,因此快照的速度比备份要快得多,且采用 COW 或 ROW 以后,快照占用的空间比备份要少;但是备份是一个随时可用的副本,可应对原始数据破坏的情况,其安全性比快照更高。另外,从技术栈的角度上看,一般备份都会依赖快照,备份更像一种行为,而快照则是具体的技术手段。

更多文章

存储大师班

对象存储手把手教五 | 数据存取与加密

gg: 像写 Golang 一样生成代码

QingStor 招聘存储测试/运维/研发工程师

本文由博客一文多发平台 OpenWrite 发布!

存储大师班 | 浅谈数据保护之快照与备份相关推荐

  1. 存储大师班 | 浅谈 RDMA 与无损网络

    魏国武 QingStor 资深研发工程师 近 10 年企业级软件开发经验,专注于大规模分布式存储研发,擅长集群性能调优.高可用研究及容灾. 为什么需要 RDMA 当今是云计算.大数据的时代,企业业务持 ...

  2. 存储大师班 | ZFS存储池块管理与事务模型

    作者简介:肖文文,QingStor 文件存储开发工程师,主要负责文件存储的开发,有多年的存储开发经验,喜爱技术热爱技术. ZFS History 1 ZFS 的诞生:ZFS 由 Sun 存储部门的 C ...

  3. android获取存储设备根目录,浅谈android获取存储目录(路径)的几种方式和注意事项...

    通常, 我们创建文件/目录, 或者存储图片什么的, 我们都需要拿到手机的存储路径, 现在我们就来看一下获取手机存储路径的几种方式(作为工具类方法调用即可): 第一种: 获取 /storage/emul ...

  4. 存储大师班:NFS 的诞生与成长

    作者| QingStor 黄蒙 我们为什么需要 "网络文件协议" 存储文件是大家日常工作生活中最常见的需求,随着文件数量和占用存储空间的上升,以及在一定范围内共享访问文件的需求产生 ...

  5. mysql myisam存储引擎_MySQL浅谈MyISAM存储引擎

    本文来源于:IT摆渡网---一个IT实时问答系统快速解决你的任何IT问题,无需等待! mysql中用的最多存储引擎就是innodb和myisam.做为Mysql的默认存储引擎,myisam值得我们学习 ...

  6. 浅谈MySQL存储引擎-InnoDBMyISAM

    浅谈MySQL存储引擎-InnoDB&MyISAM 存储引擎在MySQL的逻辑架构中位于第三层,负责MySQL中的数据的存储和提取.MySQL存储引擎有很多,不同的存储引擎保存数据和索引的方式 ...

  7. 浅谈存储重删压缩技术(一)

    浅谈存储重删压缩技术(一) 作为一个做企业存储市场的存储人,最近两年我不断被重删压缩撩拨着.对于重删压缩这个技术的好坏,真实需求还是伪需求大家看法不一.今天我就只能谈谈我个人的看法.更多观点请关注&q ...

  8. S50非接触式IC卡存储控制浅谈(M1)

    文章分为三章来讲解. 第一章 基本原理及结构,公开资料,已阅读过的可以跳过 第二章 为自己整理后的浅谈 一.S50存储结构及扇区.块原理 M1 卡分为 16 个扇区,每个扇区由 4 块(块 0.块 1 ...

  9. 浅谈家庭无线共享存储的解决方案

    浅谈家庭无线共享存储的解决方案 参考文章: (1)浅谈家庭无线共享存储的解决方案 (2)https://www.cnblogs.com/TianFang/archive/2013/01/25/2877 ...

最新文章

  1. YOLOvi(i=1,2,3,4)系列
  2. 存储过程处理错误数据
  3. python编程小学生学好吗-小学生都开始学的Python编程到底是什么?
  4. VMware 安装ubuntu 18.04遇到的问题
  5. equals方法中变量在前和在后的区别
  6. Oracle应用迁移到AnalyticDB for PostgreSQL指导
  7. 自动拷贝文件至服务器,自动拷贝远程服务器文件
  8. Spring学习总结(27)——Spring常用注解再总结
  9. 将后台的返回的格式,根据某个共同的字段分组
  10. USACO 1.5 Number Triangles
  11. JAVA打印功能总结文档
  12. 夏普MAX3101N复印故障
  13. 【每天学一点新知识】getshell???webshell???
  14. camera中文版软件 ip_摄像头监控软件|IP Camera Viewer V 3.0.4.0 官方版-完美软件下载...
  15. 计算机是怎么分类,计算机一般按什么分类
  16. 计算机点阵存储空间,计算机存储量计算存储400个24*24点阵汉字字形所需的存储容量是________....
  17. 谷歌负载均衡Maglev实现简析
  18. 全排列、排列组合(去重区别)
  19. linux系列(七):shell编程、shell概念、ssh协议概念、执行shell文件的三种方式
  20. 阿龙学堂-VUE面试总结

热门文章

  1. qpython 3h怎么使用_使用瞬间胶水的方法及注意事项
  2. docker部署项目
  3. Java中的Stream流详解
  4. mysql 查询缓存设置
  5. java鼠标指针锤子,java线程工具走出锤子敲铁皮时代。
  6. 动态库注入app以及在非越狱手机使用
  7. 在vue-cli中以烤串风格命名变量和属性
  8. 重阳节教育课件PPT模板
  9. app的demo制作方法(产品经理)
  10. Android布局——Linearlayout线性布局