You are on page 1of 4

第 1期 微 处 理 机 .

No 1
 
2008年 2月 b.‚2008
 
MI
CROPROCESSORS Fe

几种主流快照技术的分析比较
袁晓铭‚林 安
(华中科技大学 计算机科学与技术学院‚武汉 4
300
74)

  摘 要:停机时间是存储系统备份操作的主要性能瓶颈‚而快照技术能够有效地缩短它。这里
详细介绍了几种当前的主流快照技术‚并对它们的性能和特点进行了量化的研究和分析。
关键词:存储系统;快照;备份;镜像分裂;指针重映射
中图分类号:TP3   文献标识码:A   文章编号:
100
2-2
279(2
008)0
1-0
127-0
4

Re
sea
rcho
nth
eSn
aps
hotTe
chn
olo
gyi
nSt
ora
geSy
ste
ms
YUABXi
ao-mi
ng‚LI
NAn
(Huaz
hongUni
ver
si
tyo
fSc
ienc
eandTe
chno
lo ‚Wuhan430074‚Chi
gy na)

  Abs trac
t:Down-t i
mei sama i
np er
for
mancebot
tl
enec
kforbackuppro
cessofs
tor
agesys
temswhi
le

heS n
apsho
ttechn
ologycane f
fe
cti
velyre
ducei.I
t nthi
spape‚s
r omec u
rre
ntS n
aps
hottec
hnolog
iesa
re

ntr
oducedandaq ua
ntit
at
iveanaly
sisontheper
for
manceandfeat
herismade.
Ke ywords:St
orageSyst
em;Snapsho
t;Bac
kup;Spl
itMir
ro;Po
r in
terRemappi
ng

接下来对国内外的几种主流快照技术进行介
1 引 言
绍‚并对其性能进行比较分析。
随着信息技术的发展‚存储备份容灾技术已成
2 镜像分裂快照技术
为当前存储领域研究的热点。由于黑客、病毒、硬件
设备的失效以及火灾、地震等自然灾害的原因‚使系 2.
1 工作原理
统和数据信息遭到破坏甚至毁灭‚如果不及时地进 镜像分裂快照技术在快照时间点到来之前‚首
行恢复‚将对企业造成巨大的损失‚所以备份容灾技 先要为源数据卷创建并维护一个完整的物理镜像
术显得尤为重要。 卷:同一数据的两个副本分别保存在由源数据卷和
根据备份数据对现有应用产生的影响程度‚可 镜像卷组成的镜像对上。在快照时间点到来时‚镜
分为离 线 备 份 和 在 线 备 份。离 线 备 份 (Of
f-l
ine 像操作被停止‚镜像卷转化为快照卷‚获得一份数据
Ba
ckp)在进行备份操作时‚服务器不再接受来自
u 快照。快照卷在完成数据备份等应用后‚将与源数
用户或应用对数据的更新。离线备份可以很好地解 据卷重新同步‚重新成为镜像卷。对于要同时保留
决在备份过程中数据的完整性问题‚是防止破坏、敌 多个连续时间点快照的源数据卷‚必须预先为其创
意的病毒袭击、应用失误等的有效方式‚但是存在一 建多个镜像卷‚当第一个镜像卷被转化为快照卷作
个备份窗口的问题。在备份过程中‚服务器不再接 为数据备份后‚初始创建的第二个镜像卷立即与源
受任何更新操作‚对于那些需要提供 2 4×7的服务 数据卷同步‚与源数据卷成为新的镜像对。镜像分
系统来说‚这就成为一个瓶颈。在线备份 (On-l ine 裂快照操作的时间非常短‚仅仅是断开镜像卷对所
Ba
ck-up)‚就是用户和应用正在更新数据的同时‚ 需的时间‚通常只有几毫秒‚这样小的备份窗口几乎
系统能够进行备份。在线备份可以提供 2 4×7的持 不会对上层应用造成影响‚但是这种快照技术缺乏
续服务‚但最大的难点是如何保持数据的完整性。 灵活性‚无法在任意时间点为任意的数据卷建立快
为了保持数据的完整性‚在线备份大多采用快照 照。
(S
naps
hot)技术。快照技术可以最大限度地减小复 2.
2 性能分析
制操作对上层应用的影响‚同时保证了复制的完整 对一个容量为 M个数据块的源数据卷‚在 N个
性。 连续的不同时间点创建快照‚在第 n个快照时间点

