JP5183650B2 - 計算機システム,計算機システムにおけるバックアップ方法及びプログラム - Google Patents

計算機システム,計算機システムにおけるバックアップ方法及びプログラム Download PDF

Info

Publication number
JP5183650B2
JP5183650B2 JP2010031940A JP2010031940A JP5183650B2 JP 5183650 B2 JP5183650 B2 JP 5183650B2 JP 2010031940 A JP2010031940 A JP 2010031940A JP 2010031940 A JP2010031940 A JP 2010031940A JP 5183650 B2 JP5183650 B2 JP 5183650B2
Authority
JP
Japan
Prior art keywords
storage area
backup
storage
capacity
media
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.)
Expired - Fee Related
Application number
JP2010031940A
Other languages
English (en)
Other versions
JP2011170475A (ja
Inventor
美沙子 入澤
晋広 牧
裕教 江丸
純一 原
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
Original Assignee
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 Ltd filed Critical Hitachi Ltd
Priority to JP2010031940A priority Critical patent/JP5183650B2/ja
Priority to US12/764,543 priority patent/US8661220B2/en
Publication of JP2011170475A publication Critical patent/JP2011170475A/ja
Application granted granted Critical
Publication of JP5183650B2 publication Critical patent/JP5183650B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • G06F11/1461Backup scheduling policy
    • 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

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)

Description

