------------------------------------重要说明------------------------------------
以下部分内容来网络,部分自华为存储官方教材
具体教材内容请移步华为存储官网进行教材下载
网络引用内容无法找到原创,如有侵权请通知
------------------------------------重要说明------------------------------------
克隆能够在不中断主机业务的情况下实现LUN级别数据的完整备份,可用于数据备份与恢复、应用测试与数据分析等场景。
① 定义
克隆是快照技术的一种,是源数据在某个时间点的完整副本,是一种可增量同步的备份方式。其中:
“完整”指对源数据进行完全复制生成数据副本。
“增量同步”指数据副本可动态同步源数据的变更部分。
本存储系统的克隆特性中,保存源数据的LUN称为主LUN,保存数据副本的LUN称为从LUN。
② 相关概念
l 主、从LUN
在克隆中,为生产数据提供存储空间的LUN称为主LUN,保存主LUN数据副本的LUN称为从LUN。
l Pair
在克隆中,主LUN和每个从LUN构成一个Pair。 Pair主要用于表示主LUN和从LUN之间的镜像关系。一个克隆中只能有一个主LUN,但可以添加多个从LUN。每添加一个从LUN,就和主LUN构成一个新的Pair。
l 同步
将数据从主LUN拷贝至从LUN的过程。
l 双写
将主LUN的写I/O同步写入从LUN的过程。
l 分裂
停止主LUN和从LUN之间的双写状态,使从LUN数据成为与主LUN数据在分裂时间点完全一致的可用副本。
l 反向同步
将数据由从LUN拷贝至主LUN的过程。
l 增量拷贝
在进行同步或者反向同步时,仅拷贝新增或更改过的数据。
③ 原理
克隆是快照技术的一种,是源数据在某个时间点的完整副本,是一种增量同步的备份方式。
克隆的主要用途是备份主LUN数据以供日后还原,或者保存一份主LUN在某一时间点的副本,用于单独读写。从这两种用途出发,克隆的实现过程分为三个阶段:同步、分裂和反向同步,如图所示。
1. 同步:将数据从主LUN拷贝至从LUN,之后对主、从LUN进行双写。
2. 分裂:同步完成后,用户可以在某一时刻分裂Pair,此时从LUN便成为了主LUN的一份可用副本,该副本封存了分裂时刻主LUN的所有数据。分裂后,从LUN可以提供给主机读写,使主机既可以读写和分裂时刻主LUN相同的数据,又不会影响主LUN性能。分裂后可将从LUN和主LUN再次同步或者反向同步。
3. 反向同步:当需要恢复主LUN数据时,可将从LUN数据反向同步到主LUN。反向同步后Pair会自动分裂。在同步或者反向同步过程中,主机仍然可以对主LUN进行读写,从而保证业务的连续性。
a. 同步
为生产数据提供存储空间的LUN称为主LUN,保存主LUN数据副本的LUN称为从LUN。
主LUN和每个从LUN构成一个Pair。 Pair主要用于表示主LUN和从LUN之间的镜像关系。一个克隆中只能有一个主LUN,但可以添加多个从LUN。每添加一个从LUN,就和主LUN构成一个新的Pair。
同步是把主LUN的数据同步到从LUN上。
双写既将主LUN的写I/O同步写入从LUN的过程,写完成后才会给主机返回写完成操作,该技术一般应用在克隆同步中或同步完成未分裂的情况下。
同步过程中主LUN可以下IO:
如果待写块正在同步,则等待同步完成后双写。
如果待写块已经完成同步,直接双写。
如果待写块尚未同步,直接写主LUN。
b. 分裂
停止主LUN和从LUN之间的双写状态,使从LUN数据成为与主LUN数据在分裂时间点完全一致的可用副本。此时主从LUN都可以写,主从LUN的IO都要记差异。
c. 反向同步
① 主机读源LUN。
② 把读源LUN的IO重定向到读从LUN。
③ 把从LUN读取的数据返回给主机。
同步:将数据从主LUN拷贝至从LUN,之后对主、从LUN进行双写。
分裂:同步完成后,用户可以在某一时刻分裂Pair,此时从LUN便成为了主LUN的一份可用副本,该副本封存了分裂时刻主LUN的所有数据。分裂后,从LUN可以提供给主机读写,使主机既可以读写和主LUN相同的数据,又不会影响主LUN性能。分裂后可将从LUN和主LUN再次同步或者反向同步。
反向同步:当需要恢复主LUN数据时,可将从LUN数据反向同步到主LUN。反向同步后Pair会自动分裂。
④ 应用场景
克隆既可以直接用于数据保护,也可以用于并行开展其他业务活动,还可以和其他特性配合使用。
克隆的典型应用场景有:
l 数据备份与恢复
l 应用测试与数据分析
l 结合快照实现多层备份
l 结合远程复制提升容灾系统可靠性
a. 数据备份与恢复
使用克隆可以实现在线数据备份和方便快捷的数据恢复,如图所示。
通过使用克隆,将源数据内容复制到一个或多个副本中,可实现对源数据的实时备份(同步)或时间点备份(分裂)。在源数据遭受破坏的时候可以进行恢复。主要适用于有以下需求的场景:
l 主LUN数据遭到物理损坏(如存储介质损坏)时,要求从LUN能恢复数据。
l 存储系统空间充足,能承担多倍源数据空间的开销。
l 快速恢复数据,要求RTO( Recovery Time Objective)较短。
l 多份源数据的副本之间有时间一致性要求。
b. 应用测试与数据分析
应用测试通常是指对软件系统进行功能、性能、安全性和可用性等方面的测试。数据分析是为了提取有用信息、形成结论、提供决策支持而对大量数据进行详细研究和概括总结的过程。应用测试和数据分析都涉及大量的I/O读写。使用克隆所生成的数据副本可以并行开展应用测试、数据分析等业务活动,如图所示。
在数据分析场景下,数据分析业务从分裂后的从LUN中读取数据,既保证了和主LUN在分裂时刻的数据一致性,又避免了数据分析业务和生产业务抢占主LUN资源,影响性能。
在应用测试场景下,克隆典型的具体应用是升级演练。在升级之前先使用从LUN进行演练,测试兼容性和性能,然后根据演练结果决定是否在主LUN应用升级。
c. 结合快照实现多层备份
由于一般情况下快照所占的备份空间远小于克隆,可以将克隆结合快照,利用多层备份大大减少数据保护占用的存储空间。具体的做法是对克隆的从LUN创建快照。比如,为实现多层备份,可以将克隆的备份周期设为一周(周期备份可以通过主机侧软件实现),克隆从LUN快照的备份周期设为一天,如图所示。
d. 结合远程复制降低 RTO 和提升容灾系统可靠性
对远程复制的主LUN创建克隆可以为生产数据提供本地副本,降低RTO。当生产中心远程复制的主LUN数据遭到破坏时,先使用该LUN的克隆从LUN进行反向同步,可以快速恢复数据。
对远程复制的从LUN创建克隆还可以提升容灾系统的可靠性。当使用远程复制时,生产中心的数据破坏可能会被实时同步到灾备中心,造成灾备中心的从LUN也无法使用。这种情况下,如果在灾备中心创建过克隆并已分裂,就可以使用克隆将数据恢复到特定的时间点。
另外,为从LUN创建克隆还可以实现在容灾系统正常运行的情况下将灾备中心的数据用于读写。
克隆结合远程复制的应用场景如图所示。
原文地址:http://blog.51cto.com/hostman/2094990