∗ 基金项目:国家 973重大基础研究计划 (2004CB318203)


 作者简介:袁晓铭 (1984-)‚男‚江西南昌人‚硕士研究生‚主研方向:备份及快照技术。
 收稿日期:2006-11-06
·128·   微 处 理 机 2008年 

到第 n+1个快照时间点之间源数据卷被更新的数 3.2 性能分析
据块数量为 dn‚从源数据卷复制一个数据块到快照 同样对一个容量为 M个数据块的源数据卷‚在

卷的时间开销为 t N个连续的不同时间点创建快照‚在第 n个快照时
第一次快照:总的物理复制量 S
um=M‚所需时 间点到第 n+1个快照时间点之间源数据卷被更新
间为 t×M‚快照点的备份窗口时间大概为几毫秒‚ 的数据块数量为 dn‚从源数据卷复制一个数据块到
相对 于 复 制 的 时 间 可 以 忽 略。所 以 总 的 时 间 为 快照卷的时间开销为 t 。
t×M‚需要的快照存储空间为 M。 第一次快照:总的物理复制量 S um=M‚所需时
对于 n次快照:总的物理复制量 S
um=N×M‚ 间为 t×M‚快照点的备份窗口时间大概为几秒‚相
时间为 t×N×M‚快照点备份窗口时间忽略‚所以总 对于 复 制 的 时 间 也 可 以 忽 略‚所 以 总 的 时 间 为
时间为 t×N×M‚每次都需要预先建立好快照存储 t×M‚需要的快照存储空间为 M。
空间‚所以共需空间 N×M。分裂镜像快照技术两 对于 n次快照:总的物理复制量 S um=N×M‚
次快照之间的最小间隔由源数据量决定‚时间为 时间为 t×N×M‚快照点备份窗口时间忽略‚所以总
t×M。 时间为 t×N×M‚每次都是临时创建快照副本‚因为
只需保留最近的一份快照‚所以第 n+2次快照可以
3 按需备份快照技术 (Co
pyo
nDe
mad)
n 用第 n次快照所用的空间‚对于 n次快照来说至少
需要 2×M的快照存储空间。平均每次快照所需时
3.
1 工作原理
间 T=t×N×M/ N=t×M‚按需备份快照技术两次
按需备份快照技术在快照时间点之后‚开始建
快照 之 间 的 最 小 间 隔 由 源 数 据 量 决 定‚时 间 为
立一份源数据卷的完整物理副本。存储子系统接收
t×M。
到快照请求‚首先暂停上层应用;接着为源数据卷建
立快照卷‚为其分配大于或等于源数据卷容量的存 4 指针重映射技术 (Po
int
erRe
map
pig)

