国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      非同步資料卷復(fù)制的方法及其儲存系統(tǒng)的制作方法

      文檔序號:6515959閱讀:231來源:國知局
      非同步資料卷復(fù)制的方法及其儲存系統(tǒng)的制作方法
      【專利摘要】本發(fā)明是有關(guān)一種非同步資料卷復(fù)制的方法及其存儲系統(tǒng)。該方法包括以下步驟:鏡射位于一第一位置的一來源資料卷的數(shù)據(jù)到位于一第二位置的一目的資料卷;接收一主機(jī)輸出入要求,來自位于該第一位置的一主機(jī),且欲對該來源資料卷的一第一數(shù)據(jù)區(qū)塊寫入一更新數(shù)據(jù);執(zhí)行一寫入備份操作,先判斷該來源資料卷將被寫入的該第一數(shù)據(jù)區(qū)塊的數(shù)據(jù)是否與該目的資料卷相對應(yīng)的一第二數(shù)據(jù)區(qū)塊的數(shù)據(jù)相同,而決定是否執(zhí)行一將該來源資料卷的該第一數(shù)據(jù)區(qū)塊的原始數(shù)據(jù)備份至位于該第一位置的一第一備份影像;寫入該更新數(shù)據(jù)至該來源資料卷的該第一數(shù)據(jù)區(qū)塊;以及回復(fù)該主機(jī)該主機(jī)輸出入要求已經(jīng)完成。該存儲系統(tǒng)執(zhí)行該方法。本發(fā)明,可以使得傳輸至遠(yuǎn)端的目的資料卷的數(shù)據(jù)量降到最少。
      【專利說明】非同步資料卷復(fù)制的方法及其儲存系統(tǒng)
      [0001]本申請是申請日為2010年01月22日,申請?zhí)枮?01010111111.1,發(fā)明名稱為“非
      同步資料卷復(fù)制的方法及其儲存系統(tǒng)” 一案的分案申請。
      【技術(shù)領(lǐng)域】
      [0002]本發(fā)明涉及一種資料卷復(fù)制的方法及其裝置,特別是涉及ー種將近端資料卷非同步復(fù)制至遠(yuǎn)端資料卷的方法及其儲存系統(tǒng)。
      【背景技術(shù)】
      [0003]在現(xiàn)代社會中,儲存裝置被廣泛地應(yīng)用于各式各樣的電腦系統(tǒng)或儲存系統(tǒng)之中。依照儲存的目的,有些儲存裝置是用來儲存系統(tǒng)運(yùn)作時需要常態(tài)性存取的數(shù)據(jù),此類儲存裝置稱為主要儲存裝置(primary storage device)。而另ー些儲存裝置則是用來儲存主要儲存裝置的備份數(shù)據(jù),此類儲存裝置稱為次要儲存裝置(secondary storage device),以便當(dāng)主要儲存裝置失效或損壞時,可以取代主要儲存裝置而讓系統(tǒng)維持正常運(yùn)作,以增加系統(tǒng)的可靠性(reliability)。
      [0004]儲存裝置可以是硬式磁盤機(jī)(hard disk drive)、磁帶(tape)、內(nèi)存記錄裝置(memory drive)、光儲存記錄裝置(optical storage drive)或其他可以用于儲存數(shù)據(jù)的儲存裝置。這些儲存裝置都稱為“實(shí)體儲存裝置”(physical storage device, PSD) 0
      [0005]儲存系統(tǒng)(或電腦系統(tǒng))在管理數(shù)據(jù)時,實(shí)際上并不是以ー個實(shí)體儲存裝置(PSD)為單位,而是利用儲存虛擬化(storage virtualization)技術(shù),將ー或數(shù)個實(shí)體儲存裝置(PSD)的不同區(qū)段結(jié)合成ー個邏輯盤(Logical Drive,LD)或分割區(qū)(partition)。若是控制器將邏輯盤(Logical Drive,LD)或分割區(qū)(partition)映射(map)出去供主機(jī)(host)存取,則稱為一個邏輯單兀(logical unit number,LUN)。一個邏輯盤(Logical Drive,LD)或分割區(qū)(partition)可以進(jìn)ー步地劃分為ー或多個數(shù)據(jù)儲存區(qū)域(data storage area),稱之為媒體區(qū)(Media Extend)。許多儲存系統(tǒng)會對其部份或全部的資料卷(volume)做整體地數(shù)據(jù)復(fù)制(replicate)至其他資料卷(volume)之中,如此當(dāng)原始數(shù)據(jù)損壞或無法讀取時,可以利用復(fù)制數(shù)據(jù)來恢復(fù)原始數(shù)據(jù),或者以復(fù)制數(shù)據(jù)代替原始數(shù)據(jù)作為其他應(yīng)用。
      [0006]若是稱復(fù)制數(shù)據(jù)的來源是來源資料卷(source volume),復(fù)制數(shù)據(jù)的儲存位置是目的資料卷(destination volume),以資料卷(volume)為單位制作復(fù)制數(shù)據(jù)具有以下用途:來源資料卷(source volume)的備份、報告、歸檔,或者用來代替來源資料卷(sourcevolume)進(jìn)行任何需要來源資料卷(source volume)的操作,例如:模擬、預(yù)報、數(shù)據(jù)采礦(data mining)等。尤其,許多數(shù)據(jù)存取的操作都需要先對欲存取的數(shù)據(jù)做鎖定(locking),如此不可避免地會影響數(shù)據(jù)讀寫的績效,亦會影響主機(jī)(host)對數(shù)據(jù)的正常存?。灰虼?,若利用目的資料卷(destination volume)代替來源資料卷(source volume)進(jìn)行上述操作,貝1J可以在不影響來源資料卷(source volume)的績效下提供主機(jī)(host)數(shù)據(jù)存取的服務(wù)。
      [0007]資料卷復(fù)制雖然提供了以上種種的優(yōu)點(diǎn)與功用,但是若是備份數(shù)據(jù)與來源數(shù)據(jù)皆儲存在同一地點(diǎn)的儲存系統(tǒng)之中,ー但遇到ー些重大的災(zāi)害,例如:地震、火災(zāi)、恐怖攻擊,導(dǎo)致整個儲存系統(tǒng)或儲存裝置遭到實(shí)體上的破壞,則仍然無法維護(hù)數(shù)據(jù)的安全性,會導(dǎo)致重要數(shù)據(jù)的永久性喪失。
      [0008]為解決以上問題,遠(yuǎn)端資料卷復(fù)制的方式應(yīng)運(yùn)而生,藉由將重要數(shù)據(jù)的備份數(shù)據(jù)復(fù)制至另一地點(diǎn)的遠(yuǎn)端儲存裝置中,以確保重要數(shù)據(jù)的安全性。
      [0009]只是,要將近端的數(shù)據(jù)復(fù)制至遠(yuǎn)端的儲存裝置,需要通過網(wǎng)絡(luò)來進(jìn)行傳輸。因此,網(wǎng)絡(luò)線傳輸?shù)念l寬限制是進(jìn)行遠(yuǎn)端資料卷復(fù)制的一大瓶頸。因此,對于遠(yuǎn)端資料卷復(fù)制領(lǐng)域而言,需要有一復(fù)制技術(shù)可以回避此遠(yuǎn)端數(shù)據(jù)傳輸?shù)钠款i限制,讓儲存系統(tǒng)的運(yùn)作績效不至因此而明顯受到影響。

      【發(fā)明內(nèi)容】

      [0010]本發(fā)明的目的在于提供一種應(yīng)用在遠(yuǎn)端資料卷復(fù)制的方法及其儲存系統(tǒng),可以因應(yīng)數(shù)據(jù)遠(yuǎn)端傳輸時的網(wǎng)絡(luò)頻寬限制問題,而讓儲存系統(tǒng)的運(yùn)作績效維持在較佳的水準(zhǔn)。
      [0011]本發(fā)明的目的及解決其技術(shù)問題是采用以下技術(shù)方案來實(shí)現(xiàn)的。依據(jù)本發(fā)明提出的一種非同步資料卷復(fù)制的方法,其包括以下步驟:鏡射位于ー第一位置的一來源資料卷的數(shù)據(jù)到位于ー第二位置的一目的資料卷以形成一鏡射對并立即執(zhí)行分離作業(yè),該來源資料卷與該目的資料卷各自建立專屬的一資料卷記錄表與ー資料卷區(qū)塊更新表,其中該資料卷記錄表用以記錄該兩資料卷間的同步狀態(tài)資訊,該資料卷區(qū)塊更新表用以記錄該資料卷的每ー數(shù)據(jù)區(qū)塊的更新狀態(tài)資訊,該來源數(shù)據(jù)卷包含有一第一數(shù)據(jù)區(qū)塊,而該目的數(shù)據(jù)卷包含有相對應(yīng)于該第一數(shù)據(jù)區(qū)塊之一第二數(shù)據(jù)區(qū)塊;執(zhí)行一背景拷貝來源資料卷至目的資料卷步驟;接收ー主機(jī)輸出入要求,該主機(jī)輸出入要求欲對該來源資料卷的該第一數(shù)據(jù)區(qū)塊寫入一更新數(shù)據(jù);執(zhí)行一寫入備份操作,該寫入備份操作先判斷該第一數(shù)據(jù)區(qū)塊的數(shù)據(jù)是否與該目的資料卷的該第二數(shù)據(jù)區(qū)塊的數(shù)據(jù)相同,而決定是否將該第一數(shù)據(jù)區(qū)塊的該數(shù)據(jù)備份至位于該第一位置的一第一備份影像,其中該第一數(shù)據(jù)區(qū)塊中所儲存之該原始數(shù)據(jù)系為該來源數(shù)據(jù)卷在分離時間點(diǎn)所記錄的數(shù)據(jù);寫入該更新數(shù)據(jù)至該來源資料卷的該第一數(shù)據(jù)區(qū)塊;以及回復(fù)該主機(jī)該主機(jī)輸出入要求已經(jīng)完成。
      [0012]本發(fā)明的目的及解決其技術(shù)問題還可采用以下技術(shù)措施進(jìn)ー步實(shí)現(xiàn)。
      [0013]前述的非同步資料卷復(fù)制的方法,其中該第一備份影像是由一區(qū)段分配系統(tǒng)管理。
      [0014]前述的非同步資料卷復(fù)制的方法,其中還進(jìn)行該背景拷貝來源資料卷至目的資料卷更用以將儲存于該第一備份影像中的數(shù)據(jù)、或該來源資料卷中的相對應(yīng)數(shù)據(jù)拷貝至該目的資料卷。
      [0015]前述的非同步資料卷復(fù)制的方法,其中所述的拷貝程序是藉由一通訊媒體將數(shù)據(jù)
      由該第一位置傳輸至該第二位置。
      [0016]前述的非同步資料卷復(fù)制的方法,其中該寫入備份操作更其中還包含:若該來源數(shù)據(jù)卷的該第一數(shù)據(jù)區(qū)塊的數(shù)據(jù)與該目的數(shù)據(jù)卷的該第二數(shù)據(jù)區(qū)塊的數(shù)據(jù)相同,則不將該來源數(shù)據(jù)卷的該第一數(shù)據(jù)區(qū)塊的數(shù)據(jù)備份至該第一備份影像,而若該來源數(shù)據(jù)卷的該第一數(shù)據(jù)區(qū)塊的數(shù)據(jù)與該目的數(shù)據(jù)卷的該第二數(shù)據(jù)區(qū)塊的數(shù)據(jù)不同,則將該來源資料卷的該第一數(shù)據(jù)區(qū)塊的數(shù)據(jù)備份至該第一備份影像。[0017]前述的非同步資料卷復(fù)制的方法,其中還增加一步驟:執(zhí)行ー背景拷貝來源資料卷至目的資料卷程序。
      [0018]前述的非同步資料卷復(fù)制的方法,其中還增加一步驟:判斷是否有一主機(jī)輸出入要求要對該來源資料卷存取數(shù)據(jù)。
      [0019]前述的非同步資料卷復(fù)制的方法,其中還增加一步驟:將該主機(jī)輸出入要求分解為至少ー邏輯盤輸出入要求,每ー該邏輯盤輸出入要求皆對應(yīng)到該來源資料卷中一欲存取數(shù)據(jù)區(qū)塊。
      [0020]前述的非同步資料卷復(fù)制的方法,其中還增加以下步驟:判斷該主機(jī)輸出入要求是否是一寫入要求;判斷該主機(jī)輸出入要求是否是存取該來源資料卷;以及從該來源資料卷的該欲存取區(qū)塊讀取數(shù)據(jù)。
      [0021]前述的非同步資料卷復(fù)制的方法,其中還增加一步驟:判斷對應(yīng)該至少ー邏輯盤輸出入要求的程序是否都已執(zhí)行完成。
      [0022]前述的非同步資料卷復(fù)制的方法,其中還增加一步驟:回報送出該主機(jī)輸出入要求的一主機(jī),該主機(jī)輸出入要求已處理完畢。
      [0023]前述的非同步資料卷復(fù)制的方法,其中該背景拷貝來源資料卷至目的資料卷程序包含以下步驟:對于該目的資料卷的ー資料卷區(qū)塊更新表的每ー項(xiàng)目所代表的每ー數(shù)據(jù)區(qū)塊,呼叫并執(zhí)行ー檢查/拷貝來源資料卷的區(qū)塊數(shù)據(jù)至目的資料卷程序;以及判斷是否還有任何該資料卷區(qū)塊更新表中所記錄的數(shù)據(jù)區(qū)塊尚未進(jìn)行同步復(fù)制。
      [0024]前述的非同步資料卷復(fù)制的方法,其中該檢查/拷貝來源資料卷的區(qū)塊數(shù)據(jù)至目的資料卷的程序還包含以下步驟:執(zhí)行ー檢查資料卷區(qū)塊是否已在同步狀態(tài)的程序,并且檢查該程序是否回傳ー “偽”訊息。
      [0025]前述的非同步資料卷復(fù)制的方法,其中該檢查/拷貝來源資料卷的區(qū)塊數(shù)據(jù)至目的資料卷的程序還包含以下步驟:拷貝該來源資料卷的區(qū)塊數(shù)據(jù)至該第一備份影像,以做為該寫入備份操作。
      [0026]前述的非同步資料卷復(fù)制的方法,其中該檢查/拷貝來源資料卷的區(qū)塊數(shù)據(jù)至目的資料卷的程序包含以下步驟:判斷該目的資料卷的ー資料卷區(qū)塊更新表中一正進(jìn)行處理的數(shù)據(jù)區(qū)塊的序號是否小于該第二變數(shù)的值。
      [0027]前述的非同步資料卷復(fù)制的方法,其中該檢查/拷貝來源資料卷的區(qū)塊數(shù)據(jù)至目的資料卷的程序還包含以下步驟:執(zhí)行ー檢查資料卷區(qū)塊是否已在同步狀態(tài)的程序,并且檢查該程序是否回傳ー “偽”訊息。
      [0028]前述的非同步資料卷復(fù)制的方法,其中該檢查/拷貝來源資料卷的區(qū)塊數(shù)據(jù)至目的資料卷的程序還包含以下步驟:判斷該目的資料卷是否是可存取。
      [0029]前述的非同步資料卷復(fù)制的方法,其中該檢查/拷貝來源資料卷的區(qū)塊數(shù)據(jù)至目的資料卷的程序還包含以下步驟:設(shè)定一同步錯誤旗標(biāo)為“真”。
      [0030]前述的非同步資料卷復(fù)制的方法,其中該檢查/拷貝來源資料卷的區(qū)塊數(shù)據(jù)至目的資料卷的程序還包含以下步驟:判斷該第一備份影像的ー對應(yīng)區(qū)塊是否是空的。
      [0031]前述的非同步資料卷復(fù)制的方法,其中只要該檢查資料卷區(qū)塊是否已在同步狀態(tài)的程序的該五個判斷步驟的任一的判斷結(jié)果為“是”,則回傳該“偽”訊息。
      [0032]前述的非同步資料卷復(fù)制的方法,其中該檢查資料卷區(qū)塊是否已在同步狀態(tài)的程序的該五個判斷步驟的所有判斷結(jié)果皆為“否”,則回傳一 “真”訊息。
      [0033]前述的非同步資料卷復(fù)制的方法,其中還包含一非同步復(fù)制失效轉(zhuǎn)移處理程序,包含以下步驟:解映射在該第一位置的一第一儲存虛擬化子系統(tǒng)中的該目的資料卷以及其對應(yīng)的一第二區(qū)段分配系統(tǒng);掛載該第二區(qū)段分配系統(tǒng)的ー第二備份影像在該第二位置的一第二儲存虛擬化子系統(tǒng)的ー第二控制器上,其中該第二備份影像儲存于該第二位置;初始化ー返回作業(yè),用以將該目的資料卷的數(shù)據(jù)回復(fù)到該第二備份影像所記錄的狀態(tài),并且,該目的資料卷的該資料卷區(qū)塊更新表持續(xù)追蹤并記錄因該返回作業(yè)而導(dǎo)致的數(shù)據(jù)更新;分離該目的資料卷與該第二備份影像;以及映射該目的資料卷給該主機(jī),以服務(wù)該主機(jī)的需求,并且,該目的資料卷的該資料卷區(qū)塊更新表持續(xù)追蹤并記錄該主機(jī)對該目的資料卷所做的數(shù)據(jù)更新。
      [0034]前述的非同步資料卷復(fù)制的方法,其中還包含一非同步復(fù)制失效回復(fù)處理程序,包含以下步驟:解映射該主機(jī)中的該目的資料卷,并且卸載該目的資料卷的該第二區(qū)段分配系統(tǒng);映射該目的資料卷以及該第二區(qū)段分配系統(tǒng)給位于該第一位置的一第一儲存虛擬化子系統(tǒng)的ー第一控制器;掛載該來源資料卷的一第一區(qū)段分配系統(tǒng)和該目的資料卷的該第二區(qū)段分配系統(tǒng)在該第一控制器上。初始化一同步的再同步復(fù)制作業(yè),用以將該目的資料卷的數(shù)據(jù)復(fù)制至該來源資料卷,并且分離該目的資料卷與該來源資料卷;映射該來源資料卷給該主機(jī)存??;以及更改該來源資料卷與該目的資料卷間的ー復(fù)制模式為非同步當(dāng)該同步的再同步復(fù)制作業(yè)完成。
      [0035]前述的非同步資料卷復(fù)制的方法,其中還包含一非同步復(fù)制失效回復(fù)處理程序,包含以下步驟:映射該來源資料卷以及其對應(yīng)的一第一區(qū)段分配系統(tǒng)給位于該第二位置的該第二儲存虛擬化子系統(tǒng)的該第二控制;掛載該來源資料卷的該第一區(qū)段分配系統(tǒng)在該第二位置的該第二控制上;以及初始化一同步或非同步的再同步復(fù)制作業(yè),用以將該目的資料卷的數(shù)據(jù)同步或非同步復(fù)制至該來源資料卷。
      [0036]前述的非同步資料卷復(fù)制的方法,其中該非同步復(fù)制失效回復(fù)處理程序還包含以下步驟:解映射該主機(jī)中的該目的資料卷;卸載位于該第二位置的該第二控制器中的該目的資料卷的該第二區(qū)段分配系統(tǒng)和該來源資料卷的該第一區(qū)段分配系統(tǒng);解映射位于該第二位置的該第二控制中的該來源資料卷以及該第一其區(qū)段分配系統(tǒng);映射該目的資料卷以及該第二區(qū)段分配系統(tǒng)給位于該第一位置的該第一控制器;掛載該來源資料卷的該第一區(qū)段分配系統(tǒng)、該目的資料卷的該第二區(qū)段分配系統(tǒng)和該第一備份影像在位于該第一位置的該第一控制器上;初始化ー返回程序,用以將該來源資料卷的數(shù)據(jù)回復(fù)到該第一備份影像所記錄的狀態(tài),并且該來源資料卷的該資料卷區(qū)塊更新表持續(xù)追蹤并記錄因該返回程序而導(dǎo)致的該來源資料卷的更新狀態(tài);分離該來源資料卷與該第一備份影像;映射該來源資料卷給該主機(jī),并且該目的資料卷的該資料卷區(qū)塊更新表持續(xù)追蹤并記錄該目的資料卷的更新狀態(tài);以及進(jìn)行一非同步復(fù)制作業(yè)。
      [0037]本發(fā)明的目的及解決其技術(shù)問題還采用以下技術(shù)方案來實(shí)現(xiàn)。依據(jù)本發(fā)明提出的一種執(zhí)行非同步資料卷復(fù)制的儲存系統(tǒng),其包含:一第一儲存虛擬化子系統(tǒng),位于一第一位置,包含有一第一控制器與一第一儲存單元,其中該第一儲存單元中具有一第一資料卷與一第一備份影像;一第二儲存單元,位于ー第二位置,該第二儲存單元中具有一第二資料卷;以及ー主機(jī),位于該第一位置,與該第一儲存虛擬化子系統(tǒng)耦接,并對該第一儲存虛擬化子系統(tǒng)中的該第一資料卷發(fā)出ー主機(jī)輸出入要求;其中,當(dāng)該第一儲存虛擬化子系統(tǒng)中的該第一控制器接收到該主機(jī)輸出入要求后,執(zhí)行ー寫入備份操作,該寫入備份操作判斷該第一數(shù)據(jù)區(qū)塊的數(shù)據(jù)是否與該第二資料卷的該第二數(shù)據(jù)區(qū)塊的數(shù)據(jù)相同,而決定是否將該第一數(shù)據(jù)區(qū)塊的該數(shù)據(jù)備份至位于該第一位置的一第一備份影像;然后該第一控制器寫入該主機(jī)輸出入要求的一更新數(shù)據(jù)至該第一資料卷的該第一數(shù)據(jù)區(qū)塊,之后回復(fù)該主機(jī)該主機(jī)輸出入要求已經(jīng)完成。
      [0038]本發(fā)明的目的及解決其技術(shù)問題還可采用以下技術(shù)措施進(jìn)ー步實(shí)現(xiàn)。
      [0039]前述的執(zhí)行非同步資料卷復(fù)制的儲存系統(tǒng),其中該第二儲存單元還具有一第二備份影像,用以當(dāng)該第二資料卷的數(shù)據(jù)更動吋,記錄該第二資料卷的原始數(shù)據(jù)之用。
      [0040]前述的執(zhí)行非同步資料卷復(fù)制的儲存系統(tǒng),其中位于該第一位置的該第一儲存虛擬化子系統(tǒng)與位于該第二位置的該第二儲存單元之間通過一通訊媒體傳輸數(shù)據(jù),且該通訊媒體是以下組合的其中之一:區(qū)域網(wǎng)絡(luò)、廣域網(wǎng)絡(luò)、儲存區(qū)域網(wǎng)絡(luò)、網(wǎng)際網(wǎng)絡(luò)、與專用的數(shù)據(jù)傳輸通道。。
      [0041]前述的執(zhí)行非同步資料卷復(fù)制的儲存系統(tǒng),其中其中該第一備份影像是由一區(qū)段分配系統(tǒng)管理。
      [0042]前述的執(zhí)行非同步資料卷復(fù)制的儲存系統(tǒng),該第一控制器更包含一中央處理電路,且該第一備份影像是由一區(qū)段分配系統(tǒng)管理,而該中央處理電路用以執(zhí)行該區(qū)段分配系統(tǒng),其中該區(qū)段分配系統(tǒng)包含有一第一屬性區(qū)塊,用以記載該區(qū)段分配系統(tǒng)的身份與相關(guān)聯(lián)的至少ー媒體區(qū)的身份;一區(qū)塊關(guān)聯(lián)集相關(guān)資訊欄位,用以記載指向一區(qū)塊關(guān)聯(lián)集的資訊、以及與該區(qū)塊關(guān)聯(lián)集關(guān)聯(lián)的該來源資料卷的資訊;一第一日志欄位,用來存放ー運(yùn)作日志,以供該系統(tǒng)發(fā)生錯誤或斷電情事時可供回復(fù)之用。
      [0043]前述的執(zhí)行非同步資料卷復(fù)制的儲存系統(tǒng),其中該區(qū)塊關(guān)聯(lián)集相關(guān)資訊欄位還包含有一區(qū)段分配表與ー節(jié)點(diǎn)表。
      [0044]前述的執(zhí)行非同步資料卷復(fù)制的儲存系統(tǒng),其中其中該區(qū)塊關(guān)聯(lián)集還包含有一第ニ屬性區(qū)塊,用以記載該區(qū)塊關(guān)聯(lián)集的身份、該區(qū)塊關(guān)聯(lián)集的大小以及與該區(qū)塊關(guān)聯(lián)集相關(guān)的設(shè)定;一目錄欄位,記載一區(qū)塊關(guān)聯(lián)表的級數(shù)以及已建置的該區(qū)塊關(guān)聯(lián)表的數(shù)量;一第二日志欄位,用以存放一運(yùn)作日志,以供該系統(tǒng)發(fā)生錯誤或斷電情事時可供回復(fù)之用;一文件表,用以指向該區(qū)塊關(guān)聯(lián)表;以及ー數(shù)據(jù)區(qū),用以存放該第一備份影像。
      [0045]借由上述技術(shù)方案,本發(fā)明遠(yuǎn)端非同步資料卷復(fù)制的方法及其裝置至少具有下列優(yōu)點(diǎn)及有益效果:本發(fā)明可以使得須傳輸至遠(yuǎn)端的目的資料卷(destination volume)的數(shù)據(jù)量可以降到最少,有效回避數(shù)據(jù)遠(yuǎn)端傳輸時的網(wǎng)絡(luò)頻寬限制問題,讓儲存系統(tǒng)的運(yùn)作績效維持在較佳的水準(zhǔn)。
      [0046]綜上所述,本發(fā)明是有關(guān)于ー種遠(yuǎn)端非同步資料卷復(fù)制的方法及其儲存系統(tǒng)。應(yīng)用非同步復(fù)制(async)的方式,處理主機(jī)輸出入要求(Host 10)對位于近端的來源資料卷(source volume)的數(shù)據(jù)更動。配合時間點(diǎn)差備份(Point-1n-Time Differential Backup)技術(shù),只有當(dāng)來源資料卷(source volume)被覆寫區(qū)塊的原始數(shù)據(jù)與遠(yuǎn)端的目的資料卷(destination volume)的對應(yīng)區(qū)塊的數(shù)據(jù)不同吋,才將該被覆寫區(qū)塊的原始數(shù)據(jù)寫入備份(backup-on-write)至同樣位于近端的時間點(diǎn)差備份影像(Source BAS)之中。然后只要新數(shù)據(jù)寫入來源資料卷(source volume)完成后,即回復(fù)主機(jī)(host)其輸出入要求已經(jīng)完成。如此,可以使得須傳輸至遠(yuǎn)端的目的資料卷(destination volume)的數(shù)據(jù)量可以降到最少,有效回避數(shù)據(jù)遠(yuǎn)端傳輸時的網(wǎng)絡(luò)頻寬限制問題,讓儲存系統(tǒng)的運(yùn)作績效維持在較佳的水準(zhǔn)。本發(fā)明在技術(shù)上有顯著的進(jìn)步,并具有明顯的積極效果,誠為一新穎、進(jìn)步、實(shí)用的新設(shè)計。
      [0047]上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其他目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉較佳實(shí)施例,并配合附圖,詳細(xì)說明如下。
      【專利附圖】

      【附圖說明】
      [0048]圖1、描繪應(yīng)用本發(fā)明的近端與遠(yuǎn)端電腦儲存系統(tǒng)的硬件架構(gòu)示意圖。
      [0049]圖2、描繪應(yīng)用本發(fā)明方法的儲存虛擬化控制器(SVC)的ー實(shí)施例示意圖。
      [0050]圖3、描繪本發(fā)明利用“時間點(diǎn)差備份(Point-1n-Time Differential Backup)”技術(shù)時所根據(jù)的區(qū)段分配系統(tǒng)(SAS)架構(gòu)的示意圖。
      [0051]圖4A、描繪本發(fā)明方法應(yīng)用“時間點(diǎn)差備份(Point-1n-Time DifferentialBackup) ”技術(shù)時遠(yuǎn)端與近端的資料卷架構(gòu)的第一實(shí)施例的示意圖。
      [0052]圖4B、描繪本發(fā)明方法應(yīng)用“時間點(diǎn)差備份(Point-1n-Time DifferentialBackup)”技術(shù)時遠(yuǎn)端與近端的資料卷架構(gòu)的第二實(shí)施例的示意圖。
      [0053]圖5A、描繪用以記錄資料卷復(fù)制資訊的資料卷記錄表(Volume Log Table,VLT)的數(shù)據(jù)結(jié)構(gòu)。
      [0054]圖5B、描繪用以記錄資料卷復(fù)制資訊的資料卷區(qū)塊更新表(Volume Block UpdateTable, VBUT)的數(shù)據(jù)結(jié)構(gòu)。
      [0055]圖6A?圖6E、描繪本發(fā)明中遠(yuǎn)端非同步復(fù)制(Remote Async Replication)來源資料卷(source volume)至目的資料卷(destination volume)的一實(shí)施例的流程圖。
      [0056]圖7、描繪本發(fā)明中背景拷貝來源資料卷至目的資料卷(Background Copy ofSource to Destination Volume)的一實(shí)施例的流程圖。
      [0057]圖8A、描繪本發(fā)明中因處理輸出入請求(Host 10)而呼叫的“檢查/拷貝來源資料卷的區(qū)塊數(shù)據(jù)至目的資料卷(Check/Copy Block from Source to Destination Volume)”程序的一實(shí)施例的流程圖。
      [0058]圖SB、描繪本發(fā)明中因處理背景拷貝而呼叫的“檢查/拷貝來源資料卷的區(qū)塊數(shù)據(jù)至目的資料卷(Check/Copy Block from Source to Destination Volume) ”程序的一實(shí)施例的流程圖。
      [0059]圖9、描繪本發(fā)明中檢查資料卷區(qū)塊是否已在同步狀態(tài)(Check Volume BlockIn-Sync)的一實(shí)施例的流程圖。
      [0060]圖10、描繪本發(fā)明中非同步復(fù)制失效轉(zhuǎn)移處理(Async replication failoverprocess)程序的一實(shí)施例的流程圖。
      [0061]圖11、描繪本發(fā)明中非同步復(fù)制失效回復(fù)處理(Async replication failbackprocess)程序的第一實(shí)施例的流程圖。
      [0062]圖12A?圖12B、描繪本發(fā)明中非同步復(fù)制失效回復(fù)處理(Async replicationfailback process)程序的第二實(shí)施例的流程圖。[0063]圖13A?圖13D、描繪實(shí)施本發(fā)明的一實(shí)際范例。
      【具體實(shí)施方式】
      [0064]本發(fā)明主要是提出一種遠(yuǎn)端非同步資料卷復(fù)制的方法及其裝置。應(yīng)用非同步復(fù)制(async)的方式,當(dāng)近端儲存系統(tǒng)的主機(jī)(local host)對來源資料卷(sourcevolume)寫入新數(shù)據(jù)時,若來源資料卷(source volume)被覆寫區(qū)塊的原始數(shù)據(jù)與遠(yuǎn)端的目的資料卷(destination volume)的對應(yīng)區(qū)塊的數(shù)據(jù)不同,則只要在近端“寫入備份(backup-on-write) ”該原始數(shù)據(jù)至來源資料卷(source volume)的“時間點(diǎn)差備份影像”(Point-1n-Time Differential Backup Image,或簡稱為“備份影像(Backup Image) ”,或以“BAS”代表)之中,且該新數(shù)據(jù)寫入來源資料卷(source volume)完成后,不等待原始數(shù)據(jù)同步復(fù)制至遠(yuǎn)端的目的資料卷(destination volume),即回復(fù)近端主機(jī)(local host)其輸出入要求(10 request)已經(jīng)完成。另ー種狀況是,若來源資料卷(source volume)被覆寫區(qū)塊的原始數(shù)據(jù)與遠(yuǎn)端的目的資料卷(destination volume)的對應(yīng)區(qū)塊的數(shù)據(jù)相同一致,則不須“寫入備份(Backup-onirite,BOW) ”該原始數(shù)據(jù)至來源資料卷的“備份影像”(Source BAS),只要新數(shù)據(jù)寫入來源資料卷(source volume)完成后,即回復(fù)近端主機(jī)(local host)其輸出入要求(10 request)已經(jīng)完成。
      [0065]由于本發(fā)明在處理近端主機(jī)(local host)的輸出入要求(10 request)時,是采用非同步復(fù)制(async)的方式,也就是:所有的訊息與數(shù)據(jù)只先在近端處理傳輸,即可先行回復(fù)近端主機(jī)(local host)其輸出入要求(10 request)已經(jīng)完成。至于真正將數(shù)據(jù)拷貝至遠(yuǎn)端的目的資料卷的程序,則留待背景拷貝程序或其他適當(dāng)時機(jī)才執(zhí)行。再者,本發(fā)明利用“時間點(diǎn)差備份(Point-1n-Time Differential Backup) ”技術(shù)備份來源資料卷(sourcevolume)的數(shù)據(jù)變動,其中:只針對與遠(yuǎn)端的目的資料卷(destination volume)不同的來源資料卷(source volume)的原始數(shù)據(jù)做“寫入備份(backup-on-write) ”于來源資料卷的“備份影像”(Source BAS)的動作,不需要將所有的數(shù)據(jù)變動都寫入至來源資料卷的“備份影像”(Source BAS),使得須傳輸至遠(yuǎn)端的目的資料卷(destination volume)的數(shù)據(jù)量可以降到最少。如此,根據(jù)本發(fā)明技術(shù),可以回避數(shù)據(jù)遠(yuǎn)端傳輸時的網(wǎng)絡(luò)頻寬限制問題,且可以讓儲存系統(tǒng)的運(yùn)作績效維持在較佳的水準(zhǔn)。
      [0066]請參照圖1,是應(yīng)用本發(fā)明的電腦系統(tǒng)的硬件架構(gòu)示意圖。其中包括位于近端(local site) I 的一主機(jī)(Host) 11 與一儲存虛擬化子系統(tǒng)(Storage VirtualizationSubsystem, SVS) 12,用于執(zhí)行主要系統(tǒng)操作;以及位于遠(yuǎn)端(Remote site) 2的ー儲存虛擬化子系統(tǒng)22,用于提供近端儲存虛擬化子系統(tǒng)12的備援之用。兩儲存虛擬化子系統(tǒng)12、22之間是通過一通訊媒體(Communication Medium) 3互相溝通。該通訊媒體(CommunicationMedium) 3可以是一區(qū)域網(wǎng)絡(luò)(LAN)、廣域網(wǎng)絡(luò)(WAN)、儲存區(qū)域網(wǎng)絡(luò)(SAN)、網(wǎng)際網(wǎng)絡(luò)(Internet)、或其他任何可以讓兩儲存虛擬化子系統(tǒng)12、22間互相傳遞訊息的通訊媒體(Communication Medium),例如:專用的數(shù)據(jù)傳輸通道(Dedicated Data TransferChannel)。雖于此實(shí)施例當(dāng)中,在近端I僅有ー主機(jī)11與ー儲存虛擬化子系統(tǒng)12相互連接;實(shí)際應(yīng)用時,可以用ー主機(jī)11連接多個儲存虛擬化子系統(tǒng)12,或是多個主機(jī)11連接ー個儲存虛擬化子系統(tǒng)12,或是多主機(jī)11連接多儲存虛擬化子系統(tǒng)12。此外,在本發(fā)明的其他實(shí)施例中,遠(yuǎn)端2也可能具有一或多個主機(jī)(圖中沒有繪示)與儲存虛擬化子系統(tǒng)22相連接。雖然本發(fā)明的圖1所示的實(shí)施例是設(shè)定主要系統(tǒng)處理是位于近端1,遠(yuǎn)端2只是做為備援之用,因此沒有考慮遠(yuǎn)端2是否有與主機(jī)(Host)相連接;但是,在本發(fā)明的另ー實(shí)施例,遠(yuǎn)端2亦可以做為儲存系統(tǒng)的主控端(Master)。
      [0067]該位于近端I的主機(jī)11可為一主機(jī)電腦,如一服務(wù)器系統(tǒng)、工作站、個人電腦系統(tǒng)等。近端I與遠(yuǎn)端2的儲存虛擬化子系統(tǒng)12、22各自包含有一儲存虛擬化控制器(StorageVirtualization Controller, SVC) 13、23,以及一連接至儲存虛擬化控制器13、23的實(shí)體儲存裝置陣列(Physical Storage Device Array,PSD Array) 14、24。儲存虛擬化控制器 13、23可為ー磁盤陣列控制器或是ー JBOD模擬器。在此,兩儲存虛擬化子系統(tǒng)12、22雖然僅各繪示ー個實(shí)體儲存裝置陣列14、24連接至儲存虛擬化控制器13、23,但實(shí)際應(yīng)用時可使用ー個以上的實(shí)體儲存裝置陣列14、24,而且主機(jī)11也可為ー儲存虛擬化控制器。
      [0068]兩儲存虛擬化控制器(SVC) 13,23皆是用來接受由主機(jī)11傳來的輸出入請求及相關(guān)數(shù)據(jù)(控制信號及數(shù)據(jù)信號),并執(zhí)行此輸出入請求,或是將此輸出入請求各自映射至其實(shí)體儲存裝置陣列14、24。而實(shí)體儲存裝置陣列14、24包含有多個實(shí)體儲存裝置(PhysicalStorage Device,PSD),這些實(shí)體儲存裝置可為,舉例而言,硬盤。儲存虛擬化控制器13、23可用來加強(qiáng)效能及/或改進(jìn)數(shù)據(jù)可利用性(data availability),或是用來增加對主機(jī)11而言的単一邏輯媒體単元的儲存容量。
      [0069]資料卷(volume)是ー種虛擬的邏輯儲存單位。以近端I為例,儲存虛擬化控制器(SVC) 13將實(shí)體儲存裝置陣列14儲存虛擬化為一至數(shù)個邏輯儲存裝置,并呈現(xiàn)給主機(jī)11存取數(shù)據(jù)。主機(jī)11可以決定該一至數(shù)個邏輯儲存裝置要規(guī)劃為幾個資料卷(volume);每個資料卷(volume)都有自己的檔案系統(tǒng)。一資料卷(volume)可能涵蓋一至數(shù)個實(shí)體儲存裝置(PSD),或者只有ー個實(shí)體儲存裝置(PSD)的部分區(qū)域,或者數(shù)個實(shí)體儲存裝置(PSD)的部分區(qū)域組合而成。圖1中為方便表示,不論是在近端I或遠(yuǎn)端2,皆假設(shè)ー個資料卷(volume)的儲存區(qū)域剛好涵蓋ー個實(shí)體儲存裝置(PSD);但是,本發(fā)明的其他實(shí)施例并不以此為限,如前所述,本發(fā)明中所稱ー個資料卷(volume)的范圍可能是ー個實(shí)體儲存裝置(PSD)的部分區(qū)域、或是涵蓋一至數(shù)個實(shí)體儲存裝置(PSD)、或是數(shù)個實(shí)體儲存裝置(PSD)的部分區(qū)域組合而成。
      [0070]進(jìn)行資料卷(volume)復(fù)制時,須將近端的來源資料卷(source volume)的全部內(nèi)容完整地復(fù)制至遠(yuǎn)端的目的資料卷(destination volume);且此復(fù)制的過程,需要藉由通訊媒體(Communication Medium) 3來傳輸數(shù)據(jù)。如以圖1為例,可能是將近端的資料卷A15a整體復(fù)制至遠(yuǎn)端的資料卷P25a,或者是其他可能的實(shí)施例。此時,扮演數(shù)據(jù)提供者的資料卷A15a是來源資料卷(source volume),接受復(fù)制數(shù)據(jù)的資料卷P25a是目的資料卷(destination volume)。來源資料卷與目的資料卷的容量大小未必相同;但是,通常目的資料卷的容量需要大于或等于來源資料卷的容量,以容納所有從來源資料卷復(fù)制而來的數(shù)據(jù)。
      [0071]進(jìn)行資料卷復(fù)制的做法是:先建立一來源資料卷(source volume)與一目的資料卷(destination volume)間為一個“鏡射對(mirroring pair) ”的關(guān)系,例如:前述的資料卷A15a與資料卷P25a。鏡射對(mirroring pair)中兩資料卷可以位于同一儲存系統(tǒng)、或不同的儲存系統(tǒng)中;本發(fā)明技術(shù)是針對位于不同儲存系統(tǒng)的兩資料卷所形成的鏡射對(mirroring pair)做數(shù)據(jù)復(fù)制。鏡射對(mirroring pair)形成后,接下來的做法可能有以下數(shù)種實(shí)施例:第一種是,開始進(jìn)行第一次的同步復(fù)制程序,以將來源資料卷(sourcevolume)的數(shù)據(jù)鏡射(mirroring)至目的資料卷(destination volume);第二種是,若是鏡射對(mirroring pair)形成之初,近端I的來源資料卷(source volume)尚未儲存任何數(shù)據(jù),則可以不進(jìn)行上述的第一次的同步復(fù)制程序;第三種是,來源資料卷(sourcevolume)先在近端I做一份鏡射(mirroring)的備份數(shù)據(jù),然后再將此鏡射(mirroring)的備份數(shù)據(jù)復(fù)制到遠(yuǎn)端2的目的資料卷(destination volume)。對于位于不同位置的兩資料卷而言,無論是以上哪ー種做法,近端I與遠(yuǎn)端2之間的處理程序都需要通過通訊媒體(Communication Medium) 3來達(dá)成。依照應(yīng)用的需要,可以設(shè)定在鏡射(mirroring)期間或完成之后的某個時間點(diǎn),中止鏡射對(mirroring pair)中兩資料卷間的鏡像(mirror)關(guān)系,此操作稱為“分離(split)”。分離(split)指令的下達(dá),意謂目的資料卷(destinationvolume)保存了分離(split)指令下達(dá)的時間點(diǎn)的來源資料卷(source volume)的狀態(tài);且意謂此時間點(diǎn)之后,切斷來源資料卷(source volume)與目的資料卷(destinationvolume)間“鏡射對”的關(guān)系,該兩資料卷可以各自獨(dú)立地被存取數(shù)據(jù)或更新,并不需再維持彼此間各自更動數(shù)據(jù)的一致。
      [0072]根據(jù)本發(fā)明技術(shù),位于近端I與遠(yuǎn)端2的兩資料卷間是采用非同步復(fù)制(async)方式復(fù)制數(shù)據(jù),因此當(dāng)兩資料卷間一形成鏡射對(mirroring pair)的關(guān)系之時,立即執(zhí)行分離(split)作業(yè)。即使在此之后有“再同步(resync)”程序啟動,也立即再次執(zhí)行分離(split)作業(yè),讓分別位于近端與遠(yuǎn)端的兩資料卷永遠(yuǎn)處于分離(split)的狀態(tài)。由此可知,位于遠(yuǎn)端2的目的資料卷(destination volume)所要復(fù)制的是:位于近端I的來源資料卷(source volume)在分離時間點(diǎn)的狀態(tài)。分離(split)之后,來源資料卷(sourcevolume)還是會記錄主機(jī)11對它所做的任何數(shù)據(jù)修改,但是該些修改并不需要復(fù)制至遠(yuǎn)端2的目的資料卷(destination volume);除非之后有再同步(resync)程序啟動。
      [0073]本發(fā)明所提出的遠(yuǎn)端非同步資料卷復(fù)制的方法,是通過圖1中的儲存虛擬化控制器(SVC) 13、23而實(shí)現(xiàn),其一實(shí)施例的架構(gòu)示意圖如圖2所示。
      [0074]儲存虛擬化控制器13、23的主要目的是將實(shí)體儲存裝置(PSD)的各區(qū)段的組合映射(map)形成主機(jī)11可見的邏輯儲存裝置。由該主機(jī)11發(fā)出的輸出入請求(Host 10)在控制器13、23接收之后會先被剖析并解譯,且相關(guān)的操作及數(shù)據(jù)會被編譯成實(shí)體儲存裝置(PSD)的輸出入請求。
      [0075]若以近端的儲存虛擬化控制器13為例說明,一儲存虛擬化控制器13包含有一主機(jī)端輸出入裝置連接控制器(Host-side 10 Device Interconnect Controller) 131 >一中央處理電路(Central Processing Circuit,CPC) 132、一存儲器(或稱為記憶體)133以及一裝置端輸出入裝置連接控制器(Device-side 10 Device Interconnect Controller) 134。此處雖以分開的功能方框描述,但于實(shí)際應(yīng)用時,部份甚至全部的功能方框(functionalblock)皆可整合在ー單一晶片上。遠(yuǎn)端的儲存虛擬化控制器23亦具有上述的架構(gòu)。
      [0076]主機(jī)端輸出入裝置連接控制器131連接至主機(jī)11及中央處理電路132,用來作為儲存虛擬化控制器13及主機(jī)11之間的介面及緩沖,其可接收由主機(jī)11傳來的輸出入請求和相關(guān)數(shù)據(jù),并且將其轉(zhuǎn)換至中央處理電路132。
      [0077]存儲器133是連接于中央處理電路132,其作為ー緩沖器,用來緩沖傳送于主機(jī)11及PSD陣列14之間通過中央處理電路132的數(shù)據(jù)。實(shí)際應(yīng)用吋,存儲器133可以是DRAM(動態(tài)隨機(jī)存取內(nèi)存Dynamic Random Access Memory),該DRAM亦可為SDRAM (同步動態(tài)隨機(jī)存取內(nèi)存 Synchronous Dynamic Random Access Memory)。
      [0078]裝置端輸出入裝置連接控制器134是介于中央處理電路132及PSD陣列14間,用來作為儲存虛擬化控制器13及PSD陣列14間的介面及緩沖。裝置端輸出入裝置連接控制器134接收由中央處理電路132傳入的輸出入請求及相關(guān)數(shù)據(jù),并將其映射及/或傳送至PSD陣列14。
      [0079]中央處理電路132是儲存虛擬化控制器13的運(yùn)算核心。當(dāng)中央處理電路132接收到來自主機(jī)端輸出入裝置連接控制器131的主機(jī)輸出入請求吋,中央處理電路132會將此輸出入請求剖祈,并且執(zhí)行ー些操作以回應(yīng)此輸出入請求,以及將所請求的數(shù)據(jù)及/或報告及/或資訊,由儲存虛擬化控制器13經(jīng)由主機(jī)端輸出入裝置連接控制器131傳送至主機(jī)11。本發(fā)明的之遠(yuǎn)端非同步資料卷復(fù)制的方法可以程序編碼的方式實(shí)現(xiàn),且將該程序編碼儲存于中央處理電路132內(nèi)部的存儲器,例如:R0M (圖中沒有繪示)之中,或是儲存中央處理電路132外部的存儲器133中,以供中央處理電路132執(zhí)行。
      [0080]本發(fā)明方法是利用非同步復(fù)制(async)的方式來延遲數(shù)據(jù)真正復(fù)制至遠(yuǎn)端的目的資料卷(destination volume)的時間,以使得對主機(jī)輸出入要求(host 10 request)的回應(yīng)時間可以有效地縮短;又,利用“時間點(diǎn)差備份(Point-1n-Time DifferentialBackup) ”技術(shù)做為來源資料卷(source volume)的數(shù)據(jù)更動時其原始數(shù)據(jù)的備份,使得來源資料卷(source volume)在分離(split)時間點(diǎn)的數(shù)據(jù)狀態(tài)得以保存,以便在未來的適當(dāng)時間復(fù)制至遠(yuǎn)端的目的資料卷(destination volume)。在本發(fā)明的另ー實(shí)施例中,遠(yuǎn)端的目的資料卷(destination volume)亦具有一“寫入備份影像”(DestinationBackup-on-ffrite Image,或稱為Destination BAS),用以備份分離(split)時間點(diǎn)的目的資料卷(destination volume)的數(shù)據(jù)狀態(tài),以因應(yīng)有需要時,可以做為其本身數(shù)據(jù)的“返回(rollback) ”之用。
      [0081]本發(fā)明如何實(shí)施非同步復(fù)制(async)的技術(shù)內(nèi)容將于下文中詳細(xì)說明;以下先就本發(fā)明中的“時間點(diǎn)差備份(Point-1n-Time Differential Backup) ”技術(shù)做一大略介紹如下。
      [0082]請參照圖3,“時間點(diǎn)差備份(Point-1n-Time Differential Backup) ” 技術(shù)是米用一區(qū)段分配系統(tǒng)(Section Allocation System,以下簡稱為SAS)來進(jìn)行管理備份卷(Backup Volume)的操作。SAS是ー類似檔案系統(tǒng)(file-system-like)結(jié)構(gòu),可由一或多個媒體區(qū)(Media Extent)(圖中沒有繪示)所組成,這些媒體區(qū)是由將一或多個作為媒體區(qū)段供應(yīng)者(media section providers)的邏輯盤/分割區(qū)(Logical Drives/Partition)格式化而形成。姆個SAS包含自己的區(qū)段分配表(Section Allocation Table,以下簡稱為SAT)以及ー節(jié)點(diǎn)表(Inode Table)(圖中沒有繪示)。其中,節(jié)點(diǎn)表是用以記錄檔案內(nèi)容存放位置的資訊,即檔案內(nèi)容的指向(pointer),使系統(tǒng)可以通過節(jié)點(diǎn)(inode)正確的去取得檔案的內(nèi)容。此SAS和其所屬的每個媒體區(qū)是有ー用來識別目標(biāo)(object)的唯一識別符(ID)。SAS是包含有:屬性區(qū)塊(Attribute Block),用以記載此SAS ID與媒體區(qū)(MediaExtent)ID ;一區(qū)塊關(guān)聯(lián)集(Block Association Set,以下簡稱為BAS)相關(guān)資訊欄位,用以記載指向每個區(qū)塊關(guān)聯(lián)集(BAS)的資訊(包含SAT與Inode Table)、以及每個BAS其所關(guān)聯(lián)的來源資料卷(Source Volume)資訊;日志(Journal)欄位,用來存放運(yùn)作日志,以供系統(tǒng)發(fā)生錯誤或斷電情事時可供回復(fù)(recovery)之用。
      [0083]SAS可以包含有一或多個區(qū)塊關(guān)聯(lián)集(BAS),BAS是進(jìn)行時間點(diǎn)(point-1n-time,以下簡稱為PIT)備份(backup)的基礎(chǔ)。區(qū)塊關(guān)聯(lián)表(Block Association Tables,以下簡稱BAT)儲存在此BAS之中。BAT是用以儲存交互參考資訊以與具有原始儲存位置(LBA)的備份數(shù)據(jù)相對應(yīng),亦即每個BAT內(nèi)記錄有指向其所對應(yīng)的時間點(diǎn)差備份影像(PITDifferential Backup Image)的資訊。而時間點(diǎn)差備份影像(PIT Differential BackupImage)亦儲存于此BAS之中。
      [0084]整體而言,每個BAS包含有:屬性區(qū)塊(Attribute Block),用以記載此BAS ID、BAS大小以及BAS相關(guān)設(shè)定等資訊;目錄(directory)欄位,記載BAT級數(shù)(level)以及已建置BAT的數(shù)量;日志(Journal)欄位,用以存放運(yùn)作日志,以供系統(tǒng)發(fā)生錯誤或斷電情事時可供回復(fù)(recovery)之用;文件表(Folder Table),用以指向BAT ;以及數(shù)據(jù)區(qū)(DataArea),用以存放備份影像(Backup Image)。
      [0085]一般而言,建立ー邏輯媒體(logical media ;如LD/LV/Partition)的ー時間點(diǎn)備份(PIT backup)的第一步驟即是在ー獨(dú)立可用的邏輯媒體(logical media)上建置SAS。接著,BAS應(yīng)被建置、安裝及將其來源資料卷映射至一或多個主機(jī)通道的ID/LUNs。最后,當(dāng)來到從事時間點(diǎn)備份(PIT backup)的時間點(diǎn)時,一相對應(yīng)的BAT應(yīng)被建置并且接著將其設(shè)定為BAS中現(xiàn)役的BAT (active BAT)。待其所關(guān)聯(lián)的來源資料卷(Source Volume)的某數(shù)據(jù)區(qū)塊將被更改之前,啟動“寫入備份(backup-onirite,以下簡稱B0W) ”程序,將該區(qū)塊的原始數(shù)據(jù)復(fù)制至現(xiàn)役的BAT的時間點(diǎn)差備份影像(PIT Differential Backup Image)的對應(yīng)區(qū)塊。
      [0086]以上所述的SAS、BAS、BAT以及其他各欄位和數(shù)據(jù)區(qū)的功能、彼此間的交互作用,是現(xiàn)有此技術(shù)人士所熟知,因此不再對其細(xì)節(jié)多做贅述。
      [0087]請參照圖4A,本發(fā)明在進(jìn)行將近端儲存子系統(tǒng)(Local Storage Subsystem) 12的一來源資料卷(Source Volume) 71非同步復(fù)制到遠(yuǎn)端儲存子系統(tǒng)(Remote StorageSubsystem) 22的一目的資料卷(Destination Volume) 75之初,即在近端儲存子系統(tǒng)12建立該來源資料卷(Source Volume) 71的時間點(diǎn)差備份(PIT Differential Backup)資訊,包括分離(split)時間點(diǎn)的區(qū)塊關(guān)聯(lián)表(BAT)與其所對應(yīng)的時間點(diǎn)差備份影像(PITDifferential Backup Image)所需的儲存空間;圖中是以來源BAS (Source BAS)72做為代表。雖然圖中以及下文只有以來源BAS72代表來源資料卷(Source Volume) 71的時間點(diǎn)差備份(PIT Differential Backup)資訊;但事實(shí)上,如前文所述,進(jìn)行寫入備份(BOW)所需的資訊還包括其對應(yīng)的區(qū)段分配系統(tǒng)(SAS)、區(qū)塊關(guān)聯(lián)集(BAS)、以及其他各欄位的資訊。由于本發(fā)明方法只須記錄該來源資料卷(Source Volume)71于分離(split)時間點(diǎn)的時間點(diǎn)差備份影像(PIT Differential Backup Image),因此其區(qū)塊關(guān)聯(lián)集(BAS)中只有ー個用以記錄分離(split)時間點(diǎn)的來源資料卷(Source Volume)71的數(shù)據(jù)狀態(tài)的來源BAS72。
      [0088]請參照圖4B,在本發(fā)明的另ー實(shí)施例,本發(fā)明在進(jìn)行非同步復(fù)制程序之初,亦在遠(yuǎn)端儲存子系統(tǒng)(Remote Storage Subsystem) 22 建立目的資料卷(Destination Volume) 75的時間點(diǎn)差備份資訊,包括分離(split)時間點(diǎn)的區(qū)塊關(guān)聯(lián)集(BAS)與其所對應(yīng)的時間點(diǎn)差備份影像(PIT Differential Backup Image)所需的儲存空間;圖中是以目的BAS (Destination BAS)76做為代表。當(dāng)來源資料卷(Source Volume) 71或來源BAS72的數(shù)據(jù)寫入目的資料卷(Destination Volume) 75時,該目的BAS76可以用以備份分離(split)時間點(diǎn)目的資料卷(destination volume) 75的數(shù)據(jù)狀態(tài),以因應(yīng)有需要時,可以做為其本身數(shù)據(jù)的“返回(rollback)”之用。雖然圖中以及下文中只有以目的BAS76代表目的資料卷(Destination Volume) 75的時間點(diǎn)差備份資訊;但事實(shí)上,如前文所述,其時間點(diǎn)差備份資訊亦包括其對應(yīng)的區(qū)段分配系統(tǒng)(SAS)、區(qū)塊關(guān)聯(lián)集(BAS)、以及其他各欄位的資訊。在此實(shí)施例中,來源資料卷(Source Volume) 71與目的資料卷(Destination Volume)75分別只有一個來源BAS72與目的BAS76,用于記錄分離(split)時間點(diǎn)的時間點(diǎn)差備份影像(PITDifferential BacKup Image)。
      [0089]本發(fā)明為記錄來源資料卷(Source Volume) 71與目的資料卷(DestinationVolume) 75復(fù)制期間,兩資料卷71、75間相互的狀態(tài)與本身數(shù)據(jù)區(qū)塊的資訊,請參照圖5A與圖5B,在兩資料卷71、75形成一鏡射對(mirroring pair)之時,即各自建立ー專屬的資料卷記錄表(Volume Log Table,以下簡稱VLT) 30,用以記錄該兩資料卷71、75間的同步狀態(tài)資訊,以及建立ー專屬的資料卷區(qū)塊更新表(Volume Block Update Table,以下簡稱VBUT) 36,用以記錄該資料卷的每一數(shù)據(jù)區(qū)塊(block)的更新狀態(tài)資訊。
      [0090]圖5A僅繪示VLT30中ー個項(xiàng)目(entry)所包含的欄位做為代表。實(shí)際上運(yùn)作吋,ー個VLT30可能包含有一至多個VLT項(xiàng)目(VLT entry),每次該VLT30擁有者與其他資料卷間建立新關(guān)系或做狀態(tài)改變吋,即會產(chǎn)生一個新的VLT項(xiàng)目。ー個VLT項(xiàng)目包含了 4個欄位:第一欄位31記錄序號(SeqNum),第二欄位32記錄操作代碼(OpCod),第三欄位33記錄與之產(chǎn)生關(guān)系的另ー資料卷的身份(AltVolID),而第四欄位34的記錄內(nèi)容有兩種可能:一種是記錄與之產(chǎn)生關(guān)聯(lián)的另一資料卷的VLT項(xiàng)目的序號(AltVolSN)、ー種是記錄自己下一個要進(jìn)行復(fù)制(synchronizing)的數(shù)據(jù)區(qū)塊(block)的索引號(NxtSynBlk)。以上四個欄位的順序只是本發(fā)明的ー實(shí)施例,于其他實(shí)施例中,該四個欄位可以其他順序排列;只要能完整記載以上四個欄位的資訊,即應(yīng)視為在本發(fā)明的精神與范圍之中。該四個欄位的細(xì)節(jié)更進(jìn)ー步說明如下。
      [0091]每ー VLT項(xiàng)目建立之初,其第一欄位31的序號(SeqNum)是ー初始設(shè)定值(initial setting value)。該初始設(shè)定值(initial setting value),若以來源資料卷(Source Volume) 71為例說明,可以為“0 (null) ”,表示擁有該VLT30的來源資料卷(SourceVolume) 71與第三欄位33所記錄的目的資料卷(Destination Volume) 75之間還未分離(split) o但是,本發(fā)明方法在兩資料卷71、75形成一鏡射對(mirroring pair)之初,即馬上執(zhí)行分離(split)作業(yè)。此時,該序號(SeqNum)的值便由一主要序號變數(shù)(MstSN,Master Sequence Number)指派。該主要序號變數(shù),若以序號(SeqNum)的初始設(shè)定值(initial setting value)是“0 (null) ”的例子來說,是由“ I”開始累加;亦即,第一個進(jìn)入分離(split)狀態(tài)的VLT項(xiàng)目的序號是“I”、第二個是“2”……其余以此類推??偠灾灰猇LT項(xiàng)目的第一欄位31的值不是“0”,即表示擁有該VLT30的來源資料卷(SourceVolume) 71與第三欄位33所記錄的目的資料卷(Destination Volume) 75之間已經(jīng)分離(split);反之,若是“0”代表還未分離(split)。
      [0092]若是目的資料卷(Destination Volume) 75,其VLT項(xiàng)目的第一欄位31的序號(SeqNum)的初始設(shè)定值(initial setting value),可以為“I”,表示第一個發(fā)生的復(fù)制事件;之后發(fā)生的復(fù)制事件所對應(yīng)的VLT項(xiàng)目的序號,亦是由ー主要序號變數(shù)(MstSN)指派,該主要序號變數(shù)(MstSN)可以由“ 2”開始累加。至于目的資料卷(Destination Volume) 75是否已經(jīng)與來源資料卷(Source Volume) 71分離,貝U是從其VLT項(xiàng)目的第二欄位32來判斷,與第一欄位31的序號(SeqNum)無關(guān)。
      [0093]當(dāng)然在其他實(shí)施例中,來源資料卷(Source Volume) 71與目的資料卷(Destination Volume) 75的VLT項(xiàng)目的第一欄位31的序號(SeqNum)的初始設(shè)定值(initial setting value)亦可設(shè)為其他數(shù)字;再者,主要序號變數(shù)(MstSN)累加的偏移量(offset)也可以不是“I”。例如,初始設(shè)定值(initial setting value)可以設(shè)為“2”,而主要序號變數(shù)(MstSN)累加的偏移量(offset)可以設(shè)為“2”,則主要序號變數(shù)(MstSN)會
      以2、4、6......的方式指派給先后出現(xiàn)的VLT項(xiàng)目的第一欄位31的序號(SeqNum)。須注意的
      是:若來源資料卷(Source Volume) 71的VLT項(xiàng)目的第一欄位31的序號(SeqNum)的初始設(shè)定值(initial setting value)不是“0 (null) ”,則以序號(SeqNum)是否是初始設(shè)定值(initial setting value)來判斷來源資料卷(Source Volume) 71 是否進(jìn)入分離(split)狀態(tài)。例如:初始設(shè)定值(initial setting value)設(shè)定為“I”時,序號(SeqNum)是“I”即表不來源資料卷(Source Volume) 71尚未與目的資料卷(Destination Volume)75分離(split);而分離(split)之后的VLT項(xiàng)目的序號(SeqNum)則由初始設(shè)定值(initialsetting value)加上一偏移量(offset),再指派給該VLT項(xiàng)目。
      [0094]本發(fā)明定義三種VLT項(xiàng)目的第二欄位32的操作代碼(OpCod),表示資料卷處于三種不同的狀態(tài),列舉如下:
      [0095]SYNSRC:表示該資料卷在兩資料卷同步關(guān)系中扮演“來源資料卷(sourcevolume) ”的角色;
      [0096]SYNDST:表示該資料卷在兩資料卷同步關(guān)系中扮演“目的資料卷(destinationvolume) ”的角色;
      [0097]SYNSPL:表示該目的資料卷(destination volume)已經(jīng)從來源資料卷(sourcevolume)分離(spilt)出來。
      [0098]以上三種操作代碼(OpCod)亦會影響VLT30的第四欄位34的記錄內(nèi)容。若是同一 VLT項(xiàng)目的第二欄位32的操作代碼是“SYNSRC”或“SYNSPL”,則第四欄位34記錄:與之產(chǎn)生關(guān)聯(lián)的另一資料卷的VLT項(xiàng)目的序號(AltVolSN);若是同一 VLT項(xiàng)目的第二欄位32的操作代碼是“SYNDST”,則第四欄位34記錄:自己下一個要進(jìn)行復(fù)制的數(shù)據(jù)區(qū)塊(block)的索引號(NxtSynBlk)。
      [0099]值得注意的是,雖然前文以“SYNSRC”、“SYNDST”以及“SYNSPL”分別表示該資料卷當(dāng)時的狀態(tài)是“來源資料卷(source volume) ”、“目的資料卷(destination volume) ”或“已經(jīng)分離(split) ”;但本發(fā)明不以此為限,在其他實(shí)施例中可以用其他代號來表示該三種狀態(tài)。
      [0100]圖5B僅繪示VBUT36中一個項(xiàng)目(entry)所包含的欄位作為代表。實(shí)際上運(yùn)作時,ー個VBUT36包含有多個VBUT項(xiàng)目(VBUT entry),每ー VBUT項(xiàng)目代表其所屬的資料卷的ー個數(shù)據(jù)區(qū)塊(block);也就是該資料卷有多少數(shù)據(jù)區(qū)塊,其VBUT36就對應(yīng)有多少VBUT項(xiàng)目。ー個VBUT項(xiàng)目可以包含2個欄位:第一欄位37是保留欄位;第ニ欄位38記錄其對應(yīng)的VLT項(xiàng)目的序號,表示該VBUT項(xiàng)目所對應(yīng)的數(shù)據(jù)區(qū)塊的數(shù)據(jù)是因該序號的VLT項(xiàng)目的事件而更新,藉此追蹤該資料卷的每一數(shù)據(jù)區(qū)塊的狀態(tài),例如:該數(shù)據(jù)區(qū)塊是否已經(jīng)同步(synchronize)、該數(shù)據(jù)區(qū)塊是否在同步后又因主機(jī)11存取數(shù)據(jù)而產(chǎn)生改變。ー個VBUT項(xiàng)目的數(shù)據(jù)長度可以是32bits,或是其他適當(dāng)?shù)拈L度。在其他實(shí)施例中,ー個VBUT項(xiàng)目未必要包含兩個欄位,若是需要更加精簡,可以只包含ー個第二欄位38即可。
      [0101]本發(fā)明應(yīng)用VLT30與VBUT36進(jìn)行兩資料卷間的復(fù)制作業(yè),有ー些需要注意的原貝1J,說明如下:
      [0102]第一原則、任何正在進(jìn)行同步復(fù)制作業(yè)(sync operation)的資料卷,皆不可被指派為另一同步復(fù)制作業(yè)的目的資料卷(destination volume)。換句話說,如果需要某一正參與同步復(fù)制作業(yè)的資料卷做為另一同步復(fù)制作業(yè)的目的資料卷,則需要先將正在進(jìn)行的同步復(fù)制作業(yè)暫停且將該資料卷分離出來,該資料卷才能做為另一同步復(fù)制作業(yè)的目的資料卷。
      [0103]第二原則、ー個正在進(jìn)行同步復(fù)制作業(yè)且未分離(unsplit)的目的資料卷(destination volume),不能單獨(dú)呈現(xiàn)出來讓主機(jī)(host)存取數(shù)據(jù);只有來源資料卷(source volume)可以做為主機(jī)存取的標(biāo)的。因?yàn)檫@樣的特性,如果目的資料卷暫時下線(off line),它可以再回到線上并以原來的同步組態(tài)(sync configuration)讓同步復(fù)制作業(yè)繼續(xù)進(jìn)行。同樣的理由,因?yàn)槟康馁Y料卷(destination volume)不能做為主機(jī)的輸出入要求的單獨(dú)標(biāo)的,所以它也不可以做為任何其他同步復(fù)制作業(yè)的來源資料卷(sourcevolume),除非它已經(jīng)分離(split)。
      [0104]第三原則、在一同步復(fù)制作業(yè)進(jìn)行期間且在來源資料卷(source volume)與目的資料卷(destination volume)分離之前,若是有“再同步(Resync) ”作業(yè)啟動實(shí)施于該兩資料卷,該兩資料卷必須立即經(jīng)由下列步驟分離(split):設(shè)定來源資料卷(sourcevolume)的VLT項(xiàng)目的序號為最新的(up-to-date)序號,且增加ー個“SYNSPL項(xiàng)目”到目的資料卷(destination volume)的VLT之中。之后,再同步(Resync)作業(yè)即可啟動實(shí)施。
      [0105]第四原則、在一同步復(fù)制作業(yè)進(jìn)行期間且在兩資料卷分離之前,若是目的資料卷(destination volume)下線(off line),且此時來源資料卷(source volume)因主機(jī)的輸出入要求而做了數(shù)據(jù)更新,且更新的區(qū)塊已經(jīng)同步復(fù)制(sync)過了,則該兩資料卷必須立即經(jīng)由下列步驟分離(split):設(shè)定來源資料卷(source volume)的VLT項(xiàng)目的序號為最新的(up-to-date)序號。當(dāng)目的資料卷(destination volume)回到線上,來源資料卷(source volume)的VLT項(xiàng)目的序號欄位31會被檢查。如果該欄位31不是初始設(shè)定值(initial setting value),例如:0 (null),則目的資料卷(destination volume)會經(jīng)由下列方式被登記為已經(jīng)分離(split):增加ー個“SYNSPL項(xiàng)目”到目的資料卷(destinationvolume)的VLT之中。之后,可以再啟動同步復(fù)制作業(yè)以再同步(Resync)兩資料卷的數(shù)據(jù)。
      [0106]第五原則、在一同步復(fù)制作業(yè)進(jìn)行期間且兩資料卷已經(jīng)分離,假如來源資料卷(source volume)做了數(shù)據(jù)更新但是卻無法先將更新區(qū)塊的原始數(shù)據(jù)拷貝至目的資料卷(destination volume),則會有一個“錯誤位元(error bit) ”設(shè)立在最近的“ SYNSRC項(xiàng)目”上。在這種情況下,如果目前的同步復(fù)制作業(yè)尚未結(jié)束,任何嘗試進(jìn)行再同步(Resync)作業(yè)的動作皆會被禁止,直到目前的同步復(fù)制作業(yè)結(jié)束。上述將錯誤位元(error bit)設(shè)立在來源資料卷(source volume)的VLT項(xiàng)目上只是本發(fā)明的ー實(shí)施例,在其他實(shí)施例中,錯誤位元(error bit)亦可以設(shè)立在目的資料卷(destination volume)的VLT項(xiàng)目上,或者另外將錯誤位元(error bit)獨(dú)立儲存在另ー記錄表之中。[0107]在說明實(shí)行本發(fā)明方法的詳細(xì)流程前,先將ー些使用代號的定義說明如下:
      [0108]DstMstSN一目的資料卷的主要序號(Master Sequence Number)變數(shù);
      [0109]SrcMstSN一來源資料卷的主要序號(Master Sequence Number)變數(shù);
      [0110]DstVBUT—對應(yīng)于目的資料卷中正進(jìn)行處理的數(shù)據(jù)區(qū)塊的VBUT項(xiàng)目;
      [0111]SrcVBUT—對應(yīng)于來源資料卷中正進(jìn)行處理的數(shù)據(jù)區(qū)塊的VBUT項(xiàng)目;
      [0112]DstVLT—目的資料卷中目前正進(jìn)行的VLT項(xiàng)目;
      [0113]SrcVLT—來源資料卷中目前正進(jìn)行的VLT項(xiàng)目。
      [0114]請參照圖6A至圖6E,是描繪本發(fā)明中遠(yuǎn)端非同步復(fù)制(Remote AsyncReplication)來源資料卷71至目的資料卷75的一實(shí)施例的流程圖。該實(shí)施例可同時適用于圖4A與圖4B的架構(gòu)。以下關(guān)于圖6A至圖6E的流程說明,請同時參考圖4A、圖4B與圖5A、圖 5B。
      [0115]圖6A的程序一開始時,先確認(rèn)是否是初始的同步復(fù)制作業(yè)(步驟201)。若是,則先初始化目的資料卷75的VBUT36 (步驟202)以及初始化目的資料卷75的DstMstSN變數(shù)(步驟203)。初始化的方式是設(shè)定VBUT36中每ー項(xiàng)目與DstMstSN變數(shù)各自等于ー初始設(shè)定值,該初始設(shè)定值,于ー實(shí)施例中可以是“0(null)”,或者在其他實(shí)施例中,可以是其他的初始設(shè)定值。
      [0116]若步驟201判斷的結(jié)果不是初始的同步復(fù)制作業(yè)、或是步驟202與步驟203結(jié)束后,則進(jìn)入步驟204:在來源資料卷71的VLT30中分派項(xiàng)目(SrcVLT)且適當(dāng)?shù)爻跏蓟錂谖?,包括設(shè)定第二欄位32的操作代碼為“SYNSRC”、設(shè)定第一欄位31的序號為ー初始設(shè)定值,例如:“0(Null) ”。除此之外,更將此序號的初始設(shè)定值指派給ー第一變數(shù);于此實(shí)施例中稱為“SRCXURSPL”變數(shù)。接下來進(jìn)入步驟205:在目的資料卷75的VLT30中分派項(xiàng)目(DstVLT)且適當(dāng)?shù)爻跏蓟錂谖?,包括設(shè)定第二欄位32的操作代碼為“SYNDST”。然后進(jìn)入步驟206:將DstMstSN變數(shù)值增加I個單位,且拷貝至DstVLT的第一欄位31 (表示為DstVLT.SeqNum)以及SrcVLT的第四欄位34 (表示為SrcVLT.AltVolSN)。除此之外,更將該DstMstSN的現(xiàn)行變數(shù)值指派給ー第二變數(shù),于此實(shí)施例中稱為“DST⑶RSYN”變數(shù)。然后進(jìn)入步驟207:設(shè)定DstVLT的第四欄位34 (表示為DstVLT.NxtSynBlk)為Block indexO(Block index 為 0 的區(qū)塊)。
      [0117]以上的步驟皆完成后,由節(jié)點(diǎn)A208進(jìn)入圖6B的程序。由于本發(fā)明方法設(shè)定近端的來源資料卷71與遠(yuǎn)端的目的資料卷75間永遠(yuǎn)是分離的狀態(tài),因此節(jié)點(diǎn)A208之后的流程描繪來源資料卷71與目的資料卷75間的同步復(fù)制(sync)作業(yè)是在分離(split)的狀態(tài)下進(jìn)行。
      [0118]圖6B首先將SrcMstSN的序號值增加I個單位且拷貝至SrcVLT的第一欄位31 (SrcVLT.SeqNum);除此之外,更將此SrcMstSN序號的現(xiàn)行值再指派給前述之第一變數(shù)(SRCCURSPL)(步驟209)。接下來在目的資料卷75的VLT30中分派項(xiàng)目(DstVLT)且適當(dāng)?shù)爻跏蓟錂谖唬ㄔO(shè)定第二欄位32的操作代碼為“SYNSPL”(步驟210)。然后將DstMstSN變數(shù)值增加I個單位且拷貝至DstVLT的第一欄位31 (DstVLT.SeqNum);除此之外,更將此DstMstSN的序號現(xiàn)行值指派給ー第三變數(shù)(于此實(shí)施例中稱為“DST⑶RSPL”變數(shù))(步驟211)。請注意,DstMstSN的變數(shù)值在進(jìn)入此步驟增加I個單位前,已于前述圖6A的步驟206指派給第二變數(shù)(DST⑶RSYN),因此第三變數(shù)(DST⑶RSPL)與第二變數(shù)(DST⑶RSYN)的值理論上相差I(lǐng)個單位。以上的步驟皆完成后,接下來會有兩個程序并行處理:步驟213所表示的“背景拷貝來源資料卷至目的資料卷(Background Copy of Source to Destination)”程序(其詳細(xì)流程將于下文中說明)、以及由節(jié)點(diǎn)B214進(jìn)入后因出現(xiàn)主機(jī)輸出入要求(Host10)而啟動的程序(描述其詳細(xì)流程的圖6C至圖6E將于后文中說明)。
      [0119]步驟213所呼叫的背景拷貝來源資料卷至目的資料卷(Background Copy ofSource to Destination)程序主要是在背景執(zhí)行將來源資料卷的數(shù)據(jù)拷貝至目的資料卷的作業(yè)。在此作業(yè)進(jìn)行期間,會持續(xù)進(jìn)行步驟212的判斷:是否來源資料卷至目的資料卷的同步作業(yè)皆已全部完成?若以上判斷結(jié)果為“是”,則背景拷貝(background copy)的流程結(jié)束;否則,持續(xù)進(jìn)行“背景拷貝來源資料卷至目的資料卷(Background Copy of Sourceto Destination)”程序(步驟213),直到步驟212的判斷結(jié)果為“是”而結(jié)束背景拷貝的流程。
      [0120]請參照圖6C,由節(jié)點(diǎn)B214進(jìn)入本流程后,首先在步驟215詢問:是否有任何輸出入請求(Host 10)要對來源資料卷71存取數(shù)據(jù)?若步驟215的判斷結(jié)果為“否”,則停留在步驟215的詢問狀態(tài);若步驟215的判斷結(jié)果為“是”,則進(jìn)入步驟216:解析該輸出入請求(Host 10)并分解為I至多個邏輯盤(Logical Drive, LD)輸出入要求(LD 10),每ー LD 10皆對應(yīng)到來源資料卷71中一個欲存取的數(shù)據(jù)區(qū)塊(block)。接下來的流程分為兩個方向:ー是回到步驟215繼續(xù)判斷是否有其他輸出入請求(Host 10)要對來源資料卷71存取數(shù)據(jù);另ー是根據(jù)該一至多個LD 10同時并行執(zhí)行圖6D與圖6E的流程(步驟217)。也就是說如果有n個LD 10要對來源資料卷71中n個數(shù)據(jù)區(qū)塊(block)進(jìn)行存取,就會引發(fā)n個圖6D與圖6E的流程(步驟217-1……217-n)同時執(zhí)行。其中任何ー個LD 10所對應(yīng)的流程執(zhí)行完畢,便進(jìn)入步驟219判斷是否所有并行處理的流程(步驟217-1……217-n)都完成了。若否,則回到節(jié)點(diǎn)D218,停留在步驟219的詢問狀態(tài);若是,則回報主機(jī)(Host)I此輸出入請求(Host 10)已處理完畢(步驟220),然后回到步驟215繼續(xù)判斷是否有其他輸出入請求(Host 10)要對來源資料卷71存取數(shù)據(jù)。
      [0121]值得注意的是,在圖6C中,只要一有輸出入請求(Host 10)出現(xiàn)要對來源資料卷71或目的資料卷75存取數(shù)據(jù),該輸出入請求(Host 10)便立即由步驟215進(jìn)入流程處理,無論之前的輸出入請求(Host 10)是否已經(jīng)處理完成。
      [0122]請參照圖6D與圖6E,是針對存取每一數(shù)據(jù)區(qū)塊(block)的LD 10所做的處理程序,相當(dāng)于圖6C中一個步驟217的處理方框。其中,圖6D是描述輸出入請求(Host 10)為“寫入(write)”時的處理程序;圖6E是描述輸出入請求(Host 10)為“讀取(read) ”時的處理程序。首先由圖6D的步驟221判斷該輸出入請求(Host 10)是否是對來源資料卷71或目的資料卷75寫入數(shù)據(jù)?若否,表示該輸出入請求(Host 10)是要讀取數(shù)據(jù),則由節(jié)點(diǎn)C233進(jìn)入圖6E進(jìn)行讀取數(shù)據(jù)的相關(guān)流程。圖6E的相關(guān)流程細(xì)節(jié)將于后文中說明。若步驟221的判斷結(jié)果為“是”,表示該輸出入請求(Host 10)是要寫入數(shù)據(jù),則呼叫并執(zhí)行“檢查/拷貝來源資料卷的區(qū)塊數(shù)據(jù)至目的資料卷(Check/Copy Block from Source to DestinationVolume) ”程序(步驟224),以檢查并決定是否需要將來源資料卷71的該處理數(shù)據(jù)區(qū)塊的原始數(shù)據(jù)拷貝至來源BAS72做為ー個寫入備份(backup-onirite)。此因處理輸出入請求(Host 10)而呼叫的“檢查/拷貝來源資料卷的區(qū)塊數(shù)據(jù)至目的資料卷(Check/Copy Blockfrom Source to Destination Volume) ”程序的詳細(xì)流程描述于圖8A且將在后文中說明。步驟224之后,將輸出入請求(Host 10)所欲寫入的數(shù)據(jù)寫入至其所欲寫入的來源資料卷(Source Volume) 71的相對應(yīng)數(shù)據(jù)區(qū)塊(步驟226)。
      [0123]在步驟226之后,將第一變數(shù)(SRCCURSPL)的值指派給SrcVBUT.SeqNum(步驟232),表示來源資料卷(Source Volume) 71的相對應(yīng)數(shù)據(jù)區(qū)塊是在SRCCURSPL代表的事件中更新數(shù)據(jù)。最后結(jié)束圖6D的流程,由節(jié)點(diǎn)D218回到圖6C,然后進(jìn)入步驟219進(jìn)行判斷。
      [0124]若是步驟221的判斷結(jié)果為“否”,則由節(jié)點(diǎn)C233進(jìn)入圖6E進(jìn)行讀取數(shù)據(jù)的相關(guān)流程。首先判斷該輸出入請求(Host 10)是否是針對來源資料卷71讀取數(shù)據(jù)(步驟239) ?若以上判斷結(jié)果為“是”,則由來源資料卷71的數(shù)據(jù)區(qū)塊讀取數(shù)據(jù)(步驟242),然后結(jié)束此流程,由節(jié)點(diǎn)D218回到圖6C。若步驟239的判斷結(jié)果為“否”,則進(jìn)一歩判斷:該輸出入請求(Host 10)是否是針對目的資料卷75讀取數(shù)據(jù)、并且DstVBUT.SeqNum (目的資料卷中正進(jìn)行處理的VBUT項(xiàng)目的序號)是否小于前述第二變數(shù)(DST⑶RSYN)的變數(shù)值(步驟240) ?若以上判斷結(jié)果為“是”,表示該欲讀取的數(shù)據(jù)區(qū)塊的數(shù)據(jù)尚未與來源資料卷71的相對應(yīng)數(shù)據(jù)區(qū)塊同歩,因此轉(zhuǎn)由來源資料卷71或來源BAS72的相對應(yīng)數(shù)據(jù)區(qū)塊讀取數(shù)據(jù)(步驟243)。若步驟240的判斷結(jié)果為“否”,則沒有以上疑慮,直接由目的資料卷75的數(shù)據(jù)區(qū)塊讀取數(shù)據(jù)(步驟241),然后結(jié)束此流程,由節(jié)點(diǎn)D218回到圖6C。
      [0125]請參照圖7,是本發(fā)明中背景拷貝來源資料卷至目的資料卷(Background Copyof Source to Destination Volume)程序的一實(shí)施例的流程圖;本程序?yàn)榍拔膱D6B的步驟213所呼叫的程序。對 于目的資料卷的VBUT項(xiàng)目所代表的每ー數(shù)據(jù)區(qū)塊(步驟401),呼叫并執(zhí)行“檢查/拷貝來源資料卷的區(qū)塊數(shù)據(jù)至目的資料卷”程序(步驟402)。此因處理背景拷貝(Background Copy)而呼叫的“檢查/拷貝來源資料卷的區(qū)塊數(shù)據(jù)至目的資料卷(Check/Copy Block from Source to Destination) ”程序的詳細(xì)流程描繪于圖 8B,將于下文中說明。步驟402的程序執(zhí)行完后,判斷是否還有其他數(shù)據(jù)區(qū)塊尚未進(jìn)行同步復(fù)制(sync)(步驟403) ?如果以上判斷結(jié)果為“是”,則將DstVLT.NxtSynBlk (目的資料卷中目前正進(jìn)行的VLT項(xiàng)目的第四欄位34所記載的“下一個要進(jìn)行同步復(fù)制的數(shù)據(jù)區(qū)塊的索引號(NxtSynBlk) ”)的區(qū)塊號碼増加I個單位(步驟404),然后回到步驟401針對下一個數(shù)據(jù)區(qū)塊再進(jìn)行一次步驟402-403的流程。如果步驟403的判斷結(jié)果為“否”,則設(shè)定DstVLT.NxtSynBlk (目的資料卷中目前正進(jìn)行的VLT項(xiàng)目的第四欄位34所記載的“下ー個要進(jìn)行同步復(fù)制的數(shù)據(jù)區(qū)塊的索引號(NxtSynBlk) ”)的值為“_1” (步驟405),表示所有數(shù)據(jù)區(qū)塊的同步復(fù)制皆已完成,然后結(jié)束此程序。請注意,以上將DstVLT.NxtSynBlk的值設(shè)為“_1”表示同步復(fù)制完成,只是本發(fā)明的一實(shí)施例;于其他實(shí)施例中,任何以其他適當(dāng)?shù)臄?shù)字達(dá)到同樣效果的表達(dá)方式都應(yīng)視為不脫離本發(fā)明的精神,例如:設(shè)定DstVLT.NxtSynBlk的值為“-2”。
      [0126]請參照圖8A與圖SB,是本發(fā)明中檢查/拷貝來源資料卷的區(qū)塊數(shù)據(jù)至目的資料卷(Check/Copy Block from Source to Destination Volume)的一實(shí)施例的流程圖。其中,圖8A為圖6D的步驟224所呼叫而進(jìn)入,表示是因輸出入請求(Host 10)而執(zhí)行的處理程序;圖8B為圖7的步驟402所呼叫而進(jìn)入,表示是因背景拷貝(background copy)而執(zhí)行的處理程序。此兩種不同的呼叫來源會傳入不同的值,以供判斷:來源資料卷71的數(shù)據(jù)只要在近端做寫入備份(BOW)(圖8A)、還是要將位于來源BAS72或來源資料卷71的數(shù)據(jù)復(fù)制至遠(yuǎn)端的目的資料卷75 (圖SB)。[0127]圖8A首先判斷DstVBUT.SeqNum (目的資料卷中正進(jìn)行處理的VBUT項(xiàng)目的序號)是否小于DST⑶RSYN (第二變數(shù))的變數(shù)值(步驟501) ?如果以上判斷結(jié)果為“是”,呼叫“檢查資料卷區(qū)塊是否已在同步狀態(tài)(Check Volume Block In-Sync) ”程序(其詳細(xì)流程描繪于圖9且將在后文中說明)并判斷其傳回值是否為“偽(FALSE) ”(步驟505) ?如果以上判斷結(jié)果為“是”,表示該來源資料卷和目的資料卷的相對應(yīng)數(shù)據(jù)區(qū)塊還未同步復(fù)制過。由于本程序是因處理輸出入請求(Host 10)而進(jìn)入,因此在步驟507啟動ー個“寫入備份”(backup-on-write, BOW)的操作:若是來源資料卷(Source Volume) 71中目前正處理的區(qū)塊數(shù)據(jù)不同于目的資料卷(Destination Volume) 75的對應(yīng)區(qū)塊的數(shù)據(jù),則寫入備份(BOff)來源資料卷(Source Volume) 71中該區(qū)塊的數(shù)據(jù)至來源BAS72即可,而不是拷貝至目的資料卷(Destination Volume)75。如果步驟505的判斷結(jié)果為“否”,表示該來源資料卷和目的資料卷的相對應(yīng)數(shù)據(jù)區(qū)塊已經(jīng)同步復(fù)制過,因此不須進(jìn)行任何處理,結(jié)束本程序?;氐讲襟E501,如果其判斷結(jié)果為“否”,表示目的資料卷(Destination Volume) 75的對應(yīng)區(qū)塊的數(shù)據(jù)已經(jīng)更新,則跳過該數(shù)據(jù)區(qū)塊。在步驟501判斷為“否”或步驟507之后,結(jié)束本程序,回到呼叫本程序的圖6D的步驟224,繼續(xù)執(zhí)行其他步驟,最后在圖6C的步驟220回復(fù)主機(jī)(Host) 11其輸出入請求(Host 10)已執(zhí)行完成。
      [0128]請參照圖SB,本程序是因被背景拷貝程序呼叫而進(jìn)入,表示將進(jìn)行背景拷貝近端I的數(shù)據(jù)至遠(yuǎn)端2的目的資料卷(Destination Volume) 75。首先判斷DstVBUT.SeqNumC目的資料卷中正進(jìn)行處理的VBUT項(xiàng)目的序號)是否小于DST⑶RSYN (第二變數(shù))的變數(shù)值(步驟501) ?如果以上判斷結(jié)果為“是”,呼叫“檢查資料卷區(qū)塊是否已在同步狀態(tài)(CheckVolume Block In-Sync)”程序(其詳細(xì)流程描繪于圖9且將在后文中說明)并判斷其傳回值是否為“偽(FALSE) ”(步驟505) ?如果以上判斷結(jié)果為“是”,表示該來源資料卷和目的資料卷的相對應(yīng)數(shù)據(jù)區(qū)塊還未同步復(fù)制過。接下來進(jìn)ー步判斷遠(yuǎn)端的目的資料卷75是否是可存取的(步驟222) ?若當(dāng)時目的資料卷75無法被存取,則設(shè)定“同步錯誤旗標(biāo)(SyncErrorFlag) ”為“`真(TRUE) ” (步驟227)。若其判斷結(jié)果為“是”,表示當(dāng)時的目的資料卷75是可以存取的,以下便可以進(jìn)行拷貝數(shù)據(jù)至目的資料卷75的動作。在進(jìn)行拷貝前先判斷來源BAS72的對應(yīng)區(qū)塊是否是空的(步驟509) ?如果以上判斷結(jié)果為“否”,表示來源資料卷71的該對應(yīng)區(qū)塊的原始數(shù)據(jù)已經(jīng)寫入備份(BOW)至來源BAS72,因此直接拷貝來源BAS72上對應(yīng)區(qū)塊的數(shù)據(jù)至遠(yuǎn)端2的目的資料卷75 (步驟510)。如果步驟509的判斷結(jié)果為“是”,表示來源資料卷71的該對應(yīng)區(qū)塊的原始數(shù)據(jù)并沒有寫入備份(BOW)至來源BAS72。在這種情況下,是否要從來源資料卷71復(fù)制該對應(yīng)區(qū)塊的數(shù)據(jù)至目的資料卷75,是根據(jù)步驟511的判斷式:SrcVBUT.SeqNum (來源資料卷中正進(jìn)行處理的VBUT項(xiàng)目的序號)是否小于第一變數(shù)(SRCCURSPL)的變數(shù)值?如果以上判斷結(jié)果為“是”,表示來源資料卷71的該對應(yīng)區(qū)塊的數(shù)據(jù)在分離(split)時間點(diǎn)后未被更新,因此要將來源資料卷71上該對應(yīng)區(qū)塊的數(shù)據(jù)同步復(fù)制至目的資料卷75 (步驟512);如果步驟511的判斷結(jié)果為“否”,表示該對應(yīng)區(qū)塊在分離時間點(diǎn)后有被更新,且兩資料卷71、75在該對應(yīng)區(qū)塊的數(shù)據(jù)就分離時間點(diǎn)而言是相同,因此不須再進(jìn)行任何處理。
      [0129]其中要注意的是,當(dāng)本發(fā)明采用圖4B的時間點(diǎn)差備份(PIT DifferentialBackup)架構(gòu)時,也就是遠(yuǎn)端的目的資料卷75亦需要做寫入備份(BOW)時,則在步驟510與步驟512對目的資料卷75寫入數(shù)據(jù)之前,須要先將目的資料卷75中被寫入?yún)^(qū)塊的數(shù)據(jù)寫入備份(BOW)至目的BAS76。
      [0130]在步驟510或步驟512的處理之后、或是步驟511判斷結(jié)果為“否”后,須設(shè)定DstVBUT.SeqNum (目的資料卷中正進(jìn)行處理的VBUT項(xiàng)目的序號)等于DST⑶RSYN (第二變數(shù))的變數(shù)值(步驟513),表示目的資料卷75中該對應(yīng)區(qū)塊的數(shù)據(jù)是因DST⑶RSYN (第二變數(shù))所代表的事件而變更;然后結(jié)束本程序。
      [0131]回到步驟501,如果其判斷結(jié)果為“否”,表示目的資料卷75的對應(yīng)區(qū)塊的數(shù)據(jù)已經(jīng)更新,則跳過該數(shù)據(jù)區(qū)塊,然后結(jié)束圖8B的程序。 [0132]請參照圖9,是本發(fā)明中檢查資料卷區(qū)塊是否已在同步狀態(tài)(Check Volume BlockIn-Sync)程序的一實(shí)施例的流程圖;本程序?yàn)榍拔膱D8A與圖8B的步驟505所呼叫的程序。本程序主要有五個判斷條件,只要有任一判斷條件符合,本程序即回傳一個“偽(FALSE) ”訊息(步驟607);相対的,如果五個判斷條件皆不符合,則回傳一個“真(TRUE)”訊息(步驟606)。該五個判斷條件的內(nèi)容詳述如下:
      [0133]第一、DstVBUT.SeqNum (目的資料卷中正進(jìn)行處理的VBUT項(xiàng)目的序號)是否是初始設(shè)定值(initial setting value),例如:“0 (NULL) ”(步驟601) ?如果判斷結(jié)果為“是”,表示該數(shù)據(jù)區(qū)塊還在初始化操作的階段,當(dāng)然不會“已在同步(In-Sync)狀態(tài)”,因此回傳一個“偽(FALSE)”訊息;否則,則繼續(xù)測試下ー個判斷條件。
      [0134]第二、DstVBUT.SeqNum (目的資料卷中正進(jìn)行處理的VBUT項(xiàng)目的序號)所對應(yīng)的目的資料卷的VLT項(xiàng)目是否找不到,或者雖有找到但是讀不到或兩者數(shù)據(jù)不一致(步驟602) ?如果判斷結(jié)果為“是”則回傳一個“偽(FALSE)”訊息(步驟607);否則,則繼續(xù)測試下ー個判斷條件。
      [0135]第三、DstVLT.0pCod (目的資料卷中目前正進(jìn)行的VLT項(xiàng)目的第二欄位32所記載的“操作代碼(OpCod) ”)不是“SYNDST”,或者DstVLT.AltVolID (目的資料卷中目前正進(jìn)行的VLT項(xiàng)目的第三欄位33所記載的“另ー產(chǎn)生關(guān)聯(lián)之資料卷的身份(AltVolID) ”)不是其對應(yīng)的來源資料卷的ID代碼(步驟603) ?如果以上判斷結(jié)果為“是”,則回傳ー個“偽(FALSE) ”訊息(步驟607);否則,則繼續(xù)測試下ー個判斷條件。
      [0136]第四、與DstVBUT.SeqNum (目的資料卷中正進(jìn)行處理的VBUT項(xiàng)目的序號)相同的SrcVLT.AltVolSN (來源資料卷的VLT項(xiàng)目的第四欄位34所記載的目的資料卷的VLT項(xiàng)目的序號(AltVolSN))的來源資料卷之VLT項(xiàng)目,是否找不到,或者雖有找到但是讀不到或記載的數(shù)據(jù)不一致(步驟604) ?如果以上判斷結(jié)果為“是”,則回傳ー個“偽(FALSE)”訊息(步驟607);否則,則繼續(xù)測試下ー個判斷條件。
      [0137]第五、SrcVBUT.SeqNum (來源資料卷中正進(jìn)行處理的VBUT項(xiàng)目的序號)是否大于或等于SrcVLT.SeqNum(來源資料卷中目前正進(jìn)行的VLT項(xiàng)目的第一欄位31所記載的序號(SeqNum))(步驟605) ?如果以上判斷結(jié)果為“是”,表示該來源資料卷之?dāng)?shù)據(jù)區(qū)塊的數(shù)據(jù)在同步復(fù)制至目的資料卷后有再做更改,因此回傳一個“偽(FALSE)”訊息(步驟607);否貝U,則回傳ー個“真(TRUE) ”訊息(步驟606)。
      [0138]若發(fā)生來源資料卷71無法連線的事件,且在此事件之前兩資料卷71、75間的同步/非同步復(fù)制作業(yè)還未完成,貝1J會啟動ー個“非同步復(fù)制失效轉(zhuǎn)移處理(Async replicationfailover process) ”程序。此時目的資料卷75會開始進(jìn)行一個“返回(Rollback) ”作業(yè),將本身的數(shù)據(jù)返回(Rollback)到目的BAS76所記錄的狀態(tài),并且每一有做返回的數(shù)據(jù)區(qū)塊所對應(yīng)的目的資料卷的VBUT (Destination VBUT)項(xiàng)目會因此而隨之更新。若是往后來源資料卷71回到線上,貝U可以啟動一個“非同步復(fù)制失效回復(fù)處理(Async replicationfailback process) ”程序。此操作會強(qiáng)迫目的資料卷75上該些有做“返回(Rollback) ”作業(yè)的數(shù)據(jù)區(qū)塊反向同步復(fù)制到來源資料卷71。其中要注意的是,目的資料卷75上尚未與來源資料卷71進(jìn)行同步復(fù)制的數(shù)據(jù)區(qū)塊也會被標(biāo)注為:將來要同步復(fù)制回來源資料卷71 ;因?yàn)閬碓促Y料卷71和目的資料卷75的VBUT entries可能會不一致。此做法,再加上上述“返回(Rollback) ”作業(yè)中更新Destination VBUT的作法,保證進(jìn)行“失效回復(fù)(failback)”程序后可以使來源資料卷71完全相同于目的資料卷75。
      [0139]請參照圖10,是本發(fā)明中非同步復(fù)制失效轉(zhuǎn)移處理(Async replicationfailover process)程序的ー實(shí)施例,總共有5個步驟,分述如下。首先在步驟801:從近端儲存虛擬化子系統(tǒng)12中解映射(unmap)目的資料卷75以及其區(qū)段分配系統(tǒng)(DestinationSAS)。此做法可以保證在失效轉(zhuǎn)移(failover)之后,只有ー個子系統(tǒng)(1.e.,遠(yuǎn)端儲存虛擬化子系統(tǒng)22)可以存取目的資料卷75以及其區(qū)段分配系統(tǒng)(Destination SAS)。步驟802:掛載(mount)目的資料卷的區(qū)段分配系統(tǒng)(Destination SAS)和目的BAS76在遠(yuǎn)端儲存虛擬化子系統(tǒng)22的控制器(SVC) 23上。步驟803:初始化一“返回(Rollback) ”作業(yè),用以將目的資料卷75的數(shù)據(jù)回復(fù)到目的BAS76所記錄的狀態(tài);并且,目的資料卷的VBUT (Destination VBUT)持續(xù)追蹤并記錄因“返回(Rollback) ”作業(yè)而導(dǎo)致的數(shù)據(jù)更新。步驟804:當(dāng)該“返回(Rollback)”作業(yè)完成后,分離(split)目的資料卷75與目的BAS76。步驟805:將目的資料卷75映射(map)給主機(jī)(Host) 11,以服務(wù)主機(jī)(Host) 11的需求;并且,目的資料卷的VBUT (Destination VBUT)持續(xù)追蹤并記錄主機(jī)(Host) 11對目的資料卷75所做的數(shù)據(jù)更新。
      [0140]至于“非同步復(fù)制失效回復(fù)處理(Async replication failback process) ”程序,在本發(fā)明中提出兩種實(shí)施例:圖11描繪的是由近端的SVC13 (或稱為Source RAIDController)做為“主人(Master) ”,主導(dǎo)執(zhí)行“再同步復(fù)制(resync) ”作業(yè);圖12A與圖12B描繪的是仍然由遠(yuǎn)端的SVC23 (或稱為Destination RAID Controller)做為“主人(Master)”,主導(dǎo)執(zhí)行“再同步復(fù)制(resync)”作業(yè)。其詳細(xì)流程分述如下。
      [0141]請參照圖11,描繪由近端的SVC13 (或稱為Source RAID Controller)做為“主人(Master) ”,主導(dǎo)執(zhí)行非同步復(fù)制失效回復(fù)處理(Async replication failback process)程序的流程圖。由于在非同步復(fù)制失效轉(zhuǎn)移處理(Async replication failover process)程序之吋,已經(jīng)轉(zhuǎn)換由遠(yuǎn)端的SVC23做為整個系統(tǒng)的“主人(Master) ”,因此本程序首先要將“主人(Master)”再轉(zhuǎn)換給近端的SVC13(或稱為Source RAID Controller),之后再進(jìn)行由目的資料卷75到來源資料卷71的“再同步復(fù)制(resync)”作業(yè)。步驟901:將目的資料卷75由主機(jī)11解映射(unmap)出來,并且卸載(dismount)目的資料卷的區(qū)段分配系統(tǒng)(Destination SAS)。步驟902:映射(map)目的資料卷75以及其區(qū)段分配系統(tǒng)給近端的SVC13 (或稱為Source RAID Controller)。步驟903:掛載(mount)來源資料卷的區(qū)段分配系統(tǒng)(Source SAS)和目的資料卷的區(qū)段分配系統(tǒng)(Destination SAS)在SVC(或稱為Source RAID Controller) 13上。步驟904:初始化一“同步的再同步復(fù)制(synchronousresync) ”作業(yè),用以將目的資料卷75的數(shù)據(jù)同步復(fù)制至來源資料卷71,之后分離(split)該兩資料卷71、75。步驟905:映射(map)來源資料卷71給主機(jī)11存取。步驟906:當(dāng)該“同步的再同步復(fù)制(synchronous resync) ”作業(yè)完成,更改來源資料卷與目的資料卷間的復(fù)制模式為“非同步(Async)”。
      [0142]請參照圖12A與圖12B,描繪仍然由遠(yuǎn)端的SVC23 (或稱為DestinationRAID Controller)做為“主人(Master) ”,主導(dǎo)執(zhí)行非同步復(fù)制失效回復(fù)處理(Asyncreplication failback process)程序的流程圖。其中圖12A的流程決定再同步作業(yè)是由遠(yuǎn)端的SVC23 (或稱為Destination RAID Controller)主導(dǎo),其步驟如下。步驟911:映射(map)來源資料卷(Source Volume) 71以及其區(qū)段分配系統(tǒng)(Source SAS)給遠(yuǎn)端的SVC23(或稱為Destination RAID Controller)。步驟912:掛載(mount)來源資料卷的區(qū)段分配系統(tǒng)(Source SAS)在遠(yuǎn)端的 SVC23 (或稱為 Destination RAID Controller)上。步驟913:初始化一“同步”或“非同步”的“再同步復(fù)制”(synchronous or async resync)作業(yè),用以將目的資料卷75的數(shù)據(jù)同步或非同步復(fù)制至來源資料卷71。步驟913完成后,接下來進(jìn)行圖12B的流程,以進(jìn)行“返回(Rollback) ”程序:步驟921:從主機(jī)(Host) 11解映射(unmap)目的資料卷75。步驟922:卸載(dismount)在遠(yuǎn)端的SVC23(或稱為DestinationRAID Controller)中的目的資料卷的區(qū)段分配系統(tǒng)和來源資料卷的區(qū)段分配系統(tǒng)。步驟923:解映射(unmap)遠(yuǎn)端的 SVC23 (或稱為 Destination RAID Controller)中的來源資料卷(Source Volume) 71以及其區(qū)段分配系統(tǒng)(Source SAS)。步驟924:映射(map)目的資料卷75以及其區(qū)段分配系統(tǒng)(Destination SAS)給近端的SVC13 (或稱為Source RAIDController)。步驟925:掛載(mount)來源資料卷的區(qū)段分配系統(tǒng)、目的資料卷的區(qū)段分配系統(tǒng)和來源BAS72在近端的SVC13上。步驟926:初始化一“返回(Rollback) ”程序,用以將來源資料卷71的數(shù)據(jù)回復(fù)到來源BAS72所記錄的狀態(tài)。來源資料卷的VBUT (Source VBUT)持續(xù)追蹤并記錄因“返回(Rollback)”程序而導(dǎo)致的來源資料卷71更新。步驟927:分離(split)來源資料卷71與來源BAS72,當(dāng)該返回(Rollback)程序完成。步驟928:映射(map)來源資料卷71給主機(jī))11,并且目的資料卷的VBUT (Destination VBUT)持續(xù)追蹤并記錄目的資料卷75的更新狀態(tài)。步驟929:繼續(xù)進(jìn)行一般的非同步復(fù)制(async replication)作業(yè)。
      [0143]以下舉ー實(shí)際范例,說明本發(fā)明如何搭配“時間點(diǎn)差備份(Point-1n-TimeDifferential Backup) ”技術(shù)而進(jìn)行遠(yuǎn)端非同步資料卷復(fù)制作業(yè),且使系統(tǒng)的運(yùn)作效率維持在一定的水準(zhǔn)。此實(shí)際范例是以圖4B的資料卷快照架構(gòu)為例說明。
      [0144]請參照圖13A,假設(shè)ー來源資料卷71具有6個數(shù)據(jù)區(qū)塊,分別是第一數(shù)據(jù)區(qū)塊711、第二數(shù)據(jù)區(qū)塊712、第三數(shù)據(jù)區(qū)塊713、第四數(shù)據(jù)區(qū)塊714、第五數(shù)據(jù)區(qū)塊715、以及第六數(shù)據(jù)區(qū)塊716。在遠(yuǎn)端非同步資料卷復(fù)制作業(yè)中的一“再同步復(fù)制(resync)”開始之前,該來源資料卷71的第一數(shù)據(jù)區(qū)塊711、第二數(shù)據(jù)區(qū)塊712、第四數(shù)據(jù)區(qū)塊714、以及第六數(shù)據(jù)區(qū)塊716的儲存數(shù)據(jù)與遠(yuǎn)端的目的資料卷752的相對應(yīng)區(qū)塊的數(shù)據(jù)不同,而第三數(shù)據(jù)區(qū)塊713與第五數(shù)據(jù)區(qū)塊715的儲存數(shù)據(jù)與遠(yuǎn)端的目的資料卷752的相對應(yīng)區(qū)塊的數(shù)據(jù)相同。請同時參照圖13B至圖13D,在“再同步復(fù)制(resync) ”開始之后,系統(tǒng)在近端與遠(yuǎn)端各別建立一對應(yīng)來源資料卷71的來源BAS72、與ー對應(yīng)目的資料卷75的目的BAS76 (繪示于圖13D)。在該“再同步復(fù)制(resync)”期間,先有ー輸出入請求(Host 10)要對第四數(shù)據(jù)區(qū)塊714寫入數(shù)據(jù)(圖13B),之后又有ニ個輸出入請求(Host 10)分別要對第一數(shù)據(jù)區(qū)塊711與第三數(shù)據(jù)區(qū)塊713寫入數(shù)據(jù)(圖13C)。在上述三個輸出入請求(Host 10)出現(xiàn)的時間,背景拷貝程序只有將第一數(shù)據(jù)區(qū)塊711的數(shù)據(jù)拷貝至遠(yuǎn)端的目的資料卷75,其余皆還未拷貝。如圖13B與圖13C中的橫向粗黑虛線代表:背景拷貝已經(jīng)完成的進(jìn)度。對圖13B繪示的輸出入請求(Host 10)而言,因?yàn)榈谒臄?shù)據(jù)區(qū)塊714的數(shù)據(jù)還未拷貝至遠(yuǎn)端的目的資料卷75,并且第四數(shù)據(jù)區(qū)塊714的數(shù)據(jù)與目的資料卷75的相對應(yīng)區(qū)塊的數(shù)據(jù)不同,因此,在處理將該輸出入請求(Host 10)的數(shù)據(jù)寫入第四數(shù)據(jù)區(qū)塊714之前,需先對第四數(shù)據(jù)區(qū)塊714的數(shù)據(jù)做ー“寫入備份(backup-onirite,BOW)”的動作。也就是要先將來源資料卷71的第四數(shù)據(jù)區(qū)塊714的原始數(shù)據(jù)拷貝至來源BAS72的相對應(yīng)的第四數(shù)據(jù)區(qū)塊724,以保存來源資料卷71的第四數(shù)據(jù)區(qū)塊714在“分離時間點(diǎn)”(也就是“再同步復(fù)制(resync)開始”之吋)的數(shù)據(jù)狀態(tài),提供未來背景復(fù)制至目的資料卷75之用。對圖13C繪示的ニ輸出入請求(Host 10)而言,因?yàn)榈谝粩?shù)據(jù)區(qū)塊711已經(jīng)同步復(fù)制至目的資料卷75的第一數(shù)據(jù)區(qū)塊751,又第三數(shù)據(jù)區(qū)塊713的數(shù)據(jù)原本就與目的資料卷75的第三數(shù)據(jù)區(qū)塊753的數(shù)據(jù)相同,因此本發(fā)明并不對該ニ輸出入請求(Host 10)對來源資料卷71寫入數(shù)據(jù)的行為做“寫入備份(BOW) ”的動作。
      [0145]值得注意的是,以上圖13C本發(fā)明處理輸出入請求(Host 10)的做法是:只有對來源資料卷71中與目的資料卷75不同的數(shù)據(jù)區(qū)塊有做“寫入備份(B0W)”的動作,如此可以精簡數(shù)據(jù)處理的程序。
      [0146]圖13D繪示進(jìn)行背景拷貝時,數(shù)據(jù)區(qū)塊復(fù)制的對應(yīng)關(guān)系。本發(fā)明在進(jìn)行背景拷貝吋,請同時參照圖8B,會先到來源BAS72的對應(yīng)區(qū)塊找找看是否有儲存數(shù)據(jù)(步驟509)。如果有,直接拷貝來源BAS72中該對應(yīng)區(qū)塊的數(shù)據(jù)至目的資料卷75 (步驟510)。例如,圖13D中將來源BAS72的第四數(shù)據(jù)區(qū)塊724的數(shù)據(jù)拷貝至目的資料卷75的第四數(shù)據(jù)區(qū)塊754。如果來源BAS72在該對應(yīng)區(qū)塊是空的,再決定是否從來源資料卷71的對應(yīng)區(qū)塊拷貝數(shù)據(jù)至目的資料卷75。其決定的機(jī)制取決于圖8B的步驟511 =SrcVBUT.SeqNum是否小于第一變數(shù)(SRCCURSPL)的變數(shù)值?如果是,表示在分離(split)時間點(diǎn)后,來源資料卷71的該數(shù)據(jù)區(qū)塊的數(shù)據(jù)未被更新,當(dāng)兩者還未同步復(fù)制過,須將來源資料卷71的該數(shù)據(jù)區(qū)塊的數(shù)據(jù)遠(yuǎn)端復(fù)制至目的資料卷75的對應(yīng)區(qū)塊(步驟512);例如,圖13D中將來源資料卷71的第一數(shù)據(jù)區(qū)塊711、第二數(shù)據(jù)區(qū)塊712和第六數(shù)據(jù)區(qū)塊716的數(shù)據(jù)拷貝至目的資料卷75的第一數(shù)據(jù)區(qū)塊751、第二數(shù)據(jù)區(qū)塊752和第六數(shù)據(jù)區(qū)塊756。如果步驟511的判斷結(jié)果為“否”,則表示來源資料卷71的該數(shù)據(jù)區(qū)塊已被更新過、且兩資料卷71、75在該數(shù)據(jù)區(qū)塊的數(shù)據(jù)于分離時間點(diǎn)時是相同,因此不需再做數(shù)據(jù)復(fù)制的動作;例如,圖13D中來源資料卷71的第三數(shù)據(jù)區(qū)塊713與第五數(shù)據(jù)區(qū)塊715。以上范例中所提及的每ー對目的資料卷75的數(shù)據(jù)區(qū)塊做寫入動作的步驟,都需伴隨著一“寫入備份(BOW) ”的處理。也就是先將目的資料卷75將被寫入?yún)^(qū)塊的數(shù)據(jù),先“寫入備份(BOW) ”至目的BAS76的對應(yīng)區(qū)塊。例如,圖13D中目的資料卷75的第一數(shù)據(jù)區(qū)塊751、第二數(shù)據(jù)區(qū)塊752、第四數(shù)據(jù)區(qū)塊754與第六數(shù)據(jù)區(qū)塊756的原始數(shù)據(jù),需“寫入備份(B0W)”至目的BAS76的第一數(shù)據(jù)區(qū)塊761、第二數(shù)據(jù)區(qū)塊762、第四數(shù)據(jù)區(qū)塊764與第六數(shù)據(jù)區(qū)塊766。
      [0147]總而言之,本發(fā)明利用非同步復(fù)制(Async replication)技術(shù)搭配“時間點(diǎn)差備份(Point-1n-Time Differential Backup) ”技術(shù)來進(jìn)行將近端數(shù)據(jù)復(fù)制至遠(yuǎn)端儲存媒體的作業(yè),可以在數(shù)據(jù)真正進(jìn)行背景拷貝之前,先回復(fù)主機(jī)其輸出入請求(Host 10)已經(jīng)完成,適當(dāng)?shù)乇苊獾却龜?shù)據(jù)在通訊媒體(Communication Medium)傳輸時所需花費(fèi)的大量時間。又,本發(fā)明所提出的“寫入備份(Backup-on-Write,BOW) ”技術(shù)只針對那些真的有需要備份至?xí)r間點(diǎn)差備份影像(Point-1n-Time Differential Backup Image)的數(shù)據(jù)做備份,可以精簡數(shù)據(jù)處理的程序。
      [0148]以上所述,僅是本發(fā)明的較佳實(shí)施例而已,并非對本發(fā)明作任何形式上的限制,雖然本發(fā)明已以較佳實(shí)施例揭露如上,然而并非用以限定本發(fā)明,任何熟悉本專業(yè)的技術(shù)人員,在不脫離本發(fā)明技術(shù)方案范圍內(nèi),當(dāng)可利用上述掲示的方法及技術(shù)內(nèi)容作出些許的更動或修飾為等同變化的等效實(shí)施例,但凡是未脫離本發(fā)明技術(shù)方案的內(nèi)容,依據(jù)本發(fā)明的技術(shù)實(shí)質(zhì)對以上實(shí)施例所作的任何簡單修改、等同變化與修飾,均仍屬于本發(fā)明技術(shù)方案的范圍內(nèi)。
      【權(quán)利要求】
      1.一種非同步資料卷復(fù)制的方法,其特征在于其包括以下步驟: 鏡射位于ー第一位置的一來源資料卷的數(shù)據(jù)到位于ー第二位置的一目的資料卷以形成ー鏡射對并立即執(zhí)行分離作業(yè),該來源資料卷與該目的資料卷各自建立專屬的一資料卷記錄表與ー資料卷區(qū)塊更新表,其中該資料卷記錄表用以記錄該兩資料卷間的同步狀態(tài)資訊,該資料卷區(qū)塊更新表用以記錄該資料卷的每一數(shù)據(jù)區(qū)塊的更新狀態(tài)資訊,該來源數(shù)據(jù)卷包含有一第一數(shù)據(jù)區(qū)塊,而該目的數(shù)據(jù)卷包含有相對應(yīng)于該第一數(shù)據(jù)區(qū)塊之一第二數(shù)據(jù)區(qū)塊; 執(zhí)行ー背景拷貝來源資料卷至目的資料卷步驟; 接收ー主機(jī)輸出入要求,該主機(jī)輸出入要求欲對該來源資料卷的該第一數(shù)據(jù)區(qū)塊寫入一更新數(shù)據(jù); 執(zhí)行ー寫入備份操作,該寫入備份操作先判斷該第一數(shù)據(jù)區(qū)塊的數(shù)據(jù)是否與該目的資料卷的該第二數(shù)據(jù)區(qū)塊的數(shù)據(jù)相同,而決定是否將該第一數(shù)據(jù)區(qū)塊的該數(shù)據(jù)備份至位于該第一位置的一第一備份影像,其中該第一數(shù)據(jù)區(qū)塊中所儲存之該原始數(shù)據(jù)系為該來源數(shù)據(jù)卷在分離時間點(diǎn)所記錄的數(shù)據(jù); 寫入該更新數(shù)據(jù)至該來源資料卷的該第一數(shù)據(jù)區(qū)塊;以及 回復(fù)該主機(jī)該主機(jī)輸出入要求已經(jīng)完成。
      2.根據(jù)權(quán)利要求1所述的非同步資料卷復(fù)制的方法,其特征在于該第一備份影像是由一區(qū)段分配系統(tǒng)管理。
      3.根據(jù)權(quán)利要求1所述的非同步資料卷復(fù)制的方法,其特征在于其中該背景拷貝來源資料卷至目的資料卷步驟更用以將儲存于該第一備份影像中的數(shù)據(jù)、或該來源資料卷中的相對應(yīng)數(shù)據(jù)拷貝至該目的資料卷。
      4.根據(jù)權(quán)利要求3所述的非同步資料卷復(fù)制的方法,其特征在于其中所述的拷貝步驟是藉由一通訊媒體將數(shù)據(jù)由該第一位置傳輸至該第二位置。
      5.根據(jù)權(quán)利要求1所述的非同步資料卷復(fù)制的方法,其特征在于該寫入備份操作更其中還包含: 若該來源數(shù)據(jù)卷的該第一數(shù)據(jù)區(qū)塊的數(shù)據(jù)與該目的數(shù)據(jù)卷的該第二數(shù)據(jù)區(qū)塊的數(shù)據(jù)相同,則不將該來源數(shù)據(jù)卷的該第一數(shù)據(jù)區(qū)塊的數(shù)據(jù)備份至該第一備份影像,而若該來源數(shù)據(jù)卷的該第一數(shù)據(jù)區(qū)塊的數(shù)據(jù)與該目的數(shù)據(jù)卷的該第二數(shù)據(jù)區(qū)塊的數(shù)據(jù)不同,則將該來源資料卷的該第一數(shù)據(jù)區(qū)塊的數(shù)據(jù)備份至該第一備份影像。
      6.根據(jù)權(quán)利要求1所述的非同步資料卷復(fù)制的方法,其特征在于其中還增加ー步驟:判斷是否有一主機(jī)輸出入要求要對該來源資料卷存取數(shù)據(jù)。
      7.根據(jù)權(quán)利要求6所述的非同步資料卷復(fù)制的方法,其特征在于其中還增加ー步驟:將該主機(jī)輸出入要求分解為至少ー邏輯盤輸出入要求,每ー該邏輯盤輸出入要求皆對應(yīng)到該來源資料卷中ー欲存取數(shù)據(jù)區(qū)塊。
      8.根據(jù)權(quán)利要求7所述的非同步資料卷復(fù)制的方法,其特征在于其中該至少一邏輯盤輸出入要求的每ー并行執(zhí)行以下步驟: 判斷該主機(jī)輸出入要求是否是一寫入要求; 執(zhí)行ー檢查/拷貝來源資料卷的區(qū)塊數(shù)據(jù)至目的資料卷的步驟; 寫入該主機(jī)輸出入要求的數(shù)據(jù)至該來源資料卷的該欲存取數(shù)據(jù)區(qū)塊;以及設(shè)定該來源資料卷的該資料卷區(qū)塊更新表中對應(yīng)該欲存取數(shù)據(jù)區(qū)塊的序號等于該第ー變數(shù)的值。
      9.根據(jù)權(quán)利要求7所述的非同步資料卷復(fù)制的方法,其特征在于其中還增加以下步驟: 判斷該主機(jī)輸出入要求是否是一寫入要求; 判斷該主機(jī)輸出入要求是否是存取該來源資料卷;以及 從該來源資料卷的該欲存取區(qū)塊讀取數(shù)據(jù)。
      10.根據(jù)權(quán)利要求7所述的非同步資料卷復(fù)制的方法,其特征在于其中還增加ー步驟:判斷對應(yīng)該至少ー邏輯盤輸出入要求的步驟是否都已執(zhí)行完成。
      11.根據(jù)權(quán)利要求10所述的非同步資料卷復(fù)制的方法,其特征在于其中還增加ー步驟:回報送出該主機(jī)輸出入要求的一主機(jī),該主機(jī)輸出入要求已處理完畢。
      12.根據(jù)權(quán)利要求8所述的非同步資料卷復(fù)制的方法,其特征在于其中該檢查/拷貝來源資料卷的區(qū)塊數(shù)據(jù)至目的資料卷的步驟還包含以下步驟:執(zhí)行ー檢查資料卷區(qū)塊是否已在同步狀態(tài)的步驟,并且檢查該步驟是否回傳一“偽”訊息。
      13.根據(jù)權(quán)利要求12所述的非同步資料卷復(fù)制的方法,其特征在于其中該檢查/拷貝來源資料卷的區(qū)塊數(shù)據(jù)至目的資料卷的步驟還包含以下步驟:拷貝該來源資料卷的區(qū)塊數(shù)據(jù)至該第一備份影像,以做為該寫入備份操作。
      14.根據(jù)權(quán)利要求13所述的非同步資料卷復(fù)制的方法,其特征在于其中該檢查/拷貝來源資料卷的區(qū)塊數(shù)據(jù)至目的資料卷的步驟還包含以下步驟:判斷該目的資料卷是否是可存取。
      15.根據(jù)權(quán)利要求14所述的非同步資料卷復(fù)制的方法,其特征在于其中該檢查/拷貝來源資料卷的區(qū)塊數(shù)據(jù)至目的資料卷的步驟還包含以下步驟:設(shè)定一同步錯誤旗標(biāo)為“真”。
      16.根據(jù)權(quán)利要求14所述的非同步資料卷復(fù)制的方法,其特征在于其中該檢查/拷貝來源資料卷的區(qū)塊數(shù)據(jù)至目的資料卷的步驟還包含以下步驟:判斷該第一備份影像的ー對應(yīng)區(qū)塊是否是空的。
      17.根據(jù)權(quán)利要求16所述的非同步資料卷復(fù)制的方法,其特征在于其中該檢查/拷貝來源資料卷的區(qū)塊數(shù)據(jù)至目的資料卷的步驟還包含以下步驟:復(fù)制該第一備份影像的該對應(yīng)區(qū)塊的數(shù)據(jù)至該目的資料卷;以及 設(shè)定該目的資料卷中正進(jìn)行處理的該資料卷區(qū)塊更新表的項(xiàng)目的序號。
      18.根據(jù)權(quán)利要求1所述的非同步資料卷復(fù)制的方法,其特征在于其中還包含一非同步復(fù)制失效轉(zhuǎn)移處理步驟,包含以下步驟: 解映射在該第一位置的一第一儲存虛擬化子系統(tǒng)中的該目的資料卷以及其對應(yīng)的一第二區(qū)段分配系統(tǒng); 掛載該第二區(qū)段分配系統(tǒng)的ー第二備份影像在該第二位置的一第二儲存虛擬化子系統(tǒng)的ー第二控制器上,其中該第二備份影像儲存于該第二位置; 初始化ー返回作業(yè),用以將該目的資料卷的數(shù)據(jù)回復(fù)到該第二備份影像所記錄的狀態(tài),并且,該目的資料卷的該資料卷區(qū)塊更新表持續(xù)追蹤并記錄因該返回作業(yè)而導(dǎo)致的數(shù)據(jù)更新;分離該目的資料卷與該第二備份影像;以及 映射該目的資料卷給該主機(jī),以服務(wù)該主機(jī)的需求,并且,該目的資料卷的該資料卷區(qū)塊更新表持續(xù)追蹤并記錄該主機(jī)對該目的資料卷所做的數(shù)據(jù)更新。
      19.根據(jù)權(quán)利要求18所述的非同步資料卷復(fù)制的方法,其特征在于其中還包含一非同步復(fù)制失效回復(fù)處理步驟,包含以下步驟: 解映射該主機(jī)中的該目的資料卷,并且卸載該目的資料卷的該第二區(qū)段分配系統(tǒng);映射該目的資料卷以及該第二區(qū)段分配系統(tǒng)給位于該第一位置的一第一儲存虛擬化子系統(tǒng)的ー第一控制器; 掛載該來源資料卷的一第一區(qū)段分配系統(tǒng)和該目的資料卷的該第二區(qū)段分配系統(tǒng)在該第一控制器上; 初始化一同步的再同步復(fù)制作業(yè),用以將該目的資料卷的數(shù)據(jù)復(fù)制至該來源資料卷,并且分離該目的資料卷與該來源資料卷; 映射該來源資料卷給該主機(jī)存??;以及 當(dāng)該同步的再同步復(fù)制作業(yè)完成吋,更改該來源資料卷與該目的資料卷間的ー復(fù)制模式為非同步。
      20.根據(jù)權(quán)利要求18所述的非同步資料卷復(fù)制的方法,其特征在于其中還包含一非同步復(fù)制失效回復(fù)處理步驟,包含以下步驟: 映射該來源資料卷以及其對應(yīng)的一第一區(qū)段分配系統(tǒng)給位于該第二位置的該第二儲存虛擬化子系統(tǒng)的該第二控制;` 掛載該來源資料卷的該第一區(qū)段分配系統(tǒng)在該第二位置的該第二控制上;以及初始化一同步或非同步的再同步復(fù)制作業(yè),用以將該目的資料卷的數(shù)據(jù)同步或非同步復(fù)制至該來源資料卷。
      21.根據(jù)權(quán)利要求20所述的非同步資料卷復(fù)制的方法,其特征在于其中該非同步復(fù)制失效回復(fù)處理步驟還包含以下步驟: 解映射該主機(jī)中的該目的資料卷; 卸載位于該第二位置的該第二控制器中的該目的資料卷的該第二區(qū)段分配系統(tǒng)和該來源資料卷的該第一區(qū)段分配系統(tǒng); 解映射位于該第二位置的該第二控制中的該來源資料卷以及該第一區(qū)段分配系統(tǒng);映射該目的資料卷以及該第二區(qū)段分配系統(tǒng)給位于該第一位置的該第一控制器;掛載該來源資料卷的該第一區(qū)段分配系統(tǒng)、該目的資料卷的該第二區(qū)段分配系統(tǒng)和該第一備份影像在位于該第一位置的該第一控制器上; 初始化ー返回步驟,用以將該來源資料卷的數(shù)據(jù)回復(fù)到該第一備份影像所記錄的狀態(tài),并且該來源資料卷的該資料卷區(qū)塊更新表持續(xù)追蹤并記錄因該返回步驟而導(dǎo)致的該來源資料卷的更新狀態(tài); 分離該來源資料卷與該第一備份影像; 映射該來源資料卷給該主機(jī),并且該目的資料卷的該資料卷區(qū)塊更新表持續(xù)追蹤并記錄該目的資料卷的更新狀態(tài);以及進(jìn)行ー非同步復(fù)制作業(yè)。
      22.—種執(zhí)行非同步資料卷復(fù)制的儲存系統(tǒng),其特征在于其包含:一第一儲存虛擬化子系統(tǒng),位于一第一位置,包含有一第一控制器與一第一儲存單元,其中該第一儲存單元中具有一第一資料卷與一第一備份影像; 一第二儲存單元,位于ー第二位置,該第二儲存單元中具有一第二資料卷;以及 一主機(jī),位于該第一位置,與該第一儲存虛擬化子系統(tǒng)稱接,并對該第一儲存虛擬化子系統(tǒng)中的該第一資料卷發(fā)出ー主機(jī)輸出入要求; 其中,當(dāng)該第一儲存虛擬化子系統(tǒng)中的該第一控制器接收到該主機(jī)輸出入要求后,執(zhí)行一寫入備份操作,該寫入備份操作判斷該第一數(shù)據(jù)區(qū)塊的數(shù)據(jù)是否與該第二資料卷的該第二數(shù)據(jù)區(qū)塊的數(shù)據(jù)相同,而決定是否將該第一數(shù)據(jù)區(qū)塊的該數(shù)據(jù)備份至位于該第一位置的一第一備份影像; 然后該第一控制器寫入該主機(jī)輸出入要求的一更新數(shù)據(jù)至該第一資料卷的該第一數(shù)據(jù)區(qū)塊,之后回復(fù)該主機(jī)該主機(jī)輸出入要求已經(jīng)完成。
      23.根據(jù)權(quán)利要求22所述的執(zhí)行非同步資料卷復(fù)制的儲存系統(tǒng),其特征在于其中該第二儲存單元還具有一第二備份影像,用以當(dāng)該第二資料卷的數(shù)據(jù)更動吋,記錄該第二資料卷的原始數(shù)據(jù)之用。
      24.根據(jù)權(quán)利要求22所述的執(zhí)行非同步資料卷復(fù)制的儲存系統(tǒng),其特征在于該寫入備份操作判斷該第一資料卷將被寫入的一第一數(shù)據(jù)區(qū)塊的數(shù)據(jù)是否與該第二資料卷相對應(yīng)的一第二數(shù)據(jù)區(qū)塊的數(shù)據(jù)相同,而當(dāng)判斷該第一資料卷將被寫入的該第一數(shù)據(jù)區(qū)塊的數(shù)據(jù)與該第二資料卷相對應(yīng)的該第二數(shù)據(jù)區(qū)塊的數(shù)據(jù)不相同時,執(zhí)行一將該第一資料卷的該第一數(shù)據(jù)區(qū)塊的原始數(shù)據(jù)備份至該第一備份影像的操作,而若該第一數(shù)據(jù)卷的該第一數(shù)據(jù)區(qū)塊的數(shù)據(jù)與該第二數(shù)據(jù)卷的該第二數(shù)據(jù)區(qū)塊的數(shù)據(jù)相同,則不將該第一數(shù)據(jù)卷的該第一數(shù)據(jù)區(qū)塊的數(shù)據(jù)備份至該第一備份影像。
      25.根據(jù)權(quán)利要求24所述的執(zhí)行非同步資料卷復(fù)制的儲存系統(tǒng),其特征在于位于該第一位置的該第一儲存虛擬化子系統(tǒng)與位于該第二位置的該第二儲存單元之間通過一通訊媒體傳輸數(shù)據(jù),且該通訊媒體是以下組合的其中之一:區(qū)域網(wǎng)絡(luò)、廣域網(wǎng)絡(luò)、儲存區(qū)域網(wǎng)絡(luò)、網(wǎng)際網(wǎng)絡(luò)、與專用的數(shù)據(jù)傳輸通道。
      26.根據(jù)權(quán)利要求22所述的執(zhí)行非同步資料卷復(fù)制的儲存系統(tǒng),其特征在于該第一控制器更包含一中央處理電路,且該第一備份影像是由一區(qū)段分配系統(tǒng)管理,而該中央處理電路用以執(zhí)行該區(qū)段分配系統(tǒng),其中該區(qū)段分配系統(tǒng)包含有一第一屬性區(qū)塊,用以記載該區(qū)段分配系統(tǒng)的身份與相關(guān)聯(lián)的至少ー媒體區(qū)的身份;一區(qū)塊關(guān)聯(lián)集相關(guān)資訊欄位,用以記載指向一區(qū)塊關(guān)聯(lián)集的資訊、以及與該區(qū)塊關(guān)聯(lián)集關(guān)聯(lián)的該來源資料卷的資訊;一第一日志欄位,用來存放ー運(yùn)作日志,以供該系統(tǒng)發(fā)生錯誤或斷電情事時可供回復(fù)之用。
      27.根據(jù)權(quán)利要求26所述的執(zhí)行非同步資料卷復(fù)制的儲存系統(tǒng),其特征在于該第一控制器更包含一存儲器,其中該存儲器儲存該區(qū)塊關(guān)聯(lián)集相關(guān)資訊欄位且該區(qū)塊關(guān)聯(lián)集相關(guān)資訊欄位還包含有一區(qū)段分配表與ー節(jié)點(diǎn)表。
      28.根據(jù)權(quán)利要求26所述的執(zhí)行非同步資料卷復(fù)制的儲存系統(tǒng),其特征在于其中該中央處理電路更記載該區(qū)塊關(guān)聯(lián)集的身份、大小以及相關(guān)的設(shè)定于ー第二屬性區(qū)塊中;該中央處理電路更記 載一區(qū)塊關(guān)聯(lián)表的級數(shù)以及已建置的該區(qū)塊關(guān)聯(lián)表的數(shù)量于一目錄欄位中;該中央處理電路更存放一運(yùn)作日志于ー第二日志欄位中,以供該系統(tǒng)發(fā)生錯誤或斷電情事時可供回復(fù)之用;該中央處理電路更利用一文件表指向該區(qū)塊關(guān)聯(lián)表;以及該中央處理電路更存放該第一備份影像于ー數(shù)據(jù)區(qū)中;其中該第二屬性區(qū)塊、該目錄欄位、該第二日志欄位、該文件表以及該數(shù)據(jù)區(qū)是包含于該區(qū)塊關(guān)聯(lián)集之中。
      【文檔編號】G06F12/02GK103559107SQ201310494725
      【公開日】2014年2月5日 申請日期:2010年1月22日 優(yōu)先權(quán)日:2009年1月23日
      【發(fā)明者】施明文, 方慶華 申請人:普安科技股份有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1