快照技术综述
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3 6 9 12
1
12
12pm
TimeMark
源资源 数据卷 每小时一次的自动 快照 快照资源 数据块
1 4 7 10 2 5 8 11 3 6 9 12
初始快照 (无数据) 9am 9:00-9:59
新数据块 写入
1 4 7 10
2 5 8 11
3 6 9 12
2
6
7
10am 10:00-10:59
Copy-On-First Write
源卷
1 4 7 10 2 5 8 11 3 6 9 12 快照!
快照
第一次做快照时,快照 资源区无数据. 内存中仅 维护源卷的一个地址映 射.
1 新块写入 4 7 10
2 5 8 11
3 6 9 12 旧块移走 7
2
源卷有新块写入时,旧 块数据首先被写到快照 资源区。
重新定义数据用途
快照提供一份接近实况数据的拷贝,可供测试、归 档、查询使用,既保护生产系统又赋予备份数据新的用 途。
二、常见快照技术分类
全拷贝快照 (一)分离镜像( Split-Mirror ) 差分快照 (二)写时复制(COW : Copy On Write) (三)写时重定向(ROW : Redirect On Write)
快照前写块1 快照后写块6
0 a p c d e f z g h i 1 2 3 4 5 6 7 8
快照索引和日志
地址
6 g
数据
p z
源 盘 快照
1.写操作(‘p’写入块1) 2.产生快照 3.快照后写入‘z’到块6: •不一次性写入 •先将块6内容移入日志 •‘z’写入源卷
阵列
源卷
快照前写块1 快照后写块6 读块6 读块1
1 4 7 10 2 5 8 11 3 6 9 12
9am
初始快照 (无数据)
10:00am!!!
1 4 7 10 2 5 8 11 3 6 9 12
9:00-9:59 新数据块 写入
1 4 7 10 2 5 8 11 3 6 9 12 2 6 7
10am
10:00-10:59 新数据块 写入
1 4 7 10 2 5 8 11 3 6 9 12 9 10
• TRAP-4
数据盘 TRAP盘
B(m − 1)
B ( m)
T(m)
编码 添加
PT ( m )
…
PT (0) Header
P (m) = BT (m) ⊕ BT (m−1) T
• 将 T(m) 时 刻 的 数 据 恢 复 到 T(m) 以 前 时 刻 T(n)(n>m)时的状态: • B =B ⊕P ⊕P ⊕ ⋅⋅⋅ ⊕ P
果有数据就直接复制到拷贝 卷;如果没有数据,则直接 从源卷上复制未改变过的数 据; 最终结果是产生一个源卷在 快照点的数据副本。
7 10
拷贝卷
源数据卷
TimeMark
源资源 数据卷 每小时一次的自动 快照 快照资源 初始快照 (无数据) 9am 9:00-9:59 新数据块 写入
1 4 7 10 2 5 8 11 3 6 9 12 2 6 7
COW的特点
源卷状态:源卷保持最新状态 写操作步骤:当一个新的写操作执行时: 1. 首先读出写操作将要覆盖地址的当前数据 2. 将读出数据保存至专用空间并建立索引 3. 新的写操作执行(写入目标地址) 读写路径影响 1. 源卷的读路径基本无影响 2. 源卷的写操作受拷贝影响 3. 对快照(卷)的读写路径都有影响
11am
1 4 7 10
2 5 8 11
3 6 9 12
新数据块 写入
11:00-11:59
1 4 7 10 2 5 8 11 3 6 9 12
12pm
1
12
1 4 7 10
2 5 8 11
3 6 9 12
NETapp的 Snapshot技术
• Snapshot是WAFL文件系统“任意位置写入” 功能带来的一项突出优势。 一份Snapshot是 文件系统的在线只读拷贝。创建文件系统 的一份Snapshot仅仅需要几秒种的时间,并 且除非原始文件被删除或者更改,数据快 照并不占用额外的磁盘空间。
TRAP-3:可应用于块设备级。 对同一个逻辑块地址写操作前,旧数据 被写到另一个磁盘中存储;对同一个LBA连 续的写操作会生成一个同数据块版本序列, 并且记录对应的时间戳。旧数据块存储在一 个日志结构里,记录着该数据块的更改历史。 需要巨大的存储空间。 1TB 每天20% 5-10次改写 每天1-2TB
--SNIA(/dectionary)
快照的价值: 快速备份/恢复
快照可迅速生成,并可用作传统备份和归档的数据 源,缩小甚至消除了数据备份窗口; 快照存储在磁盘上,可以快速直接存取,大大提高 数据恢复的速度。
保存多个恢复点目标
基于磁盘的快照使存储设备有灵活和频繁的恢复点, 可以快速通过不同时间点的快照恢复数据。
快照技术综述
一、快照技术的定义及价值 二、常见快照技术分类 三、快照技术的典型应用 四、 CDP的四个TRAP级别简介 五、小结
一、快照技术的定义及价值
A fully usable copy of a defined collection of date that contains an image of the data as it appeared at the point in time at which the copy was initiated. A snapshot may be either a duplicate or a replicate of the data it represents.
1.写操作(‘p’写入块1) 2.产生快照 3.快照后写入‘z’到块6: •源卷块6内容不变 •‘z’写入日志
(三)RoW的实现
SAN访问 阵列
源卷
快照前写块1 快照后写块6 读块6 读块1
0 a p c d e f g h i 1 2 3 4 5 6 7 8
快照索引和日志
地址
6 z
数据
p z
源 盘 快照
g p
1.写操作(‘p’写入块1) 2.产生快照 3.快照后写入‘z’到块6: •源卷块6内容不变 •‘z’写入日志 4.从快照读时只访问源卷
如果快照取消,快照日志必须全部执行,以保 证源卷的状态更新到最新
ROW的特点
源卷状态:源卷状态冻结 读写操作步骤: 1. 到源盘的新的写操作被存入日志(并索引): 2. 读源卷时,先检索日志 3. 读快照时,源卷需要引用 4. 当快照取消时,写日志必须全部执行以与源卷保证数据状态同步更新 读写路径影响 1. 源卷的写操作基本无影响 2. 源卷的读路径潜在受影响 3. 快照(卷)的读写路径最优化
三、快照技术的典型应用
• 美国FalconStor公司的TimeMark技术 • NETapp的 Snapshot技术
TimeMark快照机制
TimeMark是一种基于Copy-On-First-Write 的机制,可以按照客户要求定时的周期产生 或者按照策略进行生成,每个数据卷可达到 255个快照,对每个时间点已被改变的数据块 都能完整保存,一旦需要可以立即通过 TimeView的接口工具将某一历史点的数据提 取出来。
(一)镜像分离(Split-Mirror)
写操作 写操作
镜像子系统 (阵列,逻辑卷管理器,存储网络)
镜像子系统 (阵列,逻辑卷管理器,存储网络) 镜像关系终止
源
镜像
源
镜像
全拷贝快照的特点
空间占用:每一次全拷贝快照需要与源盘相同大小 的数据空间 创建过程:每一次全拷贝快照都需要完全数据同步 读写操作影响 源卷的读操作不受影响 源卷的写操作受数据同步的影响 创建完成后,快照(卷)的读写操作保持最优
12
拷贝过程中,新数据写入,发生改 快照拷贝开始 变的数据块被保存在快照区
2
数据拷贝时,先检查快照资 源区的块是否包含数据,如
12
7 1 4 2 5 8 11 3 6 9 12
快照区 将快照资源区里的数据和原卷中未改 变的数据一起拷贝形成完整的数据卷
13 1 1 4 4 14 15 7 7 10 10 2 2 5 5 8 8 11 3 3 6 6 9 12
结合传统块级CDP和TRAP-4的优点,改 进 了 生 成 了 一 种 ST-CDP 的 机 制 。 在 保 留 TRAP-4数据记录方式的基础上,按一定时间 点间隔向恢复链中插入相应时间点的快照数 据。
BT ( k + d )
BT ( k )
BT ( k − d )
PT ( m )
……
P (k +d −1) T
0 a p c d e f z h i 1 2 3 4 5 6 7 8
快照索引和日志
地址
6 g
数据
p z
源 盘 快照
g p
1.写操作(‘p’写入块1) 2.产生快照 3.快照后写入‘z’到块6: •不一次性写入 •先将块6内容移入日志 •‘z’写入源卷 4.从快照读时组合索引/日志和源卷
如果快照是可读/写,快照盘上的写操作直接更 新索引和日志
数据块
1 4 7 10
2 5 8 11
3 6 9 12
旧数据块保存在快照资源 区
旧数据块保存在快照资源 区
10am 10:00-10:59
9 10
新数据块 写入
1 4 7 10
2 5 8 11
3 6 9 12
11am 11:00-11:59
旧数据块保存在快照资源 区
新数据块 写入
1 4 7 10
2 5 8 11
检索
g p
1.写操作(‘p’写入块1) 2.产生快照 3.快照后写入‘z’到块6: •源卷块6内容不变 •‘z’写入日志 4.从快照读时只访问源卷
SAN访问
阵列
源卷
0 a p c d e f z g h iLeabharlann 快照索引和日志地址
6 z
数据
p z
快照前写块1 快照后写块6 读块6 读块1
源 盘 快照
1 2 3 4 5 6 7 8
T (n) T (m) T (m) T ( m −1) T ( n +1)
• 能提供任意点的数据恢复,并且极大地减少 了存储空间。 • 但日志链中某个中间结果出现了位操作错误 或丢失,就会导致数据不一致,造成恢复失效; 随着记录时间的增加,恢复链会越来越长, 链失效的概率也随之增加;恢复时间会随着恢复 时间跨度的增加而线性递增,需要大量的临时计 算和空间开销。
(三)ROW的实现
阵列
源卷
p 快照前写块1
0 a b p c d e f g h i 1 2 3 4 5 6 1.写操作(‘p’写入块1) 7 8
源 盘
阵列
源卷
快照前写块1 快照后写块6
0 a p c d e f g h i 1 2 3 4 5 6 7 8
快照索引和日志
地址
6 z
数据
p z
源 盘 快照
新数据块 写入
1 4 7 10
2 5 8 11
3 6 9 12
9
10
11am 11:00-11:59
新数据块 写入
1 4 7 10
2 5 8 11
3 6 9 12
1
12
12pm
12:17pm 应用报错 需要恢复应用在 10am的状态!!!
TimeMark
源资源 数据卷 每小时一次的自动 快照 快照资源 数据块
CDP(连续数据保护):利用了传统快照 技术的一些功能,结合了实时数据镜像技术和 基于IO的日志缓存技术,而获得一种综合的灾 难点和历史点的快速恢复能力。 ——连续备份、持续捕捉数据变化 ——瞬间和即时的恢复,大大优化恢复的 进程 ——多点的快照技术,历史数据瞬间可用 ——系统连续运行目标获得
美 国 罗 德 岛 大 学 杨 庆 教 授 ——TRAP (Timely Recovery to Any Point-in-time): 根据数据保护技术的恢复指标分为四个 等级: TRAP-1 TRAP-1:采用备份、镜像、快照等传统 手段进行数据保护。 TRAP-2:利用文件版本控制提供一个记 录随时间变化的文件系统,将存储系统中的 文件恢复到先前记录的某个版本状态。只能 应用于文件系统级。
(二)COW的实现
阵列
源卷
p 快照前写块1
0 a b p c d e f g h i 1 2 3 4 5 6 1.写操作(‘p’写入块1) 7 8
源 盘
阵列
源卷
p 快照前写块1
0 a b p c d e f g h i 1 2 3 4 5 6 1.写操作(‘p’写入块1) 7 8
源 盘
阵列
源卷
NETapp的 Snapshot技术
• 首次只复制Super Block的做法加快了复制 速度,但是后续依然需要将完整的元数据 进行COW或者ROW,相比于首次复制全部 元数据链的模式,其实需要复制的数据量 长期来看是一样的,但是却可以更加迅速 地完成快照过程。
四、CDP的四个TRAP级别简介