重定向iSCSI挂载卷读写数据的方法及其备份恢复系统的制作方法

文档序号:6636860阅读:555来源:国知局
重定向iSCSI挂载卷读写数据的方法及其备份恢复系统的制作方法
【专利摘要】本发明涉及一种重定向iSCSI挂载卷读写数据的方法及其备份恢复系统,其中方法包括1)创建一个与原稀疏文件大小一致的临时稀疏文件;2)当捕捉到对原稀疏文件的写操作时,直接将数据写到步骤1)中所述的临时稀疏文件中;3)当捕捉到对原稀疏文件的读操作时,从所述原稀疏文件读取数据并合并从临时稀疏文件中读取出变化的数据,得到最新数据块;其中备份恢复系统包括原生文件系统的存储模块和SCSI协议解析模块。与现有技术相比,本发明提高了挂载卷的读写性能,从而更能满足生产系统上应用所需的存储性能,提高iSCSI挂载卷的可用性。
【专利说明】重定向iSCSI挂载卷读写数据的方法及其备份恢复系统

【技术领域】
[0001]本发明涉及应用容灾领域的iSCSI (Internet Small Computer SystemInterface)卷挂载恢复技术,尤其是涉及一种重定向iSCSI挂载卷读写数据的方法及其备份恢复系统。

【背景技术】
[0002]随着计算机技术日新月异的变化,如今的计算机已经深入到我们生活的方方面面,而其产生的大量数据也成为我们最宝贵的财富之一,如何保护和利用好这些数据也成了大家关注的焦点。
[0003]很多的应用领域对数据的可用性和及时性要求很严格,如果没有很好的方案将这些数据保护好,一旦发生灾难那么对他们的打击是致命的。相信大家都知道911恐怖袭击后,很多家企业由此宣告破产。
[0004]如今我们已经步入了大数据时代,生产系统上的数据量已经越来越大。面对大量的数据以及高 RTO (Recovery Time Objective) > RPO (Recovery Point Objective)要求的生产系统,普通的数据恢复已经无法满足生产的需求,那么必须提供一种秒级数据恢复的方案。而且这种方案跟数据的多少没有关系,于是我们想到了使用挂载卷的方式。通过iSCSI卷挂载的方式将之前备份的数据组织成一个新的卷挂载到原生产系统上,或者为了效率直接将备份数据保存成一个原生卷的形式,这样当生产系统的数据卷损坏后,就可以通过iSCSI卷挂载的方式,在几秒内即可将生产系统恢复正常。
[0005]由于通过其他格式组织的数据来进行iSCSI卷挂载恢复的性能很差,当数据量一大基本上无法满足正常的生产卷使用。所以本发明通过建立一个与原卷一样大小的稀疏文件,并在这个稀疏文件中保存一份最新的数据且该文件与原卷的格式一样。这个稀疏文件刚开始创建不会占用空间存储,当你往里写数据的时候才会占用空间,而且如果没有进行写操作,那么读取出来的数据都是O。
[0006]由于进行挂载恢复的数据是之前备份的数据,所以在系统恢复正常之前不能将备份数据弄脏或者损坏掉,也就是说不能直接对挂载卷进行写操作,而需要将其重定向到别的存储位置。而之前对挂载卷写操作的重定向方法都不太好,例如在生产系统上安装驱动,对挂载卷的写操作进行重定向,这个方法非常复杂,而且对生产系统的资源消耗很大;又例如在备份服务器上进行重定向,但是需要通过维护位图表来查找变化数据块的位置,而且iSCSI协议的块大小默认是扇区大小,那么这里的位图表就比文件系统的位图表大很多,对备份服务的内存消耗很大,如果不把位图表放在内存中,那么iSCSI挂载卷的读写性能就会很差。


【发明内容】

