JP2008059443A - 記憶システムおよびバックアップ方法 - Google Patents

記憶システムおよびバックアップ方法 Download PDF

Info

Publication number
JP2008059443A
JP2008059443A JP2006237671A JP2006237671A JP2008059443A JP 2008059443 A JP2008059443 A JP 2008059443A JP 2006237671 A JP2006237671 A JP 2006237671A JP 2006237671 A JP2006237671 A JP 2006237671A JP 2008059443 A JP2008059443 A JP 2008059443A
Authority
JP
Japan
Prior art keywords
backup
tape
data
logical volume
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2006237671A
Other languages
English (en)
Inventor
Tomonori Murayama
智則 村山
Yoichi Mizuno
陽一 水野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Hitachi Information and Telecommunication Engineering Ltd
Original Assignee
Hitachi Computer Peripherals Co Ltd
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Computer Peripherals Co Ltd, Hitachi Ltd filed Critical Hitachi Computer Peripherals Co Ltd
Priority to JP2006237671A priority Critical patent/JP2008059443A/ja
Priority to US11/599,560 priority patent/US7707373B2/en
Priority to EP07251100A priority patent/EP1895415A3/en
Publication of JP2008059443A publication Critical patent/JP2008059443A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1456Hardware arrangements for backup
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

【課題】バックアップサーバー不要でバックアップ及びリストアができ、バックアップを行った記憶サブシステムにリストア必要情報がなくても、一部バックアップされたデータのリストアが可能であるようにする。
【解決手段】フルバックアップ後の論理ボリュームとシーケンシャル装置群との差分を表す情報である差分管理情報を、該論理ボリュームの更新に応じて更新する。論理ボリュームとシーケンシャル装置群との差分に相当するデータである一部データを、更新後の差分管理情報を用いて特定し、該一部データを用いて更新後の論理ボリューム内のデータ群をリストアするために必要なリストア必要情報をシーケンシャル装置群に記録し、且つ、該一部データを更新後の論理ボリュームからシーケンシャル装置群にバックアップする。
【選択図】図1

Description

