專利名稱:外部存儲裝置及外部存儲裝置的數據恢復方法與程序的制作方法
技術領域:
本發明涉及例如磁盤裝置等的外部存儲裝置及外部存儲裝置的數據恢復方法與程序。
背景技術:
在處理比較多量數據的業務用應用程序(數據庫系統)中,將數據保存在和主機分開形成的磁盤陣列裝置上。然后,從主機的數據庫系統訪問磁盤陣列裝置上的數據,進行各種數據操作。所謂磁盤陣列裝置,是將多個磁盤裝置配設成陣列狀而成,根據來自主機的存儲命令和讀取命令等進行工作。
在此,數據庫系統在運轉過程中,例如,當因非預期的斷電、操作員的誤操作、硬件電路及其他的程序失常等而發生故障時,有必要使數據庫的內容恢復到發生故障前的狀態。另外,有時也想將數據操作恢復到故障以外的所希望的時間的狀態。
作為技術1,在通常的數據庫系統中,主機上的數據庫系統本身將與現實數據分開的運行記錄數據(記錄數據)寫入磁盤陣列裝置的指定的磁盤裝置。因此,在通常的數據庫系統中,根據事前取得的備份數據,數據庫系統本身從磁盤裝置讀取運行記錄數據,使其順序反映到備份數據上。由此,主機上的數據庫系統能夠在運行記錄數據殘存的范圍內使數據庫恢復到所希望的時間點。
在技術2中,將第1磁盤裝置的內容在指定的周期內保存到備份用磁盤裝置的同時,將運行記錄數據保存到運行記錄用磁盤裝置。當在第1磁盤裝置發生故障時,根據備份數據及運行記錄數據,在第2磁盤裝置內生成假想的第1磁盤裝置,并將向第1磁盤裝置的數據訪問內部切換到假想的第1磁盤裝置。然后,第1磁盤裝置的修復結束后,即將假想的第1磁盤裝置的內容轉換到第1磁盤裝置。
在上述技術1中,主機上的數據庫系統本身管理運行記錄數據,能在任意的時間點恢復數據。但是,因為數據庫系統本身進行數據恢復操作,所以主機的計算機資源(計算存儲器)被用在數據恢復處理,在恢復操作中,使應該進行的業務處理及其他業務處理的處理效率降低。另外,數據庫系統進行運行記錄數據的管理,但當運行記錄數據的存儲磁盤存滿后,只要取不到備份數據,就無法使數據恢復。因此,數據庫系統必須進行運行記錄數據用磁盤的容量管理等,處理負擔變大。進一步,在進行數據的分代管理時,因為制作多代的備份數據,所以處理負擔更加增大。
在技術2中,通過將訪問切換到假想的磁盤裝置,能夠不中斷實際執行中的處理,進行數據恢復操作。但是,只能使數據恢復到稍前的狀態,不能在操作員所希望的任意時間點使數據恢復。
發明內容
本發明是鑒于上述問題而提出的,其目的在于提供不使主機側的處理負擔增大,而能夠向任意的時間點恢復數據的外部存儲裝置及外部存儲裝置的數據恢復方法與程序。本發明的進一步的目的從后述的實施方式的記載中可明確化。
為解決上述問題,基于本發明的第1觀點的外部存儲裝置,是與主機連接的裝置,其包括存儲被主機利用的數據的存儲裝置和控制存儲裝置的控制裝置。控制裝置包括對被存儲裝置存儲的數據,登記由主機設定的恢復可能時間點的登記裝置;根據來自主機的要求,將被登記的恢復可能時間點的選擇用信息發送給主機的選擇用信息發送裝置;根據恢復可能時間點的選擇用信息,使被主機指定的數據恢復到被指定的恢復可能時間點的恢復裝置。
作為存儲裝置,例如可采用將多個磁盤裝置配置成陣列狀的存儲裝置。主機能夠對被存儲裝置存儲的數據設定恢復可能時間點。所謂恢復可能時間點,是指示使該數據恢復的可能的時間點的信息,也可稱為復原點。由主機定期、不定期設定的恢復可能時間點,被登記裝置登記。
當發生故障等必須恢復數據時,主機向控制裝置要求恢復可能時間點的選擇用信息。按此要求,選擇用信息發送裝置將選擇用信息發送給主機。所謂選擇用信息,是用于選擇恢復可能時間點的信息,例如,可用一覽表形式等表示。
主機根據接收到的選擇用信息選擇想使數據恢復的時間點。由主機選擇的恢復可能時間點被通知給恢復裝置。之后,恢復裝置使被主機指定的數據恢復到被指定的時間點。恢復裝置能夠通過例如使被指定的到達恢復時間點的運行記錄數據按順序反映到備份數據上恢復數據。由此,事實上幾乎不使用主機的計算機資源,就能在外部存儲裝置內使數據恢復到任意的時間點。
登記裝置,能夠將由主機設定的任意的多個時間點作為恢復可能時間點進行登記。即,不僅能登記最接近的稍前的最新狀態,而且能登記多個任意的時間點。例如,主機每次要求更新處理(提交,日文原文コミツト)或每次區分數據操作的分區時,能夠通過自動或操作員手動設定恢復可能時間點。
在本發明的一種方式中,存儲裝置包括取得并存儲運行記錄數據的運行記錄數據存儲裝置。登記裝置根據來自主機的指示,通過將標識信息對應附加在運行記錄數據的指定位置登記恢復可能時間點。即,外部存儲裝置內的運行記錄數據存儲裝置獨自自動地收集存儲運行記錄數據。之后,登記裝置根據來自主機的設定,通過在運行記錄數據的指定位置對應附加標識信息登記恢復可能時間點。標識信息也可以包含在運行記錄數據中,也可作為與運行記錄數據不同的數據分別管理,通過獨特識別代碼等將兩者聯系。
在本發明的一種方式中,運行記錄數據至少包含寫入數據、寫入位置和作為標識信息的恢復標志信息。登記裝置通過設置運行記錄數據中的指定的恢復標志信息登記恢復可能時間點。
追加恢復標志,并擴展運行記錄數據的數據構造。在所有的運行記錄數據中預先包含有設置恢復標志的數據區域。對某數據設定恢復可能時間點時,設置對應該數據的恢復標志。如消除恢復標志,能夠解除設定的恢復可能時間點。
在本發明的一種方式中,進一步,存儲裝置包括存儲備份數據的備份數據存儲裝置。控制裝置包括運行記錄數據管理裝置。另外,運行記錄數據管理裝置在運行記錄數據存儲裝置的未用容量不足時,將被運行記錄數據存儲裝置存儲的最舊的運行記錄數據移換到備份數據存儲裝置,使運行記錄數據存儲裝置的未用容量增加,且將在被登記的恢復可能時間點中的最舊的恢復可能時間點變更的意旨通知給主機。
數據的恢復通過例如將到達作為目標的時間點的運行記錄數據順序反映到某時間點的備份數據上來實現(滾動前進方式)。因此,當運行記錄數據不存在時,只能將數據返回到被備份的時間點。另一方面,運行記錄數據是數據更新經歷的集合體,不斷增大。運行記錄數據的保存量達到磁盤裝置的存儲容量后,就不能再存儲運行記錄數據。因此,當運行記錄數據的未用容量不足時,將已經蓄積的運行記錄數據中最舊的數據只按必要量移換到的備份數據上,以確保未用容量。移換的必要量,可以是預先設定的固定值,也可以根據運行記錄數據的蓄積速度及備份數據存儲裝置的存儲容量等諸因素使其動態變化。在此,所謂將最舊的運行記錄數據移換到備份數據上,是指在將最舊的運行記錄數據反映到備份數據上之后,刪除最舊的運行記錄數據的意思。另外,只要存儲裝置內有未使用的存儲區域,就可以自動擴展運行記錄數據存儲區域,當未使用的存儲區域不足時,將最舊的運行記錄數據移換到備份數據上。
本發明的其他的外部存儲裝置的數據恢復方法,特征在于是將與主機連接的外部存儲裝置的數據在該外部存儲裝置內恢復的數據恢復方法,包含對被存儲的數據,登記由主機在任意的多個時間點上能夠設定的恢復可能時間點的登記步驟;根據來自主機的要求,將被登記的恢復可能時間點的選擇用信息發送給主機的一覽發送步驟;根據恢復可能時間點的選擇用信息,將被主機指定的數據恢復到被指定的恢復可能時間點的恢復步驟。
登記步驟、一覽發送步驟、恢復步驟,可以此順序執行,也可按不同順序執行,如并行執行。
基于本發明其他觀點的程序,是用于控制與主機連接的外部存儲裝置的程序。外部存儲裝置包括存儲被主機利用的數據的存儲裝置;對被存儲裝置存儲的數據,登記由主機在任意的多個時間點上能夠設定的恢復可能時間點的登記裝置;根據主機的要求,將被登記的恢復可能時間點的選擇用信息發送給所述主機的選擇用信息發送裝置;根據恢復可能時間點的選擇用信息,將由主機指定的數據恢復到被指定的恢復可能時間點的恢復裝置。該程序將這些裝置在外部存儲裝置的計算機上實現。
基于本發明其他觀點的程序,是控制利用外部存儲裝置的主機的程序,將以下裝置即將對被外部存儲裝置存儲的數據在任意的多個時間點上可能設定的恢復可能時間點指示登記在外部存儲裝置的登記指示裝置;要求被外部存儲裝置登記的恢復可能時間點的選擇用信息的選擇用信息要求裝置;根據從外部存儲裝置接收的選擇用信息,為將所希望的數據恢復到所希望的恢復可能時間點而指示給外部存儲裝置的恢復指示裝置在主機上實現。
該程序,如可以API(Application Program Interface)的形式提供,也可以適合被各種業務用應用程序利用。
基于本發明的程序,可以固定放在如磁盤型存媒體、半導體存儲器等的各種存儲媒體上流通使用,或也可從服務器通過通信網絡配信。
圖1是涉及本發明第1實施方式的外部存儲系統的概略構成圖。
圖2是表示圖1所示存儲裝置系統的概略的模塊圖。
圖3是表示運行記錄數據及寫入控制信息的構造的數據構造圖。
圖4是表示主機及磁盤控制裝置的程序構造的模塊圖。
圖5是表示寫入控制處理的流程圖。
圖6是表示運行記錄磁盤管理處理的流程圖。
圖7是表示被主機通知恢復契機時的數據恢復控制處理的流程圖。
圖8是表示被主機要求恢復契機目錄發送時的數據恢復控制處理的流程圖。
圖9是表示被主機指示恢復時的數據恢復處理的流程圖。
圖10是表示用多代進行數據管理時的模式圖。
具體實施例方式
以下根據圖1~10說明本發明的實施方式。
首先根據圖1說明外部存儲系統的整體概要。
先根據圖1說明系統的整體構成。存儲裝置系統60包括存儲設備控制裝置10和存儲設備30而構成。存儲設備控制裝置10根據從信息處理裝置20接收的指令,進行對存儲設備30的控制。如,存儲設備控制裝置10從信息處理裝置20接收數據的輸出/輸入要求后,進行存儲在存儲設備30的數據輸出/輸入處理。在由存儲設備30包括的磁盤驅動提供的物理存儲區域上,設定有邏輯卷(Logical Unit)(以簡稱LU)。LU是邏輯存儲區域,數據被存儲在此LU上。另外,存儲設備控制裝置10在與信息處理裝置20之間也進行用于管理存儲裝置系統60的各種指令的接收發送。
信息處理裝置20是包括CPU(Central Processing Unit)和存儲器等的計算機系統。通過信息處理裝置20的CPU執行各種程序,實現各種功能。信息處理裝置20,可以是如個人計算機和終端站,也可是主機。在圖1中,為方便說明,用圖說明第1~第5的5臺信息處理裝置。為識別各信息處理裝置20,在圖1中如「信息處理裝置1」、「信息處理裝置2」這樣付以連續號碼,作為第1~第5的信息處理裝置20。后述的通道控制部11及磁盤控制部14也同樣付以連續號碼加以區別。
第1~第3的信息處理裝置20,通過LAN(Local Area Network)40與存儲設備控制裝置10連接。LAN40,如可為因特網,也可為專用的網絡。第1~第3的信息處理裝置20與存儲設備控制裝置10間的數據通信,通過LAN40,按照如TCP/IP(Transmission Control Protocol/InternetProtocol)協議進行。從第1~第3的信息處理裝置20向存儲裝置系統60發送由文件名指定發出的數據訪問要求(是在文件單位的數據輸出/輸入要求。以下簡稱「文件訪問要求」)。
備份設備71被連接在LAN40上。作為備份設備71可以采用如MO(magneto-optic光磁型存儲裝置)CD-R(CD-Recordable可以讀寫的微型光盤)、DVD-RAM(Digital Versatile Disk-RAM可以讀寫的DVD)等磁盤系列存儲設備,及如DAT(Digital Audio Tape)磁帶、盒式磁帶、開式磁帶、卡式磁帶等磁帶系列存儲設備。備份設備71通過LAN40與存儲設備控制裝置10之間進行通信,由此存儲被存儲設備30存儲的數據的備份數據。另外,備份設備71可與第1信息處理裝置20連接構成。這種時候,可以通過第1信息處理裝置20取得被存儲設備30存儲的數據的備份數據。
存儲設備控制裝置10由第1~第4通道控制部11通過LAN40在第1~第3信息處理裝置20及備份設備71間進行通信。第1~第4通道控制部11各自受理來自第1~第3信息處理裝置20的文件訪問要求。即LAN40上的網絡地址(如IP地址)分別被分配給第1~第4通道控制部11。第1~第4各通道控制部11分別單獨作為NAS(Network AttachedStorage)行動。第1~第4通道控制部11就像是各自獨立的NAS,能夠向第1~第3信息處理裝置20提供NAS的服務。以下有時將第1~第4通道控制部11簡稱CHN。這樣,通過在1臺存儲裝置系統60內包括分別提供NAS的服務的第1~第4通道控制部11的構成,以往在獨立的計算機上各自運用的NAS服務器被集約成1臺存儲裝置系統60。另外,由此,存儲裝置系統60的集中運用成為可能,能夠謀求各種設定·控制及障礙管理、版本管理等維護業務的效率化。
再有,存儲設備控制裝置10的第1~第4通道控制部11,通過例如在一體化電路板上形成的硬件、由該硬件執行的OS(Operating System)、在OS上運行的應用程序等的軟件來實現。在存儲裝置系統60中,作為以往硬件的一部分被安裝的功能通過軟件來實現。因此,通過采用存儲裝置系統60,富于靈活性的系統運用成為可能,能夠細致入微地應對多樣、變化快的用戶需求。
第3及第4信息處理裝置20,通過SAN(Storage Area Network)50與存儲設備控制裝置10連接。SAN50是將在存儲設備30提供的存儲區域的數據的管理單位信息塊作為單位,用于在第3及第4信息處理裝置20間進行數據接收/發送的網絡。通過SAN50進行的第3及第4信息處理裝置20與存儲設備控制裝置10間的通信,一般服從光纖通道協議。根據光纖通道協議信息塊單位的數據訪問要求(以下簡稱信息塊訪問要求)從第3及第4信息處理裝置20發送給存儲裝置系統60。
SAN對應的備份設備70被連接在SAN50上。SAN對應備份設備70通過SAN50與存儲設備控制裝置10進行通信,由此存儲被存儲設備30存儲的數據的備份數據。
存儲設備控制裝置10,由第5及第6通道控制部11通過SAN50與第3及第4信息處理裝置20及SAN對應備份設備70間進行通信。以下有時將第5及第6通道控制部11簡稱CHF。
另外,第5信息處理裝置20,不通過LAN40及SAN50等與存儲設備控制裝置10直接連接。作為第5信息處理裝置20,例如,可作為主機,但當然不能僅限于此。第5信息處理裝置20與存儲設備控制裝置10間的通信,服從如FICON(Fibre Connection)(注冊商標)、ESCON(EnterpriseSystem Connection)(注冊商標)、ACONARC(Advanced ConnectionArchitecture)(注冊商標)FIBARC(Fibre Connection Architecture)(注冊商標)等的通信協議。根據這些通信協議信息塊訪問要求從第5信息處理裝置20發送給存儲裝置系統60。
存儲設備控制裝置10,通過第7及第8通道控制部11與第5信息處理裝置20間進行通信。以下有時將第7及第8通道控制部11簡稱CHA。
設置在遠離(次場)存儲裝置系統60的設置場所(主場)的另外的處存儲裝置系統60被連接到SAN50上。另外的存儲裝置系統61作為復制或遠程復制功能的數據復制處的裝置被利用。再有,另外的存儲裝置系統61有時通過SAN50以外的如ATM等通信線路與存儲裝置系統60連接。這時,采用包括用于利用上述通信線路的接口的通道控制部11。
下面說明存儲設備30的構成。存儲設備30包括多個磁盤驅動(物理磁盤),向信息處理裝置20提供存儲區域。數據存儲在邏輯存儲區域LU。作為磁盤驅動,可以采用例如硬盤裝置、軟盤裝置、半導體存儲裝置等各種磁盤。再有,存儲設備30也可由多個磁盤驅動構成磁盤陣列。這時,可通過由RAID(Redundant Array Of Independent(Inexpensive)Disks)管理的多個磁盤驅動向信息處理裝置20提供存儲區域。
存儲設備控制裝置10與存儲設備30,如圖1所示,可以直接連接,也可能通過網絡間接地連接。進一步,存儲設備30可以與存儲設備控制裝置10作為一體構成。
在存儲設備30內設定的LU內,有來自信息處理裝置20可以訪問的用戶LU及用于控制通道控制部11而使用的系統LU等。在系統LU內也存儲有由CHN11執行的OS。另外,各通道控制部11預先被對應連接到各LU上。由此,可以訪問的LU按各通道控制部11分別被分配。另外,上述對應連接也可以設定為在多個通道控制部11共有一個LU。再有,在以下的說明中,有時將用戶LU表述為用戶磁盤,將系統LU表述為系統磁盤。另外,將由多個通道控制部11共有的LU有時表述為共有LU或共有磁盤。
下面說明存儲設備控制裝置10的構成。存儲設備控制裝置10包括通道控制部11、共有存儲器12、高速緩沖存儲器13、磁盤控制部14、連接部15及管理終端16。
通道控制部11,且有用于和信息處理裝置20間進行通信的通信接口,包括與信息處理裝置20間發送/接收數據輸出/輸入指令等的功能。例如,CHN11接收來自第1~第3信息處理裝置20的文件訪問要求,由此,存儲裝置系統60能夠將NAS的服務提供給第1~第3信息處理裝置20。另外,CHF11接收來自第3及第4信息處理裝置20的服從光纖通道協議的信息塊訪問要求。由此,存儲裝置系統60能夠將可高速訪問的數據存儲服務提供給第3及第4信息處理裝置20。另外,CHA11接收來自第5信息處理裝置20的服從FICON、ESCON、ACONARC、FIBARC等通信協議的信息塊訪問要求。由此,存儲裝置系統60對像第5信息處理裝置20這樣的主機等也能夠提供數據存儲服務。
各通道控制部11與管理終端16一道通過內部LAN17連接。因此,可以將被通道控制部11執行的程序等從管理終端16發送給通道控制部11使其安裝。關于通道控制部11的構成進一步后述。
連接部15,相互連接各通道控制部11、共有存儲器12、高速緩沖存儲器13、各磁盤控制部14。在通道控制部11、共有存儲器12、高速緩沖存儲器13及磁盤控制部14間的數據及指令的發送/接收,通過連接部15進行。連接部15由通過高速開關進行數據傳送的超高速縱橫式交換器等的高速總線構成。由于每個通道控制部11之間用高速總線連接,比起通過LAN將在每個計算機上運行的NAS服務器連接起來的情況,通道控制部11間的通信性能提高。另外,因此使高速文件共有功能及高速故障越過(日文原文フェィルォ一バ)等成為可能。
共有存儲器12及高速緩沖存儲器13是由各通道控制部11及各磁盤控制部14共有的存儲器。共有存儲器12主要用于存儲控制信息及指令等。高速緩沖存儲器13主要用于存儲數據。
例如,某通道控制部11從信息處理裝置20接收的數據輸出/輸入指令是寫入指令時,該通道控制部11將寫入指令寫入共有存儲器12的同時,將從信息處理裝置20接收的寫入數據寫入高速緩沖存儲器13。另一方面,磁盤控制部14監視共有存儲器12。磁盤控制部14檢測出寫入指令被寫入共有存儲器12后,根據該指令從高速緩沖存儲器13讀取寫入數據,將讀取的數據寫入存儲設備30。
磁盤控制部14,進行存儲設備30的控制。例如,如上所述,磁盤控制部14根據通道控制部11從信息處理裝置20接收的寫入指令,進行向存儲設備30的數據的寫入。另外,磁盤控制部14將向由從通道控制部11發送的邏輯尋址產生的LU的數據訪問要求,變換為向由物理尋址產生的物理磁盤的數據訪問要求。磁盤控制部14在存儲設備30的物理磁盤被RAID管理的時候,進行根據RAID構成的數據的訪問。另外,磁盤控制部14也進行被存儲設備30存儲的數據的復制管理的控制及備份控制。進一步,磁盤控制部14以防止發生災害時數據丟失等(ディザスタリカバリ)為目的,也進行將主場的存儲裝置系統60的數據的復制存儲到設置在次場的另外的存儲裝置系統61上的控制(被稱為復制功能或遠程復制功能)等。
各磁盤控制部14同管理終端16一道通過內部LAN17連接,能夠相互進行通信。由此,能夠將使磁盤控制部14執行的程序等從管理終端16發送給磁盤控制部14使其安裝。
下面說明管理終端16。管理終端16是用于維護·管理存儲裝置系統16的計算機。通過操作管理終端16,能夠進行例如存儲設備30內的物理磁盤構成的設定、LU的設定、用于在通道控制部11執行的程序的安裝等。在此,作為存儲設備30內的物理磁盤構成的設定,可以例舉如物理磁盤的增設及減設、RAID構成的變更(從RAID1到RAID5的變更)等。進一步,從管理終端16也可以進行存儲裝置系統60的工作狀態的確認及故障部位的確定、在通道控制部11執行的OS的安裝等的操作。另外,管理終端16通過LAN及電話線等與外部維護中心連接,從外部維護中心利用管理終端16進行存儲裝置系統60的故障監視,在故障發生時能迅速應對。故障的發生由如OS及應用程序、驅動軟件等通知。該通知可以通過如HTTP(Hyper Text Transfer Protocol)指令及SNMP(Simple Network Management Protocol)指令、電子郵件等進行。這些設定及控制,可以將在管理終端16上工作的網絡服務器提供的網頁作為用戶接口通過操作員等的操作進行。操作員等操作管理終端16,設定故障監視對象及內容,設定故障通知處等。
管理終端16可以內置在存儲設備控制裝置10內的構成,也可以外掛在存儲設備控制裝置10上的構成。另外,管理終端16也可以由專門進行存儲設備控制裝置10及存儲設備30的維護管理的計算機構成,或者是由包括維護管理功能的用途廣泛的計算機構成。
下面參照圖2說明基于本發明的數據恢復方法的一種實例。圖2是抽出圖1所述存儲裝置系統主要部分的概略構成圖。在圖2示出的外部存儲系統,分別如后面所述,大致區分為主機10和外部存儲裝置。外部存儲裝置大致區分為磁盤控制裝置200和大容量存儲裝置400。在此,簡單說明圖1和圖2的對應關系圖1中的存儲裝置系統60與圖2中的磁盤控制裝置200對應,圖1中的通道控制部11與圖2中的通道口210及微處理器220對應,圖1中的共有存儲器12及高速緩沖存儲器13與圖2中的緩沖存儲器230對應,圖1中的連接部15與總線及開關類等對應(圖未示),圖1中的磁盤控制部14與圖2中的微處理器220對應,圖1中的存儲設備30與圖2中的存儲裝置400對應,圖1中的信息處理裝置20與圖2中的主機100對應。微處理器220可以存在于通道控制部11或磁盤控制部14的任何一側。
主機100是由如個人計算機及工作臺等構成的,擁有處理數據庫的應用程序110(以下簡稱應用程序)。另外,雖省略了圖示,但是主機100還包括通過如指向設備、鍵盤開關、監視器等用于和操作員進行信息交換的用戶接口。應用程序110通過磁盤控制裝置200訪問存儲裝置400內的數據,由此處理指定的業務。
磁盤控制裝置200是控制存儲裝置400的裝置,包括通道口210、微處理器220及緩沖存儲器230。微處理器220通過通道口210與主機100進行雙方向的數據通信。微處理器220執行磁盤控制程序300。在磁盤控制程序300中包含有寫入控制處理310、寫入數據處理320、磁盤管理處理330、數據恢復控制處理340、數據恢復處理350、數據同期處理360。
關于主要的處理,后面進一詳述。寫入控制處理310主要是管理數據寫入時的寫入控制信息(運行記錄控制信息)的程序。寫入數據處理320是進行向指定的磁盤裝置的數據寫入的程序。磁盤管理處理330主要是進行運行記錄數據存儲磁盤430的管理的程序。數據恢復控制處理340是將由主機100設定的恢復契機的登記和被登記的恢復契機的目錄數據發送給主機100的程序。數據恢復處理350是使指定的磁盤裝置的數據恢復到指定的時間點的程序。數據同期處理360是按照主機的指示進行數據的備份處理的程序。
在緩沖存儲器230上,存儲如恢復數據信息D10、運行記錄數據D20、寫入控制信息D30、更新數據D40。恢復數據信息D10是數據恢復處理的履歷信息,存儲如數據恢復處及恢復時間點等。運行記錄數據D20是數據操作的更新履歷,從緩沖存儲器230被順序地轉移給運行記錄存儲磁盤430。寫入控制信息D30包含有為在任意時間點使數據恢復的必要的信息。更新數據D40是由應用程序110指示更新的數據,從緩沖存儲器230被轉移到數據存儲磁盤410。再有,以上數據不必同時存在緩沖存儲器230上。另外,為便于說明,將緩沖存儲器230作為單一的存儲器來表示,但是,其可作為例如多個種類的存儲器的集合體而構成。
大容量存儲裝置400包括數據存儲磁盤410、備份數據存儲磁盤420及運行記錄數據存儲磁盤430。在數據存儲磁盤410上存儲有當前使用中的最新數據(現實數據)。在備份數據存儲磁盤420上存儲有某時間點的備份數據。在運行記錄數據存儲磁盤430上存儲運行記錄數據。再有,各磁盤410~430正確地說是磁盤裝置,分別包括多個磁盤。以下將數據存儲磁盤稱為數據磁盤,將備份數據存儲磁盤稱為備份磁盤,將運行記錄數據存儲磁盤稱為運行記錄磁盤。
圖3是表示運行記錄數據D20及寫入控制信息D30的概略構造圖。
由本實施方式產生的運行記錄數據D20包含有寫入控制信息D30及更新數據(寫入數據)D40。寫入控制信息D30是發揮作為運行記錄控制信息的功能的信息,包含有如數據寫入位置D31、數據大小D32、時間標記D33、恢復標志D34、其他控制信息D35等的信息。數據寫入位置D31是指示數據被寫入哪個磁盤的哪個地方的位置信息。數據大小D32是指示被寫入數據大小的信息。時間標記D33是指示數據寫入時刻的信息。恢復標志D34是指示恢復可能時間點(恢復點)的標識信息,設置恢復標志D34后,作為可以恢復的數據被設定,銷除恢復標志D34,恢復點的設定被解除。在其他的控制信息D35中包含有例如專門用于特定寫入控制信息D30的控制號碼及數據類別等的其他必要信息。
在本實施方式中,如圖3所示,獨自擴展運行記錄數據D20的構造,在運行記錄數據D20內設有恢復標志D34。由此,通過只追加少量的數據就能將任意的時間點作為恢復可能時間點自由地設定,能在任意的時間點恢復數據。但不僅限于此,也可以是分離運行記錄數據D20和恢復標志D34,用獨特的ID(識別碼)等將兩者對應連接的構成。
下面,圖4是表示主機100及磁盤控制裝置200的程序構造的概略的模塊圖。
應用程序110通過主機100的OS120與磁盤控制程序300進行雙向數據通信。OS120包括API(Application Program Interface)群130。在API130群中包含有數據寫入用API131、恢復契機通知用API132、恢復契機目錄取得要求用API133、恢復指示用API134。應用程序110通過適時調用這些API131~134,能夠將所希望的時間點作為恢復契機設定,讀出設定完的恢復契機目錄,選擇所希望的時間點,指示數據的恢復。
參照圖4簡單說明整體操作。應用程序110通過數據寫入用API131向磁盤控制裝置200指示數據更新要求后(S1),磁盤控制程序300的寫入控制處理310通過寫入數據處理320將數據寫入指定的磁盤,并將處理更新要求的意旨通知應用程序110(S2)。
應用程序110在業務處理過程中,能夠例如定期或不定期地將所希望的時間點作為可能恢復的時間點的恢復契機(恢復點)設定。應用程序110通過調用恢復契機通知用API132,將設定恢復契機的數據指示給磁盤控制裝置200(S3)。恢復契機被通知后,磁盤控制程序300的數據恢復控制處理340設置被指定的數據的恢復標志,并將恢復契機被設定的意旨通知給應用程序110(S4)。
根據故障發生等的主要原因恢復數據時,應用程序110調用恢復契機目錄取得要求用API133,向磁盤控制裝置200要求可能恢復的時間點的目錄信息(S5)。要求目錄后,數據恢復控制處理340檢查運行記錄磁盤430,取得設置恢復標志的數據信息,制成恢復契機目錄。數據恢復控制處理340將恢復契機目錄返送給應用程序110(S6)。
應用程序110參照存儲在存儲器140中的恢復契機目錄,至少選擇1個希望恢復的時間點。應用程序110通過調用恢復指示用API134,向磁盤控制裝置200發出使指定磁盤的數據恢復到所希望的時間點的指示(S8)。數據恢復處理350接收到從應用程序110發來的恢復指示后,使用備份磁盤420及運行記錄磁盤430,使被指定的數據恢復到被指定的時間點。恢復處理350將恢復處理結束的意旨通知給應用程序110(S9)。
接下來參照圖5~圖9說明各部的詳細控制。首先,圖5是寫入控制處理的流程圖。而且,以下的說明也同樣,附圖所示的流程圖是為理解發明而表示操作主要部分的圖示,可能與實際的程序不同。圖中將「步驟」簡略為「S」。
應用程序110提出寫入要求后,在緩沖存儲器230上的數據D40被更新(S21)的同時,緩沖存儲器230上的寫入控制信息D30被更新(S22)。接著,判斷運行記錄磁盤430是否有充足的未用容量(S23)。例如,能判斷運行記錄磁盤430當前未用容量是否超過之后將要寫入的數據的數據大小。當運行記錄磁盤430的未用容量不足時(S23NO),與圖6同樣,執行后述的運行記錄磁盤管理處理以確保未用容量(S24),必要時更新緩沖存儲器230上的寫入控制信息(S25)。所謂的必要時,是指例如后述的通過運行記錄自動擴展,運行記錄數據的寫入位置變動等的時候。
當運行記錄磁盤430存在充足的未用容量時(S23YES)及運行記錄磁盤430被確保包括充足未用容量時,將寫入數據D40及寫入控制信息D30(即運行記錄數據D20)追加寫入運行記錄磁盤430(S26)。并且將緩沖存儲器230上的寫入數據D40寫入數據磁盤410的指定位置(S27),并將數據寫入結束的意旨通知給主機100(確切地是主機100上的應用程序110。下同)(S28)。
另外,S26及S27也可以在與本寫入控制處理不同的另外契機(非同期)進行。那時,可通過例如在緩沖存儲器上的該數據上設置是否向磁盤反映的標志來進行管理。
之后,判斷備份更新標志是否接通(S29)。所謂備份更新標志,是表示為確保運行記錄磁盤430的未用容量而將最舊的運行記錄數據移換到備份磁盤420的標識信息。通過運行記錄數據的移換,從備份數據變更恢復可能的最舊的時間點,所以當備份更新標志被設置為接通狀態時(S29YES),將備份數據被更新的意旨通知給主機100(S30)。將備份更新通知給主機100后,使備份更新標志復位到斷開狀態(S31)。
下面,圖6是表示圖5中的運行記錄磁盤管理處理S24的詳細內容的流程圖。首先,判定運行記錄磁盤430的自動擴展方式是否被設定(S41),所謂自動擴展方式,是指搜索未使用的磁盤、未使用的存儲區域,自動擴展運行記錄磁盤430的邏輯容量的方式。
當自動擴展方式未被設定時(S41NO),選擇存儲在運行記錄磁盤430的運行記錄數據中最舊的數據,使其反映在備份磁盤420上(S42)。被移換到備份磁盤420上的最舊的運行記錄數據被從運行記錄磁盤430上刪去(S43)。由此運行記錄磁盤430的未用容量增加。到運行記錄磁盤430的未用容量達到規定值,從最舊的運行記錄數據開始順序地移換到備份磁盤420(S44)。當運行記錄磁盤430的未用容量達到規定值時(S44YES),將備份更新標志設置為接通狀態(S45)。由此,如圖5中S30所示,備份數據被更新,可能恢復的最舊的時間點從備份數據被變更的意旨被通知給主機100。且S44中的規定值,可以是預先設定的固定值,也可以是例如根據備份磁盤的未用容量及被寫入數據磁盤410的數據大小等動態變化的值。
另一方面,當運行記錄磁盤430的自動擴展方式設定時(S41),從連接的磁盤裝置中檢索未使用的存儲區域(稱為未使用區域),判斷保存運行記錄數據可能的未使用區域是否存在。(S46,S47)。未使用區域未被發現時(S47NO),移給S42,如上所述,通過將最舊的運行記錄數據移換給備份磁盤420,以確保運行記錄磁盤430上的未用容量。當未使用區域被發現時(S47YES),在將被發現的未使用區域作為運行記錄磁盤利用,擴展運行記錄磁盤430的邏輯容量的同時,更新磁盤管理映像(S48)。然后,判斷由運行記錄磁盤430的邏輯容量擴展產生的未用容量是否達到規定值(SS49),到運行記錄磁盤430的未用容量達到規定值為止,一邊反復進行S46~S49的處理,一邊將未使用區域作為運行記錄數據的存儲區域自動擴展。
接下來,圖7表示來由主機100指示的恢復契機的登記處理。如上所述,在本實施方式,主機100能夠將任意的時間點作為可能恢復的契機(恢復點)進行多個設定。
可以登記的恢復契機從主機100被通知給磁盤控制裝置200后,數據恢復控制處理340就檢索存儲在運行記錄磁盤430的最新數據的位置(S51),將對應最新寫入數據的寫入控制信息中的恢復標志設置為接通狀態進行更新(S52)。然后,向主機100報告恢復契機設定結束的意旨的同時,通知用于特定寫入控制信息的控制號碼(S53)。這樣,主機100的應用程序110在數據寫入時,對任意的時間點的數據能夠設定指示恢復契機。
接下來,圖8表示根據來自主機100的要求,送回恢復契機目錄信息的恢復契機目錄的發送處理。首先,在運行記錄磁盤430內選擇對應被主機100指定恢復的數據的磁盤,將指示指向在被選擇的磁盤中的最舊的運行記錄數據上(S61)。
之后,從最舊的運行記錄數據讀入(S62),檢查涉及讀入的運行記錄數據的寫入控制信息中的恢復標志是否被設置為接通狀態(S63),當恢復標志被設置時,將讀入的運行記錄數據追加記錄在恢復契機的目錄信息上(S64)。直到讀出存儲在由S61選擇的磁盤上的最終數據,上述S62~S64反復進行。
(S65)。這樣,將對應被指定數據的運行記錄數據從最舊的數據到最新的數據順序檢查,抽出被設置恢復標志的運行記錄數據,生成恢復契機目錄。生成的恢復契機目錄,與結束報告一同或不同期發送給主機100(S66)。
接下來,圖9表示數據恢復處理。主機100上的應用程序110,根據由圖8所示的處理所取得的恢復契機的目錄信息,能夠指示到所希望的時間點的數據恢復。
從主機100通知恢復指示后,數據恢復處理350在備份磁盤420及運行記錄磁盤430中分別選擇對應恢復被指定的數據的磁盤(S71)接著,判斷從主機100作為數據恢復處被指定的磁盤是否是備份磁盤420(S72)。總之,在本實施方式中,在備份磁盤420以外的其他磁盤裝置能夠恢復到被指定的時間點的數據。作為恢復處被指定的磁盤裝置是備份磁盤420以外的其他磁盤裝置時,將存儲在備份磁盤420的備份數據復制到指定的磁盤裝置,完成成為數據恢復基礎的備份數據的準備。(S73)。
接著,從運行記錄磁盤430檢索最舊的運行記錄數據(S74),從最舊的運行記錄數據順序地讀出數據,將其反映到指定恢復處的磁盤的存儲內容上(S75)。到數據恢復到主機100指定的時間點為止,讀出運行記錄數據,更新恢復處磁盤的存儲內容(S76)。
當數據恢復到被指定的時間點時,將數據恢復結束的意旨通知給主機100(S77)。另外,將恢復時間點及恢復處信息記錄在恢復數據信息D10上(S78)。
通過本實施方式,因在外部存儲裝置內自動進行數據恢復,所以不必為數據恢復處理消費主機100的計算機資源,不會降低主機100上的其他的業務處理的效率。特別是,在采用大容量的外部存儲裝置的應用程序110中,因為處理大規模的數據,所以數據恢復處理的負擔變大,大量地消費計算機的資源。因此,在主機100上進行的其他業務的處理速度降低,而且到數據恢復結束的處理時間也變長。但是,在本實施方式中,因是采用在主機100上只執行恢復契機的設定指示、恢復契機目錄的取得要求及恢復指示這些僅有的處理,將實際的數據恢復處理委托給外部存儲裝置這樣的構成,能夠減輕主機100的負擔。在外部存儲裝置進行數據恢復期間,主要100可以有效地處理其他業務。
另外,可以將任意的多個時間點作為恢復契機設定,可以將數據恢復到所希望的時間點,所以與單純地只將稍前的數據恢復的以往技術不同,很便利。
進一步,在本實施方式中,準備了用于從主機100側進行恢復契機的設定指示及恢復契機目錄的取得要求等的API131~134,正是因為主機包括這些獨自的API,才使利用基于本發明的外部存儲裝置成為可能。
另外,在本實施方式中,因在外部存儲裝置內自動收集運行記錄數據的同時,進行運行記錄磁盤430的管理,所以能夠預先防止運行記錄磁盤430存儲滿而無法進行數據恢復的情況發生。
另外,在本實施方式中,因是擴展運行記錄數據D20的數據構造,在運行記錄數據D20內(在作為運行記錄控制信息的寫入控制信息D30內)設定恢復標志的構成,雖是比較簡易的構成,但能夠實現向任意的多個時間點的數據恢復。
圖10表示本發明的第2種實施方式。在本實施方式中進行多代的數據管理。即,加上保存最新數據的數據磁盤410,像存儲1代前數據的1代前數據磁盤410(1GA)、存儲2代前的數據2代前數據磁盤410(2GA)等這樣,可以用多代管理數據。
例如,在1代前數據磁盤410(1GA)上恢復備份磁盤420記錄內容后,讀出存儲在運行記錄磁盤430的數據dB的運行記錄數據,將其反映到1代前數據磁盤410(1GA)上,這樣能夠返回到1代前的數據。同樣,在2代前數據磁盤410(2GA)上復制備份數據之后,通過反映數據dB及數據dC的運行記錄數據,能夠返回到2代前的數據。這樣,當用多代管理數據時,基于本發明,也能不增加主機100的負擔在外部存儲裝置內構筑管理多代的數據。
再有,本發明不限定上述各實施方式,如果是本領域人員,可在本發明的范圍內進行各種追加及變更等。
權利要求
1.一種與主機連接的外部存儲裝置,其特征為,包括以下內容包括存儲被所述主機利用的數據的存儲裝置和控制所述存儲裝置的控制裝置,所述控制裝置包括關于被所述存儲裝置存儲的數據,登記由所述主機設定的恢復可能時間點的登記裝置;根據來自所述主機的要求,將所述登記的恢復可能時間點的選擇用信息發送給所述主機的選擇用信息發送裝置;根據所述恢復可能時間點的選擇用信息,將由所述主機指定的數據恢復到指定的恢復可能時間點的恢復裝置。
2.如權利要求1所述的外部存儲裝置,其特征為,包括以下內容所述登記裝置可將由所述主機設定的任意的多個時間點作為所述恢復可能時間點登記。
3.如權利要求1所述的外部存儲裝置,其特征為,包括以下內容所述存儲裝置包括將來自所述主機的寫入數據作為運行記錄數據存儲的運行記錄數據存儲裝置,所述登記裝置是根據來自所述主機的指示,通過在所述運行記錄數據的指定位置對應附加標識信息,來登記所述恢復可能時間點的裝置。
4.如權利要求3所述的外部存儲裝置,其特征為,包括以下內容所述運行記錄數據至少包含寫入數據、寫入位置和作為所述標識信息的恢復標志信息而構成,所述登記裝置是通過設置所述運行記錄數據中的指定的恢復標志信息,來登記所述恢復可能時間點的裝置。
5.如權利要求3所述的外部存儲裝置,其特征為,包括以下內容所述存儲裝置包括存儲備份數據的備份數據存儲裝置,所述控制裝置包括運行記錄數據管理裝置,所述運行記錄數據管理裝置,是當所述運行記錄數據存儲裝置的未用容量不足時,將存儲在所述運行記錄數據存儲裝置的最舊的運行記錄數據移換到備份數據存儲裝置,增加所述運行記錄數據存儲裝置的未用容量,并且將在所述被登記的恢復可能時間點中最舊的恢復可能時間點已被變更的意旨通知給所述主機的裝置。
6.如權利要求3所述的外部存儲裝置,其特征為,包括以下內容所述控制裝置包括運行記錄數據管理裝置,所述運行記錄數據管理裝置,是在所述運行記錄數據存儲裝置的未用容量不足的時候,利用所述存儲裝置內的未使用的存儲區域,自動擴展運行記錄數據存儲裝置的邏輯容量的裝置。
7.將與主機連接的外部存儲裝置的數據在該外部存儲裝置內使其恢復的數據恢復方法,其特征為,包括以下步驟對被存儲的數據,登記由所述主機在任意的多個時間點上能夠設定的恢復可能時間點的登記步驟;按照來自所述主機的要求,將所述登記的恢復可能時間點的選擇用信息發送給所述主機的一覽發送步驟;根據所述恢復可能時間點的選擇用信息,將由所述主機指定的數據恢復到指定的恢復可能時間點的恢復步驟。
8.用于控制與主機連接的外部存儲裝置的程序,其特征為,包括以下內容所述程序是使以下各裝置在外部存儲裝置的計算機上得以實現的程序,所述外部存儲裝置,包括存儲被所述主機利用的數據的存儲裝置;關于被所述存儲裝置存儲的數據,包括登記能夠由所述主機在任意的多個時間點上設定的恢復可能時間點的登記裝置;按照來自所述主機的要求,將所述登記的恢復可能時間點的選擇用信息發送給所述主機的選擇用信息發送裝置;根據所述恢復可能時間點的選擇用信息,將由所述主機指定的數據恢復到被指定的恢復可能時間點的恢復裝置。
9.如權利要求8所述的用于控制外部存儲裝置的程序,其特征為,包括以下內容把取得運行記錄數據,并將其存儲到所述存儲裝置的運行記錄數據存儲區域的運行記錄數據管理裝置,在所述外部存儲裝置的計算機上使其實現的同時,所述登記裝置是,根據來自所述主機的指示,通過在所述運行記錄數據的指定位置上對應附加標識信息,來登記所述恢復可能時間點的裝置。
10.如權利要求9所述控制外部存儲裝置的程序,其特征為,包括以下內容所述的運行記錄數據管理裝置,當所述的運行記錄數據存儲區域的未用容量不足時,將存儲在所述運行記錄數據存儲區域的最舊的運行記錄數據移換到所述存儲裝置的備份存儲區域,增加所述運行記錄數據存儲區域的未用容量,把在所述登記的恢復可能時間點中最舊的恢復可能時間點已被變更的意旨通知給所述主機。
11.控制利用外部存儲裝置的主機的程序,其特征為,包括以下內容所述程序是用于將以下各種裝置在主機上實現的程序,關于被所述外部存儲裝置存儲的數據,包括將在任意的多個時間點可以設定的恢復可能時間點指示給所述外部存儲裝置并使其登記的登記指示裝置;要求被所述外部存儲裝置登記的所述恢復可能時間點的選擇用信息的選擇用信息要求裝置;根據從所述外部存儲裝置接收的所述選擇用信息,為使所希望的數據恢復到所希望的恢復可能時間點而向所述外部存儲裝置進行指示的恢復指示裝置。
全文摘要
主機上的應用程序(110)向磁盤控制裝置的數據恢復控制處理(340)指示恢復契機的設定(S3)。通過設置包含在運行記錄數據中的恢復標志,能夠將任意的多個時間點作為恢復可能的時間點使其登記。當發生故障等后要使數據恢復時,應用程序(110)要求示出已設定的恢復契機的一覽表的目錄(S5)。應用程序(110)根據恢復契機目錄,指定使數據恢復的時間點(S8)。磁盤控制裝置根據備份磁盤(420)及運行記錄磁盤(430)使數據恢復到被指定的時間點。
文檔編號H02H3/05GK1532682SQ20041002946
公開日2004年9月29日 申請日期2004年3月19日 優先權日2003年3月20日
發明者海谷佳一, 坪木雅直, 水主和人, 人, 直 申請人:株式會社日立制作所