两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

非同步遠(yuǎn)程復(fù)制系統(tǒng)以及存儲(chǔ)控制方法

文檔序號(hào):6348452閱讀:392來(lái)源:國(guó)知局
專利名稱:非同步遠(yuǎn)程復(fù)制系統(tǒng)以及存儲(chǔ)控制方法
技術(shù)領(lǐng)域
本發(fā)明涉及進(jìn)行作為存儲(chǔ)裝置間的數(shù)據(jù)的復(fù)制的遠(yuǎn)程復(fù)制的存儲(chǔ)系統(tǒng)中的存儲(chǔ)控制。
背景技術(shù)
已知有作為第一以及第二存儲(chǔ)裝置之間的數(shù)據(jù)復(fù)制的遠(yuǎn)程復(fù)制(remote copy)。 作為遠(yuǎn)程復(fù)制,例如有同步遠(yuǎn)程復(fù)制以及非同步遠(yuǎn)程復(fù)制。當(dāng)?shù)谝淮鎯?chǔ)裝置從主機(jī)接收了寫請(qǐng)求時(shí),如果采用了同步遠(yuǎn)程復(fù)制,則按照該寫請(qǐng)求的數(shù)據(jù)從第一存儲(chǔ)裝置被轉(zhuǎn)發(fā)到第二存儲(chǔ)裝置后,向主機(jī)裝置發(fā)送寫結(jié)束應(yīng)答,但如果采用了非同步遠(yuǎn)程復(fù)制,則即使按照該寫請(qǐng)求的數(shù)據(jù)沒(méi)有從第一存儲(chǔ)裝置被轉(zhuǎn)發(fā)到第二存儲(chǔ)裝置,也向主機(jī)裝置發(fā)送寫結(jié)束應(yīng)答。在采用了非同步遠(yuǎn)程復(fù)制的遠(yuǎn)程復(fù)制系統(tǒng)(以下稱為非同步遠(yuǎn)程復(fù)制系統(tǒng))中, 例如第一存儲(chǔ)裝置除了第一 DVOL (存儲(chǔ)了數(shù)據(jù)的邏輯卷)之外還具有第一 JVOL (存儲(chǔ)日志 (以下稱為JNL)的邏輯卷)。同樣,第二存儲(chǔ)裝置除了第二 DVOL之外還具有第二 JV0L。第一存儲(chǔ)裝置在接收了寫請(qǐng)求時(shí),在第一 DVOL中存儲(chǔ)按照寫請(qǐng)求的數(shù)據(jù),而且在第一 JVOL中存儲(chǔ)該數(shù)據(jù)的JNL。第一存儲(chǔ)裝置向第二存儲(chǔ)裝置轉(zhuǎn)發(fā)第一 JVOL內(nèi)的JNL,第二存儲(chǔ)裝置將來(lái)自第一存儲(chǔ)裝置的JNL寫入第二 JV0L。之后,第二存儲(chǔ)裝置將第二 JVOL內(nèi)的JNL所具有的數(shù)據(jù)寫入第二 DV0L。由此,寫入第一 DVOL的數(shù)據(jù)被復(fù)制到第二 DV0L。在專利文獻(xiàn)1中公開了多目標(biāo)(multi target)方式的非同步遠(yuǎn)程復(fù)制系統(tǒng)。在多目標(biāo)方式中對(duì)于一個(gè)復(fù)制源存在多個(gè)復(fù)制目的地。具體地說(shuō),在專利文獻(xiàn)1中公開了例如以下內(nèi)容。(*)有第一存儲(chǔ)裝置、第二存儲(chǔ)裝置以及第三存儲(chǔ)裝置。(*)第一存儲(chǔ)裝置是復(fù)制源,第二以及第三存儲(chǔ)裝置是從第一存儲(chǔ)裝置的復(fù)制目的地。(*)第一存儲(chǔ)裝置與第一主機(jī)裝置連接,第二存儲(chǔ)裝置與第二主機(jī)裝置連接,第三存儲(chǔ)裝置與第三主機(jī)裝置連接。(*)第一存儲(chǔ)裝置具有第一 DV0L、第一個(gè)第一 JVOL以及第二個(gè)第一 JV0L。(*)第二存儲(chǔ)裝置具有第二 DVOL以及第二 JV0L。(*)第一以及第二 DVOL成對(duì)。第一 DVOL是主DV0L,第二 DVOL是副DV0L。(*)第三存儲(chǔ)裝置具有第三DVOL以及第三JV0L。⑷第一以及第三DVOL成對(duì)。第一 DVOL是主DV0L,第三DVOL是副DV0L。(*)第一主機(jī)裝置在第一 DVOL中寫入數(shù)據(jù)。(*)第一存儲(chǔ)裝置在第一個(gè)第一 JVOL和第二個(gè)第一 JVOL的雙方中寫入已被寫入第一 DVOL的數(shù)據(jù)的JNL。JNL除主機(jī)裝置的輸入輸出對(duì)象數(shù)據(jù)以外,還包含更新序號(hào)。(*)第一個(gè)第一 JVOL內(nèi)的JNL被復(fù)制到第二 JV0L。(*)第二存儲(chǔ)裝置向第二 DVOL反映第二 JVOL內(nèi)的一個(gè)以上的未反映的JNL中的、具有最舊的更新序號(hào)的JNL(在第二 DVOL中寫入JNL所具有的數(shù)據(jù))。(*)第二個(gè)第一 JVOL內(nèi)的JNL被復(fù)制到第三JV0L。(*)第三存儲(chǔ)裝置向第三DVOL反映第三JVOL內(nèi)的一個(gè)以上的未反映的JNL中的、 具有最舊的更新序號(hào)的JNL(在第三DVOL中寫入JNL所具有的數(shù)據(jù))。而且,根據(jù)專利文獻(xiàn)1,在第一存儲(chǔ)裝置中發(fā)生了故障時(shí),第二存儲(chǔ)裝置成為復(fù)制源,第三存儲(chǔ)裝置成為復(fù)制目的地。現(xiàn)有技術(shù)文獻(xiàn)專利文獻(xiàn)專利文獻(xiàn)1 日本特開2006-65629號(hào)公報(bào)

發(fā)明內(nèi)容
發(fā)明要解決的課題當(dāng)?shù)诙鎯?chǔ)裝置成為復(fù)制源后,第二主機(jī)裝置在第二 DVOL中寫入數(shù)據(jù),第二存儲(chǔ)裝置對(duì)更新序號(hào)進(jìn)行更新,并將包含更新序號(hào)和數(shù)據(jù)的JNL寫入第二 JV0L。JNL從第二 JVOL 被復(fù)制到第三JV0L,第三存儲(chǔ)裝置將第三JVOL內(nèi)的JNL所具有的數(shù)據(jù)寫入第三DV0L。在此,考慮了在第二存儲(chǔ)裝置中的更新序號(hào)的起點(diǎn)是在第二存儲(chǔ)裝置中已反映的 JNL中的最新的更新序號(hào)。這是由于第二DVOL具有到該最新的更新序號(hào)所表示的順序?yàn)橹沟臄?shù)據(jù)。但是其存在不理想的情形。該情形例如是在第二存儲(chǔ)裝置中已反映的JNL中的最新的更新序號(hào)比在第三存儲(chǔ)裝置中已反映的JNL中的最新的更新序號(hào)舊的情形。這是由于在該情形中,第二 DVOL的狀態(tài)比第三DVOL的狀態(tài)舊,從舊的狀態(tài)的DVOL向新的狀態(tài)的 DVOL復(fù)制數(shù)據(jù)。這樣,在第一存儲(chǔ)裝置中發(fā)生了故障時(shí)存在不能恰當(dāng)?shù)乩^續(xù)業(yè)務(wù)的情形。在第一存儲(chǔ)裝置因故障以外的原因而停止時(shí)(例如因用于維護(hù)的所謂計(jì)劃停止而停止第一存儲(chǔ)裝置時(shí))存在這樣的問(wèn)題。因此,本發(fā)明的目的是在多目標(biāo)方式的非同步遠(yuǎn)程復(fù)制系統(tǒng)中,即使第一存儲(chǔ)裝置停止也恰當(dāng)?shù)乩^續(xù)進(jìn)行業(yè)務(wù)。用于解決課題的手段具有第一存儲(chǔ)裝置,其具有第一存儲(chǔ)資源組,且與第一主機(jī)裝置連接;第二存儲(chǔ)裝置,其具有第二存儲(chǔ)資源組,且與第二主機(jī)裝置連接;和第三存儲(chǔ)裝置,其具有第三存儲(chǔ)資源組,且與第三主機(jī)裝置連接。第一存儲(chǔ)資源組具有作為被寫入數(shù)據(jù)的邏輯卷的第一數(shù)據(jù)卷、以及作為被寫入數(shù)據(jù)的日志的存儲(chǔ)資源的第一日志存儲(chǔ)資源。第二存儲(chǔ)資源組具有作為被寫入數(shù)據(jù)的邏輯卷的第二數(shù)據(jù)卷、以及作為被寫入數(shù)據(jù)的日志的存儲(chǔ)資源的第二日志存儲(chǔ)資源。第三存儲(chǔ)資源組具有作為被寫入數(shù)據(jù)的邏輯卷的第三數(shù)據(jù)卷、以及作為被寫入數(shù)據(jù)的日志的存儲(chǔ)資源的第三日志存儲(chǔ)資源。在從主機(jī)裝置向第一數(shù)據(jù)卷寫入數(shù)據(jù)時(shí),第一存儲(chǔ)裝置更新更新序號(hào),制作包含該更新序號(hào)和該數(shù)據(jù)的日志,并將該日志寫入第一日志存儲(chǔ)資源,其中,該更新序號(hào)是每次在第一存儲(chǔ)資源組內(nèi)的數(shù)據(jù)卷中寫入數(shù)據(jù)時(shí)被更新的序號(hào)。進(jìn)行多目標(biāo)方式的非同步遠(yuǎn)程復(fù)制,在該非同步遠(yuǎn)程復(fù)制中,日志被從第一存儲(chǔ)裝置轉(zhuǎn)發(fā)到第二存儲(chǔ)裝置,并被反映到第二數(shù)據(jù)卷,由此把第一數(shù)據(jù)卷內(nèi)的數(shù)據(jù)寫入第二數(shù)據(jù)卷,而且日志被從第一存儲(chǔ)裝置轉(zhuǎn)發(fā)到第三存儲(chǔ)裝置,并被反映到第三數(shù)據(jù)卷,由此把第一數(shù)據(jù)卷內(nèi)的數(shù)據(jù)寫入第三數(shù)據(jù)卷。具體來(lái)說(shuō),例如在非同步遠(yuǎn)程復(fù)制中進(jìn)行以下處理(Al)日志被從第一日志存儲(chǔ)資源復(fù)制到第二日志存儲(chǔ)資源。(Bi)第二存儲(chǔ)裝置按照更新序號(hào)的順序向第二數(shù)據(jù)卷反映第二日志存儲(chǔ)資源中的一個(gè)以上的未反映的日志。(A2)日志被從第一日志存儲(chǔ)資源復(fù)制到第三日志存儲(chǔ)資源。(B2)第三存儲(chǔ)裝置按照更新序號(hào)的順序向第三數(shù)據(jù)卷反映第三日志存儲(chǔ)資源中的一個(gè)以上的未反映的日志。在第一存儲(chǔ)裝置停止時(shí),進(jìn)行以下處理(xl)判斷在第二存儲(chǔ)裝置中最近反映的日志所具有的更新序號(hào)和在第三存儲(chǔ)裝置中最近反映的日志所具有的更新序號(hào)中的哪一個(gè)新。(x2)判斷在第二以及第三存儲(chǔ)裝置中的新存儲(chǔ)裝置(具有在(xl)中判斷為新的更新序號(hào)的存儲(chǔ)裝置)中是否有一個(gè)以上的差分日志。一個(gè)以上的差分日志是從具有在 (xl)中沒(méi)有判斷為新的更新序號(hào)的下一個(gè)更新序號(hào)的日志開始到具有在(xl)中判斷為新的更新序號(hào)的日志為止的一個(gè)以上的日志。(x3)在(x2)的判斷結(jié)果為肯定的情況下,從新存儲(chǔ)裝置向舊存儲(chǔ)裝置(第二以及第三存儲(chǔ)裝置中不是新存儲(chǔ)裝置的存儲(chǔ)裝置)復(fù)制一個(gè)以上的差分日志。(x4)舊存儲(chǔ)裝置按照更新序號(hào)的順序向舊存儲(chǔ)裝置內(nèi)的數(shù)據(jù)卷反映一個(gè)以上的
差分日志。


