本申請(qǐng)是國(guó)際申請(qǐng)?zhí)枮镻CT/JP2010/007254、國(guó)際申請(qǐng)日為2010年12月14日、進(jìn)入中國(guó)國(guó)家階段日期為2013年2月18日、中國(guó)國(guó)家申請(qǐng)?zhí)枮?01080068637.4的發(fā)明專利申請(qǐng)的分案申請(qǐng)。
技術(shù)領(lǐng)域
本發(fā)明涉及信息處理系統(tǒng)中的故障恢復(fù)方法和信息處理系統(tǒng)。
背景技術(shù):
PTL1公開(kāi)了一種恢復(fù)方法,其通過(guò)減少恢復(fù)所述層級(jí)式存儲(chǔ)系統(tǒng)所需的時(shí)間來(lái)恢復(fù)高速運(yùn)行的層級(jí)式存儲(chǔ)系統(tǒng)。在這個(gè)方法中,運(yùn)行在操作系統(tǒng)上的層級(jí)式存儲(chǔ)系統(tǒng)包括:第一存儲(chǔ)裝置,具有:具有包含文件的屬性信息的索引節(jié)點(diǎn)以及使用索引節(jié)點(diǎn)號(hào)唯一地標(biāo)識(shí)所述文件的文件系統(tǒng);以及第二存儲(chǔ)裝置,其存儲(chǔ)包括所述文件系統(tǒng)的備份數(shù)據(jù)的數(shù)據(jù)。當(dāng)通過(guò)使用所述第二存儲(chǔ)裝置中的所述備份數(shù)據(jù)在所述第一存儲(chǔ)裝置中復(fù)原所述文件系統(tǒng)時(shí),使用包含在所述備份數(shù)據(jù)中的索引節(jié)點(diǎn)號(hào),復(fù)原目標(biāo)文件的所述索引節(jié)點(diǎn)號(hào)被指定,以便向所述文件系統(tǒng)中的所述復(fù)原目標(biāo)文件分配所述指定的索引節(jié)點(diǎn)號(hào)。
PTL2公開(kāi)了一種存儲(chǔ)管理(HSM)控制方法,用于控制包括第一存儲(chǔ)和第二存儲(chǔ)的HSM,以高效地管理HSM中名稱空間的備份生成。這個(gè)HSM控制方法包括:每次在HSM中執(zhí)行備份時(shí),創(chuàng)建包含所述備份的生成號(hào)的所述生成信息;以及管理名稱空間信息歷史包括名稱空間信息,它是關(guān)于HSM中每個(gè)文件的名稱空間的信息,以及包括通過(guò)使用在所述生成信息創(chuàng)建步驟中創(chuàng)建的所述生成號(hào)用有效名稱空間信息表明生成號(hào)的范圍的有效生成號(hào)范圍。
引用列表
專利文獻(xiàn)
PTL1:日本專利申請(qǐng)公開(kāi)號(hào)2005-316708
PTL2:日本專利申請(qǐng)公開(kāi)號(hào)2008-040699
技術(shù)實(shí)現(xiàn)要素:
技術(shù)問(wèn)題
在一個(gè)信息處理系統(tǒng)中,在一些情況下,使用在數(shù)據(jù)中心等處提供的備份裝置來(lái)管理在公司的分公司、營(yíng)業(yè)部等處提供的信息裝置的數(shù)據(jù)的備份。當(dāng)信息裝置中發(fā)生故障時(shí),只有在備份裝置中全部備份數(shù)據(jù)在信息裝置中被復(fù)原以用于信息裝置的服務(wù)在信息裝置恢復(fù)之后重啟。因此,在例如備份數(shù)據(jù)的尺寸大的情況下,服務(wù)重啟可能需要很長(zhǎng)時(shí)間,由此用戶的工作等可能會(huì)受其影響。
本發(fā)明是在這種背景下做出的,本發(fā)明的主要目的是提供一種信息處理系統(tǒng)中的故障恢復(fù)方法和一種信息處理系統(tǒng),其能夠在故障恢復(fù)時(shí)迅速地重啟服務(wù)。
問(wèn)題的解決方案
本發(fā)明用于實(shí)現(xiàn)該目的的一個(gè)方面是一種信息處理系統(tǒng)中的故障恢復(fù)方法,包括:第一服務(wù)器系統(tǒng),包括第一文件系統(tǒng)并且接收數(shù)據(jù)I/O請(qǐng)求,以及第二服務(wù)器系統(tǒng),包括第二文件系統(tǒng)并且可通信地耦合到所述第一服務(wù)器系統(tǒng),其中所述第一服務(wù)器系統(tǒng)將作為所述數(shù)據(jù)I/O請(qǐng)求目標(biāo)的文件的數(shù)據(jù)存儲(chǔ)在第一存儲(chǔ)裝置中,所述第二服務(wù)器系統(tǒng)將作為所述數(shù)據(jù)I/O請(qǐng)求目標(biāo)的文件的數(shù)據(jù)存儲(chǔ)在第二存儲(chǔ)裝置中,所述第一服務(wù)器系統(tǒng)向所述第二服務(wù)器系統(tǒng)傳送存儲(chǔ)在所述第一存儲(chǔ)裝置中的文件的數(shù)據(jù),以及所述第二服務(wù)器系統(tǒng)將從所述第一服務(wù)器傳送的數(shù)據(jù)存儲(chǔ)在所述第二存儲(chǔ)裝置中,所述方法包括:在所述第一服務(wù)器系統(tǒng)在從故障中恢復(fù)的時(shí)刻開(kāi)始接收所述數(shù)據(jù)I/O請(qǐng)求之前,所述第二服務(wù)器系統(tǒng)向所述第一服務(wù)器系統(tǒng)發(fā)送存儲(chǔ)于所述第二存儲(chǔ)裝置中的目錄映像中的最高級(jí)層到預(yù)定較低級(jí)層的目錄的目錄映像;當(dāng)在所述第一存儲(chǔ)裝置中復(fù)原從所述第二服務(wù)器系統(tǒng)傳送的所述目錄映像之后,所述第一服務(wù)器系統(tǒng)恢復(fù)對(duì)所述數(shù)據(jù)I/O請(qǐng)求的所述接收;在恢復(fù)對(duì)所述數(shù)據(jù)I/O的所述接收之后,所述第一服務(wù)器系統(tǒng)向所述第二服務(wù)器系統(tǒng)請(qǐng)求在所述目錄映像在所述第一存儲(chǔ)裝置中未被復(fù)原時(shí)處理和接收數(shù)據(jù)I/O請(qǐng)求所需的目錄映像;所述第二服務(wù)器系統(tǒng)根據(jù)從所述第一服務(wù)器系統(tǒng)發(fā)送的所述請(qǐng)求從所述第二存儲(chǔ)裝置讀取所述目錄映像并且將所述目錄映像傳送給所述第一服務(wù)器系統(tǒng);以及所述第一服務(wù)器系統(tǒng)基于從所述第二存儲(chǔ)裝置傳送的所述目錄映像來(lái)執(zhí)行對(duì)所述數(shù)據(jù)I/O請(qǐng)求的處理,并且在所述第一存儲(chǔ)裝置中復(fù)原所述目錄映像。
在實(shí)施方式和圖的說(shuō)明部分中本申請(qǐng)公開(kāi)的其他問(wèn)題和解決方案將變得更明白。
發(fā)明的有利效果
根據(jù)本發(fā)明,服務(wù)可以在故障恢復(fù)時(shí)被迅速重啟。
附圖說(shuō)明
[圖1]圖1是示出了信息處理系統(tǒng)1的示意性配置的框圖;
[圖2]圖2是客戶端裝置2的硬件的示例;
[圖3]圖3是可用作第一服務(wù)器系統(tǒng)3a或第二服務(wù)器系統(tǒng)3b的
信息處理裝置2的硬件的示例;
[圖4]圖4是第一存儲(chǔ)裝置10a或第二存儲(chǔ)裝置10b的硬件的示例;
[圖5]圖5是通道板11的硬件的示例;
[圖6]圖6是處理器板12的硬件的示例;
[圖7]圖7是驅(qū)動(dòng)器板13的硬件的示例;
[圖8]圖8是示出了存儲(chǔ)裝置10的基本功能的框圖;
[圖9]圖9是闡釋寫(xiě)處理S900的流程圖;
[圖10]圖10是闡釋讀取處理S1000的流程圖;
[圖11]圖11是示出客戶端裝置2提供的主要功能的框圖;
[圖12]圖12是示出了第一服務(wù)器系統(tǒng)3a提供的主要功能以及第一服務(wù)器系統(tǒng)3a中管理的主要信息(數(shù)據(jù))的框圖;
[圖13]圖13是復(fù)制信息管理表331的示例;
[圖14]圖14是文件訪問(wèn)日志335的示例;
[圖15]圖15是示出了第二服務(wù)器系統(tǒng)3b提供的主要功能以及第二服務(wù)器系統(tǒng)3b中管理的主要信息(數(shù)據(jù))的框圖;
[圖16]圖16是復(fù)原日志365的示例;
[圖17]圖17是抑制標(biāo)志管理表366的示例;
[圖18]圖18是撤回日志367的示例;
[圖19]圖19示出了索引節(jié)點(diǎn)的框圖;
[圖20]圖20是示出了索引節(jié)點(diǎn)的概念的框圖;
[圖21]圖21是示出了索引節(jié)點(diǎn)的概念的框圖;
[圖22]圖22是一般索引節(jié)點(diǎn)管理表1912的示例;
[圖23]圖23是本實(shí)施方式的索引節(jié)點(diǎn)管理表1912的示例;
[圖24]圖24是示出了復(fù)制開(kāi)始處理S2400的框圖;
[圖25]圖25是示出了清除候選選擇處理S2500的框圖;
[圖26]圖26是示出了清除處理S2600的框圖;
[圖27]圖27是示出了復(fù)制文件更新處理S2700的框圖;
[圖28]圖28是示出了復(fù)制文件參考處理S2800的框圖;
[圖29]圖29是示出了同步處理S2900的框圖;
[圖30]圖30是示出了元數(shù)據(jù)訪問(wèn)處理S3000的框圖;
[圖31]圖31是示出了已清除文件實(shí)體參考處理S3100的框圖;
[圖32]圖32是示出了已清除文件實(shí)體更新處理S3200的框圖;
[圖33]圖33是示出了虛擬機(jī)恢復(fù)處理S3300的框圖;
[圖34]圖34是示出了目錄映像提前復(fù)原處理S3400的框圖;
[圖35]圖35是示出了按需復(fù)原處理S3500的框圖;
[圖36]圖36是示出了如何在第一存儲(chǔ)裝置10a中逐步恢復(fù)目錄映像的框圖;
[圖37]圖37是示出了按需復(fù)原處理(包括復(fù)原目標(biāo)的添加)S3700的框圖;
[圖38]圖38是示出了再清除避免處理S3800的框圖;
[圖39]圖39是示出了復(fù)制開(kāi)始處理S2400的細(xì)節(jié)的流程圖;
[圖40]圖40是示出了清除候選選擇處理S2500的細(xì)節(jié)的流程圖;
[圖41]圖41是示出了清除處理S2600的細(xì)節(jié)的流程圖;
[圖42]圖42是示出了復(fù)制文件更新處理S2700的細(xì)節(jié)的流程圖;
[圖43]圖43是示出了復(fù)制文件參考處理S2800的細(xì)節(jié)的流程圖;
[圖44]圖44是示出了同步處理S2900的細(xì)節(jié)的流程圖;
[圖45]圖45是示出了元數(shù)據(jù)訪問(wèn)處理S3000的細(xì)節(jié)的流程圖;
[圖46]圖46是示出了已清除文件實(shí)體參考處理S3100的細(xì)節(jié)的流程圖;
[圖47]圖47是示出了已清除文件實(shí)體更新處理S3200的細(xì)節(jié)的流程圖;
[圖48]圖48是示出了虛擬機(jī)恢復(fù)處理S3300以及目錄映像提前恢復(fù)處理S3400的細(xì)節(jié)的流程圖;
[圖49]圖49是示出了按需復(fù)原處理S3500的細(xì)節(jié)的流程圖;
[圖50]圖50是示出了按需復(fù)原處理(包括添加復(fù)原目標(biāo))S3700的細(xì)節(jié)的流程圖;
[圖51]圖51是示出了按需復(fù)原處理(包括復(fù)原目標(biāo)的添加)S3700的細(xì)節(jié)的流程圖(從圖50繼續(xù));
[圖52]圖52是示出了再清除避免處理S3800的細(xì)節(jié)的流程圖。
具體實(shí)施方式
此后,結(jié)合附圖描述本發(fā)明的實(shí)施方式。
圖1示出了被描述為實(shí)施方式的信息處理系統(tǒng)1的示意性配置。如圖1所示,作為本實(shí)施方式的示例的信息處理系統(tǒng)1包括在貿(mào)易公司的分公司和營(yíng)業(yè)部、電器制造廠等用戶實(shí)際執(zhí)行業(yè)務(wù)的場(chǎng)所(此后,稱為邊緣50)處提供的硬件,以及在諸如管理信息處理系統(tǒng)(應(yīng)用服務(wù)器/存儲(chǔ)系統(tǒng)等)或提供云服務(wù)的數(shù)據(jù)中心處(此后,稱為核心51)提供的硬件。
如圖1所示,邊緣50包括第一服務(wù)器系統(tǒng)3a、第一存儲(chǔ)裝置10a和客戶端裝置2。核心51包括第二服務(wù)器系統(tǒng)3b和第二存儲(chǔ)裝置10b。
提供在邊緣的第一服務(wù)器系統(tǒng)3a例如是包括文件系統(tǒng)的文件存儲(chǔ)裝置,其向邊緣處提供的客戶端裝置2提供對(duì)每個(gè)文件數(shù)據(jù)的管理功能。提供在核心的第二服務(wù)器系統(tǒng)3b例如是存檔裝置,其充當(dāng)提供在邊緣的第一存儲(chǔ)裝置10a的數(shù)據(jù)檔案(庫(kù))。
如圖1所示,客戶端裝置2和第一服務(wù)器系統(tǒng)3a通過(guò)通信網(wǎng)絡(luò)5通信地耦合。而且,第一服務(wù)器系統(tǒng)3a和第一存儲(chǔ)裝置10a通過(guò)第一存儲(chǔ)網(wǎng)絡(luò)6a通信地耦合。而且,第二服務(wù)器系統(tǒng)3b和第二存儲(chǔ)裝置10b通過(guò)第二存儲(chǔ)網(wǎng)絡(luò)6b通信地耦合。而且,第一服務(wù)器系統(tǒng)3a和第二服務(wù)器系統(tǒng)3b通過(guò)通信網(wǎng)絡(luò)7通信地耦合。
通信網(wǎng)絡(luò)5和通信網(wǎng)絡(luò)7例如是LAN(局域網(wǎng))、WAN(廣域網(wǎng))、因特網(wǎng)、公共通信網(wǎng)絡(luò)、專線等。第一存儲(chǔ)網(wǎng)絡(luò)6a和第二存儲(chǔ)網(wǎng)絡(luò)6b例如是LAN、WAN、SAN(存儲(chǔ)區(qū)域網(wǎng)絡(luò))、因特網(wǎng)、公共通信網(wǎng)絡(luò)、專線等。
根據(jù)例如TCP/IP、iSCSI(因特網(wǎng)小型計(jì)算機(jī)系統(tǒng)接口)、光纖通道協(xié)議、FICON(光纖連接)(注冊(cè)商標(biāo))、ESCON(企業(yè)其他連接)(注冊(cè)商標(biāo))、ACONARC(先進(jìn)連接架構(gòu))(注冊(cè)商標(biāo))、FIBARC(光纖連接架構(gòu))(注冊(cè)商標(biāo))等協(xié)議,通過(guò)通信網(wǎng)絡(luò)5、通信網(wǎng)絡(luò)7、第一存儲(chǔ)網(wǎng)絡(luò)6a或第二存儲(chǔ)網(wǎng)絡(luò)6b執(zhí)行通信。
客戶端裝置2是使用第一存儲(chǔ)裝置10a通過(guò)第一服務(wù)器系統(tǒng)3a提供的存儲(chǔ)區(qū)域的信息處理裝置(計(jì)算機(jī)),并且例如是個(gè)人計(jì)算機(jī)、辦公計(jì)算機(jī)等。在客戶端裝置2中,例如文件系統(tǒng)和內(nèi)核以及由軟件模塊實(shí)現(xiàn)的驅(qū)動(dòng)程序的操作系統(tǒng)以及應(yīng)用等被操作。
圖2示出客戶端裝置2的硬件。如圖2所示,客戶端裝置2包括CPU21、易失或非易失存儲(chǔ)器22(RAM或ROM)、存儲(chǔ)設(shè)備23(例如,硬盤驅(qū)動(dòng)器、半導(dǎo)體存儲(chǔ)器(SSD(固態(tài)驅(qū)動(dòng)器))、輸入設(shè)備24例如鍵盤和鼠標(biāo)、輸出設(shè)備25例如液晶顯示器和打印機(jī),以及網(wǎng)絡(luò)接口(此后,網(wǎng)絡(luò)I/F26)例如NIC(網(wǎng)絡(luò)接口卡)(此后,LAN適配器261)。
第一服務(wù)器系統(tǒng)3a是通過(guò)利用第一存儲(chǔ)裝置10a提供的存儲(chǔ)區(qū)域?yàn)榭蛻舳搜b置2提供信息處理服務(wù)的信息裝置。第一服務(wù)器系統(tǒng)3a包括個(gè)人計(jì)算機(jī)、大型機(jī)、辦公計(jì)算機(jī)等。當(dāng)訪問(wèn)第一存儲(chǔ)裝置10a提供的存儲(chǔ)區(qū)域時(shí),第一服務(wù)器系統(tǒng)3a通過(guò)第一存儲(chǔ)網(wǎng)絡(luò)6a向第一存儲(chǔ)裝置10a傳送包含數(shù)據(jù)I/O請(qǐng)求(數(shù)據(jù)寫(xiě)請(qǐng)求、數(shù)據(jù)讀取請(qǐng)求等)的數(shù)據(jù)幀(此后簡(jiǎn)稱為幀)。幀例如是光纖通道幀(FC幀(FC:光纖通道))。
第二服務(wù)器系統(tǒng)3b是通過(guò)利用第二存儲(chǔ)裝置10b提供的存儲(chǔ)區(qū)域執(zhí)行信息處理的信息裝置。第二服務(wù)器系統(tǒng)3b包括個(gè)人計(jì)算機(jī)、大型機(jī)、辦公計(jì)算機(jī)等。當(dāng)訪問(wèn)第二存儲(chǔ)裝置10b提供的存儲(chǔ)區(qū)域時(shí),第二服務(wù)器系統(tǒng)3b通過(guò)第二存儲(chǔ)網(wǎng)絡(luò)6b向第二存儲(chǔ)裝置10b傳送包含數(shù)據(jù)I/O請(qǐng)求的幀。
圖3示出第一服務(wù)器系統(tǒng)3a的硬件。如圖3所示,第一服務(wù)器系統(tǒng)3a包括CPU31、易失或非易失存儲(chǔ)器32(RAM或ROM)、存儲(chǔ)設(shè)備33(例如,硬盤驅(qū)動(dòng)器、半導(dǎo)體存儲(chǔ)器(SSD)、輸入設(shè)備34例如鍵盤和鼠標(biāo)、輸出設(shè)備35例如液晶顯示器和打印機(jī),以及網(wǎng)絡(luò)接口(此后,網(wǎng)絡(luò)I/F 36)例如NIC(此后,LAN適配器361)以及HBA(此后,F(xiàn)C適配器362),以及使用定時(shí)電路、RTC等配置的定時(shí)器37。存在于核心側(cè)的第二服務(wù)器系統(tǒng)3b也具有與第一服務(wù)器系統(tǒng)3a相同或相似的硬件配置。
圖4示出第一存儲(chǔ)裝置10a的硬件。第一存儲(chǔ)裝置10a例如是盤陣列裝置。存在于核心側(cè)的第二存儲(chǔ)裝置10b也具有與第一存儲(chǔ)裝置10a相同或相似的硬件配置。存儲(chǔ)裝置10接收從服務(wù)器系統(tǒng)3(第一服務(wù)器系統(tǒng)3a或第二服務(wù)器系統(tǒng)3b,以下同樣適用)傳送的數(shù)據(jù)I/O請(qǐng)求,以及響應(yīng)于接收的數(shù)據(jù)I/O請(qǐng)求,訪問(wèn)存儲(chǔ)介質(zhì)并向服務(wù)器系統(tǒng)3傳送數(shù)據(jù)或響應(yīng)。
如圖4所示,存儲(chǔ)裝置10包括至少一個(gè)通道板11,至少一個(gè)處理器板12(微處理器)、至少一個(gè)驅(qū)動(dòng)器板13、高速緩存存儲(chǔ)器14、共享存儲(chǔ)器15、內(nèi)部開(kāi)關(guān)16、存儲(chǔ)設(shè)備17和服務(wù)處理器(SVP)18。通道板11、處理器板12、驅(qū)動(dòng)器板13、高速緩存存儲(chǔ)器14和共享存儲(chǔ)器15通過(guò)內(nèi)部開(kāi)關(guān)16相互通信地耦合。
通道板11接收從服務(wù)器系統(tǒng)3傳送的幀,并且針對(duì)包含在所接收幀中的數(shù)據(jù)I/O請(qǐng)求向服務(wù)器系統(tǒng)3a發(fā)送包含過(guò)程(例如,讀數(shù)據(jù)、讀完成報(bào)告或?qū)懲瓿蓤?bào)告)的響應(yīng)的幀。
響應(yīng)于上述包含在通道板11接收的幀中的數(shù)據(jù)I/O請(qǐng)求,處理器板12在通道板11、驅(qū)動(dòng)器板13和高速緩存存儲(chǔ)器14之間執(zhí)行數(shù)據(jù)傳輸?shù)奶幚?使用直接存儲(chǔ)器訪問(wèn)(DMA)等的高速大容量數(shù)據(jù)傳輸)。處理器板12在通道板11和驅(qū)動(dòng)器板13之間執(zhí)行數(shù)據(jù)(從存儲(chǔ)設(shè)備17讀取的或要寫(xiě)到存儲(chǔ)設(shè)備17中的數(shù)據(jù))傳輸(遞送),并且對(duì)將要存儲(chǔ)在高速緩存存儲(chǔ)器14中的數(shù)據(jù)進(jìn)行分級(jí)(從存儲(chǔ)設(shè)備17讀取的數(shù)據(jù))和解分級(jí)(寫(xiě)入存儲(chǔ)設(shè)備17的數(shù)據(jù))。
使用能夠高速訪問(wèn)的RAM(隨機(jī)訪問(wèn)存儲(chǔ)器)配置高速緩存存儲(chǔ)器14。高速緩存存儲(chǔ)器14中存儲(chǔ)要寫(xiě)到存儲(chǔ)設(shè)備17中的數(shù)據(jù)(此后,稱為寫(xiě)數(shù)據(jù))、從存儲(chǔ)設(shè)備17讀取的數(shù)據(jù)(此后,稱為讀數(shù)據(jù))等等。共享存儲(chǔ)器15中存儲(chǔ)用于控制存儲(chǔ)裝置10的各種信息。
當(dāng)從存儲(chǔ)設(shè)備17讀取數(shù)據(jù)或向存儲(chǔ)設(shè)備17寫(xiě)數(shù)據(jù)時(shí),驅(qū)動(dòng)器板13與存儲(chǔ)設(shè)備17執(zhí)行通信。使用例如高速交叉開(kāi)關(guān)配置內(nèi)部開(kāi)關(guān)16。例如,根據(jù)協(xié)議例如光纖通道、iSCSI、TCP/IP等執(zhí)行通過(guò)內(nèi)部開(kāi)關(guān)16的通信。
存儲(chǔ)設(shè)備17包括多個(gè)存儲(chǔ)驅(qū)動(dòng)器171。每個(gè)存儲(chǔ)驅(qū)動(dòng)器171例如是硬盤驅(qū)動(dòng)器、半導(dǎo)體存儲(chǔ)設(shè)備(SSD)或者例如SAS(串行連接SCSI)、SATA(串行ATA)、FC(光纖通道)、PATA(并行ATA和SCSI等類型。
存儲(chǔ)設(shè)備17為服務(wù)器系統(tǒng)3提供以邏輯存儲(chǔ)區(qū)域?yàn)閱挝坏拇鎯?chǔ)設(shè)備17的存儲(chǔ)區(qū)域,這些邏輯存儲(chǔ)區(qū)域是通過(guò)根據(jù)例如RAID(冗余廉價(jià)(或獨(dú)立)磁盤陣列)等方法來(lái)控制存儲(chǔ)驅(qū)動(dòng)器171而提供的。邏輯存儲(chǔ)區(qū)域是例如包括RAID組(校驗(yàn)組)的邏輯設(shè)備(LDEV172,(LDEV:邏輯設(shè)備))。
存儲(chǔ)裝置10為服務(wù)器系統(tǒng)3提供使用LDEV 172而配置的邏輯存儲(chǔ)區(qū)域(此后,稱為L(zhǎng)U(邏輯單元或邏輯卷))。存儲(chǔ)裝置10管理LU和LDEV 172之間的對(duì)應(yīng)(關(guān)系)?;趯?duì)應(yīng)關(guān)系,存儲(chǔ)裝置10標(biāo)識(shí)對(duì)應(yīng)于LU的LDEV 172或標(biāo)識(shí)對(duì)應(yīng)于LDEV 172的LU。
圖5示出每一通道板11的硬件配置。如圖5所示,通道板11包括具有用于與服務(wù)器系統(tǒng)3通信的端口(通信端口)的外部通信接口(此后,稱為外部網(wǎng)絡(luò)I/F 111)、處理器112(包括幀處理芯片和幀傳輸芯片)、存儲(chǔ)器113和包括用于與處理器板12通信的端口(通信端口)的內(nèi)部通信接口(此后,稱為內(nèi)部網(wǎng)絡(luò)I/F 114)。
使用NIC(網(wǎng)絡(luò)接口卡)、HBA(主機(jī)總線適配器)等來(lái)配置外部網(wǎng)絡(luò)I/F 111。使用CPU(中央處理單元)、MPU(微處理單元)等來(lái)配置處理器112。存儲(chǔ)器113是RAM(隨機(jī)訪問(wèn)存儲(chǔ)器)或ROM(只讀取存儲(chǔ)器)。存儲(chǔ)器113中存儲(chǔ)微程序。當(dāng)處理器112讀取和執(zhí)行存儲(chǔ)在存儲(chǔ)器113中的上述微程序時(shí),通道板11提供的多種功能被實(shí)現(xiàn)。內(nèi)部網(wǎng)絡(luò)I/F 114與處理器板12、驅(qū)動(dòng)器板13、高速緩存存儲(chǔ)器14和共享存儲(chǔ)器15通過(guò)內(nèi)部開(kāi)關(guān)16通信。
圖6示出了處理器板12的硬件配置。處理器板12包括內(nèi)部網(wǎng)絡(luò)接口(此后,稱為內(nèi)部網(wǎng)絡(luò)I/F 121)、處理器122和存儲(chǔ)器123(本地存儲(chǔ)器),其中來(lái)自處理器122的訪問(wèn)性能高于共享存儲(chǔ)器15(即,對(duì)其高速訪問(wèn)是可能的)。存儲(chǔ)器123中存儲(chǔ)微程序。當(dāng)處理器122讀取和執(zhí)行存儲(chǔ)在存儲(chǔ)器123中的微程序時(shí),存儲(chǔ)器板12提供的多種功能被實(shí)現(xiàn)。
內(nèi)部網(wǎng)絡(luò)I/F 121與通道板11、驅(qū)動(dòng)器板13、高速緩存存儲(chǔ)器14和共享存儲(chǔ)器15通過(guò)內(nèi)部開(kāi)關(guān)16通信。使用CPU、MPU、DMA(直接存儲(chǔ)器訪問(wèn))等配置處理器122。存儲(chǔ)器123是RAM或ROM。處理器122可訪問(wèn)存儲(chǔ)器123和共享存儲(chǔ)器15。
圖7示出驅(qū)動(dòng)器板13的硬件配置。驅(qū)動(dòng)器板13包括內(nèi)部通信接口(此后,稱為內(nèi)部網(wǎng)絡(luò)I/F 131)、處理器132、存儲(chǔ)器133和驅(qū)動(dòng)器接口(此后,稱為驅(qū)動(dòng)器I/F 134)。存儲(chǔ)器133中存儲(chǔ)微程序。當(dāng)處理器132讀取和執(zhí)行存儲(chǔ)在存儲(chǔ)器133中的微程序時(shí),驅(qū)動(dòng)器板13提供的多種功能被實(shí)現(xiàn)。內(nèi)部網(wǎng)絡(luò)I/F 131與通道板11、處理器板12、高速緩存存儲(chǔ)器14和共享存儲(chǔ)器15通過(guò)內(nèi)部開(kāi)關(guān)16通信。使用CPU、MPU等配置處理器132。存儲(chǔ)器133例如是RAM或ROM。驅(qū)動(dòng)器I/F 134與存儲(chǔ)設(shè)備17通信。
圖4中所示的維護(hù)設(shè)備18執(zhí)行存儲(chǔ)裝置10的組件的控制和狀態(tài)監(jiān)測(cè)。維護(hù)設(shè)備18是個(gè)人計(jì)算機(jī)、辦公計(jì)算機(jī)等。維護(hù)設(shè)備18按需要通過(guò)例如內(nèi)部開(kāi)關(guān)16、LAN等通信裝置與存儲(chǔ)裝置10的組件例如通道板11、處理器板12、驅(qū)動(dòng)器板13、高速緩存存儲(chǔ)器14和共享存儲(chǔ)器15、內(nèi)部開(kāi)關(guān)16等通信,以便從組件獲得操作信息等并且為管理裝置19提供信息。此外,維護(hù)設(shè)備18根據(jù)從管理裝置19傳送的控制信息和操作信息來(lái)執(zhí)行組件的設(shè)置、控制和維護(hù)(包括軟件安裝和更新)。
管理裝置19是通過(guò)LAN等通信地耦合到維護(hù)設(shè)備18的計(jì)算機(jī)。管理裝置19包括使用GUI(圖形用戶界面)和CLI(命令行界面)用于控制和監(jiān)測(cè)存儲(chǔ)裝置10的用戶界面。
圖8示出存儲(chǔ)裝置10的基本功能。如圖8所示,存儲(chǔ)裝置10包括I/O處理單元811。I/O處理單元811包括:執(zhí)行有關(guān)寫(xiě)到存儲(chǔ)設(shè)備17的處理的數(shù)據(jù)寫(xiě)處理單元8111,以及執(zhí)行有關(guān)從存儲(chǔ)設(shè)備17讀取數(shù)據(jù)處理的數(shù)據(jù)讀取處理單元8112。
當(dāng)存儲(chǔ)在存儲(chǔ)器113、123和133中的微程序分別被處理器112、122和132讀取和執(zhí)行時(shí),I/O處理單元811的功能由包括在存儲(chǔ)裝置10的通道板11、處理器板12和驅(qū)動(dòng)器板13中的硬件實(shí)現(xiàn)。
圖9是闡釋當(dāng)存儲(chǔ)裝置1(第一存儲(chǔ)裝置10a或第二存儲(chǔ)裝置10b,以下同樣適用)接收包括來(lái)自服務(wù)器3(第一服務(wù)器系統(tǒng)3a或第二服務(wù)器系統(tǒng)3b)的數(shù)據(jù)寫(xiě)請(qǐng)求的幀時(shí),I/O處理單元811的數(shù)據(jù)寫(xiě)處理單元8111執(zhí)行的基本處理(此后,稱為寫(xiě)處理S900)的流程圖。在下文中,結(jié)合圖9說(shuō)明寫(xiě)處理S900。注意,在下文說(shuō)明中,數(shù)字前綴的字母“S”表明處理的步驟。
如圖9所示,首先,從服務(wù)器系統(tǒng)3傳送的數(shù)據(jù)寫(xiě)請(qǐng)求的幀被存儲(chǔ)裝置10的通道板11接收(S911、S912)。
通道板11在從服務(wù)器系統(tǒng)3接收到包括數(shù)據(jù)寫(xiě)請(qǐng)求的幀時(shí)將該接收通知給處理器板12(S913)。
處理器板12在從通道板11接收上述通知時(shí)(S921),基于幀的數(shù)據(jù)寫(xiě)請(qǐng)求產(chǎn)生驅(qū)動(dòng)器寫(xiě)請(qǐng)求,在高速緩存存儲(chǔ)器14中存儲(chǔ)寫(xiě)數(shù)據(jù),并且利用對(duì)上述通知的確認(rèn)對(duì)通道板11做出響應(yīng)(S922)。處理器板12向驅(qū)動(dòng)器板13傳送產(chǎn)生的驅(qū)動(dòng)器寫(xiě)請(qǐng)求(S923)。
通道板11在從處理器板12接收上述響應(yīng)時(shí)向服務(wù)器系統(tǒng)3傳送完成報(bào)告(S914),并且服務(wù)器系統(tǒng)3從通道板11接收完成報(bào)告(S915)。
驅(qū)動(dòng)器板13在從處理器板12接收驅(qū)動(dòng)器寫(xiě)請(qǐng)求時(shí),將接收的驅(qū)動(dòng)器寫(xiě)請(qǐng)求登記到用于寫(xiě)處理的隊(duì)列(S924)。
驅(qū)動(dòng)器板13按需要從用于寫(xiě)處理的等待隊(duì)列讀取驅(qū)動(dòng)器寫(xiě)請(qǐng)求,從高速緩存存儲(chǔ)器14讀取在讀取驅(qū)動(dòng)器寫(xiě)請(qǐng)求中指定的寫(xiě)數(shù)據(jù),并且將所讀取的寫(xiě)數(shù)據(jù)寫(xiě)到存儲(chǔ)設(shè)備(存儲(chǔ)驅(qū)動(dòng)器171)中(S926)。然后驅(qū)動(dòng)器板13將表明響應(yīng)于驅(qū)動(dòng)器寫(xiě)請(qǐng)求已完成對(duì)寫(xiě)數(shù)據(jù)的寫(xiě)入的報(bào)告(完成報(bào)告)通知給處理器板12(S927)。
處理器板12接收從驅(qū)動(dòng)器板13傳送的完成報(bào)告(S928)。
圖10是圖示當(dāng)存儲(chǔ)裝置10從服務(wù)器系統(tǒng)3接收包括數(shù)據(jù)讀取請(qǐng)求的幀時(shí),存儲(chǔ)裝置10中I/O處理單元811的數(shù)據(jù)讀取處理單元8112執(zhí)行的I/O處理(此后,讀取處理S1000)的流程圖。下面參考圖10說(shuō)明讀取處理S1000。
如圖10所示,首先,從服務(wù)器3傳送的幀被存儲(chǔ)裝置10的通道板11接收(S1011,S1012)。
當(dāng)從服務(wù)器系統(tǒng)3接收包括數(shù)據(jù)讀取請(qǐng)求的幀時(shí),通道板11通知處理器板12以及驅(qū)動(dòng)器板13接收(S1013)。
在從通道板11(S1014)接收通知時(shí),驅(qū)動(dòng)器板13讀取數(shù)據(jù)來(lái)自存儲(chǔ)設(shè)備(存儲(chǔ)驅(qū)動(dòng)器171)的幀中的數(shù)據(jù)讀取請(qǐng)求指定的數(shù)據(jù)(例如,用LBA(邏輯塊地址)指定的數(shù)據(jù))(S1015)。當(dāng)讀數(shù)據(jù)存在于高速緩存存儲(chǔ)器14中時(shí)(即,在高速緩存命中的情況下),來(lái)自存儲(chǔ)設(shè)備17的讀取處理(S1015)被省略。
處理器板12將驅(qū)動(dòng)器板13讀取的數(shù)據(jù)寫(xiě)到高速緩存存儲(chǔ)器14中(S1016)。處理器板12將寫(xiě)到高速緩存存儲(chǔ)器14中的數(shù)據(jù)按需要傳輸?shù)酵ǖ腊?1(S1017)。
當(dāng)接收按需要從處理器板12傳送的讀取數(shù)據(jù)時(shí),通道板11按順序向服務(wù)器系統(tǒng)3傳送讀數(shù)據(jù)(S1018)。當(dāng)讀數(shù)據(jù)的傳送完成時(shí),通道板11向服務(wù)器系統(tǒng)3傳送完成報(bào)告(S1019)。服務(wù)器系統(tǒng)3接收讀取數(shù)據(jù)和完成報(bào)告(S1020,S1021)。
圖11示出客戶端裝置2的主要功能。如圖11所示,客戶端裝置2提供應(yīng)用211、文件系統(tǒng)212和內(nèi)核/驅(qū)動(dòng)程序213的功能。當(dāng)存儲(chǔ)在存儲(chǔ)器22和存儲(chǔ)設(shè)備23中的程序被客戶端裝置2的CPU 21讀取和執(zhí)行時(shí),這些功能被實(shí)現(xiàn)。
文件系統(tǒng)212為客戶端裝置2提供與以文件為基礎(chǔ)或以目錄為基礎(chǔ)而去往和來(lái)自邏輯卷(LU)的I/O有關(guān)的功能。文件系統(tǒng)213例如基于FAT(文件分配表)、NTFS、HFS(層級(jí)式文件系統(tǒng))、ext2(第二擴(kuò)展文件系統(tǒng))、ext3(第三擴(kuò)展文件系統(tǒng))、ext4(第四擴(kuò)展文件系統(tǒng))、UDF(統(tǒng)一光盤格式)、HPFS(高性能文件系統(tǒng))、JFS(日志文件系統(tǒng))、UFS(Unix文件系統(tǒng))、VTOC(內(nèi)容卷表)、XFS等。
通過(guò)執(zhí)行構(gòu)成操作系統(tǒng)的軟件的內(nèi)核模塊和驅(qū)動(dòng)程序模塊,實(shí)現(xiàn)內(nèi)核/驅(qū)動(dòng)程序213。內(nèi)核模塊包括用于實(shí)現(xiàn)操作系統(tǒng)的基本功能的程序,例如針對(duì)客戶端裝置2中執(zhí)行的軟件而處理管理、處理調(diào)度、管理存儲(chǔ)區(qū)域、處理來(lái)自硬件的中斷請(qǐng)求,等等。驅(qū)動(dòng)程序模塊包括如下程序,內(nèi)核模塊利用該程序與構(gòu)成客戶端裝置2的硬件以及當(dāng)與客戶端裝置2耦合時(shí)使用的外圍設(shè)備執(zhí)行通信。
圖12圖示了第一服務(wù)器系統(tǒng)3a的主要功能和第一服務(wù)器系統(tǒng)3a中管理的主要信息(數(shù)據(jù))。如圖12所示,在第一服務(wù)器系統(tǒng)3a中,實(shí)現(xiàn)了提供虛擬環(huán)境的虛擬化控制單元305和在虛擬化控制單元305的控制下工作的至少一個(gè)虛擬機(jī)310。
在每個(gè)虛擬機(jī)310中,文件共享處理單元311、文件系統(tǒng)312、數(shù)據(jù)操作請(qǐng)求接收單元313、數(shù)據(jù)復(fù)制/遷移處理單元314、文件訪問(wèn)日志獲取單元317和內(nèi)核/驅(qū)動(dòng)程序318的功能被實(shí)現(xiàn)。
通過(guò)操作系統(tǒng)介入在第一服務(wù)器系統(tǒng)3a與虛擬化控制單元305之間的所謂主機(jī)OS類型的方法或者通過(guò)操作系統(tǒng)不介入在第一服務(wù)器系統(tǒng)3a與虛擬化控制單元305之間的管理程序類型的方法,可以實(shí)現(xiàn)虛擬環(huán)境。數(shù)據(jù)操作請(qǐng)求接收單元313、數(shù)據(jù)復(fù)制/遷移處理單元314和文件訪問(wèn)日志獲取單元317的功能可被實(shí)現(xiàn)為文件系統(tǒng)312的功能或與文件系統(tǒng)312無(wú)關(guān)的功能。
如圖12所示,虛擬機(jī)310管理信息(數(shù)據(jù)),例如復(fù)制信息管理表331、文件訪問(wèn)日志335等。這種信息從第一存儲(chǔ)10a被讀取到第一服務(wù)器系統(tǒng)3a,并且按需要被存儲(chǔ)在第一服務(wù)器系統(tǒng)3a的存儲(chǔ)器32和存儲(chǔ)設(shè)備33中。
在圖12所示功能中,文件共享處理單元311為客戶端裝置2提供可共享文件的環(huán)境。文件共享處理單元311提供例如在NFS(網(wǎng)絡(luò)文件系統(tǒng))、CIFS(通用因特網(wǎng)文件系統(tǒng))、AFS(Andrew文件系統(tǒng))等的協(xié)議中指定的功能。
文件系統(tǒng)312為客戶端裝置2提供與去往和來(lái)自第一存儲(chǔ)裝置10a提供的邏輯卷(LU)管理的文件(或目錄)的I/O有關(guān)的功能。文件系統(tǒng)312例如基于FAT(文件分配表)、NTFS、HFS(層級(jí)式文件系統(tǒng))、ext2(第二擴(kuò)展文件系統(tǒng))、ext3(第三擴(kuò)展文件系統(tǒng))、ext4(第四擴(kuò)展文件系統(tǒng))、UDF(統(tǒng)一光盤格式)、HPFS(高性能文件系統(tǒng))、JFS(日志文件系統(tǒng))、UFS(Unix文件系統(tǒng))、VTOC(內(nèi)容卷表)、XFS等。
數(shù)據(jù)操作請(qǐng)求接收單元313接收與從客戶端裝置2傳送的數(shù)據(jù)的操作的請(qǐng)求(此后,稱為數(shù)據(jù)操作請(qǐng)求)。數(shù)據(jù)操作請(qǐng)求包括復(fù)制開(kāi)始請(qǐng)求、對(duì)復(fù)制文件的更新請(qǐng)求、對(duì)復(fù)制文件的參考請(qǐng)求、同步請(qǐng)求、對(duì)元數(shù)據(jù)的訪問(wèn)請(qǐng)求、對(duì)文件實(shí)體的參考請(qǐng)求、撤回請(qǐng)求、對(duì)已清除文件實(shí)體的更新請(qǐng)求等,其在后面說(shuō)明。
已清除(stubbed)表示文件(或目錄)中數(shù)據(jù)的元數(shù)據(jù)被保留在第一存儲(chǔ)裝置10a中,但是文件(或目錄)中數(shù)據(jù)的實(shí)體僅保留在第二存儲(chǔ)裝置10b中且不由第一存儲(chǔ)裝置10a所管理。當(dāng)?shù)谝环?wù)器系統(tǒng)3a接收數(shù)據(jù)I/O請(qǐng)求使得需要已清除文件(或已清除目錄)的實(shí)體時(shí),從第二存儲(chǔ)裝置10b向第一存儲(chǔ)裝置10a傳送(寫(xiě)回,此后稱為撤回)該文件(或目錄)的實(shí)體。
在下文描述的復(fù)制開(kāi)始處理S2400、清除候選選擇處理S2500、同步處理S2900、清除文件實(shí)體參考處理S3100、清除文件實(shí)體更新處理S3200、虛擬機(jī)恢復(fù)處理S3300、目錄映像提前復(fù)原處理S3400、按需復(fù)原處理(包括復(fù)原目標(biāo)的添加)S3700、再清除避免處理S3800等中,數(shù)據(jù)復(fù)制/遷移處理單元314傳送和接收控制信息(包括標(biāo)志和表)并且在第一服務(wù)器系統(tǒng)3a和第二服務(wù)器系統(tǒng)3b之間或在第一存儲(chǔ)裝置10a和第二存儲(chǔ)裝置10b之間傳輸數(shù)據(jù)(包括元數(shù)據(jù)和文件的實(shí)體),并且管理各種表,包括復(fù)制信息管理表331、元數(shù)據(jù)332等。
通過(guò)執(zhí)行形成操作系統(tǒng)的軟件的內(nèi)核模塊和驅(qū)動(dòng)程序模塊實(shí)現(xiàn)圖12所示的內(nèi)核/驅(qū)動(dòng)程序。內(nèi)核模塊包括用于實(shí)現(xiàn)操作系統(tǒng)的基本功能的程序,例如針對(duì)第一服務(wù)器系統(tǒng)3a中執(zhí)行的軟件而處理管理、處理調(diào)度、管理存儲(chǔ)區(qū)域、處理來(lái)自硬件的中斷請(qǐng)求,等等。驅(qū)動(dòng)程序包括用于允許內(nèi)核模塊與配置第一服務(wù)器系統(tǒng)3a的硬件以及被耦合到第一服務(wù)器系統(tǒng)3a時(shí)使用的外圍設(shè)備通信的程序。
當(dāng)存儲(chǔ)在存儲(chǔ)裝置10的邏輯卷(LU)中的文件被訪問(wèn)(文件被更新(寫(xiě),更新)),文件被讀取(讀取)、文件被打開(kāi)(打開(kāi)),文件被關(guān)閉(關(guān)閉)等)時(shí),在對(duì)信息添加時(shí)間戳之后,圖12所示的文件訪問(wèn)日志獲取單元317存儲(chǔ)表示訪問(wèn)的細(xì)節(jié)(歷史)的信息(此后,稱為訪問(wèn)日志)作為文件訪問(wèn)日志335,時(shí)間戳基于從定時(shí)器37獲得的日期/時(shí)間信息。
圖13示出復(fù)制信息管理表331的示例。如圖13所示,用作復(fù)制目的地(例如,網(wǎng)絡(luò)地址例如IP地址等)的主機(jī)名稱3311以及用于確定是否執(zhí)行清除的閾值3312(后面說(shuō)明的清除閾值)被設(shè)置在復(fù)制信息管理表331中。
圖14示出文件訪問(wèn)日志335的示例。如圖所示,在文件訪問(wèn)日志335中,記錄有由一個(gè)或多個(gè)記錄形成的訪問(wèn)日志,每個(gè)記錄包括如下項(xiàng):訪問(wèn)日期3351、文件名3352和用戶ID 3353。
在這些項(xiàng)中,文件(或目錄)何時(shí)被訪問(wèn)的日期/時(shí)間被設(shè)置在訪問(wèn)日期3351中。要訪問(wèn)的目標(biāo)文件(或目錄)的文件名(或目錄名)被設(shè)置在文件名3352中。訪問(wèn)文件(或目錄)的用戶的用戶ID被設(shè)置在用戶ID 3353中。
圖15示出對(duì)第二服務(wù)器系統(tǒng)3b提供的主要功能以及在第二服務(wù)器系統(tǒng)3b中管理的主要信息(數(shù)據(jù))。如圖所示,第二服務(wù)器系統(tǒng)3b包括文件共享處理單元351、文件系統(tǒng)352、數(shù)據(jù)復(fù)制/遷移處理單元354和內(nèi)核/驅(qū)動(dòng)程序358的功能。數(shù)據(jù)復(fù)制/遷移處理單元354的功能可被實(shí)現(xiàn)為文件系統(tǒng)352的功能,或可與文件系統(tǒng)352無(wú)關(guān)地被實(shí)現(xiàn)。
如圖15所示,第二服務(wù)器系統(tǒng)3b管理復(fù)原日志365、抑制標(biāo)志管理表366、撤回日志367和文件訪問(wèn)日志368。
文件共享處理單元351為第一服務(wù)器系統(tǒng)3a提供共享文件的環(huán)境。通過(guò)使用例如協(xié)議例如DFS、CIFS和AFS實(shí)現(xiàn)文件共享處理單元351。
文件系統(tǒng)352使用第二存儲(chǔ)裝置10b提供的邏輯卷(LU),并且為第一服務(wù)器系統(tǒng)3a提供對(duì)以文件或目錄為單位的邏輯卷(LU)的I/O功能。文件系統(tǒng)352例如是FAT、NTFS、HFS、eXt2、eXt3、eXt4、UDF、HPFS、JFS、UFS、VTOC、XFS等。
數(shù)據(jù)復(fù)制/遷移處理單元354執(zhí)行與第一存儲(chǔ)裝置10a和第一存儲(chǔ)裝置10b之間數(shù)據(jù)的復(fù)制和遷移有關(guān)的處理。
通過(guò)執(zhí)行形成操作系統(tǒng)的軟件的內(nèi)核模塊和驅(qū)動(dòng)程序模塊實(shí)現(xiàn)內(nèi)核/驅(qū)動(dòng)程序358。內(nèi)核模塊包括用于實(shí)現(xiàn)操作系統(tǒng)的基本功能的程序,例如針對(duì)第二服務(wù)器系統(tǒng)3b中執(zhí)行的軟件而處理管理、處理調(diào)度、存儲(chǔ)區(qū)域管理、處理來(lái)自硬件的中斷請(qǐng)求等。驅(qū)動(dòng)程序包括用于允許內(nèi)核模塊與配置第二服務(wù)器系統(tǒng)3b的硬件以及被耦合到第二服務(wù)器系統(tǒng)3b時(shí)使用的外圍設(shè)備通信的程序。
圖16示出復(fù)原日志365的示例。在復(fù)原日志365中,當(dāng)要在下文描述的目錄映像的復(fù)原已被執(zhí)行時(shí),與復(fù)原有關(guān)的處理的內(nèi)容被第一服務(wù)器系統(tǒng)3a或第二服務(wù)器系統(tǒng)3b記錄。如圖16所示,復(fù)原日志365包括至少一個(gè)包括日期/時(shí)間3651、事件3652和復(fù)原目標(biāo)文件3653的記錄。
有關(guān)復(fù)原的事件何時(shí)已被執(zhí)行的日期和時(shí)間被設(shè)置在日期/時(shí)間3651中。表明執(zhí)行的事件內(nèi)容的信息(復(fù)原開(kāi)始、復(fù)原執(zhí)行等)被設(shè)置在事件3652中。標(biāo)識(shí)復(fù)原目標(biāo)文件(或目錄)的信息(路徑名、文件名(或目錄名)等)被設(shè)置在復(fù)原目標(biāo)文件3653中。
圖17示出了抑制標(biāo)志管理表366的示例。抑制標(biāo)志管理表366的內(nèi)容被第二服務(wù)器系統(tǒng)3b管理。如圖17所示,抑制標(biāo)志管理表366管理下文將要描述的再清除避免處理S3800中使用的抑制標(biāo)志3661以及抑制標(biāo)志3661的最后更新日期/時(shí)間3662。
圖18示出撤回日志367的示例。撤回日志367的內(nèi)容由第二服務(wù)器系統(tǒng)3b產(chǎn)生。撤回日志367管理第二服務(wù)器系統(tǒng)3b已從第一服務(wù)器系統(tǒng)3a接收的撤回請(qǐng)求的歷史。如圖18所示,撤回日志367包括至少一個(gè)具有日期/時(shí)間3671和撤回目標(biāo)文件3672的記錄。撤回請(qǐng)求何時(shí)被接收的日期和時(shí)間被設(shè)置在日期/時(shí)間3671中。標(biāo)識(shí)在接收的撤回請(qǐng)求中指定的撤回目標(biāo)文件(或目錄)的信息(路徑名、文件名等)被設(shè)置在撤回目標(biāo)文件3672中。
第二服務(wù)器系統(tǒng)3b管理的文件訪問(wèn)日志368的內(nèi)容基本與第一服務(wù)器系統(tǒng)3a中的文件訪問(wèn)日志335的內(nèi)容匹配。通過(guò)按需要從第一服務(wù)器系統(tǒng)3a向第二服務(wù)器系統(tǒng)3b通知文件訪問(wèn)日志335的內(nèi)容保證二者之間的一致性。
接下來(lái),詳細(xì)描述為第一服務(wù)器系統(tǒng)3a提供的文件系統(tǒng)312(對(duì)第二服務(wù)器系統(tǒng)3b提供的文件系統(tǒng)352的細(xì)節(jié)是相同的)。
圖19圖示了文件系統(tǒng)312在邏輯卷(LU)中管理的數(shù)據(jù)的示范結(jié)構(gòu)(此后,文件系統(tǒng)結(jié)構(gòu)1900)。如圖19所示,文件系統(tǒng)結(jié)構(gòu)1900包括存儲(chǔ)區(qū)域:超級(jí)塊1911;索引節(jié)點(diǎn)管理表1912;以及存儲(chǔ)文件的實(shí)體(數(shù)據(jù))的數(shù)據(jù)塊1913。
在這些之中,超級(jí)塊1911中存儲(chǔ)有關(guān)文件系統(tǒng)312的信息(文件系統(tǒng)管理的存儲(chǔ)區(qū)域的容量、使用的量、開(kāi)放容量等)。超級(jí)塊1911原則上為每個(gè)盤分區(qū)(在邏輯卷(LU)上設(shè)置的分區(qū))而提供。存儲(chǔ)在超級(jí)塊1911中的上述信息的具體示例包括分區(qū)中數(shù)據(jù)塊的數(shù)目、塊大小、開(kāi)放塊的數(shù)目、開(kāi)放索引節(jié)點(diǎn)的數(shù)目、分區(qū)的安裝數(shù)目、距最近的一致性檢查經(jīng)過(guò)的時(shí)間。
索引節(jié)點(diǎn)管理表1912中存儲(chǔ)存儲(chǔ)在邏輯卷(LU)中的文件(或目錄)的管理信息(此后,稱為索引節(jié)點(diǎn))。文件系統(tǒng)312通過(guò)將一個(gè)文件(或目錄)與一個(gè)索引節(jié)點(diǎn)進(jìn)行關(guān)聯(lián)來(lái)執(zhí)行管理。僅包括有關(guān)目錄的信息的索引節(jié)點(diǎn)稱為目錄條目。在訪問(wèn)文件時(shí),參考目錄條目訪問(wèn)訪問(wèn)目標(biāo)文件的數(shù)據(jù)塊。例如,如果文件“/home/user-01/a.txt”被訪問(wèn),通過(guò)按照如圖20所示的索引節(jié)點(diǎn)號(hào)的順序2->10->15->100順序地跟蹤目錄條目,訪問(wèn)目標(biāo)文件的數(shù)據(jù)塊被訪問(wèn)。
圖21示出了一般文件系統(tǒng)中索引節(jié)點(diǎn)的概念(例如,對(duì)基于UNIX(注冊(cè)商標(biāo))的操作系統(tǒng)提供的文件系統(tǒng))。而且,圖22示出索引節(jié)點(diǎn)管理表1912的示例。
如這些圖中所示,索引節(jié)點(diǎn)包括例如如下的信息:標(biāo)識(shí)個(gè)體索引節(jié)點(diǎn)的標(biāo)識(shí)符的索引節(jié)點(diǎn)號(hào)2211、文件(或目錄)的所有者2212、為文件(或目錄)設(shè)置的訪問(wèn)權(quán)限2213、文件(或目錄)的文件大小2214、文件(或目錄)的最后更新日期/時(shí)間2215、當(dāng)索引節(jié)點(diǎn)是目錄條目時(shí)設(shè)置的目錄的父目錄2216,當(dāng)索引節(jié)點(diǎn)是目錄條目時(shí)設(shè)置的目錄的子目錄2217,以及標(biāo)識(shí)存儲(chǔ)文件的數(shù)據(jù)實(shí)體的數(shù)據(jù)塊的信息(此后,稱為塊地址2218)。
如圖23所示,除了圖22所示的共同的一般文件系統(tǒng)中的索引節(jié)點(diǎn)管理表1912的內(nèi)容之外,根據(jù)本實(shí)施方式的文件系統(tǒng)312還管理清除標(biāo)志231、需要元數(shù)據(jù)同步標(biāo)志2312、需要實(shí)體同步標(biāo)志2313、復(fù)制標(biāo)志2314、鏈接目的地2315以及優(yōu)先級(jí)2316,。
考慮如下情況:通過(guò)復(fù)制或清除管理的管理,存儲(chǔ)在第一存儲(chǔ)裝置10a中的文件的元數(shù)據(jù)的復(fù)本也被存儲(chǔ)(復(fù)制)在第二存儲(chǔ)裝置10b中。這里,當(dāng)裝置之一中的元數(shù)據(jù)被下文描述的同步處理S2900更新時(shí),更新也被通知到其他裝置,從而第一存儲(chǔ)裝置10a中的元數(shù)據(jù)和第二存儲(chǔ)裝置10b中的元數(shù)據(jù)的內(nèi)容之間的一致性幾乎被實(shí)時(shí)地保證。
在圖23中,表明對(duì)應(yīng)于索引節(jié)點(diǎn)的文件(或目錄)是否被清除的信息被設(shè)置在清除標(biāo)志2311中。這里,清除表示當(dāng)文件(或目錄)被從第一存儲(chǔ)裝置10a遷移到第二存儲(chǔ)裝置10b時(shí),只從遷移源第一存儲(chǔ)裝置10a刪除文件數(shù)據(jù)的實(shí)體被,而文件數(shù)據(jù)的元數(shù)據(jù)則不被刪除并且被保留在遷移源、即第一存儲(chǔ)裝置10a中。
注意,術(shù)語(yǔ)“清除”(stub)是指在那種情況下被保留在第一存儲(chǔ)裝置10a中的元數(shù)據(jù)。清除標(biāo)志2311在對(duì)應(yīng)于索引節(jié)點(diǎn)的文件(或目錄)被清除的情況下被設(shè)置為開(kāi)(ON),并且在文件(或目錄)未被清除的情況下被設(shè)置為關(guān)(OFF)。
在需要元數(shù)據(jù)同步標(biāo)志2312中設(shè)置如下信息,該信息表明在作為復(fù)制源的第一存儲(chǔ)裝置10a的文件(或目錄)的元數(shù)據(jù)與作為復(fù)制目的地的第二存儲(chǔ)裝置10b的文件(或目錄)的元數(shù)據(jù)之間是否需要建立同步(需要使內(nèi)容相互一致)。需要元數(shù)據(jù)同步標(biāo)志2312在需要元數(shù)據(jù)的同步的情況下被設(shè)置為開(kāi),并且在不需要同步的情況下被設(shè)置為關(guān)。
在需要實(shí)體同步標(biāo)志2313中設(shè)置如下信息,該信息表明在作為復(fù)制源的第一存儲(chǔ)裝置10a的文件的數(shù)據(jù)實(shí)體與作為復(fù)制目的地的第二存儲(chǔ)裝置10b的文件的數(shù)據(jù)實(shí)體之間是否需要建立同步(需要使內(nèi)容相互一致)。需要數(shù)據(jù)實(shí)體同步標(biāo)志2313在需要文件的數(shù)據(jù)實(shí)體的同步的情況下被設(shè)置為開(kāi),并且在不需要同步的情況下被設(shè)置為關(guān)。
需要元數(shù)據(jù)同步標(biāo)志2312和需要實(shí)體同步標(biāo)志2313按照需要在下文描述的同步處理S2900中被參考。當(dāng)需要元數(shù)據(jù)同步標(biāo)志2312或需要實(shí)體同步標(biāo)志2313中的任何一個(gè)被設(shè)置為開(kāi)時(shí),第一存儲(chǔ)裝置10a的元數(shù)據(jù)或?qū)嶓w以及第二存儲(chǔ)裝置10b的元數(shù)據(jù)或?qū)嶓w(作為其復(fù)制)自動(dòng)地相互同步。
在復(fù)制標(biāo)志2314中設(shè)置如下信息,該信息表明對(duì)應(yīng)于索引節(jié)點(diǎn)的文件(或目錄)當(dāng)前是否是后面所述復(fù)制管理方案的管理目標(biāo)。如果對(duì)應(yīng)于索引節(jié)點(diǎn)的文件當(dāng)前是復(fù)制管理方案的管理目標(biāo),復(fù)制標(biāo)志2314設(shè)置為開(kāi),否則復(fù)制標(biāo)志2314設(shè)置為關(guān)。
如果對(duì)應(yīng)于索引節(jié)點(diǎn)的文件被下文描述的復(fù)制管理方案所管理,表明文件的復(fù)制目的地的信息(例如,標(biāo)識(shí)存儲(chǔ)目的地的路徑名、RAID組的標(biāo)識(shí)符、塊地址、URL(統(tǒng)一資源定位器),或LU)被設(shè)置在鏈接目的地2315中。
在優(yōu)先級(jí)2316中設(shè)置文件的優(yōu)先級(jí)。例如,用客戶端裝置2通過(guò)用戶設(shè)置優(yōu)先級(jí)2316的內(nèi)容。優(yōu)先級(jí)2316可被設(shè)置以用于負(fù)載均衡等目的。
=操作的總體描述=
接下來(lái),說(shuō)明以上配置的信息處理系統(tǒng)1的操作。
圖24示出了當(dāng)?shù)谝环?wù)器系統(tǒng)3a接收開(kāi)始復(fù)制存儲(chǔ)在第一存儲(chǔ)裝置10a中的文件的請(qǐng)求(此后,稱為復(fù)制開(kāi)始請(qǐng)求)時(shí),信息處理系統(tǒng)1中執(zhí)行的處理(此后,稱為復(fù)制開(kāi)始處理S2400)的框圖。
當(dāng)從客戶端裝置2接收復(fù)制開(kāi)始請(qǐng)求時(shí),第一服務(wù)器系統(tǒng)3a通過(guò)復(fù)制指定為請(qǐng)求的目標(biāo)的文件開(kāi)始管理。除了通過(guò)通信網(wǎng)絡(luò)5從客戶端裝置2接收復(fù)制開(kāi)始請(qǐng)求之外,第一服務(wù)器系統(tǒng)3a還接收,例如,第一服務(wù)器系統(tǒng)3a中內(nèi)部產(chǎn)生的復(fù)制開(kāi)始請(qǐng)求。
這里,通過(guò)復(fù)制的管理是這樣的一種管理,其中文件中的數(shù)據(jù)(元數(shù)據(jù)和實(shí)體)在第一存儲(chǔ)裝置10a和第二存儲(chǔ)裝置10b中被管理。
在通過(guò)復(fù)制的管理中,當(dāng)存儲(chǔ)在第一存儲(chǔ)裝置10a中的文件的實(shí)體或元數(shù)據(jù)被更新時(shí),作為其復(fù)本(或檔案文件)被管理的第二存儲(chǔ)裝置10b中的文件的元數(shù)據(jù)或?qū)嶓w被同步或異步更新。通過(guò)通過(guò)復(fù)制的管理,存儲(chǔ)在第一存儲(chǔ)裝置10a中的文件的數(shù)據(jù)(元數(shù)據(jù)或?qū)嶓w)與存儲(chǔ)在第二存儲(chǔ)裝置10b中作為其復(fù)本的文件的數(shù)據(jù)(元數(shù)據(jù)或?qū)嶓w)之間的一致性被同步或異步地保證(確保)。
第二存儲(chǔ)裝置10b中的文件的元數(shù)據(jù)(檔案文件)可以作為文件的實(shí)體被管理,即使當(dāng)?shù)谝环?wù)器系統(tǒng)3a的文件系統(tǒng)312與第二服務(wù)器系統(tǒng)3b的文件系統(tǒng)352之間有規(guī)格中的差別時(shí),可以實(shí)現(xiàn)通過(guò)復(fù)制的管理。
如圖24所示,當(dāng)接收復(fù)制開(kāi)始請(qǐng)求(S2411)時(shí),第一服務(wù)器系統(tǒng)3a從第一存儲(chǔ)裝置10a讀取在接收的復(fù)制開(kāi)始請(qǐng)求中指定的文件的數(shù)據(jù)(元數(shù)據(jù)或?qū)嶓w)并且向第二服務(wù)器系統(tǒng)3b傳送讀取文件的數(shù)據(jù)(S2412)。
當(dāng)接收從第一服務(wù)器系統(tǒng)3a傳送的上述文件的數(shù)據(jù)時(shí),第二服務(wù)器系統(tǒng)3b將接收的數(shù)據(jù)存儲(chǔ)在第二存儲(chǔ)裝置10b中(S2413)。
在上述傳輸中,第一服務(wù)器系統(tǒng)3a的數(shù)據(jù)復(fù)制/遷移單元314將傳輸源文件的復(fù)制標(biāo)志314設(shè)置為開(kāi)(S2414)
圖25是示出了信息處理系統(tǒng)1中執(zhí)行的處理以將通過(guò)復(fù)制的管理管理的且存儲(chǔ)在第一存儲(chǔ)裝置10a中的文件(其復(fù)制標(biāo)志2314設(shè)置為開(kāi)的文件,此后稱為復(fù)制文件)設(shè)置為上述的清除候選(此后,稱為清除候選選擇處理S2500)的框圖。此后,參考圖25說(shuō)明清除候選選擇處理S2500。
第一服務(wù)器系統(tǒng)3a按照需要監(jiān)測(cè)文件存儲(chǔ)區(qū)域的空閑容量(實(shí)時(shí)地、定期地、在預(yù)定的定時(shí),等等)。
當(dāng)分配為對(duì)文件系統(tǒng)312的文件存儲(chǔ)區(qū)域的第一存儲(chǔ)裝置10a中的存儲(chǔ)區(qū)域的空閑容量(此后,稱為文件存儲(chǔ)區(qū)域)變成小于預(yù)定閾值(此后,稱為清除閾值)時(shí),第一服務(wù)器系統(tǒng)3a根據(jù)預(yù)定選擇標(biāo)準(zhǔn)從存儲(chǔ)在第一存儲(chǔ)裝置10a中的復(fù)制文件中選擇清除候選(S2511)。預(yù)定選擇標(biāo)準(zhǔn)包括,例如,最后更新日期/時(shí)間的升序,訪問(wèn)頻率的升序等等。
接下來(lái),在選擇清除候選之后,第一服務(wù)器系統(tǒng)3a將所選的復(fù)制文件的清除標(biāo)志2311設(shè)置為開(kāi),其復(fù)制標(biāo)志2314設(shè)置為關(guān),并且其需要元數(shù)據(jù)同步標(biāo)志2312設(shè)置為開(kāi)(S2512)。第一服務(wù)器系統(tǒng)3a例如從文件系統(tǒng)312管理的信息中獲得文件存儲(chǔ)區(qū)域的空閑容量。
圖26是示出了為當(dāng)在清除候選選擇處理S2500中被選作清除候選的文件實(shí)際被清除時(shí)信息處理系統(tǒng)1中執(zhí)行的處理的框圖(此后,稱為清除處理S2600)。例如,清除處理S2600例如在預(yù)定定時(shí)(例如,在清除候選選擇處理S2500之后)執(zhí)行。此后,參考圖26描述清除處理S2600。
如圖26所示,第一服務(wù)器系統(tǒng)3a從存儲(chǔ)在第一存儲(chǔ)裝置10a的文件存儲(chǔ)區(qū)域中的文件中選擇至少一個(gè)選作清除候選(其清除標(biāo)志2311設(shè)置為開(kāi)的文件)文件(S2611)。
然后,第一服務(wù)器系統(tǒng)3a從第一存儲(chǔ)裝置10a刪除提取的文件的實(shí)體,對(duì)表明第一存儲(chǔ)裝置10a中的文件的存儲(chǔ)目的地的信息設(shè)置無(wú)效值(例如,對(duì)其中設(shè)置元數(shù)據(jù)文件的存儲(chǔ)目的地的列設(shè)置NULL值或0(例如,其中設(shè)置塊地址2218的列)),并且實(shí)際清除選作清除候選的文件。此時(shí),第一服務(wù)器系統(tǒng)3a將需要元數(shù)據(jù)同步標(biāo)志2312設(shè)置為開(kāi)(S2612)。
圖27是示出了當(dāng)?shù)谝环?wù)器系統(tǒng)3a從客戶端裝置2接收對(duì)第一存儲(chǔ)裝置10a的文件存儲(chǔ)區(qū)域中存儲(chǔ)的復(fù)制文件的更新請(qǐng)求時(shí),信息處理系統(tǒng)1中執(zhí)行的處理(此后,稱為復(fù)制文件更新處理S2700)的框圖。此后,參考圖27描述復(fù)制文件更新處理S2700。
在接收對(duì)復(fù)制文件的更新請(qǐng)求時(shí)(S2711),第一服務(wù)器系統(tǒng)3a根據(jù)接收的更新請(qǐng)求更新存儲(chǔ)在第一存儲(chǔ)裝置10a中的復(fù)制文件的數(shù)據(jù)(元數(shù)據(jù)和實(shí)體)(S2712)。
然后,如果元數(shù)據(jù)被更新,第一服務(wù)器系統(tǒng)3a將復(fù)制文件的需要元數(shù)據(jù)同步標(biāo)志2312設(shè)置為開(kāi)。如果復(fù)制文件的實(shí)體被更新,第一服務(wù)器系統(tǒng)3a將復(fù)制文件的需要實(shí)體同步標(biāo)志2313設(shè)置為開(kāi)(S2713)。
圖28示出了當(dāng)?shù)谝环?wù)器系統(tǒng)3a的文件系統(tǒng)312從客戶端裝置2接收對(duì)第一存儲(chǔ)裝置10a的文件存儲(chǔ)區(qū)域中存儲(chǔ)的復(fù)制文件的參考請(qǐng)求時(shí),信息處理系統(tǒng)1中執(zhí)行的處理(此后,稱為復(fù)制文件參考處理S2800)的框圖。此后,參考圖28描述復(fù)制文件參考處理S2800(S2813)。
在接收對(duì)復(fù)制文件的更新請(qǐng)求時(shí)(S2811),第一服務(wù)器系統(tǒng)3a的文件系統(tǒng)312從第一存儲(chǔ)裝置10a讀取復(fù)制文件的數(shù)據(jù)(元數(shù)據(jù)或?qū)嶓w)(S2812),基于讀數(shù)據(jù)產(chǎn)生對(duì)客戶端裝置2做出響應(yīng)的信息,并且向客戶端裝置2傳送產(chǎn)生的響應(yīng)信息(S2813)。
圖29示出了當(dāng)?shù)谝环?wù)器系統(tǒng)3a從客戶端裝置2接收將存儲(chǔ)在第一存儲(chǔ)裝置10a中的復(fù)制文件的內(nèi)容與第一存儲(chǔ)裝置10a中的文件的內(nèi)容相匹配的請(qǐng)求(此后,稱為同步請(qǐng)求)時(shí),信息處理系統(tǒng)1中執(zhí)行的處理(此后,稱為同步處理S2900)的框圖。此后,參考圖29描述同步處理S2900。
同步處理S2900可以響應(yīng)于除從客戶端裝置2接收同步請(qǐng)求之外的事件而開(kāi)始。例如,當(dāng)預(yù)定定時(shí)(實(shí)時(shí)地,定期地,等等)到來(lái)時(shí),第一服務(wù)器系統(tǒng)3a可以自發(fā)地開(kāi)始同步處理S2900。
當(dāng)從客戶端裝置2接收對(duì)復(fù)制文件的同步請(qǐng)求時(shí)(S2911),第一服務(wù)器系統(tǒng)3a從存儲(chǔ)在第一存儲(chǔ)裝置10a的第一存儲(chǔ)區(qū)域中的復(fù)制文件中獲得其需要元數(shù)據(jù)同步標(biāo)志2312或需要實(shí)體同步標(biāo)志2313中的至少一個(gè)被設(shè)置為開(kāi)的文件(S2912)。
然后,第一服務(wù)器系統(tǒng)3a向傳送獲得的文件的元數(shù)據(jù)或?qū)嶓w并且將復(fù)制文件的元數(shù)據(jù)第二服務(wù)器系統(tǒng)3b同步需要標(biāo)志2312或需要實(shí)體同步標(biāo)志2313設(shè)置為關(guān)(S2913)。
在接收元數(shù)據(jù)或?qū)嶓w時(shí)(S2913),第二服務(wù)器系統(tǒng)3b基于接收的元數(shù)據(jù)或?qū)嶓w而更新存儲(chǔ)在第二存儲(chǔ)裝置10b中的并且與接收的元數(shù)據(jù)或?qū)嶓w相關(guān)聯(lián)的文件的元數(shù)據(jù)或?qū)嶓w(S2914)??梢灾粋魉团c先前同步的元數(shù)據(jù)更新差異,而不是從第一服務(wù)器系統(tǒng)3a向第二服務(wù)器系統(tǒng)3b傳送整個(gè)元數(shù)據(jù)或?qū)嶓w。
通過(guò)上述同步處理S2900,存儲(chǔ)在第一存儲(chǔ)裝置10a中存儲(chǔ)的文件的數(shù)據(jù)(元數(shù)據(jù)和實(shí)體)以及存儲(chǔ)在第二存儲(chǔ)裝置10b中存儲(chǔ)的關(guān)聯(lián)文件的數(shù)據(jù)(元數(shù)據(jù)和實(shí)體)相互同步。
圖30示出了當(dāng)?shù)谝环?wù)器系統(tǒng)3a的文件系統(tǒng)312從客戶端裝置2等接收對(duì)已清除文件(具有清除標(biāo)志2311設(shè)置為開(kāi)的文件)的元數(shù)據(jù)的訪問(wèn)請(qǐng)求(參考請(qǐng)求或更新請(qǐng)求)時(shí),信息處理系統(tǒng)1中執(zhí)行的處理(此后,稱為元數(shù)據(jù)訪問(wèn)處理S3000)的框圖。此后,參考圖30說(shuō)明元數(shù)據(jù)訪問(wèn)處理S3000。
如圖30所示,在接收對(duì)已清除文件的元數(shù)據(jù)的訪問(wèn)請(qǐng)求(S3011)之后,第一服務(wù)器系統(tǒng)3a獲得第一存儲(chǔ)裝置10a的訪問(wèn)目標(biāo)元數(shù)據(jù),并且根據(jù)訪問(wèn)請(qǐng)求的內(nèi)容對(duì)其進(jìn)行參考(即,基于元數(shù)據(jù)向客戶端裝置2傳送響應(yīng)信息),或者更新元數(shù)據(jù)(S3012)。如果元數(shù)據(jù)的內(nèi)容被更新,第一服務(wù)器系統(tǒng)3a將元數(shù)據(jù)的需要元數(shù)據(jù)同步標(biāo)志2312設(shè)置為開(kāi)(S3013)。
如上所述,當(dāng)對(duì)已清除文件的訪問(wèn)請(qǐng)求被產(chǎn)生并且訪問(wèn)請(qǐng)求的目標(biāo)僅是文件的元數(shù)據(jù)時(shí),第一服務(wù)器系統(tǒng)3a使用存儲(chǔ)在第一存儲(chǔ)裝置10a中的元數(shù)據(jù)來(lái)執(zhí)行對(duì)訪問(wèn)請(qǐng)求的處理;而如果訪問(wèn)請(qǐng)求的目標(biāo)僅是文件的元數(shù)據(jù),第一服務(wù)器系統(tǒng)3a可以迅速向客戶端裝置2返回響應(yīng)。
圖31示出了當(dāng)?shù)谝环?wù)器系統(tǒng)3a從客戶端裝置2接收對(duì)已清除文件(具有清除標(biāo)志2311設(shè)置為開(kāi)的文件,其此后被稱為已清除文件)的實(shí)體的參考請(qǐng)求時(shí),信息處理系統(tǒng)1中執(zhí)行的處理(此后,稱為已清除文件實(shí)體參考處理S3100)的框圖。此后,參考圖31描述已清除文件實(shí)體參考處理S3100。
當(dāng)從客戶端裝置2接收對(duì)已清除文件的實(shí)體的參考請(qǐng)求時(shí)(S3111),第一服務(wù)器系統(tǒng)3a結(jié)合獲得的元數(shù)據(jù)確定已清除文件的實(shí)體是否存儲(chǔ)在第一存儲(chǔ)裝置10a中(S3112)。這里,例如基于有效值是否被設(shè)置到包含在獲得的表明已清除文件的實(shí)體的存儲(chǔ)目的地的元數(shù)據(jù)中的信息(例如,塊地址2218)而進(jìn)行確定。
如果在上述確定中確定已清除文件的實(shí)體存儲(chǔ)在第一存儲(chǔ)裝置10a中,第一服務(wù)器系統(tǒng)3a從第一存儲(chǔ)裝置10a讀取已清除文件的實(shí)體,基于所讀取的實(shí)體產(chǎn)生響應(yīng)于客戶端裝置2的信息,并且向客戶端裝置2傳送產(chǎn)生的響應(yīng)信息(S3113)。
另一方面,如果在上述確定中確定已清除文件的實(shí)體未存儲(chǔ)在第一存儲(chǔ)裝置10a中,第一服務(wù)器系統(tǒng)3a請(qǐng)求第二服務(wù)器系統(tǒng)3b提供已清除文件的實(shí)體(此后,稱為撤回請(qǐng)求)(S3114)。注意,實(shí)體獲得請(qǐng)求可以不必是通過(guò)一個(gè)獲得請(qǐng)求獲得整個(gè)實(shí)體的請(qǐng)求。相反,可以多次請(qǐng)求實(shí)體的一部分。
在接收從第二服務(wù)器系統(tǒng)3b傳送的已清除文件的實(shí)體時(shí),第一服務(wù)器系統(tǒng)3a基于接收的實(shí)體產(chǎn)生響應(yīng)信息,并且向客戶端裝置2傳送產(chǎn)生的響應(yīng)信息(S3116)。
而且,第一服務(wù)器系統(tǒng)3a將從第二服務(wù)器系統(tǒng)3b接收的上述實(shí)體存儲(chǔ)在第一存儲(chǔ)裝置10a中,并且將表明第一存儲(chǔ)裝置10a中文件的存儲(chǔ)目的地的內(nèi)容設(shè)置到表明已清除文件的元數(shù)據(jù)文件的實(shí)體的存儲(chǔ)目的地的信息(例如,塊地址2218)。而且,第一服務(wù)器系統(tǒng)3a將文件的清除標(biāo)志2311設(shè)置為關(guān),將其復(fù)制標(biāo)志2314設(shè)置為開(kāi),并且將其需要元數(shù)據(jù)同步標(biāo)志2312設(shè)置為開(kāi)(即,將文件從已清除文件改變?yōu)閺?fù)制文件)(S3117)。
將元數(shù)據(jù)同步請(qǐng)求的標(biāo)志2312設(shè)置為開(kāi)的原因是自動(dòng)地以事后方式在第一存儲(chǔ)裝置10a與第二存儲(chǔ)標(biāo)志10b之間對(duì)已清除文件的清除標(biāo)志2311和復(fù)制標(biāo)志2314的內(nèi)容進(jìn)行同步。
圖32是示出了當(dāng)?shù)谝环?wù)器系統(tǒng)3a從客戶端裝置2接收對(duì)已清除文件的實(shí)體的更新請(qǐng)求時(shí),信息處理系統(tǒng)1中執(zhí)行的處理(此后,稱為已清除文件實(shí)體更新處理S3200)的框圖。此后,參考圖32描述已清除文件實(shí)體更新處理S3200。
在接收對(duì)已清除文件的實(shí)體的更新請(qǐng)求時(shí)(S3211),第一服務(wù)器系統(tǒng)3a獲得請(qǐng)求要被更新的已清除文件的元數(shù)據(jù),并且基于獲得的元數(shù)據(jù)確定已清除文件的實(shí)體是否存儲(chǔ)在第一存儲(chǔ)裝置10a中(S3212)。注意,所述確定方法與已清除文件實(shí)體參考處理S3100中的相同。
如果在上述確定中確定已清除文件的實(shí)體存儲(chǔ)在第一存儲(chǔ)裝置10a中,第一服務(wù)器系統(tǒng)3a根據(jù)更新請(qǐng)求的內(nèi)容更新存儲(chǔ)在第一存儲(chǔ)裝置10a中的已清除文件的實(shí)體,并且將已清除文件的需要實(shí)體同步標(biāo)志2313設(shè)置為開(kāi)(S3213)。
另一方面,如果已清除文件的實(shí)體未存儲(chǔ)在第一存儲(chǔ)裝置10a中,第一服務(wù)器系統(tǒng)3a向第二服務(wù)器系統(tǒng)3b發(fā)送獲得已清除文件的實(shí)體的請(qǐng)求(撤回請(qǐng)求)(S3214)。
在響應(yīng)于上述請(qǐng)求而接收從第二服務(wù)器系統(tǒng)3b傳送的文件的實(shí)體(S3215)之后,第一服務(wù)器系統(tǒng)3a根據(jù)更新請(qǐng)求的內(nèi)容更新接收的實(shí)體的內(nèi)容作為已清除文件的實(shí)體。而且,第一服務(wù)器系統(tǒng)3a將已清除文件的清除標(biāo)志2311設(shè)置為關(guān),將其復(fù)制標(biāo)志2314設(shè)置為關(guān),并且將其需要元數(shù)據(jù)同步標(biāo)志2312設(shè)置為開(kāi)(S3216)。<故障恢復(fù)中的處理>
接下來(lái)描述當(dāng)由于在第一服務(wù)器系統(tǒng)3a中發(fā)生某種故障而使信息處理系統(tǒng)1的功能停止以及隨后在第一服務(wù)器系統(tǒng)3a恢復(fù)之后信息處理系統(tǒng)1的功能重啟時(shí)信息處理系統(tǒng)1中執(zhí)行的處理。
圖33示出了當(dāng)虛擬機(jī)310在恢復(fù)的第一服務(wù)器系統(tǒng)3a中被恢復(fù)時(shí),信息處理系統(tǒng)1中執(zhí)行的處理(此后,稱為虛擬機(jī)恢復(fù)處理S3300)的框圖。此后,參考圖33描述虛擬機(jī)恢復(fù)處理S3300。
作為執(zhí)行虛擬機(jī)恢復(fù)處理S3300的前提,假設(shè)用于恢復(fù)虛擬機(jī)310的虛擬機(jī)映像(在虛擬控制單元305中實(shí)現(xiàn)虛擬機(jī)310所必需的配置信息,例如包括CPU的硬件配置、存儲(chǔ)器等等、存儲(chǔ)區(qū)域大小、網(wǎng)絡(luò)規(guī)格等等)已被存儲(chǔ)在第二存儲(chǔ)裝置10b中。
如圖33所示,使用第一服務(wù)器系統(tǒng)3a中的啟動(dòng)加載器(boot loader)等執(zhí)行記錄在記錄介質(zhì)3310中的安裝程序等,以便在第一服務(wù)器系統(tǒng)3a中安裝虛擬化控制單元305(S3311)并且開(kāi)始虛擬化控制單元305的功能(S3312)。
接下來(lái),已經(jīng)啟動(dòng)功能的虛擬化控制單元305請(qǐng)求第二服務(wù)器系統(tǒng)3b提供虛擬機(jī)映像(S3313)。
在從第一服務(wù)器系統(tǒng)3a接收上述請(qǐng)求時(shí),第二服務(wù)器系統(tǒng)3b從第二存儲(chǔ)裝置10b獲得在上述請(qǐng)求中指定的虛擬機(jī)映像(S3314)并且向第一服務(wù)器系統(tǒng)3a傳送獲得的虛擬機(jī)映像(S3315)。
第二服務(wù)器系統(tǒng)3b例如通過(guò)對(duì)第一服務(wù)器系統(tǒng)3a標(biāo)識(shí)符(此后,稱為服務(wù)器ID)與實(shí)現(xiàn)在第一服務(wù)器系統(tǒng)3a中的虛擬機(jī)310的標(biāo)識(shí)符(此后,稱為虛擬機(jī)ID)進(jìn)行關(guān)聯(lián)來(lái)管理虛擬機(jī)映像。在接收上述獲得請(qǐng)求時(shí),第二服務(wù)器系統(tǒng)3b標(biāo)識(shí)由服務(wù)器ID標(biāo)識(shí)的虛擬機(jī)映像和獲得請(qǐng)求中指定的虛擬機(jī)ID,并且向第一存儲(chǔ)裝置10a傳送標(biāo)識(shí)的虛擬機(jī)映像。
在從第二服務(wù)器系統(tǒng)3b接收虛擬機(jī)映像(S3316)之后,第一服務(wù)器系統(tǒng)3a基于接收的虛擬機(jī)映像將接收的虛擬機(jī)映像存儲(chǔ)在第一存儲(chǔ)裝置10a中并且啟動(dòng)虛擬機(jī)310的操作(S3317)。
原則上,上述虛擬機(jī)恢復(fù)處理S3300在基于虛擬機(jī)映像需要重啟虛擬機(jī)310的重要故障已發(fā)生時(shí)被執(zhí)行。例如,在不需要重啟虛擬機(jī)310的故障的情況下,虛擬機(jī)310不必被重啟。
圖34示出了通過(guò)圖33所示的虛擬機(jī)恢復(fù)處理S3300,在從客戶端裝置2接收數(shù)據(jù)I/O請(qǐng)求之前,在虛擬機(jī)310啟動(dòng)第一服務(wù)器系統(tǒng)3a中工作之后復(fù)原目錄映像,在信息處理系統(tǒng)1中執(zhí)行的處理(此后,稱為目錄映像提前恢復(fù)處理S3400)的框圖。此后,參考圖34描述目錄映像提前恢復(fù)處理S3400。
首先,第一服務(wù)器系統(tǒng)3a在通過(guò)虛擬機(jī)恢復(fù)處理S3300重啟的虛擬機(jī)310的文件系統(tǒng)312發(fā)生故障之前,向第二服務(wù)器系統(tǒng)3b發(fā)送對(duì)存在于第一存儲(chǔ)裝置10a中進(jìn)行的目錄配置中的最高級(jí)目錄(此后,稱為根目錄)中的目錄的元數(shù)據(jù)以及存在于根目錄中的文件的元數(shù)據(jù)的獲得請(qǐng)求(目錄配置是存儲(chǔ)在第一存儲(chǔ)裝置10b中的目錄配置,包括表明目錄的層級(jí)式結(jié)構(gòu)的數(shù)據(jù)、目錄(元數(shù)據(jù))的數(shù)據(jù)和文件(元數(shù)據(jù)和實(shí)體)的數(shù)據(jù),其在此后稱為目錄映像)(S3411)。
在本實(shí)施方式中,存在于根目錄中的目錄的元數(shù)據(jù)和存在于根目錄中的文件的元數(shù)據(jù)包括存在于根目錄(可從根目錄中被觀察)的目錄和文件,但是不包括存在于根目錄中的目錄的從屬目錄中存在的目錄以及存在于那些目錄中的文件。
在接收上述獲得請(qǐng)求之后,第二服務(wù)器系統(tǒng)3b從第二存儲(chǔ)裝置10b獲得存在于根目錄中的目錄的元數(shù)據(jù)和存在于根目錄中的文件的元數(shù)據(jù)(S3412)并且向第一存儲(chǔ)裝置10a傳送獲得的元數(shù)據(jù)(S3413)。
而且,第二服務(wù)器系統(tǒng)3b在上述通過(guò)復(fù)制的管理中通過(guò)關(guān)聯(lián)服務(wù)器ID和虛擬機(jī)ID來(lái)管理元數(shù)據(jù)。在接收上述獲得請(qǐng)求時(shí),第二服務(wù)器系統(tǒng)3b標(biāo)識(shí)用在獲得請(qǐng)求中指定的服務(wù)器ID和虛擬機(jī)ID標(biāo)識(shí)的元數(shù)據(jù)并且從第二存儲(chǔ)裝置10b獲得標(biāo)識(shí)的元數(shù)據(jù)。
在從第二服務(wù)器系統(tǒng)3b接收元數(shù)據(jù)(S3413)之后,第一服務(wù)器系統(tǒng)3a基于接收的元數(shù)據(jù)將目錄映像復(fù)原到第一存儲(chǔ)裝置10a(S3414)。同時(shí),第一服務(wù)器系統(tǒng)3a將需要元數(shù)據(jù)同步標(biāo)志2312設(shè)置為開(kāi),并且需要實(shí)體同步標(biāo)志設(shè)置為開(kāi)。因?yàn)樗袕?fù)原的文件是僅基于元數(shù)據(jù),因此那些文件處于清除狀態(tài),其清除標(biāo)志2311被設(shè)置為開(kāi)。
在目錄映像在第一存儲(chǔ)系統(tǒng)10a中已被復(fù)原之后,第一服務(wù)器系統(tǒng)3a開(kāi)始對(duì)客戶端裝置2的服務(wù)。
圖35示出了在圖34所示的目錄映像提前復(fù)原處理S3400之后已經(jīng)啟動(dòng)從客戶端裝置2接收數(shù)據(jù)I/O請(qǐng)求的第一服務(wù)器系統(tǒng)3a在故障發(fā)生之前復(fù)原由第一服務(wù)器系統(tǒng)3a管理的目錄映像的處理(此后,稱為按需復(fù)原處理S3500)的框圖。此后,參考圖35描述按需復(fù)原處理S3500。
在開(kāi)始服務(wù)之后從客戶端裝置2接收數(shù)據(jù)I/O請(qǐng)求(S3511)之后,第一服務(wù)器系統(tǒng)3a檢查接收的數(shù)據(jù)I/O請(qǐng)求中請(qǐng)求的文件(此后,稱為訪問(wèn)目標(biāo)文件)的元數(shù)據(jù)是否存在于第一存儲(chǔ)裝置10a中(即,元數(shù)據(jù)在開(kāi)始服務(wù)之后是否已在第一存儲(chǔ)裝置10a中被復(fù)原)(S3512)。
在元數(shù)據(jù)在第一存儲(chǔ)裝置10a中已被復(fù)原的情況下,第一服務(wù)器系統(tǒng)3a檢查接收的數(shù)據(jù)I/O請(qǐng)求的目標(biāo)(元數(shù)據(jù)或?qū)嶓w)、數(shù)據(jù)I/O請(qǐng)求的類型(參考請(qǐng)求或更新請(qǐng)求)、目標(biāo)是否由通過(guò)復(fù)制的管理來(lái)管理(復(fù)制標(biāo)志2314是否設(shè)置為開(kāi))以及目標(biāo)是否被清除(清除標(biāo)志是否設(shè)置為開(kāi)),并且隨后執(zhí)行對(duì)應(yīng)于接收的數(shù)據(jù)I/O請(qǐng)求的處理(前述復(fù)制文件更新處理S2700、復(fù)制文件參考處理S2800、元數(shù)據(jù)訪問(wèn)處理S3000、已清除文件實(shí)體參考處理S3100,或已清除文件實(shí)體更新處理S3200),并且向客戶端裝置2返回響應(yīng)(S3518)。
另一方面,在訪問(wèn)目標(biāo)文件的元數(shù)據(jù)未被復(fù)原的情況下,第一服務(wù)器系統(tǒng)3a從第二服務(wù)器系統(tǒng)3b(第二存儲(chǔ)裝置10b)獲得用于在從根目錄到訪問(wèn)目標(biāo)文件的文件存在(S3513到S3515)的目錄級(jí)(目錄層)的范圍復(fù)原目錄映像的數(shù)據(jù),并且使用獲得的數(shù)據(jù)將根目錄中的目錄映像復(fù)原到第一存儲(chǔ)裝置10a中的上述目錄級(jí)(S3516)。
而且,第一服務(wù)器系統(tǒng)3a將訪問(wèn)目標(biāo)文件的清除標(biāo)志2311設(shè)置為開(kāi),其復(fù)制標(biāo)志2314設(shè)置為關(guān),并且其需要元數(shù)據(jù)同步標(biāo)志2312設(shè)置為開(kāi)(S3517)。
接下來(lái),根據(jù)目標(biāo)和接收的數(shù)據(jù)I/O請(qǐng)求的類型、管理方法、目標(biāo)是否被清除等,第一服務(wù)器系統(tǒng)3a執(zhí)行對(duì)應(yīng)于接收的數(shù)據(jù)I/O請(qǐng)求的處理并且向客戶端裝置2返回響應(yīng)(S3518)。
圖36示出目錄映像如何逐步通過(guò)上述按需復(fù)原處理S3500由于反復(fù)的I/O請(qǐng)求而被復(fù)原到第一存儲(chǔ)裝置10a。
在圖36中,用強(qiáng)調(diào)的字符串(下劃線的字符串)表明的目錄復(fù)原了其元數(shù)據(jù),但是在其從屬目錄的元數(shù)據(jù)未被復(fù)原。用未強(qiáng)調(diào)的字符串表明的目錄已經(jīng)復(fù)原了其從屬目錄的元數(shù)據(jù)。用強(qiáng)調(diào)的字符串表明的文件復(fù)原了其元數(shù)據(jù),但是其實(shí)體未復(fù)原。用未強(qiáng)調(diào)的字符串表明的文件已經(jīng)復(fù)原了其實(shí)體。
圖36中圖(0)是正好在故障發(fā)生之前在第一服務(wù)器系統(tǒng)3a(第一存儲(chǔ)裝置10a)中管理的目錄映像(整個(gè)目錄映像最終被復(fù)原)。
圖36中圖(A)是通過(guò)目錄映像提前復(fù)原處理S3400剛被復(fù)原的目錄映像(在第一服務(wù)器系統(tǒng)3a未接收數(shù)據(jù)I/O請(qǐng)求的狀態(tài))。在這個(gè)階段,正好存在于根目錄[/]的從屬目錄[dir1]和[dir2]中的元數(shù)據(jù)已被復(fù)原,但是存在于其他從屬目錄中的元數(shù)據(jù)未被復(fù)原。存在于正好在根目錄[/]的從屬目錄的文件[a.txt]的元數(shù)據(jù)已被復(fù)原,但是其實(shí)體未被復(fù)原。
圖36中的圖(B)示出一種狀態(tài),其中已從處于圖(A)所示狀態(tài)的客戶端裝置2接收對(duì)存在于目錄[dir1]的從屬目錄中的文件[c.txt]的數(shù)據(jù)I/O請(qǐng)求。因?yàn)橐褟目蛻舳搜b置2接收對(duì)文件[c.txt]的數(shù)據(jù)I/O請(qǐng)求,目錄[dir1]中的元數(shù)據(jù)和[c.txt]被復(fù)原。
圖36中的圖(C)示出一種狀態(tài),其中已從處于圖(B)所示狀態(tài)的客戶端裝置2接收對(duì)存在于目錄[dir2]的從屬目錄中的文件[b.txt]的數(shù)據(jù)I/O請(qǐng)求。如圖所示,因?yàn)閺目蛻舳搜b置2接收對(duì)文件[b.txt]的數(shù)據(jù)I/O請(qǐng)求,[/b.txt]的元數(shù)據(jù)被復(fù)原。注意,以非強(qiáng)調(diào)狀態(tài)[/dir2],因?yàn)閺膶儆赱/dir2]的[/b.txt]的元數(shù)據(jù)已被復(fù)原。
圖36中的圖(D)示出一種狀態(tài),其中在圖(C)所示狀態(tài)對(duì)文件[b.txt]的數(shù)據(jù)I/O請(qǐng)求(更新請(qǐng)求)已從客戶端裝置2接收。因?yàn)閷?duì)文件[b.txt]的數(shù)據(jù)I/O請(qǐng)求(更新請(qǐng)求)已從客戶端裝置2接收,文件[b.txt]的實(shí)體被復(fù)原。
如上所述,根據(jù)本實(shí)施方式在信息處理系統(tǒng)1中,在第一服務(wù)器系統(tǒng)3a中發(fā)生故障之后接收數(shù)據(jù)I/O請(qǐng)求開(kāi)始時(shí),通過(guò)目錄映像提前復(fù)原處理S3400,僅存在于根目錄中的目錄中的元數(shù)據(jù)和存在于根目錄中的文件的元數(shù)據(jù)被復(fù)原。之后,不論何時(shí)從第二客戶端服務(wù)器2向第一服務(wù)器系統(tǒng)3a產(chǎn)生對(duì)未復(fù)原的文件的數(shù)據(jù)I/O請(qǐng)求,目錄映像逐步被復(fù)原到第一服務(wù)器系統(tǒng)3a(第一存儲(chǔ)裝置10a)。
如上所述,在故障恢復(fù)之后,在開(kāi)始接收數(shù)據(jù)I/O請(qǐng)求之前,不是復(fù)原整個(gè)目錄映像,而是逐步復(fù)原目錄映像,由此使故障發(fā)生之后重啟服務(wù)需要的時(shí)間與在重啟服務(wù)之前復(fù)原整個(gè)目錄映像的情況相比得以縮短,使得用戶的操作等不受影響。
此外,直到整個(gè)目錄映像被復(fù)原,第一存儲(chǔ)裝置10a的資源可被保存。而且,因?yàn)榇鎯?chǔ)容量的消耗可以被減少直到整個(gè)目錄映像的復(fù)原,例如,具有小的存儲(chǔ)容量的存儲(chǔ)裝置可以用作已發(fā)生故障的第一存儲(chǔ)裝置10a的替代。
<添加復(fù)原目標(biāo)>
例如,在第一服務(wù)器系統(tǒng)3a或第一存儲(chǔ)裝置10a被提供充足的性能和存儲(chǔ)容量的情況下,或者在用戶希望服務(wù)的復(fù)原要迅速完成的情況下,優(yōu)選地在發(fā)生故障之前第一存儲(chǔ)裝置10a的目錄映像通過(guò)圖35所示的按需復(fù)原處理S3500被迅速?gòu)?fù)原。
但是,因?yàn)橥ㄟ^(guò)前述按需復(fù)原處理S3500的目錄復(fù)原速度取決于來(lái)自客戶端裝置2的數(shù)據(jù)I/O請(qǐng)求的發(fā)生頻率,如果數(shù)據(jù)I/O請(qǐng)求的發(fā)生頻率低,在完成目錄映像的復(fù)原之前可能花費(fèi)長(zhǎng)時(shí)間。
因此,為了防止目錄映像復(fù)原速度的這種下降,在按需復(fù)原處理S3500中,根據(jù)本實(shí)施方式,信息處理系統(tǒng)1被提供使添加的目錄映像被傳送給第一服務(wù)器系統(tǒng)3a的配置,以便當(dāng)?shù)谝环?wù)器系統(tǒng)3a向第二服務(wù)器系統(tǒng)3b請(qǐng)求提供要復(fù)原的目錄映像時(shí),在從客戶端裝置2接收的數(shù)據(jù)I/O請(qǐng)求滿足預(yù)定條件的條件下自動(dòng)促進(jìn)目錄映像復(fù)原。
上述預(yù)定條件例如包括如下所述的條件。
(條件1):訪問(wèn)目標(biāo)文件的數(shù)據(jù)尺寸小于在到當(dāng)前時(shí)間為止的預(yù)定時(shí)段期間產(chǎn)生的數(shù)據(jù)I/O請(qǐng)求的訪問(wèn)目標(biāo)文件的平均數(shù)據(jù)尺寸。
(條件2):訪問(wèn)目標(biāo)文件的數(shù)據(jù)尺寸小于預(yù)定閾值。
上述配置中要添加的一種目錄映像選擇方法包括,例如,如下所述的方法。
(選擇方法1):選擇從屬于已復(fù)原目錄的文件的元數(shù)據(jù)和/或?qū)嶓w。
這里,一般而言,從屬于已復(fù)原目錄的文件很可能要在以后訪問(wèn)。因此,根據(jù)選擇方法1,通過(guò)先復(fù)原從屬于這種目錄的文件的目錄映像,可以期望對(duì)客戶端裝置2的改善的響應(yīng)性能。
(選擇方法2):選擇從屬于已復(fù)原目錄的目錄的元數(shù)據(jù)。
這里,因?yàn)閺膶儆谝褟?fù)原目錄的目錄很可能要在以后訪問(wèn)。因此,根據(jù)選擇方法2,通過(guò)先復(fù)原從屬于這種目錄的目錄的元數(shù)據(jù),可以期望對(duì)客戶端裝置2的改善的響應(yīng)性能。
(選擇方法3):選擇在第一服務(wù)器系統(tǒng)3a中發(fā)生故障之前其實(shí)體已存儲(chǔ)在第一存儲(chǔ)裝置10a中的文件的實(shí)體(其清除標(biāo)志被設(shè)置為關(guān)的文件)。
具有在第一服務(wù)器系統(tǒng)3a中發(fā)生故障之前存儲(chǔ)在第一存儲(chǔ)裝置10a中的實(shí)體的文件很可能已被頻繁地訪問(wèn)。因此,根據(jù)選擇方法2,通過(guò)優(yōu)選地提前將這種文件的實(shí)體復(fù)原到第一存儲(chǔ)裝置10a,可以期望對(duì)客戶端裝置2的改善的響應(yīng)性能。
第一服務(wù)器系統(tǒng)3a確定文件是否是具有在發(fā)生故障之前存儲(chǔ)在第一存儲(chǔ)裝置10a中的實(shí)體的文件,這例如是通過(guò)向第二服務(wù)器系統(tǒng)3b查詢清除標(biāo)志2311的設(shè)置(這表示如果清除標(biāo)志2311設(shè)置為關(guān),文件的實(shí)體在故障發(fā)生之前已被存儲(chǔ)在第一存儲(chǔ)裝置10a中)。
(選擇方法4):選擇其優(yōu)先級(jí)被設(shè)置為高于訪問(wèn)目標(biāo)文件的優(yōu)先級(jí)的文件的元數(shù)據(jù)和/或?qū)嶓w。
通常,其優(yōu)先級(jí)設(shè)置為高的文件是很可能從客戶端裝置2訪問(wèn)的文件。因此,通過(guò)先前復(fù)原這種文件的元數(shù)據(jù)和/或?qū)嶓w,可以期望對(duì)客戶端裝置2的改善的響應(yīng)性能。
通過(guò)從第一服務(wù)器系統(tǒng)3a對(duì)第二服務(wù)器系統(tǒng)3b進(jìn)行查詢,第一服務(wù)器系統(tǒng)3a獲得其元數(shù)據(jù)尚未在第一存儲(chǔ)裝置10a中被復(fù)原的文件的優(yōu)先級(jí)(索引節(jié)點(diǎn)管理表1912中的優(yōu)先級(jí)2316的內(nèi)容)。
(選擇方法5):選擇其訪問(wèn)頻率高于在到故障發(fā)生時(shí)為止的預(yù)定時(shí)段期間的訪問(wèn)目標(biāo)文件的訪問(wèn)頻率的文件。
在到故障發(fā)生時(shí)為止的預(yù)定時(shí)段的訪問(wèn)頻率高的文件很可能從客戶端裝置2被訪問(wèn)。因此,通過(guò)提前復(fù)原這種文件的元數(shù)據(jù)和/或?qū)嶓w,可以期望對(duì)客戶端裝置2的改善的響應(yīng)性能。
第一服務(wù)器系統(tǒng)3a通過(guò)向第二服務(wù)器系統(tǒng)3b查詢文件訪問(wèn)日志368的內(nèi)容,來(lái)獲得到故障發(fā)生時(shí)為止的預(yù)定時(shí)段的文件的訪問(wèn)頻率。
上述方法僅是選擇方法的示例,并且因此選擇方法不限于此。例如,可以通過(guò)組合上述方法中的至少兩個(gè)選擇方法選擇要復(fù)原的目錄映像。例如,在要選擇的復(fù)原目標(biāo)的數(shù)目太多不能通過(guò)單個(gè)方法選擇的情況下,可以通過(guò)組合多個(gè)選擇方法來(lái)減少?gòu)?fù)原目標(biāo)。
圖37示出了當(dāng)數(shù)據(jù)I/O請(qǐng)求滿足上述預(yù)定條件時(shí),在上述按需復(fù)原處理S3500中通過(guò)上述預(yù)定的選擇方法添加要復(fù)原的目錄映像的處理(此后,稱為按需復(fù)原處理(包括復(fù)原目標(biāo)的添加)S3700)的框圖。此后,參考圖37描述按需復(fù)原處理(包括添加復(fù)原目標(biāo))S3700。
在從客戶端裝置2接收數(shù)據(jù)I/O請(qǐng)求(S3711)之后,第一服務(wù)器系統(tǒng)3a確定數(shù)據(jù)I/O請(qǐng)求中指定的訪問(wèn)目標(biāo)文件的元數(shù)據(jù)是否存在(已被復(fù)原)于第一存儲(chǔ)裝置10a中(S3712)。
如果訪問(wèn)目標(biāo)文件的元數(shù)據(jù)已被復(fù)原,根據(jù)數(shù)據(jù)I/O請(qǐng)求的目標(biāo)和類型、管理方法、目標(biāo)是否被清除等,第一服務(wù)器系統(tǒng)3a執(zhí)行對(duì)應(yīng)于接收的數(shù)據(jù)I/O請(qǐng)求的處理,并且對(duì)客戶端裝置2進(jìn)行響應(yīng)(S3718)。
另一方面,如果訪問(wèn)目標(biāo)文件的元數(shù)據(jù)未被復(fù)原,第一服務(wù)器系統(tǒng)3a請(qǐng)求第二服務(wù)器系統(tǒng)3b提供用于將根目錄中的目錄映像復(fù)原到訪問(wèn)目標(biāo)文件存在于其中的級(jí)別的目錄(目錄層)的數(shù)據(jù)(到這個(gè)階段的處理與圖35所示按需復(fù)原處理S3500相同)。
在接收上述請(qǐng)求之后,第二服務(wù)器系統(tǒng)3b確定數(shù)據(jù)I/O請(qǐng)求是否滿足上述預(yù)定條件。如果滿足預(yù)定條件,根據(jù)上述預(yù)定選擇方法,第二服務(wù)器系統(tǒng)3b進(jìn)一步選擇要添加的目錄映像。然后,第二服務(wù)器系統(tǒng)3b從第二存儲(chǔ)裝置10b獲得用于復(fù)原上述I/O請(qǐng)求中指定的目錄映像的數(shù)據(jù)以及用于復(fù)原上述選擇的目錄映像的數(shù)據(jù),并且向第一服務(wù)器系統(tǒng)3a傳送這些數(shù)據(jù)(S3713到S3715)。
在從第二服務(wù)器系統(tǒng)3b接收上述數(shù)據(jù)之后,第一服務(wù)器系統(tǒng)3a使用接收的數(shù)據(jù)將目錄映像復(fù)原到第一存儲(chǔ)裝置10a(S3716)。
接下來(lái),第一服務(wù)器系統(tǒng)3a將訪問(wèn)目標(biāo)文件的清除標(biāo)志231設(shè)置為開(kāi),將其復(fù)制標(biāo)志2314設(shè)置為關(guān),并且將其需要元數(shù)據(jù)同步標(biāo)志2312設(shè)置為開(kāi)(S3717)。
然后,根據(jù)數(shù)據(jù)I/O請(qǐng)求的目標(biāo)和類型、管理方法、目標(biāo)是否被清除等,第一服務(wù)器系統(tǒng)3a執(zhí)行對(duì)應(yīng)于接收的數(shù)據(jù)I/O請(qǐng)求的處理,并且對(duì)客戶端裝置2返回響應(yīng)(S3718)。
根據(jù)上述按需復(fù)原處理(包括添加復(fù)原目標(biāo))S3700,如果數(shù)據(jù)I/O請(qǐng)求滿足預(yù)定條件,將要被復(fù)原的目錄映像被自動(dòng)地添加。因此,目錄映像復(fù)原速度可以自動(dòng)地加速,并且第一存儲(chǔ)裝置10a的目錄映像可以被迅速?gòu)?fù)原到故障發(fā)生之前的狀態(tài)。
在上述按需復(fù)原處理(包括復(fù)原目標(biāo)的添加)S3700中,與確定是否添加要復(fù)原的目錄映像和獲得用于復(fù)原目錄映像的數(shù)據(jù)有關(guān)的處理在第二服務(wù)器3b一側(cè)排他地執(zhí)行。因此,當(dāng)選擇其替代時(shí),不需要向第一服務(wù)器系統(tǒng)3a提供具體配置并且不需要對(duì)第一服務(wù)器系統(tǒng)3a的型號(hào)和生產(chǎn)商(銷售商)進(jìn)行匹配,由此靈活操作信息處理系統(tǒng)1成為可能。
<避免再清除>
雖然在上述清除候選選擇處理S2500(圖25)中,清除候選文件在文件存儲(chǔ)區(qū)域的空閑容量小于清除閾值的條件下被選擇,并且選擇的文件在上述清除處理S2600(圖26)中實(shí)際被清除(其中的實(shí)體被從第一存儲(chǔ)裝置10a刪除),但是即使在執(zhí)行圖35所示的按需復(fù)原處理S3500(或者圖37所示的按需復(fù)原處理(包括復(fù)原目標(biāo)的添加)S3700。此后,僅提及按需復(fù)原處理S3500)期間,也可執(zhí)行清除候選選擇處理S2500和清除處理S2600。
例如,在清除閾值被設(shè)置為相對(duì)較高或者被準(zhǔn)備為已發(fā)生故障的第一存儲(chǔ)裝置10a的存儲(chǔ)裝置未被提供以充足容量的情況下,其實(shí)體通過(guò)按需復(fù)原處理S3500(或者圖37所示的按需復(fù)原處理(包括復(fù)原目標(biāo)的添加)S3700)被復(fù)原到第一存儲(chǔ)裝置10a的文件被立即再次選擇為清除候選并且被清除(此后,這個(gè)現(xiàn)象被稱為再清除)。
并且,如果這種再清除頻繁發(fā)生,信息處理系統(tǒng)1的資源被消耗并且信息處理系統(tǒng)1的操作效率下降。
因此,根據(jù)本實(shí)施方式的信息處理系統(tǒng)1提供一種機(jī)制,用于根據(jù)需要監(jiān)測(cè)再清除的發(fā)生以及根據(jù)再清除的發(fā)生狀態(tài)自動(dòng)抑制復(fù)原目錄映像以便抑制再清除的發(fā)生。
圖38示出了由第二服務(wù)器系統(tǒng)3b執(zhí)行的與上述機(jī)制有關(guān)處理(此后,稱為再清除避免處理S3800)的框圖。此后,參考圖38說(shuō)明再清除避免處理S3800。
在執(zhí)行上述按需復(fù)原處理S3500時(shí),第二服務(wù)器系統(tǒng)3b監(jiān)測(cè)再清除每單位時(shí)間的發(fā)生頻率是否等于或高于預(yù)定閾值(此后,稱為再清除頻率閾值),或者再清除發(fā)生時(shí)間間隔是否小于預(yù)定閾值(此后,稱為再清除發(fā)生時(shí)間間隔閾值)(S3811到S3813)。
這里,例如基于復(fù)原日志365的內(nèi)容以及在元數(shù)據(jù)同步處理S2900中從第一服務(wù)器系統(tǒng)3a到第二服務(wù)器系統(tǒng)3b的清除標(biāo)志2311的更新通知(將清除標(biāo)志2311從關(guān)轉(zhuǎn)變?yōu)殚_(kāi)的通知),確定是否發(fā)生了再清除。
例如,如果在目錄映像已在第一存儲(chǔ)裝置10a中被復(fù)原之后的預(yù)定時(shí)段中,目錄映像的數(shù)據(jù)(元數(shù)據(jù)或?qū)嶓w)的清除標(biāo)志2311已被設(shè)置為開(kāi),則第二服務(wù)器系統(tǒng)3b確定發(fā)生了再清除。
如圖38所示,當(dāng)?shù)诙?wù)器系統(tǒng)3b檢測(cè)到在上述監(jiān)測(cè)期間的再清除發(fā)生頻率等于或高于再清除頻率閾值或者再清除發(fā)生時(shí)間間隔小于再清除發(fā)生時(shí)段閾值,第二服務(wù)器系統(tǒng)3b抑制(減少)傳送給第一服務(wù)器系統(tǒng)3a的目錄映像(包括在按需復(fù)原處理(包括復(fù)原目標(biāo)的添加)S3700中添加的目錄映像)的量。該抑制也適用于向第一服務(wù)器系統(tǒng)3a傳輸目錄映像被暫停的情況(S3814)。
這里,用于上述抑制的具體方法包括,例如,以下所述的這些方法。
(抑制方法1):當(dāng)數(shù)據(jù)I/O請(qǐng)求的目標(biāo)僅是元數(shù)據(jù)時(shí),不復(fù)原文件的實(shí)體。
這個(gè)方法減輕了復(fù)原實(shí)體的負(fù)載。如果數(shù)據(jù)I/O請(qǐng)求的目標(biāo)僅是元數(shù)據(jù),不需要復(fù)原文件的實(shí)體,從而即使當(dāng)實(shí)體未被復(fù)原時(shí),數(shù)據(jù)I/O請(qǐng)求的處理不受影響。
(抑制方法2):當(dāng)使用上述(選擇方法1)到(選擇方法5)中至少一個(gè)方法選擇目錄映像時(shí),還以重疊的方式應(yīng)用另一選擇方法。
以重疊方式應(yīng)用選擇方法可以逐步抑制再清除的發(fā)生并且根據(jù)再清除的發(fā)生狀態(tài)適當(dāng)?shù)匾种瓢l(fā)送給第一服務(wù)器系統(tǒng)3a的目錄映像的量。
(抑制方法3):上述(選擇方法4)中使用的優(yōu)先級(jí)閾值設(shè)置為更高。
通過(guò)將優(yōu)先級(jí)閾值設(shè)置為較高,可以簡(jiǎn)單地實(shí)現(xiàn)抑制再清除。此外,通過(guò)逐步將優(yōu)先級(jí)閾值設(shè)置為更高,根據(jù)再清除的發(fā)生狀態(tài),發(fā)送給第一服務(wù)器系統(tǒng)3a的目錄映像的量可以被適當(dāng)抑制。
(抑制方法4):在上述(選擇方法5)中用于確定訪問(wèn)頻率的訪問(wèn)頻率閾值被設(shè)置為較高。
通過(guò)將訪問(wèn)頻率閾值設(shè)置為較高,可以簡(jiǎn)單地實(shí)現(xiàn)抑制再清除。此外,通過(guò)逐步將訪問(wèn)頻率閾值設(shè)置為更高,發(fā)送給第一服務(wù)器系統(tǒng)3a的目錄映像的量可以根據(jù)再清除的發(fā)生狀態(tài)而得到適當(dāng)抑制。
而且,第二服務(wù)器系統(tǒng)3b連續(xù)執(zhí)行上述監(jiān)測(cè)并且當(dāng)再清除發(fā)生頻率低于再清除頻率閾值并且再清除發(fā)生時(shí)間間隔等于或大于再清除發(fā)生時(shí)間間隔時(shí),自動(dòng)釋放上述抑制。這里,釋放包括一次釋放整個(gè)抑制以及逐步釋放,例如,逐漸添加目錄映像(S3814)。
如上所述,根據(jù)再清除避免處理S3800,當(dāng)再清除頻繁發(fā)生時(shí),從第二服務(wù)器系統(tǒng)3b向第一服務(wù)器系統(tǒng)3a傳送的目錄映像的量自動(dòng)被抑制,從而可以抑制再清除的發(fā)生。于是,可以防止由再清除引起的信息處理系統(tǒng)1的資源損耗和由再清除引起的信息處理系統(tǒng)1的操作效率下降。
而且,再清除避免處理S3800主要由第二服務(wù)器系統(tǒng)3b執(zhí)行,因此不需要為第一服務(wù)器系統(tǒng)3a側(cè)提供特殊配置。因此,用于抑制再清除的配置可以容易地在信息處理系統(tǒng)1中實(shí)現(xiàn)。此外,因?yàn)椴恍枰厥庑阅芎鸵?guī)格,第一存儲(chǔ)裝置10a具有廣泛的選擇并且可以選擇任何硬件和軟件而不考慮銷售商、型號(hào)等。
<處理的細(xì)節(jié)>
接下來(lái),描述信息處理系統(tǒng)1中執(zhí)行的處理的細(xì)節(jié)。
圖39所示是圖24中復(fù)制開(kāi)始處理S2400的細(xì)節(jié)的流程圖。下面參考圖給出描述。
第一服務(wù)器系統(tǒng)3a實(shí)時(shí)監(jiān)測(cè)第一服務(wù)器系統(tǒng)3a是否已從客戶端裝置2接收復(fù)制開(kāi)始請(qǐng)求(S3911)。在從客戶端裝置2接收復(fù)制開(kāi)始請(qǐng)求時(shí)(S3911:是)(圖24中S2411),第一服務(wù)器系統(tǒng)3a向第二服務(wù)器系統(tǒng)3b查詢?cè)诮邮盏膹?fù)制開(kāi)始請(qǐng)求中指定的文件的數(shù)據(jù)(元數(shù)據(jù)和實(shí)體)的存儲(chǔ)目的地(RAID組的標(biāo)識(shí)符、塊地址等)(S3912)。
在接收上述查詢(S3921)之后,第二服務(wù)器系統(tǒng)3b查找第二存儲(chǔ)裝置10b中的空閑區(qū)域以確定文件的數(shù)據(jù)的存儲(chǔ)目的地,并且向第一服務(wù)器系統(tǒng)3a通知確定的存儲(chǔ)目的地(S3922)。
在接收上述通知(S3913)之后,第一服務(wù)器系統(tǒng)3a從第一存儲(chǔ)裝置10a讀取在接收的復(fù)制開(kāi)始請(qǐng)求中指定的文件的數(shù)據(jù)(元數(shù)據(jù)和實(shí)體)(S3914)(圖24中S2412),并且向第二服務(wù)器系統(tǒng)3b發(fā)送文件的已讀取數(shù)據(jù)和在S3922中通知的存儲(chǔ)目的地(S3915)(圖24中S2413)。
而且,第一服務(wù)器系統(tǒng)3a將文件的元數(shù)據(jù)(存儲(chǔ)在第一存儲(chǔ)裝置10a中的文件的元數(shù)據(jù))的復(fù)制標(biāo)志2314設(shè)置為開(kāi),并且將其需要元數(shù)據(jù)同步標(biāo)志2312設(shè)置為開(kāi)(S3916)(圖24中S2414)。
通過(guò)將需要元數(shù)據(jù)同步標(biāo)志2312設(shè)置為開(kāi),存儲(chǔ)在第一存儲(chǔ)裝置10a中的文件的元數(shù)據(jù)與存儲(chǔ)在第二存儲(chǔ)裝置10b中作為其復(fù)本的文件的元數(shù)據(jù)之間的一致性通過(guò)上述同步處理S2900被同步地或異步地保證(確保)。
另一方面,在從第一服務(wù)器系統(tǒng)3a接收文件的數(shù)據(jù)(S3923)之后,第二服務(wù)器系統(tǒng)3b將接收的文件的數(shù)據(jù)存儲(chǔ)在利用與該文件一起接收的存儲(chǔ)目的地標(biāo)識(shí)的第二存儲(chǔ)裝置10b的位置中(S3924)。
圖40示出了圖25中的清除候選選擇處理S2500的細(xì)節(jié)的流程圖。下面參考圖給出描述。
第一服務(wù)器系統(tǒng)3a根據(jù)需要監(jiān)測(cè)文件存儲(chǔ)區(qū)域的空閑容量是否小于清除閾值(S4011,S4012),并且當(dāng)檢測(cè)到文件存儲(chǔ)區(qū)域的空閑容量小于清除閾值時(shí),第一服務(wù)器系統(tǒng)3a根據(jù)上文描述的預(yù)定選擇標(biāo)準(zhǔn)從存儲(chǔ)在第一存儲(chǔ)裝置10a中的復(fù)制文件中選擇清除候選(S4012)(圖25中的S2511)。
然后,在選擇清除候選時(shí)(S4013),第一服務(wù)器系統(tǒng)3a將選擇的復(fù)制標(biāo)志的清除標(biāo)志2311設(shè)置為開(kāi),將其復(fù)制標(biāo)志2314設(shè)置為關(guān),并且將其需要元數(shù)據(jù)同步標(biāo)志2312設(shè)置為開(kāi)(S4014)(圖25中的S2512)。
圖41示出了圖26中清除處理S2600的細(xì)節(jié)的流程圖。下面參考圖給出描述。
第一服務(wù)器系統(tǒng)3a根據(jù)需要從存儲(chǔ)在第一存儲(chǔ)裝置10a的文件存儲(chǔ)區(qū)域中的文件中提取被選作清除候選的文件(其清除標(biāo)志2311設(shè)置為開(kāi)的文件)(S4111,S4112)。
然后,第一服務(wù)器系統(tǒng)3a從第一存儲(chǔ)裝置10a刪除提取的文件的實(shí)體(S4113),向所提取文件的元數(shù)據(jù)中表明該文件在第一存儲(chǔ)裝置10a中的存儲(chǔ)目的地的信息設(shè)置無(wú)效值(例如,對(duì)其中設(shè)置文件的存儲(chǔ)目的地的元數(shù)據(jù)中的列(例如,塊地址2218)設(shè)置NULL值或0)(S4114),并且將需要元數(shù)據(jù)同步標(biāo)志2312設(shè)置為開(kāi)(S4115)(圖26中的S2611)。
圖42示出了圖27中復(fù)制文件更新處理S2700的細(xì)節(jié)的流程圖。下面參考圖給出描述。
第一服務(wù)器系統(tǒng)3a實(shí)時(shí)監(jiān)測(cè)是否從客戶端裝置接收對(duì)復(fù)制文件的更新請(qǐng)求(S4211)。在接收更新請(qǐng)求(S4211:是)(圖27中S2711)之后,第一服務(wù)器系統(tǒng)3a根據(jù)接收的更新請(qǐng)求對(duì)更新請(qǐng)求的目標(biāo)下的復(fù)制文件的數(shù)據(jù)(元數(shù)據(jù)或?qū)嶓w)進(jìn)行更新,復(fù)制文件被存儲(chǔ)在第一存儲(chǔ)裝置10a中(S4212)(圖27中的S2712)。
而且,如果元數(shù)據(jù)被更新,第一服務(wù)器系統(tǒng)3a將復(fù)制文件的需要元數(shù)據(jù)同步標(biāo)志2312設(shè)置為開(kāi)(S4213),并且如果復(fù)制文件的實(shí)體被更新,第一服務(wù)器系統(tǒng)3a將復(fù)制文件的需要實(shí)體同步標(biāo)志2313設(shè)置為開(kāi)(S4214)(圖27中的S2713)。
圖43示出了圖28中復(fù)制文件參考處理S2800的細(xì)節(jié)的流程圖。下面參考圖給出描述。
第一服務(wù)器系統(tǒng)3a實(shí)時(shí)監(jiān)測(cè)是否從客戶端裝置2接收到對(duì)復(fù)制文件的參考請(qǐng)求(S4311)。在接收參考請(qǐng)求(S4311:是)(圖28中S2811)之后,第一服務(wù)器系統(tǒng)3a從第一存儲(chǔ)裝置10a讀取復(fù)制文件的數(shù)據(jù)(元數(shù)據(jù)或?qū)嶓w)(S4312)(圖28中S2812),基于讀數(shù)據(jù)產(chǎn)生對(duì)客戶端裝置2做出響應(yīng)的信息,并且向客戶端裝置2傳送產(chǎn)生的響應(yīng)信息(S4313)(圖28中S2813)。
圖44示出了圖29中的同步處理S2900的細(xì)節(jié)的流程圖。下面參考圖給出描述。
第一服務(wù)器系統(tǒng)3a實(shí)時(shí)監(jiān)測(cè)是否從客戶端裝置2接收到對(duì)復(fù)制文件的同步請(qǐng)求(S4411)。在接收同步請(qǐng)求(S4411:是)(圖29中S2911)之后,第一服務(wù)器系統(tǒng)3a從存儲(chǔ)在第一存儲(chǔ)裝置10a的文件存儲(chǔ)區(qū)域中的復(fù)制文件中獲得需要元數(shù)據(jù)同步標(biāo)志2312和需要實(shí)體同步標(biāo)志2313中的至少一個(gè)被設(shè)置為開(kāi)的文件(S4412)(圖29中S2912)。
然后,第一服務(wù)器系統(tǒng)3a向第二服務(wù)器系統(tǒng)3b傳送獲得的文件的元數(shù)據(jù)或?qū)嶓w(S4413),并且將復(fù)制文件的需要元數(shù)據(jù)同步標(biāo)志2312或其需要實(shí)體同步標(biāo)志2313設(shè)置為關(guān)(S4414)(圖29中S2913)。
另一方面,在接收元數(shù)據(jù)或?qū)嶓w(S4421)(圖29中S2913)之后,基于接收的元數(shù)據(jù)或?qū)嶓w(或更新差異),第二服務(wù)器系統(tǒng)3b更新與接收的元數(shù)據(jù)或?qū)嶓w對(duì)應(yīng)的、存儲(chǔ)在第二存儲(chǔ)裝置10b中的文件的元數(shù)據(jù)或?qū)嶓w(S4422)(圖29中S2914)。
圖45示出了圖30中元數(shù)據(jù)訪問(wèn)處理S3000的細(xì)節(jié)的流程圖。下面參考圖給出描述。
第一服務(wù)器系統(tǒng)3a實(shí)時(shí)監(jiān)測(cè)是否從客戶端裝置2接收到對(duì)已清除文件的元數(shù)據(jù)的訪問(wèn)請(qǐng)求(參考請(qǐng)求或更新請(qǐng)求)(S4511)。
在接收對(duì)對(duì)已清除文件的元數(shù)據(jù)的訪問(wèn)請(qǐng)求(S4511:是)(圖30中S3011)之后,第一服務(wù)器系統(tǒng)3a獲得作為第一存儲(chǔ)裝置10a中接收的訪問(wèn)請(qǐng)求的目標(biāo)的元數(shù)據(jù)(S4512),并且根據(jù)接收的訪問(wèn)請(qǐng)求(S4513)參考元數(shù)據(jù)(基于讀元數(shù)據(jù)向客戶端裝置2發(fā)送響應(yīng)信息)(S4514)或更新元數(shù)據(jù)(S4515)(圖30中S3012)。如果元數(shù)據(jù)的內(nèi)容被更新(S4515),第一服務(wù)器系統(tǒng)3a將文件的需要元數(shù)據(jù)同步標(biāo)志2312設(shè)置為開(kāi)(圖30中S3013)。
圖46示出了圖31中的已清除文件實(shí)體參考處理S3100的細(xì)節(jié)的流程圖。下面參考圖給出描述。
在從客戶端裝置2接收到對(duì)已清除文件的實(shí)體的參考請(qǐng)求(S4611:是)(圖31中S3111)之后,第一服務(wù)器系統(tǒng)3a確定已清除文件的實(shí)體是否存儲(chǔ)在第一存儲(chǔ)裝置10a中(S4612)(圖31中S3112)。
如果已清除文件的實(shí)體存儲(chǔ)在第一存儲(chǔ)裝置10a中(S4612:是),第一服務(wù)器系統(tǒng)3a從第一存儲(chǔ)裝置10a讀取已清除文件的實(shí)體,基于所讀取的實(shí)體產(chǎn)生對(duì)客戶端裝置2做出響應(yīng)的信息,并且向客戶端裝置2傳送產(chǎn)生的響應(yīng)信息(S4613)(圖31中S3113)。
另一方面,如果清除文件的實(shí)體未存儲(chǔ)在第一存儲(chǔ)裝置10a中(S4612:否),第一服務(wù)器系統(tǒng)3a請(qǐng)求第二服務(wù)器系統(tǒng)3b提供已清除文件的實(shí)體(撤回請(qǐng)求)(S4614)(圖31中S3114)。
在響應(yīng)于上述獲得請(qǐng)求而接收從第二服務(wù)器系統(tǒng)3b傳送的已清除文件的實(shí)體(S4621,S4622,S4615)(圖31中S3115)之后,第一服務(wù)器系統(tǒng)3a基于接收的實(shí)體產(chǎn)生響應(yīng)信息,并且向客戶端裝置2傳送產(chǎn)生的響應(yīng)信息(S4616)(圖31中S3116)。
而且,第一服務(wù)器系統(tǒng)3a將從第二服務(wù)器系統(tǒng)3b接收的上述實(shí)體存儲(chǔ)在第一存儲(chǔ)裝置10a中,并且將表明第一存儲(chǔ)裝置10a中文件的存儲(chǔ)目的地的內(nèi)容設(shè)置在表明已清除文件的元數(shù)據(jù)文件的存儲(chǔ)目的地的信息中(例如,塊地址2218)(S4617)。
而且,第一服務(wù)器系統(tǒng)3a將文件的清除標(biāo)志2311設(shè)置為關(guān),將其復(fù)制標(biāo)志2314設(shè)置為開(kāi),并且將其需要元數(shù)據(jù)同步標(biāo)志2312設(shè)置為開(kāi)(S4618)(圖31中S3117)。
圖47示出了圖32中的已清除文件實(shí)體更新處理S3200的細(xì)節(jié)的流程圖。下面參考圖給出描述。
在從客戶端裝置2接收對(duì)已清除文件的實(shí)體的更新請(qǐng)求(S4711:是)(圖32中S3211)之后,第一服務(wù)器系統(tǒng)3a確定已清除文件的實(shí)體是否存儲(chǔ)在第一存儲(chǔ)裝置10a中(S4712)(圖32中S3212)。
如果已清除文件的實(shí)體存儲(chǔ)在第一存儲(chǔ)裝置10a中(S4712:是),第一服務(wù)器系統(tǒng)3a根據(jù)更新請(qǐng)求的內(nèi)容來(lái)更新存儲(chǔ)在第一存儲(chǔ)裝置10a中的已清除文件的實(shí)體(S4713),并且將已清除文件的需要實(shí)體同步標(biāo)志2313設(shè)置為開(kāi)(S4714)(圖32中S3213)。
另一方面,如果確定已清除文件的實(shí)體未存儲(chǔ)在第一存儲(chǔ)裝置10a中(S4712:否),第一服務(wù)器系統(tǒng)3a向第二服務(wù)器系統(tǒng)3b發(fā)送獲得已清除文件的實(shí)體的請(qǐng)求(撤回請(qǐng)求)(S4715)(圖32中S3214)。
在響應(yīng)于上述請(qǐng)求而接收從第二服務(wù)器系統(tǒng)3b傳送的文件的實(shí)體(S4721,S4722,S4716)(S3215)之后,第一服務(wù)器系統(tǒng)3a根據(jù)更新請(qǐng)求的內(nèi)容更新接收的實(shí)體的內(nèi)容(S4717),并且將更新的實(shí)體存儲(chǔ)在第一存儲(chǔ)裝置10a中作為已清除文件的實(shí)體(S4718)(圖32中S3216)。
而且,第一服務(wù)器系統(tǒng)3a將已清除文件的清除標(biāo)志2311設(shè)置為關(guān),將其復(fù)制標(biāo)志2314設(shè)置為開(kāi),并且將其需要元數(shù)據(jù)同步標(biāo)志2312設(shè)置為開(kāi)(S4719)。
圖48示出了圖33中虛擬機(jī)恢復(fù)處理S3300和圖34中目錄映像提前復(fù)原處理S3400的細(xì)節(jié)的流程圖。下面參考圖給出描述。
首先,第一服務(wù)器系統(tǒng)3a使用啟動(dòng)加載器等執(zhí)行記錄在記錄介質(zhì)中的安裝程序,以在第一服務(wù)器系統(tǒng)3a中安裝虛擬化控制單元305,并且使虛擬化控制單元305啟動(dòng)其功能(S4811)(圖33中S3311和S3312)。
接下來(lái),啟動(dòng)了功能的虛擬化控制單元305向第二服務(wù)器系統(tǒng)3b傳送虛擬機(jī)映像獲得請(qǐng)求(S4812)(圖33中S3313)。
在從第一服務(wù)器系統(tǒng)3a接收上述虛擬機(jī)映像獲得請(qǐng)求時(shí)(S4812),第二服務(wù)器系統(tǒng)3b從第二存儲(chǔ)裝置10b獲得在獲得請(qǐng)求中指定的虛擬機(jī)映像,并且向第一服務(wù)器系統(tǒng)3a傳送獲得的虛擬機(jī)映像(S4822)(圖33中S3314和S3315)。
在從第二服務(wù)器系統(tǒng)3b接收虛擬機(jī)映像(S4813)(圖33中S3316)之后,第一服務(wù)器系統(tǒng)3a在第一存儲(chǔ)裝置10a中存儲(chǔ)接收的虛擬機(jī)映像(S4814),并且基于接收的虛擬機(jī)映像開(kāi)始虛擬機(jī)310的操作(S4815)(圖33中S3317)。
接下來(lái),第一服務(wù)器系統(tǒng)3a向第二服務(wù)器系統(tǒng)3b發(fā)送獲得請(qǐng)求,該獲得請(qǐng)求針對(duì)存在于在由通過(guò)虛擬機(jī)恢復(fù)處理S3300重啟的虛擬機(jī)310的文件系統(tǒng)312發(fā)生故障之前被配置的目錄映像的根目錄中的目錄的元數(shù)據(jù),以及存在于根目錄中的文件的元數(shù)據(jù)(S4816)(圖34中S3411)。
在接收上述獲得請(qǐng)求(S4823)之后,第二服務(wù)器系統(tǒng)3b從第二存儲(chǔ)裝置10b獲得所請(qǐng)求的存在于根目錄中的目錄的元數(shù)據(jù)以及存在于根目錄中的文件的元數(shù)據(jù),并且向第一存儲(chǔ)裝置10a傳送獲得的元數(shù)據(jù)(S4824)(圖34中的S3412和S3413)。
然后,在從第二服務(wù)器系統(tǒng)3b接收元數(shù)據(jù)(S4817)(圖34中的S3413)之后,第一服務(wù)器系統(tǒng)3a在第一存儲(chǔ)裝置10a中基于接收的元數(shù)據(jù)配置(復(fù)原)目錄映像(S4818)(圖34中的S3414)。這時(shí),第一服務(wù)器系統(tǒng)3a將需要元數(shù)據(jù)同步標(biāo)志2312設(shè)置為開(kāi),并且將需要實(shí)體同步標(biāo)志2313設(shè)置為開(kāi)(S4819)。
然后,在上述目錄映像在第一存儲(chǔ)裝置10a中被配置之后,第一服務(wù)器系統(tǒng)3a開(kāi)始向客戶端裝置2提供服務(wù)(S4820)(圖34中的S3415)。
圖49示出了圖35中的按需復(fù)原處理S3500的細(xì)節(jié)的流程圖。下面參考圖給出描述。
在從客戶端裝置2接收數(shù)據(jù)I/O請(qǐng)求(S4911:是)(圖35中的S3511)之后,第一服務(wù)器系統(tǒng)3a檢查接收的數(shù)據(jù)I/O請(qǐng)求的目標(biāo)文件(訪問(wèn)目標(biāo)文件)的元數(shù)據(jù)是否存在于第一存儲(chǔ)裝置10a中(S4912)(圖35中S3512)。
然后,如果訪問(wèn)目標(biāo)文件的元數(shù)據(jù)在第一存儲(chǔ)裝置10a中被復(fù)原(S4912:是),第一服務(wù)器系統(tǒng)3a根據(jù)接收的數(shù)據(jù)I/O請(qǐng)求的目標(biāo)和類型、管理方法、目標(biāo)是否被清除等,執(zhí)行對(duì)應(yīng)于接收的數(shù)據(jù)I/O請(qǐng)求的處理,并且向客戶端裝置2返回響應(yīng)(S4913)(圖35中S3518)。
另一方面,如果訪問(wèn)目標(biāo)文件的元數(shù)據(jù)未在第一存儲(chǔ)裝置10a中被復(fù)原(S4912:否),第一服務(wù)器系統(tǒng)3a請(qǐng)求第二服務(wù)器系統(tǒng)3b提供用于將根目錄中的目錄映像復(fù)原到訪問(wèn)目標(biāo)文件存在于其中的級(jí)別的目錄的數(shù)據(jù)(S4914)。
第二服務(wù)器系統(tǒng)3b從第二存儲(chǔ)裝置10b獲得請(qǐng)求的數(shù)據(jù),并且向第一服務(wù)器系統(tǒng)3a傳送獲得的數(shù)據(jù)(S4921,S4922和S4915)。
在接收從第二服務(wù)器系統(tǒng)3b傳送的數(shù)據(jù)(S4915)之后,第一服務(wù)器系統(tǒng)3a使用該數(shù)據(jù)在第一存儲(chǔ)裝置10a中復(fù)原目錄映像(S4916)(圖35中S3513到S3516)。
而且,第一服務(wù)器系統(tǒng)3a將訪問(wèn)目標(biāo)文件的清除標(biāo)志2311設(shè)置為開(kāi),將其復(fù)制標(biāo)志2314設(shè)置為關(guān),并且將其需要元數(shù)據(jù)同步標(biāo)志2312設(shè)置為開(kāi)(S4917)(圖35中S3517)。
接下來(lái),根據(jù)接收到的數(shù)據(jù)I/O請(qǐng)求的目標(biāo)和類型、管理方法、目標(biāo)是否被清除等,第一服務(wù)器系統(tǒng)3a執(zhí)行對(duì)應(yīng)于接收的數(shù)據(jù)I/O請(qǐng)求的處理,并且對(duì)客戶端裝置2響應(yīng)(S4918)(圖35中S3518)。
圖50和圖51使出了圖37中的按需復(fù)原處理(包括復(fù)原目標(biāo)的添加)S3700的細(xì)節(jié)的流程圖。下面參考圖給出描述。
在從客戶端裝置2接收數(shù)據(jù)I/O請(qǐng)求(S5011:是)(圖37中的S3711)之后,第一服務(wù)器系統(tǒng)3a檢查作為接收的數(shù)據(jù)I/O請(qǐng)求的目標(biāo)的訪問(wèn)目標(biāo)文件的元數(shù)據(jù)是否存在于第一存儲(chǔ)裝置10a中(S5012)(圖37中S3712)。
如果元數(shù)據(jù)在第一存儲(chǔ)裝置10a中被復(fù)原(S5012:是),根據(jù)接收到的數(shù)據(jù)I/O請(qǐng)求的目標(biāo)和類型、管理方法、目標(biāo)是否被清除等,第一服務(wù)器系統(tǒng)3a執(zhí)行對(duì)應(yīng)于接收的數(shù)據(jù)I/O請(qǐng)求的處理,并且向客戶端裝置2返回響應(yīng)(S5013)(圖37中S3718)。
另一方面,如果訪問(wèn)目標(biāo)文件的元數(shù)據(jù)未在第一存儲(chǔ)裝置10a中被復(fù)原(S5012:否),第一服務(wù)器系統(tǒng)3a請(qǐng)求第二服務(wù)器系統(tǒng)3b提供用于將根目錄中的目錄映像復(fù)原到訪問(wèn)目標(biāo)文件存在于其中的級(jí)別的目錄的數(shù)據(jù)(S5014)。
在接收上述請(qǐng)求之后,第二服務(wù)器系統(tǒng)3b確定數(shù)據(jù)I/O請(qǐng)求是否滿足上述預(yù)定條件(S5022)。
如果不滿足預(yù)定條件(S5022:否),處理進(jìn)行到S5024。另一方面,如果滿足預(yù)定條件(S5022:是),第二服務(wù)器系統(tǒng)3b根據(jù)上述預(yù)定選擇方法選擇要添加的目錄映像(S5023)。
在S5024中,第二服務(wù)器系統(tǒng)3b從第二存儲(chǔ)裝置10b獲得用于復(fù)原在S5021中接收的請(qǐng)求中指定的目錄映像的數(shù)據(jù)以及用于復(fù)原在S5023中選擇的目錄映像的數(shù)據(jù),并且向第一服務(wù)器系統(tǒng)3a請(qǐng)傳送獲得的數(shù)據(jù)(圖37中S3713到S3715)。
在接收上述數(shù)據(jù)(S5015)之后,第一服務(wù)器系統(tǒng)3a使用接收的數(shù)據(jù)在第一存儲(chǔ)裝置10a中復(fù)原目錄映像(S5016)(圖37中S3716)。
接下來(lái),第一服務(wù)器系統(tǒng)3a將訪問(wèn)目標(biāo)文件的清除標(biāo)志2311設(shè)置為開(kāi),將其復(fù)制標(biāo)志2314設(shè)置為關(guān),并且將其需要元數(shù)據(jù)同步標(biāo)志2312設(shè)置為開(kāi)(S5017)(圖37中S3717)。
然后,根據(jù)接收的數(shù)據(jù)I/O請(qǐng)求的目標(biāo)和類型、管理方法、目標(biāo)是否被清除等,第一服務(wù)器系統(tǒng)3a執(zhí)行對(duì)應(yīng)于接收的數(shù)據(jù)I/O請(qǐng)求的處理,并且向客戶端裝置2返回響應(yīng)(S5018)(圖37中S3718)。
圖52示出了圖38中的再清除避免處理S3800的細(xì)節(jié)的流程圖。下面結(jié)合圖給出描述。
當(dāng)執(zhí)行按需復(fù)原處理S3500時(shí)(或圖37中所示的按需復(fù)原處理(包括復(fù)原目標(biāo)的添加)S3700),第二服務(wù)器系統(tǒng)3b監(jiān)測(cè)再清除每單位時(shí)間的發(fā)生頻率是否等于或高于預(yù)定閾值(此后,稱為再清除頻率閾值)或再清除發(fā)生時(shí)間間隔是否小于預(yù)定閾值(此后,稱為再清除發(fā)生時(shí)間間隔閾值)(S5211和S5212)(圖38中S3811到S3813)。
在上述監(jiān)測(cè)中,在檢測(cè)到再清除發(fā)生頻率等于或高于再清除頻率閾值(S5211:是)時(shí),第二服務(wù)器系統(tǒng)3b將抑制標(biāo)志管理表366中所管理的抑制標(biāo)志3661設(shè)置為開(kāi)(S5213)。
在上述監(jiān)測(cè)中,在檢測(cè)到再清除發(fā)生時(shí)間間隔小于再清除發(fā)生時(shí)間間隔閾值(S52212:是)時(shí),第二服務(wù)器系統(tǒng)3b將抑制標(biāo)志3661設(shè)置為開(kāi)(S5213)。
在上述監(jiān)測(cè)中,如果再清除發(fā)生頻率小于再清除頻率閾值(S5211:否)并且再清除發(fā)生時(shí)間間隔等于或大于再清除發(fā)生時(shí)間間隔閾值(S5211:否),第二服務(wù)器系統(tǒng)3b將抑制標(biāo)志3661設(shè)置為關(guān)(S5214)(圖38中S3814)
在S5215中,第二服務(wù)器系統(tǒng)3b確定抑制標(biāo)志3661被設(shè)置為開(kāi)還是關(guān)。如果抑制標(biāo)志設(shè)置為開(kāi)(S5215:開(kāi)),第二服務(wù)器系統(tǒng)3b開(kāi)始用于抑制從第二服務(wù)器系統(tǒng)3b向第一服務(wù)器系統(tǒng)3a傳送的目錄映像的量的處理(S5216)。如果抑制已開(kāi)始,第二服務(wù)器系統(tǒng)3b繼續(xù)抑制。
另一方面,如果抑制標(biāo)志被設(shè)置為關(guān)(S5215:關(guān)),第二服務(wù)器系統(tǒng)3b終止抑制向第一服務(wù)器系統(tǒng)3a傳送的目錄映像的量的處理。如果抑制已被終止,第二服務(wù)器系統(tǒng)3b保持非抑制狀態(tài)。
如以上細(xì)節(jié)所述,在從故障恢復(fù)第一服務(wù)器系統(tǒng)3a時(shí),在根據(jù)本實(shí)施方式的信息處理系統(tǒng)1中,在第一服務(wù)器系統(tǒng)3a開(kāi)始接收數(shù)據(jù)I/O請(qǐng)求之前,第二服務(wù)器系統(tǒng)3b向第一服務(wù)器系統(tǒng)3a發(fā)送存儲(chǔ)在第二存儲(chǔ)裝置10b中的文件的數(shù)據(jù)中的最高級(jí)層到預(yù)定較低級(jí)層中的目錄的目錄映像。然后,在第一服務(wù)器系統(tǒng)3a已在第一存儲(chǔ)裝置10a中復(fù)原從第二服務(wù)器系統(tǒng)3b傳送的目錄映像之后,第一服務(wù)器系統(tǒng)3a重新開(kāi)始接收數(shù)據(jù)I/O請(qǐng)求。
如上所述,在從故障恢復(fù)第一服務(wù)器系統(tǒng)3a之后,根據(jù)本實(shí)施方式的信息處理系統(tǒng)1不是復(fù)原在發(fā)生故障之前存在于第一存儲(chǔ)裝置10a中的整個(gè)目錄映像,而是僅復(fù)原最高級(jí)層到預(yù)定較低級(jí)層中的目錄的目錄映像,由此,與復(fù)原在發(fā)生故障之前存在于第一存儲(chǔ)裝置10a中的整個(gè)目錄映像相比,復(fù)原目錄映像所需的時(shí)間可以縮短并且因此使服務(wù)可以迅速重啟。而且,與復(fù)原整個(gè)目錄映像相比,信息處理系統(tǒng)1上的負(fù)載可以被減輕。
而且,當(dāng)?shù)谝环?wù)器系統(tǒng)3a請(qǐng)求未在第一存儲(chǔ)裝置10a中被復(fù)原的目錄映像時(shí),第二服務(wù)器系統(tǒng)3b從第二存儲(chǔ)裝置10b讀取請(qǐng)求的目錄映像,并且將其與從第二存儲(chǔ)裝置10b讀取的、不同于根據(jù)預(yù)定選擇方法選擇的目錄映像的附加目錄映像一起傳送。然后,第一服務(wù)器系統(tǒng)3a基于從第二服務(wù)器系統(tǒng)3b傳送的目錄映像執(zhí)行對(duì)數(shù)據(jù)I/O請(qǐng)求的處理,并且在第一存儲(chǔ)裝置10a中復(fù)原目錄映像和從第二服務(wù)器系統(tǒng)3b傳送的附加目錄映像。
因此,在根據(jù)本實(shí)施方式的信息處理系統(tǒng)1中,當(dāng)?shù)谝环?wù)器系統(tǒng)3a請(qǐng)求未在第一存儲(chǔ)裝置10a中被復(fù)原的目錄映像時(shí),第二服務(wù)器系統(tǒng)3b從第二存儲(chǔ)裝置10b讀取請(qǐng)求的目錄映像,并且將所請(qǐng)求的目錄映像與不同于根據(jù)預(yù)定選擇方法選擇的目錄映像的附加目錄映像一起傳送。然后,第一服務(wù)器系統(tǒng)3a在第一存儲(chǔ)裝置10a中復(fù)原目錄映像和附加目錄映像,使得目錄映像復(fù)原速度可以被自動(dòng)加速。
當(dāng)再清除發(fā)生頻率等于或高于預(yù)定閾值時(shí),或者當(dāng)再清除發(fā)生時(shí)間間隔短于預(yù)定閾值時(shí),第二服務(wù)器系統(tǒng)3b自動(dòng)抑制向第一服務(wù)器系統(tǒng)3a的目錄映像和附加目錄映像的傳送,從而可以抑制再清除的發(fā)生并且可以防止通過(guò)再清除浪費(fèi)信息處理系統(tǒng)1中的資源。
已經(jīng)為促進(jìn)理解本發(fā)明說(shuō)明了本實(shí)施方式并且不是要限制本發(fā)明的范圍??梢孕薷幕蚋倪M(jìn)本發(fā)明而不脫離其精神并且包括其等效。
例如,根據(jù)以上說(shuō)明,文件共享處理單元311、文件系統(tǒng)312、數(shù)據(jù)操作請(qǐng)求接收單元313、數(shù)據(jù)復(fù)制/遷移處理單元314、文件訪問(wèn)日志獲取單元317和內(nèi)核/驅(qū)動(dòng)程序318的功能被實(shí)現(xiàn)在虛擬機(jī)310中。但是,這些功能并非必須實(shí)現(xiàn)在虛擬機(jī)310中。
上文描述的目錄映像復(fù)原處理S3400用于復(fù)原在故障發(fā)生之前存在于文件系統(tǒng)312配置的目錄映像的根目錄中的元數(shù)據(jù)以及存在于根目錄中的文件的元數(shù)據(jù)。但是,如果第一服務(wù)器系統(tǒng)3a仍有充足的容量,第一服務(wù)器系統(tǒng)3a可以將目錄映像復(fù)原到其他從屬目錄。