狀態(tài)),則存儲(chǔ)返回對(duì)應(yīng)的SCSI感知狀態(tài)90。在S1203處,主機(jī)I/O被指示為S1202出故障。主機(jī)虛擬多路徑軟件向提供狀態(tài)改變通知的存儲(chǔ)發(fā)布報(bào)告虛擬多路徑狀態(tài)命令。在S1204處,虛擬存儲(chǔ)的主物理存儲(chǔ)返回用于DR VVOL 100的虛擬多路徑描述符的SCSI數(shù)據(jù)凈荷,其中虛擬存儲(chǔ)的主物理存儲(chǔ)收集虛擬多路徑狀態(tài)的DR VVOL狀況、內(nèi)部卷狀態(tài)等。在S1205處,虛擬存儲(chǔ)的主物理存儲(chǔ)返回SCSI良好狀態(tài)。在S1206處,主主機(jī)在主機(jī)校驗(yàn)S1204的DR VVOL狀態(tài)時(shí)拆卸卷。在S1207處,主機(jī)虛擬多路徑軟件如需要的那樣(例如,規(guī)律間隔等)校驗(yàn)路徑信息。
[0063]圖13圖示了由于主站點(diǎn)故障而被改變成同步遠(yuǎn)程復(fù)制模式的虛擬多路徑。狀態(tài)131是在主站點(diǎn)故障之前的先前DR VVOL虛擬多路徑狀態(tài),其中主存儲(chǔ)的MP AAS和I/O狀態(tài)是活躍而次存儲(chǔ)的MP AAS和I/O狀態(tài)是待機(jī)。狀態(tài)132是在主站點(diǎn)故障之后的DR VVOL虛擬多路徑狀態(tài),其中主存儲(chǔ)的MP AAS和I/O狀態(tài)是離線而次存儲(chǔ)的MP AAS和I/O狀態(tài)是活躍。在圖14的描述中提供了進(jìn)一步細(xì)節(jié)。
[0064]圖14圖示了用于改變用于同步復(fù)制DR VVOL的虛擬多路徑狀態(tài)的示例流程圖1400。在S140處1,群集站點(diǎn)檢測(cè)到主站點(diǎn)中的故障并且啟動(dòng)應(yīng)用接管。在S1402處,如果次存儲(chǔ)檢測(cè)到主存儲(chǔ)故障而無(wú)遠(yuǎn)程復(fù)制網(wǎng)絡(luò)故障(是),則流程前進(jìn)到S1410,否則(否)流程前進(jìn)到S1403。在S1403處,虛擬存儲(chǔ)的次物理存儲(chǔ)將被映射到DR VVOL的次存儲(chǔ)卷的內(nèi)部VOL狀態(tài)從次物理存儲(chǔ)的S-VOL改變成P-VOL狀態(tài)。虛擬存儲(chǔ)的主物理存儲(chǔ)也將DRVVOL的內(nèi)部VOL狀態(tài)從主物理存儲(chǔ)的P-VOL改變成S-VOL狀態(tài)。同步復(fù)制操作被交換,從而使得源是次物理存儲(chǔ)而目的地復(fù)制是主存儲(chǔ)。在S1404處,虛擬存儲(chǔ)在內(nèi)部將DR VVOL從主存儲(chǔ)的先前P-VOL重新映射到次存儲(chǔ)的當(dāng)前P-V0L。在S1405處,復(fù)制模式是同步的,因此先前P-VOL和S-VOL包含相同數(shù)據(jù)集。復(fù)制失敗因此未出現(xiàn)。虛擬存儲(chǔ)的次物理存儲(chǔ)將主機(jī)I/O狀態(tài)從離線改變成在線狀態(tài),并且如果先前MP AAS未在活躍狀態(tài)中,則MP AAS被改變成活躍狀態(tài)。在S1406處,在主機(jī)虛擬多路徑軟件在輪詢(xún)多路徑信息期間得到虛擬多路徑信息或者群集軟件傳達(dá)檢測(cè)到主站點(diǎn)故障時(shí),次主機(jī)的虛擬多路徑軟件更新從虛擬存儲(chǔ)的次物理存儲(chǔ)獲得的新?tīng)顟B(tài),其中次主機(jī)裝配DR VVOL并且向DR VVOL發(fā)布I/O。也可以運(yùn)用用于校驗(yàn)卷狀態(tài)和協(xié)調(diào)動(dòng)作的客戶(hù)腳本。
[0065]在S1410處,次存儲(chǔ)檢測(cè)到主物理存儲(chǔ)由于主物理存儲(chǔ)故障而不可訪問(wèn)。在S1411處,由于主存儲(chǔ)故障而停止同步復(fù)制操作。次存儲(chǔ)在故障是遠(yuǎn)程復(fù)制網(wǎng)絡(luò)故障時(shí)開(kāi)始記錄差異數(shù)據(jù)位圖,并且嘗試重新同步主物理存儲(chǔ)。在S1412處,虛擬存儲(chǔ)的次物理存儲(chǔ)將被映射到DR-VVOL的次存儲(chǔ)卷的內(nèi)部VOL狀態(tài)從次物理存儲(chǔ)的S-VOL改變成P-VOL狀態(tài)。在S1413處,虛擬存儲(chǔ)在內(nèi)部改變DR-VVOL的狀態(tài)并且相應(yīng)地改變虛擬多路徑狀態(tài)。狀態(tài)改變僅對(duì)于主存儲(chǔ)的健康狀態(tài)(故障比對(duì)非故障)而不同于S1404和S1405,并且在別的方面與S1404和S1405相同。次主機(jī)I/O進(jìn)行輪詢(xún)并且更新虛擬多路徑狀態(tài),并且前進(jìn)到S1406。
[0066]另外,主主機(jī)的應(yīng)用無(wú)需等待SCSI I/O超時(shí)以用于檢測(cè)主存儲(chǔ)故障,因?yàn)镮/O超時(shí)比虛擬多路徑狀態(tài)改變花費(fèi)的時(shí)間更長(zhǎng)。虛擬存儲(chǔ)可以從虛擬多路徑狀態(tài)改變中檢測(cè)物理存儲(chǔ)健康狀態(tài),并且由此快速地檢測(cè)物理存儲(chǔ)故障。
[0067]圖15圖示了根據(jù)示例實(shí)現(xiàn)方式的由于主站點(diǎn)的故障而被改變成異步遠(yuǎn)程復(fù)制模式的虛擬多路徑。狀態(tài)153是在主站點(diǎn)故障之前的先前DR-VVOL虛擬多路徑狀態(tài),其中主存儲(chǔ)的MP AAS和I/O狀態(tài)是活躍而次存儲(chǔ)的MP AAS和I/O狀態(tài)是待機(jī)。狀態(tài)154是在主站點(diǎn)故障之后的DR-VVOL虛擬多路徑狀態(tài),其中主存儲(chǔ)的MP AAS和I/O狀態(tài)是分別是待機(jī)和離線,而次存儲(chǔ)的MP AAS是活躍。DR-VVOL狀態(tài)改變過(guò)程取決于主站點(diǎn)的差異數(shù)據(jù)是否被成功地發(fā)送或者已經(jīng)由于網(wǎng)絡(luò)錯(cuò)誤而失敗而不同。I/O狀態(tài)也取決于故障情形而改變。I/O狀態(tài)對(duì)于完成重新同步或者對(duì)拆分而言被改變成“在線狀態(tài)”155以及對(duì)于由于遠(yuǎn)程復(fù)制網(wǎng)絡(luò)故障而完全地復(fù)制失敗而言被改變成“需要恢復(fù)”156。在圖16中提供了進(jìn)一步的細(xì)節(jié)。
[0068]圖16圖示了根據(jù)示例實(shí)現(xiàn)方式的用于改變用于異步復(fù)制DR VVOL的虛擬多路徑狀態(tài)的示例流程圖1600。流程與圖14的流程相似。不同在于在檢測(cè)到故障之后考慮遠(yuǎn)程復(fù)制失敗。以下描述省略了來(lái)自圖14的單元的多余描述而僅舉例說(shuō)明了與圖14的流程的不同。在S1601處,在主站點(diǎn)出故障時(shí),群集軟件檢測(cè)到主站點(diǎn)故障并且啟動(dòng)應(yīng)用接管。在S1602處,如果主存儲(chǔ)出故障(是),則流程前進(jìn)到S1603,否則(否),流程前進(jìn)到S1610。在S1603處,P-VOL和S-VOL被掛起,從而使得向次站點(diǎn)的S-VOL發(fā)送主存儲(chǔ)同步日志數(shù)據(jù)。如果次主機(jī)向S-VOL的次存儲(chǔ)發(fā)布1/0,則次存儲(chǔ)返回SCSI響應(yīng)并且等待通知,該SCSI響應(yīng)指示次存儲(chǔ)由于遠(yuǎn)程復(fù)制過(guò)程而被掛起。在S1604處,虛擬存儲(chǔ)的DR-VVOL完成掛起過(guò)程。S-VOL被同步到P-V0L。在S1605處,虛擬存儲(chǔ)改變狀態(tài)并且主機(jī)更新虛擬多路徑狀態(tài)。這一過(guò)程與圖14中的S1405相似。在S1606處,次主機(jī)向次存儲(chǔ)的P-VOL發(fā)布I/O。
[0069]在S1610處,主主機(jī)檢測(cè)到I/O故障,群集軟件向次主機(jī)提供通知,并且次主機(jī)啟動(dòng)應(yīng)用接管。次主機(jī)然后嘗試向次存儲(chǔ)發(fā)布I/O。在S1611處,次物理存儲(chǔ)重新同步過(guò)程由于主存儲(chǔ)故障而失敗。在S1612處,次物理存儲(chǔ)改變狀態(tài)并且主機(jī)更新虛擬多路徑狀態(tài)。在S1613處,主機(jī)發(fā)布1/0,然后次物理存儲(chǔ)返回SCSI狀態(tài)而狀態(tài)為需要恢復(fù)。在S1614處,次物理存儲(chǔ)通知群集軟件需要處理恢復(fù)數(shù)據(jù)。也可以運(yùn)用用于校驗(yàn)卷狀態(tài)和協(xié)調(diào)動(dòng)作的客戶(hù)腳本。
[0070]圖17圖示了根據(jù)示例實(shí)現(xiàn)方式的由于主站點(diǎn)故障和最近次站點(diǎn)故障而改變用于三數(shù)據(jù)中心環(huán)境的同步遠(yuǎn)程復(fù)制和異步遠(yuǎn)程復(fù)制的虛擬多路徑。在圖17的示例中,路徑171和172的I/O狀態(tài)被改變成離線,而路徑173的I/O狀態(tài)被變成在線。在狀態(tài)174和175處圖示了對(duì)于向遠(yuǎn)程次站點(diǎn)轉(zhuǎn)變作為主站點(diǎn)的狀態(tài)改變。環(huán)境由在圖14和圖16中描述的過(guò)程的組合執(zhí)行。在圖18的描述中描述了虛擬存儲(chǔ)的站點(diǎn)選擇流程的進(jìn)一步細(xì)節(jié)。
[0071]圖18圖示了根據(jù)示例實(shí)現(xiàn)方式的虛擬存儲(chǔ)裝置的站點(diǎn)選擇流程1800。在S1801處,在主站點(diǎn)出故障時(shí),群集軟件檢測(cè)到主站點(diǎn)故障并且啟動(dòng)應(yīng)用接管。在S1802處,校驗(yàn)被執(zhí)行以查看最近次站點(diǎn)是否健康。如果最近次站點(diǎn)健康(是),則流程前進(jìn)到S1803以調(diào)用圖14的流程,否則(否),流程前進(jìn)到S1811以調(diào)用圖16的流程。
[0072]圖19圖示了根據(jù)示例實(shí)現(xiàn)方式的由于主站點(diǎn)故障而將虛擬多路徑改變成異步遠(yuǎn)程復(fù)制模式。在圖19的示例中,在主主機(jī)出故障并且網(wǎng)絡(luò)故障在主物理存儲(chǔ)與次物理存儲(chǔ)之間的重新同步過(guò)程期間出現(xiàn)191時(shí),然后次存儲(chǔ)的S-VOL重新同步過(guò)程出故障192并且S-VOL由此包含未知數(shù)據(jù)。為了從這一示例恢復(fù),次存儲(chǔ)選擇最新近本地復(fù)制S-VOL(備份卷)193以用于恢復(fù)并且向主機(jī)通知向備份卷的新映射。主機(jī)應(yīng)用通過(guò)使用備份卷193來(lái)恢復(fù)卷。在圖20中描述了用于這一示例的流程的進(jìn)一步細(xì)節(jié)。
[0073]圖20描述了根據(jù)示例實(shí)現(xiàn)方式的用于改變用于異步復(fù)制災(zāi)難恢復(fù)(DR)虛擬卷(VVOL)的虛擬多路徑狀態(tài)的示例流程圖2000。在S2001處,在主主機(jī)檢測(cè)到主站點(diǎn)故障時(shí),向次站點(diǎn)移動(dòng)應(yīng)用。次主機(jī)向次主機(jī)發(fā)布1/0,然后次物理存儲(chǔ)啟動(dòng)P-VOL和S-VOL的掛起。在S2002處,在S2001的重新同步復(fù)制過(guò)程期間,如果主存儲(chǔ)出故障或者遠(yuǎn)程復(fù)制的網(wǎng)絡(luò)出故障、由此使得存儲(chǔ)停止重新同步(是),則流程前進(jìn)到S2010。否則(否),流程前進(jìn)到S2003。
[0074]在S2003處,重新同步復(fù)制過(guò)程成功,并且重新同步完成。結(jié)果是S-VOL由此包含與P-VOL相同的數(shù)據(jù)。在S2004處,改變DR卷映射(例如,與S1605相似)。主機(jī)I/O恢復(fù)而無(wú)應(yīng)用恢復(fù)。
[0075]在S2010處,盡管主存儲(chǔ)活躍,重新同步仍然由于主存儲(chǔ)故障或者恢復(fù)網(wǎng)絡(luò)故障而失敗。對(duì)于主存儲(chǔ)故障,可以使用如在圖16中描述的恢復(fù)過(guò)程。用于S2010的流程考慮對(duì)于恢復(fù)網(wǎng)絡(luò)故障的情形。在S2011處,執(zhí)行校驗(yàn)以確定溢出是否在主存儲(chǔ)日志卷中出現(xiàn)。如果不是(否),則流程前進(jìn)到S2015,否則,流程前進(jìn)到S2012。
[0076]S2015的流程涉及其中日志數(shù)據(jù)的溢出未出現(xiàn)的重新同步失敗情況。在S2015處,次存儲(chǔ)掛起操作完成,并且僅日志數(shù)據(jù)的部分重新同步出現(xiàn)。虛擬存儲(chǔ)向主機(jī)通知恢復(fù)DR-VVOL狀態(tài)是舊數(shù)據(jù)。在S2016處,虛擬存儲(chǔ)改變用于DR-VVOL的內(nèi)部映射。主機(jī)恢復(fù)次存儲(chǔ)的P-VOL舊數(shù)據(jù),因?yàn)橹匦峦綇?fù)制數(shù)據(jù)操作按照S2010而未完成或者從P-VOL改變成次存儲(chǔ)中的本地復(fù)制卷193。主機(jī)I/O在應(yīng)用恢復(fù)之后恢復(fù)。
[0077]S2012的流程涉及其中日志數(shù)據(jù)的溢出出現(xiàn)的重新同步情況。在S2012處,次存儲(chǔ)掛起過(guò)程由于主卷的日志數(shù)據(jù)的溢出和來(lái)自使用位圖的復(fù)制數(shù)據(jù)而失敗。這造成對(duì)于次存儲(chǔ)的S-VOL的數(shù)據(jù)不一致。因此S-VOL不能被應(yīng)用用于恢復(fù)。在S2013處,次存儲(chǔ)選擇S-VOL的最新本地復(fù)制的備份卷。在S2014處,如果次存儲(chǔ)不具有S-VOL的本地復(fù)制(否),則流程發(fā)布指示備份卷的回滾失敗的通知。否則(是)向舊S-VOL回滾成功,并且流程前進(jìn)到S2015。
[0078]另外,按照在計(jì)算機(jī)內(nèi)的操作的算法和符號(hào)表示來(lái)呈現(xiàn)具體描述的一些部分。這些算法描述和符號(hào)表示是數(shù)據(jù)處理領(lǐng)域中的技術(shù)人員用來(lái)向本領(lǐng)域其他技術(shù)人員最有效地傳達(dá)他們的創(chuàng)新的實(shí)質(zhì)的手段。算法是促成希望的結(jié)束狀態(tài)或者結(jié)果的一系列定義的步驟。在示例實(shí)現(xiàn)方式中,執(zhí)行的步驟需要物理操控有形數(shù)量以用于實(shí)現(xiàn)有形結(jié)果。
[