储空间‚并建立一个控制位图。控制位图的每一个
4.
1 工作原理
控制位表示源数据卷的一个单位是否已经被复制到
指针重映射快照技术在快照时间点之后‚只建
快照卷‚复制单位一般为数据块。控制位图建立之
立一份快照时刻源数据卷的逻辑副本‚最终也不会
后‚所有的控制位都被初始化置 0‚表示所有的数据
产生完整的物理副本。这种快照技术在创建快照时
块未复制。至此创建快照的操作已经完成‚源数据
才建立快照卷‚但只需分配相对少量的存储空间‚用
卷的数据已经被逻辑复制到快照卷上‚被暂停的上
于保存快照时间点之后源数据卷中被更新的数据。
层应用恢复运行‚源数据卷和快照卷都能被访问。
在指针重映射快照技术中‚每个源数据卷都具
此时源数据卷上的数据并没有被物理复制到快照卷
有一个数据指针表‚该指针表的纪录数量等于源数
上‚快照卷实际上是空的。 据卷的数据块数量‚每条记录保存着指向对应数据
快照建立之后‚一个后台复制进程开始将源数 块的指针。在创建快照时‚存储子系统为源数据卷
据卷的数据块顺序复制到快照卷‚并在控制位图上 的指针表建立一个副本‚作为快照卷的数据指针表。
标记该数据块完成复制。当源数据卷上某数据要被 当快照时间点结束时‚快照建立了一个可供上层应
更新时‚如果该数据尚未完成复制‚这些数据将首先 用访问的逻辑副本‚快照卷与源数据卷通过各自的
被复制到快照卷上‚并标记控制位图对应的控制位 指针表共享同一份物理数据。
为 1‚然后才能更新源数据卷的数据‚这种操作称为 快照创建之后‚当源数据卷中某数据将要被更
写前复制 (Co
pyo
nWr
ie);如果要更新的数据已经
t 新时‚为了保证快照操作的完整性‚使用写前复制技
完成复制‚则数据更新将直接进行‚不再影响快照卷 术。对快照卷中数据的访问‚通过查询数据指针表‚
的操作。写前复制技术确保复制操作发生在更新操 根据对应数据块的指针确定所访问数据的物理存储
作之前‚使快照时间点后的数据更新不会出现在快 位置。
照卷上‚保证了快照操作的完整性。按需备份快照 指针重映射快照技术的备份窗口长度也只有几
在快照时间点之前‚不会占用任何的存储资源‚也不 秒钟‚但为快照卷分配的存储空间却大大减少;复制
会影响系统性能;而且它在使用上非常灵活‚可以在 操作只在源数据卷发生更新时才发生‚因此系统开
任意时间点为任意数据卷建立快照。在快照时间点 销非常小。但是由于快照卷仅仅保存了源数据卷被
产生的 “备份窗口 ”的长度与源数据卷的容量成线 更新的数据‚此快照技术无法得到完整的物理副本‚
性比例‚一般为几秒钟‚对应用几乎没有影响。 碰到需要完整物理副本的应用就无能为力了‚而且
 1期 袁晓铭等:几种主流快照技术的分析比较 ·129·

如果更新的数据数量超过保留空间‚快照就将失效。 (在这段时间内同一数据块可能被更改多次‚在增
4.2 性能分析 量位图上只记录是否被更新 )。
同样对一个容量为 M个数据块的源数据卷‚在 当需要创建该增量快照在新的时间点 B的快
N个连续的不同时间点创建快照‚在第 n个快照时 照时‚增量快照的前一个时间点 A的快照已经将源
间点到第 n+1个快照时间点之间源数据卷被更新 数据卷在时间点 A的数据全部或部分地复制到快
的数据块数量为 dn‚从源数据卷复制一个数据块到 照卷上‚这些复制到快照卷的数据将继续被时间点
快照卷的时间开销为 t 。 B的快照利用;此时增量位图和时间点 A的快照的
第一次快照:总的物理复制量 S m=d1‚所需时
u 控制位图按位进行 XOR操作‚产生时间点 B的快照
间为 t×d1‚快照点的备份窗口时间大概为几秒‚相 控制位图‚时间点 B的快照将根据新产生的控制位
对于 复 制 的 时 间 也 可 以 忽 略‚所 以 总 的 时 间 为 图决定源数据卷上的哪些数据需要在本次快照中被
t×d1‚需要的快照存储空间为 d1。 复制;同时增量位图被初始化置 0‚开始纪录时间点
对于 n次快照:总的物理复制量 S m=∑d
u i‚时 B以后源数据卷发生数据更新的情况。增量快照可
间为 t×∑d ‚快照点备份窗口时间忽略‚所以总时
i 以在很短的时间内生成完整的物理副本。而且总的
间为 t×∑d ‚每次都是创建逻辑快照副本‚对于 n
i 复制工作量可以大大减小。
次快照来说至少需要 ma x(dn )的快照存储空间‚据 5. 2 性能分析
统计在一段时间内 (2个月 )数据的更新量不超过总 设源数据卷的容量为 M个数据块‚在 N个连续
数据的 2 0%‚所以指针重映射技术的快照存储空间 不同的时间点创建快照‚在第 n个快照时间点到第
一般设定为 0.2M。平均每次快照时间 T= (t× n+1个快照时间点之间源数据卷被更新的数据块
∑d i)/
N =t×d≤t×0.2M‚指针重映射技术中两次 数量为 dn‚从源数据卷复制一个数据块到快照卷的
快照之间的间隔由其工作原理决定‚只需备份窗口 时间开销为 t 。
的时间。 第一次快照:总的物理复制量 S um=M‚所需时
间为 t×M‚快照点的备份窗口时间大概为几秒‚相
5 增量快照技术 (I
ncr
eme
ntS
nap
sht)

