信息处理系统中的故障恢复方法和信息处理系统与流程

文档序号:11133774 阅读:1291 来源:国知局
信息处理系统中的故障恢复方法和信息处理系统与制造工艺

本申请是国际申请号为PCT/JP2010/007254、国际申请日为2010年12月14日、进入中国国家阶段日期为2013年2月18日、中国国家申请号为201080068637.4的发明专利申请的分案申请。

技术领域

本发明涉及信息处理系统中的故障恢复方法和信息处理系统。



背景技术:

PTL1公开了一种恢复方法,其通过减少恢复所述层级式存储系统所需的时间来恢复高速运行的层级式存储系统。在这个方法中,运行在操作系统上的层级式存储系统包括:第一存储装置,具有:具有包含文件的属性信息的索引节点以及使用索引节点号唯一地标识所述文件的文件系统;以及第二存储装置,其存储包括所述文件系统的备份数据的数据。当通过使用所述第二存储装置中的所述备份数据在所述第一存储装置中复原所述文件系统时,使用包含在所述备份数据中的索引节点号,复原目标文件的所述索引节点号被指定,以便向所述文件系统中的所述复原目标文件分配所述指定的索引节点号。

PTL2公开了一种存储管理(HSM)控制方法,用于控制包括第一存储和第二存储的HSM,以高效地管理HSM中名称空间的备份生成。这个HSM控制方法包括:每次在HSM中执行备份时,创建包含所述备份的生成号的所述生成信息;以及管理名称空间信息历史包括名称空间信息,它是关于HSM中每个文件的名称空间的信息,以及包括通过使用在所述生成信息创建步骤中创建的所述生成号用有效名称空间信息表明生成号的范围的有效生成号范围。

引用列表

专利文献

PTL1:日本专利申请公开号2005-316708

PTL2:日本专利申请公开号2008-040699



技术实现要素:

技术问题

在一个信息处理系统中,在一些情况下,使用在数据中心等处提供的备份装置来管理在公司的分公司、营业部等处提供的信息装置的数据的备份。当信息装置中发生故障时,只有在备份装置中全部备份数据在信息装置中被复原以用于信息装置的服务在信息装置恢复之后重启。因此,在例如备份数据的尺寸大的情况下,服务重启可能需要很长时间,由此用户的工作等可能会受其影响。

本发明是在这种背景下做出的,本发明的主要目的是提供一种信息处理系统中的故障恢复方法和一种信息处理系统,其能够在故障恢复时迅速地重启服务。

问题的解决方案

本发明用于实现该目的的一个方面是一种信息处理系统中的故障恢复方法,包括:第一服务器系统,包括第一文件系统并且接收数据I/O请求,以及第二服务器系统,包括第二文件系统并且可通信地耦合到所述第一服务器系统,其中所述第一服务器系统将作为所述数据I/O请求目标的文件的数据存储在第一存储装置中,所述第二服务器系统将作为所述数据I/O请求目标的文件的数据存储在第二存储装置中,所述第一服务器系统向所述第二服务器系统传送存储在所述第一存储装置中的文件的数据,以及所述第二服务器系统将从所述第一服务器传送的数据存储在所述第二存储装置中,所述方法包括:在所述第一服务器系统在从故障中恢复的时刻开始接收所述数据I/O请求之前,所述第二服务器系统向所述第一服务器系统发送存储于所述第二存储装置中的目录映像中的最高级层到预定较低级层的目录的目录映像;当在所述第一存储装置中复原从所述第二服务器系统传送的所述目录映像之后,所述第一服务器系统恢复对所述数据I/O请求的所述接收;在恢复对所述数据I/O的所述接收之后,所述第一服务器系统向所述第二服务器系统请求在所述目录映像在所述第一存储装置中未被复原时处理和接收数据I/O请求所需的目录映像;所述第二服务器系统根据从所述第一服务器系统发送的所述请求从所述第二存储装置读取所述目录映像并且将所述目录映像传送给所述第一服务器系统;以及所述第一服务器系统基于从所述第二存储装置传送的所述目录映像来执行对所述数据I/O请求的处理,并且在所述第一存储装置中复原所述目录映像。

在实施方式和图的说明部分中本申请公开的其他问题和解决方案将变得更明白。

发明的有利效果

根据本发明,服务可以在故障恢复时被迅速重启。

附图说明

[图1]图1是示出了信息处理系统1的示意性配置的框图;

[图2]图2是客户端装置2的硬件的示例;

[图3]图3是可用作第一服务器系统3a或第二服务器系统3b的

信息处理装置2的硬件的示例;

[图4]图4是第一存储装置10a或第二存储装置10b的硬件的示例;

[图5]图5是通道板11的硬件的示例;

[图6]图6是处理器板12的硬件的示例;

[图7]图7是驱动器板13的硬件的示例;

[图8]图8是示出了存储装置10的基本功能的框图;

[图9]图9是阐释写处理S900的流程图;

[图10]图10是阐释读取处理S1000的流程图;

[图11]图11是示出客户端装置2提供的主要功能的框图;

[图12]图12是示出了第一服务器系统3a提供的主要功能以及第一服务器系统3a中管理的主要信息(数据)的框图;

[图13]图13是复制信息管理表331的示例;

[图14]图14是文件访问日志335的示例;

[图15]图15是示出了第二服务器系统3b提供的主要功能以及第二服务器系统3b中管理的主要信息(数据)的框图;

[图16]图16是复原日志365的示例;

[图17]图17是抑制标志管理表366的示例;

[图18]图18是撤回日志367的示例;

[图19]图19示出了索引节点的框图;

[图20]图20是示出了索引节点的概念的框图;

[图21]图21是示出了索引节点的概念的框图;

[图22]图22是一般索引节点管理表1912的示例;

[图23]图23是本实施方式的索引节点管理表1912的示例;

[图24]图24是示出了复制开始处理S2400的框图;

[图25]图25是示出了清除候选选择处理S2500的框图;

[图26]图26是示出了清除处理S2600的框图;

[图27]图27是示出了复制文件更新处理S2700的框图;

[图28]图28是示出了复制文件参考处理S2800的框图;

[图29]图29是示出了同步处理S2900的框图;

[图30]图30是示出了元数据访问处理S3000的框图;

[图31]图31是示出了已清除文件实体参考处理S3100的框图;

[图32]图32是示出了已清除文件实体更新处理S3200的框图;

[图33]图33是示出了虚拟机恢复处理S3300的框图;

[图34]图34是示出了目录映像提前复原处理S3400的框图;

[图35]图35是示出了按需复原处理S3500的框图;

[图36]图36是示出了如何在第一存储装置10a中逐步恢复目录映像的框图;

[图37]图37是示出了按需复原处理(包括复原目标的添加)S3700的框图;

[图38]图38是示出了再清除避免处理S3800的框图;

[图39]图39是示出了复制开始处理S2400的细节的流程图;

[图40]图40是示出了清除候选选择处理S2500的细节的流程图;

[图41]图41是示出了清除处理S2600的细节的流程图;

[图42]图42是示出了复制文件更新处理S2700的细节的流程图;

[图43]图43是示出了复制文件参考处理S2800的细节的流程图;

[图44]图44是示出了同步处理S2900的细节的流程图;

[图45]图45是示出了元数据访问处理S3000的细节的流程图;

[图46]图46是示出了已清除文件实体参考处理S3100的细节的流程图;

[图47]图47是示出了已清除文件实体更新处理S3200的细节的流程图;

[图48]图48是示出了虚拟机恢复处理S3300以及目录映像提前恢复处理S3400的细节的流程图;

[图49]图49是示出了按需复原处理S3500的细节的流程图;

[图50]图50是示出了按需复原处理(包括添加复原目标)S3700的细节的流程图;

[图51]图51是示出了按需复原处理(包括复原目标的添加)S3700的细节的流程图(从图50继续);

[图52]图52是示出了再清除避免处理S3800的细节的流程图。

具体实施方式

此后,结合附图描述本发明的实施方式。

图1示出了被描述为实施方式的信息处理系统1的示意性配置。如图1所示,作为本实施方式的示例的信息处理系统1包括在贸易公司的分公司和营业部、电器制造厂等用户实际执行业务的场所(此后,称为边缘50)处提供的硬件,以及在诸如管理信息处理系统(应用服务器/存储系统等)或提供云服务的数据中心处(此后,称为核心51)提供的硬件。

如图1所示,边缘50包括第一服务器系统3a、第一存储装置10a和客户端装置2。核心51包括第二服务器系统3b和第二存储装置10b。

提供在边缘的第一服务器系统3a例如是包括文件系统的文件存储装置,其向边缘处提供的客户端装置2提供对每个文件数据的管理功能。提供在核心的第二服务器系统3b例如是存档装置,其充当提供在边缘的第一存储装置10a的数据档案(库)。

如图1所示,客户端装置2和第一服务器系统3a通过通信网络5通信地耦合。而且,第一服务器系统3a和第一存储装置10a通过第一存储网络6a通信地耦合。而且,第二服务器系统3b和第二存储装置10b通过第二存储网络6b通信地耦合。而且,第一服务器系统3a和第二服务器系统3b通过通信网络7通信地耦合。

通信网络5和通信网络7例如是LAN(局域网)、WAN(广域网)、因特网、公共通信网络、专线等。第一存储网络6a和第二存储网络6b例如是LAN、WAN、SAN(存储区域网络)、因特网、公共通信网络、专线等。

根据例如TCP/IP、iSCSI(因特网小型计算机系统接口)、光纤通道协议、FICON(光纤连接)(注册商标)、ESCON(企业其他连接)(注册商标)、ACONARC(先进连接架构)(注册商标)、FIBARC(光纤连接架构)(注册商标)等协议,通过通信网络5、通信网络7、第一存储网络6a或第二存储网络6b执行通信。

客户端装置2是使用第一存储装置10a通过第一服务器系统3a提供的存储区域的信息处理装置(计算机),并且例如是个人计算机、办公计算机等。在客户端装置2中,例如文件系统和内核以及由软件模块实现的驱动程序的操作系统以及应用等被操作。

