实现数据快照的首写拷贝装置及控制方法制造方法及图纸

技术编号:5203855 阅读:270 留言:1更新日期:2012-04-11 18:40
本发明专利技术公开了一种实现数据快照的首写拷贝装置及控制方法。本发明专利技术在I/O缓存中存放刚刚从数据卷读取和向数据卷写入的数据块,并待数据卷中的该数据块在拍照时间段内被第一次写操作之前,直接将I/O缓存中存放的对应数据块作为第一次改变之前的数据卷中的该数据块写入至快照卷,因而能够在很大程度上减少对数据卷的一次读操作,从而从根本上减少首写拷贝所需的I/O操作,进而能够减少首写拷贝对数据卷写性能的影响。而且,通过减少I/O操作还能够减少物理磁盘的磁头往复运动、以保护磁盘性能并延长磁盘寿命。同时,本发明专利技术也不需要额外增加非易失性的缓冲区或其它存储介质。

【技术实现步骤摘要】

本专利技术涉及快照备份技术,特别涉及一种实现数据快照的首写拷贝(Copy On First Write)系统、以及一种实现数据快照的首写拷贝控制方法。
技术介绍
本文所述的快照是指在预订时间对存储存储系统物理磁盘中的数据卷状态进行 备份。现有快照通常都是首写拷贝技术来实现的,采用首写拷贝实现快照首先需要在物理 磁盘中为数据卷分配对应的快照卷,然后在当前拍照点开始之后至下一个拍照点开始之前 的拍照时间段内,只要有数据卷内任意位置的数据块发生第一次改变,则将该数据卷发生 第一次改变之前的该数据块备份至快照卷中。采用首写拷贝方式得到的快照实际上可看作是一个虚拟映像卷,如图1所示,可 看作虚拟映像卷的快照表示为虚线框,该快照包含两部分,其中一部分是位于数据卷中的 在快照时间段内未改变的数据块(即数据卷中阴影所示的部分,而数据卷中的空白部分则 表示由于写操作而导致改变的数据块),另一部分则是位于快照卷中的在第一次发生改变 之前备份而来的数据块(即快照卷中如阴影所示的部分,该部分是由于数据卷中如空白部 分所示数据块在第一次改变之前备份而来)。进一步说,采用首写拷贝实现快照,在每次对数据卷执行用于改变数据块的写操 作之前,均需要先后插入用于复制该数据块的一次读操作和一次写操作。如图加所示,在 对数据卷中任意位置的数据块进行写操作(图加中空白框所示部分为待写入数据)以改 变该数据块之前,首先需要从数据卷中读取发生第一次改变之前的该数据块存放至内存 中;如图2b所示,然后将读取的该数据块写入至数据卷、以实现复制备份;如图2c所示,最 后才可以执行用于改变该数据块的写操作。由上述首写拷贝过程可以看出,为了采用首写拷贝实现快照,原本写数据卷所需 的一次输入/输出(I/O)操作增至了一读两写共三次I/O操作,且为了在完成数据块复制 后在写入改变该数据块的写数据、以确保数据的完整性,这三次I/O操作需串行执行。同 时,由于首写拷贝时对数据卷同一数据块读取后又立即写入,使磁头从数据卷该数据块对 应位置刚刚移动至快照卷对应位置、又立即返回至数据卷该数据块对应位置,从而易造成 物理磁盘的磁头往复运动,尤其是在复制数据块需跨越多个磁道的情况下。而且,为了记录快照卷中的每个快照备份了哪些数据卷中哪些位置的数据块,还 需要在快照卷中写入例如索引表、位图等快照管理信息,这无疑又增加了额外的I/O操作, 更易导致物理磁盘的磁头往复运动。如此一来,就严重影响了对数据卷的写性能及磁盘寿命,极端情况下,利用上述方 式的首写拷贝实现快照会使数据卷的写性能降至正常情况的30%。为了解决上述问题,现有技术中还提出了一种改进方案,该方案通过延迟如图2b 所示的写快照卷来减轻首写拷贝对数据卷的写性能及磁盘寿命的影响。具体说,该方案按 照如图加所示的方式从数据卷中读取发生第一次改变之前的该数据块存放至内存中,但并不立即按照如图2b所示的方式将读取的数据块写入至快照卷,而是将读取的数据块先 放入至一个缓冲区,然后直接按照如图2c所示方式执行用于改变该数据块的写操作,此 后,待缓冲区中的数据块累计到预定数量后再批量写入至快照卷。然而,该方案虽然看似改变了一读两写的首写拷贝方式,但其实质上仍旧是一读 两写、需要对数据卷同一数据块读取后又立即写入,因而并没有改进磁头针对数据卷的往 复运动,进而该方案对快照卷执行批量的写操作、使得对数据卷同一数据块读取后又立即 写入的操作更加密集,实质上还加剧了物理磁盘的磁头往复运动;而且,为保证快照卷的数 据一致性,该方案中使用的缓冲区需要由非易失性存储介质、或是比快照卷更高速的存储 介质来实现,从而额外增添了硬件设置。因此,鉴于该方案存在的弊端,其并未解决现有如 图加 图2c所示首写拷贝方式存在的问题。可见,现有首写拷贝方式会造成写性能的下降、同时还易降低物理磁盘寿命。
技术实现思路
有鉴于此,本专利技术提供了一种实现数据快照的首写拷贝装置、以及一种实现数据 快照的首写拷贝控制方法,能够减轻首写拷贝对写性能的影响。本专利技术提供的一种实现数据快照的首写拷贝装置,包括I/O缓存模块,用于传递对数据卷的读写I/O命令,并将从数据卷读回的数据块、 以及写入至数据卷的数据块以内存页面形式加入至I/O缓存中;快照配置模块,用于配置数据卷的快照卷、以及拍照时间段等配置信息;首写拷贝模块,用于依据I/O缓存模块传递的读I/O命令从数据卷中读回对应数 据块,并通过读返回命令将读回的对应数据块传递至I/O缓存模块;依据配置的快照时间 段、以及由I/O缓存模块传递的写I/O命令对数据卷进行首写拷贝,且在每次首写拷贝时优 先从I/O缓存中读取需备份至快照卷的对应数据块。所述I/O缓存模块进一步管理I/O缓存中的内存页面,以保证在任意时刻有足够 的内存页面存放从数据卷读回的数据块、以及写入至数据卷的数据块。I/O缓存是从系统内存中划分出的部分内存空间。对于当前写I/O命令,所述I/O缓存模块进一步判断I/O缓存中已分配的内存页 面是否达到将满阈值,如果达到将满阈值,则先释放未被访问时间最长、且与当前写I/O命 令写地址不重叠的数据块所在内存页面,然后将当前写I/O命令的数据块以内存页面形式 加入至I/O缓存中;否则,直接将当前写I/O命令的数据块以内存页面形式加入至I/O缓存 中;对于当前读返回命令,I/O缓存模块进一步判断I/O缓存中是否存在与当前读返 回命令读地址重叠的数据块所在内存页面,如果存在,则先释放该内存页面、并判断I/O缓 存中已分配的内存页面是否达到将满阈值,否则直接判断I/O缓存中已分配的内存页面是 否达到将满阈值;如果达到将满阈值,则先释放未被访问时间最长的内存页面,然后将当前 读返回命令读回的数据块以内存页面形式加入至I/O缓存中,否则直接将当前读返回命令 读回的数据块以内存页面形式加入至I/O缓存中。首写拷贝模块通过I/O缓存模块查找I/O缓存中是否存有需从该数据卷读出的对 应数据块,如果有,则直接读取I/O缓存中的对应数据块,否则再从该数据卷读出的对应数据块。所述I/O缓存模块中进一步记录有I/O缓存中所存储数据块在数据卷所处位置; 所述首写拷贝模块将进一步依据需首写拷贝数据块在数据卷中所处位置进行所述查找。本专利技术提供的一种实现数据快照的首写拷贝控制方法,包括将读返回命令返回的从数据卷读回的数据块以内存页面形式加入至I/O缓存中;依据写I/O命令进行首写拷贝后向数据卷中写入对应数据块,并将写入至数据卷 的数据块以内存页面形式加入至I/O缓存中;且在每次首写拷贝时优先从I/O缓存中读取 需备份至快照卷的对应数据块。该首写拷贝控制方法进一步管理I/O缓存中的内存页面,以保证在任意时刻有足 够的内存页面存放从数据卷读回的数据块、以及写入至数据卷的数据块。该首写拷贝控制方法从系统内存中划分出部分内存空间作为I/O缓存。所述管理I/O缓存中的内存页面包括对于当前写I/O命令,判断I/O缓存中已分配的内存页面是否达到将满阈值,如果 达到将满阈值,则先释放未被访问时间最长、且与当前写I/O命令写地址不重叠的数据块 所在内存页面,然后将当前写I/O命令的数据块以内存页面形式加入至I/O缓存中;否则, 直接将当前写I/O命令的数据块以内存页面形式本文档来自技高网
...