[0007]本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种重定向iSCSI挂载卷读写数据的方法及其备份恢复系统,保护了 iSCSI挂载卷在使用过程中新产生的数据,同时在不维护位图表的方式下,实现了 iSCSI挂载卷数据的重定向,并且可以正确地读取出iSCSI挂载卷最新的数据,从而提升了 iSCSI挂载卷的读写性能、减轻对备份服务器和生产系统资源的消耗。
[0008]本发明的目的可以通过以下技术方案来实现:
[0009]一种重定向iSCSI挂载卷读写数据的方法,其特征在于,包括以下步骤:
[0010]I)创建一个与原稀疏文件大小一致的临时稀疏文件;
[0011]2)当捕捉到对原稀疏文件的写操作时,直接将数据写到步骤I)中所述的临时稀疏文件中;
[0012]3)当捕捉到对原稀疏文件的读操作时,从所述原稀疏文件读取数据并合并从临时稀疏文件中读取出变化的数据,得到最新数据块。
[0013]所述步骤2)中从所述原稀疏文件读取数据并合并从临时稀疏文件中读取出变化的数据具体为:
[0014]从所述原稀疏文件和所述临时稀疏文件中根据数据的偏移和长度读取出来并分别放在缓存中;
[0015]将所述临时稀疏文件中读取出来的数据以扇区为单位与O进行位与操作,如结果为O则丢弃,否则将该扇区的数据覆盖到原稀疏文件读取的缓存的对应位置上。
[0016]一种基于重定向iSCSI挂载卷读写数据的方法的备份恢复系统,包括:
[0017]原生文件系统的存储模块,用于备份与生产机上的一个卷对应的稀疏文件,具体用于存储原生文件系统的文件,根据任务的信息,将生产机上的一个卷对应在这里生成一个稀疏文件,并在备份的过程中,将生产卷上的数据根据相应的偏移写到这个稀疏文件中,这样就可以直接将此稀疏文件作为原生卷挂载到生产系统上,供生产系统使用;
[0018]SCSI协议解析模块,用于解析生产系统对挂载卷所发出的指令;
[0019]恢复时所述iSCSI协议解析模块将所述原生文件系统存储模块中生产卷所对应的原稀疏文件作为原生卷挂载到需要恢复的生产系统上;
[0020]成功后再在原生文件系统存储模块中新建一个与所述原稀疏文件大小一致的临时稀疏文件作为挂载卷新写数据的存储位置;
[0021]所述iSCSI协议解析模块在获取到iSCSI的写指令时,直接将数据写到所述的临时稀疏文件中;
[0022]所述iSCSI协议解析模块在获取到iSCSI的读指令时,从所述原稀疏文件读取数据并合并从临时稀疏文件中读取出变化的数据,得到最新数据块。
[0023]所述指令包括读指令、写指令、挂载以及卸载指令。
[0024]所述从所述原稀疏文件读取数据并合并从临时稀疏文件中读取出变化的数据具体为:
[0025]从所述原稀疏文件和所述临时稀疏文件中根据数据的偏移和长度读取出来并分别放在缓存中;
[0026]将所述临时稀疏文件中读取出来的数据以扇区为单位与O进行位与操作,如结果为O则丢弃,否则将该扇区的数据覆盖到原稀疏文件读取的缓存的对应位置上。
[0027]还包括OFS存储模块,用于对历史数据进行分层管理和存储,并以时间点为单位将生产数据保留成多个副本,这样就可以供用户随意选择恢复到之前某个时间点的数据;一个备份任务,随着时间的推移会有好多个备份时间点,一个时间点下面会有一些数据对象,例如一个卷D、大小ITBJPA OFS存储模块就会创建一个数据对象与卷D进行对应,一个数据对象下面会有好多个数据块,这些数据块就是数据对象的真实数据,它记录的数据块相对数据对象的偏移值和大小等信息,方便恢复的时候直接将数据回写到对应的位置;
[0028]所述iSCSI的协议解析模块在获取到iSCSI的写指令时,先根据数据块的偏移定位到临时稀疏文件的指定位置,在将数据写到所述的临时稀疏文件的同时以异步的方式将该数据块发送给OFS模块。
[0029]与现有技术相比,本发明实现了对iSCSI挂载卷新产生的数据完整的保护,可以在不需要因维护位图表而消耗大量的内存资源的情况下完成iSCSI挂载卷新写数据的重定向问题,以及iSCSI挂载卷读取最新数据块的问题。由于挂载卷重定向的数据也写在原生文件上,所以提高了挂载卷的读写性能,从而更能满足生产系统上应用所需的存储性能,提尚iSCSI挂载卷的可用性。

【专利附图】

【附图说明】
[0030]图1为备份服务器存储布局;
[0031 ] 图2为OFS数据组织格式:
[0032]图3为iSCSI挂载卷数据重定向流程图。

