一种数据抢救方法及文件服务器的制造方法_2

文档序号:8942949阅读:来源:国知局
示意图;
[0062]图15为本发明实施例提供的另一种文件服务器结构示意图;
[0063]图16为本发明实施例提供的另一种文件服务器结构示意图;
[0064]图17为本发明实施例提供的另一种文件服务器结构示意图;
[0065]图18为本发明实施例提供的另一种文件服务器结构示意图;
[0066]图19为本发明实施例提供的另一种文件服务器结构示意图;
[0067]图20为本发明实施例提供的另一种文件服务器结构示意图。
【具体实施方式】
[0068]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0069]本发明以下实施例提供的数据抢救方法,通过在新磁盘中创建管理元数据后,不进行文件解析过程而直接将故障盘中的节点拷贝至新磁盘,并将拷贝的节点挂载到新磁盘中的管理元数据上,从而将故障盘中的数据恢复至新磁盘,因而避免了现有技术中复杂的文件解析过程,从而提高了故障盘的抢救速度。
[0070]实施例1
[0071]本发明实施例提供一种数据抢救方法,参见图3,可以包括:
[0072]101、当需要抢救故障盘中的数据时,文件服务器在新磁盘中创建管理元数据,管理元数据为新磁盘的管理信息。
[0073]其中,文件服务器是分布式文件系统中进行磁盘管理的服务器,可以用于抢救其管理的故障盘中的数据,进行分布式文件将其管理的故障盘的数据抢救至新磁盘,还可以为用户提供正常业务处理。当文件服务器管理的某一磁盘发生故障需要进行数据抢救时,文件服务器可以在另外一块新磁盘中创建管理元数据。其中的管理元数据可以包括根目录信息和磁盘空间管理信息等,用于描述信息资源或数据本身的特征和属性,规定数字化信息的组织,具有定位、发现、证明、评估、选择等功能。
[0074]实际上,对于本地文件系统或者对象文件系统来说,各个磁盘的管理结构是相同的,区别在于管理结构所管理的数据不同,因而可以在一个新磁盘上创建管理元数据从而建立新磁盘的管理结构,并将故障盘中的目录数据块和文件数据块拷贝至新磁盘中,通过管理元数据创建的管理结构进行管理,从而将故障盘中的数据恢复至新磁盘以抢救故障盘中的数据,而不用将故障盘中的管理元数据拷贝至新磁盘且不用根据故障盘中的管理元数据进行文件解析,而可以直接将故障盘中的管理元数据丢弃,从而将故障盘中的数据恢复至新磁盘。其中,磁盘中管理元数据对应的管理结构示意图可以参见图4。
[0075]需要说明的是,通过在新磁盘上创建元数据来恢复故障盘中的数据,可以避免现有技术中根据故障盘中的管理元数据进行文件解析,因而即使故障盘中的管理元数据损坏也不会影响故障盘中数据的抢救。
[0076]此外,现有技术中在进行故障盘抢救时,需要根据管理元数据进行复杂的文件解析过程,当管理元数据损坏时将导致文件解析失败,从而无法抢救故障盘中的数据。为此,故障盘中的管理元数据一般会事先备份于其它磁盘中,从而耗费了额外的磁盘空间,同时还额外增加了其它磁盘的读写操作,影响了其性能。另外,将管理元数据备份仅能解决故障盘由于物理故障导致的管理元数据损坏,当故障盘由于软件损坏导致管理元数据损坏时,则可能导致源管理元数据和备份至其它磁盘的管理元数据均是错误数据。
[0077]本发明实施例提供的数据抢救方法,通过丢弃故障盘中的管理元数据,并在新磁盘上创建管理元数据,还可以避免现有技术中对故障盘中管理元数据的备份,因而节省了磁盘空间,并且无论故障盘中的管理元数据是硬件损坏还是软件损坏,均不会影响故障盘中数据的抢救。
[0078]102、文件服务器将故障盘中的节点数据块拷贝至新磁盘,节点数据块包括目录数据块或文件数据块。
[0079]由于管理元数据、目录数据块和文件数据块随机存储于磁盘中的,参见图5,因而除了管理元数据以外,磁盘中的剩余数据为管理元数据建立的管理结构所管理的目录数据块和文件数据块,这里将目录数据块和文件数据块统称为节点数据块。
[0080]在新磁盘中创建管理元数据以后,不需要再根据故障盘中的管理元数据进行文件解析,从而按照文件完整路径解析的方式将故障盘中的数据拷贝至新磁盘中了,而可以绕过故障盘中的管理元数据和文件解析,直接将故障盘中的节点数据块拷贝至新磁盘中。其中,文件服务器通过步骤101和步骤102将故障盘中的节点数据块拷贝至新磁盘的示意图可以参见图6。
[0081]需要说明的是,在本步骤中,由于不需要根据故障盘中的管理元数据进行文件解析,从而将故障盘中的数据拷贝至新磁盘,因而避免了现有技术中复杂的文件解析过程,提高了故障盘的抢救速度。
[0082]其中,节点数据块可以包括描述符和数据内容,描述符占用的存储空间可以为预设字节数,描述符可以包括起始标识和第一字节数,起始标识位于描述符的头部,可以用于指示节点数据块的起始位置,第一字节数可以用于指示数据内容占用的字节数量。其中,描述字符占用的预设字节数具体可以根据需要进行设定。节点数据块的结构示意图可以参见图7。
[0083]具体的,文件服务器将故障盘中的节点数据块拷贝至新磁盘可以包括:
[0084]文件服务器在故障盘中查找起始标识;
[0085]文件服务器从描述符的头部开始,将预设字节数的描述符和第一字节数的数据内容拷贝至新磁盘。
[0086]示例性的,描述符可以为索引节点inode,起始标识可以为魔数字。即描述符索引节点,可以包括起始标识和第一字节数,起始标识可以为魔数字。文件服务器可以在故障盘中查找位于描述符头部的起始标识魔数字,并从魔数字的第一个字节开始将预设字节数的描述符和第一字节数的数据内容拷贝到新磁盘中,从而将节点数据块拷贝至新磁盘。
[0087]其中,文件服务器可以在故障盘中每查找到一个起始标识,就将该起始标识对应的节点数据块拷贝至新磁盘中;或者,文件服务器也可以扫描故障盘中所有的起始标识,并根据该起始标识建立节点数据块列表,从而根据节点数据块列表将节点数据块拷贝至新磁盘,本发明实施例不做限定。
[0088]103、文件服务器将从故障盘拷贝至新磁盘的节点数据块挂载到新磁盘的管理元数据上。
[0089]文件服务器在将故障盘中的节点数据块拷贝至新磁盘后,参见图8所示的新磁盘中的数据的逻辑结构示意图,可以将新盘中的节点数据块挂载到新磁盘的管理元数据上,即将目录数据块和文件数据块交由管理结构管理,从而构成完整的磁盘存储系统。此时,可以根据新磁盘管理元数据进行文件解析从而正常读取新磁盘中的数据。实际上,新磁盘中的数据是抢救的故障盘中的数据。
[0090]在将节点数据块挂载到新磁盘中的管理元数据上之后,由于新磁盘中的管理的目录数据块和文件数据块均为故障盘中的目录数据块和文件数据块,因而此时已完全将故障盘中的数据恢复至新磁盘中,完成了故障盘的数据抢救。
[0091]进一步地,上述故障盘通常为分布式文件系统中的一个磁盘,在故障盘的数据抢救完成后,还可以根据已抢救的故障盘中的数据,继续抢救分布式文件系统中的系统数据。因而,参见图9,本发明实施例提供的数据抢救方法在步骤103之后,还可以包括:
[0092]104、文件服务器将新磁盘加入抢救磁盘池。
[0093]在新磁盘中创建管理元数据,将故障盘中的节点数据块拷贝至新磁盘并挂载在新磁盘的管理元数据上,从而将故障盘中的数据恢复至新磁盘,完成故障盘的数据抢救之后,还可以将该新磁盘加入数据抢救模块管理的抢救磁盘池及抢救磁盘列表,以进行分布式文件系统的系统数据抢救。其中,数据抢救模块用于管理抢救磁盘池中的磁盘,并不能管理其他磁盘。
[0094]值的注意的是,步骤104是以文件服务器将故障盘中的数据恢复至新磁盘并将新磁盘加入该文件服务器管理的抢救磁盘池,以进行分布式文件系统的系统数据抢救为例进行说明的,即通过同一文件服务器进行故障盘的数据抢救和进行系统数据抢救。当文件服务器I和文件服务器2位于同一物理地点时,通过文件服务器I将故障盘中的数据恢复至新磁盘,将该新磁盘插入文件服务器2,并加入文件服务器2的抢救磁盘池以进行分布式文件系统的系统数据抢救,是很容易想到的技术方案,也在本发明的保护范围内。
[0095]105、文件服务器将新磁盘中的数据拷贝至业务磁盘池中的业务磁盘。
[0096]文件服务器获取抢救磁盘池中的抢救磁盘列表,并根据该列表将恢复有故障盘数据的新磁盘中的数据,拷贝至业务数据模块管理的业务磁盘池中的业务磁盘,以抢救分布式文件系统中的系统数据。其中,业务数据模块用于管理业务磁盘池中的磁盘,并不能管理其他磁盘例如抢救磁盘池中的磁盘。
[0097]需要说明的是,在本发明实施例提供的数据抢救方法中,数据抢救模块只能管理抢救磁盘池中的磁盘,而不能管理业务磁盘池中的磁盘,且业务数据模块只能管理业务磁盘池中的磁盘,而不能管理抢救磁盘池中的磁盘,即参见图10,分布式文件系统中抢救磁盘池和业务磁盘池是相互隔离的,因而分布式文件系统的系统数据抢救和业务也是并行的,互不干扰。<
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1