【技术保护点】
一种实现数据快照的首写拷贝装置,其特征在于,包括:I/O缓存模块,用于传递对数据卷的读写I/O命令,并将从数据卷读回的数据块、以及写入至数据卷的数据块以内存页面形式加入至I/O缓存中;快照配置模块,用于配置数据卷的快照卷、以及拍照时间段等配置信息;首写拷贝模块,用于依据I/O缓存模块传递的读I/O命令从数据卷中读回对应数据块,并通过读返回命令将读回的对应数据块传递至I/O缓存模块;依据配置的快照时间段、以及由I/O缓存模块传递的写I/O命令对数据卷进行首写拷贝,且在每次首写拷贝时优先从I/O缓存中读取需备份至快照卷的对应数据块。

【技术特征摘要】
1.一种实现数据快照的首写拷贝装置,其特征在于,包括I/O缓存模块,用于传递对数据卷的读写I/O命令,并将从数据卷读回的数据块、以及 写入至数据卷的数据块以内存页面形式加入至I/O缓存中;快照配置模块,用于配置数据卷的快照卷、以及拍照时间段等配置信息;首写拷贝模块,用于依据I/O缓存模块传递的读I/O命令从数据卷中读回对应数据块, 并通过读返回命令将读回的对应数据块传递至I/O缓存模块;依据配置的快照时间段、以 及由I/O缓存模块传递的写I/O命令对数据卷进行首写拷贝,且在每次首写拷贝时优先从 I/O缓存中读取需备份至快照卷的对应数据块。2.如权利要求1所述的首写拷贝装置,其特征在于,所述I/O缓存模块进一步管理I/ 0缓存中的内存页面,以保证在任意时刻有足够的内存页面存放从数据卷读回的数据块、以 及写入至数据卷的数据块。3.如权利要求2所述的首写拷贝装置,其特征在于,I/O缓存是从系统内存中划分出的 部分内存空间。4.如权利要求2所述的首写拷贝装置,其特征在于,对于当前写I/O命令,所述I/O缓存模块进一步判断I/O缓存中已分配的内存页面是 否达到将满阈值,如果达到将满阈值,则先释放未被访问时间最长、且与当前写I/O命令写 地址不重叠的数据块所在内存页面,然后将当前写I/O命令的数据块以内存页面形式加入 至I/O缓存中;否则,直接将当前写I/O命令的数据块以内存页面形式加入至I/O缓存中;对于当前读返回命令,I/O缓存模块进一步判断I/O缓存中是否存在与当前读返回命 令读地址重叠的数据块所在内存页面,如果存在,则先释放该内存页面、并判断I/O缓存中 已分配的内存页面是否达到将满阈值,否则直接判断I/O缓存中已分配的内存页面是否达 到将满阈值;如果达到将满阈值,则先释放未被访问时间最长的内存页面,然后将当前读返 回命令读回的数据块以内存页面形式加入至I/O缓存中,否则直接将当前读返回命令读回 的数据块以内存页面形式加入至I/O缓存中。5.如权利要求1至4中任一项所述的首写拷贝装置,其特征在于,首写拷贝模块通过 I/O缓存模块查找I/O缓存中是否存有需从该数据卷读出的对应数据块,如果有,则直接读 取I/O缓存中的对应数据块,否则再从该数据卷读出的对应数据块。6.如权利要求5所述的首写拷贝装置,其特征在于,所述I/O缓存模块中进一步记录有I/O缓存中所存储数据块在数...

【专利技术属性】
技术研发人员:胡华强
申请(专利权)人:杭州华三通信技术有限公司
类型:发明
国别省市:86[中国|杭州]

网友询问留言 已有1条评论
  • 来自[美国加利福尼亚州圣克拉拉县山景市谷歌公司] 2014年12月07日 20:45
    拷贝kǎobèi是由英文copy的音译词copy意为复制摹本拷贝有四种解释①是一个计算机系统的DOS命令意为复制是一个新名词广泛地应用于IT的各个领域②亦指由底片复制出来供放映电影用的胶片如巴金的随想录·再谈<望乡>中说到我们最初就是根据这个拷贝放映的③复写如拷贝纸拷贝笔等④是现在的一个流行语指复印照抄抄袭等意思贬义词
    0
1