磁盘数据保护方法及装置的制造方法_3

文档序号:9708695阅读:来源:国知局
对应。
[0100]将文件相关的块号转化为逻辑卷的块号,添加到链表L2中。
[0101]步骤S207,创建相关文件的元数据块内存副本。
[0102]步骤S208,查询T2表,将快照卷创建以来的增量读10请求数据拷贝到新分配的物理卷1的块,这些块需要从逻辑源卷对应的物理卷1上分配空闲块号,并更新逻辑源卷和物理卷1的块号映射表T3。
[0103]步骤S209,重新初始化T1和T2表,相当于回收快照卷上已经被使用的块。
[0104]最后,进程后续打开的所有文件,重复步骤S205到步骤S209,分别更新链表Ll,L2以及文件的元数据块内存副本。
[0105]用户对某个文件设置10穿透属性,相当于执行了步骤S205到步骤S209这里不再赘述。
[0106]设置穿透属性后,所有文件的增量写数据从快照卷同步到了逻辑源卷。具有穿透属性的10请求和普通的10请求系统的处理是不同的,10控制模块控制了 10流的走向。
[0107]回到图1当中,如图1所示:
[0108]步骤S300,将保存在快照卷上的所述增量数据同步到逻辑源卷上。
[0109]具体的,图6为本发明第一实施例中对文件10读请求流程图,如图6所示,包括以下步骤:
[0110]步骤S210,上层10请求发送到块设备层后,首先对10进行解析,获取到该10所属的逻辑卷。
[0111]步骤S211,查询L2链表,如果上个步骤获取的逻辑卷在链表中,说明该逻辑卷或者是一个建立了快照卷的逻辑源卷,或者是一个快照卷。
[0112]步骤S212,10请求最终会发送给实际的物理卷处理,故需要完成逻辑卷到物理卷块号的转换。如果在L2链表找到目标卷,则搜索T1表查找映射关系。
[0113]步骤S213,如果没找到则查询找T3表获取物理卷1的块号。
[0114]步骤S214,如果在T1表中找到映射关系,则再次查找T2表获取物理卷2块号。
[0115]步骤S215,获取到物理卷块号后,再将10请求发送给对应的物理块设备处理。
[0116]图7为本发明第一实施例中对文件10写请求流程图,如图7所示,包括以下步骤:
[0117]步骤S220,上层10请求发送到块设备层后,首先对10进行解析,获取到该10所属的逻辑卷。
[0118]步骤S221,查询L2链表,查询块设备是否在链表L2中。
[0119]具体的,如果上个步骤获取的逻辑卷在链表中,说明该逻辑卷或者是一个建立了快照卷的逻辑源卷,或者是一个快照卷。
[0120]步骤S222,如果在L2链表没有找到目标卷,则查询T3表,获取物理卷1块号,直接向物理卷1提交写10请求。
[0121]如果在L2链表找到目标卷,需要向快照卷和逻辑源卷同时发送写10请求,并更新相关文件的元数据块内存副本。其中:
[0122]步骤S223,快照卷:在快照卷上查找数据块。
[0123]具体的,若没找到则分配新块,更新T1表,然后查找物理卷2,若没找到则分配新块,更新T2表。检查逻辑卷块号是否是新增的,如果是还需要更新链表L2。最后向物理卷2提交与10。
[0124]步骤S224,逻辑源卷:查询T3表,获取物理卷1块号,向物理卷1提交写10请求。
[0125]步骤S225,元数据块内存副本:提交给快照卷的写10请求。
[0126]具体的,如果10请求的块号已在元数据块号的内存副本中,那么修改对应的内存副本,同时提交给底层物理卷设备;提交给快照卷的写10请求块号,如果不在元数据块号的内存副本中,那么需要增加或删除元数据块内存副本,比如文件增大或截断时,则需要增加或删除对应的快组描述符,块位图以及间接寻址块对应的元数据块内存副本。
[0127]具有10穿透属性的文件的数据块内容在进程访问时刻就同步到了逻辑源卷上,但元数据块内容还在元数据块内存副本中。元数据块的内存副本需要在系统重启的关机流程中提交到逻辑源卷对应物理卷上,这样实现设置了 10穿透属性的相关文件数据内容改变了,但却不影响其它文件的数据内容。
[0128]图8示出本发明第一实施例中关机流程元数据块内存副本同步到物理卷的流程图,如图8所示,包括以下步骤:
[0129]步骤S230,卸载文件系统,文件系统的所有数据通过文件系统的接口同步到了逻辑源卷。
[0130]步骤S231,检查元数据块内存副本是否为空,如果为空,说明没有文件设置了 10穿透属性,直接结束。
[0131]步骤S232,将元数据块内存副本的内容提交到逻辑源卷,并查T3表。
[0132]步骤S233,提交到物理卷1。
[0133]图9为本发明第一实施例中用户激活磁盘数据保护功能的流程图,如图9所示,包括以下步骤:
[0134]步骤S240,检查磁盘数据保护功能是否已经激活。
[0135]具体的,磁盘数据保护功能需要重启操作系统才能生效,激活该功能时,会在状态文件里面标记它为开启状态。检查磁盘数据保护功能是否生效,分为两种情况:情况一,开启状态被置但生效状态未置,提示用户需要重启才能生效,进入步骤S241 ;情况二,开启状态被置且生效状态被置,提示该功能已经激活并生效。
[0136]进一步的,根据用户输入,设置内存盘的大小的值N。将N值和物理内存的大小值Μ进行对比,如果N值超过Μ的大小,那么给用户返回错误,提示用户内存盘大小设置超过物理内存的限制。
[0137]步骤S242,修改系统启动参数,增加对内存盘的配置,下次系统重启的时候,会读取该启动参数,用于预留内存,并设置内存盘大小。设置根文件系统设备为逻辑源卷。
[0138]步骤S243,实施例中系统设备即系统盘,将逻辑源卷名记录入配置文件,在下次重启的时候读出逻辑源卷名,用于创建快照卷,保护磁盘数据功能生效后会将快照卷挂载使用。
[0139]步骤S244,修改系统启动参数,将启动的根文件系统设备改为快照卷的名称。
[0140]步骤S245,提示用户需要重启生效。
[0141]图10为本发明第一实施例中激活磁盘数据保护功能后需要重启操作系统的流程图,如图10所示,包括以下步骤:
[0142]步骤S250,读取操作系统启动参数。
[0143]具体的,启动参数包括:内存盘参数,预留内存,创建对应大小的内存盘;根文件系统设备参数,该参数被修改为了快照卷的名称,后面挂载根文件系统时,将使用快照卷进行挂载。
[0144]步骤S251,从状态文件中读取开启状态的值。
[0145]具体的,如果被置,说明需要激活磁盘只读保护功能。
[0146]步骤S252,卷管理模块从根文件系统设备所在的卷组移除内存盘。
[0147]具体的,卷组的元数据信息是直接记录在块设备上的,内存盘上的数据每次重启后都会被丢弃,所以需要先将其移除出卷组。
[0148]步骤S253,卷管理模块将内存盘创建为物理卷,并将它加入根文件系统设备所在的卷组,扩展卷组的大小。
[0149]步骤S254,从配置文件中读取快照卷名,逻辑源卷名。
[0150]步骤S255,根据配置文件中读出的快照卷名以及逻辑源卷名,创建快照卷。
[0151]具体的,快照卷会从卷组中划分空间,由于扩展前的卷组空间被逻辑源卷占用了,新增的卷组空间是步骤S243中的内存盘扩展的,所以新创建的快照卷即对应内存盘。
[0152]步骤S256,修改状态文件,设置磁盘数据保护功能的生效状态。
[0153]步骤S257,修改启动的挂载文件系统列表文件。
[0154]具体的,系统在启动阶段会根据挂载文件系统列表文件挂载相关的文件系统,将根文件系统设备名改为快照卷名。
[0155]图11为本发明第一实施例中用户关闭磁盘数据保护功能的流程图,如图11所示,包括以下步骤:
[0156]步骤S260,检查磁盘数据保护功能是否已经激活。
[0157]具体的,磁盘数据保护功能需要重启操作系统才能生效,关闭该功能时,会在状态文件里面设置它为关闭状态。检查磁盘数据保护功能是否关闭,分为两种情况:情况一,关闭状态被置且生效状态也被置,提示用户需要重启才能生效;情况二,关闭状态被置
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1