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

文档序号:8942949阅读:来源:国知局
br>[0098]而现有技术在进行数据抢救时需要暂停分布式文件系统的业务,否则将导致故障盘格式化或业务不一致,并且随着磁盘容量的扩增,故障盘的抢救时间越来越长,从而导致分布式文件系统的业务中断时间也越来越长,降低了分布式文件系统的处理性能。因而,本发明实施例提供的数据抢救方法通过将分布式文件系统的系统数据抢救和业务并行处理,可以提高分布式文件系统的处理性能。
[0099]示例性的,若文件服务器业务磁盘池中的业务磁盘包括32块磁盘,校验磁盘数量为4,且磁盘1、2、3、4已发生故障,当第5块盘例如磁盘5发生故障时,分布式文件系统会丢失系统数据。因而当磁盘5出现故障时,文件服务器可以将故障盘磁盘5中的数据抢救至新磁盘33中,并将新磁盘33加入抢救磁盘池,文件服务器将新磁盘33中的数据拷贝至业务磁盘池中的非故障磁盘中,从而根据业务磁盘池中的非故障磁盘中的数据抢救分布式文件系统的系统数据。
[0100]此外,参见图11,当进行故障盘的数据抢救的文件服务器和进行分布式系统的系统数据抢救的文件服务器不在同一物理地点时,不便于将新磁盘插入不在同一物理地点的其它文件服务器从而进行系统数据抢救,因而在步骤103之后,本发明实施例提供的方法还可以包括:
[0101]106、文件服务器将新磁盘中的数据发送给其它文件服务器。
[0102]在将故障盘的数据抢救至新磁盘之后,文件服务器还可以将新磁盘中的数据通过网络发送给其它文件服务器,以便于通过其它物理地点的其它文件服务器进行分布式文件系统的系统数据抢救。
[0103]另外,当进行故障盘的数据抢救的文件服务器和进行分布式系统的系统数据抢救的文件服务器不在同一物理地点,且已通过其它文件服务器完成了故障盘的数据抢救时,其它文件服务器还可以将已抢救的故障盘中的数据通过网络发送给当前文件服务器,以通过当前文件服务器业务磁盘池中的业务磁盘接收该数据,从而抢救分布式文件系统的系统数据。因而,参见图12,本发明实施例提供的数据抢救方法还可以包括:
[0104]107、文件服务器接收其它文件服务器发送的数据。
[0105]108、文件服务器将数据保存至业务磁盘池中的业务磁盘。
[0106]需要说明的是,文件服务器通过步骤107-108接收其它文件服务器发送的数据,并将接收到的数据保存至业务磁盘池中的业务磁盘,从而抢救分布式文件系统中的系统数据,与该同一文件服务器通过步骤101-106进行故障盘的数据抢救,并没有明确的先后关系O
[0107]本发明实施例提供一种数据抢救方法,在需要抢救故障盘中的数据时,通过在新磁盘中创建管理元数据,并将故障盘中的节点数据块拷贝至新磁盘,而后将从故障盘拷贝至新磁盘的节点数据块挂载到新磁盘的管理元数据上,从而恢复故障盘中的数据,因而避免了现有技术中复杂的文件解析过程,提高了故障盘的抢救速度。因此,能够解决现有技术中在将故障盘中的数据拷贝到新磁盘时,由于需要进行文件解析使得拷贝速度慢,从而导致故障盘抢救速度慢的问题。
[0108]实施例2
[0109]参见图13,当进行故障盘的数据抢救和分布式系统的系统数据抢救的文件服务器不是同一文件服务器,且进行故障盘数据抢救的第一文件服务器和进行分布式系统的系统数据抢救的第二文件服务器不在同一物理地点时,本发明实施例提供的一种数据抢救方法,可以包括:
[0110]201、当需要抢救故障盘中的数据时,第一文件服务器在新磁盘中创建管理元数据,管理元数据为新磁盘的管理信息。
[0111]202、第一文件服务器将故障盘中的节点数据块拷贝至新磁盘,节点数据块包括目录数据块或文件数据块。
[0112]203、第一文件服务器将从故障盘拷贝至新磁盘的节点数据块挂载到新磁盘的管理元数据上。
[0113]其中,步骤201-203的具体描述可以参见实施例1中的步骤101-103,这里不再赘述。
[0114]204、第一文件服务器将新磁盘中的数据发送给第二文件服务器。
[0115]第一文件服务器将故障盘的数据抢救至新磁盘后,可以通过网络将新磁盘中的数据发送给不在同一物理地点的第二文件服务器,以通过第二文件服务器进行分布式文件系统的系统数据抢救。
[0116]205、第二文件服务器接收第一文件服务器发送的数据。
[0117]第二文件服务器接收第一文件服务器发送的第一文件服务器的新磁盘中的数据。
[0118]206、第二文件服务器将数据保存至业务磁盘池中的业务磁盘。
[0119]其中,步骤205和步骤206的描述具体可以参见实施例1中的步骤107和步骤108,这里不再赘述。
[0120]本发明实施例提供一种数据抢救方法,在需要抢救故障盘中的数据时,通过在新磁盘中创建管理元数据,并将故障盘中的节点数据块拷贝至新磁盘,而后将从故障盘拷贝至新磁盘的节点数据块挂载到新磁盘的管理元数据上,从而恢复故障盘中的数据,因而避免了现有技术中复杂的文件解析过程,提高了故障盘的抢救速度。因此,能够解决现有技术中在将故障盘中的数据拷贝到新磁盘时,由于需要进行文件解析使得拷贝速度慢,从而导致故障盘抢救速度慢的问题。
[0121]实施例3
[0122]本发明实施例提供一种文件服务器300,参见图14,该文件服务器300可以包括:
[0123]创建单元301,用于当需要抢救故障盘中的数据时,在新磁盘中创建管理元数据,管理元数据为新磁盘的管理信息。
[0124]拷贝单元302,用于将故障盘中的节点数据块拷贝至新磁盘,节点数据块包括目录数据块或文件数据块。
[0125]挂载单元303,用于将从故障盘拷贝至新磁盘的节点数据块挂载到新磁盘的管理元数据上。
[0126]其中,文件服务器300是分布式文件系统中进行磁盘管理的服务器,可以用于抢救其管理的故障盘中的数据,进行分布式文件将其管理的故障盘的数据抢救至新磁盘,还可以为用户提供正常业务处理。
[0127]本发明实施例提供的文件服务器300由于不需要根据故障盘中的管理元数据进行文件解析,从而将故障盘中的数据拷贝至新磁盘,因而避免了现有技术中复杂的文件解析过程,提高了故障盘的抢救速度。
[0128]其中,管理元数据可以包括根目录信息和磁盘管理信息。
[0129]节点数据块可以包括描述符和数据内容,描述符占用的存储空间为预设字节数,描述符包括起始标识和第一字节数,起始标识位于描述符的头部,用于指示节点数据块的起始位置,第一字节数用于指示数据内容占用的字节数量。
[0130]拷贝单元302可以具体用于:
[0131]在故障盘中查找起始标识;
[0132]从描述符的头部开始,将预设字节数的描述符和第一字节数的数据内容拷贝至新磁盘。
[0133]其中,描述符可以为索引节点inode,起始标识可以为魔数字。
[0134]此外,参见图15,文件服务器300还可以包括:
[0135]第一处理单元304,可以用于将新磁盘加入抢救磁盘池;
[0136]拷贝单元302还可以用于,将新磁盘中的数据拷贝至业务磁盘池中的业务磁盘。
[0137]另外,参见图16,文件服务器300还可以包括:
[0138]发送单元305,可以用于将新磁盘中的数据发送给其它文件服务器。
[0139]进一步地,参见图17,文件服务器300还可以包括:
[0140]接收单元306,可以用于接收其它文件服务器发送的数据;
[0141]第二处理单元307,可以用于将接收单元306接收的数据保存至业务磁盘池中的业务磁盘。
[0142]在本发明实施例提供的文件服务器300中,数据抢救模块只能管理抢救磁盘池中的磁盘,而不能管理业务磁盘池中的磁盘,且业务数据模块只能管理业务磁盘池中的磁盘,而不能管理抢救磁盘池中的磁盘,即抢救磁盘池和业务磁盘池是相互隔离的,因而分布式文件系统的系统数据抢救和业务也是并行的,互不干扰。
[0143]本发明实施例提供一种文件服务器,在需要抢救故障盘中的数据时,通过在新磁盘中创建管理元数据,并将故障盘中的节点数据块拷贝至新磁盘,而后将从故障盘拷贝至新磁盘的节点数据块挂载到新磁盘的管理元数据上,从而恢复故障盘中的数据,因而避免了现有技术中复杂的文件解析过程,提高了故障盘的抢救速度。因此,能够解决现有技术中在将故障盘中的数据拷贝到新磁盘时,由于需要进行文件解析使得拷贝速度慢,从而导致故障盘抢救速度慢的问题。
[0144]实施例4
[0145]本发明实施例提供一种文件服务器400,参见图18,该文件服务器400可以包括处理器401、存储器402和总线403,其中,该总线403用于连接处理器401和存储器402,该存储器402用于存储指令和数据,该处理器401执行该指令用于当需要抢救故障盘中的数据时,在新磁盘中创建管理元数据,管理元数据为新磁盘的管理信息,将故障盘中的节点数据块拷贝至新磁盘,节点数据块包括目录数据块或文件数据块,并将从故障盘拷贝至新磁盘的节点数据块挂载到新磁盘的管理元数据上。
[0146]这里的文件服务器400是分布式文件系统中进行磁盘管理的服务器,
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1