本発明は,ストレージシステムの構成管理に関するものであり,特にバックアップにおける記憶領域の管理に関するものである。
企業では,ストレージ装置の障害,コンピュータウィルスによるデータ破壊,ユーザによる誤操作によるデータの喪失などに備えて,バックアップが実施されている。バックアップ技術の一つに,アプリケーションが運用されているホスト計算機への影響を抑えることができるストレージのコピー機能を用いた方法がある。バックアップでは,アプリケーションが使用するデータが格納されているストレージの記録領域(プライマリーボリューム(以下,「PVOL」と呼ぶ))に書き込まれたデータを,他の記録領域(セカンダリーボリューム(以下,「SVOL」と呼ぶ))へコピーする。特許文献1には,指定されたバックアップ時以外はPVOLとSVOLのコピーの状態を解消するスプリット運用が記載されている。スプリット運用は,アプリケーションの運用中にはコピー機能を停止してPVOL内のデータに変更があった差分データを管理する。そして,業務終了後にアプリケーションを停止し,PVOLからSVOLに差分データをコピーする。これは,業務中にバックアップを行うと,PVOLに負荷がかかりストレージの性能が低下するためである。
近年ではストレージシステム内のメディアの容量を効率的に利用するための技術として,シンプロビジョニング(Thin Provisioning)技術がある。本技術は,仮想的な記憶領域である仮想ボリュームを計算機に提供し,仮想的な記憶領域のうち,ライト要求があった領域にのみ物理的な記憶領域を割り当てる技術である。更に,特許文献2には,ホスト計算機からのI/O(Input/Output)アクセス頻度に応じて,ボリュームよりも小さいセグメントであるページ単位でデータをマイグレーションする方法が開示されている。この技術では,複数種類のメディアをプールとして管理し,ページへのアクセス頻度が高いページを高速なメディアへ,アクセス頻度が低いページを低速なメディアへ動的に移動させることができる。
特開第2004−164318 米国第7613945号公報
バックアップは業務停止中などの限られた時間内に行われることが要求される。特許文献1では,バックアップにかかる時間については考慮されていない。また,特許文献2では,複数種類のメディアが割当てられた仮想ボリューム間でデータをコピーすることについては考慮されていない。
このため差分データ量が増えたときに,ユーザの望むバックアップ完了までの目標時間(以下,バックアップウィンドウ「BW」と呼ぶ)内にバックアップが完了しない場合がある。この場合,SVOLに高速なメディアを追加することでバックアップにかかる時間を短縮することができる。しかし,高速なメディアは高価であり,使用する容量を小さくしたいという要求がある。
管理計算機と,第一の記憶領域を有する第一のストレージ装置と,第一の記憶領域のデータのコピーが格納された第二の記憶領域と,前記第二の記憶領域より書き込み速度が速い第三の記憶領域と,を有する第二のストレージ装置と,を備える計算機システムによって次の処理が行われる。管理計算機は,第一の記憶領域の読み出し速度と,第二の記憶領域の書き込み速度と,第三の記憶領域の書き込み速度と,第一の記憶領域のデータのうち第二の記憶領域に格納されていない差分データの量より,所定の時間以内に差分データのコピーを完了するための,前記第三の記憶領域の容量を算出する。そして、第二のストレージ装置は,第三の記憶領域の容量が,前記算出された容量より大きい場合,第一の記憶領域から送信された差分データを,第二の記憶領域または第三の記憶領域にコピーし,第三の記憶領域にコピーされた差分データを第二の記憶領域に移動させる。
性能の異なる複数種類のメディアを用いて,BW内にバックアップを完了させることができる。
第1実施形態における計算機システム1の構成の一例を示すブロック図である。 第1実施形態における管理計算機上のメモリに記録されるプログラム及び情報の一例を示す図である。 第1実施形態におけるバックアップ管理テーブルの一例を示す図である。 第1実施形態におけるバックアップスケジュールテーブルの一例を示す図である。 第1実施形態における差分ビットマップの一例を示す図である。 第1実施形態における構成情報テーブルの一例を示す図である。 第1実施形態におけるメディア性能テーブルの一例を示す図である。 第1実施形態における概念図の一例を示す図である。 第1実施形態におけるBWとメディア管理処理の一例を示す図である。 第1実施形態における画面の一例を示す図である。 第1実施形態における差分データの移動制御の一例を示す図である。 第1実施形態におけるSVOL利用処理の一例を示す図である。 第2実施形態における概念図の一例を示す図である。 第2実施形態における差分データの移動制御の一例を示す図である。 第3実施形態における計算機システム2の構成の一例を示すブロック図である。 第4実施形態におけるバックアップ管理テーブルの一例を示す図である。 第4実施形態における複数バックアップタスクが同時に実行されるときの差分データの移動制御の一例を示す図である。 第1実施形態におけるメディアの容量を算出方法の一例を示す図である。 第5実施形態におけるメディアの容量を算出方法の一例を示す図である。 第5実施形態における画面の一例を示す図である。
以下,図面を参照しつつ本発明の実施形態について説明する。
第1実施形態
まず,本発明の第1実施形態について図1を用いて説明する。図1は,本発明の第1実施形態に係る計算機システム1の構成を示すブロック図である。
図1に示すように本実施形態の計算機システム1は,ストレージシステム10,ホスト計算機30,管理計算機40,データネットワーク20,及び管理ネットワーク21を備える。ストレージシステム10と,ホスト計算機30は,各々のデータインターフェース(ストレージシステム10のデータI/F110,ホスト計算機30のデータI/F303)からデータネットワーク20を介して互いに接続される。本実施形態においてデータネットワーク20は,SAN(Storage Area Network)である。しかし,データネットワーク20は,IP(Internet Protocol)ネットワークであっても,その他のいかなる種類のデータ通信用のネットワークであってもよい。ストレージシステム10と,ホスト計算機30,及び管理計算機40は,各々の管理インターフェース(ストレージシステム10の管理I/F113,ホスト計算機30の管理I/F306,管理計算機40の管理I/F403)から管理ネットワーク21を介して互いに接続される。本実施形態において管理ネットワーク21は,IPネットワークである。しかし,管理ネットワーク21は,SANであっても,その他のいかなる種類のデータ通信用のネットワークであってもよい。あるいは,データネットワーク20と管理ネットワーク21とが同一のネットワークであってもよい。なお,ホスト計算機30と管理計算機40は,同一の計算機を使用する構成としてもよい。図1の計算機システム1は,ストレージシステム10a,及び10bを2台,ホスト計算機30を1台,管理計算機40を1台備えているが,台数は限定されない。
ストレージシステム10は,ストレージシステム10の全体を制御するストレージコントローラ11,データを格納するストレージ装置12を備える。ストレージコントローラ11とストレージ装置12は,ストレージI/F112を介して接続される。
ストレージコントローラ11は,データI/F110,管理I/F113,CPU(Central Processing Unit)111,メモリ114,ストレージI/F112,を備えている。データI/F110は,ホスト計算機30とデータの読み書きに関するデータを通信するためのデータネットワーク20に対するインターフェースであって,一つ以上の通信用ポートを持つ。ストレージコントローラ11はこのポートを介してホスト計算機30とデータの送受信を行う。CPU111は,メモリ114に格納されたプログラムを実行するプロセッサである。ストレージI/F112は,ストレージ装置12に対するインターフェースであってデータや制御命令の送受信を行う。管理I/F113は,ホスト計算機30,及び管理計算機40とデータや制御命令の送受信を行うための管理ネットワーク21とのインターフェースであって,一つ以上の通信用ポートを持つ。ストレージコントローラ11は,このポートを介して,他のストレージシステム10bとのデータや制御命令の送受信を行う。メモリ114には,ストレージマイクロプログラム115が格納されている。ストレージマイクロプログラム115は,ストレージ装置12を管理するプログラムでありCPU111によって実行されて,ボリュームをホスト計算機30に認識させる機能や,コピー機能を操作する機能などを実現する。具体的に,ボリュームをホスト計算機30に認識させる機能とは,ストレージ装置12のボリューム(後述,低速ボリューム120や高速ボリューム121)を,一つ以上の論理ボリュームとしてI/F経由でホスト計算機30に提供する機能である。また,具体的にコピー機能を操作する機能とは,論理ボリューム内のデータを別の論理ボリュームにコピーする機能である。例えば,ストレージ装置12a内のボリュームをPVOLとし,ストレージ装置12b内のボリュームをSVOLとして,データをコピーする。なお,データをコピーする単位は,論理ボリューム全体でもよいし,論理ボリュームを構成するセグメント(以下,「ページ」と呼ぶ)単位でもよいし,ブロック単位でもよい。
ストレージ装置12は,計算機(例えば,ホスト計算機30)が操作するデータを格納する記憶領域であるメディア1台又は複数台から構成されている。メディアは,HDD(Hard Disk Drive)やSSD(Solid State Drive)などの物理デバイスによって提供される記憶領域のリソースのことを表している。HDDには,SATAディスクやSAS(Serial Attached SCSI)ディスクの種類がある。本実施形態においては,図1に示すように,例えば,SATA(Serial Advanced Technology Attachment)ディスクを低速メディア122とし,SSDを高速メディア123として階層を構成する。バックアップの際の差分データの書き込みは,ランダムな書き込みである。ランダムな書き込みまたは読み込みの場合は,HDDよりもSSDの方が性能が高い。このため,SSDを高速メディア,HDDを低速メディアとして使用することができる。但し,物理デバイスの種類については特に限定しない。また,HDDの回転数を制御し,高速で回転させるHDDと低速で回転させるHDDを加えて階層を構成してもよい。また,RAID(Redundant Array of Independent Disks)レベルの異なるグループで階層を構成してもよい。ボリュームとは,あらかじめ割り当てられたメディアから構成された論理記憶領域である。低速ボリューム120は1又は複数の低速メディア122から,高速ボリューム121は1又は複数の高速メディア123から構成される。ホスト計算機30へ認識させる論理ボリュームは,仮想的なボリューム(仮想ボリューム)であってもよい。仮想ボリュームとは,ホスト計算機30からの書き込み要求に応じて,プールに登録されたメディアが割当てられるものである。プールには複数種類のメディアが登録されている。本実施形態においてストレージコントローラ11は,仮想ボリュームに対するデータの書き込み要求を受領したとき,当該書き込み要求の対象領域に対してメディアが割当てられていない場合に,メディアの記憶領域をボリュームに割当て,当該割り当てられたメディアの記憶領域にデータを書き込む。これにより,ホスト計算機30に提供されるボリュームの記憶領域を実際に割当てられるメディアの合計容量よりも大きな容量とすることができる。
図中では,一つのストレージシステムに対してボリュームは2つ(低速ボリューム120が1つ,高速ボリューム121が1つ)存在しているが,1つ以上のボリュームが存在していればよい。
ストレージ装置12には,スペアのメディア125が備えられ,スペアボリューム124が構成されていている。スペアのメディア125は,高速メディアでも低速メディアでもよい。また,スペアは複数種類のメディアが備えられていてもよい。スペアのメディア125は,障害発生時や,BW内にバックアップが完了しない場合に,プールに追加されるメディアとして用いられる。
ホスト計算機30は,ストレージシステム10のボリューム120に対してデータI/F303を介してデータを送受信する。ホスト計算機30は,キーボードやマウスなどの入力装置301,CRT(Cathode Ray Tube)などの表示装置302,データI/F303,メモリ304,CPU305,管理I/F306を備える。データI/F303は,データネットワーク20に対するインターフェースであって,1つ以上の通信ポートを持つ。このポートを介してホスト計算機30は,ストレージシステム10とデータの送受信を行う。メモリ304には,アプリケーション307が記憶されており,CPU305によって実行される。アプリケーション307は,ストレージ装置12上のボリューム120に対してデータを読み書きすることにより処理を実行するプログラムであり,例えば,DBMS(Data Base Management System)やファイルシステムなどである。なお,説明の都合上,図1の本実施形態の計算機システム1では,アプリケーション307を1つとしたが,本発明ではこの数は問わない。また,後述の第3実施形態において,複数アプリケーションの実施例を記載している。CPU305は,メモリ304に格納されたプログラムを実行するプロセッサである。管理I/F306は,管理ネットワーク21とのインターフェースであって,システム管理のために管理計算機40,及びストレージシステム10a,10bとデータや制御命令の送受信を行う。
管理計算機40は,ホスト計算機30,及びストレージシステム10a,10bを管理する計算機である。管理計算機40は,キーボードやマウスなどの入力装置401,CRTなどの表示装置402,管理I/F403,メモリ404,CPU405を備える。管理I/F403は,管理ネットワーク21とのインターフェースであって,システム管理のためにホスト計算機30,及びストレージシステム10a,10bとデータや制御命令の送受信を行う。メモリ404には,図2に示すプログラム,及び情報が記憶されている。図2に示すメモリ404には,バックアッププログラム406,バックアップ時間算出プログラム407,バックアップ管理テーブル408,バックアップスケジュールテーブル409,差分ビットマップ410,構成情報テーブル411,メディア性能テーブル412が格納されている。バックアッププログラム406とバックアップ時間算出プログラム407は,CPU405によって実行されることにより実現され,本発明の実施形態の処理を実現する。
バックアッププログラム406は,管理者へのバックアップの設定画面を提供,ホスト計算機30やストレージシステム10a,10bから情報を取得,バックアップ管理テーブル408とバックアップスケジュールテーブル409を管理するプログラムである。バックアップ時間算出プログラム407は,バックアッププログラム406が取得した情報を基に,バックアップが完了するまでにかかる時間を算出するプログラムである。
バックアップ管理テーブル408,バックアップスケジュールテーブル409,差分ビットマップ410,構成情報テーブル411,メディア性能テーブル412については後述する。CPU405は,メモリ404に格納されたプログラムを実行するプロセッサである。
次に,本実施形態において参照される各テーブルについて説明する。本実施形態では,テーブルの形式で記載しているが,各情報を格納する形式はテーブルに限定されない。また,テーブルに記載されたすべての情報を有する必要はない。また,テーブルに記載された以外の情報を有していてもよい。
図3にバックアップ管理テーブル408の一例を示す。バックアップ管理テーブル408は,管理計算機40で実行されるバックアッププログラム406によって参照される。バックアップ管理テーブル408には,バックアップの対象となるアプリケーションを識別するアプリケーションID4080,バックアップのスケジュール4081,バックアップが完了する目標時間を示すBW4082,バックアップ対象アプリケーションのデータが格納されているPVOLのボリュームID4084,このボリュームが属するストレージシステムを識別するストレージID4083,バックアップデータが格納されているSVOLのボリュームID4086,このボリュームが属するストレージシステムを識別するストレージID4085が格納されている。アプリケーションID4080,スケジュール40801,BW4082は,管理者が任意のアプリケーションをバックアップするときに,バックアッププログラム406を用いて設定する情報である。このとき管理者は,バックアップしたいアプリケーションに対して,バックアップを行うスケジュールと,そのバックアップが完了するまでに必要とする目標の時間(BW)を決定する。管理者が設定したアプリケーションID4080,スケジュール40801,BW4082の情報をバックアッププログラム406がバックアップ管理テーブル408に格納する。図3の一例では,スケジュール4081に,「30分毎」との時間間隔や,「毎日22:00」との時間指定で記入してあるが,スケジュール4081は,バックアップを開始する時刻が特定できれば,どのような記載方法であってもよい。管理計算機40は,アプリケーション307と,アプリケーション307が使用するデータが格納されているボリューム120であるPVOL4084の関係を表す情報を,あらかじめ管理者の入力により取得しているものとする。この情報は,ホスト計算機30から取得してもよい。アプリケーション307とPVOL4080の関係の情報から,アプリケーションID4080からPVOLのストレージID4083とボリュームID4084の情報を格納する。また,管理者は,バックアッププログラム406にアプリケーションID4080を設定しているが,PVOLのボリュームID4084を設定してもよいし,他にPVOLのボリュームID4084を特定できる情報を設定してもよい。更に,管理計算機40は,PVOLのボリュームID4084と,コピーペアの状態になっているボリュームの情報をストレージシステム10から取得しているものとする。この情報から,設定されたアプリケーションのバックアップデータが格納されているSVOLのストレージID4085とボリュームID4086を特定し,バックアップ管理テーブル408に格納する。
図4にバックアップスケジュールテーブル409の一例を示す。バックアップスケジュールテーブル409は,管理計算機40で実行されるバックアッププログラム406によって参照される。バックアップスケジュールテーブル409には,バックアップのタスクを一意に特定するためのバックアップID4090,バックアップの対象となるアプリケーションを識別するためのアプリケーションID4091,バックアップ開始時刻4092,バックアップ完了時刻4093,バックアップ元のデータが格納されているプライマリーボリュームのPVOL4094,バックアップデータが格納されるバックアップ先であるセカンダリーボリュームのSVOL4095,が格納されている。バックアップ開始時刻4092は,この時刻のPVOL4094のデータをSVOL4095にコピーする時刻である。本実施形態では,PVOL4095に格納してあるデータを読み出してSVOL4095へ書き込む時間を,バックアップにかかる時間とする。但し,バックアップに係る時間としてアプリケーションの整合性を保つために必要とする処理など,その他の処理にかかる時間も含んでもよい。SVOL4095へのデータの書き込みが完了した時刻をバックアップ完了時刻4093とする。バックアップスケジュールテーブル409のアプリケーションID4091,バックアップ開始時刻4092,PVOL4094,SVOL4095は,図3のバックアップ管理テーブル408から作成する。まず,バックアップ管理テーブル408のアプリケーションID4080からアプリケーション毎にスケジュール4081と,PVOLのボリュームID4084とSVOLのボリュームID4086の関連を確認する。スケジュール4081からバックアップが開始される時刻を特定し,バックアップスケジュール409のバックアップ開始時刻4092に記載する。PVOLのボリュームID4084と,SVOLのボリュームID4086から世代数を意識して,バックアップスケジュールテーブル409のPVOL4094とSVOL4095を記載する。バックアップ完了時刻4093は,バックアッププログラム406がバックアップを完了したときの時刻を格納する。バックアップが完了していない場合は,バックアップ完了時刻4093の欄は空となる。図4に示すように「−」を記載しても,まだ,完了時刻が無いことが分かる記載なら,特に記載内容に限定はしない。
図5に差分ビットマップ410の一例を示す。差分ビットマップ410は,ホスト計算機30からの書き込みに基づいてデータが更新されたボリューム120を管理するためのテーブルである。スプリット運用では,あるタイミングでPVOLのデータがSVOLにコピーされ(フルバックアップ),それ以降はPVOLへの更新データ(差分データ)が管理される。そして,所定のタイミングで差分データをPVOLからSVOLへコピーする。
差分ビットマップ410は,バックアップに使用するボリューム120のコピーペア毎に存在する。例えば,図3のバックアップ管理テーブル408では,PVOLのボリュームID4084の「VOL001」とSVOLのボリュームID4086の「VOL002」のペアに一つ,同様に「VOL001」と「VOL003」のペアに一つ,「VOL001」と「VOL004」のペアに一つ存在する。差分ビットマップ410には,PVOL及びSVOLの各ブロックを識別するボリュームLBA(Logical Block Address)4100と,更新の有無を識別するための更新フラグ4101が格納されている。ブロックとは論理アドレスで規定される領域である。更新フラグ4101には,ブロックに更新がある場合「1」を,更新が無い場合「0」を記載する。更新フラグには「0」と「1」でなくても,更新の有無が分かる記号が記載されていればよい。差分ビットマップ410の更新フラグ4101は,PVOLとSVOL間で全く同じ状態である場合,全て「0」(更新無し)となる。例えば,バックアップ直後でPVOLとSVOLのデータが全く同じ場合,更新フラグは「0」である。ホスト計算機30からの書き込みによってデータの更新があったボリュームLBA4100の更新フラグ4101に「1」をセットする。差分ビットマップ410を参照することにより,どのボリュームLBA4100が更新されたか否か判断できる。よって,差分バックアップのとき,更新フラグ4101が「1」であるPVOLのボリュームLBA4100のデータを,SVOLにコピーすればよい。
図6に構成情報テーブル411の一例を示す。構成情報テーブル411は,ストレージシステム10の構成情報を格納するためのテーブルであり,管理計算機40で実行されるバックアッププログラム406及びバックアップ時間算出プログラム407によって参照される。構成情報テーブル411には,ストレージシステム10を識別するためのストレージID,ストレージシステム10内でメディア122,123を纏めて登録するプールを識別するためのプールID4111,物理リソースであるメディア122,123を識別するメディアID4112,物理リソースの種別を示すメディア種類4113,各ページに割り当てたメディアの記憶領域を識別するためのメディアLBA領域4114,メディア122,123のセグメントを識別するためのページID4115,ページの容量4116,ページが割り当てられている仮想ボリュームを識別するためのボリュームID4117,ページと対応する仮想ボリュームの記憶領域を識別するためのボリュームLBA領域4118,が格納されている。図6の例では,メディア種類4113のカラムには,便宜上,「高速メディア」,「中速メディア」,「低速メディア」と記載しているが,物理ディスクでも,SSDでも,論理デバイス(Logical Device:LDEV)でも外部装置のディスクでも,一意の記憶領域を特定できれば特に表現の限定はしない。また,容量4116には,ページの容量は固定で10MBとしているが,特に限定はせず,一つのブロックの容量と,メディアLBA領域から容量を算出し記載する。ボリュームID4117及びボリュームLBA領域4118のカラムには,仮想ボリュームにページが割り当てられていない場合「N/A」と表示しているが,割り当てられていないことが分かれば他の表現でもよい。構成情報テーブル411は,ストレージシステム10a,10bから取得する。ストレージID4110,プールID4111,メディアID4112,メディア種類4113は,ストレージシステム10にメディアを追加したときに決定される。メディアLBA領域4114,ページID4115,容量4116は,メディアを複数のLBAにまとめることによってページ単位に分割したときに決定される。ボリュームID4117,ボリュームLBA領域4118は,ホスト計算機30からの書き込みが発生して仮想ボリュームからページの割当て要求があったときに決定される。ページID4115とボリュームLBA領域4118の関係は,アクセス頻度,ページ割り当て,ページの再配置によって発生するページの割当て移動のたびに変更が生じる。
図7にメディア性能テーブル412の一例を示す。メディア性能テーブル412は,ストレージシステム10のストレージ装置12上にあるメディア122,123の性能情報を格納するためのテーブルである。メディア性能テーブル412には,物理リソースの種類を示すメディア種類4120,メディア122,123からランダムにデータを読み出す速度を示すRandom Read性能4121,メディア122,123へランダムにデータを書き込む速度を示すRandom Write性能4122が格納されている。メディア種類4120は,図6の構成情報テーブル410のメディア種類4113と同様に,「高速メディア」,「中速メディア」,「低速メディア」と記載しているが,一意の記憶領域を特定できれば特に表現の限定はしない。但し,メディア性能テーブル412のメディア種類4120と,構成情報テーブル410のメディア種類4113と関連がとれる記載とする。Random Read性能4121,及び,Random Write性能4122は,ストレージシステム10がそれぞれのメディアの性能を測定した実測値を格納してもよいし,メディア122,123のカタログスペックの情報をバックアッププログラムがあらかじめ持っていてもよいし,管理者が入力してもよい。
次に,図8を用いて,本実施形態における,バックアップ処理ついて説明する。この処理により,バックアップにかかる時間を短縮させることができる。
ここで差分データを制御する単位は,ブロック単位であっても,複数のブロックからなるページ単位であってもよい。本実施形態では,差分データをページ単位で制御する場合を説明する。第2実施形態では,差分データをブロック単位で制御する場合を説明する。図8は,複数種類のメディア間で差分データをページ単位で制御する環境である。
図8の環境では,PVOL及びSVOLは,仮想ボリュームとする。この環境では,プールに登録されたメディアが,ホスト計算機30からのライト要求に応じて,ページ単位で仮想ボリュームに割当てられる。また,この環境では,複数のメディア間で動的にページを制御し,移動させることができる。ここで,ページの移動とは,メディア間でページをコピーし,もとのメディアに格納されたページを削除することをいう。差分ビットマップ410と,構成情報から差分データが書き込まれるメディアを特定できる。図8では,差分データが網掛け,差分データが書き込まれる箇所が斜線で示されている。差分データが,SVOLの低速メディアに格納されたページへ書き込まれる場合,BW内にバックアップが完了しない場合がある。この場合,SVOLの低速なメディアに書き込まれる差分データを,高速なメディアに書き込まれるようにページを制御する。具体的には,この環境では,複数種類のメディア間で動的にページが移動可能であるため,差分データが書き込まれるページを,バックアップ開始前に高速なメディアに移動させる。そうすることにより,差分データは,低速メディアではなく,高速メディアに書き込まれ,バックアップ時間を短縮することができる。バックアップ完了後,差分データが書き込まれたページを低速メディアに移動することで,高速メディアを効率的に利用することができる。この環境では,ページを高速メディアに移動させる処理は,定期的なページの再配置処理の際に行うことができる。他のタイミングでページの移動を行うこととしてもよい。
次に,本実施形態におけるデータ処理手順について説明する。
まず,バックアップが完了するまでにかかる時間を算出して,BW内にバックアップを完了させるために十分なメディアの容量を算出して提示する。これは,図9に示すBWとメディア管理処理の手順によって実現する。更に,バックアップにかかる速度を短縮するために高速なメディアをプールに追加後,差分データをコピーする際に,プールに追加した高速メディアにデータを書き込む。これは,図8で概念図を用いて説明した。また,高速メディアを次回のバックアップにも使用するために,コピー完了後にコピーしたデータを低速なメディアへコピーすることを指示する。これらの処理は,図11に示す差分データの移動制御処理の手順によって実現する。
加えて,アプリケーションの運用中にPVOLに障害が発生したときに,バックアップデータが格納されているSVOLを使用することがある。このときに,SVOLの性能を向上させるために,SVOLのデータをキャッシュプールに格納されている高速なメディアへコピーして利用する。この処理は,図13のSVOL利用処理の手順によって実現する。
−BWとメディア管理処理−
次に,本実施形態に係るバックアップが完了するまでにかかる時間を算出し,BW内にバックアップを完了させるために必要なメディアの容量を算出し通知する処理について説明する。差分データの量によっては,BW内にバックアップが完了しない場合がある。この場合,BW内にバックアップを完了させるためには,高速メディアまたは中速メディアをプールに追加する必要がある。このため,本処理によりBW内バックアップを完了するために必要な最小限のメディアの容量を算出する。
図9に,BWとメディア管理処理の手順の一例を示す。
図9において,ステップS1001からステップS1012の処理は,本実施形態による管理計算機40上のバックアッププログラム406によって実現される処理である。但し,バックアッププログラムが,バックアップ時間算出プログラム407に指示を出し,バックアップ時間算出プログラム406によって実現される処理も含む。後述の第2実施形態にも記載するが,バックアッププログラム406とバックアップ時間算出プログラムは,管理計算機上40に限らず,ストレージシステム10上のメモリ114に格納されてもよい。ストレージ装置12に対する指示は,ストレージマイクロプログラム115が行ってもよい。いずれにしても,具体的にどの処理ステップが,どのプログラムによって実現されるかは,システム設計上の要請等により適宜決定すればよい。また,これらの処理ステップは,CPUがメモリから各プログラムを読み出して,この処理ステップを実行することにより実現される。以下,プログラムを主語にして説明する場合があるが,実際にはそのプログラムを実行する処理部であるCPUが処理している。
まず,バックアッププログラム406が,管理者からのバックアップの要求を受けて,バックアップ設定画面を表示し,処理を開始する。但し,画面は,GUI(Graphical User Interface)などのグラフィックな画面操作であってもよいし,CLI(Command Line Interface)などのコマンドによる入力であってもよい。
S1001で,管理計算機40のメモリ404上のバックアッププログラム406は,管理者によってバックアップ設定画面に入力されたバックアップ対象となるアプリケーションと,バックアップデータを取得する間隔や日時を表すバックアップスケジュール,バックアップが完了するまでの目標時間を表すBWの情報を取得する。これらの情報はそれぞれ,バックアップ管理テーブル408のアプリケーションID4080,スケジュール4081,BW4082に格納する。管理者による入力は,バックアップ対象となるアプリケーションではなく,アプリケーションが利用するデータが格納されているボリュームを指定しても良い。この場合は,ボリュームの情報をバックアップ管理テーブル408のPVOLのストレージID4083と,PVOLのボリュームID4084に格納する。
S1002では,バックアッププログラム406が,ストレージシステムが持つ差分ビットマップ410の情報と,構成情報を取得する。
構成情報は,ストレージシステム10a,10bから取得される。構成情報を取得後に,この情報を管理計算機40上の構成情報テーブル411に格納する。
次回にコピーが行われるPVOLとSVOLのコピーペアの差分ビットマップは,バックアップ対象となるアプリケーションが使用するデータが格納されているボリューム(P−VOL)が属しているストレージシステム10aから取得される。
これは,バックアップ対象としたアプリケーションのバックアップにかかる時間を算出するために,バックアップ管理テーブル408のストレージID4083を参照して,取得元となるストレージシステムを特定する。
S1003で,バックアッププログラム406が,S1002で取得した差分ビットマップ410から差分データが読み出されるメディアと書き込まれるメディア,このメディア毎の差分データ量を特定する。コピーする差分データ量を予測するために,前回のバックアップ時の差分ビットマップを用いてもよい。また,差分ビットマップ410を用いて,差分データ量の増加率からバックアップする差分データ量を予測することとしてもよい。まず,差分ビットマップ410から差分データが書き込まれるメディアを構成情報テーブル411から特定する。これは,差分ビットマップ410の更新フラグ4101が「1」となっているボリュームLBA4100を検索する。このボリュームLBA4100が,構成情報テーブル411のボリュームLBA領域4118のどの範囲内に存在するか検索する。更に,このボリュームLBA領域4118が,どのページID4115,又はどのメディアLBA領域4114に割り当てられているか検索し,どのメディアID4112,メディア種類4113を使用しているか割り出す。例えば,差分データが読み出されるメディアと,その差分データ量を特定する。図5はボリュームIDが「VOL001」と「VOL002」の差分ビットマップ410を示しているとする。更新フラグ4101が「1」となっているのは,ボリュームLBA4100が「LBA0000」である。このボリュームLBAは,構成情報テーブル411からボリュームID4117が「VOL001」のボリュームLBA領域4118「LBA0000−0999」の範囲内であることが分かる。このボリューム領域4118は,ページID4115が「Page001」,メディアLBA領域4114が「LBA0000−0999」であり,メディアID4112が「Media001」,メディア種類4113が「高速メディア」と特定できる。図5の差分ビットマップ410では,ボリュームLBA4100「0001」は,構成情報テーブル411の「VOL2」の低速メディアであることが分かる。差分データ量は,差分ビットマップ410の更新フラグ4101が「1」であるボリュームLBA4100の個数から算出できる。例えば,一つのボリュームLBA4110が示すブロックの容量が512Byteであるとする。但し,ブロックの容量は,この容量に限らない。更新フラグ4101が「1」となるブロックが,100個存在したとすると,差分データ量は51200Byteと算出できる。これをメディア種類4113の種類別に計算する。
S1004で,管理計算機40のメモリ404上のバックアップ時間算出プログラム407は,PVOLから差分データを読み出す際にかかる時間を算出する。S1003で特定したPVOL側のメディアの種類から,図7のメディア性能テーブル412のメディア種類4120を検索し,そのRandom Read性能4121を取得する。この読み出し性能と,S1003で算出したメディアの差分データ量から,差分データを読み出すのに係る時間を算出する。同様に他のメディアでも行い,全ての差分データを読み出すのにかかる時間を算出する。また,本実施形態では,メディア性能テーブル412は,カタログスペックの情報,又は管理者の入力によりをあらかじめ管理計算機40上にある。但し,ストレージシステム10a,10bがそれぞれのメディアの性能を測定した実測値の情報を持っており,S1002時に,又は本ステップより前にストレージシステム10a,10bから取得してもよい。
S1005では,バックアップ時間算出プログラム407は,SVOLへ差分データを書き込む際にかかる時間を算出する。これはS1004と同様に,図7のメディア性能テーブル412のメディア種類4120からSVOLのメディアの種類を検索して,そのRandom Write性能4122を取得する。この書き込み性能とS1003で算出した差分量から全ての差分データを書き込むのにかかる時間を算出する。
S1006では,バックアップ時間算出プログラム407は,S1005で算出したPVOLから差分データを読み出す際にかかる時間と,S1006で算出したSVOLへ差分データを書き込む際にかかる時間から,バックアップにかかる時間を算出する。
但し,PVOLの高速なメディアに差分データが格納されている場合,差分データの読み出しにかかる時間は考慮せずに,SVOLへの書き込みにかかる時間のみの情報でバックアップにかかる時間としてもよい。この場合,S1004,及びS1006のステップは行わない。
S1007では,バックアッププログラム406が,S1006で算出したバックアップにかかる時間を管理者に提示する。S1001からS1006のステップをある一定間隔で繰り返し行い,管理者にバックアップにかかる時間を提示してもよい。また,S1001からS1006の処理は,管理者から指示があった場合や,メディアをプールに追加した場合,BWやバックアップスケジュールが変更された場合に行ってもよい。また,提示方法は,画面以外の方法であっても,管理者に伝わればどのような方法であってもよい。また,このステップは無くてもよい。
S1008では,バックアッププログラム406が,S1001で管理者が入力したBWと,S1006で算出したバックアップにかかる時間を比較する。
S1006でバックアップにかかる時間が算出されたときに,バックアップ管理テーブル408のBW4082の値を参照して,BWを越えていないか確認する。バックアップにかかる時間がBWを超える場合は,S1009へ,超えない場合は本処理を終了する。
S1009では,バックアップ時間算出プログラム407が,BW内にバックアップが完了するために十分な高速のメディアの容量を算出する。これは,メディア性能テーブル412から,これまで使用していた低速なメディアよりも高速なメディアを投入してバックアップにかかる時間を短縮させる。
ここで,図18を用いて,BW内にバックアップを完了するために必要な高速メディアの容量を算出する方法の一例を説明する。
図18のグラフは縦軸を容量,横軸を時間としている。高速メディアを表す直線の傾きが,高速メディアの書き込み性能を示している。つまり,傾きは,「容量/時間」で算出され,単位時間当たりに書き込むことができるデータの容量を表している。同様に,低速メディアを表す直線の傾きは,低速メディアの書き込み性能を示している。これらの性能は図7を参照して特定する。図18のように,所定の差分データ量を高速メディアと低速メディアを用いて,BW内にバックアップが完了するように直線を記載する。この2つの直線の交点からBW内にバックアップが完了するために必要な高速メディアの容量が求まる。この交点は次のようにして算出される。
高速メディアを表す式は,y=[高速メディアの性能]*x(式1),低速メディアを表す式は,y=[低速メディアの性能]*x+α(式2)となる。式2は,BWと差分データ量との交点を通ることより,y=[低速メディアの性能]*x+[差分データ量]−[低速メディアの性能]*[BW]となる。
よって,[高速メディアの容量]=([高速メディアの性能]*[差分量]―[高速メディアの性能]*[低速メディアの性能]*[BW])/([高速メディアの性能]―[低速メディアの性能])。ここで,「低速メディア」はこれまで使用していたメディアを指し,「高速メディア」は,「低速メディア」よりも速度が速いメディアのことを指す。但し,この式に限定されるものではない。
この処理により,BW内にバックアップを完了するために必要な最小限のメディアの容量を算出することができる。
S1010では,バックアッププログラム406が,プールに存在するメディアの空き容量を算出する。バックアッププログラム406が,構成情報テーブル411のプールID4111からプールに属している空きメディアを特定し,ボリュームID4117から割り当てられていないメディアの容量を容量4116から算出する。例えば,プールID4111が「Cpool001」のボリュームIDが「N/A」となっているものが空きメディアである。この例では,「高速メディア」が50MB,「中速メディア」が50MB存在する。
S1011では,バックアッププログラム406が,空きメディアを利用してBW内にバックアップが完了するかを判断する。つまり,S1010で算出した必要なメディアの空き容量が,S1009で算出した容量以上である場合,BW内にバックアップが完了すると判断する。BWを超える場合はS1012へ,BW内に収まる場合は本処理を終了する。
S1012では,バックアッププログラム406が,管理者にBW内でバックアップが完了しない旨を提示し,さらに,S1009で算出した高速メディアの容量からすでにプールに属している高速メディアの容量の差分の容量を提示する。例えば,図10のような画面が管理計算機40の表示装置402に表示される。画面はホスト計算機30の表示装置302に表示されるようにしてもよい。図10は,バックアップ対象アプリケーション情報欄,警告・対策欄,スペアメディア追加ボタン,及び終了ボタンから構成される。バックアップ対象アプリケーション情報欄には,例えばアプリケーションIDのようなアプリケーションを識別する情報と,管理者が指定したBW,更にS1006で算出したバックアップにかかる時間を表示する。警告・対策欄では,管理者が指定したBW内に収まっていないことを警告し,対策として,S1009で算出したBW内にバックアップを完了させるために十分なメディアをプールに追加することを促す通知を表示する。但し,通知方法は,図10に限定しない。図10のように画面ではなくメールで通知されてもよい。
メディアをプールに追加する際は,ストレージ装置12にスペアのメディアが備えられていれば,これを用いることができる。例えば,図10のように,スペアメディア追加ボタンが押下された場合に,必要な容量のメディアをプールに追加することができる。また,スペアのメディアが自動的にプールに追加されるように設定されてもよい。また,管理者が,物理的に,新たにストレージ装置12にメディアを加えてもよい。
管理者が,バックアップにかかる時間と,必要な追加すべきメディアの容量から,バックアップウィンドウを超えてもよいと判断した場合は,メディアが追加されない状態でバックアップが行われる。この場合,終了ボタンが押下されると,メディアがプールに追加されずに,バックアップが行われる。
−差分データの移動制御処理−
次に,本実施形態に係る差分データのコピー先の制御の処理について説明する。この高速なメディアと低速なメディアが混在した環境で,バックアップにかかる速度を短縮する差分データのコピー先のメディアを制御する。図11に,差分データの移動制御処理の手順の例を示す。図11は図8に示したように,ページ単位で差分データを制御する環境で行われる処理である。この環境では,複数種類のメディア間で動的にページを移動させることが可能であり,差分データが書き込まれるページをバックアップ開始前に高速なメディアに移動させて,そのページに対して差分データを書き込む。つまり,仮想ボリュームに割当てられるページが低速メディアから高速メディアに変更される。こうすることにより,ページ単位としては,SVOLへの書き込みが完了したのと同じ効果が得られる。また,高速なメディアを次回のバックアップ時にも使用するために,高速なメディアにコピーされた差分データを,低速なメディアへコピーすることを指示する処理手順を含む。
図11において,ステップS3001からステップS3006の処理は,本実施形態による管理計算機40のメモリ404上のバックアッププログラム406によって実現される処理である。但し,ストレージシステム10a,10bのメモリ114上のストレージマイクロプログラム115による処理も含む。本処理においても,バックアッププログラム406は,管理計算機上40に限らず,ストレージシステム10上のメモリ114に格納され,ストレージ装置12に対する指示は,ストレージマイクロプログラム115が行ってもよい。いずれにしても,具体的にどの処理ステップが,どのプログラムによって実現されるかは,システム設計上の要請等により適宜決定すればよい。
図11を用いて,ページ単位で記憶領域を制御してバックアップする処理を示す。
S3001では,管理計算機40のメモリ404上のバックアッププログラム406が,ストレージシステム10a,10bが持つ差分ビットマップ410の情報と,構成情報を取得する。これは,S1002の処理と同じである。但し,最新の情報を管理計算機40が持っている場合,本ステップを行わなくてもよい。
S3002では,バックアッププログラム406が,プールのメディアの空き容量を算出する。バックアッププログラム406が,構成情報テーブル411のプールID4111からキャッシュプールに属しているメディアを特定し,ボリュームID4117から割り当てられていないメディアの容量を容量4116から算出する。例えば,図6では,キャッシュプールのプールID4111を先頭に「C」を付けて区別するとする。キャッシュプールは,プールID4111の「CPool001」と特定できる。このプールにはメディアID4112が「Media004」「Media005」「Media006」の,メディア種類4113が「高速メディア」「中速メディア」「低速メディア」のメディアが格納されていることが分かる。ボリュームID4117が「N/A」のものを検索し,その合計の容量を算出する。
S3003では,バックアッププログラム406が,差分ビットマップ410と構成情報テーブル411を検索し,ページ毎に更新されているブロック数を算出し,差分データ量が多いページを特定する。例えば,図5の差分ビットマップ410の更新フラグ4101が「1」のボリュームLBAを数える。このとき,構成情報テーブル411のボリュームLBA領域4118と関連させて,ページID4115毎に更新フラグ4101が「1」の数を数える。そして,ページ毎に,「1」の数が多い,つまり差分データ量が多い順序付けを行う。ページ毎の差分データ量を算出する理由は,バックアップにかかる時間をより短縮するためである。つまり,差分データ量が多いページから順に高速なメディアを利用してバックアップすることで,より効率よく高速なメディアを利用することができる。但し,本ステップの処理は行わなくてもよい。
S3004では,バックアップ開始前にSVOLのページを低速メディアから高速なメディアへ移動するよう指示する。この処理は図8の概念図のプール内の低速メディアから高速メディアへのページの移動の処理である。具体的には,バックアッププログラム406が,バックアップスケジュール409のバックアップ開始時刻4092を確認する。このバックアップが開始する前に,SVOLのページをプール内の高速なメディアへの移動をストレージシステム10のストレージマイクロプログラム115に指示する。S3003のステップを行った場合,差分データ量が多いページ順に高速なメディアへの移動を指示する。このとき,ストレージマイクロプログラム115は,SVOLの差分データが書き込まれるページを,高速なメディアへ移動する。この処理の場合,構成情報テーブル411のボリュームLBA領域4118とページID4115の関係が変わるだけである。つまり,高速なメディアへのコピーも,低速なメディアへのコピーもどちらも,PVOLからSVOLへ直接差分データをコピーしていることになる。
S3005では,PVOLからSVOLへ差分データをコピーする。具体的には,バックアッププログラム406が,バックアップスケジュールのバックアップ開始時間を参照し,ストレージマイクロプログラム115に差分データのコピーを指示する。ストレージマイクロプログラム115は,差分ビットマップ410を参照し,コピーを実行する。PVOLからSVOLへのコピーの完了により,アプリケーションのデータのバックアップは完了し,バックアッププログラム406は,バックアップスケジュールテーブル409のバックアップ完了時刻4093へ情報を書き込む。
S3006では,S3005で高速なメディアに書き込まれたページを,低速なメディアへ移動する。具体的には,バックアッププログラム406が,ストレージマイクロプログラム115にページの移動を指示する。またこのとき,高速なメディアから低速なメディアへのコピーが完了した後に,高速なメディア上の差分データが書き込まれた記憶領域のページを削除する。この処理は,PVOLからSVOLを構成している高速なメディアへのコピー完了後に高速なメディアを空けるために行う。これにより高速なメディアを効率的に利用することができる。つまり,他のアプリケーションによるバックアップにも高速メディアを使用することができる。低速なメディアへページを移動した後,本処理を終了する。但し,本ステップは行わなくても良い。なぜなら,この環境では,アクセス頻度に応じて複数種類のメディア間で動的にページを移動させることが可能であるため,本ステップの指示を出さなくても,ページにアクセスが無い場合,自動的に低速なメディアへ移動される。
−SVOL利用処理−
次に,本実施形態に係るバックアップデータが格納されているSVOLを利用する際の処理について説明する。
管理者が,SVOLを利用する目的として,PVOLに障害が発生したときがある。このとき,SVOLをPVOLの代替として用いる。しかし,通常はSVOLに対するアクセスは少ないため,データは低速メディアに格納されていることが多い。また,前述のS3006の処理により,ページが低速メディアに移動されている場合もある。このため,SVOLの利用開始時は,PVOLと同様の性能が出せないという課題がある。そこで,本実施形態の,高速なメディアと低速なメディアが混在した環境において,バックアップ時に,アプリケーションのデータと共に構成情報テーブル411の情報も取得する。PVOLの障害を感知したときに,SVOLのメディアに格納されているデータの配置を,構成情報テーブル411の情報からPVOLと同じデータ配置にすることで,直ぐにSVOLの性能を向上させることができる。これにより,障害発生時にSVOLをPVOLの代替として利用開始する際の性能低下を抑制することができる。
図12において,ステップS4001からステップS4004の処理は,本実施形態による管理計算機40のメモリ404上のバックアッププログラム406によって実現される処理である。但し,バックアッププログラム406の指示により,ストレージシステム10a,10bのメモリ114上のストレージマイクロプログラム115の処理も含む。本処理においても,バックアッププログラム406は,管理計算機上40に限らず,ストレージシステム10上のメモリ114に格納され,ストレージ装置12に対する指示は,ストレージマイクロプログラム115が行ってもよい。いずれにしても,具体的にどの処理ステップが,どのプログラムによって実現されるかは,システム設計上の要請等により適宜決定すればよい。
図12に,SVOL利用処理の一例を示す。
S4001では,管理計算機40のメモリ404上のバックアッププログラム406が,アプリケーションのデータのバックアップ時に,構成情報テーブル411を共にコピーする。
S4002では,バックアッププログラム406が,PVOLの障害を感知する。これは,バックアッププログラム406が障害を感知する機能を持っていてもよいし,ストレージシステムからの障害の通知を取得してもよい,また,他のプログラムからの通知を取得しても,PVOLの障害を感知できれば,どのような取得方法でもかまわない。
S4003では,バックアッププログラム406が,バックアップスケジュールテーブル409から最新のSVOLを特定する。例えば,S4003で,「AP001」のデータが格納されている「VOL001」のボリュームの障害を感知したとする。図4のバックアップスケジュール409のバックアップ完了時間4093を参照し,最新の時刻を検索する。図4の場合は,バックアップ完了時刻4093が,「2009/12/1 12:45」であることが分かり,最新のデータが格納されているSVOL4095「VOL002」を特定する。
S4004では,構成情報テーブル411のボリュームID4117からPVOLのメディア種類4113を確認し,S4003で特定したSVOLを,PVOLと同じメディア配置する。具体的には,バックアッププログラム406が,ストレージシステム10のメモリ114上のストレージマイクロプログラム115に配置の実行を指示する。例えば,図6の構成情報テーブル411が,アプリケーションのバックアップが取得された「2009/12/1 22:30」の時の構成情報テーブル411だとする。このときのPVOL4094の「VOL001」の配置を構成情報テーブル411のボリュームID4117を検索して,メディア種類4113をページ毎に,「Page001」と「Page002」は「高速メディア」,「Page011」は「中速メディア」と特定する。次に,S4003で特定した「VOL002」を構成情報テーブル411のボリュームID4117から検索し,PVOLのボリュームLBA領域4118とSVOLのボリュームLBA領域4118を関連付けて,PVOLのページ配置をSVOLにも適用する。但し,メディアの容量が異なり,同じ配置にできない場合は,PVOLとSVOLを同程度の性能を持つメディアに移動してもよい。データの移動後,本処理を終了する。
第2実施形態
次に,本発明の第2実施形態について説明する。
本実施形態は,差分データのコピーをブロック単位で制御する点が第1実施形態と異なる。以下では,差分データのコピー処理について,第1実施形態との差異を説明する。
計算機システム1の構成及び管理計算機40のメモリ404に格納される情報は,第1実施形態と同様である。構成情報テーブル411の,ページID4115及び容量4116の情報はなくてもよい。
図13を用いて,本実施形態におけるバックアップ処理について説明する。
本実施形態では,PVOL及びSVOLは,仮想ボリュームでなくてもよい。図13では,SVOLはキャッシュプールに含まれないメディアから構成されるものとして図示している。
図13の環境では,キャッシュプールを経由してPVOLからSVOLへバックアップを行う。キャッシュプールとは,複数種類のメディアが登録されているプールである。複数のメディアには,高速なメディアから低速なメディアまで様々なメディアが含まれるものとする。図13では,キャッシュプールがストレージ装置12b内にあるように図示しているが,キャッシュプールはストレージ装置12aにあってもよい。また,キャッシュプールは,ストレージ装置12a,12b以外に設けてもよい。バックアップにかかる時間を短縮させるために,PVOLから直接SVOLへデータをコピーせずに,キャッシュプールに格納されている高速なメディアに差分データをコピーして一時的に保存する。キャッシュプールのメディアへのコピーが完了した時点でバックアップを完了とすることで,バックアップにかかる時間を短縮することができる。BW内にバックアップが完了するように,PVOLからSVOLへコピーされる差分量と,キャッシュプールに格納されている複数種類のメディアの性能と,その容量から,バックアッププログラム406が,どのメディアにバックアップデータを書き込むか選択する。但し,BW内にバックアップが完了するならば,キャッシュプールを経由せずにバックアップを行ってもよいし,一部の差分データのみキャッシュプールを用いてもよい。PVOLからキャッシュプールへの差分データのコピーが完了した後に,差分データをSVOLへ更にコピーして最終的にSVOLへバックアップデータが格納されるようにする。キャッシュプールを経由してSVOLへの書き込みを行うが,差分ビットマップ410を参照することで,PVOLのボリュームLBAと同じSVOLのボリュームLBAへコピーを行えるものとする。
―差分データの移動制御処理―
図14は,図13に示したように,ブロック単位で差分データが制御される環境で行われる処理である。この環境では,キャッシュプール内のSVOLよりも高速なメディアに差分データを一時的に保存し,キャッシュプールへのコピーが完了した後にキャッシュプールからSVOLへ差分データを更にコピーする。
また,高速なメディアを次回のバックアップ時にも使用するために,高速なメディアにコピーされた差分データを,低速なメディア又はSVOLへコピーすることを指示する処理手順を含む。
図14において,ステップS2001からステップS2006の処理,は,本実施形態による管理計算機40のメモリ404上のバックアッププログラム406によって実現される処理である。但し,ストレージシステム10a,10bのメモリ114上のストレージマイクロプログラム115による処理も含む。本処理においても,バックアッププログラム406は,管理計算機上40に限らず,ストレージシステム10上のメモリ114に格納され,ストレージ装置12に対する指示は,ストレージマイクロプログラム115が行ってもよい。いずれにしても,具体的にどの処理ステップが,どのプログラムによって実現されるかは,システム設計上の要請等により適宜決定すればよい。
まず,図14を用いて,ブロック単位で差分データのコピーを制御する処理を説明する。
S2001では,管理計算機40のメモリ404上のバックアッププログラム406が,ストレージシステム10a,10bが持つ差分ビットマップ410の情報と,構成情報を取得する。これは,ステップS1002の処理と同じである。但し,最新の情報を管理計算機40が持っている場合,本ステップを行わなくてもよい。
S2002では,バックアッププログラム406が,キャッシュプールのメディアの空き容量を算出する。これは前述のS3002の処理と同じである。
S2003で,バックアッププログラム406が,差分ビットマップ410から差分データが読み出されるメディアと,このメディア毎の差分データの量を特定する。このステップは,S1003で差分が読み出されるメディアと,このメディア毎の差分データの量を特定する処理と,同様の処理を行う。差分データが読み出されるブロックのメディアを特定することで,SVOLの高速なメディアを効率よく使うことができる。つまり,PVOLの高速なメディアから読み出された差分データを,SVOLの高速なメディアに書き込むと早くコピーが完了する。読み出し側が低速なメディアの場合,差分データの書き込み側で高速なメディアを使用したとすると,読み出し速度が遅いため,書き込み側の高速メディアを利用できなくなる。PVOLの高速なメディアからSVOLの高速なメディアへコピーすることで,高速メディアを効率的に使いまわすことができる。但し,メディアを確定する処理は行わずに,差分量のみを確定してもよい。
S2004では,PVOLからキャッシュプールの高速なメディアへ差分データをコピーする。具体的には,バックアッププログラム406が,ストレージシステム10のストレージマイクロプログラム115にPVOLの差分データを,キャッシュプール内のメディアへコピーするよう指示する。ここでは,S2002で算出したメディア毎の空き容量から,差分データが全て高速なメディアに収まるか判断し,収まらない場合は速度の速い順にメディアを決定して,並行してメディアを使用して差分データを書き込むよう指示する。更に,ステップS2003で差分が読み出されるメディアを特定していれば,高速なメディアには高速なメディアを,低速なメディアには低速なメディアとなるように差分データのコピー先を指示する。このとき,バックアッププログラム406は,PVOLからキャッシュプールへの書き込みを行った個所の情報を記録しておく。ここで,BW内にバックアップが完了すると判断された場合は,PVOLから直接SVOLへ差分データをコピーしてもよい。キャッシュプール内のメディアへのコピーが完了した時点で,アプリケーションのデータのバックアップは完了したこととし,バックアップスケジュールテーブル409のバックアップ完了時刻4093へ情報を書き込む。これにより,バックアップにかかる時間を短縮することができる。
S2005では,キャッシュプール内の高速なメディアを空けるために,キャッシュプール内の高速なメディアから,キャッシュプール内の低速なメディア又はSVOLに差分データをコピーする。この処理は13の概念図における,キャッシュプール内のメディアからSVOLへコピーする処理である。具体的には,バックアッププログラム406が,ストレージシステム10のメモリ114上のストレージマイクロプログラム115に差分データのコピーを指示する。この指示は,キャッシュプール及びSVOLがどのストレージシステムに格納されているかで異なり,格納されているストレージシステム10a又は,10bのメモリ114上のストレージマイクロプログラムに指示をだす。ここで,キャッシュプール内の低速なメディアをSVOLとしてもよい。キャッシュプール内のメディアからSVOLへの差分データのコピーは,S2004で作成したPVOLからキャッシュプールへの書き込みを行った個所の記録と,差分ビットマップ410を参照して,PVOLと同じ箇所のSVOLのボリュームLBA先へデータのコピーを指示する。
S2006では,キャッシュプール内のメディアに書き込まれた差分データを削除する。これにより,キャッシュプール内のメディアを他の用途に利用できる。S2005で,キャッシュプール内のメディアからSVOLへのコピーが完了した段階で,キャッシュプール内の記憶領域とSVOLの記憶領域と両方に差分データが存在するため,キャッシュプールの差分データを削除することができる。具体的には,バックアッププログラム406が,データの削除をストレージマイクロプログラム115に指示する。このとき,S2004で作成したPVOLからキャッシュプール内のメディアへの書き込みを行った個所の情報を元にキャッシュプールのデータを削除する。削除後,本処理を終了する。
第3実施形態
次に,本発明の第3実施形態について説明する。
本実施形態は,第1実施形態及び第2実施形態における計算機システムにおいて,ストレージシステムの台数を1台にした計算機システム構成を採用している点が異なる。本実施形態では,図1の構成との差異を中心にストレージシステムの台数を1台にした環境における本発明を適用した場合について説明する。
図14に,本実施形態に係る計算機システム2のシステム構成図の一例を示す。図14に示すように,本実施形態の計算機システム2は,図1と同様に,ストレージシステム10と,ホスト計算機30と,管理計算機40で構成されている。ストレージシステム10と,ホスト計算機30と,管理計算機40は,第1実施形態と同様の構成である。第1実施形態のように,スペアボリュームを有していてもよい。また,ストレージシステム10は,スペアボリュームを有するストレージ装置を有していてもよい。但し,図2に記載した管理計算機40上のメモリ404に格納してある,バックアッププログラム406とバックアップ時間算出プログラム407の実行プログラムは,第1実施形態と同様に管理計算機40のメモリ404上にあってもよいし,ストレージシステム10のメモリ114上にあってもよい。ストレージシステム10,ホスト計算機30,管理計算機40に属している機能は,第1実施形態と同様である。
但し,ストレージマイクロプログラム115のコピー機能を操作する機能の説明として,第1実施形態では,ストレージシステム10a上のストレージ装置12aから,ストレージシステム10b上のストレージ装置12bへデータをコピーしていた。本実施例では,ストレージシステム10a上に,ストレージ装置12aとストレージ装置12bがある。つまり同じストレージシステム内にPVOLとSVOLが存在する。
本実施形態で用いる各種情報は,第1実施形態に関する図3から図7までに示した各テーブルに記録されていた情報と同様である。但し,これらのバックアップ管理テーブル408,バックアップスケジュールテーブル409,差分ビットマップ410,構成情報テーブル411,メディア性能テーブル412の情報も実行プログラムと同様に,ストレージシステム10のメモリ114上にあってもよい。また,本実施例は,図3のバックアップ管理テーブル408のPVOLのストレージID4083,SVOLのストレージID4085には同じ値が入るため,この情報はなくてもよい。つまり,管理対象となるストレージシステムが1台であることからPVOLのストレージID4083と,SVOLのストレージID4085には「ST001」しか入らない。同様に,図6の構成情報テーブル411のストレージID4110の情報は無くてもよい。
次に,本実施形態に係るBWとメディア管理の処理について説明する。
第1実施形態と同様の図9の処理で,実現可能である。
但し,次のステップの処理が変更される。
ステップS1002では,管理計算機40のメモリ404上のバックアッププログラム406が,ストレージシステム10aとストレージシステム10bから構成情報を取得していたが,本実施例ではPVOLとSVOLは同じストレージシステム10aに格納されているため,情報取得元のストレージシステムは一台となる。
また,管理計算機40のメモリ404上ではなく,ストレージシステム10のメモリ114上に,バックアッププログラム406,バックアップ時間算出プログラム407,バックアップ管理テーブル408,バックアップスケジュールテーブル409,差分ビットマップ410,構成情報テーブル411,メディア性能テーブル412が格納されている場合,管理計算機40への情報収集は行わない。同様に,S1003からS1010までの処理は,ストレージシステム10のメモリ114上からプログラム及びテーブルが読みだされ,ストレージシステム10上のCPU111によって実行される。
次に,本実施形態に係る差分データの移動制御処理について説明する。
第1実施形態と同様の図11,及び第2実施形態と同様の図14の処理で,実現可能である。
但し,前述と同様に次の処理が変更される。
ステップS2001では,管理計算機40のメモリ404上のバックアッププログラム406が複数のストレージシステム10から構成情報を取得していたが,情報を取得するストレージシステム10は一台(ストレージシステム10a)となる。
また,本実施形態を実行するプログラム及びテーブルの情報がストレージシステム10のメモリ114上に格納されている場合,管理計算機40への情報収集は行わない。同様に,S2002からS2009までの処理,及びS3002からS3008までの処理は,ストレージシステム10のメモリ114上からプログラム及びテーブルが読みだされ,ストレージシステム10上のCPU111によって実行される。つまり,S2004,S2006,S2008,及び,S3004,S3007は,管理計算機40のメモリ404上のバックアッププログラム406がストレージシステム10のメモリ114上のストレージマイクロプログラムに指示を出していたが,本実施形態では,これは同ストレージシステム10の同メモリ114内でプログラムが実行される。
−SVOL利用処理−
次に,本実施形態に係るSVOL利用処理について説明する。
第1実施形態と同様の図13の処理で,実現可能である。但し,前述と同様に次の処理が変更される。
ステップS4004では,管理計算機40のメモリ404上のバックアッププログラム406がストレージシステム10のメモリ114上のストレージマイクロプログラムに指示を出していたが,本実施形態では,これは同ストレージシステム10の同じメモリ114内でのプログラムが実行される。
第4実施形態
次に,本発明の第4実施形態について説明する。
本実施形態では,第1実施形態〜第3実施形態における計算機システムにおいて,アプリケーションが複数存在し,キャッシュプールを使用するバックアップタスクが同時刻に複数存在することを考慮している点が異なる。同時刻に複数のバックアップタスクが存在する場合,バックアップタスクの優先度から順に,キャッシュプールの高速なメディアをバックアップタスク毎に分配する。
本実施形態における計算機システム構成は,第1実施形態及び第2実施形態と同様の構成である。もしくは,ストレージシステム10が1台である第3実施形態と同様の構成としてもよい。但し,第1実施形態における計算機システム構成の説明にも記述済だが,ホスト計算機30上のアプリケーションの個数は1つに限定されない。特に,第3実施形態では,アプリケーション,もしくはホスト計算機30が複数存在し,管理計算機40によって管理されているものとする。
次に,本実施形態で用いる各種情報について記載する。
図3のバックアップ管理テーブル408に優先度4087のカラムを追加したものを図15に示す。優先度4087は,限られたメディアの中で,バックアップ対象である複数のアプリケーションの中から,管理者が優先的にBW内にバックアップを完了させるアプリケーションを決めるためのポリシーである。つまり,優先度が高いほうから優先的に高速メディアが割り振られる。また,優先度4087には,「高」「低」等と記載しているが,BWを守るアプリケーションの優先度が分かれば記号や数字など他の表現方法を用いて良い。その他の本実施形態で用いる各種情報は,第1実施形態に関する図4から図7までに示した各テーブルに記録されていた情報と同様である。
次に,本実施形態に係る複数アプリケーションのバックアップにおける差分データのコピー先の制御の処理について説明する。この処理は,キャッシュプールに高速なメディアと低速なメディアが混在している環境で行う。この環境で,バックアップにかかる速度を短縮する差分データのコピー先のメディアを制御する。図16に,複数バックアップタスクが同時に実行されるときの差分データの移動制御処理の手順の一例を示す。但し,本実施形態では,複数のアプリケーションのバックアップの設定が行われており,複数タスクが同時に存在するときのキャッシュプールの使用方法について記述する。第1実施形態の図11,図12のようにブロック単位とページ単位,両方の差分データを制御する環境でもおこなえる。
図16において,ステップS5001からステップS5011の処理は,本実施形態による管理計算機40のメモリ404上のバックアッププログラム406とバックアップ時間算出プログラム407,ストレージシステム10a,10bのメモリ114上のストレージマイクロプログラム115によって実現される処理である。本処理においても,バックアッププログラム406は,管理計算機上40に限らず,ストレージシステム10上のメモリ114に格納され,ストレージ装置12に対する指示は,ストレージマイクロプログラム115が行ってもよい。いずれにしても,具体的にどの処理ステップが,どのプログラムによって実現されるかは,システム設計上の要請等により適宜決定すればよい。
図16を用いて,複数バックアップタスクが同時に実行されるときの差分データの移動を制御する処理を説明する。
S5001では,管理計算機40のメモリ404上のバックアッププログラム406が,バックアップ設定画面から,管理者によって入力されたバックアップ対象となるアプリケーションと,バックアップデータを取得する間隔や日時を表すバックアップスケジュール,バックアップが完了するまでの目標時間を表すBWと,複数アプリケーションの中で優先的にBW内にバックアップを完了させるための優先度の情報を取得する。このステップは,第1実施形態におけるBWとメディア管理処理(図9)のS1001ステップに,優先度の情報の取得を加えた処理である。S1001同様に取得した情報を,管理計算機40上のメモリに格納されているバックアップ管理テーブル408に格納する。優先度の情報は,図15のバックアップ管理テーブル408の優先度4087に格納する。
S5002では,バックアッププログラム406が,図4のバックアップスケジュールテーブル409のバックアップ開始時刻4092を参照し,バックアップタスクが同時刻に存在するか確認する。同時に開始される場合ステップS5003へ,同時に開始されない場合は,ステップS5010へ進む。例えば,図4の場合,バックアップID4090が「BK002」と「BK003」のバックアップタスクが,バックアップ開始時刻4092が「2009/12/1 23:00」と同時にバックアップが開始されることが分かる。
S5003からS5009まで,同時刻にバックアップが開始される複数のバックアップ対象アプリケーションに対して処理を行う。
S5003では,バックアッププログラム406が,ストレージシステム10a,10bが持つ差分ビットマップ410の情報と,構成情報を取得する。このステップは,第1実施形態におけるBWとメディア管理処理(図9)のS1002ステップと同じ処理である。
S5004では,バックアッププログラム406が,S5003で取得した差分ビットマップ410から差分が読み出されるメディアと書き込まれるメディア,このメディア毎の差分量を特定する。このステップは,第1実施形態におけるBWとメディア管理処理(図9)のS1003と同じ処理である。
S5005では,バックアップ時間算出プログラム407が,BW内にバックアップが完了するために十分なメディアの容量を算出する。このステップは,第1実施形態におけるBWとメディア管理処理(図9)のS1009と同じ処理である。
S5006では,バックアッププログラム406が,メディアの空き容量を算出する。バックアッププログラム406が,構成情報テーブル411のボリュームID4117から,割り当てられていないメディアを検索し,容量4116から空いているメディアの容量を算出する。
S5007では,バックアッププログラム406が,全てのバックアップタスクがBW内に完了するか判断する。つまり,S5006の算出した容量が,S5005で算出した容量以上である場合,BW内に収まると判断する。BW内に収まる場合はステップS5008へ,収まらない場合は,ステップS5009へ進む。
S5008では,バックアッププログラム406が,それぞれのバックアップタスクに対して,BW内に収まるメディアを割当てる。これは,S5007で,全てのバックアップタスクがBW内にバックアップが完了するために十分なメディアが確保されていることが分かった。そのため,それぞれのバックアップタスクに対してS5005で算出したメディアの容量を割当てる。ここで,高速なメディアが余る場合は,バックアップの時間を短縮するためにバックアップタスク毎に均等に高速メディアを割当ててもよい。
S5009では,バックアッププログラム406が,バックアップ管理テーブル408の優先度4083の高いバックアップタスク順に高速なメディアを割当てる。これは,S5007で,全てのバックアップタスクにおいてBW内にバックアップが完了するために十分なメディアが無いことが分かった。そのため,優先度の高い順にBW内にバックアップが完了するために十分なメディアを分配する。優先度が低くメディアが割り当てられなかったアプリケーションに対しては,図9のS1004からS1007の処理を行い,バックアップにかかる時間を算出し,かつ,S5005で算出した必要な容量と実際に割当てられた容量から,BW内に収めるために必要な容量を算出して,図9のS1010の処理同様にBW内に収まらない旨と,算出したメディアの容量を提示してもよい。
S5010では,バックアッププログラム406が,高速なメディアを全て割当てる。これは,S5002で,同時刻にバックアップが開始されるバックアップタスクが存在しないと分かったため,一つのバックアップタスクに全ての高速メディアを割当てることができるからである。しかし,全ての高速なメディアを割り当ててもBW内にバックアップが終了するとは限らないため,図9のS1002からS1010の処理により,バックアップにかかる時間と,BW内にバックアップが完了するために十分なメディアの容量を算出ししてもよい。
S5008,S5009,S5010の指示が終了後,図11又は図14の処理により差分データの移動制御に移り,本処理を終了する。
第5実施形態
次に,本発明の第5実施形態について説明する。
本実施形態では,第1実施形態から第4実施形態における,メディアの容量算出方法の一例を説明する。これは第1実施形態と同様の図9の処理で,実現可能である。但し,次のステップの処理が変更されるため,以下では相違点を説明する。
S1009では,バックアップ時間算出プログラム407が,BW内にバックアップが完了するために必要なメディアの容量を算出する。
ここで,図19は,メディアの種類が高速メディア,中速メディア,低速メディアの3種類を用いる場合の,メディアの容量算出方法の一例を示す。図18と同様に,メディアの性能を表す直線の交点から,BW内にバックアップが完了するために必要となるそれぞれのメディアの容量を算出することができる。メディアの容量算出には,次のような方法がある。
高速メディアをすべて用いても,BW内にバックアップが完了しない場合は,BW内に完了するために必要な高速メディアの容量を算出する。また,予め,使用する高速メディアの容量を指定し,BW内にバックアップが完了するために必要な中速メディアの容量を算出することとしてもよい。これにより,高速メディアについては所定の容量を確保しておくことができ,他の処理に利用することができる。また,高速メディアを使用しないように指定し,BW内にバックアップが完了するために必要な中速メディアの容量を算出してもよい。この場合,高速メディアを他の用途に用いることができる。
第4実施形態のように,複数のバックアップタスクが実行される場合は,バックアップタスク毎に,高速メディアと中速メディアを使い分けて,算出することもできる。この場合,優先度4087に応じて,高速メディアと中速メディアを割当ててもよい。
S1012では,バックアッププログラム406が,管理者にBW内でバックアップが完了しない旨を提示し,さらに,S1009で算出した高速メディアの容量からすでにプールに属している高速メディアの容量の差分の容量を提示する。例えば,図20のような画面が管理計算機40の表示装置402に表示される。図20では,メディアの種類毎に算出された容量が提示される。メディア毎に単位容量のコストを入力しておき,最も低コストとなるメディアを表示することとしてもよい。
1,2 計算機システム
10 ストレージシステム
11 ストレージコントローラ
12 ストレージ装置
20 データネットワーク
21 管理ネットワーク
30 ホスト計算機
40 管理計算機
110,303 データI/F
111,305,405 CPU
112 ストレージI/F
113,306,403 管理I/F
114,304,404 メモリ
115 ストレージマイクロプログラム
120 低速ボリューム
121 高速ボリューム
122 低速メディア
123 高速メディア
301,401 入力装置
302,402 表示装置
307 アプリケーション
406 バックアッププログラム
407 バックアップ時間算出プログラム
408 バックアップ管理テーブル
409 バックアップスケジュールテーブル
410 差分ビットマップ
411 構成情報テーブル
412 メディア性能テーブル