【具体实施方式】
[0033]下面结合附图和具体实施例对本发明进行详细说明。
[0034]实施例
[0035]本发明基于重定向iSCSI挂载卷读写数据的方法的备份恢复系统,包括:
[0036]1、原生文件系统的存储模块。
[0037]1.1、这部分的存储主要用来存储原生文件系统的文件,根据任务的信息,将生产机上的一个卷对应在这里生成一个稀疏文件,并在备份的过程中,将生产卷上的数据根据相应的偏移写到这个稀疏文件中,这样就可以直接将此稀疏文件作为原生卷挂载到生产系统上,供生产系统使用。
[0038]2、OFS存储模块。
[0039]2.1该模块负责对历史数据进行分层管理和存储,它可以时间点为单位,将生产数据保留成很多个副本,这样就可以供用户随意选择恢复到之前某个时间点21的数据。一个备份任务,随着时间的推移会有好多个备份时间点,一个时间点下面会有一些数据对象22,例如一个卷D、大小ITB,那么OFS就会创建一个数据对象与卷D进行对应。一个数据对象下面会有好多个数据块23,这些数据块就是数据对象的真实数据,它记录的数据块相对数据对象的偏移值和大小等信息,方便恢复的时候直接将数据回写到对应的位置。
[0040]3、iSCSI target (iSCSI协议解析模块),该模块主要负贡iSCSI卷挂载的协议解析,包括生产系统对挂载卷所发出的所有指令,例如读指令、写指令、挂载以及卸载指令。
[0041]3.1、在恢复的时候本模块将原生文件系统存储中生产卷所对应的稀疏文件作为原生卷挂载到需要恢复的生产系统上。
[0042]3.2、挂载成功以后立刻再在原生文件系统存储中新建一个临时的与挂载卷大小一致的稀疏文件,该文件作为挂载卷新写数据的存储位置。
[0043]3.3、该模块在获取到iSCSI的写指令的时候,先根据数据块的偏移定位到新产生稀疏文件的指定位置,然后将数据块写进该稀疏文件中,并同时以异步的方式将该数据块发送给OFS模块,让其根据数据块的组织格式将新产生的数据保护起来。
[0044]3.4、该模块在获取到ISCSI的读指令的时候,先从原来的稀疏文件中读取出指定位置的数据块,让后再从临时的稀疏文件中读取出指定位置的数据块,由于没有位图表来维护这个区域的数据是否发生过变化,所以无法直接将临时稀疏文件中读取出来的数据覆盖原来稀疏文件里读取出来的数据,但是稀疏文件有一个特点,在没有往对应区域写过数据的位置,那么该区域读取出来的数据都是0,又由于iSCSI协议的块大小是一个扇区的大小,默认为512个字节。而iSCSI读数据的大小又是iSCSI块大小的整数倍,那么根据这三个特点,可以将从临时稀疏文件里读取出来的数据块,以iSCSI块大小进行分割,一个块一个块的与O进行&(与)操作,如果结果为O则表示此扇区没有修改过,如果结果为I则表示此扇区在挂载后被修改过,那么就将此块的值覆盖从原来稀疏文件里读取的值。经过这样简单的计算就可以在不需要维护位图表的情况下获取到iSCSI挂载卷的最新数据块。
[0045]本发明主要是将备份服务器上的存储分为两个部分,第一部分供OFS模块存储数据,第二部分供原生文件系统存储稀疏文件。本发明相互协作的模块都在备份服务器。本发明的具体实施过程如下:
[0046]1、提供一台备份服务器。
[0047]该备份服务器的存储10划分为两个部分,一部分用于存储OFS格式的数据11,另一部分用于存储原生文件系统12的稀疏文件。该备份服务器上自带了 iSCSI的协议解析模块,此模块负责与生产系统上iSCSI源端(这个很多系统自带了,例如Windows系统中的iSCSI发起程序)进行通信,解析生产系统上iSCSI源端所发出的所有指令,并作出相应的操作。
[0048]2、iSCSI挂载卷恢复流程。
[0049]2.1、由于要进行iSCSI卷挂载恢复,那么之前肯定有相关的备份任务,假设有一个实时备份任务对生产系统A上的卷D进行了备份。卷D的大小为1TB。那么OFS存储里存储了卷D的历史数据,而原生文件系统卷上存了一个大小为ITB的稀疏文件,将此文件命名为D1。
[0050]2.2、由于生产系统A上的卷D损坏了,要通过iSCSI挂载卷的方式对系统A进行应用容灾,所以备份服务器通过iSCSI target将原生系统卷上的Dl文件作为一个卷挂载到系统A上,并且同样给该卷分配卷标为D。
[0051]2.3、iSCSI target立刻在原生文件系统卷上创建一个新的大小为ITB的稀疏文件D2,D2作为Dl写的重定向存储。iSCSI target解析相关的iSCSI的指令,当iSCSItarget捕获到生产系统对挂载卷D写操作的时候,就直接将数据写到稀疏文件D2的相应位置上,并将数据通过异步的方式发送给OFS存储进行保存,方便后面数据恢复。
[0052]2.4、当iSCSI target捕获到生产系统对挂载卷D读操作的时候,就先从Dl中根据数据的偏移和长度将数据读取出来放在缓存中,让后同样从D2中将数据读取出来放在另外一个缓存中,根据稀疏文件初始为O和iSCSI协议默认块大小为扇区大小的特点,将D2读取的数据以扇区为单位进行循环和O进行位与操作,如果为O则丢弃,否则将该扇区的数据覆盖到Dl读取的缓存的对应位置上。通过这样的处理后可以保证读取的数据是生产系统A所需的最新的数据。
[0053]2.5、在适当的时候,例如通过数据恢复,恢复出另一个生产系统接替该挂载的生产系统,那么就可以将iSCSI挂载卷卸载掉,然后将OFS中新保存的数据恢复回去。这样从卷D损坏到iSCSI挂载卷顶替D使用所产生的数据也可以正常的恢复回去。
【权利要求】
1.一种重定向13(331挂载卷读写数据的方法,其特征在于,包括以下步骤: 1)创建一个与原稀疏文件大小一致的临时稀疏文件; 2)当捕捉到对原稀疏文件的写操作时,直接将数据写到步骤1)中所述的临时稀疏文件中; 3)当捕捉到对原稀疏文件的读操作时,从所述原稀疏文件读取数据并合并从临时稀疏文件中读取出变化的数据,得到最新数据块。
2.根据权利要求1所述的重定向挂载卷读写数据的方法,其特征在于,所述步骤2)中从所述原稀疏文件读取数据并合并从临时稀疏文件中读取出变化的数据具体为: 从所述原稀疏文件和所述临时稀疏文件中根据数据的偏移和长度读取出来并分别放在缓存中; 将所述临时稀疏文件中读取出来的数据以扇区为单位与0进行位与操作,如结果为0则丢弃,否则将该扇区的数据覆盖到原稀疏文件读取的缓存的对应位置上。
3.一种基于权利要求1所述的重定向挂载卷读写数据的方法的备份恢复系统,包括: 原生文件系统的存储模块,用于备份与生产机上的一个卷对应的稀疏文件; 8081协议解析模块,用于解析生产系统对挂载卷所发出的指令; 其特征在于, 恢复时所述协议解析模块将所述原生文件系统存储模块中生产卷所对应的原稀疏文件作为原生卷挂载到需要恢复的生产系统上; 成功后再在原生文件系统存储模块中新建一个与所述原稀疏文件大小一致的临时稀疏文件作为挂载卷新写数据的存储位置; 所述协议解析模块在获取到13(:31的写指令时,直接将数据写到所述的临时稀疏文件中; 所述协议解析模块在获取到13(:31的读指令时,从所述原稀疏文件读取数据并合并从临时稀疏文件中读取出变化的数据,得到最新数据块。
4.根据权利要求3所述的备份恢复系统,其特征在于,所述指令包括读指令、写指令、挂载以及卸载指令。
5.根据权利要求3所述的备份恢复系统,其特征在于,所述从所述原稀疏文件读取数据并合并从临时稀疏文件中读取出变化的数据具体为: 从所述原稀疏文件和所述临时稀疏文件中根据数据的偏移和长度读取出来并分别放在缓存中; 将所述临时稀疏文件中读取出来的数据以扇区为单位与0进行位与操作,如结果为0则丢弃,否则将该扇区的数据覆盖到原稀疏文件读取的缓存的对应位置上。
6.根据权利要求2所述的备份恢复系统,其特征在于,还包括存储模块,用于对历史数据进行分层管理和存储,并以时间点为单位将生产数据保留成多个副本;所述13(:31的协议解析模块在获取到13(:31的写指令时,在将数据写到所述的临时稀疏文件的同时以异步的方式将该数据块发送给模块。
【文档编号】G06F11/14GK104461782SQ201410719438
【公开日】2015年3月25日 申请日期:2014年12月1日 优先权日:2014年12月1日
【发明者】刘荣伟 申请人:上海爱数软件有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1