图2示出客户端装置2的硬件。如图2所示,客户端装置2包括CPU21、易失或非易失存储器22(RAM或ROM)、存储设备23(例如,硬盘驱动器、半导体存储器(SSD(固态驱动器))、输入设备24例如键盘和鼠标、输出设备25例如液晶显示器和打印机,以及网络接口(此后,网络I/F26)例如NIC(网络接口卡)(此后,LAN适配器261)。

第一服务器系统3a是通过利用第一存储装置10a提供的存储区域为客户端装置2提供信息处理服务的信息装置。第一服务器系统3a包括个人计算机、大型机、办公计算机等。当访问第一存储装置10a提供的存储区域时,第一服务器系统3a通过第一存储网络6a向第一存储装置10a传送包含数据I/O请求(数据写请求、数据读取请求等)的数据帧(此后简称为帧)。帧例如是光纤通道帧(FC帧(FC:光纤通道))。

第二服务器系统3b是通过利用第二存储装置10b提供的存储区域执行信息处理的信息装置。第二服务器系统3b包括个人计算机、大型机、办公计算机等。当访问第二存储装置10b提供的存储区域时,第二服务器系统3b通过第二存储网络6b向第二存储装置10b传送包含数据I/O请求的帧。

图3示出第一服务器系统3a的硬件。如图3所示,第一服务器系统3a包括CPU31、易失或非易失存储器32(RAM或ROM)、存储设备33(例如,硬盘驱动器、半导体存储器(SSD)、输入设备34例如键盘和鼠标、输出设备35例如液晶显示器和打印机,以及网络接口(此后,网络I/F 36)例如NIC(此后,LAN适配器361)以及HBA(此后,FC适配器362),以及使用定时电路、RTC等配置的定时器37。存在于核心侧的第二服务器系统3b也具有与第一服务器系统3a相同或相似的硬件配置。

图4示出第一存储装置10a的硬件。第一存储装置10a例如是盘阵列装置。存在于核心侧的第二存储装置10b也具有与第一存储装置10a相同或相似的硬件配置。存储装置10接收从服务器系统3(第一服务器系统3a或第二服务器系统3b,以下同样适用)传送的数据I/O请求,以及响应于接收的数据I/O请求,访问存储介质并向服务器系统3传送数据或响应。

如图4所示,存储装置10包括至少一个通道板11,至少一个处理器板12(微处理器)、至少一个驱动器板13、高速缓存存储器14、共享存储器15、内部开关16、存储设备17和服务处理器(SVP)18。通道板11、处理器板12、驱动器板13、高速缓存存储器14和共享存储器15通过内部开关16相互通信地耦合。

通道板11接收从服务器系统3传送的帧,并且针对包含在所接收帧中的数据I/O请求向服务器系统3a发送包含过程(例如,读数据、读完成报告或写完成报告)的响应的帧。

响应于上述包含在通道板11接收的帧中的数据I/O请求,处理器板12在通道板11、驱动器板13和高速缓存存储器14之间执行数据传输的处理(使用直接存储器访问(DMA)等的高速大容量数据传输)。处理器板12在通道板11和驱动器板13之间执行数据(从存储设备17读取的或要写到存储设备17中的数据)传输(递送),并且对将要存储在高速缓存存储器14中的数据进行分级(从存储设备17读取的数据)和解分级(写入存储设备17的数据)。

使用能够高速访问的RAM(随机访问存储器)配置高速缓存存储器14。高速缓存存储器14中存储要写到存储设备17中的数据(此后,称为写数据)、从存储设备17读取的数据(此后,称为读数据)等等。共享存储器15中存储用于控制存储装置10的各种信息。

当从存储设备17读取数据或向存储设备17写数据时,驱动器板13与存储设备17执行通信。使用例如高速交叉开关配置内部开关16。例如,根据协议例如光纤通道、iSCSI、TCP/IP等执行通过内部开关16的通信。

存储设备17包括多个存储驱动器171。每个存储驱动器171例如是硬盘驱动器、半导体存储设备(SSD)或者例如SAS(串行连接SCSI)、SATA(串行ATA)、FC(光纤通道)、PATA(并行ATA和SCSI等类型。

存储设备17为服务器系统3提供以逻辑存储区域为单位的存储设备17的存储区域,这些逻辑存储区域是通过根据例如RAID(冗余廉价(或独立)磁盘阵列)等方法来控制存储驱动器171而提供的。逻辑存储区域是例如包括RAID组(校验组)的逻辑设备(LDEV172,(LDEV:逻辑设备))。

存储装置10为服务器系统3提供使用LDEV 172而配置的逻辑存储区域(此后,称为LU(逻辑单元或逻辑卷))。存储装置10管理LU和LDEV 172之间的对应(关系)。基于对应关系,存储装置10标识对应于LU的LDEV 172或标识对应于LDEV 172的LU。

图5示出每一通道板11的硬件配置。如图5所示,通道板11包括具有用于与服务器系统3通信的端口(通信端口)的外部通信接口(此后,称为外部网络I/F 111)、处理器112(包括帧处理芯片和帧传输芯片)、存储器113和包括用于与处理器板12通信的端口(通信端口)的内部通信接口(此后,称为内部网络I/F 114)。

使用NIC(网络接口卡)、HBA(主机总线适配器)等来配置外部网络I/F 111。使用CPU(中央处理单元)、MPU(微处理单元)等来配置处理器112。存储器113是RAM(随机访问存储器)或ROM(只读取存储器)。存储器113中存储微程序。当处理器112读取和执行存储在存储器113中的上述微程序时,通道板11提供的多种功能被实现。内部网络I/F 114与处理器板12、驱动器板13、高速缓存存储器14和共享存储器15通过内部开关16通信。

图6示出了处理器板12的硬件配置。处理器板12包括内部网络接口(此后,称为内部网络I/F 121)、处理器122和存储器123(本地存储器),其中来自处理器122的访问性能高于共享存储器15(即,对其高速访问是可能的)。存储器123中存储微程序。当处理器122读取和执行存储在存储器123中的微程序时,存储器板12提供的多种功能被实现。

内部网络I/F 121与通道板11、驱动器板13、高速缓存存储器14和共享存储器15通过内部开关16通信。使用CPU、MPU、DMA(直接存储器访问)等配置处理器122。存储器123是RAM或ROM。处理器122可访问存储器123和共享存储器15。

图7示出驱动器板13的硬件配置。驱动器板13包括内部通信接口(此后,称为内部网络I/F 131)、处理器132、存储器133和驱动器接口(此后,称为驱动器I/F 134)。存储器133中存储微程序。当处理器132读取和执行存储在存储器133中的微程序时,驱动器板13提供的多种功能被实现。内部网络I/F 131与通道板11、处理器板12、高速缓存存储器14和共享存储器15通过内部开关16通信。使用CPU、MPU等配置处理器132。存储器133例如是RAM或ROM。驱动器I/F 134与存储设备17通信。

图4中所示的维护设备18执行存储装置10的组件的控制和状态监测。维护设备18是个人计算机、办公计算机等。维护设备18按需要通过例如内部开关16、LAN等通信装置与存储装置10的组件例如通道板11、处理器板12、驱动器板13、高速缓存存储器14和共享存储器15、内部开关16等通信,以便从组件获得操作信息等并且为管理装置19提供信息。此外,维护设备18根据从管理装置19传送的控制信息和操作信息来执行组件的设置、控制和维护(包括软件安装和更新)。

管理装置19是通过LAN等通信地耦合到维护设备18的计算机。管理装置19包括使用GUI(图形用户界面)和CLI(命令行界面)用于控制和监测存储装置10的用户界面。

图8示出存储装置10的基本功能。如图8所示,存储装置10包括I/O处理单元811。I/O处理单元811包括:执行有关写到存储设备17的处理的数据写处理单元8111,以及执行有关从存储设备17读取数据处理的数据读取处理单元8112。

当存储在存储器113、123和133中的微程序分别被处理器112、122和132读取和执行时,I/O处理单元811的功能由包括在存储装置10的通道板11、处理器板12和驱动器板13中的硬件实现。

图9是阐释当存储装置1(第一存储装置10a或第二存储装置10b,以下同样适用)接收包括来自服务器3(第一服务器系统3a或第二服务器系统3b)的数据写请求的帧时,I/O处理单元811的数据写处理单元8111执行的基本处理(此后,称为写处理S900)的流程图。在下文中,结合图9说明写处理S900。注意,在下文说明中,数字前缀的字母“S”表明处理的步骤。

如图9所示,首先,从服务器系统3传送的数据写请求的帧被存储装置10的通道板11接收(S911、S912)。

通道板11在从服务器系统3接收到包括数据写请求的帧时将该接收通知给处理器板12(S913)。

处理器板12在从通道板11接收上述通知时(S921),基于帧的数据写请求产生驱动器写请求,在高速缓存存储器14中存储写数据,并且利用对上述通知的确认对通道板11做出响应(S922)。处理器板12向驱动器板13传送产生的驱动器写请求(S923)。

通道板11在从处理器板12接收上述响应时向服务器系统3传送完成报告(S914),并且服务器系统3从通道板11接收完成报告(S915)。

驱动器板13在从处理器板12接收驱动器写请求时,将接收的驱动器写请求登记到用于写处理的队列(S924)。

驱动器板13按需要从用于写处理的等待队列读取驱动器写请求,从高速缓存存储器14读取在读取驱动器写请求中指定的写数据,并且将所读取的写数据写到存储设备(存储驱动器171)中(S926)。然后驱动器板13将表明响应于驱动器写请求已完成对写数据的写入的报告(完成报告)通知给处理器板12(S927)。

处理器板12接收从驱动器板13传送的完成报告(S928)。

图10是图示当存储装置10从服务器系统3接收包括数据读取请求的帧时,存储装置10中I/O处理单元811的数据读取处理单元8112执行的I/O处理(此后,读取处理S1000)的流程图。下面参考图10说明读取处理S1000。

如图10所示,首先,从服务器3传送的帧被存储装置10的通道板11接收(S1011,S1012)。

当从服务器系统3接收包括数据读取请求的帧时,通道板11通知处理器板12以及驱动器板13接收(S1013)。

在从通道板11(S1014)接收通知时,驱动器板13读取数据来自存储设备(存储驱动器171)的帧中的数据读取请求指定的数据(例如,用LBA(逻辑块地址)指定的数据)(S1015)。当读数据存在于高速缓存存储器14中时(即,在高速缓存命中的情况下),来自存储设备17的读取处理(S1015)被省略。

处理器板12将驱动器板13读取的数据写到高速缓存存储器14中(S1016)。处理器板12将写到高速缓存存储器14中的数据按需要传输到通道板11(S1017)。

当接收按需要从处理器板12传送的读取数据时,通道板11按顺序向服务器系统3传送读数据(S1018)。当读数据的传送完成时,通道板11向服务器系统3传送完成报告(S1019)。服务器系统3接收读取数据和完成报告(S1020,S1021)。

图11示出客户端装置2的主要功能。如图11所示,客户端装置2提供应用211、文件系统212和内核/驱动程序213的功能。当存储在存储器22和存储设备23中的程序被客户端装置2的CPU 21读取和执行时,这些功能被实现。

文件系统212为客户端装置2提供与以文件为基础或以目录为基础而去往和来自逻辑卷(LU)的I/O有关的功能。文件系统213例如基于FAT(文件分配表)、NTFS、HFS(层级式文件系统)、ext2(第二扩展文件系统)、ext3(第三扩展文件系统)、ext4(第四扩展文件系统)、UDF(统一光盘格式)、HPFS(高性能文件系统)、JFS(日志文件系统)、UFS(Unix文件系统)、VTOC(内容卷表)、XFS等。

通过执行构成操作系统的软件的内核模块和驱动程序模块,实现内核/驱动程序213。内核模块包括用于实现操作系统的基本功能的程序,例如针对客户端装置2中执行的软件而处理管理、处理调度、管理存储区域、处理来自硬件的中断请求,等等。驱动程序模块包括如下程序,内核模块利用该程序与构成客户端装置2的硬件以及当与客户端装置2耦合时使用的外围设备执行通信。

图12图示了第一服务器系统3a的主要功能和第一服务器系统3a中管理的主要信息(数据)。如图12所示,在第一服务器系统3a中,实现了提供虚拟环境的虚拟化控制单元305和在虚拟化控制单元305的控制下工作的至少一个虚拟机310。

在每个虚拟机310中,文件共享处理单元311、文件系统312、数据操作请求接收单元313、数据复制/迁移处理单元314、文件访问日志获取单元317和内核/驱动程序318的功能被实现。

通过操作系统介入在第一服务器系统3a与虚拟化控制单元305之间的所谓主机OS类型的方法或者通过操作系统不介入在第一服务器系统3a与虚拟化控制单元305之间的管理程序类型的方法,可以实现虚拟环境。数据操作请求接收单元313、数据复制/迁移处理单元314和文件访问日志获取单元317的功能可被实现为文件系统312的功能或与文件系统312无关的功能。

如图12所示,虚拟机310管理信息(数据),例如复制信息管理表331、文件访问日志335等。这种信息从第一存储10a被读取到第一服务器系统3a,并且按需要被存储在第一服务器系统3a的存储器32和存储设备33中。

在图12所示功能中,文件共享处理单元311为客户端装置2提供可共享文件的环境。文件共享处理单元311提供例如在NFS(网络文件系统)、CIFS(通用因特网文件系统)、AFS(Andrew文件系统)等的协议中指定的功能。

文件系统312为客户端装置2提供与去往和来自第一存储装置10a提供的逻辑卷(LU)管理的文件(或目录)的I/O有关的功能。文件系统312例如基于FAT(文件分配表)、NTFS、HFS(层级式文件系统)、ext2(第二扩展文件系统)、ext3(第三扩展文件系统)、ext4(第四扩展文件系统)、UDF(统一光盘格式)、HPFS(高性能文件系统)、JFS(日志文件系统)、UFS(Unix文件系统)、VTOC(内容卷表)、XFS等。

数据操作请求接收单元313接收与从客户端装置2传送的数据的操作的请求(此后,称为数据操作请求)。数据操作请求包括复制开始请求、对复制文件的更新请求、对复制文件的参考请求、同步请求、对元数据的访问请求、对文件实体的参考请求、撤回请求、对已清除文件实体的更新请求等,其在后面说明。

已清除(stubbed)表示文件(或目录)中数据的元数据被保留在第一存储装置10a中,但是文件(或目录)中数据的实体仅保留在第二存储装置10b中且不由第一存储装置10a所管理。当第一服务器系统3a接收数据I/O请求使得需要已清除文件(或已清除目录)的实体时,从第二存储装置10b向第一存储装置10a传送(写回,此后称为撤回)该文件(或目录)的实体。

在下文描述的复制开始处理S2400、清除候选选择处理S2500、同步处理S2900、清除文件实体参考处理S3100、清除文件实体更新处理S3200、虚拟机恢复处理S3300、目录映像提前复原处理S3400、按需复原处理(包括复原目标的添加)S3700、再清除避免处理S3800等中,数据复制/迁移处理单元314传送和接收控制信息(包括标志和表)并且在第一服务器系统3a和第二服务器系统3b之间或在第一存储装置10a和第二存储装置10b之间传输数据(包括元数据和文件的实体),并且管理各种表,包括复制信息管理表331、元数据332等。

通过执行形成操作系统的软件的内核模块和驱动程序模块实现图12所示的内核/驱动程序。内核模块包括用于实现操作系统的基本功能的程序,例如针对第一服务器系统3a中执行的软件而处理管理、处理调度、管理存储区域、处理来自硬件的中断请求,等等。驱动程序包括用于允许内核模块与配置第一服务器系统3a的硬件以及被耦合到第一服务器系统3a时使用的外围设备通信的程序。

当存储在存储装置10的逻辑卷(LU)中的文件被访问(文件被更新(写,更新)),文件被读取(读取)、文件被打开(打开),文件被关闭(关闭)等)时,在对信息添加时间戳之后,图12所示的文件访问日志获取单元317存储表示访问的细节(历史)的信息(此后,称为访问日志)作为文件访问日志335,时间戳基于从定时器37获得的日期/时间信息。

图13示出复制信息管理表331的示例。如图13所示,用作复制目的地(例如,网络地址例如IP地址等)的主机名称3311以及用于确定是否执行清除的阈值3312(后面说明的清除阈值)被设置在复制信息管理表331中。

图14示出文件访问日志335的示例。如图所示,在文件访问日志335中,记录有由一个或多个记录形成的访问日志,每个记录包括如下项:访问日期3351、文件名3352和用户ID 3353。

在这些项中,文件(或目录)何时被访问的日期/时间被设置在访问日期3351中。要访问的目标文件(或目录)的文件名(或目录名)被设置在文件名3352中。访问文件(或目录)的用户的用户ID被设置在用户ID 3353中。

图15示出对第二服务器系统3b提供的主要功能以及在第二服务器系统3b中管理的主要信息(数据)。如图所示,第二服务器系统3b包括文件共享处理单元351、文件系统352、数据复制/迁移处理单元354和内核/驱动程序358的功能。数据复制/迁移处理单元354的功能可被实现为文件系统352的功能,或可与文件系统352无关地被实现。

如图15所示,第二服务器系统3b管理复原日志365、抑制标志管理表366、撤回日志367和文件访问日志368。

文件共享处理单元351为第一服务器系统3a提供共享文件的环境。通过使用例如协议例如DFS、CIFS和AFS实现文件共享处理单元351。

文件系统352使用第二存储装置10b提供的逻辑卷(LU),并且为第一服务器系统3a提供对以文件或目录为单位的逻辑卷(LU)的I/O功能。文件系统352例如是FAT、NTFS、HFS、eXt2、eXt3、eXt4、UDF、HPFS、JFS、UFS、VTOC、XFS等。

数据复制/迁移处理单元354执行与第一存储装置10a和第一存储装置10b之间数据的复制和迁移有关的处理。

通过执行形成操作系统的软件的内核模块和驱动程序模块实现内核/驱动程序358。内核模块包括用于实现操作系统的基本功能的程序,例如针对第二服务器系统3b中执行的软件而处理管理、处理调度、存储区域管理、处理来自硬件的中断请求等。驱动程序包括用于允许内核模块与配置第二服务器系统3b的硬件以及被耦合到第二服务器系统3b时使用的外围设备通信的程序。

图16示出复原日志365的示例。在复原日志365中,当要在下文描述的目录映像的复原已被执行时,与复原有关的处理的内容被第一服务器系统3a或第二服务器系统3b记录。如图16所示,复原日志365包括至少一个包括日期/时间3651、事件3652和复原目标文件3653的记录。

有关复原的事件何时已被执行的日期和时间被设置在日期/时间3651中。表明执行的事件内容的信息(复原开始、复原执行等)被设置在事件3652中。标识复原目标文件(或目录)的信息(路径名、文件名(或目录名)等)被设置在复原目标文件3653中。

图17示出了抑制标志管理表366的示例。抑制标志管理表366的内容被第二服务器系统3b管理。如图17所示,抑制标志管理表366管理下文将要描述的再清除避免处理S3800中使用的抑制标志3661以及抑制标志3661的最后更新日期/时间3662。

图18示出撤回日志367的示例。撤回日志367的内容由第二服务器系统3b产生。撤回日志367管理第二服务器系统3b已从第一服务器系统3a接收的撤回请求的历史。如图18所示,撤回日志367包括至少一个具有日期/时间3671和撤回目标文件3672的记录。撤回请求何时被接收的日期和时间被设置在日期/时间3671中。标识在接收的撤回请求中指定的撤回目标文件(或目录)的信息(路径名、文件名等)被设置在撤回目标文件3672中。

第二服务器系统3b管理的文件访问日志368的内容基本与第一服务器系统3a中的文件访问日志335的内容匹配。通过按需要从第一服务器系统3a向第二服务器系统3b通知文件访问日志335的内容保证二者之间的一致性。

接下来,详细描述为第一服务器系统3a提供的文件系统312(对第二服务器系统3b提供的文件系统352的细节是相同的)。

图19图示了文件系统312在逻辑卷(LU)中管理的数据的示范结构(此后,文件系统结构1900)。如图19所示,文件系统结构1900包括存储区域:超级块1911;索引节点管理表1912;以及存储文件的实体(数据)的数据块1913。

在这些之中,超级块1911中存储有关文件系统312的信息(文件系统管理的存储区域的容量、使用的量、开放容量等)。超级块1911原则上为每个盘分区(在逻辑卷(LU)上设置的分区)而提供。存储在超级块1911中的上述信息的具体示例包括分区中数据块的数目、块大小、开放块的数目、开放索引节点的数目、分区的安装数目、距最近的一致性检查经过的时间。

索引节点管理表1912中存储存储在逻辑卷(LU)中的文件(或目录)的管理信息(此后,称为索引节点)。文件系统312通过将一个文件(或目录)与一个索引节点进行关联来执行管理。仅包括有关目录的信息的索引节点称为目录条目。在访问文件时,参考目录条目访问访问目标文件的数据块。例如,如果文件“/home/user-01/a.txt”被访问,通过按照如图20所示的索引节点号的顺序2->10->15->100顺序地跟踪目录条目,访问目标文件的数据块被访问。

图21示出了一般文件系统中索引节点的概念(例如,对基于UNIX(注册商标)的操作系统提供的文件系统)。而且,图22示出索引节点管理表1912的示例。

如这些图中所示,索引节点包括例如如下的信息:标识个体索引节点的标识符的索引节点号2211、文件(或目录)的所有者2212、为文件(或目录)设置的访问权限2213、文件(或目录)的文件大小2214、文件(或目录)的最后更新日期/时间2215、当索引节点是目录条目时设置的目录的父目录2216,当索引节点是目录条目时设置的目录的子目录2217,以及标识存储文件的数据实体的数据块的信息(此后,称为块地址2218)。

如图23所示,除了图22所示的共同的一般文件系统中的索引节点管理表1912的内容之外,根据本实施方式的文件系统312还管理清除标志231、需要元数据同步标志2312、需要实体同步标志2313、复制标志2314、链接目的地2315以及优先级2316,。

考虑如下情况:通过复制或清除管理的管理,存储在第一存储装置10a中的文件的元数据的复本也被存储(复制)在第二存储装置10b中。这里,当装置之一中的元数据被下文描述的同步处理S2900更新时,更新也被通知到其他装置,从而第一存储装置10a中的元数据和第二存储装置10b中的元数据的内容之间的一致性几乎被实时地保证。

在图23中,表明对应于索引节点的文件(或目录)是否被清除的信息被设置在清除标志2311中。这里,清除表示当文件(或目录)被从第一存储装置10a迁移到第二存储装置10b时,只从迁移源第一存储装置10a删除文件数据的实体被,而文件数据的元数据则不被删除并且被保留在迁移源、即第一存储装置10a中。

注意,术语“清除”(stub)是指在那种情况下被保留在第一存储装置10a中的元数据。清除标志2311在对应于索引节点的文件(或目录)被清除的情况下被设置为开(ON),并且在文件(或目录)未被清除的情况下被设置为关(OFF)。

在需要元数据同步标志2312中设置如下信息,该信息表明在作为复制源的第一存储装置10a的文件(或目录)的元数据与作为复制目的地的第二存储装置10b的文件(或目录)的元数据之间是否需要建立同步(需要使内容相互一致)。需要元数据同步标志2312在需要元数据的同步的情况下被设置为开,并且在不需要同步的情况下被设置为关。

在需要实体同步标志2313中设置如下信息,该信息表明在作为复制源的第一存储装置10a的文件的数据实体与作为复制目的地的第二存储装置10b的文件的数据实体之间是否需要建立同步(需要使内容相互一致)。需要数据实体同步标志2313在需要文件的数据实体的同步的情况下被设置为开,并且在不需要同步的情况下被设置为关。

需要元数据同步标志2312和需要实体同步标志2313按照需要在下文描述的同步处理S2900中被参考。当需要元数据同步标志2312或需要实体同步标志2313中的任何一个被设置为开时,第一存储装置10a的元数据或实体以及第二存储装置10b的元数据或实体(作为其复制)自动地相互同步。

在复制标志2314中设置如下信息,该信息表明对应于索引节点的文件(或目录)当前是否是后面所述复制管理方案的管理目标。如果对应于索引节点的文件当前是复制管理方案的管理目标,复制标志2314设置为开,否则复制标志2314设置为关。

如果对应于索引节点的文件被下文描述的复制管理方案所管理,表明文件的复制目的地的信息(例如,标识存储目的地的路径名、RAID组的标识符、块地址、URL(统一资源定位器),或LU)被设置在链接目的地2315中。

在优先级2316中设置文件的优先级。例如,用客户端装置2通过用户设置优先级2316的内容。优先级2316可被设置以用于负载均衡等目的。

=操作的总体描述=

接下来,说明以上配置的信息处理系统1的操作。

图24示出了当第一服务器系统3a接收开始复制存储在第一存储装置10a中的文件的请求(此后,称为复制开始请求)时,信息处理系统1中执行的处理(此后,称为复制开始处理S2400)的框图。

当从客户端装置2接收复制开始请求时,第一服务器系统3a通过复制指定为请求的目标的文件开始管理。除了通过通信网络5从客户端装置2接收复制开始请求之外,第一服务器系统3a还接收,例如,第一服务器系统3a中内部产生的复制开始请求。

这里,通过复制的管理是这样的一种管理,其中文件中的数据(元数据和实体)在第一存储装置10a和第二存储装置10b中被管理。

在通过复制的管理中,当存储在第一存储装置10a中的文件的实体或元数据被更新时,作为其复本(或档案文件)被管理的第二存储装置10b中的文件的元数据或实体被同步或异步更新。通过通过复制的管理,存储在第一存储装置10a中的文件的数据(元数据或实体)与存储在第二存储装置10b中作为其复本的文件的数据(元数据或实体)之间的一致性被同步或异步地保证(确保)。

第二存储装置10b中的文件的元数据(档案文件)可以作为文件的实体被管理,即使当第一服务器系统3a的文件系统312与第二服务器系统3b的文件系统352之间有规格中的差别时,可以实现通过复制的管理。

如图24所示,当接收复制开始请求(S2411)时,第一服务器系统3a从第一存储装置10a读取在接收的复制开始请求中指定的文件的数据(元数据或实体)并且向第二服务器系统3b传送读取文件的数据(S2412)。

当接收从第一服务器系统3a传送的上述文件的数据时,第二服务器系统3b将接收的数据存储在第二存储装置10b中(S2413)。

在上述传输中,第一服务器系统3a的数据复制/迁移单元314将传输源文件的复制标志314设置为开(S2414)

图25是示出了信息处理系统1中执行的处理以将通过复制的管理管理的且存储在第一存储装置10a中的文件(其复制标志2314设置为开的文件,此后称为复制文件)设置为上述的清除候选(此后,称为清除候选选择处理S2500)的框图。此后,参考图25说明清除候选选择处理S2500。

第一服务器系统3a按照需要监测文件存储区域的空闲容量(实时地、定期地、在预定的定时,等等)。

当分配为对文件系统312的文件存储区域的第一存储装置10a中的存储区域的空闲容量(此后,称为文件存储区域)变成小于预定阈值(此后,称为清除阈值)时,第一服务器系统3a根据预定选择标准从存储在第一存储装置10a中的复制文件中选择清除候选(S2511)。预定选择标准包括,例如,最后更新日期/时间的升序,访问频率的升序等等。

接下来,在选择清除候选之后,第一服务器系统3a将所选的复制文件的清除标志2311设置为开,其复制标志2314设置为关,并且其需要元数据同步标志2312设置为开(S2512)。第一服务器系统3a例如从文件系统312管理的信息中获得文件存储区域的空闲容量。

图26是示出了为当在清除候选选择处理S2500中被选作清除候选的文件实际被清除时信息处理系统1中执行的处理的框图(此后,称为清除处理S2600)。例如,清除处理S2600例如在预定定时(例如,在清除候选选择处理S2500之后)执行。此后,参考图26描述清除处理S2600。

如图26所示,第一服务器系统3a从存储在第一存储装置10a的文件存储区域中的文件中选择至少一个选作清除候选(其清除标志2311设置为开的文件)文件(S2611)。

然后,第一服务器系统3a从第一存储装置10a删除提取的文件的实体,对表明第一存储装置10a中的文件的存储目的地的信息设置无效值(例如,对其中设置元数据文件的存储目的地的列设置NULL值或0(例如,其中设置块地址2218的列)),并且实际清除选作清除候选的文件。此时,第一服务器系统3a将需要元数据同步标志2312设置为开(S2612)。

图27是示出了当第一服务器系统3a从客户端装置2接收对第一存储装置10a的文件存储区域中存储的复制文件的更新请求时,信息处理系统1中执行的处理(此后,称为复制文件更新处理S2700)的框图。此后,参考图27描述复制文件更新处理S2700。

在接收对复制文件的更新请求时(S2711),第一服务器系统3a根据接收的更新请求更新存储在第一存储装置10a中的复制文件的数据(元数据和实体)(S2712)。

然后,如果元数据被更新,第一服务器系统3a将复制文件的需要元数据同步标志2312设置为开。如果复制文件的实体被更新,第一服务器系统3a将复制文件的需要实体同步标志2313设置为开(S2713)。

图28示出了当第一服务器系统3a的文件系统312从客户端装置2接收对第一存储装置10a的文件存储区域中存储的复制文件的参考请求时,信息处理系统1中执行的处理(此后,称为复制文件参考处理S2800)的框图。此后,参考图28描述复制文件参考处理S2800(S2813)。

在接收对复制文件的更新请求时(S2811),第一服务器系统3a的文件系统312从第一存储装置10a读取复制文件的数据(元数据或实体)(S2812),基于读数据产生对客户端装置2做出响应的信息,并且向客户端装置2传送产生的响应信息(S2813)。

图29示出了当第一服务器系统3a从客户端装置2接收将存储在第一存储装置10a中的复制文件的内容与第一存储装置10a中的文件的内容相匹配的请求(此后,称为同步请求)时,信息处理系统1中执行的处理(此后,称为同步处理S2900)的框图。此后,参考图29描述同步处理S2900。

同步处理S2900可以响应于除从客户端装置2接收同步请求之外的事件而开始。例如,当预定定时(实时地,定期地,等等)到来时,第一服务器系统3a可以自发地开始同步处理S2900。

当从客户端装置2接收对复制文件的同步请求时(S2911),第一服务器系统3a从存储在第一存储装置10a的第一存储区域中的复制文件中获得其需要元数据同步标志2312或需要实体同步标志2313中的至少一个被设置为开的文件(S2912)。

然后,第一服务器系统3a向传送获得的文件的元数据或实体并且将复制文件的元数据第二服务器系统3b同步需要标志2312或需要实体同步标志2313设置为关(S2913)。

在接收元数据或实体时(S2913),第二服务器系统3b基于接收的元数据或实体而更新存储在第二存储装置10b中的并且与接收的元数据或实体相关联的文件的元数据或实体(S2914)。可以只传送与先前同步的元数据更新差异,而不是从第一服务器系统3a向第二服务器系统3b传送整个元数据或实体。

通过上述同步处理S2900,存储在第一存储装置10a中存储的文件的数据(元数据和实体)以及存储在第二存储装置10b中存储的关联文件的数据(元数据和实体)相互同步。

图30示出了当第一服务器系统3a的文件系统312从客户端装置2等接收对已清除文件(具有清除标志2311设置为开的文件)的元数据的访问请求(参考请求或更新请求)时,信息处理系统1中执行的处理(此后,称为元数据访问处理S3000)的框图。此后,参考图30说明元数据访问处理S3000。

如图30所示,在接收对已清除文件的元数据的访问请求(S3011)之后,第一服务器系统3a获得第一存储装置10a的访问目标元数据,并且根据访问请求的内容对其进行参考(即,基于元数据向客户端装置2传送响应信息),或者更新元数据(S3012)。如果元数据的内容被更新,第一服务器系统3a将元数据的需要元数据同步标志2312设置为开(S3013)。

如上所述,当对已清除文件的访问请求被产生并且访问请求的目标仅是文件的元数据时,第一服务器系统3a使用存储在第一存储装置10a中的元数据来执行对访问请求的处理;而如果访问请求的目标仅是文件的元数据,第一服务器系统3a可以迅速向客户端装置2返回响应。

图31示出了当第一服务器系统3a从客户端装置2接收对已清除文件(具有清除标志2311设置为开的文件,其此后被称为已清除文件)的实体的参考请求时,信息处理系统1中执行的处理(此后,称为已清除文件实体参考处理S3100)的框图。此后,参考图31描述已清除文件实体参考处理S3100。

当从客户端装置2接收对已清除文件的实体的参考请求时(S3111),第一服务器系统3a结合获得的元数据确定已清除文件的实体是否存储在第一存储装置10a中(S3112)。这里,例如基于有效值是否被设置到包含在获得的表明已清除文件的实体的存储目的地的元数据中的信息(例如,块地址2218)而进行确定。

如果在上述确定中确定已清除文件的实体存储在第一存储装置10a中,第一服务器系统3a从第一存储装置10a读取已清除文件的实体,基于所读取的实体产生响应于客户端装置2的信息,并且向客户端装置2传送产生的响应信息(S3113)。

另一方面,如果在上述确定中确定已清除文件的实体未存储在第一存储装置10a中,第一服务器系统3a请求第二服务器系统3b提供已清除文件的实体(此后,称为撤回请求)(S3114)。注意,实体获得请求可以不必是通过一个获得请求获得整个实体的请求。相反,可以多次请求实体的一部分。

在接收从第二服务器系统3b传送的已清除文件的实体时,第一服务器系统3a基于接收的实体产生响应信息,并且向客户端装置2传送产生的响应信息(S3116)。

而且,第一服务器系统3a将从第二服务器系统3b接收的上述实体存储在第一存储装置10a中,并且将表明第一存储装置10a中文件的存储目的地的内容设置到表明已清除文件的元数据文件的实体的存储目的地的信息(例如,块地址2218)。而且,第一服务器系统3a将文件的清除标志2311设置为关,将其复制标志2314设置为开,并且将其需要元数据同步标志2312设置为开(即,将文件从已清除文件改变为复制文件)(S3117)。

将元数据同步请求的标志2312设置为开的原因是自动地以事后方式在第一存储装置10a与第二存储标志10b之间对已清除文件的清除标志2311和复制标志2314的内容进行同步。

图32是示出了当第一服务器系统3a从客户端装置2接收对已清除文件的实体的更新请求时,信息处理系统1中执行的处理(此后,称为已清除文件实体更新处理S3200)的框图。此后,参考图32描述已清除文件实体更新处理S3200。

在接收对已清除文件的实体的更新请求时(S3211),第一服务器系统3a获得请求要被更新的已清除文件的元数据,并且基于获得的元数据确定已清除文件的实体是否存储在第一存储装置10a中(S3212)。注意,所述确定方法与已清除文件实体参考处理S3100中的相同。

如果在上述确定中确定已清除文件的实体存储在第一存储装置10a中,第一服务器系统3a根据更新请求的内容更新存储在第一存储装置10a中的已清除文件的实体,并且将已清除文件的需要实体同步标志2313设置为开(S3213)。

另一方面,如果已清除文件的实体未存储在第一存储装置10a中,第一服务器系统3a向第二服务器系统3b发送获得已清除文件的实体的请求(撤回请求)(S3214)。

在响应于上述请求而接收从第二服务器系统3b传送的文件的实体(S3215)之后,第一服务器系统3a根据更新请求的内容更新接收的实体的内容作为已清除文件的实体。而且,第一服务器系统3a将已清除文件的清除标志2311设置为关,将其复制标志2314设置为关,并且将其需要元数据同步标志2312设置为开(S3216)。<故障恢复中的处理>

接下来描述当由于在第一服务器系统3a中发生某种故障而使信息处理系统1的功能停止以及随后在第一服务器系统3a恢复之后信息处理系统1的功能重启时信息处理系统1中执行的处理。

图33示出了当虚拟机310在恢复的第一服务器系统3a中被恢复时,信息处理系统1中执行的处理(此后,称为虚拟机恢复处理S3300)的框图。此后,参考图33描述虚拟机恢复处理S3300。

作为执行虚拟机恢复处理S3300的前提,假设用于恢复虚拟机310的虚拟机映像(在虚拟控制单元305中实现虚拟机310所必需的配置信息,例如包括CPU的硬件配置、存储器等等、存储区域大小、网络规格等等)已被存储在第二存储装置10b中。

如图33所示,使用第一服务器系统3a中的启动加载器(boot loader)等执行记录在记录介质3310中的安装程序等,以便在第一服务器系统3a中安装虚拟化控制单元305(S3311)并且开始虚拟化控制单元305的功能(S3312)。

接下来,已经启动功能的虚拟化控制单元305请求第二服务器系统3b提供虚拟机映像(S3313)。

在从第一服务器系统3a接收上述请求时,第二服务器系统3b从第二存储装置10b获得在上述请求中指定的虚拟机映像(S3314)并且向第一服务器系统3a传送获得的虚拟机映像(S3315)。

第二服务器系统3b例如通过对第一服务器系统3a标识符(此后,称为服务器ID)与实现在第一服务器系统3a中的虚拟机310的标识符(此后,称为虚拟机ID)进行关联来管理虚拟机映像。在接收上述获得请求时,第二服务器系统3b标识由服务器ID标识的虚拟机映像和获得请求中指定的虚拟机ID,并且向第一存储装置10a传送标识的虚拟机映像。

在从第二服务器系统3b接收虚拟机映像(S3316)之后,第一服务器系统3a基于接收的虚拟机映像将接收的虚拟机映像存储在第一存储装置10a中并且启动虚拟机310的操作(S3317)。

原则上,上述虚拟机恢复处理S3300在基于虚拟机映像需要重启虚拟机310的重要故障已发生时被执行。例如,在不需要重启虚拟机310的故障的情况下,虚拟机310不必被重启。

图34示出了通过图33所示的虚拟机恢复处理S3300,在从客户端装置2接收数据I/O请求之前,在虚拟机310启动第一服务器系统3a中工作之后复原目录映像,在信息处理系统1中执行的处理(此后,称为目录映像提前恢复处理S3400)的框图。此后,参考图34描述目录映像提前恢复处理S3400。

首先,第一服务器系统3a在通过虚拟机恢复处理S3300重启的虚拟机310的文件系统312发生故障之前,向第二服务器系统3b发送对存在于第一存储装置10a中进行的目录配置中的最高级目录(此后,称为根目录)中的目录的元数据以及存在于根目录中的文件的元数据的获得请求(目录配置是存储在第一存储装置10b中的目录配置,包括表明目录的层级式结构的数据、目录(元数据)的数据和文件(元数据和实体)的数据,其在此后称为目录映像)(S3411)。

在本实施方式中,存在于根目录中的目录的元数据和存在于根目录中的文件的元数据包括存在于根目录(可从根目录中被观察)的目录和文件,但是不包括存在于根目录中的目录的从属目录中存在的目录以及存在于那些目录中的文件。

在接收上述获得请求之后,第二服务器系统3b从第二存储装置10b获得存在于根目录中的目录的元数据和存在于根目录中的文件的元数据(S3412)并且向第一存储装置10a传送获得的元数据(S3413)。

而且,第二服务器系统3b在上述通过复制的管理中通过关联服务器ID和虚拟机ID来管理元数据。在接收上述获得请求时,第二服务器系统3b标识用在获得请求中指定的服务器ID和虚拟机ID标识的元数据并且从第二存储装置10b获得标识的元数据。

在从第二服务器系统3b接收元数据(S3413)之后,第一服务器系统3a基于接收的元数据将目录映像复原到第一存储装置10a(S3414)。同时,第一服务器系统3a将需要元数据同步标志2312设置为开,并且需要实体同步标志设置为开。因为所有复原的文件是仅基于元数据,因此那些文件处于清除状态,其清除标志2311被设置为开。

在目录映像在第一存储系统10a中已被复原之后,第一服务器系统3a开始对客户端装置2的服务。

图35示出了在图34所示的目录映像提前复原处理S3400之后已经启动从客户端装置2接收数据I/O请求的第一服务器系统3a在故障发生之前复原由第一服务器系统3a管理的目录映像的处理(此后,称为按需复原处理S3500)的框图。此后,参考图35描述按需复原处理S3500。

在开始服务之后从客户端装置2接收数据I/O请求(S3511)之后,第一服务器系统3a检查接收的数据I/O请求中请求的文件(此后,称为访问目标文件)的元数据是否存在于第一存储装置10a中(即,元数据在开始服务之后是否已在第一存储装置10a中被复原)(S3512)。

在元数据在第一存储装置10a中已被复原的情况下,第一服务器系统3a检查接收的数据I/O请求的目标(元数据或实体)、数据I/O请求的类型(参考请求或更新请求)、目标是否由通过复制的管理来管理(复制标志2314是否设置为开)以及目标是否被清除(清除标志是否设置为开),并且随后执行对应于接收的数据I/O请求的处理(前述复制文件更新处理S2700、复制文件参考处理S2800、元数据访问处理S3000、已清除文件实体参考处理S3100,或已清除文件实体更新处理S3200),并且向客户端装置2返回响应(S3518)。

另一方面,在访问目标文件的元数据未被复原的情况下,第一服务器系统3a从第二服务器系统3b(第二存储装置10b)获得用于在从根目录到访问目标文件的文件存在(S3513到S3515)的目录级(目录层)的范围复原目录映像的数据,并且使用获得的数据将根目录中的目录映像复原到第一存储装置10a中的上述目录级(S3516)。

而且,第一服务器系统3a将访问目标文件的清除标志2311设置为开,其复制标志2314设置为关,并且其需要元数据同步标志2312设置为开(S3517)。

接下来,根据目标和接收的数据I/O请求的类型、管理方法、目标是否被清除等,第一服务器系统3a执行对应于接收的数据I/O请求的处理并且向客户端装置2返回响应(S3518)。

图36示出目录映像如何逐步通过上述按需复原处理S3500由于反复的I/O请求而被复原到第一存储装置10a。

在图36中,用强调的字符串(下划线的字符串)表明的目录复原了其元数据,但是在其从属目录的元数据未被复原。用未强调的字符串表明的目录已经复原了其从属目录的元数据。用强调的字符串表明的文件复原了其元数据,但是其实体未复原。用未强调的字符串表明的文件已经复原了其实体。

图36中图(0)是正好在故障发生之前在第一服务器系统3a(第一存储装置10a)中管理的目录映像(整个目录映像最终被复原)。

图36中图(A)是通过目录映像提前复原处理S3400刚被复原的目录映像(在第一服务器系统3a未接收数据I/O请求的状态)。在这个阶段,正好存在于根目录[/]的从属目录[dir1]和[dir2]中的元数据已被复原,但是存在于其他从属目录中的元数据未被复原。存在于正好在根目录[/]的从属目录的文件[a.txt]的元数据已被复原,但是其实体未被复原。

图36中的图(B)示出一种状态,其中已从处于图(A)所示状态的客户端装置2接收对存在于目录[dir1]的从属目录中的文件[c.txt]的数据I/O请求。因为已从客户端装置2接收对文件[c.txt]的数据I/O请求,目录[dir1]中的元数据和[c.txt]被复原。

图36中的图(C)示出一种状态,其中已从处于图(B)所示状态的客户端装置2接收对存在于目录[dir2]的从属目录中的文件[b.txt]的数据I/O请求。如图所示,因为从客户端装置2接收对文件[b.txt]的数据I/O请求,[/b.txt]的元数据被复原。注意,以非强调状态[/dir2],因为从属于[/dir2]的[/b.txt]的元数据已被复原。

图36中的图(D)示出一种状态,其中在图(C)所示状态对文件[b.txt]的数据I/O请求(更新请求)已从客户端装置2接收。因为对文件[b.txt]的数据I/O请求(更新请求)已从客户端装置2接收,文件[b.txt]的实体被复原。

如上所述,根据本实施方式在信息处理系统1中,在第一服务器系统3a中发生故障之后接收数据I/O请求开始时,通过目录映像提前复原处理S3400,仅存在于根目录中的目录中的元数据和存在于根目录中的文件的元数据被复原。之后,不论何时从第二客户端服务器2向第一服务器系统3a产生对未复原的文件的数据I/O请求,目录映像逐步被复原到第一服务器系统3a(第一存储装置10a)。

如上所述,在故障恢复之后,在开始接收数据I/O请求之前,不是复原整个目录映像,而是逐步复原目录映像,由此使故障发生之后重启服务需要的时间与在重启服务之前复原整个目录映像的情况相比得以缩短,使得用户的操作等不受影响。

此外,直到整个目录映像被复原,第一存储装置10a的资源可被保存。而且,因为存储容量的消耗可以被减少直到整个目录映像的复原,例如,具有小的存储容量的存储装置可以用作已发生故障的第一存储装置10a的替代。

<添加复原目标>

例如,在第一服务器系统3a或第一存储装置10a被提供充足的性能和存储容量的情况下,或者在用户希望服务的复原要迅速完成的情况下,优选地在发生故障之前第一存储装置10a的目录映像通过图35所示的按需复原处理S3500被迅速复原。

但是,因为通过前述按需复原处理S3500的目录复原速度取决于来自客户端装置2的数据I/O请求的发生频率,如果数据I/O请求的发生频率低,在完成目录映像的复原之前可能花费长时间。

因此,为了防止目录映像复原速度的这种下降,在按需复原处理S3500中,根据本实施方式,信息处理系统1被提供使添加的目录映像被传送给第一服务器系统3a的配置,以便当第一服务器系统3a向第二服务器系统3b请求提供要复原的目录映像时,在从客户端装置2接收的数据I/O请求满足预定条件的条件下自动促进目录映像复原。

上述预定条件例如包括如下所述的条件。

(条件1):访问目标文件的数据尺寸小于在到当前时间为止的预定时段期间产生的数据I/O请求的访问目标文件的平均数据尺寸。

(条件2):访问目标文件的数据尺寸小于预定阈值。

上述配置中要添加的一种目录映像选择方法包括,例如,如下所述的方法。

(选择方法1):选择从属于已复原目录的文件的元数据和/或实体。

这里,一般而言,从属于已复原目录的文件很可能要在以后访问。因此,根据选择方法1,通过先复原从属于这种目录的文件的目录映像,可以期望对客户端装置2的改善的响应性能。

(选择方法2):选择从属于已复原目录的目录的元数据。

这里,因为从属于已复原目录的目录很可能要在以后访问。因此,根据选择方法2,通过先复原从属于这种目录的目录的元数据,可以期望对客户端装置2的改善的响应性能。

(选择方法3):选择在第一服务器系统3a中发生故障之前其实体已存储在第一存储装置10a中的文件的实体(其清除标志被设置为关的文件)。

具有在第一服务器系统3a中发生故障之前存储在第一存储装置10a中的实体的文件很可能已被频繁地访问。因此,根据选择方法2,通过优选地提前将这种文件的实体复原到第一存储装置10a,可以期望对客户端装置2的改善的响应性能。

第一服务器系统3a确定文件是否是具有在发生故障之前存储在第一存储装置10a中的实体的文件,这例如是通过向第二服务器系统3b查询清除标志2311的设置(这表示如果清除标志2311设置为关,文件的实体在故障发生之前已被存储在第一存储装置10a中)。

(选择方法4):选择其优先级被设置为高于访问目标文件的优先级的文件的元数据和/或实体。

通常,其优先级设置为高的文件是很可能从客户端装置2访问的文件。因此,通过先前复原这种文件的元数据和/或实体,可以期望对客户端装置2的改善的响应性能。

通过从第一服务器系统3a对第二服务器系统3b进行查询,第一服务器系统3a获得其元数据尚未在第一存储装置10a中被复原的文件的优先级(索引节点管理表1912中的优先级2316的内容)。

(选择方法5):选择其访问频率高于在到故障发生时为止的预定时段期间的访问目标文件的访问频率的文件。

在到故障发生时为止的预定时段的访问频率高的文件很可能从客户端装置2被访问。因此,通过提前复原这种文件的元数据和/或实体,可以期望对客户端装置2的改善的响应性能。

第一服务器系统3a通过向第二服务器系统3b查询文件访问日志368的内容,来获得到故障发生时为止的预定时段的文件的访问频率。

上述方法仅是选择方法的示例,并且因此选择方法不限于此。例如,可以通过组合上述方法中的至少两个选择方法选择要复原的目录映像。例如,在要选择的复原目标的数目太多不能通过单个方法选择的情况下,可以通过组合多个选择方法来减少复原目标。

图37示出了当数据I/O请求满足上述预定条件时,在上述按需复原处理S3500中通过上述预定的选择方法添加要复原的目录映像的处理(此后,称为按需复原处理(包括复原目标的添加)S3700)的框图。此后,参考图37描述按需复原处理(包括添加复原目标)S3700。

在从客户端装置2接收数据I/O请求(S3711)之后,第一服务器系统3a确定数据I/O请求中指定的访问目标文件的元数据是否存在(已被复原)于第一存储装置10a中(S3712)。

如果访问目标文件的元数据已被复原,根据数据I/O请求的目标和类型、管理方法、目标是否被清除等,第一服务器系统3a执行对应于接收的数据I/O请求的处理,并且对客户端装置2进行响应(S3718)。

另一方面,如果访问目标文件的元数据未被复原,第一服务器系统3a请求第二服务器系统3b提供用于将根目录中的目录映像复原到访问目标文件存在于其中的级别的目录(目录层)的数据(到这个阶段的处理与图35所示按需复原处理S3500相同)。

在接收上述请求之后,第二服务器系统3b确定数据I/O请求是否满足上述预定条件。如果满足预定条件,根据上述预定选择方法,第二服务器系统3b进一步选择要添加的目录映像。然后,第二服务器系统3b从第二存储装置10b获得用于复原上述I/O请求中指定的目录映像的数据以及用于复原上述选择的目录映像的数据,并且向第一服务器系统3a传送这些数据(S3713到S3715)。

在从第二服务器系统3b接收上述数据之后,第一服务器系统3a使用接收的数据将目录映像复原到第一存储装置10a(S3716)。

接下来,第一服务器系统3a将访问目标文件的清除标志231设置为开,将其复制标志2314设置为关,并且将其需要元数据同步标志2312设置为开(S3717)。

然后,根据数据I/O请求的目标和类型、管理方法、目标是否被清除等,第一服务器系统3a执行对应于接收的数据I/O请求的处理,并且对客户端装置2返回响应(S3718)。

根据上述按需复原处理(包括添加复原目标)S3700,如果数据I/O请求满足预定条件,将要被复原的目录映像被自动地添加。因此,目录映像复原速度可以自动地加速,并且第一存储装置10a的目录映像可以被迅速复原到故障发生之前的状态。

在上述按需复原处理(包括复原目标的添加)S3700中,与确定是否添加要复原的目录映像和获得用于复原目录映像的数据有关的处理在第二服务器3b一侧排他地执行。因此,当选择其替代时,不需要向第一服务器系统3a提供具体配置并且不需要对第一服务器系统3a的型号和生产商(销售商)进行匹配,由此灵活操作信息处理系统1成为可能。

<避免再清除>

虽然在上述清除候选选择处理S2500(图25)中,清除候选文件在文件存储区域的空闲容量小于清除阈值的条件下被选择,并且选择的文件在上述清除处理S2600(图26)中实际被清除(其中的实体被从第一存储装置10a删除),但是即使在执行图35所示的按需复原处理S3500(或者图37所示的按需复原处理(包括复原目标的添加)S3700。此后,仅提及按需复原处理S3500)期间,也可执行清除候选选择处理S2500和清除处理S2600。

例如,在清除阈值被设置为相对较高或者被准备为已发生故障的第一存储装置10a的存储装置未被提供以充足容量的情况下,其实体通过按需复原处理S3500(或者图37所示的按需复原处理(包括复原目标的添加)S3700)被复原到第一存储装置10a的文件被立即再次选择为清除候选并且被清除(此后,这个现象被称为再清除)。

并且,如果这种再清除频繁发生,信息处理系统1的资源被消耗并且信息处理系统1的操作效率下降。

因此,根据本实施方式的信息处理系统1提供一种机制,用于根据需要监测再清除的发生以及根据再清除的发生状态自动抑制复原目录映像以便抑制再清除的发生。

图38示出了由第二服务器系统3b执行的与上述机制有关处理(此后,称为再清除避免处理S3800)的框图。此后,参考图38说明再清除避免处理S3800。

在执行上述按需复原处理S3500时,第二服务器系统3b监测再清除每单位时间的发生频率是否等于或高于预定阈值(此后,称为再清除频率阈值),或者再清除发生时间间隔是否小于预定阈值(此后,称为再清除发生时间间隔阈值)(S3811到S3813)。

这里,例如基于复原日志365的内容以及在元数据同步处理S2900中从第一服务器系统3a到第二服务器系统3b的清除标志2311的更新通知(将清除标志2311从关转变为开的通知),确定是否发生了再清除。

例如,如果在目录映像已在第一存储装置10a中被复原之后的预定时段中,目录映像的数据(元数据或实体)的清除标志2311已被设置为开,则第二服务器系统3b确定发生了再清除。

如图38所示,当第二服务器系统3b检测到在上述监测期间的再清除发生频率等于或高于再清除频率阈值或者再清除发生时间间隔小于再清除发生时段阈值,第二服务器系统3b抑制(减少)传送给第一服务器系统3a的目录映像(包括在按需复原处理(包括复原目标的添加)S3700中添加的目录映像)的量。该抑制也适用于向第一服务器系统3a传输目录映像被暂停的情况(S3814)。

这里,用于上述抑制的具体方法包括,例如,以下所述的这些方法。

(抑制方法1):当数据I/O请求的目标仅是元数据时,不复原文件的实体。

这个方法减轻了复原实体的负载。如果数据I/O请求的目标仅是元数据,不需要复原文件的实体,从而即使当实体未被复原时,数据I/O请求的处理不受影响。

(抑制方法2):当使用上述(选择方法1)到(选择方法5)中至少一个方法选择目录映像时,还以重叠的方式应用另一选择方法。

以重叠方式应用选择方法可以逐步抑制再清除的发生并且根据再清除的发生状态适当地抑制发送给第一服务器系统3a的目录映像的量。

(抑制方法3):上述(选择方法4)中使用的优先级阈值设置为更高。

通过将优先级阈值设置为较高,可以简单地实现抑制再清除。此外,通过逐步将优先级阈值设置为更高,根据再清除的发生状态,发送给第一服务器系统3a的目录映像的量可以被适当抑制。

(抑制方法4):在上述(选择方法5)中用于确定访问频率的访问频率阈值被设置为较高。

通过将访问频率阈值设置为较高,可以简单地实现抑制再清除。此外,通过逐步将访问频率阈值设置为更高,发送给第一服务器系统3a的目录映像的量可以根据再清除的发生状态而得到适当抑制。

而且,第二服务器系统3b连续执行上述监测并且当再清除发生频率低于再清除频率阈值并且再清除发生时间间隔等于或大于再清除发生时间间隔时,自动释放上述抑制。这里,释放包括一次释放整个抑制以及逐步释放,例如,逐渐添加目录映像(S3814)。

如上所述,根据再清除避免处理S3800,当再清除频繁发生时,从第二服务器系统3b向第一服务器系统3a传送的目录映像的量自动被抑制,从而可以抑制再清除的发生。于是,可以防止由再清除引起的信息处理系统1的资源损耗和由再清除引起的信息处理系统1的操作效率下降。

而且,再清除避免处理S3800主要由第二服务器系统3b执行,因此不需要为第一服务器系统3a侧提供特殊配置。因此,用于抑制再清除的配置可以容易地在信息处理系统1中实现。此外,因为不需要特殊性能和规格,第一存储装置10a具有广泛的选择并且可以选择任何硬件和软件而不考虑销售商、型号等。

<处理的细节>

接下来,描述信息处理系统1中执行的处理的细节。

图39所示是图24中复制开始处理S2400的细节的流程图。下面参考图给出描述。

第一服务器系统3a实时监测第一服务器系统3a是否已从客户端装置2接收复制开始请求(S3911)。在从客户端装置2接收复制开始请求时(S3911:是)(图24中S2411),第一服务器系统3a向第二服务器系统3b查询在接收的复制开始请求中指定的文件的数据(元数据和实体)的存储目的地(RAID组的标识符、块地址等)(S3912)。

在接收上述查询(S3921)之后,第二服务器系统3b查找第二存储装置10b中的空闲区域以确定文件的数据的存储目的地,并且向第一服务器系统3a通知确定的存储目的地(S3922)。

在接收上述通知(S3913)之后,第一服务器系统3a从第一存储装置10a读取在接收的复制开始请求中指定的文件的数据(元数据和实体)(S3914)(图24中S2412),并且向第二服务器系统3b发送文件的已读取数据和在S3922中通知的存储目的地(S3915)(图24中S2413)。

而且,第一服务器系统3a将文件的元数据(存储在第一存储装置10a中的文件的元数据)的复制标志2314设置为开,并且将其需要元数据同步标志2312设置为开(S3916)(图24中S2414)。

通过将需要元数据同步标志2312设置为开,存储在第一存储装置10a中的文件的元数据与存储在第二存储装置10b中作为其复本的文件的元数据之间的一致性通过上述同步处理S2900被同步地或异步地保证(确保)。

另一方面,在从第一服务器系统3a接收文件的数据(S3923)之后,第二服务器系统3b将接收的文件的数据存储在利用与该文件一起接收的存储目的地标识的第二存储装置10b的位置中(S3924)。

图40示出了图25中的清除候选选择处理S2500的细节的流程图。下面参考图给出描述。

第一服务器系统3a根据需要监测文件存储区域的空闲容量是否小于清除阈值(S4011,S4012),并且当检测到文件存储区域的空闲容量小于清除阈值时,第一服务器系统3a根据上文描述的预定选择标准从存储在第一存储装置10a中的复制文件中选择清除候选(S4012)(图25中的S2511)。

然后,在选择清除候选时(S4013),第一服务器系统3a将选择的复制标志的清除标志2311设置为开,将其复制标志2314设置为关,并且将其需要元数据同步标志2312设置为开(S4014)(图25中的S2512)。

图41示出了图26中清除处理S2600的细节的流程图。下面参考图给出描述。

第一服务器系统3a根据需要从存储在第一存储装置10a的文件存储区域中的文件中提取被选作清除候选的文件(其清除标志2311设置为开的文件)(S4111,S4112)。

然后,第一服务器系统3a从第一存储装置10a删除提取的文件的实体(S4113),向所提取文件的元数据中表明该文件在第一存储装置10a中的存储目的地的信息设置无效值(例如,对其中设置文件的存储目的地的元数据中的列(例如,块地址2218)设置NULL值或0)(S4114),并且将需要元数据同步标志2312设置为开(S4115)(图26中的S2611)。

图42示出了图27中复制文件更新处理S2700的细节的流程图。下面参考图给出描述。

第一服务器系统3a实时监测是否从客户端装置接收对复制文件的更新请求(S4211)。在接收更新请求(S4211:是)(图27中S2711)之后,第一服务器系统3a根据接收的更新请求对更新请求的目标下的复制文件的数据(元数据或实体)进行更新,复制文件被存储在第一存储装置10a中(S4212)(图27中的S2712)。

而且,如果元数据被更新,第一服务器系统3a将复制文件的需要元数据同步标志2312设置为开(S4213),并且如果复制文件的实体被更新,第一服务器系统3a将复制文件的需要实体同步标志2313设置为开(S4214)(图27中的S2713)。

图43示出了图28中复制文件参考处理S2800的细节的流程图。下面参考图给出描述。

第一服务器系统3a实时监测是否从客户端装置2接收到对复制文件的参考请求(S4311)。在接收参考请求(S4311:是)(图28中S2811)之后,第一服务器系统3a从第一存储装置10a读取复制文件的数据(元数据或实体)(S4312)(图28中S2812),基于读数据产生对客户端装置2做出响应的信息,并且向客户端装置2传送产生的响应信息(S4313)(图28中S2813)。

图44示出了图29中的同步处理S2900的细节的流程图。下面参考图给出描述。

第一服务器系统3a实时监测是否从客户端装置2接收到对复制文件的同步请求(S4411)。在接收同步请求(S4411:是)(图29中S2911)之后,第一服务器系统3a从存储在第一存储装置10a的文件存储区域中的复制文件中获得需要元数据同步标志2312和需要实体同步标志2313中的至少一个被设置为开的文件(S4412)(图29中S2912)。

然后,第一服务器系统3a向第二服务器系统3b传送获得的文件的元数据或实体(S4413),并且将复制文件的需要元数据同步标志2312或其需要实体同步标志2313设置为关(S4414)(图29中S2913)。

另一方面,在接收元数据或实体(S4421)(图29中S2913)之后,基于接收的元数据或实体(或更新差异),第二服务器系统3b更新与接收的元数据或实体对应的、存储在第二存储装置10b中的文件的元数据或实体(S4422)(图29中S2914)。

图45示出了图30中元数据访问处理S3000的细节的流程图。下面参考图给出描述。

第一服务器系统3a实时监测是否从客户端装置2接收到对已清除文件的元数据的访问请求(参考请求或更新请求)(S4511)。

在接收对对已清除文件的元数据的访问请求(S4511:是)(图30中S3011)之后,第一服务器系统3a获得作为第一存储装置10a中接收的访问请求的目标的元数据(S4512),并且根据接收的访问请求(S4513)参考元数据(基于读元数据向客户端装置2发送响应信息)(S4514)或更新元数据(S4515)(图30中S3012)。如果元数据的内容被更新(S4515),第一服务器系统3a将文件的需要元数据同步标志2312设置为开(图30中S3013)。

图46示出了图31中的已清除文件实体参考处理S3100的细节的流程图。下面参考图给出描述。

在从客户端装置2接收到对已清除文件的实体的参考请求(S4611:是)(图31中S3111)之后,第一服务器系统3a确定已清除文件的实体是否存储在第一存储装置10a中(S4612)(图31中S3112)。

如果已清除文件的实体存储在第一存储装置10a中(S4612:是),第一服务器系统3a从第一存储装置10a读取已清除文件的实体,基于所读取的实体产生对客户端装置2做出响应的信息,并且向客户端装置2传送产生的响应信息(S4613)(图31中S3113)。

另一方面,如果清除文件的实体未存储在第一存储装置10a中(S4612:否),第一服务器系统3a请求第二服务器系统3b提供已清除文件的实体(撤回请求)(S4614)(图31中S3114)。

在响应于上述获得请求而接收从第二服务器系统3b传送的已清除文件的实体(S4621,S4622,S4615)(图31中S3115)之后,第一服务器系统3a基于接收的实体产生响应信息,并且向客户端装置2传送产生的响应信息(S4616)(图31中S3116)。

而且,第一服务器系统3a将从第二服务器系统3b接收的上述实体存储在第一存储装置10a中,并且将表明第一存储装置10a中文件的存储目的地的内容设置在表明已清除文件的元数据文件的存储目的地的信息中(例如,块地址2218)(S4617)。

而且,第一服务器系统3a将文件的清除标志2311设置为关,将其复制标志2314设置为开,并且将其需要元数据同步标志2312设置为开(S4618)(图31中S3117)。

图47示出了图32中的已清除文件实体更新处理S3200的细节的流程图。下面参考图给出描述。

在从客户端装置2接收对已清除文件的实体的更新请求(S4711:是)(图32中S3211)之后,第一服务器系统3a确定已清除文件的实体是否存储在第一存储装置10a中(S4712)(图32中S3212)。

如果已清除文件的实体存储在第一存储装置10a中(S4712:是),第一服务器系统3a根据更新请求的内容来更新存储在第一存储装置10a中的已清除文件的实体(S4713),并且将已清除文件的需要实体同步标志2313设置为开(S4714)(图32中S3213)。

另一方面,如果确定已清除文件的实体未存储在第一存储装置10a中(S4712:否),第一服务器系统3a向第二服务器系统3b发送获得已清除文件的实体的请求(撤回请求)(S4715)(图32中S3214)。

在响应于上述请求而接收从第二服务器系统3b传送的文件的实体(S4721,S4722,S4716)(S3215)之后,第一服务器系统3a根据更新请求的内容更新接收的实体的内容(S4717),并且将更新的实体存储在第一存储装置10a中作为已清除文件的实体(S4718)(图32中S3216)。

而且,第一服务器系统3a将已清除文件的清除标志2311设置为关,将其复制标志2314设置为开,并且将其需要元数据同步标志2312设置为开(S4719)。

图48示出了图33中虚拟机恢复处理S3300和图34中目录映像提前复原处理S3400的细节的流程图。下面参考图给出描述。

首先,第一服务器系统3a使用启动加载器等执行记录在记录介质中的安装程序,以在第一服务器系统3a中安装虚拟化控制单元305,并且使虚拟化控制单元305启动其功能(S4811)(图33中S3311和S3312)。

接下来,启动了功能的虚拟化控制单元305向第二服务器系统3b传送虚拟机映像获得请求(S4812)(图33中S3313)。

在从第一服务器系统3a接收上述虚拟机映像获得请求时(S4812),第二服务器系统3b从第二存储装置10b获得在获得请求中指定的虚拟机映像,并且向第一服务器系统3a传送获得的虚拟机映像(S4822)(图33中S3314和S3315)。

在从第二服务器系统3b接收虚拟机映像(S4813)(图33中S3316)之后,第一服务器系统3a在第一存储装置10a中存储接收的虚拟机映像(S4814),并且基于接收的虚拟机映像开始虚拟机310的操作(S4815)(图33中S3317)。

接下来,第一服务器系统3a向第二服务器系统3b发送获得请求,该获得请求针对存在于在由通过虚拟机恢复处理S3300重启的虚拟机310的文件系统312发生故障之前被配置的目录映像的根目录中的目录的元数据,以及存在于根目录中的文件的元数据(S4816)(图34中S3411)。

在接收上述获得请求(S4823)之后,第二服务器系统3b从第二存储装置10b获得所请求的存在于根目录中的目录的元数据以及存在于根目录中的文件的元数据,并且向第一存储装置10a传送获得的元数据(S4824)(图34中的S3412和S3413)。

然后,在从第二服务器系统3b接收元数据(S4817)(图34中的S3413)之后,第一服务器系统3a在第一存储装置10a中基于接收的元数据配置(复原)目录映像(S4818)(图34中的S3414)。这时,第一服务器系统3a将需要元数据同步标志2312设置为开,并且将需要实体同步标志2313设置为开(S4819)。

然后,在上述目录映像在第一存储装置10a中被配置之后,第一服务器系统3a开始向客户端装置2提供服务(S4820)(图34中的S3415)。

图49示出了图35中的按需复原处理S3500的细节的流程图。下面参考图给出描述。

在从客户端装置2接收数据I/O请求(S4911:是)(图35中的S3511)之后,第一服务器系统3a检查接收的数据I/O请求的目标文件(访问目标文件)的元数据是否存在于第一存储装置10a中(S4912)(图35中S3512)。

然后,如果访问目标文件的元数据在第一存储装置10a中被复原(S4912:是),第一服务器系统3a根据接收的数据I/O请求的目标和类型、管理方法、目标是否被清除等,执行对应于接收的数据I/O请求的处理,并且向客户端装置2返回响应(S4913)(图35中S3518)。

另一方面,如果访问目标文件的元数据未在第一存储装置10a中被复原(S4912:否),第一服务器系统3a请求第二服务器系统3b提供用于将根目录中的目录映像复原到访问目标文件存在于其中的级别的目录的数据(S4914)。

第二服务器系统3b从第二存储装置10b获得请求的数据,并且向第一服务器系统3a传送获得的数据(S4921,S4922和S4915)。

在接收从第二服务器系统3b传送的数据(S4915)之后,第一服务器系统3a使用该数据在第一存储装置10a中复原目录映像(S4916)(图35中S3513到S3516)。

而且,第一服务器系统3a将访问目标文件的清除标志2311设置为开,将其复制标志2314设置为关,并且将其需要元数据同步标志2312设置为开(S4917)(图35中S3517)。

接下来,根据接收到的数据I/O请求的目标和类型、管理方法、目标是否被清除等,第一服务器系统3a执行对应于接收的数据I/O请求的处理,并且对客户端装置2响应(S4918)(图35中S3518)。

图50和图51使出了图37中的按需复原处理(包括复原目标的添加)S3700的细节的流程图。下面参考图给出描述。

在从客户端装置2接收数据I/O请求(S5011:是)(图37中的S3711)之后,第一服务器系统3a检查作为接收的数据I/O请求的目标的访问目标文件的元数据是否存在于第一存储装置10a中(S5012)(图37中S3712)。

如果元数据在第一存储装置10a中被复原(S5012:是),根据接收到的数据I/O请求的目标和类型、管理方法、目标是否被清除等,第一服务器系统3a执行对应于接收的数据I/O请求的处理,并且向客户端装置2返回响应(S5013)(图37中S3718)。

另一方面,如果访问目标文件的元数据未在第一存储装置10a中被复原(S5012:否),第一服务器系统3a请求第二服务器系统3b提供用于将根目录中的目录映像复原到访问目标文件存在于其中的级别的目录的数据(S5014)。

在接收上述请求之后,第二服务器系统3b确定数据I/O请求是否满足上述预定条件(S5022)。

如果不满足预定条件(S5022:否),处理进行到S5024。另一方面,如果满足预定条件(S5022:是),第二服务器系统3b根据上述预定选择方法选择要添加的目录映像(S5023)。

在S5024中,第二服务器系统3b从第二存储装置10b获得用于复原在S5021中接收的请求中指定的目录映像的数据以及用于复原在S5023中选择的目录映像的数据,并且向第一服务器系统3a请传送获得的数据(图37中S3713到S3715)。

在接收上述数据(S5015)之后,第一服务器系统3a使用接收的数据在第一存储装置10a中复原目录映像(S5016)(图37中S3716)。

接下来,第一服务器系统3a将访问目标文件的清除标志2311设置为开,将其复制标志2314设置为关,并且将其需要元数据同步标志2312设置为开(S5017)(图37中S3717)。

然后,根据接收的数据I/O请求的目标和类型、管理方法、目标是否被清除等,第一服务器系统3a执行对应于接收的数据I/O请求的处理,并且向客户端装置2返回响应(S5018)(图37中S3718)。

图52示出了图38中的再清除避免处理S3800的细节的流程图。下面结合图给出描述。

当执行按需复原处理S3500时(或图37中所示的按需复原处理(包括复原目标的添加)S3700),第二服务器系统3b监测再清除每单位时间的发生频率是否等于或高于预定阈值(此后,称为再清除频率阈值)或再清除发生时间间隔是否小于预定阈值(此后,称为再清除发生时间间隔阈值)(S5211和S5212)(图38中S3811到S3813)。

在上述监测中,在检测到再清除发生频率等于或高于再清除频率阈值(S5211:是)时,第二服务器系统3b将抑制标志管理表366中所管理的抑制标志3661设置为开(S5213)。

在上述监测中,在检测到再清除发生时间间隔小于再清除发生时间间隔阈值(S52212:是)时,第二服务器系统3b将抑制标志3661设置为开(S5213)。

在上述监测中,如果再清除发生频率小于再清除频率阈值(S5211:否)并且再清除发生时间间隔等于或大于再清除发生时间间隔阈值(S5211:否),第二服务器系统3b将抑制标志3661设置为关(S5214)(图38中S3814)

在S5215中,第二服务器系统3b确定抑制标志3661被设置为开还是关。如果抑制标志设置为开(S5215:开),第二服务器系统3b开始用于抑制从第二服务器系统3b向第一服务器系统3a传送的目录映像的量的处理(S5216)。如果抑制已开始,第二服务器系统3b继续抑制。

另一方面,如果抑制标志被设置为关(S5215:关),第二服务器系统3b终止抑制向第一服务器系统3a传送的目录映像的量的处理。如果抑制已被终止,第二服务器系统3b保持非抑制状态。

如以上细节所述,在从故障恢复第一服务器系统3a时,在根据本实施方式的信息处理系统1中,在第一服务器系统3a开始接收数据I/O请求之前,第二服务器系统3b向第一服务器系统3a发送存储在第二存储装置10b中的文件的数据中的最高级层到预定较低级层中的目录的目录映像。然后,在第一服务器系统3a已在第一存储装置10a中复原从第二服务器系统3b传送的目录映像之后,第一服务器系统3a重新开始接收数据I/O请求。

如上所述,在从故障恢复第一服务器系统3a之后,根据本实施方式的信息处理系统1不是复原在发生故障之前存在于第一存储装置10a中的整个目录映像,而是仅复原最高级层到预定较低级层中的目录的目录映像,由此,与复原在发生故障之前存在于第一存储装置10a中的整个目录映像相比,复原目录映像所需的时间可以缩短并且因此使服务可以迅速重启。而且,与复原整个目录映像相比,信息处理系统1上的负载可以被减轻。

而且,当第一服务器系统3a请求未在第一存储装置10a中被复原的目录映像时,第二服务器系统3b从第二存储装置10b读取请求的目录映像,并且将其与从第二存储装置10b读取的、不同于根据预定选择方法选择的目录映像的附加目录映像一起传送。然后,第一服务器系统3a基于从第二服务器系统3b传送的目录映像执行对数据I/O请求的处理,并且在第一存储装置10a中复原目录映像和从第二服务器系统3b传送的附加目录映像。

因此,在根据本实施方式的信息处理系统1中,当第一服务器系统3a请求未在第一存储装置10a中被复原的目录映像时,第二服务器系统3b从第二存储装置10b读取请求的目录映像,并且将所请求的目录映像与不同于根据预定选择方法选择的目录映像的附加目录映像一起传送。然后,第一服务器系统3a在第一存储装置10a中复原目录映像和附加目录映像,使得目录映像复原速度可以被自动加速。

当再清除发生频率等于或高于预定阈值时,或者当再清除发生时间间隔短于预定阈值时,第二服务器系统3b自动抑制向第一服务器系统3a的目录映像和附加目录映像的传送,从而可以抑制再清除的发生并且可以防止通过再清除浪费信息处理系统1中的资源。

已经为促进理解本发明说明了本实施方式并且不是要限制本发明的范围。可以修改或改进本发明而不脱离其精神并且包括其等效。

例如,根据以上说明,文件共享处理单元311、文件系统312、数据操作请求接收单元313、数据复制/迁移处理单元314、文件访问日志获取单元317和内核/驱动程序318的功能被实现在虚拟机310中。但是,这些功能并非必须实现在虚拟机310中。

上文描述的目录映像复原处理S3400用于复原在故障发生之前存在于文件系统312配置的目录映像的根目录中的元数据以及存在于根目录中的文件的元数据。但是,如果第一服务器系统3a仍有充足的容量,第一服务器系统3a可以将目录映像复原到其他从属目录。

当前第1页 1 2 3
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1