專利名稱:包括存儲(chǔ)系統(tǒng)的數(shù)據(jù)處理系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及將存儲(chǔ)在第一存儲(chǔ)系統(tǒng)中的數(shù)據(jù)復(fù)制到第二存儲(chǔ)系統(tǒng)中的技術(shù)。
背景技術(shù):
近年來,為了隨時(shí)向客戶提供連續(xù)的服務(wù),涉及遠(yuǎn)程復(fù)制的技術(shù)變得重要起來,以便在主存儲(chǔ)系統(tǒng)發(fā)生故障時(shí)數(shù)據(jù)處理系統(tǒng)可提供存儲(chǔ)服務(wù)。授予Mohan的U.S專利NO.5170480公開了一種將存儲(chǔ)在第一信息存儲(chǔ)系統(tǒng)中的信息復(fù)制到第二信息存儲(chǔ)系統(tǒng)中的技術(shù)。在Mohan技術(shù)中,與磁盤陣列裝置(下文中稱之為“主磁盤陣列裝置”)相連的包含于第一信息處理系統(tǒng)中的計(jì)算機(jī)(下文中稱之為“主主機(jī)”)將存儲(chǔ)在主磁盤陣列裝置中的數(shù)據(jù)通過通信線路和包含于第二信息處理系統(tǒng)中的計(jì)算機(jī)(下文中稱之為“輔助主機(jī)”),發(fā)送給包含于第二信息處理系統(tǒng)中的磁盤陣列裝置(下文中稱之為“輔助磁盤陣列裝置”)。
另一方面,由于計(jì)算機(jī)網(wǎng)絡(luò)的發(fā)展,企業(yè)擁有的信息處理系統(tǒng)變得越來越復(fù)雜。其結(jié)果是,集中管理與網(wǎng)絡(luò)相連的裝置的需求增加了。為滿足這種需求,已經(jīng)設(shè)計(jì)出一種稱之為虛擬化的技術(shù),其中,對(duì)通過例如光纖信道網(wǎng)或因特網(wǎng)的網(wǎng)絡(luò)彼此相連的多個(gè)存儲(chǔ)子系統(tǒng)集中管理,并將其作為虛擬的單一或多個(gè)存儲(chǔ)子系統(tǒng)提供給用戶。從而,信息處理系統(tǒng)的用戶可以使用多個(gè)存儲(chǔ)子系統(tǒng),就仿佛它是單一的存儲(chǔ)子系統(tǒng)。
在本說明書中,術(shù)語“存儲(chǔ)子系統(tǒng)”指這些存儲(chǔ)裝置例如,硬盤驅(qū)動(dòng)器、多個(gè)硬盤驅(qū)動(dòng)器集合、控制單元控制多個(gè)硬盤驅(qū)動(dòng)器的磁盤陣列裝置、等等。
本說明書中,術(shù)語“存儲(chǔ)系統(tǒng)”和“站點(diǎn)”都指包括一個(gè)或多個(gè)主計(jì)算機(jī)和一個(gè)或多個(gè)與主計(jì)算機(jī)相連的存儲(chǔ)子系統(tǒng)的系統(tǒng)。
主計(jì)算機(jī)將簡稱為“主機(jī)”。
存儲(chǔ)裝置將簡稱為“存儲(chǔ)器”。
發(fā)明內(nèi)容
現(xiàn)在,考慮將Mohan的技術(shù)應(yīng)用于復(fù)雜信息處理系統(tǒng)的情形。
在Mohan系統(tǒng)中,存儲(chǔ)在兩個(gè)磁盤陣列裝置中的數(shù)據(jù)在主主機(jī)和輔助主機(jī)之間傳輸。也就是說,每個(gè)主機(jī)都用作數(shù)據(jù)傳輸路徑。而且,與網(wǎng)絡(luò)相連的每一臺(tái)主機(jī)將信息保存在多個(gè)與網(wǎng)絡(luò)(網(wǎng)絡(luò)地址等等)相連的磁盤陣列裝置中。
因此,每個(gè)主機(jī)從很多個(gè)現(xiàn)有的磁盤陣列裝置中適當(dāng)?shù)剡x出一個(gè),輕易地將數(shù)據(jù)復(fù)制到選定的磁盤陣列中。具體講,在將Mohan的技術(shù)應(yīng)用于虛擬化的情形下,可以使控制虛擬裝置(計(jì)算機(jī)或交換機(jī))及主機(jī)的裝置彼此合作。然而,由于存儲(chǔ)在各磁盤陣列裝置中的數(shù)據(jù)通過通信鏈路在各主機(jī)之間傳輸,會(huì)出現(xiàn)增加主機(jī)信道負(fù)荷和連接主機(jī)的線路流量的問題。
本發(fā)明的一個(gè)實(shí)施例旨在解決上述問題。主主機(jī)和輔助主機(jī)監(jiān)視與主機(jī)相連的存儲(chǔ)子系統(tǒng)的狀態(tài),例如基于可在各主機(jī)上運(yùn)行的軟件監(jiān)視每個(gè)主磁盤陣列裝置和輔助磁盤陣列裝置。進(jìn)而,如果需要,主主機(jī)或輔助主機(jī)將磁盤陣列裝置之間的數(shù)據(jù)傳輸導(dǎo)向主磁盤陣列裝置或輔助磁盤陣列裝置。而且,每個(gè)主機(jī)通過主機(jī)之間的通信,在磁盤陣列裝置之間交換執(zhí)行數(shù)據(jù)傳輸?shù)男畔?。另一方面,存?chǔ)在每個(gè)磁盤陣列裝置中的數(shù)據(jù)直接在磁盤陣列裝置之間傳輸。利用諸如磁帶裝置的活動(dòng)存儲(chǔ)媒體而非專用線路傳輸數(shù)據(jù)的配置是可能的。
在另一實(shí)施例中,主磁盤陣列裝置將用于更新存儲(chǔ)在主磁盤陣列裝置中數(shù)據(jù)的信息作為“日志”(更新歷史)存儲(chǔ)。更具體地講,日志是包括用于更新的數(shù)據(jù)和元數(shù)據(jù)的拷貝的記錄。而且,這樣配置主磁盤陣列裝置使之能夠根據(jù)主主機(jī)和輔助主機(jī)的指令將日志傳送給輔助磁盤陣列裝置。輔助磁盤陣列裝置更新輔助磁盤陣列裝置中存儲(chǔ)數(shù)據(jù)的方法類似于主磁盤陣列裝置中執(zhí)行的更新方法,即根據(jù)輔助主機(jī)的指令利用接收自主磁盤陣列裝置的日志。主磁盤陣列裝置中的更新得以在輔助磁盤陣列裝置中再現(xiàn),因此將輔助磁盤陣列裝置中的更新稱之為“恢復(fù)”。
在另一實(shí)施例中,通過向主磁盤陣列裝置發(fā)日志拷貝指令傳送日志,這是可以采用的。
在另一實(shí)施例中,還可以采用的是,與各主機(jī)相連的磁盤陣列裝置是由控制虛擬的裝置虛擬化的存儲(chǔ)子系統(tǒng)。在這種情況下,數(shù)據(jù)傳輸在控制虛擬的各裝置之間執(zhí)行或由連接到控制虛擬的裝置的各存儲(chǔ)子系統(tǒng)執(zhí)行。
圖1顯示根據(jù)本發(fā)明一個(gè)實(shí)施例的數(shù)據(jù)處理系統(tǒng)的硬件配置。
圖2是表示根據(jù)本發(fā)明的一個(gè)實(shí)施例的圖1所示數(shù)據(jù)處理系統(tǒng)中執(zhí)行的操作要點(diǎn)的流程圖。
圖3顯示圖1公開的一個(gè)數(shù)據(jù)處理系統(tǒng)的一個(gè)實(shí)施例中的日志獲取、拷貝和恢復(fù)處理操作。
圖4顯示圖1所示實(shí)施例所用PVOL和主日志卷2222A。
圖5顯示主日志卷和輔助日志卷中日志數(shù)據(jù)區(qū)的對(duì)應(yīng)關(guān)系。
圖6表示根據(jù)本發(fā)明的一個(gè)實(shí)施例的日志獲取、拷貝和恢復(fù)處理細(xì)節(jié)的流程圖。
圖7顯示根據(jù)本發(fā)明系統(tǒng)的另一實(shí)施例的數(shù)據(jù)處理系統(tǒng)。
圖8顯示根據(jù)本發(fā)明的另一實(shí)施例的數(shù)據(jù)處理系統(tǒng)。
圖9顯示根據(jù)本發(fā)明的另一實(shí)施例的數(shù)據(jù)處理系統(tǒng)。
圖10顯示圖1所示數(shù)據(jù)處理系統(tǒng)的邏輯配置。
圖11顯示根據(jù)本發(fā)明的另一實(shí)施例的數(shù)據(jù)處理系統(tǒng)。
圖12顯示根據(jù)本發(fā)明的另一實(shí)施例的數(shù)據(jù)處理系統(tǒng)。
圖13顯示根據(jù)本發(fā)明的另一實(shí)施例的數(shù)據(jù)處理系統(tǒng)。
圖14顯示根據(jù)本發(fā)明的另一實(shí)施例的數(shù)據(jù)處理系統(tǒng)。
圖15顯示根據(jù)本發(fā)明的另一實(shí)施例的數(shù)據(jù)處理系統(tǒng)。
圖16顯示包括磁盤陣列裝置地址信息的表格,其中,磁盤陣列裝置包括虛擬存儲(chǔ)卷,該虛擬存儲(chǔ)卷已與圖13所示虛擬化服務(wù)器300B中的主機(jī)相關(guān)聯(lián)。
圖17顯示圖1所示數(shù)據(jù)處理系統(tǒng)所用的輔助日志卷和SVOL。
具體實(shí)施例方式
圖1顯示根據(jù)本發(fā)明第一實(shí)施例的數(shù)據(jù)處理系統(tǒng)50的硬件配置。
該數(shù)據(jù)處理系統(tǒng)包括具有主主機(jī)100A和主存儲(chǔ)子系統(tǒng)或磁盤陣列裝置200A的第一存儲(chǔ)系統(tǒng)10(下文中稱之為“主存儲(chǔ)系統(tǒng)”或“主站”)、具有輔助主機(jī)100B和輔助存儲(chǔ)子系統(tǒng)或磁盤陣列裝置200B的第二存儲(chǔ)系統(tǒng)20(下文中稱之為“輔助存儲(chǔ)系統(tǒng)”或“輔助站”)、以及遠(yuǎn)程控制臺(tái)40。在本說明書中公開的實(shí)施例中,為說明目的將磁盤陣列裝置用作存儲(chǔ)子系統(tǒng)。存儲(chǔ)子系統(tǒng)可以是不同于磁盤陣列裝置的存儲(chǔ)裝置,亦不受其限制。主站和主磁盤陣列裝置可以分別稱之為第一主站和第一磁盤陣列裝置。類似地,輔助站和輔助磁盤陣列裝置可以分別稱之為第二主站和第二磁盤陣列裝置。
每個(gè)主機(jī)100(主主機(jī)100A和輔助主機(jī)100B)是具有CPU110、主存儲(chǔ)器120和輸入/輸出(I/O)處理裝置130的計(jì)算機(jī)。例如,它可以是工作站、微計(jì)算機(jī)、大型計(jì)算機(jī)、如此等等。
每個(gè)磁盤陣列裝置200(主磁盤陣列裝置200A和輔助磁盤陣列裝置200B)具有存儲(chǔ)控制器210、多個(gè)磁盤單元220和SVP(服務(wù)處理器)230。存儲(chǔ)控制器210具有主機(jī)適配器211、高速緩沖存儲(chǔ)器212、磁盤適配器213、處理器214和控制存儲(chǔ)器215。
主主機(jī)100A和輔助主機(jī)100B通過光纖信道66分別與主磁盤陣列裝置200A和輔助磁盤陣列裝置200B相連。每個(gè)主機(jī)100的CPU110和主存儲(chǔ)器120通過I/O處理裝置130和光纖信道66連接到磁盤陣列裝置200的主機(jī)適配器211。
此外,主磁盤陣列裝置200A和輔助磁盤陣列裝置200B通過光纖信道68彼此相連。主磁盤陣列裝置和輔助磁盤陣列裝置可以配備于同一房間或大樓內(nèi)?;蛘?,可以使它們相隔相當(dāng)遠(yuǎn)的距離,以避免兩個(gè)裝置同時(shí)發(fā)生共同故障。如果主站10和輔助站20之間的距離很長,該距離超過光纖信道68的數(shù)據(jù)可傳輸距離,磁盤陣列裝置就可以通過長距離通信鏈路,例如經(jīng)由除光纖信道68以外的擴(kuò)展裝置的ATM(異步傳輸模式)相連。
遠(yuǎn)程控制臺(tái)40也是計(jì)算機(jī),它具有CPU和主存儲(chǔ)器。遠(yuǎn)程控制臺(tái)40、主主機(jī)100A、輔助主機(jī)100B、主磁盤陣列裝置200A和輔助磁盤陣列裝置200B通過IP網(wǎng)絡(luò)48,例如LAN(局域網(wǎng))或WAN(廣域網(wǎng))互聯(lián)。也就是說,數(shù)據(jù)處理系統(tǒng)50包括至少兩條連接主存儲(chǔ)系統(tǒng)和輔助存儲(chǔ)系統(tǒng)的通信鏈路鏈接磁盤陣列裝置200A和200B的光纖信道68,鏈接主機(jī)100A和100B的IP網(wǎng)絡(luò)48。在本實(shí)施例中,這兩條通信鏈路屬于不同的技術(shù),如上所述。然而,通信鏈路48和66可以屬于同一種技術(shù),例如,它們都可以是IP網(wǎng)絡(luò)。
圖10顯示圖1所示數(shù)據(jù)處理系統(tǒng)的邏輯配置。
在每個(gè)主機(jī)100中,異步拷貝管理程序150是用于控制磁盤陣列裝置200之間數(shù)據(jù)傳輸?shù)某绦?,它在CPU110中執(zhí)行。異步拷貝管理程序150存儲(chǔ)在主存儲(chǔ)器120中。執(zhí)行異步拷貝管理程序的各主機(jī)100就有關(guān)日志處理(例如,日志獲取和轉(zhuǎn)移,以及利用日志的數(shù)據(jù)恢復(fù))的操作對(duì)各自的磁盤陣列裝置200進(jìn)行管理,以響應(yīng)直接或通過網(wǎng)絡(luò)輸入到各主機(jī)100的用戶請(qǐng)求,或者預(yù)先安排的請(qǐng)求。日志處理的細(xì)節(jié)將在后面描述。
此外,各主機(jī)100的異步拷貝管理程序150在日志處理期間利用IP網(wǎng)絡(luò)48互相通信,交換促進(jìn)日志處理的所需的例如日志創(chuàng)建狀態(tài)的管理信息,這些將在后面描述。
在各磁盤陣列裝置200的存儲(chǔ)控制器210中由處理器214執(zhí)行拷貝程序2110和日志備份/恢復(fù)程序2120。這些程序存儲(chǔ)在控制存儲(chǔ)器215中。日志備份/恢復(fù)程序2120由日志備份程序和日志恢復(fù)程序構(gòu)成。而且,存儲(chǔ)控制器210根據(jù)來自主機(jī)以及拷貝程序2110和日志備份/恢復(fù)程序2120的指令,處理對(duì)磁盤裝置220的I/O請(qǐng)求。
磁盤裝置220包括或與一個(gè)或多個(gè)邏輯存儲(chǔ)區(qū)(卷)相關(guān)聯(lián)。這些邏輯卷根據(jù)用戶需要,用作數(shù)據(jù)卷區(qū)2210或者日志卷區(qū)2222。
通過執(zhí)行異步拷貝管理程序150,各主機(jī)100控制為各磁盤陣列裝置200配備的日志備份/恢復(fù)程序2120和拷貝程序2110。在各主機(jī)100中,由各主機(jī)100的CPU110執(zhí)行用戶所用的應(yīng)用程序152和用作磁盤陣列裝置控制接口的程序(下文中稱之為“RAID(冗余獨(dú)立磁盤陣列)管理程序”)。而且,異步拷貝管理程序150和RAID管理程序利用程序之間的通信相互交換信息。
在遠(yuǎn)程控制臺(tái)40上執(zhí)行稱之為遠(yuǎn)程控制臺(tái)存儲(chǔ)導(dǎo)航器的程序42。遠(yuǎn)程控制臺(tái)40通過執(zhí)行程序42管理本實(shí)施例數(shù)據(jù)處理系統(tǒng)的各組成成員,更具體地講,管理主機(jī)100和磁盤陣列裝置200。程序42存儲(chǔ)在遠(yuǎn)程控制臺(tái)40的主存儲(chǔ)器中。
到目前為止,所解釋的程序都安裝在與各裝置相關(guān)聯(lián)的存儲(chǔ)媒體中、例如活動(dòng)存儲(chǔ)媒體(諸如光盤和磁光盤)或通過IP網(wǎng)絡(luò)48安裝在這些媒體中。
圖2是顯示第一實(shí)施例數(shù)據(jù)處理系統(tǒng)的操作要點(diǎn)的流程圖。
在步驟9100,用戶利用包含于主機(jī)100或遠(yuǎn)程控制臺(tái)40中的圖形用戶界面(“GUI”)向主機(jī)100(可以使用主主機(jī)100A或輔助主機(jī)100B中任何一個(gè))輸入一對(duì)產(chǎn)生命令。該對(duì)產(chǎn)生命令是將主磁盤陣列裝置200A的旨在用于日志獲取的第一卷(下文中稱之為“PVOL”)與輔助磁盤陣列裝置200B的第二卷(下文中稱之為“SVOL”)2214(是PVOL復(fù)制對(duì))相關(guān)聯(lián)的命令,。
接收這對(duì)產(chǎn)生命令的主機(jī)100控制第一和第二磁盤陣列裝置200A和200B,以便在主磁盤陣列裝置200A中分配用于存儲(chǔ)PVOL2212的卷2222A日志(下文中稱之為“日志卷”)、并且在輔助磁盤陣列裝置200B中分配用于存儲(chǔ)SVOL2214日志的日志卷2222B(步驟9110)。由PVOL2212和分配給PVOL2212的日志卷2222A構(gòu)成一對(duì),稱為日志組,并且由SVOL2214和分配給SVOL2214的日志卷2222B構(gòu)成一對(duì),稱為日志組。日志組亦稱為“日志對(duì)”。所述對(duì)產(chǎn)生命令還定義了PVOL日志對(duì)與SVOL日志對(duì)的關(guān)聯(lián)。這種關(guān)聯(lián)(即各日志對(duì)的配對(duì))稱為“裝置組”。
PVOL和SVOL中每一個(gè)都可能只包括一個(gè)卷,或可能是兩個(gè)或更多個(gè)卷構(gòu)成的組(卷組)。用戶在輸入對(duì)產(chǎn)生命令時(shí)指定卷組。每個(gè)磁盤陣列裝置200具備某種能力、使得指定的卷組可以作為單個(gè)虛擬卷處理,并好象正在使用單個(gè)卷那樣執(zhí)行日志處理(以后描述)。日志卷也可以是卷組。
在實(shí)施例中,主主機(jī)100A主要控制第一磁盤陣列裝置200A,輔助主機(jī)100B主要控制輔助磁盤陣列裝置200B。因此,當(dāng)輔助主機(jī)100B收到對(duì)產(chǎn)生命令時(shí),輔助主機(jī)100B就應(yīng)第一磁盤陣列裝置200A要求將包含于對(duì)產(chǎn)生命令內(nèi)的多份信息中的信息(指定裝置組的信息)通過IP網(wǎng)絡(luò)48傳送給主主機(jī)100A。類似地,在第一或主主機(jī)100A收到對(duì)產(chǎn)生命令時(shí),主主機(jī)100A應(yīng)輔助磁盤陣列裝置200B的要求將信息傳送給輔助主機(jī)100B。
至少以下兩種方法可以作為分配日志卷的方法用于本實(shí)施例(1)在輸入對(duì)產(chǎn)生命令時(shí),用戶本身指定日志卷;以及(2)主機(jī)100任意選擇未用的邏輯卷并使用它。例如,采用以下步驟。首先,在各磁盤陣列裝置200中,未用的邏輯卷在相應(yīng)的控制存儲(chǔ)器215中作為日志卷池管理,以供將來的用戶作為日志卷。
各磁盤陣列裝置200向各自的主機(jī)100通知有關(guān)登記于日志卷池中的邏輯卷的信息,例如,磁盤陣列裝置200A中的物理地址、物理卷的存儲(chǔ)容量等等。接收對(duì)產(chǎn)生命令的主機(jī)100根據(jù)磁盤陣列裝置通知的信息選擇合適的卷作為日志卷。在一個(gè)實(shí)施例中,所選擇的卷無論是單個(gè)卷還是卷組(即多個(gè)卷)并不重要。如果它是多個(gè)卷,就將這些卷作為單個(gè)虛擬卷處理。
用戶可以規(guī)定在主機(jī)100上執(zhí)行的正常應(yīng)用程序是否能發(fā)出日志卷I/O請(qǐng)求。有兩種情況(1)一種是將磁盤裝置220上分配用于正常I/O處理的卷選作日志卷;以及(2)另一種是將主機(jī)100不能用于正常I/O處理的卷選作日志卷。
在前一種情況中,可以由主機(jī)100上的正常應(yīng)用程序或通過光纖信道與磁盤陣列裝置200相連的另一主機(jī)查看日志。因此,日志統(tǒng)計(jì)信息的獲取和控制可由正常應(yīng)用程序執(zhí)行,但存在錯(cuò)誤地破壞日志的可能性。
在后一種情況中,僅當(dāng)執(zhí)行異步拷貝管理程序150的主機(jī)100使各磁盤陣列裝置200執(zhí)行日志恢復(fù)程序或拷貝程序時(shí),才允許查看主機(jī)100的日志。因此,日志不會(huì)被主機(jī)100執(zhí)行的正常I/O處理破壞。
隨后,執(zhí)行日志處理,例如,在第一存儲(chǔ)系統(tǒng)10中(步驟9120)。日志處理包括獲取操作9122、拷貝操作9124和恢復(fù)操作9126。日志獲取操作或過程9122包括在從主主機(jī)100收到日志獲取開始命令后,主磁盤陣列裝置200A獲取PVOL2212的日志。在收到該命令后,主磁盤陣列裝置200A在每次到PVOL2212的寫操作(步驟9200和9210)之后開始在日志卷2222A中存儲(chǔ)日志數(shù)據(jù)和元數(shù)據(jù)(步驟9220)。日志數(shù)據(jù)是根據(jù)寫命令寫或更新的數(shù)據(jù)的拷貝。元數(shù)據(jù)提供如下有關(guān)信息在PVOL2212中存儲(chǔ)更新數(shù)據(jù)的時(shí)間、寫(更新)數(shù)據(jù)的存儲(chǔ)地址、日志數(shù)據(jù)區(qū)中的相應(yīng)日志數(shù)據(jù)地址和數(shù)據(jù)長度。日志由日志數(shù)據(jù)和相應(yīng)的元數(shù)據(jù)構(gòu)成。
在日志獲取處理已經(jīng)開始之后,各主機(jī)100執(zhí)行異步拷貝管理程序150,并定期控制日志拷貝處理。日志拷貝處理涉及在第一和第二磁盤陣列裝置200A和200B之間轉(zhuǎn)移日志。當(dāng)主主機(jī)100A根據(jù)從主磁盤裝置200A獲得(細(xì)節(jié)以后描述)的有關(guān)日志創(chuàng)建狀態(tài)的信息判定日志需要拷貝時(shí)(例如預(yù)定數(shù)量的信息已經(jīng)存儲(chǔ)到主磁盤裝置200A內(nèi)的日志卷2222A中),就啟動(dòng)日志拷貝過程9124。主主機(jī)100A依次通過鏈路48通知輔助主機(jī)100B。
由此,輔助主機(jī)100B于是向輔助磁盤陣列裝置200B發(fā)送拷貝請(qǐng)求(“日志拷貝請(qǐng)求命令”),以從主磁盤陣列裝置200A開始日志傳輸(步驟9300)。
在收到日志拷貝請(qǐng)求命令時(shí),輔助磁盤陣列裝置200B向主磁盤陣列裝置200A發(fā)出數(shù)據(jù)讀請(qǐng)求(步驟9310)。主磁盤陣列裝置200A通過執(zhí)行拷貝程序2110向輔助磁盤陣列裝置200B發(fā)送所請(qǐng)求的數(shù)據(jù)。日志拷貝處理的細(xì)節(jié)將在以后描述。
另一方面,即使開始日志拷貝處理,也不將日志獲取過程開始之前已存儲(chǔ)到PVOL2212中的數(shù)據(jù)傳送給輔助磁盤陣列裝置200B。因此,有必要從PVOL2212將這些數(shù)據(jù)(下文中稱之為“初始數(shù)據(jù)”)拷貝到SVOL2214中。在本實(shí)施例中,初始拷貝過程用于將初始數(shù)據(jù)從PVOL2212傳送到SVOL2214(步驟9130)。根據(jù)主機(jī)100的指令,將初始數(shù)據(jù)從卷首區(qū)順序傳送給PVOL2212的尾部。還可以通過允許各磁盤陣列裝置200自身執(zhí)行拷貝程序2110來執(zhí)行這個(gè)過程。
初始拷貝和日志拷貝處理可以異步執(zhí)行和并行執(zhí)行。也就是說,可以在已根據(jù)對(duì)產(chǎn)生命令指定PVOL2212和SVOL2214之后,執(zhí)行初始拷貝,而不管是否已經(jīng)執(zhí)行或正在執(zhí)行日志獲取過程和日志拷貝過程。然而,只要初始拷貝尚未完成,SVOL2214的內(nèi)容不會(huì)反映PVOL2214,即使恢復(fù)過程9126已在輔助磁盤陣列裝置200B處執(zhí)行。恢復(fù)或恢復(fù)過程包括利用根據(jù)拷貝過程9124從主磁盤陣列裝置200A接收到的日志更新或拷貝SVOL2214中PVOL2212的數(shù)據(jù)。
在一個(gè)實(shí)施例中,由輔助磁盤陣列裝置200B啟動(dòng)的初始拷貝向主磁盤陣列裝置200A發(fā)出一個(gè)或多個(gè)讀命令,以減少主磁盤陣列裝置200A的負(fù)荷。
一旦所有初始數(shù)據(jù)已復(fù)制到輔助磁盤陣列裝置200B的SVOL2214中,拷貝程序2110B就向輔助主機(jī)100B報(bào)告初始拷貝完成。隨后,就有可能在輔助站20中精確地恢復(fù)數(shù)據(jù)。一般講,在日志獲取處理開始之后開始初始拷貝。
日志獲取過程9122可被從主機(jī)100A到主磁盤陣列裝置200A的命令(“日志獲取停止命令”)停止。
在收到輔助主機(jī)100B的日志恢復(fù)請(qǐng)求命令(步驟9400)之后,輔助磁盤陣列裝置200B就利用存儲(chǔ)在日志卷2222B中的日志恢復(fù)存儲(chǔ)在SVOL2214中的數(shù)據(jù)(步驟9410)。這個(gè)過程稱為日志恢復(fù)過程。日志恢復(fù)過程的細(xì)節(jié)將在以后描述。
圖3說明根據(jù)本發(fā)明的第一實(shí)施例的日志獲取、日志拷貝和日志恢復(fù)過程。這些過程由相應(yīng)主機(jī)100A和100B通過執(zhí)行異步拷貝管理程序150加以控制。主磁盤陣列裝置200A執(zhí)行日志備份/恢復(fù)程序2120中的日志備份程序2122。通過執(zhí)行日志備份程序2122,主磁盤陣列裝置200A把將要寫入PVOL2212中的數(shù)據(jù)拷貝作為日志數(shù)據(jù)存儲(chǔ)到日志卷2222A中。主磁盤陣列裝置200A還將元數(shù)據(jù)作為日志的一部分存儲(chǔ)到日志卷2222A中。上述步驟稱之為日志獲取過程9122。
輔助磁盤陣列裝置200B通過執(zhí)行日志備份/恢復(fù)程序2120中的日志恢復(fù)程序2124來完成日志恢復(fù)過程9126。日志恢復(fù)程序2124恢復(fù)日志卷2222B中的日志、以便數(shù)據(jù)卷2214反映PVOL2212的更新數(shù)據(jù)映像。
隨后將利用圖3所示框圖解釋日志獲取、拷貝和恢復(fù)過程。
當(dāng)在主磁盤陣列裝置200A中開始數(shù)據(jù)卷2210的日志獲取過程時(shí),主磁盤陣列裝置200A創(chuàng)建日志并根據(jù)從主主機(jī)100A到PVOL2212的寫操作(步驟5200)將其存儲(chǔ)到日志卷2222A中。
通過執(zhí)行異步拷貝管理程序150,主主機(jī)100A向主磁盤陣列裝置200A發(fā)出日志創(chuàng)建狀態(tài)獲取(journal-creation-state-acquisition)命令,從主磁盤陣列裝置200A獲取有關(guān)日志創(chuàng)建狀態(tài)(例如,日志卷中的日志存儲(chǔ)大小)的信息(步驟5300)。
主主機(jī)100A通過IP網(wǎng)絡(luò)48將獲得的有關(guān)日志創(chuàng)建狀態(tài)的信息傳送給輔助主機(jī)100B,以便這兩個(gè)主機(jī)能夠協(xié)調(diào)遠(yuǎn)程復(fù)制過程(步驟5000)。這種信息的用途之一是通知主機(jī)100A和100B日志卷2222A中的日志何時(shí)就緒,以拷貝到輔助磁盤裝置200B中。
輔助主機(jī)100B根據(jù)用戶通過GUI輸入指令或預(yù)定程序,或通過來自主主機(jī)100A的通知,執(zhí)行異步拷貝管理程序150并向輔助磁盤陣列裝置200B發(fā)出日志拷貝請(qǐng)求命令(步驟5400)。
日志拷貝請(qǐng)求命令包括指定將要拷貝的日志(多個(gè)日志適用)、存儲(chǔ)卷的日志卷以及具有該日志卷的磁盤陣列裝置200的信息。該請(qǐng)求還包括指定將要存儲(chǔ)拷貝日志的目的日志卷的信息。
輔助磁盤陣列裝置200B的存儲(chǔ)控制器210B通過執(zhí)行拷貝程序接收日志拷貝請(qǐng)求命令并向主磁盤陣列裝置200A發(fā)讀命令(步驟5500)。主磁盤磁盤陣列裝置200A接收讀命令并向輔助磁盤陣列裝置200B發(fā)送該讀命令指定的日志(步驟5600)。清除其中存儲(chǔ)已發(fā)送日志的區(qū)域,以便可以在其中存儲(chǔ)新日志。
在收到日志時(shí),輔助磁盤陣列裝置200B將該日志存儲(chǔ)到日志拷貝請(qǐng)求命令規(guī)定的日志卷2222B中。隨后,輔助主機(jī)100B向輔助磁盤陣列裝置200B發(fā)日志恢復(fù)請(qǐng)求命令(步驟5700)。
輔助磁盤陣列裝置200B接收日志恢復(fù)請(qǐng)求命令并執(zhí)行日志恢復(fù)程序2124,從而將數(shù)據(jù)從日志卷2222B恢復(fù)到SVOL2214(步驟5800)。清除其中存儲(chǔ)已恢復(fù)日志的區(qū)域,以便可以在其中存儲(chǔ)新日志。
執(zhí)行異步拷貝管理程序150的主機(jī)100可以執(zhí)行主機(jī)實(shí)現(xiàn)接替。也就是說,在主主機(jī)100A由于某種原因不可用而不能繼續(xù)日志拷貝過程的情況下,輔助主機(jī)100B也可以執(zhí)行主主機(jī)100A的功能。
在一個(gè)實(shí)施例中,主磁盤陣列裝置連接到多個(gè)主主機(jī),如同在存儲(chǔ)區(qū)域網(wǎng)絡(luò)中。上述公開的日志獲取和其它過程可以在這種經(jīng)過一些改動(dòng)的配置中執(zhí)行,這是本領(lǐng)域的技術(shù)人員能夠理解的。
圖4顯示該實(shí)施例所用的PVOL2212和日志卷2222A的對(duì)應(yīng)關(guān)系。此后,將日志卷2222A稱為主日志卷,而日志卷2222B稱為輔助日志卷。二者的數(shù)據(jù)結(jié)構(gòu)基本上相同。
一般講,以預(yù)定的邏輯塊為單位、例如512KB來管理PVOL、SVOL和日志卷中的每一個(gè)。每個(gè)邏輯塊被賦予一個(gè)邏輯塊地址(此后稱為“LBA”)。
主日志卷具有元數(shù)據(jù)區(qū)7100和日志數(shù)據(jù)區(qū)7200。在日志數(shù)據(jù)區(qū)7200中存儲(chǔ)以前描述的日志數(shù)據(jù)7210,即通過寫命令存儲(chǔ)在PVOL中的數(shù)據(jù)5110的拷貝。在元數(shù)據(jù)區(qū)7100中存儲(chǔ)以前描述的元數(shù)據(jù)7110,即指示各更新數(shù)據(jù)何時(shí)存儲(chǔ)于PVOL2212中、寫(更新)數(shù)據(jù)的存儲(chǔ)地址7112、日志數(shù)據(jù)區(qū)7200中相應(yīng)日志數(shù)據(jù)7210的地址7114以及數(shù)據(jù)長度的信息。
每個(gè)地址可以用LBA表示,數(shù)據(jù)長度可以用邏輯塊數(shù)表示。而且,數(shù)據(jù)地址可以表示為與區(qū)(日志數(shù)據(jù)區(qū)或元數(shù)據(jù)區(qū))基地址(LBA頭部)的差值,即偏移。此外,當(dāng)元數(shù)據(jù)長度固定時(shí)(例如64字節(jié)),日志數(shù)據(jù)長度并不固定,而是依賴于本實(shí)施例中寫命令更新的數(shù)據(jù)。
在定義日志組的時(shí)候,每個(gè)磁盤陣列裝置200執(zhí)行元數(shù)據(jù)區(qū)7100的和日志數(shù)據(jù)區(qū)7200的配置,以配置日志卷2222。在那個(gè)時(shí)候規(guī)定頭LBA和各區(qū)的塊數(shù)。每個(gè)主機(jī)100執(zhí)行異步拷貝管理程序150并向磁盤陣列裝置200發(fā)出請(qǐng)求配置區(qū)信息(頭LBA、塊數(shù))的命令(日志組組成獲取命令)。這就允許各主機(jī)100獲得有關(guān)各磁盤陣列裝置200已建立的元數(shù)據(jù)區(qū)7100和日志數(shù)據(jù)區(qū)7200的信息。
圖17顯示本實(shí)施例中所用輔助日志卷2222B和SVOL2214的對(duì)應(yīng)關(guān)系。輔助日志卷還具有元數(shù)據(jù)區(qū)7100和日志數(shù)據(jù)區(qū)7200。在元數(shù)據(jù)區(qū)7100中存儲(chǔ)從主日志卷2222A中元數(shù)據(jù)區(qū)拷貝的元數(shù)據(jù)7100B。在日志數(shù)據(jù)區(qū)7200中存儲(chǔ)對(duì)應(yīng)于元數(shù)據(jù)7110B、從主日志卷的日志數(shù)據(jù)區(qū)拷貝的日志數(shù)據(jù)7210B。
當(dāng)元數(shù)據(jù)為有關(guān)PVOL2212更新的信息時(shí),它的地址信息7114表示相應(yīng)日志數(shù)據(jù)7210的地址,日志數(shù)據(jù)7210被拷貝到輔助日志卷中的日志數(shù)據(jù)區(qū)。此外,通過將日志數(shù)據(jù)7210從輔助日志卷2222B的日志數(shù)據(jù)區(qū)7200拷貝到SVOL2214中對(duì)應(yīng)于地址7112的地址,可以將PVOL2212的更新反映到SVOL2214中。
圖5顯示根據(jù)本實(shí)施例的主日志卷和輔助日志卷的日志數(shù)據(jù)區(qū)。
主日志卷和輔助日志卷用LBA編址,每個(gè)LBA以1對(duì)1的方式建立對(duì)應(yīng)關(guān)系。
主日志卷具有的日志數(shù)據(jù)區(qū)7200區(qū)分成存儲(chǔ)日志數(shù)據(jù)的日志存儲(chǔ)區(qū)2232、2233和2234以及沒有存儲(chǔ)日志數(shù)據(jù)的已清除區(qū)2231。已清除區(qū)用于存儲(chǔ)PVOL2212的新日志數(shù)據(jù)。
輔助日志卷具有的日志數(shù)據(jù)區(qū)7200區(qū)分成存儲(chǔ)已用于SVOL恢復(fù)的日志數(shù)據(jù)(或沒有存儲(chǔ)日志數(shù)據(jù))的已恢復(fù)區(qū)4231;存儲(chǔ)指定為SVOL日志恢復(fù)目標(biāo)的日志數(shù)據(jù)的恢復(fù)區(qū)4232;存儲(chǔ)沒有指定日志恢復(fù)過程的日志數(shù)據(jù)的已讀區(qū)4233;以及存儲(chǔ)正從主日志卷轉(zhuǎn)移的日志數(shù)據(jù)的在讀區(qū)4234。
主日志卷的已清除區(qū)2231與輔助日志卷的恢復(fù)中區(qū)4232或已恢復(fù)區(qū)4231的一部分建立對(duì)應(yīng)關(guān)系。
主日志卷的日志存儲(chǔ)區(qū)與已讀存儲(chǔ)區(qū)4233、在讀區(qū)4234或者已恢復(fù)區(qū)4231的一部分建立對(duì)應(yīng)關(guān)系。這里,可以清除對(duì)應(yīng)于已讀區(qū)4233的日志存儲(chǔ)區(qū)2232,這是因?yàn)槿罩疽寻l(fā)送給輔助磁盤陣列裝置200B。而且,對(duì)應(yīng)于在讀區(qū)4234的日志存儲(chǔ)區(qū)2233中存儲(chǔ)的日志數(shù)據(jù)最好不能清除,因?yàn)槠溆糜跀?shù)據(jù)傳送。無需在相應(yīng)的日志拷貝完成之后立即清除日志存儲(chǔ)區(qū)2232。適用的是定期執(zhí)行清除,或甚至于根據(jù)主主機(jī)100A發(fā)出的清除日志存儲(chǔ)區(qū)2232的指令(“日志清除命令”)執(zhí)行清除。
主日志卷和輔助日志卷的日志數(shù)據(jù)區(qū)7200占據(jù)的區(qū)域分別由各主機(jī)根據(jù)表示位于區(qū)邊界的邏輯塊的LBA指針加以識(shí)別。主主機(jī)100A從主磁盤陣列裝置200A獲取的有關(guān)日志處理狀態(tài)的信息包括這些指針值。
每個(gè)主機(jī)100通過向磁盤陣列裝置200發(fā)日志創(chuàng)建狀態(tài)獲取命令,從與主機(jī)100相連的磁盤陣列裝置200獲得這些指針值。然后,利用這些指針值,主機(jī)100判斷在日志卷的哪一個(gè)區(qū)存儲(chǔ)日志數(shù)據(jù)。這些指針值在一種實(shí)現(xiàn)中存儲(chǔ)到控制存儲(chǔ)器215中。
隨后將描述每個(gè)指針。注意,在圖5中,從圖的頂部到底部分配LBA。因此,圖中頂部中的LBA數(shù)最少。而且,就象循環(huán)緩沖區(qū)那樣重復(fù)使用日志卷。也就是說,如果使用了日志卷末尾邏輯塊,那么就再次使用頭邏輯塊。在主日志卷或輔助日志卷任意之一卷中以順序方式將數(shù)據(jù)寫入。首先,將描述主日志卷指針。
日志輸出LBA2241是指示對(duì)應(yīng)于日志存儲(chǔ)區(qū)首部邏輯塊的LBA的指針。尚未從主日志卷中清除的最老的日志數(shù)據(jù)存儲(chǔ)在該指針指示的邏輯塊中。主主機(jī)100A或輔助主機(jī)100B決定將對(duì)應(yīng)于日志輸出LBA2241所示LBA的邏輯塊作為待傳送日志數(shù)據(jù)頭部中的邏輯塊。
日志輸入LBA2242是指示對(duì)應(yīng)于存儲(chǔ)日志數(shù)據(jù)的末尾邏輯塊的相鄰空邏輯塊的LBA的指針,即指示對(duì)應(yīng)于下一次日志獲取過程將首先存入數(shù)據(jù)的邏輯塊的LBA的指針。主主機(jī)100A或輔助主機(jī)100B決定可用于存儲(chǔ)日志數(shù)據(jù)的邏輯塊,這些邏輯塊分別具有等于或大于對(duì)應(yīng)于日志輸入LBA2422所示LBA的邏輯塊的LBA。
此外,主主機(jī)100A或輔助主機(jī)100B決定將日志數(shù)據(jù)存儲(chǔ)到從日志輸出LBA2241的LBA到正好在日志輸入LBA2242之前所提供的LBA之間的區(qū)域中。因此,如果日志輸出LBA=日志輸LBA,則主主機(jī)100A或輔助主機(jī)100B決定將要傳送給輔助日志卷的日志數(shù)據(jù)不包含于主日志卷的日志數(shù)據(jù)區(qū)中。
接著,將描述輔助日志卷指針。
已恢復(fù)LBA4241是指示已對(duì)其完成恢復(fù)處理的邏輯塊中具有最大LBA的邏輯塊的指針。因此,具有比已恢復(fù)LBA指針?biāo)綥BA小的LBA的邏輯塊將用于存儲(chǔ)最近從主日志卷轉(zhuǎn)移過來的日志數(shù)據(jù)。也就是說,在LBA等于或小于已恢復(fù)LBA4241的邏輯塊中清除日志數(shù)據(jù)。
輔助日志卷的清除可以由存儲(chǔ)控制器210在完成恢復(fù)處理之后自動(dòng)執(zhí)行。清除日志數(shù)據(jù)可以這樣實(shí)現(xiàn)對(duì)日志數(shù)據(jù)實(shí)際上重寫無意義的數(shù)據(jù),或者移動(dòng)指針以指示該區(qū)域已準(zhǔn)備好寫入(重寫)。類似于PVOL中日志存儲(chǔ)區(qū)2232的清除,不需要在相應(yīng)的恢復(fù)處理完成之后立刻清除輔助日志卷。
預(yù)定恢復(fù)LBA4242是表示日志恢復(fù)請(qǐng)求命令已由輔助主機(jī)100B發(fā)出的指針,日志恢復(fù)請(qǐng)求命令旨在利用存儲(chǔ)在從大于已恢復(fù)LBA4241的LBA所示邏輯塊到預(yù)定恢復(fù)LBA4242所示邏輯塊的區(qū)域中的日志數(shù)據(jù)恢復(fù)SVOL2214。因此,如果預(yù)定恢復(fù)LBA=已恢復(fù)LBA,輔助日志卷中就沒有確定要恢復(fù)的日志數(shù)據(jù)。
已讀LBA4243是用于指示存儲(chǔ)接收自主磁盤陣列裝置200A的日志數(shù)據(jù)的邏輯塊中具有最大LBA的邏輯塊的指針。換句話說,該指針表示這樣的邏輯塊,該邏輯塊中日志數(shù)據(jù)的末端是由主磁盤陣列裝置200A傳送給輔助磁盤陣列裝置200B的。
輔助主機(jī)100B通過已讀LBA4243確認(rèn)對(duì)應(yīng)于存儲(chǔ)在該指針?biāo)綥BA中的日志數(shù)據(jù)的主日志卷的日志數(shù)據(jù)已存儲(chǔ)到輔助日志卷中。執(zhí)行確認(rèn)的輔助主機(jī)100B將有關(guān)已讀LBA4243的信息通知主主機(jī)100A。根據(jù)該信息,主主機(jī)100A命令主磁盤陣列裝置200A清除日志數(shù)據(jù)區(qū),一直到邏輯塊中存儲(chǔ)對(duì)應(yīng)于已讀LBA4243的日志數(shù)據(jù)。這種清除還可以通過移動(dòng)日志輸出LBA2241的指針。
預(yù)定讀LBA4244是指示日志數(shù)據(jù)區(qū)中末端邏輯塊LBA的指針,所述日志數(shù)據(jù)區(qū)由輔助主機(jī)100B向輔助磁盤陣列裝置200B發(fā)出的最新日志拷貝請(qǐng)求指定。因此,如果預(yù)定讀LBA=已讀LBA,那么,沒有日志數(shù)據(jù)被指定用于日志拷貝。也就是說,沒有磁盤陣列裝置200正在執(zhí)行日志拷貝過程。
此外,在主日志卷和輔助日志卷的各元數(shù)據(jù)區(qū)中存在同樣的關(guān)系。類似于日志數(shù)據(jù)區(qū),元數(shù)據(jù)區(qū)的指針(日志輸出(journal-out)LBA、日志輸入(journal-in)LBA、已恢復(fù)(already-restored)LBA、預(yù)定恢復(fù)(restore-scheduled)LBA、已讀(already-read)LBA以及預(yù)定讀(read-scheduled)LBA;它們是不同于日志數(shù)據(jù)區(qū)指針的指針)由主機(jī)100和存儲(chǔ)控制器210用于管理元數(shù)據(jù)區(qū)的目的。
通過在兩側(cè)執(zhí)行異步拷貝管理程序150,各主機(jī)100可以通過獲得各指針值檢查各磁盤陣列裝置200中的日志獲取狀態(tài)。例如,根據(jù)日志組產(chǎn)生時(shí)刻確定的日志卷的存儲(chǔ)器大小和從磁盤陣列裝置200獲得的指針差異,各主機(jī)100針對(duì)主日志卷和輔助日志卷計(jì)算日志卷有多少百分比被利用。
根據(jù)這種確定,各主機(jī)100向各磁盤陣列裝置200發(fā)如下指令主日志卷中存儲(chǔ)的日志應(yīng)清除到哪一點(diǎn);主日志卷中存儲(chǔ)的日志中直到哪一點(diǎn)的日志應(yīng)傳送給輔助磁盤陣列裝置200B;已傳送日志數(shù)據(jù)中直到哪一點(diǎn)的日志數(shù)據(jù)應(yīng)在SVOL中恢復(fù);等等。
例如,如果主機(jī)100B確定存儲(chǔ)在主日志卷中的日志至少占據(jù)其存儲(chǔ)容量的百分之50,可以規(guī)定何時(shí)由輔助主機(jī)100B向輔助磁盤陣列裝置200B發(fā)出日志拷貝請(qǐng)求以啟動(dòng)拷貝過程。
主機(jī)100向磁盤陣列裝置200發(fā)出的指令包括日志創(chuàng)建狀態(tài)獲取命令以及日志處理命令。
日志創(chuàng)建狀態(tài)獲取命令在以下兩種情況下發(fā)出(1)主主機(jī)100A希望獲得有關(guān)主日志卷中累積了多少日志的信息時(shí);(2)輔助主機(jī)100B希望獲得有關(guān)輔助日志卷讀過程和恢復(fù)過程應(yīng)當(dāng)進(jìn)行到何種程度的信息時(shí)。
在以下兩種情況下發(fā)出日志處理命令(1)主主機(jī)100A希望清除主磁盤陣列裝置200A中日志時(shí);以及(2)輔助主機(jī)100B希望啟動(dòng)由輔助磁盤陣列裝置200B執(zhí)行的日志拷貝過程和日志恢復(fù)過程時(shí)。
規(guī)定主日志卷和輔助日志卷的LBA為1:1,但可以規(guī)定輔助日志卷的存儲(chǔ)區(qū)大于主日志卷的存儲(chǔ)區(qū),這就需要一種方法,以執(zhí)行從主日志卷到輔助日志卷的相應(yīng)的地址轉(zhuǎn)換。因此,日志拷貝請(qǐng)求命令和日志恢復(fù)請(qǐng)求命令都屬于日志處理命令類。
圖6是顯示根據(jù)本實(shí)施例的獲取、拷貝和恢復(fù)過程的詳細(xì)流程圖。
主主機(jī)100A定期(按用戶請(qǐng)求或在預(yù)定時(shí)間安排的預(yù)定間隔)通過使用日志輸出LBA和日志輸入LBA指針(圖3所示步驟6100;步驟5300)獲得有關(guān)主磁盤陣列裝置200A日志存儲(chǔ)區(qū)的信息,并向輔助主機(jī)100B發(fā)送所獲得的信息(步驟6110)。
輔助主機(jī)根據(jù)指示日志存儲(chǔ)區(qū)的通知信息確定用于日志拷貝處理的主日志卷的邏輯塊區(qū)域。此外,主主機(jī)100A可以事先確定用于日志拷貝的主日志卷的邏輯塊區(qū)域。
隨后,輔助主機(jī)100B發(fā)出日志拷貝命令,該命令包括指示已確定邏輯塊區(qū)的信息和指定拷貝輔助磁盤陣列裝置200B的日志的磁盤陣列裝置200的信息(圖3所示步驟6300;步驟5400)。接收日志拷貝請(qǐng)求命令的輔助磁盤陣列裝置200B向指定的主磁盤陣列裝置200A發(fā)出請(qǐng)求讀指定邏輯塊區(qū)中所存日志的命令。如圖4所示,日志區(qū)劃分成元數(shù)據(jù)區(qū)和日志數(shù)據(jù)區(qū)。元數(shù)據(jù)區(qū)由日志拷貝請(qǐng)求指定。當(dāng)輔助磁盤陣列裝置200B收到日志拷貝請(qǐng)求時(shí),它發(fā)出讀命令以從元數(shù)據(jù)區(qū)中指定的邏輯塊拷貝,根據(jù)元數(shù)據(jù)中的地址確定日志數(shù)據(jù)區(qū)中的哪些邏輯塊與元數(shù)據(jù)相對(duì)應(yīng),并發(fā)出讀命令以從確定的邏輯塊(即相應(yīng)的日志數(shù)據(jù))拷貝。或者,輔助磁盤陣列裝置可以發(fā)讀命令以同時(shí)拷貝元數(shù)據(jù)和日志數(shù)據(jù)。在這種情況下,根據(jù)指針計(jì)算每個(gè)讀命令的地址和數(shù)據(jù)長度。例如,對(duì)于日志數(shù)據(jù),將主日志卷的從預(yù)定讀LBA+1到日志輸入LBA-1的日志數(shù)據(jù)區(qū)拷貝到輔助日志卷的相應(yīng)日志數(shù)據(jù)區(qū)(圖3所示步驟6400;步驟5500)。
另一方面,通過發(fā)出日志創(chuàng)建狀態(tài)獲取命令,輔助主機(jī)100B定期獲得輔助磁盤陣列裝置200B的日志處理狀態(tài)(步驟6310、6320和6410)。也就是說,從輔助磁盤陣列裝置200B獲得已讀LBA4243和預(yù)定讀LBA4244的指針值。如果已讀LBA4243和預(yù)定讀LBA4244的值彼此一致,則輔助主機(jī)100B判定日志拷貝過程(即讀)已經(jīng)完成。
在預(yù)定讀LBA4244的信息保持在輔助主機(jī)100B中的情況下,輔助主機(jī)100B通過定期從輔助磁盤陣列裝置200B獲得已讀LBA4243,可以確定日志拷貝過程已經(jīng)完成。
如果確認(rèn)日志拷貝過程已經(jīng)完成,那么,輔助主機(jī)100B發(fā)出日志恢復(fù)請(qǐng)求命令,以開始輔助日志卷中的數(shù)據(jù)恢復(fù)?;蛘?,如果不要求立即恢復(fù),例如在輔助日志卷容量大的情況下,可以在日志拷貝過程完成很長時(shí)間后執(zhí)行恢復(fù)(圖3所示步驟6330;步驟5700)。
如果收到日志恢復(fù)請(qǐng)求命令,輔助磁盤陣列裝置200B就恢復(fù)存儲(chǔ)在與指定LBA相對(duì)應(yīng)的邏輯塊中的日志(圖3所示步驟6420;步驟5800)。
此外,確認(rèn)日志拷貝過程完成的輔助主機(jī)100B向主主機(jī)100A提供已讀LBA4243所示的LBA(步驟6340)。檢測(cè)到日志拷貝過程完成的輔助主機(jī)100B準(zhǔn)備好向輔助磁盤陣列裝置200B發(fā)下一次日志拷貝請(qǐng)求指令(步驟6350)。
獲悉已讀LBA4243所示LBA的主主機(jī)100A命令主磁盤陣列裝置200A清除對(duì)應(yīng)于通知LBA的日志(步驟6120)。主磁盤陣列裝置200A清除與指定LBA對(duì)應(yīng)的日志卷(步驟6210)。
圖7顯示本發(fā)明適用的數(shù)據(jù)處理系統(tǒng)50的第二實(shí)施例。為了便于說明,用相同的標(biāo)號(hào)標(biāo)明本實(shí)施例與第一實(shí)施例對(duì)應(yīng)的系統(tǒng)、裝置和部件。
不象第一實(shí)施例,圖7所示數(shù)據(jù)處理系統(tǒng)50,主磁盤陣列裝置200A通過向輔助磁盤陣列裝置200B發(fā)出數(shù)據(jù)寫命令,而不是等待接收從輔助磁盤陣列裝置200B讀命令,來啟動(dòng)日志拷貝過程。此外,輔助主機(jī)100B執(zhí)行日志恢復(fù)過程(圖7所示步驟5900),這不象在第一實(shí)施例中,此過程是由輔助存儲(chǔ)控制器210B執(zhí)行。因此,輔助主機(jī)應(yīng)配置日志恢復(fù)程序。
在本說明書中,主存儲(chǔ)系統(tǒng)10的裝置和部件是通過稱之為主裝置或部件,或者在它們的標(biāo)號(hào)之后配上“A”,或者同時(shí)采用兩種方式(例如主主機(jī)100或主機(jī)100A或主主機(jī)100A),這樣區(qū)別于輔助存儲(chǔ)系統(tǒng)20的裝置和部件。同樣地,輔助系統(tǒng)20的裝置和部件稱之為輔助裝置或部件,或在其標(biāo)號(hào)之后配上“B”,或同時(shí)采用兩種方式(例如,輔助主機(jī)100、主機(jī)100B以及輔助主機(jī)100B)。
在本實(shí)施例中,由于日志拷貝處理的實(shí)體是主磁盤陣列裝置200A,以及執(zhí)行日志恢復(fù)處理的實(shí)體是輔助主機(jī)100B,可以將不具備特殊功能的普通存儲(chǔ)器用作輔助磁盤陣列裝置200B。而且,因?yàn)槿罩究截愡^程由主磁盤陣列裝置200A執(zhí)行,而日志恢復(fù)過程由輔助主機(jī)100B執(zhí)行,故數(shù)據(jù)處理系統(tǒng)50可以使用異種存儲(chǔ)子系統(tǒng)或磁盤陣列裝置(例如,由不同供應(yīng)商生產(chǎn)的那些),或者使用不同的存儲(chǔ)協(xié)議或方法。
在主站點(diǎn)10中,涉及PVOL更新(步驟5100)的日志獲取過程(步驟5200)基本上與第一實(shí)施例中相同。主主機(jī)100A從主磁盤陣列裝置200A獲得有關(guān)日志創(chuàng)建狀態(tài)的信息(步驟5300)。
主主機(jī)100A為輔助磁盤陣列裝置200B向主磁盤陣列裝置200A發(fā)出日志拷貝請(qǐng)求命令(步驟5450)。
日志拷貝請(qǐng)求命令包括有關(guān)日志將要傳輸?shù)降拇疟P陣列裝置200B的目的日志卷的信息、指定磁盤陣列裝置200B的信息、磁盤陣列裝置200A的源日志卷、如此等等。
主磁盤陣列裝置200A接收日志拷貝請(qǐng)求命令,并通過向輔助磁盤陣列裝置200B發(fā)寫命令將指定的日志發(fā)送給輔助磁盤陣列裝置200B(步驟5600)。輔助磁盤陣列裝置200B將從第一裝置200A接收的日志存儲(chǔ)到寫命令指定的輔助日志卷的某個(gè)區(qū)域中。
隨后,輔助主機(jī)100B利用異步拷貝管理程序150從輔助日志卷讀日志并將數(shù)據(jù)恢復(fù)到SVOL2214中(步驟5900)。
輔助主機(jī)100B執(zhí)行輔助日志卷的指針管理,將制作日志拷貝請(qǐng)求5450所需的信息(例如,計(jì)算拷貝地址所需的已恢復(fù)LBA4241)通知主主機(jī)100A。
在本實(shí)施例中,通過主主機(jī)100A的指令,主磁盤陣列裝置200A發(fā)寫命令,要求輔助磁盤陣列裝置200B將PVOL2212的初始數(shù)據(jù)順序?qū)懭胼o助磁盤陣列裝置200B的SVOL2214中,從而實(shí)現(xiàn)初始拷貝。
在所有初始數(shù)據(jù)已從PVOL寫入輔助磁盤陣列裝置200B后,執(zhí)行拷貝程序2110的主磁盤陣列裝置200A向主主機(jī)100A報(bào)告初始拷貝完成。主主機(jī)100A接收該報(bào)告。之后,存儲(chǔ)在輔助站點(diǎn)20中的SVOL2214可以作為反映PVOL2212內(nèi)容的卷加以處理。
圖8顯示本發(fā)明適用的數(shù)據(jù)處理系統(tǒng)50的第三實(shí)施例。系統(tǒng)50包括各主機(jī)之間的第一通信鏈路48,但不包括磁盤陣列裝置200A和200B之間的第二通信鏈路。在一種實(shí)施例中,用外部存儲(chǔ)裝置代替第二通信鏈路。
在本實(shí)施例中,第一外部存儲(chǔ)裝置60(例如磁帶裝置)和第二外部存儲(chǔ)器62分別通過光纖信道連接到主主機(jī)100A和輔助主機(jī)100B。外部存儲(chǔ)器60和62可以利用光纖信道等彼此相連。或者,如果這些外部存儲(chǔ)器是活動(dòng)存儲(chǔ)媒體,例如磁帶,就可以通過在各裝置之間使存儲(chǔ)媒體物理遷移,將它們轉(zhuǎn)移。
在本實(shí)施例中,主磁盤陣列裝置200A象在第二實(shí)施例中那樣,執(zhí)行PVOL2212的日志獲取過程。日志拷貝和初始拷貝根據(jù)如下所述步驟進(jìn)行(1)主主機(jī)100A把數(shù)據(jù)寫入第一外部存儲(chǔ)器60中。也就是說,一旦日志獲取過程已開始,主主機(jī)100A就從主日志卷讀日志并將其存儲(chǔ)到外部存儲(chǔ)器60中,以響應(yīng)用戶輸入或預(yù)定安排(步驟5620)。
(2)將寫入第一外部存儲(chǔ)器60中的數(shù)據(jù)轉(zhuǎn)移到第二外部存儲(chǔ)器62中。這個(gè)過程要么由主主機(jī)100A要么由輔助主機(jī)100B實(shí)現(xiàn)。在一種實(shí)現(xiàn)中,將ANSI(美國國家標(biāo)準(zhǔn)協(xié)會(huì))SCSI-3擴(kuò)展拷貝命令用作這些數(shù)據(jù)轉(zhuǎn)移指令。
主機(jī)100A和100B通過通信鏈路傳送數(shù)據(jù)轉(zhuǎn)移所需地址信息、報(bào)告數(shù)據(jù)轉(zhuǎn)移完成等等。在一種實(shí)現(xiàn)中,用戶或管理員在將移動(dòng)記錄媒體物理地從第一外部存儲(chǔ)器遷移到第二外部存儲(chǔ)器之后向各主機(jī)100報(bào)告數(shù)據(jù)已轉(zhuǎn)移(步驟5622)。
(3)根據(jù)輔助主機(jī)100B的指令將存儲(chǔ)在第二外部存儲(chǔ)器62中的數(shù)據(jù)傳送給輔助磁盤陣列裝置200B。也就是說,輔助主機(jī)100B向外部存儲(chǔ)器62發(fā)讀命令5505并從外部存儲(chǔ)器62讀日志。然后,輔助主機(jī)100B正如在第二實(shí)施例中那樣,根據(jù)從外部存儲(chǔ)器62讀取的日志恢復(fù)SVOL2214的數(shù)據(jù)(步驟5625)。
通過以上步驟,就可以通過日志卷執(zhí)行從PVOL到SVOL的數(shù)據(jù)復(fù)制。以類似的方式執(zhí)行初始拷貝。在一種實(shí)現(xiàn)中,只要沒有具體的指令,即使在恢復(fù)過程之后亦不刪除存儲(chǔ)在外部存儲(chǔ)器62中的日志。而且,外部存儲(chǔ)器62中還存儲(chǔ)初始拷貝的結(jié)果,即初始數(shù)據(jù)。
而且,由于在本發(fā)明的數(shù)據(jù)處理系統(tǒng)中,日志的元數(shù)據(jù)包括更新時(shí)間的時(shí)間戳,故輔助磁盤陣列裝置200B的SVOL2214可以在日志獲取過程開始起的任意時(shí)刻恢復(fù)成PVOL的內(nèi)容。也就是說,通過恢復(fù)SVOL中所有這樣的日志部分其中每份日志的時(shí)間戳按時(shí)間順序早于輔助主機(jī)100B指定的時(shí)間,可以在指定時(shí)間恢復(fù)PVOL的內(nèi)容。這稱之為“按時(shí)恢復(fù)”。
此外,還可以針對(duì)輔助磁盤陣列裝置200B用戶指定的任意卷2216執(zhí)行按時(shí)恢復(fù)。也就是說,為此目的,存儲(chǔ)在外部存儲(chǔ)器62中的PVOL初始拷貝結(jié)果首先拷貝到卷2216,隨后根據(jù)更新時(shí)間按順序在卷2216中恢復(fù)所有這樣的日志部分其中每份日志的時(shí)間戳早于輔助主機(jī)100B指定的時(shí)刻。
對(duì)同一區(qū)域而言,如果存在多個(gè)日志,就使用這種模式其中,將具有最新時(shí)間戳的日志用于執(zhí)行恢復(fù)。
外部存儲(chǔ)器60和62可以是同一類型或不同類型存儲(chǔ)裝置。而且,它們被描述成不同的裝置,但可以配置成同樣的裝置。
在第一和第二實(shí)施例中,按時(shí)恢復(fù)包括恢復(fù)所有這樣的日志它們指示的更新時(shí)間(時(shí)間戳)晚于指定的時(shí)刻。然而,PVOL的可恢復(fù)映像被限制為輔助日志卷中最老日志所示更新時(shí)間后的映像。
圖9顯示本發(fā)明適用的數(shù)據(jù)處理系統(tǒng)的第四實(shí)施例。該實(shí)施例類似于第三實(shí)施例,但不同的方面在于外部存儲(chǔ)器60和62(利用光纖信道)分別連接到主磁盤陣列裝置200A和輔助磁盤陣列裝置200B。于是,到外部存儲(chǔ)裝置60的初始拷貝過程和日志拷貝過程由主磁盤陣列裝置200A根據(jù)主主機(jī)100A的指令5450執(zhí)行(步驟5630)。
根據(jù)主磁盤陣列裝置200A的指令5631通過通信鏈路傳輸數(shù)據(jù),或者通過物理上遷移存儲(chǔ)媒體,這樣將存儲(chǔ)在外部存儲(chǔ)器60中的數(shù)據(jù)轉(zhuǎn)移到外部存儲(chǔ)器62(步驟5632)。
隨后,輔助磁盤陣列裝置200B根據(jù)輔助主機(jī)100B的指令5400,通過發(fā)讀命令5507,執(zhí)行與從外部存儲(chǔ)裝置62進(jìn)行的初始拷貝過程和日志拷貝有關(guān)的讀操作(步驟5635)。日志獲取和恢復(fù)過程與第一此外,根據(jù)本實(shí)施例,可通過轉(zhuǎn)移日志將PVOL數(shù)據(jù)異步復(fù)制到SVOL中。不象第三實(shí)施例,由于磁盤陣列裝置200A和200B傳輸數(shù)據(jù),主機(jī)100A和100B上的負(fù)荷減少了。此外,還可在本實(shí)施例中象在第三實(shí)施例中那樣實(shí)現(xiàn)按時(shí)恢復(fù)。
圖11顯示本方面適用的數(shù)據(jù)處理系統(tǒng)的第五實(shí)施例。不象之前描述的前述實(shí)施例,本實(shí)施例中主存儲(chǔ)系統(tǒng)10連接到多個(gè)輔助存儲(chǔ)系統(tǒng)20和30。
在本實(shí)施例中,將對(duì)應(yīng)于主磁盤陣列裝置200A的PVOL2212日志分別傳送到對(duì)應(yīng)于存儲(chǔ)系統(tǒng)20的SVOL2214B的輔助日志卷和對(duì)應(yīng)于存儲(chǔ)系統(tǒng)30的SVOL2214C的輔助日志卷,以執(zhí)行恢復(fù)過程。此外,分別從PVOL2212執(zhí)行到SVOL2214B和SVOL2214C的初始拷貝。這些過程根據(jù)收到各輔助磁盤陣列裝置的讀命令或從主磁盤陣列裝置發(fā)向輔助磁盤陣列裝置的寫命令執(zhí)行。這樣,可以在多個(gè)站點(diǎn)中復(fù)制存儲(chǔ)在主站點(diǎn)中的數(shù)據(jù)。
圖12顯示本發(fā)明適用的數(shù)據(jù)處理系統(tǒng)的第六實(shí)施例。在該實(shí)施例中,為了防備輔助站點(diǎn)20因故障等原因不可用的情形,用戶或管理員事先在主主機(jī)100A中登記一個(gè)或多個(gè)用于替代輔助站點(diǎn)20的候選站點(diǎn)。在一種實(shí)現(xiàn)中這些候選站點(diǎn)的列表或表格160保存在主機(jī)100A中。
如果輔助站點(diǎn)20不可用,主主機(jī)100A就從列表160中選擇一個(gè)新的輔助站點(diǎn)40。主主機(jī)100A可根據(jù)預(yù)定的優(yōu)先權(quán)順序或已經(jīng)按這種優(yōu)先權(quán)預(yù)先定義好的列表160選擇一個(gè)備用的輔助站點(diǎn)。用戶可以定義這種優(yōu)先權(quán)順序或主主機(jī)100A可以利用預(yù)定規(guī)則,例如主站點(diǎn)10和可能輔助站點(diǎn)之間的距離、數(shù)據(jù)傳輸速率等等,自動(dòng)定義這種優(yōu)先權(quán)。
之后,主主機(jī)100A將裝置組等信息傳送給新選定的輔助站點(diǎn)40中的一個(gè)輔助主機(jī)100D。接收裝置組等信息的新輔助主機(jī)100D向與輔助主機(jī)100D相連的磁盤陣列裝置200D請(qǐng)求在100D本身和主主機(jī)100A之間設(shè)置新PVOL、日志對(duì)及日志拷貝信息。附帶說一下,在多數(shù)情況下,由于初始拷貝是必要的,輔助主機(jī)100D還向磁盤陣列裝置200D請(qǐng)求初始拷貝。通過這些處理,在新選擇的輔助站點(diǎn)40中,即使輔助站點(diǎn)20在遠(yuǎn)程復(fù)制過程之前或期間發(fā)生故障,也可以繼續(xù)復(fù)制存儲(chǔ)在主站點(diǎn)10中的數(shù)據(jù)。
在一種實(shí)現(xiàn)中,即使輔助主機(jī)100B發(fā)生故障,輔助磁盤陣列裝置200B仍舊可用作輔助站點(diǎn)40的一個(gè)磁盤陣列裝置(例如,在存儲(chǔ)區(qū)域網(wǎng)絡(luò)系統(tǒng)中)。
圖13顯示本發(fā)明適用的數(shù)據(jù)處理系統(tǒng)的第七實(shí)施例。
不象前述實(shí)施例,本實(shí)施例是這樣的主站點(diǎn)10由主主機(jī)100A和虛擬磁盤陣列裝置15A構(gòu)成,而輔助站點(diǎn)20由輔助主機(jī)100B和虛擬磁盤陣列裝置15B構(gòu)成。各主機(jī)100將各虛擬磁盤陣列裝置15作為單個(gè)磁盤陣列裝置200處理。也就是說,各主機(jī)象在第一實(shí)施例中那樣向虛擬磁盤陣列裝置15發(fā)同樣的命令。
虛擬磁盤陣列裝置15由虛擬化服務(wù)器300和多個(gè)存儲(chǔ)子系統(tǒng),例如磁盤陣列裝置200構(gòu)成。虛擬化服務(wù)器300通過光纖信道與主主機(jī)100A(輔助主機(jī)100B)、多個(gè)磁盤陣列裝置200和其它虛擬化服務(wù)器相連。這種光纖信道對(duì)應(yīng)于第一實(shí)施例中的光纖信道66和68,它用于存儲(chǔ)控制器210之間的通信,以及用于初始拷貝和日志拷貝過程。類似于第一實(shí)施例,在各虛擬化服務(wù)器300之間距離很長的情況下,這種光纖信道可以是通過長距離(電信)的電路,例如具備中間擴(kuò)展裝置的ATM。
虛擬化服務(wù)器300提供一組卷(或者是一組邏輯卷或者是一種物理卷),通過執(zhí)行稱之為虛擬化管理器的程序310,將各磁盤陣列裝置200上的多個(gè)卷轉(zhuǎn)換成各相連主機(jī)100的單一地址空間(下文中稱之為“虛擬存儲(chǔ)映像”),這樣,就可將連接到虛擬化服務(wù)器300的多個(gè)磁盤陣列裝置200用作給各主機(jī)100的單個(gè)(或兩個(gè)或更多個(gè))存儲(chǔ)子系統(tǒng)。
現(xiàn)在將簡要描述主機(jī)100和虛擬磁盤陣列裝置15主機(jī)的數(shù)據(jù)傳輸。主機(jī)100A向虛擬磁盤陣列裝置15A發(fā)寫請(qǐng)求5100。寫請(qǐng)求5100由虛擬化服務(wù)器300A轉(zhuǎn)換成寫請(qǐng)求5105,以發(fā)向?qū)?yīng)于主機(jī)100A的構(gòu)成虛擬存儲(chǔ)映像的各個(gè)磁盤陣列裝置200。然后,虛擬化服務(wù)器300A向相應(yīng)的磁盤陣列裝置200發(fā)送轉(zhuǎn)換后的寫請(qǐng)求5105。這時(shí),將寫請(qǐng)求5100包含的數(shù)據(jù)分成給各個(gè)磁盤陣列裝置200的若干份數(shù)據(jù)。此外,將寫地址轉(zhuǎn)換成到各個(gè)磁盤陣列裝置200的寫地址。
主機(jī)100B向虛擬磁盤陣列裝置15B發(fā)出數(shù)據(jù)讀請(qǐng)求。數(shù)據(jù)讀請(qǐng)求由虛擬化服務(wù)器300B被轉(zhuǎn)換成向?qū)?yīng)于主機(jī)100B的構(gòu)成虛擬存儲(chǔ)映像的各個(gè)磁盤陣列裝置200發(fā)送的讀請(qǐng)求。然后,虛擬化服務(wù)器300B向相應(yīng)的磁盤陣列裝置200發(fā)經(jīng)轉(zhuǎn)換的讀請(qǐng)求。
接著,各磁盤陣列裝置200將請(qǐng)求的數(shù)據(jù)傳送給虛擬化服務(wù)器300B(步驟5115)。虛擬化服務(wù)器300B接收該數(shù)據(jù)并集成接收數(shù)據(jù),將其發(fā)往主機(jī)100B(步驟5110)。
此外,盡管圖13中未示出,正如各主機(jī)100和各磁盤陣列裝置200,每個(gè)虛擬化服務(wù)器300通過IP網(wǎng)絡(luò)連接到遠(yuǎn)程控制臺(tái)。用戶通過遠(yuǎn)程控制臺(tái)管理該數(shù)據(jù)處理系統(tǒng)。
此外,可以考慮,例如,通過允許虛擬化服務(wù)器300監(jiān)視與虛擬化服務(wù)器300相連的各磁盤陣列裝置200的I/O處理,以自動(dòng)執(zhí)行以下過程(A)更改映射,以便其中經(jīng)常出現(xiàn)可糾正讀錯(cuò)誤(即讀數(shù)據(jù)過程中檢測(cè)到錯(cuò)誤,但數(shù)據(jù)可通過數(shù)據(jù)中存儲(chǔ)的糾錯(cuò)碼糾正)的磁盤陣列裝置200由另一磁盤陣列裝置200代替。
(B)將經(jīng)常訪問的數(shù)據(jù)重定位到更高速的磁盤陣列裝置中。
在這些處理操作之前,如果使用本發(fā)明的技術(shù),通過日志獲取、日志拷貝和日志恢復(fù)過程,待替換的原始磁盤陣列裝置200上的數(shù)據(jù)可以事先拷貝到這種磁盤陣列裝置200上,這種磁盤陣列裝置200是虛擬化服務(wù)器控制的再定位的目標(biāo)裝置。然后,如果虛擬存儲(chǔ)映像的配置已改動(dòng),無需中斷應(yīng)用程序就可以執(zhí)行存儲(chǔ)子系統(tǒng)的添加和刪除。
虛擬磁盤陣列裝置15的虛擬化服務(wù)器300執(zhí)行日志備份/恢復(fù)程序和拷貝程序。
此外,虛擬磁盤陣列裝置15具有PVOL、主日志卷和輔助日志卷、或前述實(shí)施例中描述的SVOL。應(yīng)當(dāng)指出,PVOL、主日志卷和輔助日志卷和SVOL可以配置成分別跨多個(gè)磁盤陣列裝置而存在,但它們被主機(jī)100或由虛擬化服務(wù)器300在主機(jī)100或虛擬化服務(wù)器300上執(zhí)行的日志備份/恢復(fù)程序和拷貝程序作為(虛擬)單個(gè)卷處理。因此,虛擬化服務(wù)器300根據(jù)各主機(jī)100的指令控制與第一實(shí)施例相同的處理,即日志獲取、日志拷貝、日志恢復(fù)以及日志卷管理。
而且,虛擬化的磁盤陣列裝置200的數(shù)量可以根據(jù)用戶請(qǐng)求或預(yù)定方法動(dòng)態(tài)增加或減少。進(jìn)而,這是不必要的與主站點(diǎn)10相連的磁盤陣列裝置200的數(shù)量和種類分別與輔助站點(diǎn)20的那些相同。在本實(shí)施例中,將虛擬化服務(wù)器300和各主機(jī)100描述成不同的裝置。然而,它們可以是相同的裝置,例如,主機(jī)100可以配備虛擬化管理器。
圖14顯示本發(fā)明適用的數(shù)據(jù)處理系統(tǒng)的第八實(shí)施例。盡管本實(shí)施例如前述實(shí)施例那樣使用虛擬磁盤陣列裝置15,但是,本實(shí)施例區(qū)別于前述實(shí)施例的不同之處在于日志獲取、日志恢復(fù)和日志拷貝由各磁盤陣列裝置200上的程序執(zhí)行,而不是由虛擬化服務(wù)器300執(zhí)行。
此外,主站點(diǎn)10的磁盤陣列裝置200以及輔助站點(diǎn)20的磁盤陣列裝置200彼此相連,構(gòu)成存儲(chǔ)區(qū)域網(wǎng)絡(luò)(下文中稱之為“SAN”)。也就是說,通信鏈路68是本實(shí)施例中的SAN。
另外,在本實(shí)施例中,主存儲(chǔ)系統(tǒng)10的磁盤陣列裝置200必須具有以下信息即有關(guān)輔助站點(diǎn)20的磁盤陣列裝置200與主存儲(chǔ)系統(tǒng)10的磁盤陣列裝置200擁有的卷之間關(guān)系的信息,也就是說,哪一個(gè)磁盤陣列裝置200是主存儲(chǔ)系統(tǒng)10的磁盤陣列裝置200的通信伙伴;反之亦然。為此目的,虛擬化服務(wù)器300彼此共享它們的地址映射信息(步驟3000),包括對(duì)地址映射的任何更新。這種映射信息又提供給相應(yīng)的磁盤陣列裝置200。
與第七實(shí)施例作比較,因?yàn)槿罩緜浞莼謴?fù)過程由磁盤陣列裝置200執(zhí)行,且由于主站點(diǎn)10和輔助站點(diǎn)20之間的數(shù)據(jù)傳輸通過SAN進(jìn)行因而傳輸率較高,所以本實(shí)施例虛擬化服務(wù)器300的負(fù)荷已減輕。
圖16顯示主機(jī)100和磁盤陣列裝置200之間用于實(shí)現(xiàn)第七和第八實(shí)施例中所提供的虛擬化卷的映射地址。該表格表示向兩個(gè)輔助主機(jī)100B和100C提供虛擬存儲(chǔ)映像的情況,雖然圖13或圖14都只顯示一個(gè)輔助主機(jī)100B。
表170包括涉及為其提供虛擬存儲(chǔ)映像的目標(biāo)主機(jī)100的列172,列174涉及主機(jī)100訪問的邏輯卷(下文中稱之為“主機(jī)訪問LU”),列176涉及構(gòu)成虛擬存儲(chǔ)映像的磁盤陣列裝置200以及列178涉及各磁盤陣列裝置200上的邏輯卷(下文中稱之為“存儲(chǔ)裝置LU”)。
在另一種實(shí)現(xiàn)中,主機(jī)100和磁盤陣列裝置200之間的編址信息可以這樣實(shí)現(xiàn)保持具有類似于表170、例如指針規(guī)定的列表的信息的數(shù)據(jù)結(jié)構(gòu)。
在上述各實(shí)施例中,已將初始拷貝過程描述成不同于日志處理的單獨(dú)的過程步驟。然而,初始拷貝可以通過生成PVOL2212初始數(shù)據(jù)的日志(“基礎(chǔ)日志”)而結(jié)合到日志處理過程中,組合成配對(duì)(即對(duì)產(chǎn)生)之后生成的更新日志。更新日志是對(duì)應(yīng)于配對(duì)之后主機(jī)發(fā)出的更新命令的日志。為了說明本發(fā)明實(shí)施例的目的,將更新日志稱為“日志”或“更新日志”。然而,基礎(chǔ)日志僅被稱為“基礎(chǔ)日志”。這種術(shù)語區(qū)別只適用于詳細(xì)描述部分,而不適用于權(quán)利要求部分。因此,當(dāng)用于權(quán)利要求中時(shí),術(shù)語“日志”指任何包括基礎(chǔ)日志、更新日志或標(biāo)記日志(待描述)的日志、或者包括這些日志任意組合的日志。
工作時(shí),主主機(jī)100A向主磁盤陣列裝置200A發(fā)基礎(chǔ)日志生成命令。在收到該命令時(shí),主磁盤陣列裝置200A根據(jù)PVOL2212中的初始數(shù)據(jù)生成基礎(chǔ)日志。初始數(shù)據(jù)是配對(duì)之前就已存在于PVOL2212中的數(shù)據(jù)?;A(chǔ)日志生成包括將PVOL2212中的初始數(shù)據(jù)作為多個(gè)日志的日志數(shù)據(jù)拷貝到主日志卷的日志數(shù)據(jù)區(qū)以及將相應(yīng)的元數(shù)據(jù)存儲(chǔ)到各基礎(chǔ)日志的元數(shù)據(jù)區(qū)。在基礎(chǔ)日志的元數(shù)據(jù)中,時(shí)間信息(時(shí)間戳)是通過將初始數(shù)據(jù)拷貝到主日志卷的日志數(shù)據(jù)區(qū)中生成基礎(chǔ)日志的時(shí)刻。一般講,基礎(chǔ)日志的其它元數(shù)據(jù)信息(例如地址信息和數(shù)據(jù)長度)與更新日志相同。
在生成基礎(chǔ)日志后,主磁盤陣列裝置200A向主主機(jī)100A通知基礎(chǔ)日志生成完成。在一種實(shí)現(xiàn)中,基礎(chǔ)日志按照上述方法連同更新日志一起傳輸并恢復(fù)。
在一個(gè)實(shí)施例中,基礎(chǔ)日志處理可以在多個(gè)階段中執(zhí)行,從而基礎(chǔ)日志得以生成、傳輸并恢復(fù),每次僅限于一部分初始數(shù)據(jù)。例如,如果主日志卷2222A的存儲(chǔ)容量小于PVOL2212的存儲(chǔ)容量,最初僅有PVOL2212前一半的基礎(chǔ)日志可以生成并存儲(chǔ)到主卷中。隨后將這些日志(“第一基礎(chǔ)日志”)傳送到輔助日志卷2222B中恢復(fù)。在完成第一基礎(chǔ)日志到輔助日志卷2222B的傳送后,生成PVOL2212第二半基礎(chǔ)日志并對(duì)其處理。當(dāng)同時(shí)進(jìn)行初始拷貝和日志恢復(fù)時(shí),對(duì)SVOL2214的區(qū)域用于初始拷貝還是日志恢復(fù),必須專門管理。然而,如果是生成基礎(chǔ)日志并對(duì)其加以處理,而不是初始拷貝,則不需要這樣做。
在另一實(shí)施例中,日志除包括基礎(chǔ)日志和更新日志以外還包括標(biāo)記日志。標(biāo)記日志是一種特殊的日志,用于通過日志拷貝過程從主磁盤陣列裝置向輔助磁盤陣列裝置提供控制信息。標(biāo)記日志與其用于識(shí)別目的元數(shù)據(jù)中的標(biāo)志相關(guān)聯(lián),從而可以容易地從可能包括基礎(chǔ)日志或更新日志或兩者的日志中檢索出來。標(biāo)記日志由主磁盤陣列裝置在預(yù)定條件下(例如基礎(chǔ)日志生成完成或暫停)生成并存儲(chǔ)到存儲(chǔ)更新日志的主日志卷中。
在日志恢復(fù)過程期間,如果輔助存儲(chǔ)子系統(tǒng)確定恢復(fù)的日志是標(biāo)記日志,子系統(tǒng)就將其存儲(chǔ)到存儲(chǔ)器中,并執(zhí)行預(yù)定過程(例如,向輔助主機(jī)200B報(bào)告標(biāo)記日志的內(nèi)容)。在一個(gè)實(shí)施例中,存儲(chǔ)控制器讀標(biāo)記日志并存儲(chǔ)到它的存儲(chǔ)器中,且在收到主機(jī)的請(qǐng)求時(shí)將標(biāo)記日志的內(nèi)容發(fā)送給主機(jī)?;蛘?,存儲(chǔ)控制器可以將標(biāo)記日志內(nèi)容傳輸?shù)街鳈C(jī)。于是,標(biāo)記日志提供了一種便利的途徑,為輔助存儲(chǔ)系統(tǒng)提供有關(guān)主存儲(chǔ)系統(tǒng)中數(shù)據(jù)處理事件的信息,例如初始拷貝/基礎(chǔ)日志生成完成、初始拷貝/基礎(chǔ)日志生成暫?;蛑貑?、以及日志獲取或其它過程。
圖15顯示本發(fā)明適用的數(shù)據(jù)處理系統(tǒng)的第九實(shí)施例。數(shù)據(jù)處理系統(tǒng)50包括第一站點(diǎn)10、第二站點(diǎn)20以及第三站點(diǎn)30。站點(diǎn)10、20和30通過網(wǎng)絡(luò)69、例如SAN彼此相連。系統(tǒng)50定義包括第一站點(diǎn)10和第二站點(diǎn)20的第一站點(diǎn)組8010。
每個(gè)站點(diǎn)包括主機(jī)100和與主機(jī)關(guān)聯(lián)的異步拷貝管理程序150。第一站點(diǎn)10包括的主機(jī)100A用作主主機(jī)100A,輔助站點(diǎn)20中包括的主機(jī)100B用作輔助主機(jī)100B。
此外,各站點(diǎn)的主機(jī)100通過執(zhí)行異步拷貝管理程序150執(zhí)行如下處理。
例如,當(dāng)數(shù)據(jù)處理系統(tǒng)本身的本地站點(diǎn)中出現(xiàn)異常(例如,與輔助主機(jī)100B相連的磁盤陣列裝置200B中發(fā)生故障,因而變得不可用)時(shí),該數(shù)據(jù)處理系統(tǒng)首先確定出現(xiàn)異常的站點(diǎn)是主站點(diǎn)10還是輔助站點(diǎn)20。在一種實(shí)現(xiàn)中,各站點(diǎn)的各主機(jī)100監(jiān)視與各主機(jī)相連裝置中出現(xiàn)的異常。
如果出現(xiàn)異常的站點(diǎn)是輔助站點(diǎn)20,檢測(cè)到該異常的主機(jī)100(例如輔助主機(jī)100B)就請(qǐng)求第三站點(diǎn)30的主機(jī)100C與主站點(diǎn)10形成新的站點(diǎn)組,使得盡管第二站點(diǎn)出現(xiàn)問題也可以執(zhí)行遠(yuǎn)程復(fù)制。
如果出現(xiàn)異常的站點(diǎn)是主站點(diǎn)10,檢測(cè)到該異常的站點(diǎn)就請(qǐng)求輔助站點(diǎn)20作為新的主站點(diǎn)。然后,接收該請(qǐng)求的輔助站點(diǎn)20就請(qǐng)求第三站點(diǎn)成為新的輔助站點(diǎn)。
如果輔助站點(diǎn)本身檢測(cè)到主站點(diǎn)10的故障,則輔助站點(diǎn)20使自己轉(zhuǎn)變?yōu)樾碌闹髡军c(diǎn)。
借助于本實(shí)施例,例如,有可能在世界范圍內(nèi)數(shù)據(jù)中心建立能夠支持本發(fā)明的站點(diǎn),作為在故障時(shí)用于切換的站點(diǎn),并可將其作為出租站點(diǎn)租借給用戶,直到故障恢復(fù)。參與該服務(wù)的用戶可以使用出租站點(diǎn)作為用戶擁有的站點(diǎn)的后備、或者在使用后備站點(diǎn)時(shí)用于保留另一后備站點(diǎn)。而且,經(jīng)營數(shù)據(jù)中心的服務(wù)提供商可以根據(jù)出租站點(diǎn)的實(shí)際使用情況對(duì)用戶收費(fèi)。服務(wù)提供商還可以根據(jù)為用戶提供的配置對(duì)用戶收費(fèi)(例如,出租站點(diǎn)與后備站點(diǎn)之間的距離、后備站點(diǎn)數(shù)、后備站點(diǎn)的能力或容量等等)。
上述實(shí)施例的數(shù)據(jù)處理系統(tǒng)配置成使磁盤陣列裝置執(zhí)行日志獲取、日志恢復(fù)和日志拷貝,以及主機(jī)側(cè)執(zhí)行日志管理和遠(yuǎn)程拷貝狀態(tài)管理。這樣,主站點(diǎn)和輔助站點(diǎn)之間的數(shù)據(jù)復(fù)制通過允許主機(jī)交換控制指令而得以執(zhí)行,以及通過磁盤陣列裝置之間的光纜執(zhí)行實(shí)際的數(shù)據(jù)傳輸,等等。這種工作機(jī)制使得主機(jī)之間普通線路上的流量得以減少,并且拷貝可以通過較高速線路(例如專用線路)完成,以改善處理性能。
此外,通過將除專用線路以外的諸如帶式存儲(chǔ)器的外部存儲(chǔ)器用于主站點(diǎn)和輔助站點(diǎn)之間的數(shù)據(jù)移動(dòng),有可能在用戶指定的任意時(shí)刻從外部存儲(chǔ)器讀取日志并將該日志用于日志恢復(fù)過程。這種功能允許在用戶指定的時(shí)刻恢復(fù)數(shù)據(jù)。
而且,由于磁盤陣列裝置具有通過寫命令在另一磁盤陣列裝置中寫日志的功能,也有可能通過允許主機(jī)讀數(shù)據(jù)并執(zhí)行恢復(fù),實(shí)現(xiàn)數(shù)據(jù)傳輸和數(shù)據(jù)復(fù)制,即便沒有賦予輔助站點(diǎn)的磁盤陣列裝置特殊功能。
根據(jù)上述實(shí)施例,當(dāng)數(shù)據(jù)傳輸或數(shù)據(jù)復(fù)制在多個(gè)站點(diǎn)中執(zhí)行時(shí),可以壓縮主機(jī)之間普通線路上的流量,且可以改善數(shù)據(jù)傳輸性能。而且,可以由用戶指定時(shí)刻執(zhí)行數(shù)據(jù)恢復(fù)。
而且,可以容易地在各種各樣的多個(gè)站點(diǎn)之間執(zhí)行數(shù)據(jù)復(fù)制。
另外,無需賦予輔助站點(diǎn)的磁盤陣列裝置特殊功能。也就是說,可以使用通常彼此不兼容的磁盤陣列(例如不同廠家的磁盤陣列)之間的連接。
在前面的描述中,根據(jù)實(shí)施例對(duì)本發(fā)明者所設(shè)計(jì)的發(fā)明作了具體描述,但應(yīng)注意,本發(fā)明不限于這些實(shí)施例,而且在不背離本發(fā)明精神的范圍內(nèi)可以對(duì)這些實(shí)施例作修改。
權(quán)利要求
1.一種數(shù)據(jù)處理系統(tǒng),它包括第一存儲(chǔ)系統(tǒng)和第一存儲(chǔ)子系統(tǒng),其中所述第一存儲(chǔ)系統(tǒng)包括第一主機(jī),所述第一主機(jī)能夠訪問第一拷貝管理器,所述第一拷貝管理器可用于管理數(shù)據(jù)復(fù)制操作;第二存儲(chǔ)系統(tǒng),它包括第二主機(jī)和第二存儲(chǔ)子系統(tǒng),所述第二主機(jī)能夠訪問第二拷貝管理器,所述第二拷貝管理器可用于管理數(shù)據(jù)復(fù)制操作;第一通信鏈路,它連接所述第一存儲(chǔ)系統(tǒng)和所述第二存儲(chǔ)系統(tǒng),在所述第一和第二存儲(chǔ)系統(tǒng)之間交換管理信息以管理所述數(shù)據(jù)復(fù)制操作;以及數(shù)據(jù)傳輸路徑,它配置成將存儲(chǔ)在所述第一存儲(chǔ)子系統(tǒng)中的數(shù)據(jù)傳送給所述第二存儲(chǔ)子系統(tǒng)并將所述第一存儲(chǔ)子系統(tǒng)的數(shù)據(jù)復(fù)制到所述第二存儲(chǔ)子系統(tǒng)中,所述數(shù)據(jù)傳輸路徑不同于所述第一通信鏈路。
2.如權(quán)利要求1所述的數(shù)據(jù)處理系統(tǒng),其特征在于所述第一通信鏈路連接所述第一和第二主機(jī),所述第一主機(jī)的所述第一拷貝管理器利用所述管理信息為所述數(shù)據(jù)復(fù)制操作對(duì)所述第一存儲(chǔ)子系統(tǒng)進(jìn)行管理,所述第二主機(jī)的所述第二拷貝管理器利用所述管理信息為所述數(shù)據(jù)復(fù)制操作對(duì)所述第二存儲(chǔ)子系統(tǒng)進(jìn)行管理。
3.如權(quán)利要求2所述的數(shù)據(jù)處理系統(tǒng),其特征在于所述數(shù)據(jù)傳輸路徑是連接所述第一和第二存儲(chǔ)子系統(tǒng)的第二通信鏈路。
4.如權(quán)利要求3所述的數(shù)據(jù)處理系統(tǒng),其特征在于所述第一和第二存儲(chǔ)子系統(tǒng)是磁盤陣列裝置,所述第一存儲(chǔ)子系統(tǒng)包括第一存儲(chǔ)控制器,所述第一存儲(chǔ)子系統(tǒng)配置成用于從所述第二存儲(chǔ)子系統(tǒng)發(fā)送或接收數(shù)據(jù)傳輸請(qǐng)求,其中,所述第一存儲(chǔ)子系統(tǒng)還配置成在從所述第二存儲(chǔ)子系統(tǒng)發(fā)送或接收所述數(shù)據(jù)傳輸請(qǐng)求時(shí),通過所述第二通信鏈路將所述數(shù)據(jù)傳送到所述第二存儲(chǔ)子系統(tǒng)。
5.如權(quán)利要求3所述的數(shù)據(jù)處理系統(tǒng),其特征在于所述第一存儲(chǔ)子系統(tǒng)包括第一存儲(chǔ)控制器、用于存儲(chǔ)數(shù)據(jù)的第一存儲(chǔ)區(qū)和用于存儲(chǔ)日志的第二存儲(chǔ)區(qū),所述第一存儲(chǔ)控制器配置成根據(jù)所述第一主機(jī)的請(qǐng)求向所述第一存儲(chǔ)區(qū)寫入數(shù)據(jù)或從所述第一存儲(chǔ)區(qū)讀取數(shù)據(jù),并將所述第一存儲(chǔ)區(qū)中的任何數(shù)據(jù)圖像變化更新到所述第二存儲(chǔ)區(qū),其中,所述存儲(chǔ)控制器還配置成從所述第二存儲(chǔ)子系統(tǒng)發(fā)送或接收數(shù)據(jù)傳輸請(qǐng)求,并在從所述第二存儲(chǔ)子系統(tǒng)發(fā)送或接收所述數(shù)據(jù)傳輸請(qǐng)求時(shí),通過所述第二通信鏈路將所述第二存儲(chǔ)區(qū)的所述日志傳送給所述第二存儲(chǔ)子系統(tǒng)。
6.如權(quán)利要求5所述的數(shù)據(jù)處理系統(tǒng),其特征在于所述第二存儲(chǔ)子系統(tǒng)包括第二存儲(chǔ)控制器、用于存儲(chǔ)來自所述第一存儲(chǔ)子系統(tǒng)的日志的第三存儲(chǔ)區(qū)和存儲(chǔ)利用從所述第一存儲(chǔ)子系統(tǒng)接收的日志恢復(fù)的數(shù)據(jù)的第四存儲(chǔ)區(qū),所述恢復(fù)數(shù)據(jù)反映存儲(chǔ)在所述第一存儲(chǔ)區(qū)中的數(shù)據(jù),所述日志包括更新日志。
7.如權(quán)利要求6所述的數(shù)據(jù)處理系統(tǒng),其特征在于所述第二通信鏈路包括存儲(chǔ)區(qū)域網(wǎng)絡(luò),所述第一和第二存儲(chǔ)區(qū)域是與所述第一存儲(chǔ)子系統(tǒng)中配備的一個(gè)或多個(gè)磁盤驅(qū)動(dòng)裝置相關(guān)聯(lián)的邏輯卷,其中,所述日志包括基礎(chǔ)日志或標(biāo)記日志,或者兩者都包括。
8.如權(quán)利要求6所述的數(shù)據(jù)處理系統(tǒng),其特征在于還包括第三存儲(chǔ)系統(tǒng),它包括第三主機(jī)和第三存儲(chǔ)子系統(tǒng)的,所述第三主機(jī)可以訪問第三拷貝管理器,所述第三主機(jī)通過所述第一通信鏈路連接到所述第一主機(jī),所述第三存儲(chǔ)子系統(tǒng)通過所述第二通信鏈路連接到所述第一存儲(chǔ)子系統(tǒng),其中,所述第三存儲(chǔ)系統(tǒng)配置成從所述第一存儲(chǔ)子系統(tǒng)接收所述日志,如果所述第二存儲(chǔ)子系統(tǒng)不能接收所述日志或獲得所述恢復(fù)數(shù)據(jù),就從所述日志獲得所述恢復(fù)數(shù)據(jù)。
9.如權(quán)利要求8所述的數(shù)據(jù)處理系統(tǒng),其特征在于所述第一主機(jī)可以訪問包括一個(gè)或多個(gè)潛在的存儲(chǔ)系統(tǒng)的候選列表,所述一個(gè)或多個(gè)潛在的存儲(chǔ)系統(tǒng)可以在如果所述第二存儲(chǔ)系統(tǒng)發(fā)生故障時(shí),代替所述第二存儲(chǔ)系統(tǒng)接收所述日志并獲得所述恢復(fù)數(shù)據(jù)。
10.如權(quán)利要求1所述的數(shù)據(jù)處理系統(tǒng),其特征在于所述第一和第二拷貝管理器是異步拷貝管理器,并且在彼此距離遙遠(yuǎn)的位置設(shè)置所述第一和第二存儲(chǔ)子系統(tǒng),以及所述第一通信鏈路和所述數(shù)據(jù)傳輸路徑屬于同一通信網(wǎng)絡(luò)。
11.如權(quán)利要求1所述的數(shù)據(jù)處理系統(tǒng),其特征在于所述數(shù)據(jù)傳輸路徑包括第一數(shù)據(jù)鏈路,它將所述第一存儲(chǔ)系統(tǒng)連接到第一外部存儲(chǔ)裝置,以將來自所述第一存儲(chǔ)系統(tǒng)的數(shù)據(jù)傳送給所述第一外部存儲(chǔ)裝置。
12.如權(quán)利要求11所述的數(shù)據(jù)處理系統(tǒng),其特征在于所述數(shù)據(jù)傳輸路徑還包括第二數(shù)據(jù)鏈路,它將所述第二存儲(chǔ)系統(tǒng)連接到第二外部存儲(chǔ)裝置,所述第二外部存儲(chǔ)裝置配置成從存儲(chǔ)在所述第一外部存儲(chǔ)裝置中的所述第一存儲(chǔ)系統(tǒng)接收數(shù)據(jù),從而可以將來自所述第一存儲(chǔ)系統(tǒng)的數(shù)據(jù)傳送給所述第二存儲(chǔ)系統(tǒng)。
13.一種在數(shù)據(jù)處理系統(tǒng)中執(zhí)行遠(yuǎn)程復(fù)制的方法,所述數(shù)據(jù)處理系統(tǒng)包括包括第一主機(jī)和第一存儲(chǔ)子系統(tǒng)的第一存儲(chǔ)系統(tǒng)和包括第二主機(jī)和第二存儲(chǔ)子系統(tǒng)的第二存儲(chǔ)系統(tǒng),所述方法包括向所述第二主機(jī)發(fā)送來自所述第二存儲(chǔ)子系統(tǒng)的完成通知,以通知所述第二主機(jī)所述第二存儲(chǔ)子系統(tǒng)已經(jīng)通過連接所述第一和第二存儲(chǔ)子系統(tǒng)的數(shù)據(jù)傳輸鏈路完成從所述第一存儲(chǔ)子系統(tǒng)的第一信息接收;在所述第二存儲(chǔ)子系統(tǒng)接收來自所述第二主機(jī)的恢復(fù)命令,以便獲得對(duì)應(yīng)于所述第一信息的第二信息;以及在接收所述恢復(fù)命令以獲取所述第二信息時(shí)在所述第二存儲(chǔ)子系統(tǒng)執(zhí)行所述第一信息的恢復(fù)過程,所述第二信息是存儲(chǔ)在所述第一存儲(chǔ)子系統(tǒng)中的數(shù)據(jù)拷貝,其特征在于所述第一和第二主機(jī)通過通信鏈路彼此相連,以發(fā)送或接收有關(guān)所述遠(yuǎn)程復(fù)制方法的管理信息。
14.權(quán)利要求13所述的方法,其特征在于還包括根據(jù)所述第一主機(jī)的指令將所述第二信息存儲(chǔ)到所述第一存儲(chǔ)子系統(tǒng)的第一存儲(chǔ)區(qū)中;隨后,將與所述第二信息對(duì)應(yīng)的所述第一信息存儲(chǔ)在所述第一存儲(chǔ)子系統(tǒng)的第二存儲(chǔ)區(qū)中;以及通知所述第一主機(jī)所述第一存儲(chǔ)子系統(tǒng)已準(zhǔn)備就緒,一旦給定數(shù)量的所述第一信息存儲(chǔ)到所述第二存儲(chǔ)區(qū)中,就向所述第二存儲(chǔ)子系統(tǒng)傳送所述第一信息,其特征在于從所述第一主機(jī)向所述第二主機(jī)發(fā)送數(shù)據(jù)傳輸通知,以通知所述第二主機(jī)所述第一存儲(chǔ)子系統(tǒng)已準(zhǔn)備好將所述第一信息傳送給所述第二存儲(chǔ)子系統(tǒng)。
15.一種在存儲(chǔ)系統(tǒng)中存儲(chǔ)數(shù)據(jù)的方法,所述方法包括根據(jù)與所述第一存儲(chǔ)子系統(tǒng)相關(guān)聯(lián)的第一主機(jī)的指令將數(shù)據(jù)存儲(chǔ)到所述第一存儲(chǔ)子系統(tǒng)中的第一存儲(chǔ)區(qū)中;將更新日志存儲(chǔ)到所述第一存儲(chǔ)子系統(tǒng)中的第二存儲(chǔ)區(qū)中,所述日志與存儲(chǔ)在所述第一存儲(chǔ)區(qū)中的數(shù)據(jù)相對(duì)應(yīng),所述日志包括日志數(shù)據(jù)和元數(shù)據(jù);通知所述第一主機(jī)所述第一存儲(chǔ)子系統(tǒng)已準(zhǔn)備好向第二存儲(chǔ)系統(tǒng)傳送更新日志,以便所述第一主機(jī)可以通過第一通信鏈路通知所述第二存儲(chǔ)系統(tǒng)所述第一存儲(chǔ)子系統(tǒng)已準(zhǔn)備好向所述第二存儲(chǔ)系統(tǒng)傳送所述更新日志,所述第一通信鏈路配置成在所述第一主機(jī)和第二存儲(chǔ)系統(tǒng)之間交換管理信息;以及通過不同于所述第一通信鏈路的數(shù)據(jù)傳輸路徑向所述第二存儲(chǔ)系統(tǒng)傳送包括所述更新日志的日志。
16.如權(quán)利要求15所述的方法,其特征在于所述第二存儲(chǔ)系統(tǒng)包括第二主機(jī)和第二存儲(chǔ)子系統(tǒng),所述第一通信鏈路是IP網(wǎng)絡(luò),所述數(shù)據(jù)路徑是光纖信道,所述第一和第二存儲(chǔ)子系統(tǒng)是磁盤陣列裝置,所述方法還包括在于第一存儲(chǔ)區(qū)中存儲(chǔ)數(shù)據(jù)的步驟之前,將從已存儲(chǔ)在所述第一存儲(chǔ)區(qū)中的至少一部分初始數(shù)據(jù)得到的基礎(chǔ)日志存儲(chǔ)在所述第二存儲(chǔ)區(qū)中,傳送給所述第二存儲(chǔ)系統(tǒng)的日志還包括所述基礎(chǔ)日志;在所述第一主機(jī)通過連接所述第一和第二主機(jī)的所述第一通信鏈路從所述第二主機(jī)接收通知,所述通知通知所述第一主機(jī)所述日志已由所述第二存儲(chǔ)子系統(tǒng)接收;從所述第一主機(jī)向所述第一存儲(chǔ)子系統(tǒng)發(fā)送指令,令其準(zhǔn)備用于存儲(chǔ)新信息的所述第二存儲(chǔ)區(qū)。
17.一種用于管理數(shù)據(jù)處理系統(tǒng)的計(jì)算機(jī)可讀媒體,所述媒體包括代碼,用于根據(jù)與所述第一存儲(chǔ)子系統(tǒng)相關(guān)聯(lián)的第一主機(jī)的指令,在所述第一存儲(chǔ)子系統(tǒng)中第一存儲(chǔ)區(qū)中存儲(chǔ)數(shù)據(jù);代碼,用于在所述第一存儲(chǔ)子系統(tǒng)中第二存儲(chǔ)區(qū)中存儲(chǔ)日志,所述日志與存儲(chǔ)在所述第一存儲(chǔ)區(qū)中的數(shù)據(jù)相對(duì)應(yīng)的日志,所述日志包括日志數(shù)據(jù)和元數(shù)據(jù);代碼,用于通知所述第一主機(jī)所述第一存儲(chǔ)子系統(tǒng)已準(zhǔn)備好向第二存儲(chǔ)系統(tǒng)傳送所述日志,從而所述第一主機(jī)可以通過第一通信鏈路通知所述第二存儲(chǔ)系統(tǒng)所述第一存儲(chǔ)子系統(tǒng)準(zhǔn)備好向所述第二存儲(chǔ)系統(tǒng)傳送所述日志,所述第一通信鏈路配置成在所述第一主機(jī)和所述第二存儲(chǔ)系統(tǒng)之間交換管理信息;以及代碼,用于通過不同于所述第一通信鏈路的數(shù)據(jù)傳輸路徑向所述第二存儲(chǔ)系統(tǒng)傳送所述日志信息。
18.一種配置在數(shù)據(jù)處理系統(tǒng)中的存儲(chǔ)子系統(tǒng),所述數(shù)據(jù)處理系統(tǒng)包括第一存儲(chǔ)系統(tǒng)和第二存儲(chǔ)系統(tǒng),所述第一存儲(chǔ)系統(tǒng)包括主機(jī)和所述存儲(chǔ)子系統(tǒng);存儲(chǔ)控制器,它與通過第一通信鏈路連接到遠(yuǎn)程存儲(chǔ)系統(tǒng)的遠(yuǎn)程主機(jī)的主機(jī)通信,所述第一通信鏈路配置成在所述存儲(chǔ)子系統(tǒng)的所述主機(jī)和所述遠(yuǎn)程存儲(chǔ)系統(tǒng)的所述遠(yuǎn)程主機(jī)之間交換管理信息;第一存儲(chǔ)區(qū),用于根據(jù)所述存儲(chǔ)子系統(tǒng)的所述主機(jī)的指令存儲(chǔ)數(shù)據(jù);第二存儲(chǔ)區(qū),用于存儲(chǔ)與存儲(chǔ)在所述第一存儲(chǔ)區(qū)中的數(shù)據(jù)相對(duì)應(yīng)的日志;以及通信接口,與第二通信鏈路相連,所述第二通信鏈路連接所述存儲(chǔ)子系統(tǒng)和所述遠(yuǎn)程存儲(chǔ)系統(tǒng)的遠(yuǎn)程存儲(chǔ)單元,所述第二通信鏈路配置成將所述日志傳送給所述遠(yuǎn)程存儲(chǔ)單元,其特征在于所述存儲(chǔ)子系統(tǒng)配置成通知所述主機(jī)所述存儲(chǔ)子系統(tǒng)何時(shí)準(zhǔn)備好向所述遠(yuǎn)程存儲(chǔ)單元傳送存儲(chǔ)在所述第二存儲(chǔ)區(qū)中的所述日志。
19.一種數(shù)據(jù)處理系統(tǒng),它包括主存儲(chǔ)系統(tǒng),它包括主主機(jī)和主存儲(chǔ)子系統(tǒng),所述主存儲(chǔ)子系統(tǒng)配置成執(zhí)行異步遠(yuǎn)程復(fù)制程序,所述主存儲(chǔ)子系統(tǒng)包括用于存儲(chǔ)數(shù)據(jù)的第一存儲(chǔ)區(qū)和用于存儲(chǔ)對(duì)應(yīng)所述數(shù)據(jù)的日志的第二存儲(chǔ)區(qū);輔助存儲(chǔ)系統(tǒng),它包括輔助主機(jī)和輔助存儲(chǔ)子系統(tǒng),所述輔助存儲(chǔ)子系統(tǒng)配置成執(zhí)行異步遠(yuǎn)程復(fù)制程序,所述輔助存儲(chǔ)子系統(tǒng)包括從所述主存儲(chǔ)子系統(tǒng)接收日志并將其存儲(chǔ)的第三存儲(chǔ)器和存儲(chǔ)利用從所述主存儲(chǔ)子系統(tǒng)接收的所述日志恢復(fù)的數(shù)據(jù)的第四存儲(chǔ)器;所述恢復(fù)數(shù)據(jù)是存儲(chǔ)在所述第一存儲(chǔ)區(qū)中數(shù)據(jù)的拷貝;第一通信鏈路,它連接所述主主機(jī)和輔助主機(jī),以交換管理信息;以及第二通信鏈路,它連接所述主存儲(chǔ)子系統(tǒng)和所述輔助存儲(chǔ)子系統(tǒng),以在所述主和輔助存儲(chǔ)子系統(tǒng)之間交換數(shù)據(jù),其中,所述主主機(jī)配置成通過所述第一通信鏈路向所述輔助主機(jī)提供有關(guān)存儲(chǔ)在所述第二存儲(chǔ)區(qū)中的所述日志的管理信息;所述輔助主機(jī)配置成在收到從輔助存儲(chǔ)子系統(tǒng)接收所述日志已完成的通知時(shí),可命令所述輔助存儲(chǔ)子系統(tǒng)從接收自所述主存儲(chǔ)子系統(tǒng)的日志獲得所述恢復(fù)數(shù)據(jù),所述主存儲(chǔ)子系統(tǒng)配置成在收到數(shù)據(jù)傳輸請(qǐng)求或確定預(yù)定條件已滿足時(shí),從所述第二存儲(chǔ)區(qū)中檢索所述日志并將所述日志通過所述第二通信鏈路傳送給輔助存儲(chǔ)系統(tǒng)。
20.如權(quán)利要求19所述的數(shù)據(jù)處理系統(tǒng),其特征在于所述主存儲(chǔ)子系統(tǒng)由第一供應(yīng)商生產(chǎn),而所述輔助子系統(tǒng)由不同于所述第一供應(yīng)商的第二供應(yīng)商生產(chǎn),所述第一和第二通信鏈路屬于同一通信網(wǎng)絡(luò)。
全文摘要
一種數(shù)據(jù)處理系統(tǒng),它包括第一存儲(chǔ)系統(tǒng)和第一存儲(chǔ)子系統(tǒng),其中第一存儲(chǔ)系統(tǒng)還包括第一主機(jī)。第一主機(jī)訪問可用于管理數(shù)據(jù)復(fù)制的第一拷貝管理器。第二存儲(chǔ)系統(tǒng)包括第二主機(jī)和第二存儲(chǔ)子系統(tǒng)。第二主機(jī)訪問可用于管理數(shù)據(jù)復(fù)制的第二拷貝管理器。第一通信鏈路連接到第一存儲(chǔ)系統(tǒng)和第二存儲(chǔ)系統(tǒng),在第一和第二存儲(chǔ)系統(tǒng)之間交換管理數(shù)據(jù)復(fù)制的管理信息。數(shù)據(jù)傳輸路徑配置成能夠?qū)⒋鎯?chǔ)在第一存儲(chǔ)子系統(tǒng)中的數(shù)據(jù)傳送給第二存儲(chǔ)子系統(tǒng),并將第一存儲(chǔ)子系統(tǒng)中的數(shù)據(jù)復(fù)制到第二存儲(chǔ)子系統(tǒng)中。該數(shù)據(jù)傳輸路徑與第一通信鏈路不同。
文檔編號(hào)G06F17/00GK1525337SQ0315405
公開日2004年9月1日 申請(qǐng)日期2003年8月11日 優(yōu)先權(quán)日2003年2月27日
發(fā)明者武田貴彥, 安積義弘, 弘, 司, 山神憲司, 喜, 鈴木勝喜, 也, 白銀哲也 申請(qǐng)人:株式會(huì)社日立制作所