Claims (20)

  1. 計算機システムであって,
    管理計算機と,
    前記管理計算機に接続され,第一の記憶領域を有する第一のストレージ装置と,
    前記管理計算機と,前記第一のストレージ装置と,に接続され,前記第一の記憶領域のデータのコピーが格納された第二の記憶領域と,前記第二の記憶領域より書き込み速度が速い第三の記憶領域と,を有する第二のストレージ装置と,を備え,
    前記管理計算機は,
    前記第一の記憶領域の読み出し速度と,前記第二の記憶領域の書き込み速度と,前記第三の記憶領域の書き込み速度と,前記第一の記憶領域のデータのうち第二の記憶領域に格納されていない差分データの量より,所定の時間以内に前記差分データのコピーを完了するための,前記第三の記憶領域の容量を算出し,
    前記第二のストレージ装置は,
    前記第三の記憶領域の容量が,前記算出された容量より大きい場合,
    前記第一の記憶領域から送信された前記差分データを,前記第二の記憶領域または前記第三の記憶領域にコピーし,前記第三の記憶領域にコピーされた差分データを前記第二の記憶領域に移動する
    ことを特徴とする計算機システム。
  2. 前記第二のストレージ装置は,
    前記第二の記憶領域が割り当てられた仮想ボリュームを提供し,
    前記算出した容量分の第三の記憶領域を前記仮想ボリュームに割当てる
    ことを特徴とする請求項1記載の計算機システム。
  3. 前記第三の記憶領域の容量が,前記算出された容量より小さい場合,
    前記管理計算機は,前記算出された容量と前記第三の記憶領域の容量の差を算出し,
    前記第二のストレージ装置は,
    少なくとも前記算出された差の容量分の,前記第二の記憶領域より書き込み速度が速い,第四の記憶領域が追加された場合,
    前記第三の記憶領域と,前記追加された第四の記憶領域と,を前記仮想ボリュームに割当て,
    前記第一の記憶領域から送信された前記差分データを,前記第三の記憶領域または前記第四の記憶領域にコピーし,
    前記コピーされた差分データを,前記第二の記憶領域へ移動する
    ことを特徴とする請求項2記載の計算機システム。
  4. 前記差分データは,複数のブロックからなるセグメント単位で制御され,
    前記管理計算機は,前記セグメントの更新されたブロックを特定し,前記更新されたブロックのコピー先である前記第二の記憶領域に格納されたセグメントを,前記第三の記憶領域または前記第四の記憶領域に移動し,前記移動されたセグメントに前記更新されたブロックをコピーし,前記更新されたブロックがコピーされたセグメントを前記第二の記憶領域に移動する
    ことを特徴とする請求項3記載の計算機システム。
  5. 前記セグメントのうち更新されたブロック数が多いセグメントから順に,前記第三の記憶領域または前記第四の記憶領域にコピーする
    ことを特徴とする請求項4記載の計算機システム。
  6. 前記第一のストレージ装置に接続されるホスト計算機を備え,
    前記ホスト計算機上で,複数のアプリケーションが動作し,
    前記複数のアプリケーションのそれぞれから前記第一の記憶領域に差分データが書き込まれ,
    前記第一のストレージ装置から前記第二のストレージ装置に,前記差分データのバックアップが行われる際に,
    前記複数のアプリケーションの優先度が高い順に,前記第一の記憶領域から前記第三の記憶領域に前記差分データをコピーする
    ことを特徴とする請求項5記載の計算機システム。
  7. 前記管理計算機は,表示部を有し,
    前記算出した差の容量を前記表示部に表示する
    ことを特徴とする請求項6記載の計算機システム。
  8. 管理計算機と,
    前記管理計算機に接続される第一のストレージ装置と,
    前記管理計算機と,前記第一のストレージ装置と,に接続される第二のストレージ装置と,を備える計算機システムにおけるバックアップ方法であって,
    前記管理計算機は,
    前記第一のストレージ装置が有する第一の記憶領域の読み出し速度と,前記第二のストレージ装置が有する第二の記憶領域の書き込み速度と,前記第二の記憶装置が有する,前記第二の記憶領域より書き込み速度が速い第三の記憶領域の書き込み速度と,前記第一の記憶領域のデータのうち第二の記憶領域に格納されていない差分データの量より,所定の時間以内に前記差分データのコピーを完了するための,前記第三の記憶領域の容量を算出し,
    前記第二のストレージ装置は,
    前記第三の記憶領域の容量が,前記算出された容量より大きい場合,
    前記第一の記憶領域から送信された前記差分データを,前記第二の記憶領域または前記第三の記憶領域にコピーし,前記第三の記憶領域にコピーされた差分データを前記第二の記憶領域に移動する
    ことを特徴とする計算機システムにおけるバックアップ方法。
  9. 前記第二のストレージ装置は,
    前記第二の記憶領域が割り当てられた仮想ボリュームを提供し,
    前記算出した容量分の第三の記憶領域を前記仮想ボリュームに割当てる
    ことを特徴とする請求項8記載の計算機システムにおけるバックアップ方法。
  10. 前記第三の記憶領域の容量が,前記算出された容量より小さい場合,
    前記管理計算機は,前記算出された容量と前記第三の記憶領域の容量の差を算出し,
    前記第二のストレージ装置は,
    少なくとも前記算出された差の容量分の,前記第二の記憶領域より書き込み速度が速い,第四の記憶領域が追加された場合,
    前記第三の記憶領域と,前記追加された第四の記憶領域と,を前記仮想ボリュームに割当て,
    前記第一の記憶領域から送信された前記差分データを,前記第三の記憶領域または前記第四の記憶領域にコピーし,
    前記コピーされた差分データを,前記第二の記憶領域へ移動する
    ことを特徴とする請求項9記載の計算機システムにおけるバックアップ方法。
  11. 前記差分データは,複数のブロックからなるセグメント単位で制御され,
    前記管理計算機は,前記セグメントの更新されたブロックを特定し,前記更新されたブロックのコピー先である前記第二の記憶領域に格納されたセグメントを,前記第三の記憶領域または前記第四の記憶領域に移動し,前記移動されたセグメントに前記更新されたブロックをコピーし,前記更新されたブロックがコピーされたセグメントを前記第二の記憶領域に移動する
    ことを特徴とする請求項10記載の計算機システムにおけるバックアップ方法。
  12. 前記セグメントのうち更新されたブロック数が多いセグメントから順に,前記第三の記憶領域または前記第四の記憶領域にコピーする
    ことを特徴とする請求項11記載の計算機システムにおけるバックアップ方法。
  13. 前記第一のストレージ装置に接続されるホスト計算機を備え,
    前記ホスト計算機上で,複数のアプリケーションが動作し,
    前記複数のアプリケーションのそれぞれから前記第一の記憶領域に差分データが書き込まれ,
    前記第一のストレージ装置から前記第二のストレージ装置に,前記差分データのバックアップが行われる際に,
    前記複数のアプリケーションの優先度が高い順に,前記第一の記憶領域から前記第三の記憶領域に前記差分データをコピーする
    ことを特徴とする請求項12記載の計算機システムにおけるバックアップ方法。
  14. 前記管理計算機は,表示部を有し,
    前記算出した差の容量を前記表示部に表示する
    ことを特徴とする請求項13記載の計算機システムにおけるバックアップ方法。
  15. 管理計算機と,
    前記管理計算機に接続される第一のストレージ装置と,
    前記管理計算機と,前記第一のストレージ装置と,に接続される第二のストレージ装置と,を備える計算機システムにバックアップを実行させるプログラムであって,
    前記管理計算機に,
    前記第一のストレージ装置が有する第一の記憶領域の読み出し速度と,前記第二のストレージ装置が有する第二の記憶領域の書き込み速度と,前記第二の記憶装置が有する,前記第二の記憶領域より書き込み速度が速い第三の記憶領域の書き込み速度と,前記第一の記憶領域のデータのうち第二の記憶領域に格納されていない差分データの量より,所定の時間以内に前記差分データのコピーを完了するための,前記第三の記憶領域の容量を算出させ,
    前記第二のストレージ装置に,
    前記第三の記憶領域の容量が,前記算出された容量より大きい場合,
    前記第一の記憶領域から送信された前記差分データを,前記第二の記憶領域または前記第三の記憶領域にコピーし,前記第三の記憶領域にコピーされた差分データを前記第二の記憶領域に移動させる
    処理を実行させることを特徴とするプログラム。
  16. 前記第二のストレージ装置に,
    前記第二の記憶領域が割り当てられた仮想ボリュームを提供し,
    前記算出した容量分の第三の記憶領域を前記仮想ボリュームに割当てる
    処理を実行させることを特徴とする請求項15記載のプログラム。
  17. 前記第三の記憶領域の容量が,前記算出された容量より小さい場合,
    前記管理計算機に,前記算出された容量と前記第三の記憶領域の容量の差を算出させ,
    少なくとも前記算出された差の容量分の,前記第二の記憶領域より書き込み速度が速い,第四の記憶領域が追加された場合,
    前記第二のストレージ装置に,
    前記第三の記憶領域と,前記追加された第四の記憶領域と,を前記仮想ボリュームに割当てさせ,
    前記第一の記憶領域から送信された前記差分データを,前記第三の記憶領域または前記第四の記憶領域にコピーさせ,
    前記コピーされた差分データを,前記第二の記憶領域へ移動させる
    処理を実行させることを特徴とする請求項16記載のプログラム。
  18. 前記差分データは,複数のブロックからなるセグメント単位で制御され,
    前記管理計算機に,
    前記セグメントの更新されたブロックを特定し,前記更新されたブロックのコピー先である前記第二の記憶領域に格納されたセグメントを,前記第三の記憶領域または前記第四の記憶領域に移動させ,前記移動されたセグメントに前記更新されたブロックをコピーし,前記更新されたブロックがコピーされたセグメントを前記第二の記憶領域に移動させる
    処理を実行させることを特徴とする請求項17記載のプログラム。
  19. 前記セグメントのうち更新されたブロック数が多いセグメントから順に,前記第三の記憶領域または前記第四の記憶領域にコピーさせる
    処理を実行させることを特徴とする請求項18記載のプログラム。
  20. 前記第一のストレージ装置に接続されるホスト計算機上で,複数のアプリケーションが動作し,前記複数のアプリケーションのそれぞれから前記第一の記憶領域に差分データが書き込まれる場合,
    前記第一のストレージ装置から前記第二のストレージ装置に,前記差分データのバックアップが行われる際に,
    前記第一のストレージ装置に,
    前記複数のアプリケーションの優先度が高い順に,前記第一の記憶領域から前記第三の記憶領域に前記差分データをコピーさせる
    処理を実行させることを特徴とする請求項19記載のプログラム。