圖1表示本發(fā)明的實(shí)施例1的非同步遠(yuǎn)程復(fù)制系統(tǒng)的結(jié)構(gòu)。圖2表示存儲(chǔ)裝置之間的路徑。圖3表示圖6中的JNL組112A、112B以及112C的狀態(tài)以及鏡像的有效/無(wú)效。圖4表示圖7中的JNL組112B以及112C的狀態(tài)以及鏡像的有效/無(wú)效。圖5表示圖10中的JNL組112B以及112C的狀態(tài)以及鏡像的有效/無(wú)效。圖6表示多目標(biāo)方式的非同步遠(yuǎn)程復(fù)制的概要。圖7表示在第一存儲(chǔ)器105A中發(fā)生故障時(shí)進(jìn)行的處理的一部分。圖8表示從第三存儲(chǔ)器105C到第二存儲(chǔ)器105B的差分遠(yuǎn)程同步(rsync)的概要。圖9表示從第二存儲(chǔ)器105B到第三存儲(chǔ)器105C的差分遠(yuǎn)程同步的概要。圖10表示結(jié)束差分遠(yuǎn)程同步后的業(yè)務(wù)的繼續(xù)的概要。圖11表示第一存儲(chǔ)器105A的概要。圖12表示JNL的結(jié)構(gòu)。圖13表示JVOLl 15A的結(jié)構(gòu)。圖14表示元信息的結(jié)構(gòu)。
圖15表示各存儲(chǔ)器所具有的控制信息。圖16表示JVOL有效位圖701A的結(jié)構(gòu)。圖17表示DVOL有效位圖702A的結(jié)構(gòu)。圖18表示JVOL管理表703A的結(jié)構(gòu)。圖19表示JNL組管理表704A的結(jié)構(gòu)。圖20表示對(duì)管理表705A的結(jié)構(gòu)。圖21表示差分管理以及形成復(fù)制的流程。圖22表示第一存儲(chǔ)器105A中的寫處理的流程。圖23表示JNL的讀處理的流程。圖24表示JNL的反映處理的流程。圖25表示與第一 JVOLl 15A的使用率的核對(duì)相關(guān)的處理的流程。圖26表示在第一存儲(chǔ)器105A中發(fā)生故障時(shí)進(jìn)行的處理的流程。圖27表示可進(jìn)行差分遠(yuǎn)程同步的情形的一例。圖28表示不能進(jìn)行差分遠(yuǎn)程同步的情形的一例。圖29表示許可從第二主機(jī)103B向第二 DVOLl 13B寫入數(shù)據(jù)的定時(shí)。圖30表示在本發(fā)明的實(shí)施例2中許可從第二主機(jī)103B向第二 DVOLl 13B寫入數(shù)據(jù)的定時(shí)。圖31表示在本發(fā)明的實(shí)施例2中,從第三存儲(chǔ)器105C向第二存儲(chǔ)器105B進(jìn)行差分遠(yuǎn)程同步時(shí)的、第二存儲(chǔ)器105B中的寫處理的流程。圖32表示在本發(fā)明的實(shí)施例2中,從第三存儲(chǔ)器105C向第二存儲(chǔ)器105B進(jìn)行差分遠(yuǎn)程同步時(shí)的、第二存儲(chǔ)器105B中的JNL反映處理的流程。圖33表示在本發(fā)明的實(shí)施例3中,從第三存儲(chǔ)器105C向第二存儲(chǔ)器105B進(jìn)行差分遠(yuǎn)程同步時(shí)的、第二存儲(chǔ)器105B中的讀處理的流程。圖34表示在本發(fā)明的實(shí)施例4中與是否需要轉(zhuǎn)發(fā)差分JNL的判斷相關(guān)的處理的流程。圖35表示存在不需要轉(zhuǎn)發(fā)的差分JNL的情形的一例。
具體實(shí)施例方式以下,參照

