论文部分内容阅读
快照(Snapshot)这个在数据保护领域耳熟能详的技术,早已深入人心。在各种备份应用中,通过制作一个基于时间点的快照来进行备份,是保证业务连续性的核心技术。随着法规遵从的逐步展开,不管在企业级的数据中心,还是中小型企业业务(Small Medium Business),基
于快照的数据备份技术将会大行其道。
技术应用场景
VxFS是Symantec (原Veritas) 旗舰产品Storage Foundation里面的一个产品,它被广泛地应用到世界各地的数据中心。它提供了许多针对数据管理的特性,并针对不同的应用场景进行组合。如针对数据库的快速I/O,不仅提高了数据库的性能,同时提供良好的备份能力。而将它和其他一些产品组合(VxVM和VCS),就能提供高可靠性的CFS。
而专门针对备份技术,它提供了两种特性来满足用户的需求,一种是快照,另外一种是检查点(Checkpoint)。对于备份技术来说,其中一个最基本的实现方法就是检查文件系统里面每个文件的更新时间,从而对更新的文件做备份。由于实时备份,要实现业务的连续性,就不能停止当前运行的应用,因此需要对此应用在当前文件系统中的缓冲区数据进行适当的处理,以避免数据备份出现一致性问题。正是由于Symantec自己设计VxFS,它能清晰地了解文件系统中缓冲区的情况,并结合写拷贝 (Copy on Write) 技术,因此实现了快照和检查点特性。
在VxFS中,对一个文件系统做快照,就是对该文件系统在某一时间点做实时的映像,从而备份操作就可以在此映像上完成,而且该映像是只读的。对于一个文件系统来说,可以在不同的时间点做映像,但是却不能对一个映像再次做映像,就像对一个人可以从不同角度投射灯光,而得到多个影子,却不能再对影子投射出影子。
对于快照来说,它是一个暂时的映像,在装载(mount)时它存在,而在卸载(umount)时它就消失了。针对这个情况,VxFS提供了一个持续的映像,就是检查点映像,即使系统重新启动或者崩溃,它也仍然存在。通过写拷贝技术,检查点只需要维护文件系统中被修改数据块的信息,从而大大地减少了I/O负载。
通过上面的简介,对于快照和检查点有了基本的概念,但是究竟技术的内涵如何,是通过什么样的方式实现这些特色的呢?下面将为你揭开其神秘面纱。
探寻技术内幕
在存储系统中,卷管理器(在PC环境下,分区和卷基本上是同一概念)和文件系统设计密不可分。通常文件系统都要在某个卷上来创建,也就是说,卷是文件系统存在的基石,通过分层设计,将存储系统分为文件和数据块进行处理,两者相互协调,从而提供更好的灵活性。下面将通过文件系统和卷的处理,来解释快照和检查点的技术细节。
1.深入检查点内幕
对于检查点技术来说,在对当前文件运行系统创建检查点时,并不会把原有文件系统做一个完整的拷贝,而只是在检查点文件集(Checkpoint Fileset)中创建一些元数据(Metadata)信息。对于每个具体的文件,就是文件本身的信息(如inode信息),而该文件对应的真实数据是通过指向原文件集(Primary Fileset)中的数据得到,从而提高存储空间的利用率。
正如图1所示,原文件集和检查点文件集是在同一卷内,它保证检查点文件集能够持续存在,即使系统重启也不会消失。另一方面,它也占用了卷的存储空间。因此为了有效地利用存储空间,VxFS提供了四种类型的检查点:数据型——它是原文件集的完整映像,也就包含里面所有的数据;非数据型——它只包含原文件集的元数据信息,而不包含真实数据,从而可以节约存储空间;可删除型——在系统空间不足时,将首先删除这种检查点;不可Mount型——它不能被某些命令装载 (mount)。
因为检查点采用了写拷贝技术,所以并不会带来很大的性能影响,用户只要根据自己的需求来设计不同类型的检查点。
2.详解快照
快照和检查点技术类似,都是采用写拷贝技术来完成,但是快照技术却不像检查点那样持续存在,它只是在装载(mount)时存在,一旦卸载(umount)或者重新启动后,它便不再存在。
快照和检查点的重大区别就在于快照是采用新的卷来做存储介质,因此快照技术不会占用原卷的存储空间。和检查点一样,它对系统的性能不会有太大的性能影响,所以,可以对原卷做多个快照进行备份,而不必像检查点那样担心占用太多的存储空间。
值得注意的是,VxFS中的快照和VxVM中的快照是有差别的。一个是基于文件系统的块,而另一个是基于设备卷的数据块。
快照技术不仅应用在存储软件里面,也应用在很多硬件中 (比如阵列或者NAS,都引入了快照)。尽管各个厂家在实现上可能有细微的区别,但是原理上都是类似的。
3.写拷贝机制
不管是检查点还是快照,都是在写拷贝的基础上实现。在操作更新前,采用地址来指向数据块,当要用数据块B’来更新数据块B时,将指向原数据块B的地址改变为真正的数据块,其内容为B;此后,就可以将数据块B’写入到原数据块B中。
因为写拷贝在更新前,只是记录地址,所以它能够保证系统的性能;同时,只有在要更新时,才分配新的存储空间来保存数据,从而达到了节约存储空间的目的。正是因为它是一种空间和性能都兼顾的解决方案,才被广泛地接受和采用。
特性对比
检查点和快照是很相近的技术,都是写拷贝技术的延伸。通过上面的分析,也会发现,它们也有细微的区别。
业界同类技术
由于快照技术在数据保护上的优势,该技术在不同平台上得以不断繁衍和发展。Microsoft Windows提供的VSS (Volume Shadow copy Service),就提供了快照解决方案的框架。当Requestor(通常是备份软件)请求做给予时间点的快照时,VSS就会和Writers(通常为数据库应用,或者电子邮件之类的应用)协调,将这些应用阻塞,将缓冲区中的数据写入存储介质;然后和各种Provider通信(比如System Provider、Software Provider、Hardware Provide),生成快照。当然各个Provider在实现的细节上可能有细微的差别,但是在VSS整个框架内实现,其基本原理大都类似。
在Windows XP的一些SP版本,Windows 2k3和Vista里面,就加入了该VSS服务。用户可以选择“我的电脑 (右键)→管理→服务”,找到Volume Shadow Copy服务。
总结和展望
VxFS是在企业级存储中被广泛接受的文件系统。它提供的快照和检查点技术,在实现实时数据备份过程中,扮演着至关重要的角色。随着IT的飞速发展,信息的海量增长,电子数据的重要性日益深入人心,政府也制定了相关的法规来保护电子资料。可以相信,它的前景是光明的。
同时,随着对信息技术需求的多元化,在数据保护领域也出现了一些新技术,比如持续数据保护(Continuous data protection,CDP)。顾名思义,它不仅仅记录某个时间点的变化,而且记录数据的持续变化,也就是说数据的整个变化过程都能够被找回来。其实,它就是在快照思想上的进一步延伸,把作快照的粒度处理得更细。但是,它也引入了性能和存储空间的问题,其前景究竟如何,我们拭目以待!
于快照的数据备份技术将会大行其道。
技术应用场景
VxFS是Symantec (原Veritas) 旗舰产品Storage Foundation里面的一个产品,它被广泛地应用到世界各地的数据中心。它提供了许多针对数据管理的特性,并针对不同的应用场景进行组合。如针对数据库的快速I/O,不仅提高了数据库的性能,同时提供良好的备份能力。而将它和其他一些产品组合(VxVM和VCS),就能提供高可靠性的CFS。
而专门针对备份技术,它提供了两种特性来满足用户的需求,一种是快照,另外一种是检查点(Checkpoint)。对于备份技术来说,其中一个最基本的实现方法就是检查文件系统里面每个文件的更新时间,从而对更新的文件做备份。由于实时备份,要实现业务的连续性,就不能停止当前运行的应用,因此需要对此应用在当前文件系统中的缓冲区数据进行适当的处理,以避免数据备份出现一致性问题。正是由于Symantec自己设计VxFS,它能清晰地了解文件系统中缓冲区的情况,并结合写拷贝 (Copy on Write) 技术,因此实现了快照和检查点特性。
在VxFS中,对一个文件系统做快照,就是对该文件系统在某一时间点做实时的映像,从而备份操作就可以在此映像上完成,而且该映像是只读的。对于一个文件系统来说,可以在不同的时间点做映像,但是却不能对一个映像再次做映像,就像对一个人可以从不同角度投射灯光,而得到多个影子,却不能再对影子投射出影子。
对于快照来说,它是一个暂时的映像,在装载(mount)时它存在,而在卸载(umount)时它就消失了。针对这个情况,VxFS提供了一个持续的映像,就是检查点映像,即使系统重新启动或者崩溃,它也仍然存在。通过写拷贝技术,检查点只需要维护文件系统中被修改数据块的信息,从而大大地减少了I/O负载。
通过上面的简介,对于快照和检查点有了基本的概念,但是究竟技术的内涵如何,是通过什么样的方式实现这些特色的呢?下面将为你揭开其神秘面纱。
探寻技术内幕
在存储系统中,卷管理器(在PC环境下,分区和卷基本上是同一概念)和文件系统设计密不可分。通常文件系统都要在某个卷上来创建,也就是说,卷是文件系统存在的基石,通过分层设计,将存储系统分为文件和数据块进行处理,两者相互协调,从而提供更好的灵活性。下面将通过文件系统和卷的处理,来解释快照和检查点的技术细节。
1.深入检查点内幕
对于检查点技术来说,在对当前文件运行系统创建检查点时,并不会把原有文件系统做一个完整的拷贝,而只是在检查点文件集(Checkpoint Fileset)中创建一些元数据(Metadata)信息。对于每个具体的文件,就是文件本身的信息(如inode信息),而该文件对应的真实数据是通过指向原文件集(Primary Fileset)中的数据得到,从而提高存储空间的利用率。
正如图1所示,原文件集和检查点文件集是在同一卷内,它保证检查点文件集能够持续存在,即使系统重启也不会消失。另一方面,它也占用了卷的存储空间。因此为了有效地利用存储空间,VxFS提供了四种类型的检查点:数据型——它是原文件集的完整映像,也就包含里面所有的数据;非数据型——它只包含原文件集的元数据信息,而不包含真实数据,从而可以节约存储空间;可删除型——在系统空间不足时,将首先删除这种检查点;不可Mount型——它不能被某些命令装载 (mount)。
因为检查点采用了写拷贝技术,所以并不会带来很大的性能影响,用户只要根据自己的需求来设计不同类型的检查点。
2.详解快照
快照和检查点技术类似,都是采用写拷贝技术来完成,但是快照技术却不像检查点那样持续存在,它只是在装载(mount)时存在,一旦卸载(umount)或者重新启动后,它便不再存在。
快照和检查点的重大区别就在于快照是采用新的卷来做存储介质,因此快照技术不会占用原卷的存储空间。和检查点一样,它对系统的性能不会有太大的性能影响,所以,可以对原卷做多个快照进行备份,而不必像检查点那样担心占用太多的存储空间。
值得注意的是,VxFS中的快照和VxVM中的快照是有差别的。一个是基于文件系统的块,而另一个是基于设备卷的数据块。
快照技术不仅应用在存储软件里面,也应用在很多硬件中 (比如阵列或者NAS,都引入了快照)。尽管各个厂家在实现上可能有细微的区别,但是原理上都是类似的。
3.写拷贝机制
不管是检查点还是快照,都是在写拷贝的基础上实现。在操作更新前,采用地址来指向数据块,当要用数据块B’来更新数据块B时,将指向原数据块B的地址改变为真正的数据块,其内容为B;此后,就可以将数据块B’写入到原数据块B中。
因为写拷贝在更新前,只是记录地址,所以它能够保证系统的性能;同时,只有在要更新时,才分配新的存储空间来保存数据,从而达到了节约存储空间的目的。正是因为它是一种空间和性能都兼顾的解决方案,才被广泛地接受和采用。
特性对比
检查点和快照是很相近的技术,都是写拷贝技术的延伸。通过上面的分析,也会发现,它们也有细微的区别。
业界同类技术
由于快照技术在数据保护上的优势,该技术在不同平台上得以不断繁衍和发展。Microsoft Windows提供的VSS (Volume Shadow copy Service),就提供了快照解决方案的框架。当Requestor(通常是备份软件)请求做给予时间点的快照时,VSS就会和Writers(通常为数据库应用,或者电子邮件之类的应用)协调,将这些应用阻塞,将缓冲区中的数据写入存储介质;然后和各种Provider通信(比如System Provider、Software Provider、Hardware Provide),生成快照。当然各个Provider在实现的细节上可能有细微的差别,但是在VSS整个框架内实现,其基本原理大都类似。
在Windows XP的一些SP版本,Windows 2k3和Vista里面,就加入了该VSS服务。用户可以选择“我的电脑 (右键)→管理→服务”,找到Volume Shadow Copy服务。
总结和展望
VxFS是在企业级存储中被广泛接受的文件系统。它提供的快照和检查点技术,在实现实时数据备份过程中,扮演着至关重要的角色。随着IT的飞速发展,信息的海量增长,电子数据的重要性日益深入人心,政府也制定了相关的法规来保护电子资料。可以相信,它的前景是光明的。
同时,随着对信息技术需求的多元化,在数据保护领域也出现了一些新技术,比如持续数据保护(Continuous data protection,CDP)。顾名思义,它不仅仅记录某个时间点的变化,而且记录数据的持续变化,也就是说数据的整个变化过程都能够被找回来。其实,它就是在快照思想上的进一步延伸,把作快照的粒度处理得更细。但是,它也引入了性能和存储空间的问题,其前景究竟如何,我们拭目以待!