JP2010031940A 2010-02-17 2010-02-17 計算機システム,計算機システムにおけるバックアップ方法及びプログラム Expired - Fee Related JP5183650B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010031940A JP5183650B2 (ja) 2010-02-17 2010-02-17 計算機システム,計算機システムにおけるバックアップ方法及びプログラム
US12/764,543 US8661220B2 (en) 2010-02-17 2010-04-21 Computer system, and backup method and program for computer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010031940A JP5183650B2 (ja) 2010-02-17 2010-02-17 計算機システム,計算機システムにおけるバックアップ方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2011170475A JP2011170475A (ja) 2011-09-01
JP5183650B2 true JP5183650B2 (ja) 2013-04-17

Family

ID=44370448

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010031940A Expired - Fee Related JP5183650B2 (ja) 2010-02-17 2010-02-17 計算機システム,計算機システムにおけるバックアップ方法及びプログラム

Country Status (2)

Country Link
US (1) US8661220B2 (ja)
JP (1) JP5183650B2 (ja)

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8898108B2 (en) * 2009-01-14 2014-11-25 Vmware, Inc. System and method for scheduling data storage replication over a network
WO2011015970A1 (en) * 2009-08-04 2011-02-10 Axxana (Israel) Ltd. Data gap management in a remote data mirroring system
US20110313974A1 (en) * 2010-06-17 2011-12-22 Computer Associates Think, Inc. Prioritized data backup
KR20120004162A (ko) * 2010-07-06 2012-01-12 삼성전자주식회사 데이터베이스 관리 방법 및 이를 이용한 데이터베이스 서버 시스템
US8954688B2 (en) * 2010-10-06 2015-02-10 International Business Machines Corporation Handling storage pages in a database system
US10169087B2 (en) * 2011-01-28 2019-01-01 International Business Machines Corporation Technique for preserving memory affinity in a non-uniform memory access data processing system
US9335928B2 (en) * 2011-10-01 2016-05-10 International Business Machines Corporation Using unused portion of the storage space of physical storage devices configured as a RAID
US9836340B2 (en) * 2011-10-03 2017-12-05 International Business Machines Corporation Safe management of data storage using a volume manager
US9817733B2 (en) * 2011-10-05 2017-11-14 International Business Machines Corporation Resource recovery for checkpoint-based high-availability in a virtualized environment
US20130132870A1 (en) * 2011-11-23 2013-05-23 Salesforce.Com, Inc. System, method and computer program product for transient storage of user interface configurations
JP5942511B2 (ja) * 2012-03-19 2016-06-29 富士通株式会社 バックアップ装置,バックアップ方法,およびバックアッププログラム
JP5929420B2 (ja) * 2012-03-29 2016-06-08 富士通株式会社 演算処理装置、演算処理装置の制御方法及び情報処理装置
EP2859457A4 (en) * 2012-06-08 2016-05-11 Hewlett Packard Development Co MEMORY
US10037271B1 (en) * 2012-06-27 2018-07-31 Teradata Us, Inc. Data-temperature-based control of buffer cache memory in a database system
US9454487B2 (en) 2012-08-27 2016-09-27 Vmware, Inc. Transparent host-side caching of virtual disks located on shared storage
US11037625B2 (en) 2012-11-20 2021-06-15 Thstyme Bermuda Limited Solid state drive architectures
CN105103234A (zh) 2012-11-20 2015-11-25 查尔斯·I·派德尔 固态驱动器体系结构
JP6003610B2 (ja) * 2012-12-17 2016-10-05 日本電気株式会社 情報処理装置
JP2014123183A (ja) * 2012-12-20 2014-07-03 Fujitsu Ltd ストレージ装置、領域解放プログラム、および領域解放方法
US9547454B2 (en) * 2013-01-15 2017-01-17 International Business Machines Corporation Selecting first data sets in a first storage group to swap with second data sets in a second storage group
US9372638B1 (en) * 2013-02-08 2016-06-21 Veritas Technologies Llc Systems and methods for backing up virtual machine data
US9778884B2 (en) * 2013-03-13 2017-10-03 Hewlett Packard Enterprise Development Lp Virtual storage pool
US9201662B2 (en) * 2013-03-29 2015-12-01 Dell Products, Lp System and method for pre-operating system memory map management to minimize operating system failures
US20140297953A1 (en) * 2013-03-31 2014-10-02 Microsoft Corporation Removable Storage Device Identity and Configuration Information
US9836413B2 (en) * 2013-04-03 2017-12-05 International Business Machines Corporation Maintaining cache consistency in a cache for cache eviction policies supporting dependencies
US20150236974A1 (en) * 2013-04-26 2015-08-20 Hitachi, Ltd. Computer system and load balancing method
JPWO2015040728A1 (ja) * 2013-09-20 2017-03-02 富士通株式会社 情報処理装置,情報処理方法,プログラム
US9824020B2 (en) * 2013-12-30 2017-11-21 Unisys Corporation Systems and methods for memory management in a dynamic translation computer system
WO2015116077A1 (en) * 2014-01-30 2015-08-06 Hewlett-Packard Development Company, L.P. Access controlled memory region
WO2015116078A1 (en) * 2014-01-30 2015-08-06 Hewlett-Packard Development Company, L.P. Memory data versioning
US9836357B1 (en) 2014-04-25 2017-12-05 Veritas Technologies Llc Systems and methods for backing up heterogeneous virtual environments
TWI552162B (zh) * 2014-07-31 2016-10-01 Zhi-Cheng Xiao Low power memory
US9767024B2 (en) * 2014-12-18 2017-09-19 Intel Corporation Cache closure and persistent snapshot in dynamic code generating system software
CN105518741B (zh) 2014-12-23 2019-04-09 英特尔公司 用于管理虚拟图形处理器单元的装置和方法
JP6521694B2 (ja) * 2015-03-27 2019-05-29 株式会社バイオス 記憶制御システム及び記憶制御装置
US9875037B2 (en) * 2015-06-18 2018-01-23 International Business Machines Corporation Implementing multiple raid level configurations in a data storage device
US9946512B2 (en) * 2015-09-25 2018-04-17 International Business Machines Corporation Adaptive radix external in-place radix sort
US9760290B2 (en) * 2015-09-25 2017-09-12 International Business Machines Corporation Smart volume manager for storage space usage optimization
US9967337B1 (en) * 2015-12-29 2018-05-08 EMC IP Holding Company LLC Corruption-resistant backup policy
US10387329B2 (en) * 2016-02-10 2019-08-20 Google Llc Profiling cache replacement
US9921757B1 (en) * 2016-03-31 2018-03-20 EMC IP Holding Company LLC Using an FPGA for integration with low-latency, non-volatile memory
US10296460B2 (en) * 2016-06-29 2019-05-21 Oracle International Corporation Prefetch bandwidth throttling by dynamically adjusting miss buffer prefetch-dropping thresholds
JP6744545B2 (ja) * 2016-07-14 2020-08-19 富士通株式会社 情報処理装置、情報処理プログラムおよび情報処理システム
US10831545B2 (en) * 2016-08-29 2020-11-10 Vmware, Inc. Efficient queueing and scheduling of backups in a multi-tenant cloud computing environment
US10769034B2 (en) * 2017-03-07 2020-09-08 Sap Se Caching DML statement context during asynchronous database system replication
US10754735B2 (en) * 2017-11-20 2020-08-25 Salesforce.Com, Inc. Distributed storage reservation for recovering distributed data
US11099925B2 (en) * 2018-07-10 2021-08-24 EMC IP Holding Company LLC Datacenter preemptive measures for improving protection using IoT sensors
US11106528B2 (en) 2018-10-10 2021-08-31 EMC IP Holding Company LLC Datacenter IoT-triggered preemptive measures using machine learning
US10817198B2 (en) * 2019-02-15 2020-10-27 Wipro Limited Method and system for realtime optimization of load on plurality of backup storage devices
JP6942748B2 (ja) * 2019-03-19 2021-09-29 株式会社日立製作所 分散ストレージシステム、データ管理方法、及びデータ管理プログラム
CN112068986B (zh) * 2019-06-10 2024-04-12 伊姆西Ip控股有限责任公司 用于管理备份任务的方法、设备和计算机程序产品
US11762575B2 (en) 2019-07-31 2023-09-19 Hewlett-Packard Development Company, L.P. Updates to flash memory based on determinations of bits to erase
CN112306376B (zh) * 2019-08-01 2024-05-17 兆易创新科技集团股份有限公司 用户数据搬移的恢复方法、装置、电子设备及存储介质
CN112685224A (zh) * 2019-10-17 2021-04-20 伊姆西Ip控股有限责任公司 任务管理的方法、设备和计算机程序产品

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2742186B2 (ja) * 1992-10-28 1998-04-22 株式会社日立製作所 ディスクドライバ,ディスクアレイ装置,データ記憶システム及びディスクアレイシステムのデータバックアップ方法
JP3641920B2 (ja) * 1996-11-29 2005-04-27 富士通株式会社 運用スケジュールシステム
JP2002049534A (ja) * 2000-07-31 2002-02-15 Rexas Inc バックアップ/リストアシステム、バックアップ装置およびバックアップ/リストア方法
JP2003150325A (ja) * 2001-11-13 2003-05-23 Nec Corp バックアップ方法、バックアップシステム、バックアップ装置、およびバックアッププログラム
JP2004164318A (ja) * 2002-11-13 2004-06-10 Hitachi Ltd バックアップデータの世代管理方法およびこの方法に用いる記憶制御装置
JP2005018233A (ja) * 2003-06-24 2005-01-20 Fujitsu Ltd 仮想記憶媒体に記録されたデータをバックアップする方法及び、仮想記憶媒体に記録されたデータのバックアップ装置
EP1668486A2 (en) * 2003-08-14 2006-06-14 Compellent Technologies Virtual disk drive system and method
JP4267420B2 (ja) * 2003-10-20 2009-05-27 株式会社日立製作所 ストレージ装置及びバックアップ取得方法
JP4549709B2 (ja) * 2004-03-23 2010-09-22 株式会社日立製作所 ストレージ装置
JP2005275494A (ja) * 2004-03-23 2005-10-06 Hitachi Ltd ストレージシステム及びストレージシステムのリモートコピー方法
US7159072B2 (en) * 2005-03-24 2007-01-02 Hitachi, Ltd. Method and apparatus for monitoring the quantity of differential data in a storage system
JP2007140746A (ja) * 2005-11-16 2007-06-07 Hitachi Ltd 計算機システム及び管理計算機並びにリカバリ管理方法
JP4844736B2 (ja) * 2006-08-29 2011-12-28 日本電気株式会社 ディスクアレイシステムのデータ同期方法及びコンピュータプログラム
JP5052278B2 (ja) * 2007-09-28 2012-10-17 インターナショナル・ビジネス・マシーンズ・コーポレーション 記憶装置を制御する装置及び方法

