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

作者简介:徐林波
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 招聘存储测试/运维/研发工程师

上一篇:MVC笔记2


下一篇:.net MVC中ActionResult可以返回的视图