以快照指针进行磁盘快照的方法

文档序号:6564453阅读:185来源:国知局
专利名称:以快照指针进行磁盘快照的方法
技术领域
本发明关于服务器,特别关于一种以快照指针进行一磁盘快照的方法。
背景技术
当前一般搡作系统皆支持一种磁盘快照(Snapshot)技术,又可称作为 磁盘区阴影复制服务(Vol咖e Shadow Copy Services),所谓磁盘快照是属 于一种档案系统(file system)的保留数据技术,不同于一般的数据备份技术 需要复制的动作,磁盘快照是在任意时间点,将硬盘的磁盘巻册(磁盘巻册 (Volume )是指硬盘目前有数据的磁盘区块(chunk))进行快速的档案系统备 份,且当进行磁盘快照时,并不牵涉到任何档案复制动作。且将目前使用中 的档案系统的数据结构中的整个目录结构保留下来。如此,以实时性地对硬 盘建立不同时间点版本的磁盘巻册的磁盘快照,不仅可以弥补传统备份机制 的不足,此外,即使硬盘发生损毁或中毒等意外,管理者可以选择发生损毁 或中毒前的磁盘快照,取代原先的磁盘巻册(Volume)让损害降至最低。
承上所述,当硬盘在进行磁盘快照时,并不会实际进行档案的复制动作, 而是当磁盘巻册的磁盘区块有所变动时,先复制磁盘巻册的磁盘区块内的原 始数据到硬盘中不属于磁盘巻册的其它可用的磁盘区块中,再修改磁盘巻册 的磁盘区块内的原始数据成为修改数据,另在服务器的一存储器提供操作系 统(如Linux)内部核心(kernel)所使用的存储器空间(以下筒称内核空间) 中,建立一写入同步复制对照表(Copy-On-Write(简称COW) Table),写入 同步复制对照表记录每一个磁盘区块的原始数据被写入到硬盘中的那一个磁 盘区块中的信息。而前述技术被称作为写入同步复制(Copy-On-Write, COW j 技术。
然而,操作系统的核心的存储器空间有限,且不会因为系统存储器增加而变大,当磁盘巻册更动的磁盘区块越多时,写入同步复制对照表占用操作 系统的核心的存储空间就越大。当-兹盘巻册分别在不同的时间进行磁盘快照, 或^磁盘巻册的容量急速增加后,内核空间将会^fe大量的写入同步复制对照表 所占用,使得内核空间被耗尽,进而导致搡作系统异常崩溃。因此,如何设 计出一种以快照指针进行^f兹盘快照的方法,以有效地解决上述的诸多问题, 实乃目前刻不容緩而亟待解决的一重要课题。

发明内容
有鉴于前述现有磁盘快照的诸多问题,发明人经过长久努力研究与实验, 终于开发设计出本发明的一种以快照指针进行^^盘快照的方法,期通过本发 明有效地解决内核空间耗尽所导致操作系统异常崩溃的问题。
本发明的一目的,提供一种以快照指针进行磁盘快照的方法,该方法应 用在一服务器中,服务器包含有一存储器及一硬盘,其中存储器至少规划出 提供操作系统内部核心所使用的一内核空间,硬盘目前具有数据的所有磁盘区块(chunk)则规划为一磁盘巻册,当服务器对磁盘巻册进行磁盘快照时,于硬盘中规划出第一部分及第二部分,另于内核空间中建立一快照指针,快照 指针指向第一部分的启始位置,此后,每当磁盘巻册的磁盘区块内的原始数 据需要被修改时,先将原始数据复制到第二部分中作为备份数据,再将磁盘 巻册的原始数据进行修改成修改数据,再于第一部分的写入同步复制对照表 写入对照信息,而对照信息包含该备份数据地址及对应该备份数据的修改数 据地址。
其中,所述第一部分的容量,等于所述写入同步复制对照表的最大需求 容量;所述写入同步复制对照表提供储存复数个对照信息;所述第二部分的 容量大小,则等于磁盘巻册所有的磁盘区块的原始数据被复制到硬盘中作为 备份数据所需的容量大小。
对于所述的方法,其中,所述服务器在硬盘规划出第一部分及第二部分 的步骤,包括
根据所述磁盘巻册的容量大小,用以计算出所述写入同步复制对照表的 最大需求容量大小;在所述硬盘中不属于所述磁盘巻册的剩余空间中规划出
所述第一部分;及在所述硬盘中不属于所述磁盘巻册及所述第一部分的剩余 空间中规划出所述第二部分。
其中,所述写入同步复制对照表的最大需求容量大小的计算方法包括
写入同步复制对照表的最大需求容量=磁盘巻册的磁盘区块数量x —个 对照信息的容量大小;及磁盘区块数量-磁盘巻册的容量/磁盘区块容量。
另外,所述第一部分规划在所述硬盘中的位置在所述第二部分在所述硬 盘中的位置之前;所述硬盘的所述第一部分最末端的部分,直接接续所述第 二部分最前端的部分。
当所述服务器对所述磁盘巻册中已被写入所述修改数据的磁盘区块进行 修改时,直接对所述修改数据的磁盘区块进行修改。
本发明的另一目的,当服务器对磁盘巻册进行数据恢复时,先自写入同 步复制对照表读取对应该修改数据的对照信息,取得在第二部分的备份数据, 及将备份数据覆盖到其原本储存的磁盘区块内,即可恢复磁盘巻册。
综上所述,由于地址指针仅占用内核空间极小部分的储存空间,而写入 同步复制对照表被储存在储存容量远大于内核空间的硬盘中,使得内核空间 不再被写入同步复制对照表所占用,即可达到节省内核空间的储存容量的目 的,同时,服务器在进行^f兹盘快照时,不会导致服务器异常,用以达到稳定 服务器的目的。


图l是本发明的架构示意图2是本发明进行磁盘快照的动作流程图3是本发明在硬盘规划出第一部分及第二部分的动作流程图。
主要元件符号说明
服务器.........5 存储器.........6内核空间……60 硬盘.........7
磁盘巻册……70 第一部分…72
第二部分……7具体实施例方式
以下结合附图对本发明进行详细说明。
本发明提供一种以快照指针进行磁盘快照的方法,请参阅图l、 2所示, 该方法应用在一服务器5中,该服务器5包含有至少一个存储器6及至少一 个硬盘7,其中该存储器6规划出一内核空间60 (Kernel Space ),当服务器 5对硬盘7进行磁盘快照时,依下列步骤进行处理
步骤l:硬盘7目前具有数据的所有磁盘区块(chunk)规划为一磁盘巻册 70 (Volume);
步骤2:硬盘7中规划出第一部分72及第二部分74,其中第一部分72 的容量,等于写入同步复制对照表(Copy-On-Write(简称COW) Table )的 最大需求容量,写入同步复制对照表包括复数个对照信息,每一个对照信息 分别为包含备份数据地址及对应备份数据的修改数据地址,而第二部分7 4的 容量大小,则等于磁盘巻册70所有的磁盘区块的原始数据被复制到硬盘7中 作为备份数据所需的容量大小;在本发明的一实施例中,请参阅图3所示, 服务器5在硬盘7规划出第一部分72及第二部分74的步骤,包括
步骤20:先根据磁盘巻册70的容量大小,用以计算出磁盘巻册70所需 的写入同步复制对照表的最大需求容量;而在本发明中,写入同步复制对照 表的最大需求容量的计算方程式如下
写入同步复制对照表的最大需求容量=磁盘巻册70的磁盘区块数量x — 个对照信息的容量大小...(公式1)
磁盘区块数量磁盘巻册70的容量/磁盘区块容量…(公式2)
其中,公式2中的"/"表示除号。
举例而言,假设磁盘巻册70的容量为IOOGB,磁盘巻册70的每一个磁盘区块的容量大小为64KB,写入同步复制对照表记录的每一个对照信息的容量大小为16byte,则写入同步复制对照表的最大需求容量即为(1000GB/64KB) *16 byte =25 MB。
步骤21:在硬盘7中不属于磁盘巻册70的剩余空间中规划出第一部分72;及
步骤22:在硬盘7中不属于磁盘巻册70及第一部分72的剩余空间中规划出第二部分74,即结束。
另外,为了能提高在备份数据被读取的速度,在该实施例中,第一部分72规划在-更盘7的位置在第二部分74在硬盘7的位置之前,尤其是,在硬盘7的第一部分72最末端的部分,直接接续第二部分74最前端的部分,备份数 据被读取的速度最快。
步骤3:内核空间6G中建立一快照指针,快照指针指向写入同步复制对照表在硬盘7中的启始地址,即第一部分72在硬盘7中的启始地址;及
步骤4:每当磁盘巻册70的任一个磁盘区块内的原始数据需要被修改时, 先将原始数据复制到第二部分74中的其中一个磁盘区块中作为备份数据,再 将磁盘巻册70的原始数据修改成为修改数据,并将包含备份数据地址及对应 备份数据的修改数据地址的对照信息写入第一部分72的写入同步复制对照表 中,即结束。
由上迷可知,硬盘7储存写入同步复制对照表,由于硬盘7的储存容量 远大于内核空间60,因此,硬盘7将不会被写入同步复制对照表所占满,另 一方面,内核空间60只储存地址指针,而地址指针通常只会占用到极小部分 的储存空间,使得内核空间60不再被写入同步复制对照表所占用,即可达到节省内核空间60的储存容量的目的,同时,服务器5在进行磁盘快照时,写 入同步复制对照表写在硬盘7中,使得服务器5不易发生异常,用以达到稳 定服务器5的目的。
在该实施例中,当服务器5欲对磁盘巻册70中已被写入修改数据的磁盘区块进行修改时,直接对已被写入修改数据的磁盘区块进行修改,并无需将
修改数据储存到第二部分74中,藉以保留磁盘巻册70中已被写入修改数据 的磁盘区块的备份数据,如此,当服务器5欲对磁盘巻册70进行数据恢复时, 自写入同步复制对照表读取对应该修改数据的该对照信息,取得在第二部分 74的备份数据,及将备份数据覆盖到该修改数据的磁盘区块,即可恢复磁盘 巻册7D。
以上所述,仅为本发明的一具体实施例,然而本发明的特征并不局限于 此,任何熟悉该项技艺者在本发明领域内,可轻易思及的变化或修饰,皆应 涵盖在以下本发明的申请专利范围中。
权利要求
1. 一种以快照指针进行磁盘快照的方法,应用在一服务器中,所述服务器包含有一存储器及一硬盘,其特征在于,所述存储器规划出一内核空间,当服务器对硬盘进行磁盘快照时,依下列步骤进行处理所述硬盘目前具有数据的所有磁盘区块规划为一磁盘卷册;所述硬盘中规划出一第一部分及一第二部分;所述内核空间中建立一快照指针,所述快照指针指向所述第一部分在所述硬盘中的启始地址;及每当所述磁盘卷册的任一个磁盘区块内的原始数据需要被修改时,先将所述原始数据复制到所述第二部分中的其中一个磁盘区块中作为一备份数据,再对所述原始数据修改成为一修改数据,并将一包含所述备份数据地址及对应所述备份数据的修改数据地址的对照信息,写入所述第一部分的写入同步复制对照表中。
2、 根据权利要求1所述的方法,其特征在于,所述第一部分的容量,等 于所述写入同步复制对照表的最大需求容量。
3、 根据权利要求2所述的方法,其特征在于,所述写入同步复制对照表提供储存复数个对照信息。
4、 根据权利要求3所述的方法,其特征在于,所述第二部分的容量大小, 则等于磁盘巻册所有的磁盘区块的原始数据被复制到硬盘中作为备份数据所 需的容量大小。
5、 根据权利要求l所述的方法,其特征在于,所迷服务器在硬盘规划出 第一部分及第二部分的步骤,包括根据所述^f兹盘巻册的容量大小,用以计算出所述写入同步复制对照表的 最大需求容量大小;在所述硬盘中不属于所述磁盘巻册的剩余空间中规划出所述第一部分;及在所述硬盘中不属于所述磁盘巻册及所述第 一部分的剩余空间中规划出 所述第二部分。
6、 根据权利要求2或5所述的方法,其特征在于,所述写入同步复制对 照表的最大需求容量大小的计算方法包括写入同步复制对照表的最大需求容量=磁盘巻册的磁盘区块数量x —个对照信息的容量大小;及磁盘区块数量-磁盘巻册的容量/磁盘区块容量。
7、 根据权利要求5所述的方法,其特征在于,所述第一部分规划在所述 硬盘中的位置在所述第二部分在所述硬盘中的位置之前。
8、 根据权利要求7所述的方法,其特征在于,所述硬盘的所述第一部分 最末端的部分,直接接续所述第二部分最前端的部分。
9、 根据权利要求1所述的方法,其特征在于,当所述服务器对所述磁盘 巻册中已被写入所述修改数据的磁盘区块进行修改时,直接对所述修改数据 的磁盘区块进行修改。
10、 根据权利要求9所述的方法,其特征在于,当所述服务器欲对所述 磁盘巻册进行数据恢复时,自所述写入同步复制对照表读取对应所述修改数 据的对照信息,取得已被在所述第二部分的所述备份数据,及将所述备份数 据覆盖到所述修改数据的磁盘区块,即可恢复磁盘巻册。
全文摘要
本发明提供一种以快照指针进行磁盘快照的方法。该方法应用在服务器中,当服务器进行磁盘快照时,将硬盘所有磁盘区块规划为一磁盘卷册,另在硬盘中规划出第一部分及第二部分,且于存储器的内核空间中建立一快照指针,快照指针指向第一部分的启始位置,每当原始数据需要被修改时,先将其复制到第二部分的磁盘区块,并作为备份数据,再对原始数据进行修改,并作为修改数据,再于写入同步复制对照表写入对照信息,当服务器欲对磁盘卷册进行数据恢复时,自写入同步复制对照表读取对照信息,取得备份数据,及将备份数据覆盖到相应的磁盘区块,即可恢复磁盘卷册。通过本发明,可以解决内核空间耗尽所导致操作系统异常崩溃的问题。
文档编号G06F11/14GK101206595SQ20061016872
公开日2008年6月25日 申请日期2006年12月19日 优先权日2006年12月19日
发明者陈志伟 申请人:英业达股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1