对于 复 制 的 时 间 也 可 以 忽 略‚所 以 总 的 时 间 为
5.
1 工作原理 t×M‚需要的快照存储空间为 M。
增量快照技术是基于按需备份快照技术开发 对于 n次 快 照:总 的 物 理 复 制 量 S
um =M +
的‚因此能够产生源数据卷在各个连续时间点的完 ∑d ‚时间为 t×(M +∑d
i i)‚快照点备份窗口时间
整物理副本‚同时它还借鉴了指针重映射快照技术 忽略‚所以总时间为 t×(M+∑d i)‚除了第一次要
中保留源数据卷数据更新信息的思想‚有效地减少 建立一个完整备份外‚以后都是创建逻辑快照副本‚
了存储子系统总的物理复制工作量。创建一个增量 对于 n次快照来说至少需要第一次完整备份的空间
快照就能够实现连续时间点上的一系列快照 (逻辑 为 M的快照存储空间。平均每次快照时间 T=t×
副本 )。 (M+∑d i)/N‚当 N很 大 时‚t× (M +∑ di)/
N≈
在增量快照技术中‚一个源数据卷在同一个快 (t×∑di)/N=t×d‚增量快照技术两次快照之间的
照卷上创建一系列连续的不同时间点的快照;在这 间隔由其工作原理决定‚只需备份窗口的时间。
个快照卷上‚为某一个时间点的快照所复制的数据‚
6 快照技术的性能比较与结论
将被该时间点之后的快照所利用。在源数据卷的第
一个快照时间点‚存储子系统为其初始创建增量快 表 1说明镜像分裂快照技术在快照时间点之前
照:除了分配一个大于或等于源数据卷容量的快照 的镜像操作的最差时间代价与复制操作相同。各种
卷‚并建立一个控制位图之外‚还要建立并初始化一 快照技术在快照时间点的时间代价等于 “备份窗
个与控制位图同样结构的增量位图‚增量位图用于 口 ”的长度‚其中镜像分裂快照仅仅是终止镜像操
记录在最新时间点的快照创建之后‚源数据卷上被 作所需的时间‚数量级为几毫秒;其他快照技术在快
更新的数据块的位置。增量快照技术在某一快照时 照时间点需要为快照卷分配存储空间‚并建立控制
间点之后‚对控制位图的操作与按需备份快照技术 快照的各种数据结构‚时间代价通常与快照卷的容
类似:通过查询控制位图‚实施后台复制和写前复制 量成线性比例‚数量级为几秒。增量快照在快照时
操作‚将源数据卷上的数据复制到快照卷上‚并将复 间点之后的时间代价根据快照发生的顺序而不同‚
制结果标记在控制位图上。同时利用增量位图记录 其中第一个时间点快照的最差时间代价为 t×M‚而
快照时间点之后源数据卷上被更新数据块的位置 之后时间点的快照时间代价可能只有 t×dn。
·130·   微 处 理 机 2008年 

表 1 几种主流快照技术的性能比较
第一次快照 N次快照 平均每次快照 两次快照间最
时间 空间 时间 空间 时间 空间 小时间间隔
镜像分裂 t×M M t×N×M N×M t×M M t×M
按需备份 t×M M t×N×M 2×M t×M M t×M
指针重映射 t×d1 d1 t×∑di 0.
2M t×d 0.
2M 几秒
增量快照 t×M M t×(M+∑di) M t×d M 几秒
  在上述几种快照技术中‚镜像分裂快照虽然能 时间和空间代价上稍大‚却能够得到源数据卷在各