本発明は、データのバックアップのための技術に関する。
例えば、特開平11−212875号公報には、主サブシステムと副サブシステムから構成される記憶サブシステムにおいて、主サブシステムが、上位装置から受信したデータを、副サブシステムにフルバックアップ及び差分バックアップを行う方法が開示されている。また、副サブシステムにバックアップされたデータから、データリストアを行う方法も開示されている。
特開平11−212875号公報
例えば、計算機、ディスクストレージ及びテープライブラリ装置を、SAN(Storage Area Network)と呼ばれる通信ネットワークに接続し、バックアップ処理用のサーバー(以下、バックアップサーバーと称する)により、ディスクストレージに記憶されたデータをテープライブラリ装置へバックアップする方法がある。この場合、バックアップ対象のデータがバックアップサーバーを経由してバックアップされる。そのため、バックアップ性能は、バックアップサーバーに依存し、バックアップサーバーの処理性能が低い場合は、バックアップに要する時間が長大化してしまうという課題がある。
これと同様の課題は、例えば、バックアップされたデータを、バックアップと逆の流れでリストアする場合、具体的には、テープライブラリ装置からバックアップサーバーを経由してディスクストレージにデータをリストアする場合にも、存在し得る。
これらの課題は、特開平11−212875号公報で開示されているバックアップ方法によって解決可能である。しかし、そのバックアップ方法によれば、差分バックアップの場合は、データをテープに記録し、データのリストアに必要な情報、例えば、データの差分を管理するための情報(以下、差分データ情報)は、副サブシステムの制御メモリに格納されている。そのため、データリストア処理は、テープに記録されているデータと、副サブシステムの制御メモリに記憶されている差分データ情報との両方を使って、行われる。そのため、例えば、障害などによって、副サブシステムの制御メモリの情報が失われてしまった場合、差分バックアップされたデータのリストアを行うことができないという課題がある。
また、差分データ情報を副サブシステムの制御メモリに格納するため、複数世代の差分バックアップを行うためには、それぞれの世代の差分データ情報を格納できるだけの記憶容量が制御メモリに必要となり、差分バックアップが行える世代数は制御メモリの記憶容量に制限されるという課題がある。
これと同様の課題は、差分バックアップに限らず、差分データ情報などリストアに必要な情報(以下、リストア必要情報)が無いとリストアすることのできないタイプのバックアップ(以下、便宜上、「一部バックアップ」と称する)、例えば増分バックアップを行う場合にも存在し得る。
従って、本発明の目的は、バックアップサーバー不要でバックアップ及びリストアができ、バックアップを行った記憶サブシステムにリストア必要情報がなくても、一部バックアップされたデータのリストアが可能であるようにする。
本発明の更なる目的は、差分管理できる世代数が、記憶サブシステムのメモリの記憶容量に制限されないようにすることにある。
本発明の他の目的は、後述の説明から明らかになるであろう。
本発明に従う記憶システムは、シーケンシャルアクセスは高速に処理できるがランダムアクセスは高速に処理できないタイプの記憶装置であるシーケンシャルアクセス型記憶装置を複数個と、前記シーケンシャルアクセス型記憶装置よりランダムアクセスを高速に処理できるタイプの記憶装置であるランダムアクセス型記憶装置を一つ以上とを有し、前記一以上のランダムアクセス型記憶装置上の論理ボリューム内のデータを前記シーケンシャルアクセス型記憶装置にバックアップする。この記憶システムは、前記複数のシーケンシャルアクセス型記憶装置から成るシーケンシャル装置群に前記論理ボリューム内の全てのデータを該論理ボリュームから前記シーケンシャル装置群にバックアップすることであるフルバックアップを実行するフルバックアップ部と、前記フルバックアップ後の前記論理ボリュームと前記シーケンシャル装置群との差分を表す情報である差分管理情報を記憶する差分管理情報記憶部と、前記論理ボリュームの更新に応じて前記差分管理情報を更新する差分管理部と、前記論理ボリュームと前記シーケンシャル装置群との差分に相当するデータである一部データを前記更新後の差分管理情報を用いて特定し、該一部データを用いて前記更新後の論理ボリューム内のデータ群をリストアするために必要なリストア必要情報を前記シーケンシャル装置群に記録し、且つ、該一部データを前記更新後の論理ボリュームから前記シーケンシャル装置群にバックアップすることである一部バックアップを実行する一部バックアップ部とを備える。ランダムアクセス型記憶装置としては、ハードディスク、フラッシュメモリなど種々の記憶装置を採用することができる。同様に、シーケンシャルアクセス型記憶装置としても、磁気テープなど、種々の記憶装置を採用することができる。
この記憶システムは、例えば、一又は複数の記憶サブシステムで構成することができる。一つの記憶サブシステムには、例えば、ホスト計算機或いは他の記憶サブシステムといった上位装置が接続されて良い。
また、前記論理ボリュームに対する新たなデータは、該論理ボリュームに書込まれても良いし、該論理ボリュームと対応付けられた別の論理ボリュームに書込まれても良い。後者の場合、前記更新後の論理ボリュームとは、前記論理ボリュームと該別の論理ボリュームとの組み合わせとすることができる。
第一の実施態様では、前記一部バックアップ部は、前記リストア必要情報に、前記更新後の差分管理情報を含める。前記差分管理部は、前記一部バックアップが行われた場合、前記更新後の差分管理情報をリセットし、その後に前記論理ボリュームが更新された場合には、該リセット後の差分管理情報を更新する。
第二の実施態様では、前記差分管理情報は、ビットマップである。前記ビットマップの各ビットが、前記論理ボリュームの各ボリューム部分に対応している。前記一部バックアップ部は、前記リストア必要情報に、前記ビットマップのビットに対応した前記ボリューム部分の記憶サイズと、前記論理ボリュームの記憶容量とを含める。
第三の実施態様では、前記シーケンシャル装置群へのバックアップによって消費された、該シーケンシャル装置群の記憶領域をバックアップ単位として表すバックアップ単位管理情報を記憶するバックアップ管理記憶部が更に備えられる。
第四の実施態様では、前記第三の実施態様において、前記フルバックアップ或いは前記一部バックアップが終了したときに、前記バックアップ単位管理情報に、該バックアップにより消費された記憶領域を一つのバックアップ単位として表す情報を追加するバックアップ単位管理部が更に備えられる。
第五の実施態様では、前記第四の実施態様において、前記一以上のランダムアクセス型記憶装置には複数の論理ボリュームがある。前記一部バックアップ部は、前記複数の論理ボリュームの各々について前記一部バックアップを行う。前記バックアップ単位管理部が、前記各々の一部バックアップによって各々記録されたデータを含んだ記憶領域を前記バックアップ単位とする。
第六の実施態様では、前記第四の実施態様において、前記バックアップ単位管理部は、前記バックアップ単位管理情報に、各バックアップ単位毎に、バックアップ単位識別子と、バックアップの種別を表すバックアップ種別と、バックアップの順序を表す順序情報とを含める。前記一部バックアップ部が、該一部バックアップのリストアに必要なデータのバックアップが記録されているバックアップ単位を、前記バックアップ単位管理情報中の順序情報とバックアップ種別とを基に特定し、該特定されたバックアップ単位のバックアップ単位識別子と、一部バックアップであることを表すバックアップ種別とを、前記リストア必要情報に含める。
第七の実施態様では、前記一部バックアップ部は、前記リストア必要情報を前記一部データよりも前記シーケンシャル装置群の上流側に記録する。
第八の実施態様では、前記一部バックアップ部は、前記フルバックアップにより記録された前記全てのデータよりも下流側に前記リストア必要情報及び前記一部データを記録する。
第九の実施態様では、前記シーケンシャル装置群に記録された前記リストア必要情報を用いて前記更新後の論理ボリュームをリストアするリストア部が更に備えられる。
第十の実施態様では、前記第九の実施態様において、前記差分管理情報は、ビットマップである。前記ビットマップの各ビットが、前記論理ボリュームの各ボリューム部分に対応している。前記一部バックアップ部は、前記リストア必要情報に、前記ビットマップのビットに対応した前記ボリューム部分の記憶サイズと、前記論理ボリュームの記憶容量とを含める。前記リストア部は、前記リストア必要情報中の前記記憶サイズと前記記憶容量とに基づいて、前記更新後の論理ボリュームをリストアする。
第十一の実施態様では、前記論理ボリュームは、コピー元である正論理ボリュームとコピー先である副論理ボリュームとで構成されるボリュームペアのうちの前記副論理ボリュームである。正論理ボリューム及び副論理ボリュームは、一つの記憶サブシステムにあっても良いし、別々の記憶サブシステムにあってもよい。
第十二の実施態様では、前記一部バックアップは、差分バックアップと増分バックアップとのいずれか一方である。
第十三の実施態様では、前記差分管理情報は、ビットマップである。前記ビットマップの各ビットが、前記論理ボリュームの各ボリューム部分に対応している。前記一部バックアップ部は、前記リストア必要情報に、更新後の前記ビットマップと、前記ビットマップのビットに対応した前記ボリューム部分の記憶サイズと、前記論理ボリュームの記憶容量とを含め、前記フルバックアップにより記録された前記全てのデータよりも下流側に前記リストア必要情報及び前記一部データを記録し、その際、該リストア必要情報を、該一部データよりも前記シーケンシャル装置群の上流側に記録する。前記差分管理部は、前記一部バックアップが行われた場合、前記更新後のビットマップをリセットし、その後に前記論理ボリュームが更新された場合には、該リセット後のビットマップを更新する。前記一部バックアップは、差分バックアップと増分バックアップとのいずれか一方である。
第十四の実施態様では、前記第十三の実施態様において、前記ビットマップとして、差分バックアップ用のビットマップと、増分バックアップ用のビットマップとがある。前記増分バックアップの場合には、前記増分バックアップ用のビットマップが含められる。
上述した各記憶部は、例えば、メモリなどの記憶資源により構築することができる。また、他の各部は、ハードウェア、コンピュータプログラム又はそれらの組み合わせ(例えば一部をコンピュータプログラムにより実現し残りをハードウェアで実現すること)により構築することができる。コンピュータプログラムは、所定のプロセッサに読み込まれて実行される。また、コンピュータプログラムがプロセッサに読み込まれて行われる情報処理の際、適宜に、メモリ等のハードウェア資源上に存在する記憶域が使用されてもよい。また、コンピュータプログラムは、CD−ROM等の記録媒体から計算機にインストールされてもよいし、通信ネットワークを介して計算機にダウンロードされてもよい。
本発明によれば、バックアップサーバー不要でバックアップ及びリストアができ、バックアップを行った記憶サブシステムにリストア必要情報がなくても、一部バックアップされたデータのリストアが可能であり、且つ、差分管理できる世代数が、記憶サブシステムのメモリの記憶容量に制限されないようにすることができる。
以下、図面を参照して、本発明の幾つかの実施例を説明する。なお、以下の説明では、バックアップのタイプとして、フルバックアップと、差分バックアップと、増分バックアップの3タイプがあるものとする。これら3タイプのバックアップのうち、差分バックアップ及び増分バックアップが、一部バックアップに属するタイプのバックアップである。以下、3タイプのバックアップのうちの2以上のバックアップタイプを言う場合、スラッシュ“/”を使ってまとめて記載することとする。例えば、3タイプのバックアップの全てを指す場合には、フル/差分/増分バックアップと記載することにする。なお、そのときの“/”は、「及び/又は」という意味で使用される。
例えば、この第一実施例では、記憶システムが、一台の記憶サブシステムであり、上位装置が、ホスト計算機であり、ランダムアクセス型記憶装置が、磁気ディスク(以下、単に「ディスク」と言う)であり、シーケンシャルアクセス型記憶装置が、磁気テープ(以下、単に「テープ」と言う)である。
この第一実施例では、前記記憶サブシステムに接続された管理端末が備えられる。また、記憶サブシステムには、複数のテープを備えるテープライブラリ装置と、ディスクとテープライブラリ装置を制御するコントローラとが備えられる。
前記コントローラは、前記ディスクを制御するディスク制御プログラムと、前記テープライブラリ装置を制御するテープライブラリ制御プログラムと、ディスクからテープへのコピー制御を行うバックアップ/リストア制御プログラムとを備える。
前記テープライブラリ装置は、テープの移動を行うロボットと、テープへの読込み/書込み(アクセス)を行うテープドライブと、テープをテープライブラリ装置からエクスポート/インポートするテープエクスポート/インポートスロットとを備える。
前記ホスト計算機は、前記記憶サブシステムにデータの書込み/読込みを行うアプリケーションと、前記記憶サブシステムにボリュームのペア制御指示を送信するボリュームのペア制御指示プログラムと、前記記憶サブシステムにバックアップ/リストア制御指示を送信するバックアップ/リストア制御指示プログラムと、前記アプリケーション、ボリュームの制御指示プログラム及びバックアップ/リストア制御指示プログラムの制御を行うCPUとを備える。
前記ディスク制御プログラムは、前記ホスト計算機から前記ボリュームのペア制御指示を受信し、前記ボリュームのペア制御指示に応答して、ディスクのボリュームのペア制御を行う。前記バックアップ/リストア制御プログラムは、前記ホスト計算機から前記バックアップ/リストア制御指示を受信し、前記バックアップ/リストア制御指示に応答して、ディスクからテープへのバックアップ及びテープからディスクへのリストアを行い、その際、バックアップデータ及びバックアップ間差分データの管理を行う。前記テープライブラリ制御プログラムは、前記管理端末からテープインポート指示を受信し、前記テープインポート指示に応答して、テープインポートを行い、また、前記管理端末からテープエクスポート指示を受信し、前記テープエクスポート指示に応答して、テープエクスポートを行う。
具体的には、前記ディスク制御プログラムは、前記ボリュームのペア制御指示によって、前記ディスクにおいて正ボリュームと副ボリュームのペアを作成することができる。前記ディスク制御プログラムは、正ボリュームと副ボリュームの差分データ管理ができ、前記ボリュームのペア制御指示によって、差分データコピーやペア分割ができる。前記バックアップ/リストア制御プログラムは、バックアップ間の差分データ管理ができ、前記バックアップ制御指示によって、ペア分割された副ボリュームをテープにフル/差分/増分バックアップすることができ、その際、差分/増分バックアップの場合は、バックアップ対象のデータだけでなく、リストア必要情報もテープに格納することができる。前記バックアップ/リストア制御プログラムは、前記リストア制御指示によって、テープに格納されたフル/差分/増分バックアップデータから前記ペア分割された副ボリュームにデータを回復でき、その際、差分/増分バックアップデータからのリストアの場合は、テープに格納されているリストア必要情報を使用して、データリストアができる。前記ディスク制御プログラムは、前記ボリュームのペア制御指示によって、前記データリストアが行われた副ボリュームを正ボリュームにコピーすることができる。また、バックアップを行った記憶サブシステムとは別の記憶サブシステムでも、テープに格納されたフル/差分/増分バックアップデータからデータリストアができる。リストア必要情報がテープに記録されているためである。前記テープライブラリ制御プログラムは、前記テープエクスポート指示によって、前記記憶サブシステムからテープをエクスポートすることができる。前記テープライブラリ制御プログラムは、前記テープインポート指示によって、前記記憶サブシステムにテープをインポートすることができ、さらに、前記インポートされたテープからデータリストアすることができる。
以下、この第一実施例について詳述する。
図1は、本発明の第一実施例に係る計算機システムの構成例を示す。図2は、図1のコントローラ123の構成例を示した図である。
ホスト計算機100、記憶サブシステム101及び管理端末103は、ファイバチャネルを用いて接続されており、情報や処理要求等の受け渡しが行われる。ホスト計算機100、記憶サブシステム101及び管理端末103は、LAN(Local Area Network)等の通信ネットワークで接続されていても良いし、専用線などで接続されても良い。
ホスト計算機100は、記憶サブシステム101に情報を書き込んだり読み込んだりするアプリケーション111と、ボリュームのペア制御指示を発行するボリュームのペア制御指示プログラム112と、バックアップ/リストア制御指示を発行するバックアップ/リストア制御指示プログラム113と、アプリケーション111、ボリュームのペア制御指示プログラム112及びバックアップ/リストア制御指示プログラム113を記憶するメモリ121と、アプリケーション111、ボリュームのペア制御指示プログラム112及びバックアップ/リストア制御指示プログラム113を実行するためのCPU(Central Processing Unit)122とを備える。ボリュームのペア制御指示プログラム112を実行するCPU122は、ペア形成指示、ペア再同期指示、ペア分割指示及びペア削除指示等の種々のコマンドを発行する。以下、プログラムが主語になる場合は、実際にはそのプログラムを実行するCPUによって処理が行われるものとする。バックアップ/リストア制御指示プログラム113は、フルバックアップ開始指示、差分バックアップ開始指示、増分バックアップ開始指示及びリストア開始指示等の種々のコマンドを発行する。
記憶サブシステム101は、コントローラ123、複数のディスク124及びテープライブラリ装置125を備える。コントローラ123は、バックアップデータ管理、バックアップ処理及びリストア処理等を行うバックアップ/リストア制御プログラム131と、ディスク管理、ボリュームのペア管理、ホストI/O処理及びボリュームのペア操作処理等を行うディスク制御プログラム132と、テープ管理、テープインポート処理及びテープエクスポート処理等を行うテープライブラリ制御プログラム133とを備える。
テープライブラリ装置125は、複数のテープ136と、テープ136の移動を行うロボット134、テープ136に情報を書き込んだり読み込んだりするテープドライブ135と、テープ136を記憶サブシステム101から出したり入れたりするためのテープエクスポート/インポートスロット137とを備える。
ディスク制御プログラム132は、正ボリューム124aと副ボリューム124bから構成されるボリュームのペアを作成する機能を有し、さらに、ボリューム間の差分データコピーを行うペア再同期、ボリューム間を分割するペア分割、ボリュームのペアを削除するペア削除等の機能も有する。ディスク制御プログラム132は、ディスク124の管理を行うプログラム214と、ボリュームのペア管理を行うプログラム215と、ホスト計算機100からの情報の書き込み読み込み等のI/Oを処理するプログラム216と、ボリュームのペア操作処理を行うプログラム217とから構成される。なお、ここで、「ボリューム」とは、論理的な記憶装置である論理ボリュームのことであり、具体的には、例えば、一又は複数のディスク124(例えば、RAIDグループを構成する二以上のディスク124)により提供される記憶空間から切り出された記憶空間部分である。「正ボリューム」とは、コピー元の論理ボリュームであり、「副ボリューム」とは、コピー先の論理ボリュームである。
バックアップ/リストア制御プログラム131は、バックアップデータ管理を行うプログラム211と、バックアップ処理を行うプログラム212と、リストア処理を行うプログラム213とから構成される。バックアップデータ管理211は、バックアップデータの管理をする機能を有し、さらに、差分/増分バックアップを行うために、バックアップ間の差分データを管理する機能も有する。さらに、バックアップ/リストア制御プログラム131は、副ボリューム124bの情報をテープ136にフル/差分/増分バックアップしたり、テープ136の情報を副ボリューム124bにリストアしたりする機能を有する。もちろん、バックアップ元及びリストア先は正ボリューム124aでも良いし、ボリュームのペアを構成していないディスク124でも良い。
テープライブラリ制御プログラム133は、テープ136の管理を行うプログラム218と、テープインポート処理を行うプログラム219と、テープエクスポート処理を行うプログラム220とから構成される。テープライブラリ制御プログラム133は、テープエクスポート/インポートスロット137を用いて、テープ136をエクスポートする機能及びインポートする機能を有する。
管理端末102は、管理画面141を有し、記憶サブシステム101の管理を行う機能を有する。例えば、ディスク124に論理ボリューム(以下、LUと称する)を作成したり、テープ136のエクスポート/インポート指示を発行したりする。管理画面141は、例えば、管理端末102の図示しない表示装置が有するディスプレイ画面である。
コントローラ123は、バックアップ/リストア制御プログラム131、ディスク制御プログラム132及びテープライブラリ制御プログラム133を記憶するメモリ(以下、制御メモリ)201と、バックアップ/リストア制御プログラム131、ディスク制御プログラム132及びテープライブラリ制御プログラム133を実行するプロセッサ(例えば、CPU、以下、制御プロセッサ)202と、一時的に情報を記憶するキャッシュメモリ203と、ホスト計算機101、ディスク124及びテープライブラリ装置125間のデータ転送を行うデータ転送LSI(Large Scale Integration)204とを備える。
図3は、ボリュームのペア管理215がもつ管理情報例を示している。
ボリュームのペア管理215がもつ管理情報には、例えば、ペア構成管理テーブル301と、ディスク間差分データ管理テーブル302と、ディスク間の差分ビットマップ303とが含まれる。
ペア構成管理テーブル301は、ボリュームのペア操作処理217によって作成されたボリュームのペアの構成情報や状態を管理するためのものである。このテーブル301には、各ボリュームペア毎に、ボリュームペア番号311と、正ボリューム312と、副ボリューム313と、状態314とが記録される。ボリュームペア番号311は、ボリュームのペアを一意に識別する番号である。正ボリューム312は、正ボリューム124aとなるLU(論理ユニット)のLUN(論理ユニット番号)である。副ボリューム313は、副ボリューム124bとなるLUのLUNである。状態314は、ペア状態、分割状態、ペア状態移行中、分割状態移行中、エラー状態等のボリュームのペアの状態である。ペア状態は正ボリューム124aと副ボリューム124bの情報が同期している状態で、分割状態は正ボリューム124aと副ボリューム124bの情報が同期していない状態である。ペア状態移行中はペア状態への移行処理を行っている状態で、分割状態移行中は分割状態への移行処理を行っている状態である。
ディスク間差分データ管理テーブル302は、ボリュームのペアごとに、正ボリューム124aと副ボリューム124b間の差分を管理するためのものである。その差分は、例えば、ディスク間の差分ビットマップ303によって管理される。このテーブル302には、各ボリュームペア毎に、ボリュームペア番号321と、差分ビットマップ番号322と、差分管理サイズ323と、差分ビットマップ格納位置324とが記録される。ボリュームのペア番号321は、どのボリュームのペアの差分ビットマップかを示している。差分ビットマップ番号322は、ディスク間の差分ビットマップ303を一意に識別する番号である。差分管理サイズ323は、差分ビットマップの1ビットが対応するサイズを示す。差分ビットマップ格納位置324は、ディスク124のどこに差分ビットマップを格納しているかを示す。例えば、差分ビットマップ格納位置324が、0:0−0:1000であれば、LUNが0のLUのLBA0から1000に格納していることを示す。差分ビットマップの格納位置は、参照速度の高速化のために、ディスク124上ではなく、制御メモリ201上やキャッシュメモリ203上に格納しても良い。
例えば、差分管理サイズ323が1MBであれば、331aがLUの先頭から1MB、331bがLUの先頭1MBから2MBに対応するブロックの差分ビットを示す。差分ビット331は、対応するブロックのどれか一つで、正ボリューム124aと副ボリューム124bの情報が異なっていれば、ビットを反転する。例えば、331a、331b、331eは正ボリューム124aと副ボリューム124bの情報は一致しており、331cと331dは正ボリューム124aと副ボリューム124bの情報が一致していないことを表す。正ボリューム124aと副ボリューム124bにそれぞれ1枚ずつ差分ビットマップをもち、差分ビット331は、対応するブロックのどれか一つが更新されたら差分ビットを反転して、それぞれの差分ビットマップを比較することによって、正ボリューム124aと副ボリューム124bの差分データを管理しても良い。差分ビットマップのサイズは、LUの容量と差分管理サイズ323で決まり、例えば、LUの容量が100MBで、差分管理サイズ323が1MBであれば、1枚の差分ビットマップのサイズは100ビットとなる。
図4は、テープ管理218が管理しているテーププール401の論理イメージ例を示す。
テーププール401は、複数のテープ136から構成され、そのうちのいくつかのテープ136がグループ化されてテープグループ411を構成している。テープ136jのように、テープグループ411でグループ化されていないものもある。例えば、テープグループ411aは、テープ136aとテープ136bから構成される。テープ136dのように、半分はテープグループ411bで使用され、残りの半分はテープグループ411cで使用されても良い。また、テープグループ411は、必ずしも二以上のテープ136から構成されるとは限らず、例えば、一つのテープ136、或いはテープ136の一部でテープグループ411とされることもある。なお、この図4では、複数のテーププール401を示し、各テーププール401内での構成が同じになっているが、勿論、各テーププール401毎に構成は異なって良い。
管理端末102を用いて、テープライブラリ装置125単位でテーププール401を作成する。テーププール401は、テープライブラリ装置125がもつテープ136から構成される。テーププール401の作成は、ホスト計算機100から行っても良い。テーププール401は、テープライブラリ装置125内に複数個作成しても良いし、複数のテープライブラリ装置125にまたがって作成しても良い。バックアップ処理において、バックアップ先としてテーププール401が指定され、未使用のテープに、順に、バックアップが行われる。バックアップ元ボリュームは複数個指定されても良い。バックアップで使用するテープは、データが全く記録されていないテープ、つまり、完全な未使用でなくても良い。例えば、バックアップでは、不要なバックアップデータが記録されているテープにデータが上書きされても良いし、途中までバックアップデータが記録されているテープに続けて追記されても良い。バックアップで使用したテープをグループ化することで、テープグループ411ができる。そのため、バックアップ単位がテープグループ411となり、バックアップデータの管理がテープグループ単位で行われる。テープグループ411は、バックアップ前に管理端末102等を用いて作成しておき、バックアップ先としてテープグループ411を指定しても良い。作成されたテープグループ411は、必要に応じてテープ136jのようなテープグループ411を構成していないテープを追加する機能を有する。例えば、あらかじめ作成しておいたテープグループ411aをバックアップ先として指定したが、バックアップデータがテープ136aとテープ136bに入りきらなかった場合、テープ136jに残りのバックアップデータを格納し、テープ136a、136b、136jでテープグループ411aを構成する。
なお、バックアップの際に、バックアップ対象のデータのサイズと、そのデータと共に格納する管理情報(リストア必要情報を含んだ情報)のサイズとを基に、予め、テーププール401から、テープグループ411を構成するためのテープ領域(一又は複数のテープ136の全体又は一部の記録領域)を確保しておき、その確保したテープ領域に、バックアップしていっても良いが、本実施例のように、バックアップが終了した場合にテープグループ411を構成した方が効率的である。なぜなら、バックアップが終了するまで、テープ136に書込まれるデータサイズがわからないからである。この要因として、テープドライブ135の機能により、テープ136に書込まれるデータが圧縮される点にある。つまり、書込み対象としてテープドライブ135に送られたデータのサイズよりも、実際にテープ136に記録されたデータのサイズの方が小さくなる。このため、予めテープ136を確保しても、容量が余ってしまったり、逆に足りなくなってしまったりすることがあり得る。この実施例では、バックアップが終了した場合にテープグループ411が構成されるので、このような問題点が生じるのを防げる。
また、図4に示すように、一つのテーププール401に、複数のテープグループ411が連続するが、或るバックアップ元LUについて複数のバックアップを行う場合、バックアップした日時が後のものは、それが先のものよりも、下流側の場所にバックアップされてよい。例えば、フルバックアップの後に差分バックアップを行う場合、差分バックアップは、フルバックアップに対応したテープグループよりも下流(例えばその直後)から行われて良い。また、例えば、その差分バックアップの後に増分バックアップを行う場合、その差分バックアップに対応したテープグループよりも下流(例えばその直後)から、増分バックアップが行われて良い。こうすることで、リストアの際に、テープの先送りと巻き戻しとが頻発してしまうといったことを防ぐことができる。
図5は、テープグループ411の格納情報例を示す。
テープグループ411は、テープグループ情報501とバックアップデータ502から構成される。バックアップデータ502は、データ管理情報511とデータ512から構成される。テープグループ情報501は、リストア処理で必要となるテープグループ411の管理情報である。
バックアップデータ502は、バックアップ元LUのバックアップデータである。データ管理情報511は、リストア処理で必要となるバックアップ元LUの管理情報である。データ512は、バックアップ元LU(バックアップ元となる副ボリューム)のユーザーデータ(ホスト計算機100のアプリケーション111に使用されるデータ)である。すなわち、本実施例で言うバックアップデータとは、ユーザーデータとデータ管理情報との組み合わせとすることができる。テープグループ情報501とデータ管理情報511の説明は、図8、9、10で後述する。
図6は、テープ管理218がもつ管理情報例を示している。
この管理情報には、テーププール管理テーブル601、テープグループ管理テーブル602及びテープメディア管理テーブル603が含まれる。
テーププール管理テーブル601は、テーププール401を管理するためのテーブルである。このテーブル601には、テーププール番号611、テーププール構成テープ番号612及び格納テープグループ番号613が記録される。テーププール番号611は、テーププール401を一意に識別するための番号である。テーププール構成テープ番号612は、テーププール401を構成しているテープの番号である。101、102、103と順にテープ番号を記録しても良いし、テーブル容量削減のために111−131と記録して、テープ番号111からテープ番号131のテープで構成されるとしても良い。また、前者、後者の組合せで記録しても良い。格納テープグループ番号613は、テーププール401に作成されているテープグループ411の番号である。例えば、テーププール番号1のテーププール401は、テープ番号101、102、103のテープ136から構成されており、テープグループ番号11、12、13のテープグループ411が作成されている。
テープグループ管理テーブル602は、テープグループ411を管理するためのテーブルである。このテーブル602には、テープグループ番号621、テープグループ状態622、テープグループ構成テーブル623、バックアップ元LUN624、バックアップデータ種別625、リストアに必要なテープグループ番号626、所属テーププール番号627及び記録日時628が記録される。テープグループ番号621は、テープグループ411を一意に識別するための番号である。テープグループ状態622は、正常、バックアップ中、リストア中、エラー等の、テープグループの状態を示す。テープグループ構成テープ623は、テープグループの位置を表す情報(位置情報)であり、その位置情報は、例えば、テープ番号631と対象アドレスとの組み合わせで表される。101:10−900は、テープ番号101のアドレス10から900を表す。バックアップ元LUN624は、バックアップ元LU(バックアップ元ボリューム)のLUNを示す。バックアップデータ種別625は、フルバックアップデータ、差分バックアップデータ及び増分バックアップデータのいずれであるかを示す。リストアに必要なテープグループ番号626は、リストア時に必要となるテープグループ番号621を示す。所属テーププール番号627は、テープグループ411が所属するテーププール番号611を示す。記録日時628は、バックアップを開始した日時を示す。記録日時628は、バックアップ終了日時を記録しても良いし、バックアップ処理時に指定された日時を記録しても良い。
例えば、2006/4/4の22:00:00にフルバックアップを、2006/4/11の22:00:00に差分バックアップを、2006/4/12の22:00:00に増分バックアップを、順に行ったとする。テープグループ番号11のテープグループ411には、2006/4/4の22:00:00に、LUN2001と2002のLUを、テープ番号101、102、103に、フルバックアップしたデータが記録されている。テープグループ番号12のテープグループ411には、2006/4/11の22:00:00に、LUN2001と2002のLUを、テープ番号104、105に、差分バックアップしたデータが記録されている。テープグループ番号13のテープグループ411には、2006/4/12の22:00:00に、LUN2001と2002のLUを、テープ番号106に、増分バックアップしたデータが記録されている。テープグループ番号11のテープグループ411のフルバックアップデータからリストア処理を行うためには、テープグループ番号11のテープグループ411だけで良いので、リストアに必要なテープグループ番号626には何も記録されていない。テープグループ番号12のテープグループ411の差分バックアップデータからリストア処理を行うためには、テープグループ番号11のテープグループ411も必要となるので、リストアに必要なテープグループ番号626には11が記録されている。テープグループ番号13のテープグループ411の増分バックアップデータからリストア処理を行うためには、テープグループ番号11と12のテープグループ411も必要となるので、リストアに必要なテープグループ番号626には11、12が記録されている。この場合、リストア処理では、テープグループ番号11、12、13の順で、テープグループ411のコピー処理(テープからリストア先のボリュームへのコピー)が行われる。もしくは、リストアに必要なテープグループ番号626には、前回のバックアップデータが記録されているテープグループ411のテープグループ番号621だけが記録されており、例えば、テープグループ番号13のテープグループ411を指定してリストア要求がきたら、テープグループ番号13のリストアに必要なテープグループ番号626を参照して、先にテープグループ番号12のテープグループ411のコピー処理が必要なことが分かり、さらに、テープグループ番号12のリストアに必要なテープグループ番号626を参照して、先にテープグループ番号11のテープグループ411のコピー処理が必要なことが分かり、さらに、テープグループ番号11のリストアに必要なテープグループ番号626を参照して、テープグループ番号621がフルバックアップデータであることが分かり、リストア処理では、テープグループ番号11、12、13の順で、テープグループ411のコピー処理が行われても良い。
テープメディア管理テーブル603は、テープ136を管理するためのテーブルである。このテーブル603には、テープ番号631、テープ種別632、1ブロックサイズ633、テープ容量634、使用済み容量635、テープ状態636、所属テーププール番号637及び所属テープグループ番号638が記録される。テープ番号631は、テープ136を一意に識別するための番号である。テープ種別632は、LTO3やLTO4等、テープの規格を示すものである。1ブロックサイズ633は、テープ136の1ブロックの容量を示す。テープ容量634は、テープ136の容量を示す。使用済み容量635は、テープ136にどれだけのバックアップデータ容量が記録されているかを示す。テープ状態636は、正常、未使用、エラー等のテープ136の状態を示す。例えば、正常はバックアップデータが正常に記録されている状態を、未使用はバックアップデータが記録されていない状態を、エラーはメディア障害等によってテープ136が使用できない状態を表す。所属テーププール番号637は、テープ136が所属するテーププール番号611を示す。所属テープグループ番号638は、テープ136が所属するテープグループ番号621を示す。例えば、テープ番号101のテープ136は、バックアップデータが記録されており、テーププール番号1のテーププール401とテープグループ番号11のテープグループ411に所属している。テープ番号111のテープ136は、バックアップデータが記録されておらず、テーププール番号4のテーププール401に所属している。
図7は、バックアップデータ管理211がもつ管理情報例を示している。
この管理情報には、バックアップデータ管理テーブル701、バックアップ間差分データ管理テーブル702及びバックアップ間の差分ビットマップ703が含まれる。
バックアップデータ管理テーブル701は、バックアップデータを管理するためのテーブルである。このテーブル701には、バックアップデータ番号711、バックアップ元LUN712、バックアップ先テープグループ番号713、バックアップデータの状態714、バックアップデータ種別715及びバックアップ取得日時716が記録される。バックアップデータ番号711は、バックアップデータを一意に識別するための番号である。バックアップ元LUN712は、バックアップ元LUのLUNを示す。バックアップ先テープグループ番号713は、バックアップデータが記録されているテープグループ番号621を示す。バックアップデータの状態714は、正常、リストア不可、エラー等のバックアップデータの状態を示す。例えば、“正常”は、バックアップデータが記録されておりリストアできる状態を表す。“リストア不可”は、バックアップデータが失われておりリストアできないが、テープ136は使用可能な状態であることを表す。“エラー”は、テープメディア障害でテープ136が使用できない状態を表す。バックアップデータ種別715は、フルバックアップデータ、差分バックアップデータ及び増分バックアップデータのいずれであるかを示す。バックアップ取得日時716は、バックアップを開始した日時を示す。バックアップ取得日時716は、バックアップ終了日時を記録しても良いし、バックアップ処理時に指定された日時を記録しても良い。
バックアップ間差分データ管理テーブル702とバックアップ間の差分ビットマップ703は、差分/増分バックアップを行うために、バックアップ間の差分データ管理を行うためのものである。バックアップ元LUごとに、差分ビットマップにより、差分データ管理が行われる。もちろん、差分ビットマップではなく、他の手法、例えば、差分データのリストによって、差分データが管理されても良い。例えば、月の初めはフルバックアップ、平日は増分バックアップ、日曜日は差分バックアップといった、フル/差分/増分バックアップ運用では、差分ビットマップが1枚では、差分バックアップと増分バックアップを組み合わせることはできないので、バックアップ元LUごとに、差分バックアップ用と増分バックアップ用の2枚の差分ビットマップが備えられる。
バックアップ間差分データ管理テーブル702には、LUN721、差分ビットマップ番号722、バックアップ種別723、差分管理サイズ724及び差分ビットマップ格納位置725が記録される。LUN721は、差分データ管理を行っているLU(つまり、差分データ管理の対象となっている副ボリューム)のLUNを示す。差分ビットマップ番号722は、バックアップ間の差分ビットマップ703を一意に識別する番号である。バックアップ種別723は、対応する差分ビットマップが差分バックアップ用であるか増分バックアップ用であるかを示す。差分管理サイズ724は、差分ビットマップの1ビットが対応するサイズを示す。差分ビットマップ格納位置725は、ディスク124のどこに差分ビットマップを格納しているかを示す。例えば、差分ビットマップ格納位置725が、5:0−5:1000であれば、LUNが5のLUのLBA0から1000に格納していることを示す。差分ビットマップの格納位置は、参照速度の高速化のために、ディスク124上ではなく、制御メモリ201上やキャッシュメモリ203上に格納しても良い。
バックアップ間の差分ビットマップ703は、例えば、差分管理サイズ724が1MBであれば、731aがLUの先頭から1MB、731bがLUの先頭1MBから2MBに対応するブロックの差分ビットを示す。対応するブロックのどれか一つが更新されたら差分ビットを反転する。例えば、731a、731b、731eは更新されておらず、731c、731dが更新されていることを表し、差分/増分バックアップ時は、731c、731dに対応するブロックが、バックアップ対象となる。フルバックアップ終了時に、差分バックアップ用と増分バックアップ用の差分ビットマップがリセットされる。差分バックアップと増分バックアップ終了時は、増分バックアップ用の差分ビットマップだけがリセットされる。差分ビットマップのサイズは、LUの容量と差分管理サイズ724で決まり、例えば、LUの容量が100MBで、差分管理サイズ724が1MBであれば、1枚の差分ビットマップのサイズは100ビットとなる。
図8は、テープ136の記録形式例を示している。図9は、フルバックアップ時にテープに記録する管理情報例を示し、図10は、差分/増分バックアップ時にテープに記録する管理情報例を示す。バックアップ時にテープに記録する管理情報は、制御メモリ201がもつ管理情報を記録する。
テープ136には、複数個のブロック811と複数個のEOD(End Of Data)812が記録される。ブロック811には、各々ブロック811を識別するブロック番号が付けられていて、ブロック番号は、テープ136の始端(BOT(Beginning Of Tape)側)から終端(EOT(End Of Tape)側)に向かって、1、2、3、・・・と1つずつ増加する値をとる。テープ136をテープドライブ135にマウントした直後にテープ136にブロック811を記録すると、ブロック番号が1のところにブロック811が記録され、次のブロック811を記録するとブロック番号が2のところにブロック811が記録される。以降、ブロック811を記録すると、ブロック番号が3のところに、ブロック番号が4のところに、、、というように順次EOT側に向かってブロック811が記録される。また、テープ136を巻き戻した直後にブロック811を再生すると、ブロック番号が1のブロック811が再生され、次にブロック811を再生するとブロック番号が2のブロック811が再生されるというように順次EOT側に向かってブロック811が再生される。また、ブロック811の再生は、最後に記録されたブロック811まで再生される。
テープ情報821は、テープ136Aの先頭ブロックであるブロック番号1に記録される。テープ情報821は、ブロック番号1と2等、複数ブロックに記録されても良い。フルバックアップ時、差分/増分バックアップ時ともに、テープメディア管理テーブル603を参照して、テープ情報821として、テープ番号631、テープ種別632、1ブロックサイズ633、テープ容量634が記録される。
テープ情報821を記録したブロックの次のブロック番号に、テープグループ情報501が記録される。テープグループ情報501は複数ブロックに記録されても良い。テープグループ管理テーブル602を参照して、テープグループ情報501として、フルバックアップの場合は、装置番号921、テープグループ番号621、バックアップ元LUN624、バックアップデータ種別625、記録日時628が記録され、差分/増分バックアップの場合は、バックアップ先装置番号921、テープグループ番号621、バックアップ元LUN624、バックアップデータ種別625、記録日時628、リストアに必要なテープグループ番号626が記録される。装置番号921は、バックアップを行った記憶サブシステム101を一意に識別するための番号である。
テープグループ情報501を記録したブロックの次のブロック番号に、データ管理情報511が記録される。データ管理情報511は複数ブロックに記録されても良い。データ管理情報511として、フルバックアップ場合は、LUN931、LU容量932が記録され、差分/増分バックアップの場合は、バックアップ間差分データ管理テーブル702を参照して、LUN931、LU容量932、差分管理サイズ724、差分ビットマップ703を記録する。LUN931は、バックアップ元LUのLUNである。LU容量932は、バックアップ元LUのLU容量である。増分バックアップの場合、データ管理情報511に含まれる差分ビットマップ703は、増分バックアップ用である。すなわち、増分バックアップの場合、テープに記録するのは、増分ビットマップだけで(つまりLU毎に1枚だけで)、差分ビットマップは記録しなくてよい。差分バックアップを行うか、増分バックアップを行うかは、ホスト計算機100からの指示で決めることができるため、差分ビットマップには、差分バックアップ対象のビットが記録され、増分ビットマップには、増分バックアップ対象のビットが記録される。
データ管理情報511を記録したブロックの次のブロック番号から、バックアップ元LUのデータが記録される。フルバックアップ処理では、バックアップ元LUの全てのデータが記録され、差分/増分バックアップ処理では、差分データのみが記録される。データ管理情報511aのバックアップ元LUの記録が終わったら、次のブロック番号のブロックに、データ管理情報511bのバックアップ元LUの記録を行う。データ管理情報511aの次のブロック番号のブロックにデータ管理情報511bの記録を行い、データ管理情報511の次のブロック番号のブロックに、バックアップ元LUの全てのLUのデータを記録しても良い。
バックアップ元LU全ての記録が終わったら、EOD812を記録して、バックアップ処理におけるテープへの記録を終了する。同じテープ136Aに、別のバックアップデータを記録する場合は、EOD812の次のブロック番号のブロックから、テープへの記録を行う。また、バックアップデータが、テープ136Aと136Bにまたがって記録する場合は、テープ136Bの先頭ブロックにテープ情報821を記録し、次のブロック番号のブロックに、テープ136Aの最終ブロックに記録した情報の続きを記録する。
図11は、ホスト計算機100からディスク124へのライト要求を記憶サブシステム101が受領した場合に実行される処理のフローを示している。
ステップ1000では、コントローラ123が、ホスト計算機100からディスク124へのライト要求を受領する。これにより、ディスク制御プログラム132が実行される。ディスク制御プログラム132によって、ライト要求に従うライト対象データが、キャッシュメモリ203に一時格納される。
ステップ1010では、ディスク制御プログラム132が、ペア構成管理テーブル301を参照して、ライト先LUのLUNが、正ボリューム312もしくは副ボリューム313にあるかどうかを調べる。あったらステップ1020に進み、なかったらステップ1040に進む。
ステップ1020では、ディスク制御プログラム132が、ペア構成管理テーブル301の状態314とディスク間の差分ビットマップ303を参照して、ライト対象の差分ビットを反転する必要があるかどうかを調べる。差分ビットを反転する必要がある場合(例えば、ペア分割状態であり、差分ビットが反転されてない場所にライト対象データが書かれると判断した場合)は、ステップ1030へ進み、差分ビットを反転する必要がない場合(例えば、ペア状態である場合、或いは、ペア分割状態であるが、差分ビットが既に反転されている場合)は、ステップ1040へ進む。
ステップ1030では、ディスク制御プログラム132が、ディスク間の差分ビットマップ303のライト対象の差分ビットを反転する。
ステップ1040では、バックアップ/リストア制御プログラム131が、バックアップ間差分データ管理テーブル702を参照して、ライト先LUのLUNが、LUN721にあるかどうかを調べる。あったらステップ1050へ進み、なかったらステップ1070へ進む。
ステップ1050では、バックアップ/リストア制御プログラム131が、バックアップ間の差分ビットマップ703を参照し、すでにライト対象の差分ビットが反転しているかどうかを調べる。差分ビットマップ用と増分バックアップ用の両方の差分ビットマップがあれば、それらの両方を調べる。反転している場合はステップ1070へ進み、反転していない場合はステップ1060へ進む。
ステップ1060では、バックアップ/リストア制御プログラム131が、バックアップ間の差分ビットマップ703のライト対象の差分ビットを反転する。差分ビットマップ用と増分バックアップ用の両方の差分ビットマップがあれば、両方の差分ビットを反転する。
ステップ1070では、ディスク制御プログラム132が、キャッシュメモリ203に一時格納されたデータをディスク124に書き込む。ステップ1080では、ディスク制御プログラム132が、ホスト計算機100に完了報告を行う。
図12、13はフルバックアップ処理の処理フローを、図12、14は差分バックアップ処理の処理フローを、図12、15は増分バックアップ処理の処理フローを示している。
ステップ2000では、バックアップしたいLUが、ボリュームのペアを形成しているかどうかを調べる。ユーザーが調べても良いし、ボリュームのペア制御指示プログラム112が、ペア構成管理テーブル301を調べても良い。ペアを形成していない場合はステップ2010へ進み、ペアを形成している場合はステップ2040へ進む。
ステップ2010では、ホスト計算機100のボリュームのペア制御指示プログラム112から記憶サブシステム101へ、ペア形成指示を発行する。ステップ2020では、ディスク制御プログラム132が、ペア形成指示を受領する。ステップ2030では、ディスク制御プログラム132が、ペア構成管理テーブル301、ディスク間差分データ管理テーブル302、ディスク間の差分ビットマップ303を更新して、正ボリューム124aの情報を副ボリューム124bにコピーし、コピーが完了したらペア構成管理テーブル301の状態314をペア状態にする。
ステップ2040では、ホスト計算機100のボリュームのペア制御指示プログラム112から記憶サブシステム101へ、ペア再同期(通常)指示を発行する。ステップ2050では、ディスク制御プログラム132が、ペア再同期(通常)指示を受領する。ステップ2060では、ペア再同期(通常)処理が行われる。説明は図19で後述する。
ステップ2070では、ホスト計算機100のボリュームのペア制御指示プログラム112から記憶サブシステム101へ、ペア分割指示を発行する。ステップ2080では、ディスク制御プログラム132が、ペア分割指示を受領する。ステップ2090では、ペア分割処理が行われる。説明は図20で後述する。なお、このペア分割指示では、前述したバックアップしたいLU(つまりバックアップ元LU)が副ボリュームとなっているペア番号が指定される。
図13に示すように、ステップ3000では、ホスト計算機100のバックアップ/リストア制御指示プログラム113から記憶サブシステム101に、フルバックアップ開始指示を発行する。このフルバックアップ開始指示では、例えば、ペア分割指示で指定したペア番号に対応するボリュームペアでの副ボリュームのLUNが、バックアップ元LUNとして指定される。
ステップ3010では、バックアップ/リストア制御プログラム131が、フルバックアップ処理開始指示を受領する。なお、このタイミングで、バックアップ/リストア制御プログラム131が、ディスク制御プログラム132に、ライト禁止要求を出して良い。これは、ステップ4000やステップ5000で同様であっても良い。
ステップ3020では、バックアップ/リストア制御プログラム131が、バックアップ間差分データ管理テーブル702のLUN721に、バックアップ元LUのLUN(例えば、フルバックアップ開始指示で指定されたバックアップ元LUN)があるかどうかを調べる。ない場合はステップ3030へ進み、ある場合はステップ3040へ進む。
ステップ3030では、バックアップ/リストア制御プログラム131が、バックアップ元LUのバックアップ間の差分データ管理を開始する。バックアップ元LUのLU容量(ボリューム容量)と差分管理サイズ724から差分ビットマップのサイズを計算し、差分ビットマップ格納位置を確保する。差分管理サイズ724は、予め記憶サブシステム101で決められていても良いし、ユーザーが設定しても良い。バックアップ/リストア制御プログラム131が、差分バックアップ用と増分バックアップ用の2枚の差分ビットマップを作成し、それの格納位置を、バックアップ間差分データ管理テーブル702に登録する。
ステップ3040では、ディスク制御プログラム132が、所定の契機(例えば、バックアップ/リストア制御プログラム131からライト禁止要求を受けたとき)で、バックアップ元LUへのライトを禁止する。具体的には、例えば、ディスク制御プログラム132は、ライト要求を受信しても、所定の応答(例えば書込み完了報告)を返さないようにする。これは、ステップ4020やステップ5020で同様であっても良い。
ステップ3050では、テープライブラリ制御プログラム133が、ロボット134を制御して、バックアップ先となるテープ136をテープドライブ135にマウントさせる。この時、必要となるテープ136を複数のテープドライブ135にマウントして、並列書き込みを行なっても良いし、コピーの終わったテープ136とコピーの終わっていないテープ136を入れ替えながらコピー処理を行なっても良い。なお、バックアップ先となるテープ136は、例えば、テープライブラリ制御プログラム133によって、任意に選択された未使用のテープである。これは、ステップ4030やステップ5030で同じであっても良い。
ステップ3060では、バックアップ/リストア制御プログラム131とテープライブラリ制御プログラム133が協働することにより、フルバックアップ時にテープに記録する管理情報901を構築し、構築された管理情報901を、テープ136に記録する。管理情報901は、例えば、制御メモリ201を参照し、マウントされたテープ136のテープ番号631に対応した情報をテープメディア管理テーブル603から取得する等の処理を行うことで、構築することができる。管理情報901に含まれるテープグループ番号621は、今回のフルバックアップ開始指示で記録されることになる一以上のフルバックアップデータを含むためのテープグループの番号である。LUN931やLU容量932は、このフルバックアップでのバックアップ元LUのLUNとLU容量である。なお、例えば、今回のテープグループがテープ136の途中から始まるが別のテープ136に跨がない場合には、テープ情報821は構築されなくて良い。テープ情報821は、図8に示すように、テープ136の先頭に記録される情報であるためである。これは、ステップ4040及び5040でも同様とすることができる。
ステップ3070では、バックアップ/リストア制御プログラム131、ディスク制御プログラム132及びテープライブラリ制御プログラム133が協働することにより、バックアップ元として指定されたLUのデータを全てディスク124からテープ136にコピーする。このフルバックアップ中では、例えば、テープ管理218によって、図6のテープグループ管理テーブル602において、テープグループ番号621として14が記録されると共に、テープグループ状態622としてバックアップ中が記録され、バックアップデータ種別625としてフルが記録され、バックアップが済んだ場合に、テープグループ状態622として正常が記録される。
ステップ3080では、バックアップ/リストア制御プログラム131、ディスク制御プログラム132及びテープライブラリ制御プログラム133が協働することにより、バックアップ元として指定された全てのLUのコピーが終わるまで、ステップ3060とステップ3070を繰り返す。なお、この繰返しでのステップ3060では、データ管理情報511のみが構築され記録される。データ管理情報511は、各バックアップデータ毎に含まれるためである。これは、ステップ4060での繰返しによるステップ4040や、ステップ5060での繰返しによるステップ5040でも同様とすることができる。
ステップ3090では、バックアップデータ管理211とテープ管理218の管理情報が更新される。例えば、バックアップデータ管理211が、バックアップデータ管理テーブル701に、フルバックアップしたバックアップデータに関する情報を追加する。また、テープ管理218が、テープグループ管理テーブル602に、テープグループ411に関する情報を追加(もしくはすでに登録されている場合は情報を更新)し、テーププール管理テーブル601の格納テープグループ番号613に、今回のフルバックアップデータを記憶するテープグループの番号を追加する。なお、上記括弧内で、情報を更新する場合としては、例えば、バックアップ前にあらかじめテープグループが定義されている場合がある(これは、フル/差分/増分の違いは関係ない)。この場合、例えば、バックアップ前に、621,622,627が登録されており、バックアップ後に、622,623,624,625,626,628が登録(更新)される場合、テープグループ管理テーブル602で情報を更新することがある。
ステップ3100では、テープライブラリ制御プログラム133が、ロボット134を制御して、テープ136をテープドライブ135からアンマウントさせる。このとき、テープライブラリ制御プログラム133は、ライト許可要求を、ディスク制御プログラム132に出して良い。これは、ステップ4080やステップ5080で同様であっても良い。
ステップ3110では、ディスク制御プログラム132が、所定の契機(例えば、テープライブラリ制御プログラム133からライト許可要求を受けたとき)で、バックアップ元LUへのライトを許可する。これは、ステップ4090やステップ5090で同様であっても良い。
ステップ3120では、バックアップ/リストア制御プログラム131が、バックアップデータ管理211のバックアップ元LUのバックアップ間の差分ビットマップ703を、差分バックアップ用と増分バックアップ用の両方ともリセットする(例えば、差分ビットマップを全て0にする)。ステップ3130では、バックアップ/リストア制御プログラム131が、フルバックアップ処理終了をホスト計算機100に通知する。
図14に示すように、ステップ4000では、ホスト計算機100のバックアップ/リストア制御指示プログラム113から記憶サブシステム101に、差分バックアップ開始指示を発行する。この差分バックアップ開始指示では、例えば、ペア分割指示で指定したペア番号に対応するボリュームペアでの副ボリュームのLUNが、バックアップ元LUNとして指定される。
ステップ4010では、バックアップ/リストア制御プログラム131が、差分バックアップ処理開始指示を受領する。ステップ4020では、ディスク制御プログラム132が、バックアップ元LUへのライトを禁止する。ステップ4030では、テープライブラリ制御プログラム133が、バックアップ先となるテープ136をテープドライブ135にマウントさせる。なお、この時、必要となるテープ136を複数のテープドライブ135にマウントして、並列書き込みを行なっても良いし、コピーの終わったテープ136とコピーの終わっていないテープ136を入れ替えながらコピー処理を行なっても良い。
ステップ4040では、バックアップ/リストア制御プログラム131とテープライブラリ制御プログラム133が協働することにより、差分バックアップ時にテープに記録する管理情報902を構築し、その管理情報902を、テープ136に記録する。テープグループ番号621は、今回の差分バックアップ開始指示で記録されることになる一以上の差分バックアップデータを含むための今回のテープグループの番号である。管理情報902には、リストアに必要なテープグループ番号626が含まれるが、この番号626は、例えば、バックアップデータ管理テーブル701から、以下の3つの条件、
(1)今回の差分バックアップのバックアップ元LUNと同一のLUNがバックアップ元LUN712である、
(2)バックアップデータ種別715がフルである、
(3)(1)及び(2)を満たすバックアップ取得日時716のうち、現在の日時から最も近い日時である、
を満たすバックアップ先テープグループ番号713から取得される。また、データ管理情報511には、バックアップ元LUNのLUN721に対応した差分管理サイズ724や、
そのLUN721に対応した差分ビットマップ格納位置725にある差分ビットマップ703が含められる。なお、増分バックアップの場合は、例えば、上記(1)及び(3)を満たすテープグループ番号(フル/差分/増分のどの可能性もある)に登録されているリストアに必要なテープグループ番号626に、前記テープグループ番号((1)と(3)を満たすテープグループ番号)を追加したテープグループ番号(例えば複数個)登録される。
ステップ4050では、バックアップ/リストア制御プログラム131、ディスク制御プログラム132及びテープライブラリ制御プログラム133が協働することにより、LUN721がバックアップ元LUNでありバックアップ種別723が差分に対応した差分ビットマップ格納位置725にある差分ビットマップ703を参照し、差分ビットの反転しているデータだけをディスク124からテープ136にコピーする。この差分バックアップ中では、例えば、テープ管理218によって、図6のテープグループ管理テーブル602において、テープグループ番号621として、今回のテープグループの番号が記録されると共に、テープグループ状態622としてバックアップ中が記録され、バックアップデータ種別625として差分が記録され、バックアップが済んだ場合に、テープグループ状態622として正常が記録される。
ステップ4060では、バックアップ/リストア制御プログラム131、ディスク制御プログラム132及びテープライブラリ制御プログラム133が協働することにより、バックアップ元として指定された全てのLUのコピーが終わるまで、ステップ4040とステップ4050を繰り返す。
ステップ4070では、バックアップデータ管理211とテープ管理218の管理情報を更新する。例えば、バックアップデータ管理211が、バックアップデータ管理テーブル701に、差分バックアップデータに関する情報を追加する。テープ管理218が、テープグループ管理テーブル602に、差分バックアップデータが記録された新規のテープグループ411に関する情報を追加(もしくはすでに登録されている場合は情報を更新)し、テーププール管理テーブル601の格納テープグループ番号613に、その新規のテープグループ411の番号を追加する。
ステップ4080では、テープライブラリ制御プログラム133が、ロボット134を制御し、テープ136をテープドライブ135からアンマウントさせる。ステップ4090では、ディスク制御プログラム132が、バックアップ元LUへのライトを許可する。ステップ4100では、バックアップ/リストア制御プログラム131が、バックアップ元LUのバックアップ間の差分ビットマップ703を、増分バックアップ用だけリセットする(例えば、差分ビットマップを全て0にする)。ステップ4110では、バックアップ/リストア制御プログラム131が、差分バックアップ処理終了をホスト計算機100に通知する。
図15に示すように、ステップ5000では、ホスト計算機100のバックアップ/リストア制御指示プログラム113から記憶サブシステム101に、増分バックアップ開始指示を発行する。
ステップ5010では、バックアップ/リストア制御プログラム131が、増分バックアップ処理開始指示を受領する。ステップ5020では、ディスク制御プログラム132が、バックアップ元LUへのライトを禁止する。ステップ5030では、テープライブラリ制御プログラム133が、バックアップ先となるテープ136をテープドライブ135にマウントさせる。この時、必要となるテープ136を複数のテープドライブ135にマウントして、並列書き込みを行なっても良いし、コピーの終わったテープ136とコピーの終わっていないテープ136を入れ替えながらコピー処理を行なっても良い。
ステップ5040では、バックアップ/リストア制御プログラム131とテープライブラリ制御プログラム133が協働することにより、増分バックアップ時にテープに記録する管理情報902を構築し、その管理情報902を、テープ136に記録する。テープグループ番号621は、今回の増分バックアップ開始指示で記録されることになる一以上の増分バックアップデータを含むための今回のテープグループの番号である。
ステップ5050では、バックアップ/リストア制御プログラム131、ディスク制御プログラム132及びテープライブラリ制御プログラム133が協働することにより、LUN721がバックアップ元LUNでありバックアップ種別723が増分に対応した差分ビットマップ格納位置725にある差分ビットマップ703を参照し、差分ビットの反転しているデータだけをディスク124からテープ136にコピーする。この増分バックアップ中では、例えば、テープ管理218によって、図6のテープグループ管理テーブル602において、テープグループ番号621として、今回のテープグループの番号が記録されると共に、テープグループ状態622としてバックアップ中が記録され、バックアップデータ種別625として増分が記録され、バックアップが済んだ場合に、テープグループ状態622として正常が記録される。
ステップ5060では、バックアップ/リストア制御プログラム131、ディスク制御プログラム132及びテープライブラリ制御プログラム133が協働することにより、バックアップ元として指定された全てのLUのコピーが終わるまで、ステップ5040とステップ5050を繰り返す。
ステップ5070では、バックアップデータ管理211とテープ管理218の管理情報を更新する。例えば、バックアップデータ管理211が、バックアップデータ管理テーブル701に、増分バックアップデータに関する情報を追加する。テープ管理218が、テープグループ管理テーブル602に、増分バックアップデータが記録された新規のテープグループ411に関する情報を追加(もしくはすでに登録されている場合は情報を更新)し、テーププール管理テーブル601の格納テープグループ番号613に、その新規のテープグループ411の番号を追加する。
ステップ5080では、テープライブラリ制御プログラム133が、ロボット134を制御し、テープ136をテープドライブ135からアンマウントさせる。ステップ5090では、ディスク制御プログラム132が、バックアップ元LUへのライトを許可する。ステップ5100では、バックアップ/リストア制御プログラム131が、バックアップデータ管理211のバックアップ元LUのバックアップ間の差分ビットマップ703を、増分バックアップ用だけリセットする(例えば、差分ビットマップを全て0にする)。ステップ5110では、バックアップ/リストア制御プログラム131が、増分バックアップ処理終了をホスト計算機100に通知する。
図16、17、18はリストア処理の処理フローを示している。
図16に示すように、ステップ6010では、ユーザー或いはペア制御指示プログラム112が、ボリュームのペア管理215のペア構成管理テーブル301を参照し、リストアしたいLU(リストア先LU、例えばユーザ所望のLU)の状態314がペア状態かどうか調べる。ペア状態であればステップ6020へ進み、ペア状態でなければステップ7000へ進む。
ステップ6020では、ホスト計算機100のボリュームのペア制御指示プログラム112から記憶サブシステム101に、ペア分割指示を発行する。ステップ6030では、ディスク制御プログラム132が、ペア分割指示を受領する。ステップ6040では、ペア分割処理が行われる。説明は図20で後述する。
図17に示すように、ステップ7000では、ホスト計算機100のバックアップ/リストア制御指示プログラム113から記憶サブシステム101に、リストア開始指示を発行する。
ステップ7010では、バックアップ/リストア制御プログラム131が、リストア開始指示を受領する。このとき、バックアップ/リストア制御プログラム131が、ライト禁止要求をディスク制御プログラム132に発行して良い。
ステップ7020では、ディスク制御プログラム132が、所定の契機(例えば、ライト禁止要求をバックアップ/リストア制御プログラム131から受けたとき)で、リストア先LUへのホスト計算機100からのライトを禁止する。
ステップ7030では、バックアップ/リストア制御プログラム131とテープライブラリ制御プログラム133が協働することにより、リストア元として指定されたテープグループ411のテープグループ管理テーブル602のリストアに必要なテープグループ番号626を参照し、フルバックアップデータが記録されているテープ136をテープドライブ135にマウントする。例えば、リストアに必要なテープグループ番号626に何も記録されていなければ、リストア元として指定されたテープグループ411がフルバックアップデータであり、リストアに必要なテープグループ番号626に11、12と記録されていれば、先頭の番号であるテープグループ番号11のテープグループ411がフルバックアップデータである。また、例えば、バックアップ/リストア制御プログラム131が、リストアしたいバックアップデータのバックアップ取得日時の指定を受けた場合、そのバックアップ取得日時に対応したバックアップ先テープグループ番号713のテープグループ411が、上記「リストア元として指定されたテープグループ411」である。
ステップ7040では、バックアップ/リストア制御プログラム131、ディスク制御プログラム132及びテープライブラリ制御プログラム133が協働することにより、フルバックアップデータが記録されているテープ136から、リストア先として指定されたLUのディスク124に、フルバックアップデータ中のデータ512をコピーする。リストア先LUは、格別指定されていなければ、自動的に、バックアップ元であったLUとされてもよい。
ステップ7050では、テープライブラリ制御プログラム133が、フルバックアップデータが記録されているテープ136をテープドライブ135からアンマウントさせる。
ステップ7060では、バックアップ/リストア制御プログラム131が、リストア元として指定されたテープグループ411に対応したバックアップデータ種別625を参照し、フルバックアップデータかどうかを調べる。フルバックアップデータの場合はステップ7110へ進み、差分バックアップデータもしくは増分バックアップデータの場合はステップ7070へ進む。
ステップ7070では、バックアップ/リストア制御プログラム131とテープライブラリ制御プログラム133が協働することにより、リストア元として指定されたテープグループ411に対応したリストアに必要なテープグループ番号626を参照し、次にコピー処理をするべき差分/増分バックアップデータ(差分バックアップデータもしくは増分バックアップデータ)が記録されているテープ136をテープドライブ135にマウントする。例えば、リストアに必要なテープグループ番号626に21、22、23と記録されていれば、テープグループ番号が21のテープグループ411のコピーが終わった場合は、次にテープグループ番号が22のテープグループ411のコピーを行い、テープグループ番号が22のテープグループ411のコピーが終わった場合は、次にテープグループ番号が23のテープグループ411のコピーを行う。
ステップ7080では、バックアップ/リストア制御プログラム131、ディスク制御プログラム132及びテープライブラリ制御プログラム133が協働することにより、差分/増分バックアップデータが記録されているテープ136内の管理情報902を参照し、データ512をコピーするべきリストア先LUのLBAを計算しながら、テープ136のデータ512を、リストア先として指定されたLUのディスク124にコピーする。例えば、テープ136に記録されている差分管理サイズ724と差分ビットマップ703を用いて、データ512をコピーするべきリストア先LUのLBAを計算する。具体的には、例えば、リストア先LUの先頭LBAが100、ブロックサイズが1MB、差分管理サイズ724が1MBとし、差分ビットマップ703が先頭から011001・・・とした場合、テープ136に記録されている先頭のデータ512をコピーするべきリストア先LUのLBAは101であり、2番目のデータ512をコピーするべきリストア先LUのLBAは102であり、3番目のデータ512をコピーするべきリストア先LUのLBAは105であり、・・・というように計算していく。
ステップ7090では、テープライブラリ制御プログラム133が、コピー処理の完了した差分/増分バックアップデータが記録されているテープ136をテープドライブ135からアンマウントさせる。
ステップ7100では、リストアに必要なテープグループ番号626に記録されているテープグループ番号621が全てコピー処理されるまで、ステップ7070、7080、7090を繰り返す。ステップ7110では、バックアップ/リストア制御プログラム131が、リストア処理終了をホスト計算機100に通知する。
図18に示すように、ステップ8000では、ホスト計算機100のボリュームのペア制御指示プログラム112から記憶サブシステム101に、ペア再同期(逆方向)指示を発行する。ステップ8010では、ディスク制御プログラム132が、ペア再同期(逆方向)指示を受領する。ステップ8020では、ディスク制御プログラム132が、ペア再同期(逆方向)処理を行う。例えば、テープ136に記録してあるバックアップデータをコピーした副ボリューム124bから、正ボリューム124aにコピーし、データを一致させる。
すなわち、「ペア再同期(逆方向)指示」とは、ペア分割状態のボリュームペアをペア状態移行中とし、その状態の間に、逆方向のコピー、具体的には、副ボリューム内のデータ(全てのデータ、或いは、正ボリュームとの間の差分データ)を正ボリュームへコピーすることで、副ボリュームの内容と正ボリュームの内容とを一致させる指示を言う。それに対し、「ペア再同期(通常)指示」とは、ペア分割状態のボリュームペアをペア状態移行中とし、その状態の間に、通常方向のコピー、具体的には、正ボリューム内のデータ(全てのデータ、或いは、副ボリュームとの間の差分データ)を副ボリュームへコピーすることで、正ボリュームの内容と副ボリュームの内容とを一致させる指示を言う。
図19は、ペア再同期(通常)処理の処理フローを示している。
ステップ9000では、ボリュームのペア管理215が、ペア構成管理テーブル301の状態314を、ペア状態移行中にする。
ステップ9010では、ディスク制御プログラム132が、ボリュームのペア管理215のディスク間の差分ビットマップ303を参照し、差分データを正ボリューム124aから副ボリューム124bにコピーする。
ステップ9020では、バックアップデータ管理211が、バックアップ間差分データ管理テーブル702のLUN721を参照し、副ボリューム124bのLUNがあるかどうかを調べる。ない場合はステップ9050へ進み、ある場合はステップ9030へ進む。
ステップ9030では、バックアップデータ管理211が、バックアップ間の差分ビットマップ703を参照し、すでにコピー対象の差分ビットが反転しているかどうかを調べる。差分ビットマップ用と増分バックアップ用の両方の差分ビットマップを調べる。反転している場合はステップ9050へ進み、反転していない場合はステップ9040へ進む。
ステップ9040では、バックアップデータ管理211が、バックアップ間の差分ビットマップ703のコピー対象の差分ビットを反転する。差分ビットマップ用と増分バックアップ用の両方の差分ビットマップの差分ビットを反転する。
ステップ9050では、正ボリューム124aと副ボリューム124bのデータが一致するまで、ステップ9010、9020、9030、9040を繰り返す。
ステップ9060では、ボリュームのペア管理215が、ペア構成管理テーブル301の状態314を、ペア状態にする。
図20は、ペア分割処理の処理フローを示している。
ステップ9100では、ボリュームのペア管理215が、ペア構成管理テーブル301の状態314を、ペア分割移行中にする。
ステップ9110では、ディスク制御プログラム132が、ボリュームのペア管理215のディスク間の差分ビットマップ303を参照し、反転しているビットがあれば、そのビットに対応した差分データを、正ボリューム124aから副ボリューム124bにコピーする。この時点で反転しているビットが存在する場合の例としては、正ボリューム124aと副ボリューム124bとの間で非同期型のコピーが行われる場合がある。
ステップ9120では、バックアップデータ管理211が、バックアップ間差分データ管理テーブル702のLUN721を参照し、副ボリューム124bのLUNがあるかどうかを調べる。ない場合はステップ9150へ進み、ある場合はステップ9130へ進む。
ステップ9130では、バックアップデータ管理211が、バックアップ間の差分ビットマップ703を参照し、すでにコピー対象の差分ビットが反転しているかどうかを調べる。差分ビットマップ用と増分バックアップ用の両方の差分ビットマップを調べる。反転している場合はステップ9150へ進み、反転していない場合はステップ9140へ進む。
ステップ9140では、バックアップデータ管理211が、バックアップ間の差分ビットマップ703のコピー対象の差分ビットを反転する。差分ビットマップ用と増分バックアップ用の両方の差分ビットマップの差分ビットを反転する。
ステップ9150では、副ボリューム124bが、ペア分割指示を受領した時点の正ボリューム124aのデータと一致するまで、ステップ9110、9120、9130、9140を繰り返す。
ステップ9160では、ボリュームのペア管理215が、ペア構成管理テーブル301の状態314を、分割状態にする。
以上、上述した第一実施例によれば、ユーザーデータの差分/増分バックアップの場合には、ユーザーデータに加えて管理情報902がテープ136に記録される。これにより、リストアの場合には、バックアップを行った記憶サブシステム101の制御メモリ201の情報が無くても、テープ136に記録されている管理情報902を使用することで、リストアすることが可能となる。
また、上述した第一実施例によれば、差分/増分バックアップの都度に、バックアップ間の差分ビットマップ703がテープ136に記録される。そして、差分バックアップが行われたときには、差分バックアップ用或いは増分バックアップ用の両方の差分ビットマップ703がリセットされ、増分バックアップが行われたときには、増分バックアップ用の差分ビットマップ703がリセットされる。つまり、差分管理すべき世代数に関わらず、記憶サブシステムで保持すべき差分ビットマップは、一つのバックアップ元LUにつき、多くても、差分バックアップ用と増分バックアップ用の2枚で良い。これにより、差分管理できる世代数が、記憶サブシステムのメモリの記憶容量に制限されないようにすることができる。
例えば、正ボリューム124aが第一の記憶サブシステムに存在し、副ボリューム124bが第二の記憶サブシステムに存在し、第一と第二の記憶サブシステム間でのリモートコピーが行われても良い。その際、テープライブラリ装置125は、第二の記憶サブシステムに備えられる。
以上、本発明の好適な幾つかの実施例を説明したが、これらは本発明の説明のための例示であって、本発明の範囲をこれらの実施例にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することが可能である。
図1は、本発明の第一実施例に係る計算機システムの構成例を示す。 図2は、記憶サブシステム101のコントローラ123の構成例を示した図である。 図3は、ボリュームのペア管理215がもつ管理情報例を示す。 図4は、テープ管理218が管理しているテーププール401の論理イメージ例を示す。 図5は、テープグループ411の格納情報例を示す。 図6は、テープ管理218がもつ管理情報例を示す。 図7は、バックアップデータ管理211がもつ管理情報例を示す。 図8は、テープ136の記録形式例を示す。 図9は、フルバックアップ時にテープに記録する管理情報例を示す。 図10は、差分/増分バックアップ時にテープに記録する管理情報例を示す。 図11は、記憶サブシステム101が、ホスト計算機100からディスク124へのライト要求を受領した場合の処理フローを示す。 図12は、バックアップの前処理の処理フローを示す。 図13は、フルバックアップ処理の処理フローを示す。 図14は、差分バックアップ処理の処理フローを示す。 図15は、増分バックアップ処理の処理フローを示す。 図16は、リストア処理の処理フローを示す。 図17は、図16に続くリストア処理の処理フローを示す。 図18は、図17に続くリストア処理の処理フローを示す。 図19は、ペア再同期(通常)処理の処理フローを示す。 図20は、ペア分割処理の処理フローを示す。
符号の説明
100…ホスト計算機、101…記憶サブシステム、123…コントローラ、124…磁気ディスク、125…テープライブラリ装置、136…磁気テープ、201…制御メモリ

Claims (20)

  1. シーケンシャルアクセスは高速に処理できるがランダムアクセスは高速に処理できないタイプの記憶装置であるシーケンシャルアクセス型記憶装置を複数個と、前記シーケンシャルアクセス型記憶装置よりランダムアクセスを高速に処理できるタイプの記憶装置であるランダムアクセス型記憶装置を一つ以上とを有し、前記一以上のランダムアクセス型記憶装置上の論理ボリューム内のデータを前記シーケンシャルアクセス型記憶装置にバックアップする記憶システムであって、
    前記複数のシーケンシャルアクセス型記憶装置から成るシーケンシャル装置群に前記論理ボリューム内の全てのデータを該論理ボリュームから前記シーケンシャル装置群にバックアップすることであるフルバックアップを実行するフルバックアップ部と、
    前記フルバックアップ後の前記論理ボリュームと前記シーケンシャル装置群との差分を表す情報である差分管理情報を記憶する差分管理情報記憶部と、
    前記論理ボリュームの更新に応じて前記差分管理情報を更新する差分管理部と、
    前記論理ボリュームと前記シーケンシャル装置群との差分に相当するデータである一部データを前記更新後の差分管理情報を用いて特定し、該一部データを用いて前記更新後の論理ボリューム内のデータ群をリストアするために必要なリストア必要情報を前記シーケンシャル装置群に記録し、且つ、該一部データを前記更新後の論理ボリュームから前記シーケンシャル装置群にバックアップすることである一部バックアップを実行する一部バックアップ部と
    を備える記憶システム。
  2. 前記一部バックアップ部は、前記リストア必要情報に、前記更新後の差分管理情報を含め、
    前記差分管理部は、前記一部バックアップが行われた場合、前記更新後の差分管理情報をリセットし、その後に前記論理ボリュームが更新された場合には、該リセット後の差分管理情報を更新する、
    請求項1記載の記憶システム。
  3. 前記差分管理情報は、ビットマップであり、
    前記ビットマップの各ビットが、前記論理ボリュームの各ボリューム部分に対応しており、
    前記一部バックアップ部は、前記リストア必要情報に、前記ビットマップのビットに対応した前記ボリューム部分の記憶サイズと、前記論理ボリュームの記憶容量とを含める、
    請求項1記載の記憶システム。
  4. 前記シーケンシャル装置群へのバックアップによって消費された、該シーケンシャル装置群の記憶領域をバックアップ単位として表すバックアップ単位管理情報を記憶するバックアップ管理記憶部を更に備えた、
    請求項1記載の記憶システム。
  5. 前記フルバックアップ或いは前記一部バックアップが終了したときに、前記バックアップ単位管理情報に、該バックアップにより消費された記憶領域を一つのバックアップ単位として表す情報を追加するバックアップ単位管理部を更に備えた、
    請求項4記載の記憶システム。
  6. 前記一以上のランダムアクセス型記憶装置には複数の論理ボリュームがあり、
    前記一部バックアップ部は、前記複数の論理ボリュームの各々について前記一部バックアップを行い、
    前記バックアップ単位管理部が、前記各々の一部バックアップによって各々記録されたデータを含んだ記憶領域を前記バックアップ単位とする、
    請求項5記載の記憶システム。
  7. 前記バックアップ単位管理部は、前記バックアップ単位管理情報に、各バックアップ単位毎に、バックアップ単位識別子と、バックアップの種別を表すバックアップ種別と、バックアップの順序を表す順序情報とを含め、
    前記一部バックアップ部が、該一部バックアップのリストアに必要なデータのバックアップが記録されているバックアップ単位を、前記バックアップ単位管理情報中の順序情報とバックアップ種別とを基に特定し、該特定されたバックアップ単位のバックアップ単位識別子と、一部バックアップであることを表すバックアップ種別とを、前記リストア必要情報に含める、
    請求項5記載の記憶システム。
  8. 前記一部バックアップ部は、前記リストア必要情報を前記一部データよりも前記シーケンシャル装置群の上流側に記録する、
    請求項1記載の記憶システム。
  9. 前記一部バックアップ部は、前記フルバックアップにより記録された前記全てのデータよりも下流側に前記リストア必要情報及び前記一部データを記録する、
    請求項1記載の記憶システム。
  10. 前記シーケンシャル装置群に記録された前記リストア必要情報を用いて前記更新後の論理ボリュームをリストアするリストア部を更に備えた、
    請求項1記載の記憶システム。
  11. 前記差分管理情報は、ビットマップであり、
    前記ビットマップの各ビットが、前記論理ボリュームの各ボリューム部分に対応しており、
    前記一部バックアップ部は、前記リストア必要情報に、前記ビットマップのビットに対応した前記ボリューム部分の記憶サイズと、前記論理ボリュームの記憶容量とを含め、
    前記リストア部は、前記リストア必要情報中の前記記憶サイズと前記記憶容量とに基づいて、前記更新後の論理ボリュームをリストアする、
    請求項10記載の記憶システム。
  12. 前記論理ボリュームは、コピー元である正論理ボリュームとコピー先である副論理ボリュームとで構成されるボリュームペアのうちの前記副論理ボリュームである、
    請求項1記載の記憶システム。
  13. 前記一部バックアップは、差分バックアップと増分バックアップとのいずれか一方である、
    請求項1記載の記憶システム。
  14. 前記差分管理情報は、ビットマップであり、
    前記ビットマップの各ビットが、前記論理ボリュームの各ボリューム部分に対応しており、
    前記一部バックアップ部は、前記リストア必要情報に、更新後の前記ビットマップと、前記ビットマップのビットに対応した前記ボリューム部分の記憶サイズと、前記論理ボリュームの記憶容量とを含め、前記フルバックアップにより記録された前記全てのデータよりも下流側に前記リストア必要情報及び前記一部データを記録し、その際、該リストア必要情報を、該一部データよりも前記シーケンシャル装置群の上流側に記録し、
    前記差分管理部は、前記一部バックアップが行われた場合、前記更新後のビットマップをリセットし、その後に前記論理ボリュームが更新された場合には、該リセット後のビットマップを更新し、
    前記一部バックアップは、差分バックアップと増分バックアップとのいずれか一方である、
    請求項1記載の記憶システム。
  15. 前記ビットマップとして、差分バックアップ用のビットマップと、増分バックアップ用のビットマップとがあり、
    前記増分バックアップの場合には、前記リストア必要情報に、前記増分バックアップ用のビットマップが含められる、
    請求項14記載の記憶システム。
  16. シーケンシャルアクセスは高速に処理できるがランダムアクセスは高速に処理できないタイプの記憶装置であるシーケンシャルアクセス型記憶装置を複数個と、前記シーケンシャルアクセス型記憶装置よりランダムアクセスを高速に処理できるタイプの記憶装置であるランダムアクセス型記憶装置を一つ以上とを有する記憶システムで、前記一以上のランダムアクセス型記憶装置上の論理ボリューム内のデータを前記シーケンシャルアクセス型記憶装置にバックアップする方法であって、
    前記複数のシーケンシャルアクセス型記憶装置から成るシーケンシャル装置群に前記論理ボリューム内の全てのデータを該論理ボリュームから前記シーケンシャル装置群にバックアップすることであるフルバックアップを実行し、
    前記フルバックアップ後の前記論理ボリュームと前記シーケンシャル装置群との差分を表す情報である差分管理情報を、前記論理ボリュームの更新に応じて前記差分管理情報を更新し、
    前記論理ボリュームと前記シーケンシャル装置群との差分に相当するデータである一部データを前記更新後の差分管理情報を用いて特定し、該一部データを用いて前記更新後の論理ボリューム内のデータ群をリストアするために必要なリストア必要情報を前記シーケンシャル装置群に記録し、且つ、該一部データを前記更新後の論理ボリュームから前記シーケンシャル装置群にバックアップすることである一部バックアップを実行する、
    バックアップ方法。
  17. 前記リストア必要情報に、前記更新後の差分管理情報を含め、
    前記一部バックアップが行われた場合、前記更新後の差分管理情報をリセットし、その後に前記論理ボリュームが更新された場合には、該リセット後の差分管理情報を更新する、
    請求項16記載のバックアップ方法。
  18. 前記差分管理情報は、ビットマップであり、
    前記ビットマップの各ビットが、前記論理ボリュームの各ボリューム部分に対応しており、
    前記リストア必要情報に、前記ビットマップのビットに対応した前記ボリューム部分の記憶サイズと、前記論理ボリュームの記憶容量とを含める、
    請求項16記載のバックアップ方法。
  19. 前記シーケンシャル装置群に記録された前記リストア必要情報を用いて前記更新後の論理ボリュームをリストアする、
    請求項16記載のバックアップ方法。
  20. 前記差分管理情報は、ビットマップであり、
    前記ビットマップの各ビットが、前記論理ボリュームの各ボリューム部分に対応しており、
    前記リストア必要情報に、更新後の前記ビットマップと、前記ビットマップのビットに対応した前記ボリューム部分の記憶サイズと、前記論理ボリュームの記憶容量とを含め、
    前記一部バックアップでは、前記フルバックアップにより記録された前記全てのデータよりも下流側に前記リストア必要情報及び前記一部データを記録し、その際、該リストア必要情報を、該一部データよりも前記シーケンシャル装置群の上流側に記録し、
    前記一部バックアップが行われた場合、前記更新後のビットマップをリセットし、その後に前記論理ボリュームが更新された場合には、該リセット後のビットマップを更新し、
    前記一部バックアップは、差分バックアップと増分バックアップとのいずれか一方である、
    請求項16記載のバックアップ方法。