本發(fā)明的幾個(gè)實(shí)施例。另外,在以下的說(shuō)明中,有時(shí)通過(guò)“XX X表”、“XX X位圖”的表述來(lái)說(shuō)明各種信息,但也可以用表或位圖以外的數(shù)據(jù)結(jié)構(gòu)來(lái)表現(xiàn)各種信息。為了表示不依賴于數(shù)據(jù)結(jié)構(gòu), 可以把“ X X X表”、“ X X X位圖”稱為“ X X X信息”。此外,在以下的說(shuō)明書中,作為各種對(duì)象識(shí)別信息主要使用了序號(hào),但可以代替序號(hào)而采用其它種類的識(shí)別信息(例如名稱)。實(shí)施例1圖1表示本發(fā)明的實(shí)施例1的非同步遠(yuǎn)程復(fù)制系統(tǒng)的結(jié)構(gòu)。另外,在以下的說(shuō)明中,將日志記載為“ JNL”,將作為被寫入數(shù)據(jù)的邏輯卷的數(shù)據(jù)卷記載為“DV0L”,將作為被寫入JNL的邏輯卷的JNL卷記載為“JV0L”,將主機(jī)裝置記載為“主機(jī)”,將存儲(chǔ)裝置記載為“存儲(chǔ)器”、將控制器記載為“DKC”。
有三個(gè)以上的站點(diǎn)(site),例如第一站點(diǎn)101A、第二站點(diǎn)IOlB以及第三站點(diǎn) 101C。以下為使說(shuō)明易于理解,第一站點(diǎn)IOlA具有的要素的參照符號(hào)是主序號(hào)和子符號(hào) “A”的組合,第二站點(diǎn)IOlB具有的要素的參照符號(hào)是主序號(hào)和子符號(hào)“B”的組合,第三站點(diǎn) IOlB具有的要素的參照符號(hào)是主序號(hào)和子符號(hào)“C”的組合。第一站點(diǎn)IOlA具有第一存儲(chǔ)器105A以及與第一存儲(chǔ)器105A連接的第一主機(jī) 103A。第一存儲(chǔ)器105A具有第一 DKC111A以及第一 JNL組112A。一個(gè)JNL組112A包含 DVOL113A 以及 JVOLl 115A。第二以及第三站點(diǎn)IOlB以及IOlC具有與第一站點(diǎn)IOlA相同的結(jié)構(gòu)。存儲(chǔ)器105A以及105B彼此經(jīng)由專用線(或通信網(wǎng)絡(luò))物理地連接。存儲(chǔ)器105B 以及105C彼此也經(jīng)由專用線(或通信網(wǎng)絡(luò))物理地連接。存儲(chǔ)器105A以及105C彼此也經(jīng)由專用線(或通信網(wǎng)絡(luò))物理地連接。作為連接存儲(chǔ)器彼此的路徑,如圖2所示,有控制路徑以及數(shù)據(jù)轉(zhuǎn)發(fā)路徑??刂坡窂绞遣罘诌h(yuǎn)程同步(后述)所需要的路徑。具體地說(shuō),例如在差分遠(yuǎn)程同步處理中,是時(shí)序 (sequence)序號(hào)取得請(qǐng)求(后述)流過(guò)的路徑。數(shù)據(jù)轉(zhuǎn)發(fā)路徑是JNL流過(guò)的路徑??刂坡窂揭约皵?shù)據(jù)轉(zhuǎn)發(fā)路徑都是可雙向通信的路徑。再次參照?qǐng)D1。有“鏡像(mirror) ”這樣的JNL組彼此的邏輯連接。根據(jù)圖1,JNL組112A以及 112B彼此的連接是鏡像#0(被分配了序號(hào)“0”的鏡像(M0)),JNL組112A以及112C彼此的連接是鏡像#1 (被分配了序號(hào)“1”的鏡像(Ml)),JNL組112B以及112C彼此的連接是鏡像#2 (被分配了序號(hào)“2”的鏡像(M2))。以下說(shuō)明本實(shí)施例的處理的概要。另外,在以下說(shuō)明中,JNL組112A、112B以及 112C只要不特殊說(shuō)明則分別是一個(gè)。在本實(shí)施例的遠(yuǎn)程復(fù)制系統(tǒng)中進(jìn)行多目標(biāo)方式的非同步遠(yuǎn)程復(fù)制,第一站點(diǎn)IOlA 是運(yùn)用站點(diǎn)。此時(shí),如圖3所示,第一 JNL組112A的狀態(tài)是“主(Master)”,第二以及第三 JNL組112B以及112C的狀態(tài)是“還原(Restore) ”。狀態(tài)“主”表示是復(fù)制源。狀態(tài)“還原” 表示是復(fù)制目的地。另外,在圖3 (以及此后的圖4以及圖5)中,虛線的鏡像是無(wú)效的鏡像, 實(shí)線的鏡像是有效的鏡像。從而,如圖6所示,第一 DVOLl 13A是主DVOL (以下稱為PV0L),第二以及第三 DVOL113B以及113C是副DVOL (以下稱為SV0L)。如圖6所示,在作為運(yùn)用站點(diǎn)的第一站點(diǎn)IOlA中,第一主機(jī)103A伴隨業(yè)務(wù)的執(zhí)行而在PV0L113A中寫入數(shù)據(jù)(S11)。第一存儲(chǔ)器105A更新時(shí)序序號(hào)(以下稱為SEQ#),制作具有更新后的SEQ#和在PV0L113A中寫入的數(shù)據(jù)的JNL,將制作的JNL寫入第一 JV0L115A 中(S12)。SEQ#是每次在第一 JNL組112A (第一 JNL組112A內(nèi)的DV0L)中寫入數(shù)據(jù)時(shí)被更新(例如增加1 (或減小1))的序號(hào)。第二存儲(chǔ)器105B從第一 JV0L115A讀出JNL,并將讀出的JNL寫入第二 JV0L115B 中(S21)。第二存儲(chǔ)器105B按SEQ#從小到大的順序向SV0L113B反映第二 JV0L115B內(nèi)的一個(gè)以上的未反映的JNL(S22)。具體地說(shuō),第二存儲(chǔ)器105B將第二 JVOLl 15B內(nèi)的未反映的JNL所具有的數(shù)據(jù)寫入SVOLl 13B中。由此,在PV0L113A中寫入的數(shù)據(jù)被復(fù)制到SV0L113B中。
第三存儲(chǔ)器105C從第一 JV0L115A讀出JNL,并將讀出的JNL寫入第三JV0L115C 中(S31)。第三存儲(chǔ)器105C按SEQ#從小到大的順序向SVOLl 13C反映第三JVOLl 115C內(nèi)的一個(gè)以上未反映的JNL(S32)。具體地說(shuō),第三存儲(chǔ)器105C將第三JVOLl 15C內(nèi)的未反映的 JNL所具有的數(shù)據(jù)寫入SV0L113C中。由此,在PV0L113A中寫入的數(shù)據(jù)被復(fù)制到SV0L113C中。也可以對(duì)于一個(gè)復(fù)制源JNL組存在多于兩個(gè)的復(fù)制目的地JNL組。根據(jù)本實(shí)施例,在多個(gè)復(fù)制目的地JNL組中共用在一個(gè)復(fù)制源JNL組中所包含的 JV0L。換言之,在一個(gè)復(fù)制源JNL組中包含的JVOL的數(shù)量不依賴于復(fù)制目的地JNL組的數(shù)量。這存儲(chǔ)裝置之間的JNL的復(fù)制(轉(zhuǎn)發(fā)),通過(guò)復(fù)制目的地的存儲(chǔ)裝置從復(fù)制源的存儲(chǔ)裝置內(nèi)的JVOL讀出JNL來(lái)實(shí)現(xiàn)。根據(jù)該特征,能夠節(jié)約在第一存儲(chǔ)器105A中消耗的存儲(chǔ)容量。如圖7所示,假設(shè)在作為運(yùn)用站點(diǎn)的第一站點(diǎn)IOlA中,在第一存儲(chǔ)器105A中發(fā)生了故障(S40)。此時(shí),運(yùn)用站點(diǎn)從第一站點(diǎn)IOlA切換到第二站點(diǎn)101B。具體地說(shuō),進(jìn)行從第一主機(jī)103A向第二主機(jī)103B的故障切換(failover) (S41)。第二主機(jī)103B向第二存儲(chǔ)器105B發(fā)送預(yù)定的命令(S42)。第二存儲(chǔ)器105B接收預(yù)定的命令。此時(shí)如圖4所示,通過(guò)存儲(chǔ)器105B和/或105C 將鏡像#2設(shè)為有效,第二以及第三JNL組112B以及112C的狀態(tài)暫時(shí)成為“主/還原”。為了 S43的判斷,在第二存儲(chǔ)器105B和第三存儲(chǔ)器105C之間交換SEQ#。狀態(tài)“主/還原”表示是復(fù)制源,也是復(fù)制目的地。到差分遠(yuǎn)程同步(后述)結(jié)束為止,第二以及第三JNL組 112B以及112C的狀態(tài)是“主/還原”。第二存儲(chǔ)器105B應(yīng)答預(yù)定的命令,向第三存儲(chǔ)器105C請(qǐng)求在第三存儲(chǔ)器105C中最近反映的JNL所具有的SEQ#(以下稱為SEQ#(3))(發(fā)送時(shí)序序號(hào)取得請(qǐng)求),應(yīng)答該請(qǐng)求,從第三存儲(chǔ)器105C接收SEQ# (3)。第二存儲(chǔ)器105B判斷SEQ# (3)和在第二存儲(chǔ)器105B 中最近反映的JNL所具有的SEQ#(以下稱為SEQ#(2))哪個(gè)新。根據(jù)該判斷的結(jié)果,進(jìn)行圖 8以及圖9中所示的差分遠(yuǎn)程同步。S卩,在SEQ#(3)比SEQ#(2)新的情況下,如圖8所示,第二存儲(chǔ)器105B從第三 JV0L115C讀出一個(gè)以上的差分JNL,并寫入第二 JV0L115B中(S44-1)。這里所說(shuō)的“一個(gè)以上的差分JNL”是從具有SEQ#(2)的下一個(gè)SEQ#的JNL到具有SEQ#(3)的JNL為止的一個(gè)以上的JNL。第二存儲(chǔ)器105B從具有SEQ#(2)的下一個(gè)SEQ#的日志開始,先按SEQ#從小到大的順序向第二 DV0L113B反映第二 JV0L115B內(nèi)的一個(gè)以上的差分JNL(S45-1)。由此,第二 DV0L113B內(nèi)的數(shù)據(jù)與開始差分遠(yuǎn)程同步時(shí)的第三DV0L113C內(nèi)的數(shù)據(jù)一致。另一方面,在SEQ#(2)比SEQ#(3)新的情況下,如圖9所示,第二存儲(chǔ)器105B在第三JVOLl 15C中寫入第二 JVOLl 15B內(nèi)的一個(gè)以上的差分JNL(S44-1)。這里所說(shuō)的“一個(gè)以上的差分JNL”是從具有SEQ#(3)的下一個(gè)SEQ#的JNL到具有SEQ#(2)的JNL為止的一個(gè)以上的JNL。第三存儲(chǔ)器105C從具有SEQ#(3)的下一個(gè)SEQ#的日志開始,先按SEQ#從小到大的順序向第三DV0L113C反映第三JV0L113C內(nèi)的一個(gè)以上的差分JNL(S45_2)。由此, 第三DV0L113C內(nèi)的數(shù)據(jù)與開始差分遠(yuǎn)程同步時(shí)的第二 DV0L113B內(nèi)的數(shù)據(jù)一致。此后,第二站點(diǎn)IOlB成為運(yùn)用站點(diǎn),繼續(xù)業(yè)務(wù)。具體地說(shuō),如圖5所示,第二 JNL 組112B的狀態(tài)變?yōu)椤爸鳌?,第三JNL組112C的狀態(tài)變?yōu)椤斑€原”。從而如圖10所示,第二DVOLl 13B成為PV0L,第三DVOLl 13C成為SV0L。第二主機(jī)103B在PV0L113B中寫入數(shù)據(jù) (S51)。第二存儲(chǔ)器105B更新SEQ#,制作具有SEQ#和在PV0L113B中寫入的數(shù)據(jù)的JNL,并將制作的JNL寫入第二 JV0L115B中(S52)。第三存儲(chǔ)器105C從第二 JV0L115B讀出JNL, 并將讀出的JNL寫入第三JV0L115C中(S53)。第三存儲(chǔ)器105C按SEQ#從小到大的順序向 SVOLl 13C 反映第三 JVOLl 15C 內(nèi)的 JNL (S54)。根據(jù)本實(shí)施例,第二存儲(chǔ)器105B從第三存儲(chǔ)器105C取得SEQ#(3),判斷SEQ#(3) 和SEQ#(2)中的哪個(gè)新,根據(jù)該判斷的結(jié)果控制從第二以及第三存儲(chǔ)器105B以及105C中的哪一個(gè)向哪一個(gè)轉(zhuǎn)發(fā)一個(gè)以上的差分JNL。由此,即使在第一存儲(chǔ)器105A中發(fā)生了故障也能夠恰當(dāng)?shù)乩^續(xù)業(yè)務(wù)。此外,轉(zhuǎn)發(fā)的一個(gè)以上的差分JNL不超過(guò)第二以及第三存儲(chǔ)器 105B以及105C之間的差分,因此能夠把所轉(zhuǎn)發(fā)的JNL的數(shù)量抑制得較少。以下詳細(xì)說(shuō)明本實(shí)施例。此時(shí),以第一站點(diǎn)IOlA內(nèi)的要素為例進(jìn)行了說(shuō)明,但是沒(méi)有特別說(shuō)明的話,第二以及第三站點(diǎn)IOlB以及IOlC內(nèi)的要素實(shí)質(zhì)上與第一站點(diǎn)IOlA內(nèi)的要素相等。圖11表示第一存儲(chǔ)器105A的結(jié)構(gòu)。第一存儲(chǔ)器105A 具有第一 DKCl 11A、多個(gè) RAID (Redundant Array of Independent (or inexpensive) Disk)組(以下稱為 RG)900A。RG900A 由多個(gè) HDD (Hard Disk Drive)構(gòu)成。也可以采用閃速存儲(chǔ)器等其他物理存儲(chǔ)設(shè)備來(lái)代替HDD。一個(gè)或多個(gè)邏輯卷基于一個(gè)RG900A。邏輯卷是例如前述的DVOL或JV0L,其中的哪一個(gè)都可以是作為RG900A的存儲(chǔ)空間的一部分的實(shí)體的邏輯卷,也可以是從基于一個(gè)以上的RG900構(gòu)成的池(由多個(gè)實(shí)際區(qū)域構(gòu)成的存儲(chǔ)區(qū)域)動(dòng)態(tài)分配實(shí)際區(qū)域的虛擬的邏輯卷(遵從Thin Provisioning的技術(shù)的虛擬的邏輯卷)。DKC111A具有多個(gè)前端接口裝置(以下稱為FE_IF) 610A、后端接口裝置(以下稱為BE-IF) 150A、高速緩沖存儲(chǔ)器(以下稱為CM)620A、共享存儲(chǔ)器(以下稱為SM)640A以及與它們連接的一個(gè)以上的CPU (Central Processing Unit)630A。DKCl IlA的處理可以通過(guò) CPTO30A執(zhí)行一個(gè)以上的計(jì)算機(jī)程序來(lái)進(jìn)行,但也可以通過(guò)硬件電路來(lái)執(zhí)行該處理中的至少一部分。在多個(gè)FE-IF610A上連接了第一主機(jī)103A、第二以及第三存儲(chǔ)器105B以及105C。 DKCllIA(CPU630A)經(jīng)由FE-IF610A與第一主機(jī)103A、第二以及第三存儲(chǔ)器105B以及105C
進(jìn)行通信。在BE-IF150A上連接了多個(gè)RG900A。DKC111A(CPU630A)經(jīng)由 BE-IF150A在成為寫入目的地邏輯卷(例如第一 DV0L113A或第一 JV0L115A)的基礎(chǔ)的RG900A中寫入數(shù)據(jù)(或 JNL)。CM620A對(duì)在RG900A中寫入的數(shù)據(jù)(以及JNL)、從RG900A讀出的數(shù)據(jù)(以及JNL) 進(jìn)行存儲(chǔ)。SM640A對(duì)在DKC111A的處理的控制中使用的各種控制信息進(jìn)行存儲(chǔ)。CPU630A控制DKCl IlA進(jìn)行的處理。以上說(shuō)明了第一存儲(chǔ)器105A的結(jié)構(gòu)。另外,DKC111A并不限于圖11中所示的結(jié)構(gòu),也可以具有其他結(jié)構(gòu)。此外,第二以及第三存儲(chǔ)器105B以及105C的結(jié)構(gòu)與第一存儲(chǔ)器 105A的結(jié)構(gòu)實(shí)質(zhì)上相同。DKC111B或IllC的結(jié)構(gòu)也可以與DKC111A的結(jié)構(gòu)不同。
圖12表示JNL的結(jié)構(gòu),圖13表示JVOLl 15A的結(jié)構(gòu)。JNL由元(meta)信息和數(shù)據(jù)構(gòu)成。JV0L115A由元區(qū)域1201A和數(shù)據(jù)區(qū)域1203A構(gòu)成。元區(qū)域1201A存儲(chǔ)元信息,數(shù)據(jù)區(qū)域1203A存儲(chǔ)數(shù)據(jù)。另外,元區(qū)域1201A也可以存在于CM620A等與RG900A不同的存
儲(chǔ)資源中。圖14表示元信息的結(jié)構(gòu)。元信息是與在JNL中包含的數(shù)據(jù)有關(guān)的管理信息。元信息例如包含以下的信息(*)SEQ#、(*)寫目的地信息(表示在DVOL的哪個(gè)部分寫入數(shù)據(jù)的信息)、⑷PV0L# (復(fù)制源的DVOL的序號(hào))、(*) SV0L# (復(fù)制目的地的DVOL的序號(hào))、(*)表示與該元信息對(duì)應(yīng)的數(shù)據(jù)的JVOL中的位置的信息(在JVOL中寫入JNL時(shí)包含該信息)。通常,第一 DKCl IlA管理SEQ#。在每個(gè)JNL組112A中有SEQ#。在某個(gè)JNL組112A 內(nèi)的DV0L113A中寫入了數(shù)據(jù)時(shí),第一 DKC111A更新與該JNL組112A相對(duì)應(yīng)的SEQtL SEQ# 例如存儲(chǔ)在SM640A或其他存儲(chǔ)資源中。在第一存儲(chǔ)器105A中發(fā)生了故障,第二站點(diǎn)IOlB成為了運(yùn)用站點(diǎn)時(shí),第二存儲(chǔ)器 105B管理每個(gè)JNL組112B的SEQtL如圖15所示,SM640A作為控制信息來(lái)存儲(chǔ)例如JVOL有效位圖701A、DV0L有效位圖702A、JVOL管理表703A、JNL組管理表704A、對(duì)(pair)管理表705A、差分位圖706A以及鏡像位圖707A。同樣,第二存儲(chǔ)器105B內(nèi)的SM640B存儲(chǔ)控制信息701B 707B,第三存儲(chǔ)器105C內(nèi)的SM640C存儲(chǔ)控制信息701C 707C。以下,以控制信息701A 707A為代表進(jìn)行說(shuō)明,JNL組例如能夠具有最大64個(gè)邏輯卷。如圖16所示,JVOL有效位圖701A在每一 JNL組中具有64個(gè)位(bit)。如果第η個(gè)(η是0以上63以下的整數(shù))邏輯卷是JVOLl 15Α, 則第η個(gè)位為開(ON)(例如1)。如圖17所示,DVOL有效位圖702A在每一 JNL組中具有64個(gè)位。如果第η個(gè)(η 是0以上63以下的整數(shù))邏輯卷是JV0L115A,則第η個(gè)位為開(例如1)。JVOL管理表703Α存在于每個(gè)JNL組112Α中。如圖18所示,表703Α在每一 JV0L115A中具有表示元區(qū)域的開頭地址的信息、表示元區(qū)域的大小的信息、表示數(shù)據(jù)區(qū)域的開頭地址的信息、表示數(shù)據(jù)區(qū)域的大小的信息。即、表703Α表示在每一 JV0L115A中從哪到哪是元區(qū)域、從哪到哪是數(shù)據(jù)區(qū)域。JNL組管理表704Α具有與JNL組有關(guān)的信息。具體地說(shuō),例如,如圖19所示,表 704Α在每一 JNL組中具有下述的信息(*)表示JNL組的序號(hào)的JNL組#1001Α、(*)表示JNL組的狀態(tài)的狀態(tài)1002Α、(*)表示本實(shí)施例的遠(yuǎn)程復(fù)制系統(tǒng)中存在的鏡像的序號(hào)的鏡像#1003Α、(*)表示對(duì)方的JNL組的序號(hào)的對(duì)方JNL組#1004Α、(*)表示具有對(duì)方的JNL組的存儲(chǔ)裝置的序號(hào)的對(duì)方存儲(chǔ)器#1005Α、
(*)表示最近被清除的JNL具有的SEQ#的已清除SEQ#1006A、(*)表示可以清除的JNL具有的SEQ#的可清除SEQ#1007A、(*)表示最近讀出的JNL具有的SEQ#的已讀取SEQ#1008A。對(duì)管理表705A具有與DVOL彼此的對(duì)有關(guān)的信息。具體地說(shuō),例如,如圖20所示, 表705A在每一 DVOLl 13A中具有以下信息(*)表示 DV0L113A 的序號(hào)的 DV0L#1101A、⑷表示包含DVOLl 13A的JNL組112A的序號(hào)的JNL組#1102A、(*)表示DVOLl 13A的復(fù)制目的地的DVOL的序號(hào)的復(fù)制目的地V0L#1103A、⑷關(guān)于DV0L113A和復(fù)制目的地的DVOL的對(duì),表示DV0L113A的對(duì)狀態(tài)的狀態(tài) 1104A。每一 DVOLl 13A具有差分位圖706A。DVOL113A由多個(gè)塊構(gòu)成。差分位圖706A表示更新了 DV0L113A的哪個(gè)塊。即、差分位圖706A所具有的位與塊相對(duì)應(yīng)。在DV0L113A的對(duì)狀態(tài)為預(yù)定的狀態(tài)時(shí),更新差分位圖706A。具體地說(shuō),例如在某個(gè)DVOLl 13A的對(duì)狀態(tài)為預(yù)定的狀態(tài)、且在該DV0L113A內(nèi)的某個(gè)塊中寫入了數(shù)據(jù)時(shí),DKC111A將與該DV0L113A對(duì)應(yīng)的差分位圖706A中的、與該塊對(duì)應(yīng)的位變更為開(例如1)。鏡像位圖707A表示哪個(gè)鏡像有效、哪個(gè)鏡像無(wú)效。具體地說(shuō),鏡像位圖707A具有與多個(gè)鏡像對(duì)應(yīng)的多個(gè)位。例如,通常鏡像#0以及#1有效、鏡像#2無(wú)效(參照?qǐng)D6)。此時(shí),與鏡像#0以及#1對(duì)應(yīng)的位為開(例如1),與鏡像#2對(duì)應(yīng)的位為關(guān)(OFF)(例如0)。 此外,在第一存儲(chǔ)器105A發(fā)生了故障時(shí),鏡像#0以及#1無(wú)效,鏡像#2有效(參照?qǐng)D10)。 此時(shí),與鏡像#0以及#1對(duì)應(yīng)的位為關(guān),與鏡像#2對(duì)應(yīng)的位為開。以下說(shuō)明在本實(shí)施方式中進(jìn)行的幾個(gè)處理?!葱纬蓮?fù)制〉在從PVOL向SVOL的非同步復(fù)制(利用JNL的遠(yuǎn)程復(fù)制)開始之前,需要使PVOL 具有的數(shù)據(jù)(PV0L的內(nèi)容)與SVOL具有的數(shù)據(jù)(SV0L的內(nèi)容)互相一致。為此進(jìn)行形成復(fù)制。所謂“形成復(fù)制”,是使PVOL的內(nèi)容與SVOL的內(nèi)容一致的復(fù)制。如圖21所示,有時(shí)PVOL113A和SVOL113B的對(duì)的狀態(tài)、以及PVOL113A和SVOL113C 的對(duì)的狀態(tài)的雙方被設(shè)為掛起(S2101-1、S2101-2)。具體地說(shuō),PV0L113A的對(duì)狀態(tài)成為 “PSUS”(主設(shè)備(primary)的掛起)、SV0L113B以及113C的對(duì)狀態(tài)成為“SSUS”。此時(shí),第一 DKCl IlA將與包含該P(yáng)VOLl 13A的JNL組112A相對(duì)應(yīng)的SEQ#復(fù)位為預(yù)定值(例如0)。此時(shí),即使在PV0L113A中寫入了數(shù)據(jù),第一 DKC111A也不制作具有該數(shù)據(jù)的JNL。 第一 DKCl 1IA在PVOLl 13A的某個(gè)寫入目的地塊中寫入了數(shù)據(jù)時(shí)(S2102),若該P(yáng)VOLl 13A的對(duì)狀態(tài)為“PSUS”,則使與該P(yáng)V0L113A對(duì)應(yīng)的差分位圖706A中的、與寫入目的地塊對(duì)應(yīng)的位為開(例如1) (S2103)。在PVOL113A的對(duì)狀態(tài)為“PSUS”的情況下,每次在PVOL113A中的未更新的塊中寫入數(shù)據(jù)時(shí),進(jìn)行S2103。第一 DKC111A從第一主機(jī)103A(或與第一 DKC111A連接的未圖示的管理終端)接收形成復(fù)制指示(S2111)。該形成復(fù)制指示的接收是開始進(jìn)行形成復(fù)制的的契機(jī)??梢詫?duì)于第一對(duì)(PV0L113A和SVOL113B的對(duì))和第二對(duì)(PV0L113A和SVOLl 13C的對(duì))并行進(jìn)行形成復(fù)制,但在本發(fā)明中不是并行執(zhí)行,而是依次執(zhí)行。因此,能夠緩和對(duì)PVOLl 13A的訪問(wèn)的集中。
例如,首先如圖21所示,對(duì)第一對(duì)進(jìn)行形成復(fù)制。S卩、第一 DKC111A確定與在差分位圖706A中成為開(ON)的位對(duì)應(yīng)的塊(與該差分位圖706A對(duì)應(yīng)的PV0L113A中的塊)。然后,第一 DKC111A制作具有所確定的塊內(nèi)的數(shù)據(jù)的JNL,不將制作的JNL存儲(chǔ)在第一 JV0L115A 內(nèi),而寫入第二 JV0L115B(S2112)。第二 DKCl IlB 將第二 JVOLl 15B 內(nèi)的 JNL 反映到SV0L113B(S2113)。針對(duì)PVOLl 13A中的全部已更新的塊(與成為開(ON)的位對(duì)應(yīng)的塊),進(jìn)行S2112以及S2113。在對(duì)于第一對(duì)結(jié)束形成復(fù)制后,對(duì)于第二對(duì)進(jìn)行形成復(fù)制。S卩、第一 DKC111A制作具有PVOLl 13A中的已更新的塊內(nèi)的數(shù)據(jù)的JNL,不將制作的JNL存儲(chǔ)在第一 JVOLl 15A 內(nèi),而是寫入第三JV0L115C內(nèi)(S2115)。第三DKC111C將第三JV0L115C內(nèi)的JNL反映到 SVOLl 13C(S2116)。針對(duì)PV0L113A中的全部已更新的塊,進(jìn)行S2115以及S2116。<寫處理以及JNL制作處理>如圖22所示,第一 DKC111A從第一主機(jī)103A接收指定了 PV0L113A的寫請(qǐng)求 (S2201),在CM630A中確保CM區(qū)域(高速緩沖存儲(chǔ)器區(qū)域),在確保的CM區(qū)域中寫入按照該寫請(qǐng)求的數(shù)據(jù)(寫對(duì)象數(shù)據(jù))(S2202)。第一 DKCl IlA可以在該時(shí)刻向第一主機(jī)103A應(yīng)答寫入結(jié)束。第一DKC111A 將 CM630A 內(nèi)的寫對(duì)象數(shù)據(jù)寫入 PVOLl 13A(S2203)。第一DKC111A更新與包含該P(yáng)V0L113A的JNL組112A對(duì)應(yīng)的SEQ#(S2211)。第一 DKC111A制作JNL(S2212),將制作的JNL寫入第一 JV0L115A。在S2212中制作的JNL具有 包含在S2211中更新的SEQ#(或更新前的SEQ#)的元信息、以及在S2203中寫入PV0L113A 的數(shù)據(jù)。該數(shù)據(jù)可以是從PV0L113A讀出的數(shù)據(jù),也可以是在CM630A中剩余的數(shù)據(jù)。<JNL的讀處理〉采用第二 DKC111B從第一 JV0L115A讀出JNL的情形為例說(shuō)明JNL讀處理。如圖23所示,第二 DKCl IlB計(jì)算讀對(duì)象SEQ#(S2301)?!白x對(duì)象SEQ#”是應(yīng)該讀取的JNL中包含的SEQ#。具體地說(shuō),讀對(duì)象SEQ#是在與JNL組112B的鏡像#0對(duì)應(yīng)的已讀取的SEQ#1008B(JNL組管理表704B內(nèi)的信息1008B)表示的值上加1而得的值(即已讀取的 SEQ#1008B表示的值的下一個(gè)值)。第二 DKC111B向第一存儲(chǔ)器105A發(fā)送讀請(qǐng)求(S2302)。該讀請(qǐng)求具有在S2301 中計(jì)算出的讀對(duì)象SEQ#、和成為JNL的讀取源的JV0L115A的序號(hào)(或與其對(duì)應(yīng)的 LUN (Logical Unit Number))。例如根據(jù)SM640B存儲(chǔ)的控制信息確定JV0L115A的序號(hào)。 具體地說(shuō),控制信息包含與具有SV0L113B的JNL組112B相對(duì)應(yīng)的JNL組112A所具有的 JVOL112A的序號(hào)。第一 DKClIlA從第二 DKClIlB接收讀請(qǐng)求。第一 DKClIlA根據(jù)該讀請(qǐng)求,從讀取源JVOLl 15A確定具有讀對(duì)象JNL(S2303)。第一 0此11認(rèn)從作為讀取源的101^15八中讀取所確定的JNL,并將讀取的JNL經(jīng)由第一以及第二存儲(chǔ)器105A以及105B之間的數(shù)據(jù)轉(zhuǎn)發(fā)路徑發(fā)送給第二 DKCll IB (S2304)。第二 DKC111B從第一 DKC111A接收J(rèn)NL,并將接收到的JNL寫入第二 JVOLl 15B(S2305)。第二 DKCl IlB將與具有SVOLl 13B的JNL組112B的鏡像#0相對(duì)應(yīng)的已讀取的SEQ#1008B所表示的值變更為讀對(duì)象SEQ#所表示的值(S2306)。S卩、第二 DKC111B 在該已讀取的SEQ#1008B所表示的值上加1。
<JNL的反映處理〉以第二存儲(chǔ)器105B中的JNL的反映為例,說(shuō)明JNL的反映處理。如圖24 所示,第二 DKCl IlB 向 SVOLl 13B 反映 JNL (S2401),該 JNL 是第二 JVOLl 15B 內(nèi)的一個(gè)以上的未反映的JNL中的、具有最舊的SEQ#的JNL。具體地說(shuō),第二 DKC111B從第二 JV0L115B讀出包含比與JNL組112B的鏡像#0對(duì)應(yīng)的可清除的SEQ#1007B(JNL組管理表704B具有的信息1007B)表示的值大1的SEQ#的JNL,并將讀取的JNL所具有的數(shù)據(jù)寫入 SVOLl13B。第二 DKClIlB變更與JNL組112B的鏡像#0對(duì)應(yīng)的可清除的SEQ#1007B表示的值 (S2402)。具體地說(shuō),第二 DKClIlB在該可清除的SEQ#1007B表示的值上加1。第二 DKC111B向第一DCK111A通知更新后的可清除SEQ#1007B表示的值(S2403)。第一 DKClIlA將與JNL組112A的鏡像#0相對(duì)應(yīng)的可清除的SEQ#1007A所表示的值變更為從第二 DKCl IlB通知的值(S2404)。<JV0L的使用率的核對(duì)>各DKC定期(或不定期)核對(duì)具有該DKC的存儲(chǔ)器內(nèi)的JV0L。以下,以第一存儲(chǔ)器105A為例對(duì)其進(jìn)行說(shuō)明。第一 DKC111A定期(或不定期)進(jìn)行圖25中所示的處理。S卩、第一 DKC111A判斷第一 JV0L115A的使用率(第一 JV0L115A中的一個(gè)以上的 JNL的總?cè)萘肯鄬?duì)于第一 JVOLl 15A的容量的比例)是否超過(guò)預(yù)定的閾值(S2501)。如果該判斷的結(jié)果為否定(S2501 否),則結(jié)束處理。如果該判斷的結(jié)果為肯定(S2501 是),則第一 DKClIlA判斷在第一 JVOLl 15A內(nèi)的JNL中是否存在可清除的JNL(S2502)??汕宄腏NL是從以下的(A)的JNL到(B)的 JNL。(A)作為SEQ#而包含與JNL組112A相對(duì)應(yīng)的已清除的SEQ#1006A(參照?qǐng)D19)所表示的值的JNL。(B)作為SEQ#而包含與JNL組112A的鏡像#0相對(duì)應(yīng)的可清除的SEQ#1007A所表示的值、和與JNL組112A的鏡像#1相對(duì)應(yīng)的可清除的SEQ#1007A所表示的值中的較小一方的值的JNL。如果S2502的判斷結(jié)果為肯定(S2502 是),則第一 DKC111A從第一 JV0L115A中清除可清除的JNL(S2503)。此后,第一 DKClIlA進(jìn)行S2501。如果S2502的判斷結(jié)果為否定(S2502 否),則第一 DKC111A將成為瓶頸(neck) 的對(duì)(pair)掛起(S2504)?!俺蔀槠款i的對(duì)”是與鏡像#0以及鏡像#1中的某一個(gè)對(duì)應(yīng)的對(duì),是可清除的SEQ#10007A表示的值較小的一方的對(duì)。該對(duì)為瓶頸的理由是,小的一方的可清除的SEQ#10007A比大的一方的可清除的SEQ#10007A小得多,所以可清除的JNL的數(shù)
量變少。在將成為瓶頸的對(duì)掛起的情況下,可清除的JNL的數(shù)量增加。具體地說(shuō),可清除的 JNL是到作為SEQ#而包含大的一方的可清除的SEQ#10007A所表示的值的JNL為止。因此, 第一 DKC111A在S2504之后進(jìn)行S2502以及S2503。此外,第一 DKC111A在將成為瓶頸的對(duì)掛起的情況下,對(duì)于該對(duì)進(jìn)行差分管理以及遠(yuǎn)程同步(S2510)。具體地說(shuō),進(jìn)行下述步驟(在這里的說(shuō)明中,假設(shè)成為瓶頸的對(duì)是與鏡像#1對(duì)應(yīng)的對(duì))。⑷第一 DKC111A在PV0L113A中寫入了數(shù)據(jù)的情況下,如果與該數(shù)據(jù)的寫入目的地塊對(duì)應(yīng)的位(與PV0L113A對(duì)應(yīng)的差分位圖706內(nèi)的位)為關(guān),則使該位為開。(*)第一 DKC111A在預(yù)定的時(shí)刻(例如從第一主機(jī)103A (或管理終端)接收到遠(yuǎn)程同步指示時(shí))進(jìn)行遠(yuǎn)程同步。具體地說(shuō),第一 DKC111A在第三JV0L115C中寫入包含與為開(ON)的位相對(duì)應(yīng)的塊內(nèi)的數(shù)據(jù)的JNL。另外,即使是將與鏡像#0以及鏡像#1相對(duì)應(yīng)的對(duì)中的瓶頸對(duì)掛起,并進(jìn)行了 S2502以及S2503之后,在S2501的判斷的結(jié)果為肯定的情況下,該S2502的判斷的結(jié)果也變?yōu)榉穸?。此時(shí),第一 DKC111A將剩余的對(duì)也掛起。結(jié)果,在圖21中,進(jìn)行S2101-1和 S2101-2雙方。此時(shí),與JNL組112A有關(guān)的全部JNL是可清除的JNL,所以如果在S2503中清除這些JNL,則S2501的判斷的結(jié)果必然變?yōu)榉穸?,結(jié)束處理。<在第一存儲(chǔ)器105A中發(fā)生故障時(shí)進(jìn)行的處理>如圖26所示,在第一存儲(chǔ)器105A中發(fā)生了故障時(shí)(S2601),進(jìn)行從第一主機(jī)103A 向第二主機(jī)103B的故障切換(S2602)。然后,第二主機(jī)103B,作為預(yù)定的命令,將接管命令發(fā)送給第二存儲(chǔ)器 105B(S2603)。接著,第二 DKC111B應(yīng)答接管命令,更新各種狀態(tài)(S2604)。具體地說(shuō),例如,第二 DKClIlB進(jìn)行下述的更新。⑷將與DV0L113B以及鏡像#0相對(duì)應(yīng)的對(duì)狀態(tài)更新為“SSWS”。如果DV0L113B 為SV0L,則第二 DKClIlB通常禁止從第二主機(jī)103B向DV0L113B的數(shù)據(jù)寫入,但“SSWS”表示即使DV0L113B為SV0L,也許可數(shù)據(jù)的寫入。(*)將與DV0L113B以及鏡像#1對(duì)應(yīng)的對(duì)狀態(tài)更新為“SSUS”。“SSUS”表示與鏡像 #1相對(duì)應(yīng)的對(duì)被掛起。由此,即使與鏡像#0相對(duì)應(yīng)的對(duì)狀態(tài)成為“SSWS”,也維持從第二主機(jī)103B向DVOLl 13B的數(shù)據(jù)寫入的禁止。(*)將DV0L113B的狀態(tài)變更為“HOLD”?!癏OLD”表示等待差分遠(yuǎn)程同步的開始。(*)使鏡像位圖707B中的、與鏡像#0相對(duì)應(yīng)的位為關(guān),與鏡像#2對(duì)應(yīng)的位為開。接著,第二 DKClIlB從第三存儲(chǔ)器105C取得可清除的SEQ#所表示的值(S2605)。 具體地說(shuō),例如,第二 DKC111B經(jīng)由第二以及第三存儲(chǔ)器105B以及105C之間的控制路徑, 向第三存儲(chǔ)器105C請(qǐng)求與JNL組112C以及鏡像#2相對(duì)應(yīng)的可清除的SEQ#1007C (JNL組管理表704C內(nèi)的信息1007C)所表示的值。第三DKC111C應(yīng)答該請(qǐng)求,經(jīng)由上述控制路徑,向第二 DKClIlB通知與JNL組112C以及鏡像#2相對(duì)應(yīng)的可清除的SEQ#1007C所表示的值。然后,第二 DKC111B比較與JNL組112B以及鏡像#2相對(duì)應(yīng)的可清除的SEQ#1007B 所表示的值、和所取得的可清除的SEQ#1007C所表示的值(S2606)。S卩,第二 DKClIlB比較在第二存儲(chǔ)器105B中最近反映的JNL所具有的SEQ#(以下稱為SEQ#(2))與在第三存儲(chǔ)器 105C中最近反映的JNL所具有的SEQ#(以下稱為SEQ#(3))。然后,第二 DKC111B判斷是否能夠進(jìn)行差分遠(yuǎn)程同步(S2607)。在此,說(shuō)明可進(jìn)行差分遠(yuǎn)程同步的情形以及不能進(jìn)行差分遠(yuǎn)程同步的情形。此時(shí),將SEQ# (2)以及SEQ# (3)中較大的SEQ#稱為“SEQ# (大)”,將較小的SEQ#稱為 “SEQ#(小)”。此外,在第二以及第三存儲(chǔ)器105B以及105C中的具有SEQ#(大)的存儲(chǔ)器稱為存儲(chǔ)器(大),將另一方的存儲(chǔ)器稱為存儲(chǔ)器(小)??蛇M(jìn)行差分遠(yuǎn)程同步的情形是圖27所示的情形,即與存儲(chǔ)器(大)的JNL組以及鏡像#2相對(duì)應(yīng)的已清除SEQ#所表示的值在SEQ#(小)以下的情形。換言之,是存儲(chǔ)器 (大)具有從包含SEQ# (小)的下一個(gè)SEQ# (等于SEQ# (小)+1的SEQ#)的JNL (以下稱為 JNL(X))到包含SEQ#(大)的JNL(以下稱為JNL(Y))的情形。以下,將從JNLOO至JNUY) 的一個(gè)以上的JNL(即包含從等于SEQ#(小)+1的SEQ#到SEQ#(大)為止的SEQ#的一個(gè)以上的JNL)稱為“一個(gè)以上的差分JNL”。另一方面,不能進(jìn)行差分遠(yuǎn)程同步的情形是圖28所示的情形,即與存儲(chǔ)器(大) 內(nèi)的JNL組以及鏡像#2對(duì)應(yīng)的已清除的SEQ#所表示的值成為大于SEQ#(小)的下一個(gè) SEQ#(等于SEQ#(小)+1的SEQ#)的值的情形。這是由于SEQ#不連續(xù)而導(dǎo)致的。再參照?qǐng)D26。在S2607的判斷的結(jié)果為否定的情況下(S2607 否),第二 DKClIlB進(jìn)行全部復(fù)制 (S2608)。即第二 DKClIlB將具有SEQ#(2)和SEQ#(3)中的大的一方的SEQ#的存儲(chǔ)器內(nèi)的 DVOL(例如DVOLl 13B)中所存儲(chǔ)的全部數(shù)據(jù)復(fù)制到具有SEQ#(2)和SEQ#(3)中的小的一方的SEQ#的存儲(chǔ)器內(nèi)的DVOL (例如DVOLl 13C)中。由此,DVOLl 13B的內(nèi)容和DVOLl 13C的內(nèi)
容一致。S2607的判斷結(jié)果為肯定的情況下(S2607 是),如果SEQ#⑵大于SEQ# (3) (S2609 是),則進(jìn)行從第二存儲(chǔ)器105B向第三存儲(chǔ)器105C的差分遠(yuǎn)程同步(S2610)。艮口, 進(jìn)行圖9中所示的差分遠(yuǎn)程同步。具體地說(shuō),第二 DKC111B通過(guò)從第二 JV0L115B讀取一個(gè)以上的差分JNL,并向第三存儲(chǔ)器105C發(fā)送一個(gè)以上的差分JNL的寫請(qǐng)求(指定了第三 JVOLl 15C的寫請(qǐng)求),在第三JV0L115C中寫入一個(gè)以上的差分JNL(也可以代替該操作, 由第三DKC111C發(fā)送指定了第二 JV0L115B的讀請(qǐng)求(包含從SEQ#(3)的下一個(gè)SEQ#到 SEQ#(2)的讀請(qǐng)求),對(duì)其進(jìn)行應(yīng)答,從第二存儲(chǔ)器105B接收一個(gè)以上的JNL差分,并將該一個(gè)以上的差分JNL寫入第三JV0L115C)。第三DKClIlC從具有SEQ#(3)的下一個(gè)SEQ# 的JNL開始,先按SEQ#從小到大的順序?qū)⒌谌齁V0L115C內(nèi)的一個(gè)以上的JNL差分反映到 DVOLl 13Cο由此,DVOLl 13C的內(nèi)容與DVOL113B的內(nèi)容一致。在S2607的判斷的結(jié)果為肯定的情況下(S2607 是),如果SEQ# (2)小于SEQ# (3) (S2609 否),則進(jìn)行從第三存儲(chǔ)器105B向第二存儲(chǔ)器105C的差分遠(yuǎn)程同步(S2611)。即進(jìn)行圖8中所示的差分遠(yuǎn)程同步。具體地說(shuō),第二 DKC111B發(fā)送指定了第三JV0L115C的讀請(qǐng)求(包含從SEQ#(2)的下一個(gè)SEQ#到SEQ#(3)的讀請(qǐng)求),應(yīng)答該讀請(qǐng)求,從第三存儲(chǔ)器105C接收一個(gè)以上的差分JNL,并將該一個(gè)以上的差分JNL寫入第二 JV0L115B (也可以代替該操作,由第三DKC111B從第三JV0L115C讀取一個(gè)以上的差分JNL,并向第二存儲(chǔ)器105B發(fā)送一個(gè)以上的差分JNL的寫請(qǐng)求(指定了第二 JV0L115B的寫請(qǐng)求),由此將一個(gè)以上的差分JNL寫入第二 JVOLl 15B)。第二 DKClIlB從具有SEQ# (2)的下一個(gè)SEQ#的 JNL開始,先按SEQ#從小到大的順序,將第二 JV0L115B內(nèi)的一個(gè)以上的差分JNL反映到 DV0L113B。由此,DVOL113B的內(nèi)容與DVOLl 13C的內(nèi)容一致。如圖29所示,第二 DKCl 1IB在S2610或S2611的差分遠(yuǎn)程同步結(jié)束的情況下 (S2609 是),許可從第二主機(jī)103B向第二 DV0L113B的數(shù)據(jù)的寫入(S2902)。具體地說(shuō),第二 DKCl IlB將與DVOLl 13B以及鏡像#2相對(duì)應(yīng)的對(duì)狀態(tài)更新為“SSWS”(即寫許可)。由此,不僅與DV0L113B以及鏡像#0對(duì)應(yīng)的對(duì)狀態(tài),與鏡像#2對(duì)應(yīng)的對(duì)狀態(tài)也成為“SSWS”,所以能夠進(jìn)行從第二主機(jī)103B向第二 DV0L113B的數(shù)據(jù)寫入。另外,在結(jié)束了 S2601或S2611的差分遠(yuǎn)程同步的情況下,第二 DKCllB將第二 DVOLl 13B作為PVOL (第三DVOLl 13C為SV0L)。此后,在第二站點(diǎn)IOlB中繼續(xù)進(jìn)行業(yè)務(wù)。在第二站點(diǎn)IOlB中,與JNL組112B相對(duì)應(yīng)的SEQ#的初始值是SEQ# (2)以及SEQ# (3)中的大的一方的SEQ#的下一個(gè)SEQ# (即在 SEQ# (2)以及SEQ#(3)中的大的一方的SEQ#上加1而得的值)。第二主機(jī)103B根據(jù)業(yè)務(wù)向第二存儲(chǔ)器105B發(fā)送指定了 PV0L113B的寫請(qǐng)求。第二 DKCl 1IB將按照該寫請(qǐng)求的數(shù)據(jù)寫入CM630B中,此后寫入PVOLl 13B中。第二 DKCl 1IB更新 SEQ#,制作包含更新后的SEQ#(或更新前的SEQ#)以及在PV0L113B中寫入的數(shù)據(jù)的JNL,并寫入第二 JV0L115B中。第三DCK111C通過(guò)向第二存儲(chǔ)器105B發(fā)送指定了第二 JV0L115B 的讀請(qǐng)求,從第二存儲(chǔ)器105B接收第二 JV0L115B內(nèi)的JNL。第三DKClIlC將接收到的JNK 寫入第三JV0L115C。第三DKClIlC將第三JVOLl 15C內(nèi)的未反映的JNL,按SEQ#從小到大的順序向SV0L113C反映。通過(guò)該一連串的處理,寫入PV0L113B的數(shù)據(jù)被復(fù)制到SV0L113C。以上,根據(jù)實(shí)施例1,在運(yùn)用站點(diǎn)的切換目的地的站點(diǎn)IOlB中,第二存儲(chǔ)器105B 取得在第三存儲(chǔ)器105C中最近反映的JNL的SEQ#(SEQ#(3)),將SEQ#(3)與在第二存儲(chǔ)器 105B中最近反映的JNL所具有的SEQ#(SEQ#(2))進(jìn)行比較。此外,第二存儲(chǔ)器105B根據(jù)具有SEQ#(2)以及SEQ#(3)中的大的一方的SEQ#的存儲(chǔ)器中的已清除的SEQ#、和SEQ# (2)以及SEQ#(3)中的小的一方的關(guān)系,判斷是否可以進(jìn)行差分遠(yuǎn)程同步。然后,基于該判斷結(jié)果和SEQ#(2)以及SEQ#(3)的關(guān)系進(jìn)行差分遠(yuǎn)程同步。由此,即使第一存儲(chǔ)器105A 因故障等原因而停止,也能夠恰當(dāng)?shù)乩^續(xù)進(jìn)行業(yè)務(wù)。此外,根據(jù)實(shí)施例1,在多個(gè)復(fù)制目的地JNL組中共用在一個(gè)復(fù)制源JNL組中所包含的JV0L。換言之,在一個(gè)復(fù)制源JNL組中所包含的JVOL的數(shù)量不依賴于復(fù)制目的地JNL 組的數(shù)量。由此能夠節(jié)約在第一存儲(chǔ)器105A中消耗的存儲(chǔ)容量。實(shí)施例2以下,說(shuō)明本發(fā)明的實(shí)施例2。此時(shí)主要說(shuō)明與實(shí)施例1的不同點(diǎn),省略或簡(jiǎn)略說(shuō)明與實(shí)施例1的共同點(diǎn)(這一點(diǎn)對(duì)于后述的實(shí)施例3以及4也相同)。在實(shí)施例2中,在差分遠(yuǎn)程同步中也許可對(duì)第二DV0L113B的數(shù)據(jù)寫入。具體地說(shuō), 如圖30所示,第二 DKC111B在判斷圖26的S2607中成為“是”的情況下(S3001 是),許可從第二主機(jī)103B向第二 DV0L113B的數(shù)據(jù)寫入(S3002)。具體地說(shuō),第二 DKC111B將與第二 DV0L113B以及鏡像#0相對(duì)應(yīng)的對(duì)狀態(tài)、和與第二 DV0L113B以及鏡像#2相對(duì)應(yīng)的對(duì)狀態(tài)的雙方變更為“SSWS”。另外,“判斷S2607中成為“是”的情況下”是確定了進(jìn)行在S2610 和S2611中的某一個(gè)的差分遠(yuǎn)程同步的時(shí)候。但是,此時(shí)如果不采取任何措施則會(huì)產(chǎn)生以下問(wèn)題。即,在從第三存儲(chǔ)器105C向第二存儲(chǔ)器105B的差分遠(yuǎn)程同步中,在具有從第二主機(jī)103B寫入的數(shù)據(jù)(最新的數(shù)據(jù)) 的塊(DV0L113B內(nèi)的塊)中,有可能寫入差分JNL內(nèi)的數(shù)據(jù)(舊的數(shù)據(jù))。為了避免該問(wèn)題,在實(shí)施例2中,在確定了從第三存儲(chǔ)器105C向第二存儲(chǔ)器105B 進(jìn)行差分遠(yuǎn)程同步的情況下,進(jìn)行圖31中所示的處理。S卩,第二 DKC111B,在從第二主機(jī)103B接收到指定了 DVOLl 13B的寫請(qǐng)求時(shí) (S3101),在DV0L113B中的寫入目的地的塊中寫入作為寫對(duì)象的數(shù)據(jù)(S3102)。此時(shí),第二 DKC111B將該寫入目的地塊作為JNL的非反映目的地來(lái)管理(S3103)。具體地說(shuō),例如,SM640B存儲(chǔ)表示不需要JNL的反映的寫入目的地的非反映管理信息,第二 DKC111B 在SM640B中,將DVOL113B的序號(hào)和DVOL113B的塊的地址(例如LBA (Logical Block Address))登記在非反映管理信息中。如圖32所示,第二 DKC111B,在從第二 JV0L115B讀出了 JNL的情況下,如果該 JNL的反映目的地的塊(DV0L113B中的塊)不是非反映目的地(S3202 否),則反映該 JNL(S3203),但如果該JNL的反映目的地的塊為非反映目的地(S3202 是),則不反映該 JNL(S3204)。在S3202中,“JNL的反映目的地的塊是否為非反映目的地”是指例如該反映目的地的塊的地址是否登記在上述非反映管理信息中。在S3204中,“不反映JNL”是指例如忽略JNL。被忽略的JNL也可以留在第二 JVOLl 15B中,也可以立即從第二 JV0L115B中被刪除。根據(jù)實(shí)施例2,與實(shí)施例1相比能夠盡快開始業(yè)務(wù),而且也可以避免因在差分遠(yuǎn)程同步中DV0L113B為寫入許可狀態(tài)而產(chǎn)生的問(wèn)題(在寫入了最新的數(shù)據(jù)的塊中,寫入差分 JNL內(nèi)的舊的數(shù)據(jù))。實(shí)施例3在實(shí)施例3中,在差分遠(yuǎn)程同步中也許可第二主機(jī)103B從第二 DVOLl 13B讀取數(shù)據(jù)(在實(shí)施例1中禁止該讀取)。具體地說(shuō),例如第二 DKC111B設(shè)為在圖26的S2607中判斷為“是”的情況下許可從第二 DV0L113B中讀出數(shù)據(jù)的狀態(tài)。但是,此時(shí)如果不采取任何措施則會(huì)產(chǎn)生以下問(wèn)題。即,在從第三存儲(chǔ)器105C向第二存儲(chǔ)器105B的差分遠(yuǎn)程同步的進(jìn)行中,第二主機(jī)103B從DV0L113B讀出的數(shù)據(jù),有可能是舊的數(shù)據(jù)而不是最新的數(shù)據(jù)(SEQ#最大的差分JNL所具有的數(shù)據(jù))。為了避免該問(wèn)題,實(shí)施例3在確定了進(jìn)行從第三存儲(chǔ)器105C到第二存儲(chǔ)器105B 的差分遠(yuǎn)程同步的情況下,進(jìn)行圖33中所示的處理。S卩,第二DKC111B在到結(jié)束差分遠(yuǎn)程同步為止的期間內(nèi)接收到指定了 DV0L113B的讀請(qǐng)求時(shí)(S3301),在CM630B中確保CM區(qū)域(S3302),判斷差分遠(yuǎn)程同步是否是從第三存儲(chǔ)器105C向第二存儲(chǔ)器105B的差分遠(yuǎn)程同步(S3303)。在該判斷結(jié)果為否定的情況下(S3303 否),第二DKC111B從在讀請(qǐng)求中指定的讀取源塊(DV0L113B內(nèi)的塊)讀出數(shù)據(jù),將讀出的數(shù)據(jù)寫入CM區(qū)域,并將CM區(qū)域內(nèi)的數(shù)據(jù)發(fā)送至第二主機(jī)103B(S3307)。在S3303的判斷結(jié)果為肯定的情況下(S3303 是),第二 DKC111B判斷讀取源塊成為反映目的地的最新的JNL是否位于第二 JV0L115B (S3304)。在此所說(shuō)的“最新的JNL” 是第二以及第三JVOLl 15B以及115C所具有的一個(gè)以上的差分JNL中的、讀取源塊成為反映目的地的一個(gè)以上的JNL中的某一個(gè),是包含這些一個(gè)以上的JNL所具有的一個(gè)以上的 SEQ#中的最大的SEQ#的JNL。從而,為了該判斷,第二 DKC111B掌握第三DV0L115B內(nèi)的差分JNL所具有的SEQ#。在該判斷的結(jié)果為肯定的情況下(S3304 是),第二 DKClIlB從第二 JVOLl 15B向 DVOL113B內(nèi)的讀取源塊反映最新的JNL (S3306),此后進(jìn)行S3307。另外,第二 DKCl 1IB在差分遠(yuǎn)程同步中,即使取得了上述讀取源塊為反映目的地的差分JNL、即比上述最新的JNL舊的差分JNL (包含比最新的JNL所具有的SEQ#小的SEQ#的JNL),也不向讀取源塊反映該差分JNL(例如,從第二 JVOLl 15B中清除該JNL)。此外,S3304 是的情況下的S3307中,可以代替從第二 DVOLl 13B提供向第二主機(jī)103B發(fā)送的數(shù)據(jù),而從JNL提供向第二主機(jī)103B發(fā)送的數(shù)據(jù)。在S3304的判斷結(jié)果為否定的情況下(S3304 否),第二 DKC111B向第三存儲(chǔ)器 105C發(fā)送包含最新的JNL的SEQ#的讀請(qǐng)求,由此從第三存儲(chǔ)器105C接收最新的JNL,并將該最新的JNL寫入第二 JV0L115B。S卩,第二 DKC111B與其他JNL相比優(yōu)先從第三存儲(chǔ)器 105C取得最新的JNL。此后,第二 DKC111B進(jìn)行上述的S3306以及S3307。另外,在S3304: 否的情況下的S3307中,也可以代替從第二 DKC111B提供發(fā)送給第二主機(jī)103B的數(shù)據(jù),而從JNL提供發(fā)送給第二主機(jī)103B的數(shù)據(jù)。根據(jù)實(shí)施例3,與實(shí)施例1相比能夠盡快開始業(yè)務(wù),而且也可以避免因在差分遠(yuǎn)程同步中DVOLl 13B為讀取許可狀態(tài)而產(chǎn)生的問(wèn)題(向第二主機(jī)103C提供舊的數(shù)據(jù)而不是最新的數(shù)據(jù))。實(shí)施例4在實(shí)施例4中,即使在存儲(chǔ)器105B以及105C之間不進(jìn)行全部差分JNL的轉(zhuǎn)發(fā),也能夠進(jìn)行差分遠(yuǎn)程同步。例如,在圖26的S2606之后,第二 DKC111B判斷與差分JNL相當(dāng)?shù)奈捶从车腏NL 是否存在于舊存儲(chǔ)器中(S3401)。在此,“舊存儲(chǔ)器”是存儲(chǔ)器105B或105C中作為可清除SEQ#而具有SEQ#(2)以及 SEQ#(3)中的小的一方的SEQ#的存儲(chǔ)裝置。以下,將存儲(chǔ)器105B以及105C中的不是舊存儲(chǔ)器的一方稱為“新存儲(chǔ)器”。此外,“與差分JNL相當(dāng)?shù)奈捶从车腏NL存在于舊存儲(chǔ)器”是指如圖35所示,在舊存儲(chǔ)器內(nèi)的JVOL中存在具有大于舊存儲(chǔ)器中的可清除的SEQ#的SEQ#的未反映JNL。在舊存儲(chǔ)器為第二存儲(chǔ)器105B的情況下,例如如果在第二 JV0L115B中有至少一個(gè)未反映的JNL,則S3401的判斷結(jié)果是肯定。此外,在舊存儲(chǔ)器為第三存儲(chǔ)器105C的情況下,例如第二 DKCl 1IB向第三DKCl 1IC 詢問(wèn)一個(gè)以上的未反映的JNL中的最新的JNL具有的SEQ#表示的值,由此能夠進(jìn)行S3401 的判斷。具體地說(shuō),第二 DKC111B通過(guò)比較從第三DKC111C回答的SEQ#(以下稱為回答 SEQ#)和SEQ#(3)+1,能夠進(jìn)行S3401的判斷。如果回答SEQ#為SEQ#(3)+1以上,貝丨J S3401 的判斷結(jié)果為肯定。在S3401的判斷結(jié)果為否定的情況下(S3401 否)的情況下,進(jìn)行圖26的S2607。在S3401的判斷結(jié)果為肯定的情況下(S3401 否)的情況下,第二 DKC111B判斷舊存儲(chǔ)器內(nèi)的未反映JNL是否足夠(S3402)。如果舊存儲(chǔ)器內(nèi)的最新的未反映JNL所具有的SEQ#是一個(gè)以上的差分JNL中的最新的JNL所具有的SEQ#以上,則該判斷的結(jié)果是肯定。如果該判斷的結(jié)果為肯定(S3402:是),則舊存儲(chǔ)器內(nèi)的DKC向舊存儲(chǔ)器內(nèi)的 DVOL反映舊存儲(chǔ)器內(nèi)的一個(gè)以上的未反映的JNL中的、全部的相當(dāng)于一個(gè)以上的差分JNL 的JNL(S3403)。假如,未反映的JNL剩余,則舊存儲(chǔ)器內(nèi)的DKC可以清除剩余的JNL。如果S3402的判斷結(jié)果為否定(S3402 否)則進(jìn)行S3404。SP,舊存儲(chǔ)器內(nèi)的DKC從新存儲(chǔ)器取得不足的部分的差分JNL(與舊存儲(chǔ)器內(nèi)的未反映的JNL和一個(gè)以上的差分 JNL之間的差分相當(dāng)?shù)腏NL),并將該差分JNL存儲(chǔ)在舊存儲(chǔ)器內(nèi)的JV0L。然后,舊存儲(chǔ)器內(nèi)的DKC向舊存儲(chǔ)器內(nèi)的DVOL反映舊存儲(chǔ)器內(nèi)的JVOL內(nèi)的全部未反映JNL以及差分JNL。以上說(shuō)明了本發(fā)明的幾個(gè)實(shí)施例,但本發(fā)明并不限定于這些實(shí)施例,當(dāng)然可以在不脫離其主旨的范圍內(nèi)進(jìn)行各種變更。例如,也可以組合實(shí)施例1 4中的兩個(gè)以上的實(shí)施例。此外,例如在上述的說(shuō)明中作為更新序號(hào)而使用了時(shí)序序號(hào)(SEQ#),但也可以采用按規(guī)則變大或者變小的其他種類的序號(hào)。此外,例如在實(shí)施例1 4中,在第一存儲(chǔ)器105A停止的情況下,運(yùn)用的切換目的地的站點(diǎn)中的第二存儲(chǔ)器105B進(jìn)行各種處理(例如判斷是否可以進(jìn)行差分(△)遠(yuǎn)程同步),但也可以通過(guò)第三存儲(chǔ)器105C來(lái)進(jìn)行實(shí)施例1 4中的至少一個(gè)中的各種處理中的至少一個(gè)處理。此外,例如全部JNL具有更新后的SEQ#,但也可以代替它們而具有更新前的SEQ#。此外,例如存儲(chǔ)器105A 105C中的至少一個(gè)存儲(chǔ)器可以有多個(gè)JNL組。此外,例如存儲(chǔ)器105A 105C中的至少一個(gè)存儲(chǔ)器可以具有在JNL組中包含的邏輯卷以外的邏輯卷。此外,例如存儲(chǔ)裝置之間的JNL的轉(zhuǎn)發(fā),可以是通過(guò)復(fù)制目的地的存儲(chǔ)裝置從復(fù)制源的存儲(chǔ)裝置內(nèi)的JVOL讀出JNL來(lái)進(jìn)行的轉(zhuǎn)發(fā)、和復(fù)制源的存儲(chǔ)裝置在復(fù)制目的地的存儲(chǔ)裝置內(nèi)的JVOL中寫入JNL來(lái)進(jìn)行的轉(zhuǎn)發(fā)中的任意一種。符號(hào)說(shuō)明IOlA…第一存儲(chǔ)裝置;IOlB…第二存儲(chǔ)裝置;IOlC…第三存儲(chǔ)裝置
權(quán)利要求
1.一種非同步遠(yuǎn)程復(fù)制系統(tǒng),是進(jìn)行非同步遠(yuǎn)程復(fù)制的存儲(chǔ)系統(tǒng),該非同步遠(yuǎn)程復(fù)制系統(tǒng)的特征在于,具有第一存儲(chǔ)裝置,其具有第一存儲(chǔ)資源組,且與第一主機(jī)裝置連接; 第二存儲(chǔ)裝置,其具有第二存儲(chǔ)資源組,且與第二主機(jī)裝置連接;和第三存儲(chǔ)裝置,其具有第三存儲(chǔ)資源組,所述第一存儲(chǔ)資源組具有作為被寫入數(shù)據(jù)的邏輯卷的第一數(shù)據(jù)卷、以及作為被寫入數(shù)據(jù)的日志的存儲(chǔ)資源的第一日志存儲(chǔ)資源,所述第二存儲(chǔ)資源組具有作為被寫入數(shù)據(jù)的邏輯卷的第二數(shù)據(jù)卷、以及作為被寫入數(shù)據(jù)的日志的存儲(chǔ)資源的第二日志存儲(chǔ)資源,所述第三存儲(chǔ)資源組具有作為被寫入數(shù)據(jù)的邏輯卷的第三數(shù)據(jù)卷、以及作為被寫入數(shù)據(jù)的日志的存儲(chǔ)資源的第三日志存儲(chǔ)資源,在從所述主機(jī)裝置向所述第一數(shù)據(jù)卷寫入數(shù)據(jù)時(shí),所述第一存儲(chǔ)裝置更新更新序號(hào), 制作包含該更新序號(hào)和該數(shù)據(jù)的日志,并將該日志寫入所述第一日志存儲(chǔ)資源,其中,該更新序號(hào)是每次在所述第一存儲(chǔ)資源組內(nèi)的數(shù)據(jù)卷中寫入數(shù)據(jù)時(shí)被更新的序號(hào),進(jìn)行多目標(biāo)方式的非同步遠(yuǎn)程復(fù)制,在該非同步遠(yuǎn)程復(fù)制中,所述日志被從所述第一存儲(chǔ)裝置轉(zhuǎn)發(fā)到所述第二存儲(chǔ)裝置,并被反映到所述第二數(shù)據(jù)卷,由此把所述第一數(shù)據(jù)卷內(nèi)的數(shù)據(jù)寫入所述第二數(shù)據(jù)卷,而且所述日志被從所述第一存儲(chǔ)裝置轉(zhuǎn)發(fā)到所述第三存儲(chǔ)裝置,并被反映到所述第三數(shù)據(jù)卷,由此把所述第一數(shù)據(jù)卷內(nèi)的數(shù)據(jù)寫入所述第三數(shù)據(jù)卷, (X)在所述第一存儲(chǔ)裝置停止時(shí),(xl)判斷在所述第二存儲(chǔ)裝置中最近反映的日志所具有的更新序號(hào)和在所述第三存儲(chǔ)裝置中最近反映的日志所具有的更新序號(hào)中的哪一個(gè)新;(χ2)判斷在所述第二以及第三存儲(chǔ)裝置中、作為具有在所述(xl)中判斷為新的更新序號(hào)的存儲(chǔ)裝置的新存儲(chǔ)裝置中是否有一個(gè)以上的差分日志,該一個(gè)以上的差分日志是從具有在所述(xl)中沒(méi)有判斷為新的更新序號(hào)的下一個(gè)更新序號(hào)的日志開始到具有在所述 (xl)中判斷為新的更新序號(hào)的日志為止的一個(gè)以上的日志;(x3)在所述(χ2)的判斷結(jié)果為肯定的情況下,從所述新存儲(chǔ)裝置向舊存儲(chǔ)裝置復(fù)制所述一個(gè)以上的差分日志,所述舊存儲(chǔ)裝置是所述第二以及第三存儲(chǔ)裝置中不是所述新存儲(chǔ)裝置的存儲(chǔ)裝置;(x4)所述舊存儲(chǔ)裝置按照更新序號(hào)的順序向所述舊存儲(chǔ)裝置內(nèi)的數(shù)據(jù)卷反映所述一個(gè)以上的差分日志。
2.根據(jù)權(quán)利要求1所述的非同步遠(yuǎn)程復(fù)制系統(tǒng),其特征在于,所述第二存儲(chǔ)裝置是所述舊存儲(chǔ)裝置,所述第三存儲(chǔ)裝置是所述新存儲(chǔ)裝置, 所述第二數(shù)據(jù)卷處于禁止來(lái)自所述第二主機(jī)裝置的數(shù)據(jù)的寫入的寫入禁止?fàn)顟B(tài), 在所述(x2)的判斷結(jié)果為肯定的情況下,所述第二存儲(chǔ)裝置使所述第二數(shù)據(jù)卷成為可以進(jìn)行來(lái)自所述第二主機(jī)裝置的數(shù)據(jù)的寫入的寫入許可狀態(tài),所述第二存儲(chǔ)裝置,在使所述第二數(shù)據(jù)卷成為寫入許可狀態(tài)后,從所述第二主機(jī)裝置接收到指定了所述第二數(shù)據(jù)卷中的寫入目的地的寫入請(qǐng)求時(shí), (wl)將按照所述寫入請(qǐng)求的數(shù)據(jù)寫入所述寫入目的地, (w2)將所述寫入目的地作為差分日志的非反映目的地來(lái)管理,在所述(x4)中,所述第二存儲(chǔ)裝置進(jìn)行如下操作(x41)判斷所述第二日志存儲(chǔ)資源內(nèi)的差分日志的反映目的地是否是非反映目的地; (x42)如果所述(x41)的判斷結(jié)果為否定,則反映所述差分日志; (x43)如果所述(x41)的判斷結(jié)果為肯定,則不反映所述差分日志。
3.根據(jù)權(quán)利要求1所述的非同步遠(yuǎn)程復(fù)制系統(tǒng),其特征在于,所述第二存儲(chǔ)裝置是所述舊存儲(chǔ)裝置,所述第三存儲(chǔ)裝置是所述新存儲(chǔ)裝置, 所述第二數(shù)據(jù)卷處于禁止從所述第二主機(jī)裝置讀取數(shù)據(jù)的讀取禁止?fàn)顟B(tài), 在所述(x2)的判斷結(jié)果為肯定的情況下,所述第二存儲(chǔ)裝置使所述第二數(shù)據(jù)卷成為可以從所述第二主機(jī)裝置讀取數(shù)據(jù)的讀取許可狀態(tài),所述第二存儲(chǔ)裝置,在使所述第二數(shù)據(jù)卷成為讀取許可狀態(tài)之后,從所述第二主機(jī)裝置接收到指定了所述第二數(shù)據(jù)卷中的讀取源的讀取請(qǐng)求時(shí),(R)將對(duì)象日志所具有的數(shù)據(jù)發(fā)送給所述第二主機(jī)裝置,所述對(duì)象日志是讀取源成為反映目的地的差分日志中的、具有最新的更新序號(hào)的差分日志。
4.根據(jù)權(quán)利要求3所述的非同步遠(yuǎn)程復(fù)制系統(tǒng),其特征在于, 在所述(R)中,所述第二存儲(chǔ)裝置進(jìn)行如下操作(rl)判斷所述第二以及第三日志存儲(chǔ)資源中的、讀取源成為反映目的地的差分日志中,作為具有最新的更新序號(hào)的差分日志的對(duì)象日志是否在所述第二日志存儲(chǔ)資源中;(r2)如果所述(rl)的判斷結(jié)果為肯定,則向所述第二數(shù)據(jù)卷反映所述對(duì)象日志,且向所述第二主機(jī)裝置發(fā)送所述對(duì)象日志所具有的數(shù)據(jù);(r3)如果所述(rl)的判斷結(jié)果為否定,則與其他日志相比優(yōu)先從所述第三存儲(chǔ)裝置取得所述對(duì)象日志,將所述對(duì)象日志寫入所述第二日志存儲(chǔ)資源中,向所述第二數(shù)據(jù)卷反映所述對(duì)象日志,并將所述對(duì)象日志所具有的數(shù)據(jù)發(fā)送給所述第二主機(jī)裝置。
5.根據(jù)權(quán)利要求1所述的非同步遠(yuǎn)程復(fù)制系統(tǒng),其特征在于,(P)所述第二或第三存儲(chǔ)裝置判斷在所述舊存儲(chǔ)裝置內(nèi)的日志存儲(chǔ)資源中是否有相當(dāng)于所述差分日志的未反映的日志;(Q)如果所述(P)的判斷結(jié)果為肯定,則所述舊存儲(chǔ)裝置向自身的數(shù)據(jù)卷反映相當(dāng)于所述差分日志的未反映的日志;針對(duì)與在所述(Q)中被反映的未反映的日志相對(duì)應(yīng)的差分日志,代替所述(χ3)以及 (χ4),進(jìn)行所述(Q)。
6.根據(jù)權(quán)利要求1所述的非同步遠(yuǎn)程復(fù)制系統(tǒng),其特征在于, 所述第一存儲(chǔ)裝置進(jìn)行如下操作(H)從所述第一日志存儲(chǔ)資源中清除關(guān)于所述第二以及第三存儲(chǔ)資源組共同的可清除的日志;(I)判斷所述第一日志存儲(chǔ)資源的使用率是否超過(guò)預(yù)定的閾值;(J)在所述(I)的判斷結(jié)果為肯定的情況下,在第一關(guān)系以及第二關(guān)系中,解除從所述第一日志存儲(chǔ)資源中可清除的日志的數(shù)量少的一方的關(guān)系,所述第一關(guān)系是所述第一存儲(chǔ)資源組和所述第二存儲(chǔ)資源組的關(guān)系,所述第二關(guān)系是所述第一存儲(chǔ)資源組和所述第三存儲(chǔ)資源組的關(guān)系;(K)從所述第一日志存儲(chǔ)資源中清除關(guān)于所述第二以及第三存儲(chǔ)資源組中與未被解除的關(guān)系相關(guān)的存儲(chǔ)資源組的可清除的日志,所述第一日志存儲(chǔ)資源的使用率是所述第一日志存儲(chǔ)資源內(nèi)的一個(gè)以上的JNL的總?cè)萘肯鄬?duì)于所述第一日志存儲(chǔ)資源的容量的比例。
7.根據(jù)權(quán)利要求6所述的非同步遠(yuǎn)程復(fù)制系統(tǒng),其特征在于,(L)所述第一存儲(chǔ)裝置關(guān)于被掛起的對(duì),在所述第一數(shù)據(jù)卷內(nèi)的寫入目的地寫入了數(shù)據(jù)的情況下,對(duì)于不制作具有該數(shù)據(jù)的JNL,而在該寫入目的地中進(jìn)行了更新的情況進(jìn)行管理,(M)所述第一存儲(chǔ)裝置應(yīng)答預(yù)定的命令,制作包含位于進(jìn)行了更新的寫入目的地的數(shù)據(jù)的日志,并將該日志發(fā)送給具有與所述作為瓶頸的對(duì)相關(guān)的數(shù)據(jù)卷的存儲(chǔ)裝置,(N)該存儲(chǔ)裝置將該日志寫入自身的日志存儲(chǔ)資源中,并將該日志存儲(chǔ)資源內(nèi)的日志反映到自身的數(shù)據(jù)卷。
8.根據(jù)權(quán)利要求1所述的非同步遠(yuǎn)程復(fù)制系統(tǒng),其特征在于,在所述(χ)的情況下,從所述第一主機(jī)裝置向所述第二主機(jī)裝置進(jìn)行故障切換,所述第二主機(jī)裝置向所述第二存儲(chǔ)裝置發(fā)送預(yù)定的命令,所述第二存儲(chǔ)裝置接收所述預(yù)定的命令,應(yīng)答所述預(yù)定的命令,執(zhí)行所述(xl)以及 (χ2)。
9.根據(jù)權(quán)利要求1所述的非同步遠(yuǎn)程復(fù)制系統(tǒng),其特征在于,所述第二數(shù)據(jù)卷處于禁止從所述第二主機(jī)裝置寫入數(shù)據(jù)的寫入禁止?fàn)顟B(tài), 在完成所述(x4)之后,所述第二存儲(chǔ)裝置使所述第二數(shù)據(jù)卷成為可以從所述第二主機(jī)裝置寫入數(shù)據(jù)的寫入許可狀態(tài)。
10.根據(jù)權(quán)利要求1所述的非同步遠(yuǎn)程復(fù)制系統(tǒng),其特征在于, 所述第二以及第三存儲(chǔ)資源組共用所述第一日志存儲(chǔ)資源,在所述(Dl)中,所述第二存儲(chǔ)裝置從所述第一存儲(chǔ)裝置讀取具有在所述第二日志存儲(chǔ)資源中最新的更新序號(hào)的下一個(gè)更新序號(hào)的日志,并將讀取的日志寫入所述第二日志存儲(chǔ)資源中,在所述(D2)中,所述第三存儲(chǔ)裝置從所述第一存儲(chǔ)裝置讀取具有在所述第三日志存儲(chǔ)資源中最新的更新序號(hào)的下一個(gè)更新序號(hào)的日志,并將讀取的日志寫入所述第三日志存儲(chǔ)資源中。
11.一種存儲(chǔ)控制方法,是作為進(jìn)行非同步遠(yuǎn)程復(fù)制的存儲(chǔ)系統(tǒng)的非同步遠(yuǎn)程復(fù)制系統(tǒng)中的存儲(chǔ)控制方法,其特征在于,所述非同步遠(yuǎn)程復(fù)制系統(tǒng)具有第一存儲(chǔ)裝置,其具有第一存儲(chǔ)資源組,且與第一主機(jī)裝置連接; 第二存儲(chǔ)裝置,其具有第二存儲(chǔ)資源組,且與第二主機(jī)裝置連接;以及第三存儲(chǔ)裝置,其具有第三存儲(chǔ)資源組,且與第三主機(jī)裝置連接, 所述第一存儲(chǔ)資源組具有作為被寫入數(shù)據(jù)的邏輯卷的第一數(shù)據(jù)卷、以及作為被寫入數(shù)據(jù)的日志的存儲(chǔ)資源的第一日志存儲(chǔ)資源,所述第二存儲(chǔ)資源組具有作為被寫入數(shù)據(jù)的邏輯卷的第二數(shù)據(jù)卷、以及作為被寫入數(shù)據(jù)的日志的存儲(chǔ)資源的第二日志存儲(chǔ)資源,所述第三存儲(chǔ)資源組具有作為被寫入數(shù)據(jù)的邏輯卷的第三數(shù)據(jù)卷、以及作為被寫入數(shù)據(jù)的日志的存儲(chǔ)資源的第三日志存儲(chǔ)資源,在從所述主機(jī)裝置向所述第一數(shù)據(jù)卷寫入數(shù)據(jù)時(shí),所述第一存儲(chǔ)裝置更新更新序號(hào), 制作包含該更新序號(hào)和該數(shù)據(jù)的日志,并將該日志寫入所述第一日志存儲(chǔ)資源中,其中,該更新序號(hào)是每次在所述第一存儲(chǔ)資源組內(nèi)的數(shù)據(jù)卷中寫入數(shù)據(jù)時(shí)被更新的序號(hào),進(jìn)行多目標(biāo)方式的非同步遠(yuǎn)程復(fù)制,在該非同步遠(yuǎn)程復(fù)制中,所述日志被從所述第一存儲(chǔ)裝置轉(zhuǎn)發(fā)到所述第二存儲(chǔ)裝置,并被反映到所述第二數(shù)據(jù)卷,由此把所述第一數(shù)據(jù)卷內(nèi)的數(shù)據(jù)寫入所述第二數(shù)據(jù)卷,而且所述日志被從所述第一存儲(chǔ)裝置轉(zhuǎn)發(fā)到所述第三存儲(chǔ)裝置,并被反映到所述第三數(shù)據(jù)卷,由此把所述第一數(shù)據(jù)卷內(nèi)的數(shù)據(jù)寫入所述第三數(shù)據(jù)卷, 在所述第一存儲(chǔ)裝置停止時(shí),所述存儲(chǔ)控制方法執(zhí)行如下步驟 (xl)判斷在所述第二存儲(chǔ)裝置中最近反映的日志所具有的更新序號(hào)和在所述第三存儲(chǔ)裝置中最近反映的日志所具有的更新序號(hào)中的哪一個(gè)新;(x2)判斷在所述第二以及第三存儲(chǔ)裝置中、作為具有在所述(xl)中判斷為新的更新序號(hào)的存儲(chǔ)裝置的新存儲(chǔ)裝置中,是否有一個(gè)以上的差分日志,該一個(gè)以上的差分日志是從具有在所述(xl)中沒(méi)有判斷為新的更新序號(hào)的下一個(gè)更新序號(hào)的日志開始到具有在所述(xl)中判斷為新的更新序號(hào)的日志為止的一個(gè)以上的日志;(x3)在所述(χ2)的判斷結(jié)果為肯定的情況下,從所述新存儲(chǔ)裝置內(nèi)的日志存儲(chǔ)資源向舊存儲(chǔ)裝置內(nèi)的日志存儲(chǔ)資源復(fù)制所述一個(gè)以上的差分日志,所述舊存儲(chǔ)裝置是所述第二以及第三存儲(chǔ)裝置中不是所述新存儲(chǔ)裝置的存儲(chǔ)裝置;(x4)在所述舊存儲(chǔ)裝置中,按照更新序號(hào)的順序向所述舊存儲(chǔ)裝置內(nèi)的數(shù)據(jù)卷反映所述一個(gè)以上的差分日志。
全文摘要
在第一存儲(chǔ)裝置停止的情況下,判斷在第二存儲(chǔ)裝置中最近反映的日志所具有的更新序號(hào)和在第三存儲(chǔ)裝置中最近反映的日志所具有的更新序號(hào)中的哪一個(gè)新。判斷在具有被判斷為新的更新序號(hào)的新存儲(chǔ)裝置中是否有從具有沒(méi)有被判斷為新的更新序號(hào)的下一個(gè)更新序號(hào)的日志開始到具有被判斷為新的更新序號(hào)的日志為止的一個(gè)以上的差分日志。在該判斷的結(jié)果為肯定的情況下,從新存儲(chǔ)裝置向第二以及第三存儲(chǔ)裝置中不是新存儲(chǔ)裝置的一方、即舊存儲(chǔ)裝置復(fù)制一個(gè)以上的差分日志。在舊存儲(chǔ)裝置中,一個(gè)以上的差分日志按更新序號(hào)的順序被反映到舊存儲(chǔ)裝置內(nèi)的數(shù)據(jù)卷。
文檔編號(hào)G06F12/00GK102326152SQ20108000883
公開日2012年1月18日 申請(qǐng)日期2010年4月7日 優(yōu)先權(quán)日2010年4月7日
發(fā)明者奧元?jiǎng)俨? 近藤修次 申請(qǐng)人:株式會(huì)社日立制作所
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
枣庄市| 灵台县| 平南县| 永康市| 西青区| 广南县| 哈密市| 沁源县| 楚雄市| 华宁县| 镇康县| 潼南县| 南汇区| 绍兴市| 达拉特旗| 祁连县| 屏东市| 嘉峪关市| 会昌县| 阿勒泰市| 怀安县| 镇安县| 高安市| 礼泉县| 武邑县| 化德县| 建昌县| 乳山市| 青州市| 淳安县| 青阳县| 吉林市| 周至县| 兴文县| 乡城县| 张家界市| 青阳县| 黔江区| 专栏| 临邑县| 延津县|