够在最短时间内生成完整的物理副本‚但该技术缺 时间点的完整物理副本‚具有指针重映射快照技术
乏灵活性‚需要预先分配存储资源‚而且快照时间点 所没有的适用性。增量快照技术非常适合于实现连
前的镜像操作非常影响系统整体性能;指针重映射 续时间点的快照‚是一种性能非常均衡的快照技术。
快照具有足够的灵活性‚对系统资源的消耗也最小‚ 参考文献:
[1] PattersonDA‚Gi bsonG‚Ka zRH.Ac
t as
ef orr edundant
但无法得到完整的物理副本‚适用性较差;按需备份
arrayso fi nexpens i
vedi sks[C].Ne wYo k:ACM Pr
r ess‚
快照性能比较均衡‚既具有灵活性‚同时也能够得到 1988: 109-106.
完整的物理副本‚具有很强的适用性‚但其后台复制 [2] Yo ung-HoKi m‚Se ong-I nJ ung.My ung-J oonKi m
的系统开销较大‚而且由于应用层同时访问存储数 Sna pshott echniqueus ings napshots t
atust abl
ef o
rs hared
storages uppo rt
ingl ar
gec apaci
ty[J].The6t hI nternat
ion-
据的原因‚完成全部物理复制需要较长时间‚两次快 alCo nfere nceo n‚2004(2): 677-682.
照最小间隔时间比较长;增量快照技术既有 Co
D按 [3] Ky ungjungKi m‚Sa r
ka rTK‚Pa lmaM S.Ada pt
ivepr o-
需备份快照技术的灵活性和适用性 (都能得到完整 cessingus ingas ingles napshotforano nunifor
ml ys paced
r-f
的物理副本 )‚同时在长期运行下对系统开销和存 arrayi nt hepr esenceo fmut ualc oupli
nga ndne a ield
scattere
rs[J].I EEE Tr ans a
cti
ons ‚2002‚50(5):582-
储空间的要求也相对较少‚而且可以实现连续的时 590.
间点快照。通过对以上几种快照技术的比较‚可以 [4] Be t
he lR‚Sha poB‚Va nTr e
esH.Si ngles napshots pati
al
得到下面的结论:在实现连续时间点的快照时‚增量 proc e
ssing :optimizeda ndc onstrai
ned[J].Se ns orAr ray
andMul tichannelSi gna lProcessingWo rkshopPr oceed-
快照技术在时间代价上明显优于镜像分裂和按需备
ings‚2002‚ 4-6Aug .: 508-512.
份快照技术‚而且随着快照时间点的增加‚这种优势 [5] Cha ndyK M‚La mpo rtL.Dl s
tri
tiuteds napshots:de t
ermi-
将越来越明显‚而在空间代价方面不超过这两种快 ningg loba ls t
ateso fdis t
ri
buteds y s
tems[J].ACM Tr ans
Co mpute rs yst
ems ‚1985‚ 3(1): 63-75.
照技术。与指针重映射快照相比‚增量快照虽然在

(上接第 1
26页 ) 而且操作简单、测量效果良好、与上位机通信方便‚
K0键进行实时时钟的时间设置‚K1键进行数据采 可以直接在配电网中推广使用。此外‚对本测量系
集时间间隔的设置‚K2键进行电压等级的设置‚K3 统进行适当的改进后‚还可以应用到其它工业测量
键为返回键。通过按键处理程序完成:判断是否有 领域。
键按下‚并完成对应键功能的转入和转出。按键处 参考文献:
[1] At 16技术说明书 [J].www.a .cm.
理流程图如图 5所示。 mega tmel o
[2] 丁化成.AVR单片机应用设计 [M ].北京:北京航空航
天大学出版社‚ 2002.
[3]  张 志 清.串 行 接 口 8位 LED显 示 驱 动 器 MAX7219
[J].国外电子元器件‚ 1998(6): 29-32.
[4] 崔惠柳.串行时钟芯片 DS 1302在汽车智能记录仪中
的应用 [J].电子技术‚ 1998‚ 25(9):38-41.
[5] 杨伟等.MSP430单片机在电力通用测量显示系统中
的应用 [C].能 量 管 理 系 统 及 配 电 网 自 动 化:690-
692.
图 5 按键处理流程图 [6] 刘倩.一种基于单片机的电网数据自动采集器 [J].电
2001(10):8-8.
5 结 论
工技术‚
[7] 王涛.基于 AVR单片机的智能功率因数在线监测仪
上述基于 At
meg
a16单片机构成的配电网参数 [J].计算机工程‚ 2002‚28(9): 221-222‚243.
测量系统已经在 s
tud
io仿真环境下通过了调试‚实 [8] 王玉林.基于 16位单片机的电力参数测试仪的设计
[J].测试技术学报‚ 2003‚17(3): 193-197.
验表明本测量系统能准确测量配电网的基本参数‚

You might also like