JP2006237671A 2006-09-01 2006-09-01 記憶システムおよびバックアップ方法 Pending JP2008059443A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2006237671A JP2008059443A (ja) 2006-09-01 2006-09-01 記憶システムおよびバックアップ方法
US11/599,560 US7707373B2 (en) 2006-09-01 2006-11-13 Storage system and backup method
EP07251100A EP1895415A3 (en) 2006-09-01 2007-03-15 Storage system and backup method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006237671A JP2008059443A (ja) 2006-09-01 2006-09-01 記憶システムおよびバックアップ方法

Publications (1)

Publication Number Publication Date
JP2008059443A true JP2008059443A (ja) 2008-03-13

Family

ID=38805587

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006237671A Pending JP2008059443A (ja) 2006-09-01 2006-09-01 記憶システムおよびバックアップ方法

Country Status (3)

Country Link
US (1) US7707373B2 (ja)
EP (1) EP1895415A3 (ja)
JP (1) JP2008059443A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015503168A (ja) * 2011-12-08 2015-01-29 シマンテック コーポレーションSymantec Corporation アプリケーションデータを復元するためのシステム及び方法
WO2016199232A1 (ja) * 2015-06-10 2016-12-15 株式会社日立製作所 ストレージ管理計算機、及びストレージ装置の管理方法
WO2018066104A1 (ja) * 2016-10-06 2018-04-12 株式会社日立製作所 ストレージシステム
CN113590053A (zh) * 2021-09-30 2021-11-02 苏州浪潮智能科技有限公司 一种逻辑卷恢复方法、装置、设备、存储介质

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4536785B2 (ja) * 2008-02-01 2010-09-01 富士通株式会社 情報処理装置、該情報処理装置で行われるデータ記憶を制御する制御部およびデータ記憶の制御方法
US8051044B1 (en) * 2008-04-01 2011-11-01 Acronis, Inc. Method and system for continuous data protection
US8447940B2 (en) * 2008-05-02 2013-05-21 International Business Machines Corporation Backup copy enhancements to reduce primary version access
US7996365B2 (en) * 2008-07-07 2011-08-09 International Business Machines Corporation Record level fuzzy backup
US8990161B1 (en) * 2008-09-30 2015-03-24 Emc Corporation System and method for single segment backup
TWI414992B (zh) * 2009-01-23 2013-11-11 Infortrend Technology Inc 遠端非同步資料卷複製的方法及其裝置
WO2010106694A1 (en) * 2009-03-18 2010-09-23 Hitachi, Ltd. Data backup system and data backup method
US11449394B2 (en) * 2010-06-04 2022-09-20 Commvault Systems, Inc. Failover systems and methods for performing backup operations, including heterogeneous indexing and load balancing of backup and indexing resources
US8635187B2 (en) * 2011-01-07 2014-01-21 Symantec Corporation Method and system of performing incremental SQL server database backups
CN102714789B (zh) * 2011-04-19 2014-04-02 华为终端有限公司 一种移动终端的数据备份、恢复方法及移动终端
US8955989B2 (en) * 2012-01-23 2015-02-17 Spectra Logic Corporation Systems for and methods of creating a visual display associated with a data storage library robot
JP5910128B2 (ja) * 2012-02-03 2016-04-27 富士通株式会社 仮想テープ装置及び仮想テープ装置の制御方法
US10514985B1 (en) * 2013-09-30 2019-12-24 EMC IP Holding Company LLC Summary file change log for faster forever incremental backup
JP6041839B2 (ja) * 2014-09-04 2016-12-14 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation メタ情報を保管する方法、プログラム、及びそのテープ記録システム
CN110058959B (zh) * 2018-01-18 2023-06-16 伊姆西Ip控股有限责任公司 数据备份方法、设备和计算机程序产品

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3260923B2 (ja) 1993-09-20 2002-02-25 富士通株式会社 データ処理システムのバックアップ制御装置及び方法
US5835953A (en) * 1994-10-13 1998-11-10 Vinca Corporation Backup system that takes a snapshot of the locations in a mass storage device that has been identified for updating prior to updating
JP3856855B2 (ja) * 1995-10-06 2006-12-13 三菱電機株式会社 差分バックアップ方式
JPH11212875A (ja) 1998-01-21 1999-08-06 Hitachi Ltd 記憶装置サブシステムおよび記録データの差分バックアップ方法
JP4325849B2 (ja) * 2003-06-27 2009-09-02 株式会社日立製作所 記憶システム、バックアップシステム及びバックアップ方法
JP4559046B2 (ja) * 2003-08-04 2010-10-06 株式会社日立製作所 仮想テープライブラリ装置
JP2005301497A (ja) * 2004-04-08 2005-10-27 Hitachi Ltd ストレージ管理装置、リストア方法及びそのプログラム
JP4426984B2 (ja) 2005-02-22 2010-03-03 矢崎総業株式会社 ポストディストーションリニアライザ
JP2007066192A (ja) * 2005-09-01 2007-03-15 Hitachi Ltd ストレージシステム及びその制御方法並びにコンピュータプログラム
IT1395935B1 (it) 2009-09-29 2012-11-02 Nuovo Pignone Spa Sistema per l'acquisizione, la misurazione e il controllo dei parametri di funzionamento di una macchina alternativa a fluido

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015503168A (ja) * 2011-12-08 2015-01-29 シマンテック コーポレーションSymantec Corporation アプリケーションデータを復元するためのシステム及び方法
WO2016199232A1 (ja) * 2015-06-10 2016-12-15 株式会社日立製作所 ストレージ管理計算機、及びストレージ装置の管理方法
WO2018066104A1 (ja) * 2016-10-06 2018-04-12 株式会社日立製作所 ストレージシステム
CN113590053A (zh) * 2021-09-30 2021-11-02 苏州浪潮智能科技有限公司 一种逻辑卷恢复方法、装置、设备、存储介质
CN113590053B (zh) * 2021-09-30 2021-12-03 苏州浪潮智能科技有限公司 一种逻辑卷恢复方法、装置、设备、存储介质

Also Published As

Publication number Publication date
US7707373B2 (en) 2010-04-27
EP1895415A3 (en) 2011-12-07
US20080059736A1 (en) 2008-03-06
EP1895415A2 (en) 2008-03-05

Similar Documents

Publication Publication Date Title
JP2008059443A (ja) 記憶システムおよびバックアップ方法
JP4900811B2 (ja) 記憶システムおよび記憶制御方法
JP4749112B2 (ja) 記憶制御システム及び方法
JP4800031B2 (ja) ストレージシステム及びスナップショット管理方法
JP3316500B2 (ja) 移動されたデータの完全性を維持しながらraidセットにおけるドライブ数の拡張
US7496718B2 (en) Data transfer and access control between disk array systems
US6658434B1 (en) Method of and a system for recovering data in an information processing system
US7461201B2 (en) Storage control method and system for performing backup and/or restoration
US7873600B2 (en) Storage control device to backup data stored in virtual volume
US7398354B2 (en) Achieving data consistency with point-in-time copy operations in a parallel I/O environment
WO2011033692A1 (ja) ストレージ装置及びそのスナップショット制御方法
JP2005031716A (ja) データバックアップの方法及び装置
JP2006268829A (ja) ストレージシステム間でオブジェクトをミラー化する方法と装置
JP2005055945A (ja) 仮想テープライブラリ装置
JP2005165486A (ja) ファイル管理装置、ストレージ管理システム、ストレージ管理方法、プログラム及び記録媒体
US8332601B2 (en) Storage controller having virtual volume
JP2002259062A (ja) 記憶装置システム及び記憶装置システムにおけるデータの複写方法
US9122416B2 (en) Mainframe storage apparatus that utilizes thin provisioning
US10152256B2 (en) Method for backing up data on tape
WO2010137183A1 (en) Storage system and data storage method using storage system
JP6194784B2 (ja) ストレージ制御装置、制御方法および制御プログラム
JP4394467B2 (ja) ストレージシステム、サーバ装置及び先行コピーデータ生成方法
JP4398596B2 (ja) ディスクアレイ装置
JP2008090868A (ja) 情報処理システムのデータ復旧方法及びディスクサブシステム
JP2001092703A (ja) 記憶媒体ライブラリにおけるデータ再編成方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080708

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081119

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081125

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090122

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090630

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100113