Also Published As

Publication number Publication date
JP2011170475A (ja) 2011-09-01
US20110202735A1 (en) 2011-08-18
US8661220B2 (en) 2014-02-25

Similar Documents

Publication Publication Date Title
JP5183650B2 (ja) 計算機システム,計算機システムにおけるバックアップ方法及びプログラム
JP5728087B2 (ja) ストレージ管理システム及びストレージ管理方法
JP4890160B2 (ja) ストレージシステム及びバックアップ/リカバリ方法
US9268489B2 (en) Method and system for heterogeneous data volume
US20180341421A1 (en) Storage system having a thin provisioning function
JP4749255B2 (ja) 複数種類の記憶デバイスを備えたストレージシステムの制御装置
JP4267420B2 (ja) ストレージ装置及びバックアップ取得方法
JP4183443B2 (ja) データ再配置方法及び装置
CN102209952B (zh) 存储系统和用于操作存储系统的方法
JP5286192B2 (ja) ストレージシステムの容量を管理する管理計算機及びストレージシステムの容量管理方法
JP6317524B2 (ja) ストレージシステム、計算機システム、およびストレージシステムの制御方法
US8909893B2 (en) Virtual logical volume for overflow storage of special data sets
JP2008009767A (ja) データ処理システム及びその方法並びにストレージ装置
US20120297156A1 (en) Storage system and controlling method of the same
JP2008102590A (ja) ストレージシステムの運用管理方法およびストレージシステム
JP2017062636A (ja) ストレージ装置およびストレージ制御プログラム
US9298394B2 (en) Data arrangement method and data management system for improving performance using a logical storage volume
US9672107B1 (en) Data protection for a data storage device
US20110222388A1 (en) Odd raid driving method
JP5640618B2 (ja) 管理プログラム、管理装置、および管理方法
JP6957845B2 (ja) ストレージ制御装置及びストレージ装置
US7590780B2 (en) Method and computer program product to migrate legacy data to a RAID array while contemporaneously providing user access to legacy data
JP6069395B2 (ja) 管理計算機
JPWO2008126169A1 (ja) ストレージ管理プログラム、ストレージ管理方法およびストレージ管理装置
JP2010225229A (ja) ハードディスクドライブ管理装置及び方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120314

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121128

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121218

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130115

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160125

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees