以下、本実施の形態について図面を参照して説明する。
〔第1の実施の形態〕
図1は、第1の実施の形態の構成を示す図である。図1には、「Disk to Disk to Tape」(D2D2T)のバックアップ方式でバックアップ処理を行うシステムの例を示している。D2D2Tバックアップ方式は、ディスク装置内のバックアップ対象(バックアップ元)のデータを、一時的に他のディスク装置にコピーし、複製されたデータからテープドライブにバックアップを実行するものである。
図1に示すシステムには、ディスク装置1とテープ装置2とが設けられている。またディスク装置1からテープ装置2へのデータのバックアップ処理を実行するバックアップサーバ3が設けられている。さらに、ディスク装置1とテープ装置2とにおけるデータアクセスなどの情報を収集し、バックアップ処理が実施されていることを検出する情報処理装置4が設けられている。
ディスク装置1は、複数のボリューム1a,1b、バックアップ手段1c、監視手段1d、および記憶手段1eを有する。ボリューム1a,1bは、例えばハードディスク装置などで構成され、例えばボリューム1a,1bそれぞれを1つのハードディスク装置で構成することができる。また、複数のハードディスク装置をまとめたRAID(Redundant Arrays of Inexpensive Disks)システムのようなストレージシステムを、1つのボリューム1a,1bとすることもできる。さらに1つのハードディスク装置またはRAIDシステム内の記憶領域を複数に分割することで生成される論理的なボリュームを、ボリューム1a,1bとすることもできる。
バックアップ手段1cは、一方のボリューム1aのデータを、他方のボリューム1bにバックアップする。例えばバックアップ手段1cは、ボリューム1a内のすべてのデータを含むボリュームイメージを、ボリューム1bにバックアップする。なおバックアップ処理は、具体的には、ボリューム1a内のデータを読み出し、そのデータのコピーをボリューム1bに書き込む処理である。
監視手段1dは、各ボリューム1a,1bに対するアクセス状況を監視し、アクセス状況を示すアクセス情報を記憶手段1eに格納する。監視対象のアクセス状況には、少なくともデータリードのアクセスが含まれる。記憶手段1eは、アクセス情報を記憶する。
テープ装置2は、テープドライブ2aとドライブ制御手段2bとを有する。テープドライブ2aは、挿入された磁気テープ7にデータの書き込みを行うことができる。また、テープドライブ2aは、挿入された磁気テープ7からデータを読み出すことができる。磁気テープ7は、例えばカートリッジに収納されており、カートリッジごとテープドライブに挿入される。なお、磁気テープ7は、カートリッジに収納されていないオープンリールであってもよい。
ドライブ制御手段2bは、バックアップサーバ3などの外部からのテープドライブ2aの動作指示を受け取り、操作指示に従ってテープドライブ2aを動作させる。例えばドライブ制御手段2bは、テープドライブ2aによる磁気テープ7へのデータの書き込みを指示する動作指示を受け取ると、その動作指示に示されるデータをテープドライブ2aに入力し、データの書き込みを実行させる。なおドライブ制御手段2bは、動作指示を取得後、その動作指示への応答前に、情報処理装置4から応答の遅延指示を受け取った場合、動作指示に対する応答を意図的に遅延させる。
情報処理装置4は、取得手段4a、判断手段4b、指示手段4c、およびスケジューリング手段4dを有する。
取得手段4aは、ディスク装置1またはテープ装置2から情報を取得する。ディスク装置1から情報を取得する場合、取得手段4aは、記憶手段1eに格納されたアクセス情報を取得する。また取得手段4aは、ディスク装置1のバックアップ手段1cから、ディスク装置1内のボリューム1a,1b間でのバックアップ処理の開始を示す開始情報と、そのバックアップ処理の終了を示す終了情報とを取得することもできる。
取得手段4aは、テープ装置2から情報を取得する場合、テープ装置内の磁気テープへのデータのバックアップに伴うテープ装置2への動作指示の入力状況を監視する。そして、取得手段4aは、テープ装置2への動作指示の内容を取得する。
判断手段4bは、取得手段4aが取得したアクセス情報に基づいてシーケンシャルリードが実行されたボリューム1bを検出し、そのボリューム1bをバックアップ処理のバックアップ対象であると判断する。また、判断手段4bは、テープ装置2へ動作指示が入力されると、その時点でのアクセス情報を取得し、動作指示で指定されている磁気テープ7へのバックアップ処理のバックアップ対象とされているディスク装置1内のボリューム1bを判断する。
また判断手段4bは、バックアップ手段1cによるバックアップ処理のバックアップ先のボリューム1bと、バックアップサーバ3によるバックアップ処理のバックアップ対象のボリューム1bとが一致するか否かを判断することができる。
指示手段4cは、ディスク装置1から取得されるバックアップ処理の開始情報と終了情報とに基づき、テープ装置2に対して動作指示に対する応答の遅延を指示する。例えば指示手段4cは、開始情報の取得後、終了情報の取得前にテープ装置2への動作指示の入力があると、テープ装置2のドライブ制御手段2bに対して、動作指示に対する応答を遅延するように遅延指示を出す。例えば、指示手段4cは、バックアップ手段1cによるバックアップ処理のバックアップ先のボリューム1bをバックアップ対象としてバックアップサーバ3によるバックアップ処理が行われた場合に、テープ装置2に対して遅延指示を出す。
スケジューリング手段4dは、判断手段4bが認識したバックアップ処理の適切な実施スケジュールの案を作成する。例えばスケジューリング手段4dは、ディスク装置1内のボリューム1bへのシーケンシャルリードが開始されてから終了するまでの期間を、バックアップ処理の実施期間と判断する。そして、スケジューリング手段4dは、複数のバックアップ処理の実施期間が重複する場合、少なくとも1つのバックアップ処理の実施期間を変更したバックアップスケジュールを作成する。なおスケジューリング手段4dは、バックアップ処理の実施期間を変更する場合、ボリューム1bにアクセスのない期間へ変更したバックアップスケジュールを作成する。
また、スケジューリング手段4dは、作成したバックアップスケジュールを管理者6が使用する端末装置5に表示させることができる。例えば、端末装置5が情報処理装置4に直接接続されていれば、スケジューリング手段4dは、例えば、作成したバックアップスケジュールを端末装置5の画面に表示する。端末装置5がネットワークを介して情報処理装置4に接続されている場合、スケジューリング手段4dは、例えば、管理者6のメールアドレスを宛先とした電子メールを送信する。これにより、メールサーバ経由でバックアップスケジュールが端末装置5に転送される。この場合、管理者6が受信メールを端末装置5で開封することで、バックアップスケジュールが端末装置5の画面に表示される。
このようなシステムによれば、バックアップサーバ3により、ディスク装置1内のボリューム1bからテープ装置2内の磁気テープ7へのデータのバックアップが実行されると、ディスク装置1においてボリューム1bへのシーケンシャルリードが行われる。すると、ボリューム1bに対してシーケンシャルリードが行われたことを示すアクセス情報が、監視手段1dによって記憶手段1eに格納される。
記憶手段1eに記憶されたアクセス情報は、情報処理装置4の取得手段4aで取得される。そして、判断手段4bによってボリューム1bに対してシーケンシャルリードが行われたことが認識され、ボリューム1bがバックアップ処理のバックアップ対象であると判断される。このようにして、ディスク装置1内におけるボリューム1bへのアクセス状況を解析することで、ボリューム1bへのバックアップ処理の実施状況を認識できる。バックアップ処理の実施状況が把握できれば、ディスク装置1やテープ装置2内のアクセス状況などとバックアップ処理の実施状況とを照合し、効率的なバックアップ処理の実行を支援することが可能となる。
例えば、ディスク装置1内でのボリューム1a,1b間のバックアップ処理中に、バックアップサーバ3によるボリューム1bからテープ装置2へのバックアップ処理が開始された場合、テープ装置2における動作要求への応答を遅延させることができる。
具体的には、取得手段4aにより、テープ装置2内の磁気テープ7へのデータのバックアップに伴うテープ装置2への動作指示の入力状況が監視される。テープ装置2へ動作指示が入力されると、判断手段4bにより、その時点でのアクセス情報が取得され、動作指示で指定されている磁気テープ7へのバックアップ対象とされているディスク装置1内のボリューム1bが判断される。例えば、テープ装置2へのデータライトの動作要求が入力されたときにボリューム1bに対してシーケンシャルリードが行われていれば、ボリューム1bがバックアップ対象であると判断できる。
さらに、バックアップ手段1cがボリューム1aのデータのボリューム1bへのバックアップ処理を開始すると、取得手段4aにより、ディスク装置1内のボリューム1a,1b間でのバックアップ処理の開始を示す開始情報が取得される。すると、判断手段4bにより、ディスク装置1内のボリューム1a,1b間でのバックアップ処理におけるバックアップ先のボリューム1bの判別が行われる。すなわち、バックアップ先のボリューム1bがテープ装置2への動作指示で指定されている磁気テープ7へのバックアップ対象とされているディスク装置1内のボリューム1bと一致するか否かが判断される。一致すると判断された場合、指示手段4cにより、テープ装置2に対して動作作指示に対する応答を遅延させることを指示する遅延指示が出される。すると、テープ装置2のドライブ制御手段2bにより、動作指示に応じた動作後、所定の遅延時間を挟んで、バックアップサーバ3に対する応答が行われる。
このように動作指示に対する応答を遅延させることで、ディスク装置1内でのボリューム間バックアップ処理のバックアップ先とされたボリューム1bへの単位時間当たりのデータリードの回数を減少させることができる。データリード回数が減少する分、ボリューム1bに対して、ボリューム間バックアップ処理によるデータの書き込みを効率よく行うことができる。ボリューム間バックアップ処理の効率を向上させることで、ボリューム間バックアップ処理のバックアップ対象のボリューム1aを利用した業務の処理効率の低下が抑制される。
また、ディスク装置1やテープ装置2内のアクセス状況などとバックアップ処理の実施状況とを照合することで、例えば、バックアップサーバ3によるバックアップスケジュールの改善策を提示することが可能となる。
具体的には、スケジューリング手段4dにより、シーケンシャルリードが開始されてから終了するまでの期間がバックアップ処理の実施期間と判断される。そして、複数のバックアップ処理の実施期間が重複する場合、スケジューリング手段4dにより、少なくとも1つのバックアップ処理の実施期間を、バックアップ対象のボリューム1bにアクセスのない期間に変更したバックアップスケジュールが作成される。作成されたバックアップスケジュールは、管理者6が使用する端末装置5に表示される。
このように、バックアップ処理の実施期間を改善したバックアップスケジュールを管理者6に提示することで、管理者6は、バックアップサーバ3に対して適切なバックアップスケジュールを設定することができる。しかも、ディスク装置1のアクセス情報を利用してバックアップスケジュールを作成するため、バックアップ対象のボリュームへのアクセスがない時間帯をバックアップ処理の変更後の実施期間とすることが可能である。すなわち、バックアップサーバ3では、現行のバックアップスケジュールは把握できても、ディスク装置1内の各ボリュームへのアクセス状況は把握できない。一方、情報処理装置4では、ディスク装置1のアクセス情報に基づいて現行のバックアップ処理の状況を把握しているため、そのアクセス情報を用いて各ボリュームへのアクセス状況も容易に把握できる。その結果、再スケジュールの際のバックアップ処理の実施期間として、バックアップ対象のボリュームにアクセスがない期間を指定できる。その結果、バックアップの処理効率を向上させることが可能となる。
なお、図1に示す情報処理装置4の機能は、例えばCPU(Central Processing Unit)による演算処理により実現できる。
図2は、第1の実施の形態に用いる情報処理装置のハードウェアの一構成例を示す図である。情報処理装置4は、CPU4−1によって装置全体が制御されている。CPU4−1には、バス4−8を介してRAM(Random Access Memory)4−2と複数の周辺機器が接続されている。
RAM4−2は、情報処理装置4の主記憶装置として使用される。RAM4−2には、CPU4−1に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM4−2には、CPU4−1による処理に必要な各種データが格納される。
バス4−8に接続されている周辺機器としては、ハードディスクドライブ(HDD:Hard Disk Drive)4−3、グラフィック処理装置4−4、入力インタフェース4−5、光学ドライブ装置4−6、および通信インタフェース4−7がある。
HDD4−3は、内蔵したディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。HDD4−3は、情報処理装置4の二次記憶装置として使用される。HDD4−3には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、二次記憶装置としては、フラッシュメモリなどの半導体記憶装置を使用することもできる。
グラフィック処理装置4−4には、モニタ9aが接続されている。グラフィック処理装置4−4は、CPU4−1からの命令に従って、画像をモニタ9aの画面に表示させる。モニタ9aとしては、CRT(Cathode Ray Tube)を用いた表示装置や液晶表示装置などがある。
入力インタフェース4−5には、キーボード9bとマウス9cとが接続されている。入力インタフェース4−5は、キーボード9bやマウス9cから送られてくる信号をCPU4−1に送信する。なお、マウス9cは、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
光学ドライブ装置4−6は、レーザ光などを利用して、光ディスク9dに記録されたデータの読み取りを行う。光ディスク9dは、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク9dには、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。
通信インタフェース4−7は、ネットワーク8に接続されている。通信インタフェース4−7は、ネットワーク8を介して、ディスク装置1またはテープ装置2との間でデータの送受信を行う。
以上のようなハードウェア構成によって、第1の実施の形態の処理機能を実現することができる。
〔第2の実施の形態〕
次に第2の実施の形態について説明する。第2の実施の形態は、D2D2Tバックアップ方式によりデータのバックアップを行うシステムにおけるバックアップ処理の効率化を、ディスク装置とテープ装置との連携処理によって実現するものである。
・システム構成
図3は、第2の実施の形態のシステム構成例を示す図である。第2の実施の形態では、SAN(Storage Area Network)10によって、業務サーバ20、バックアップサーバ30、ディスク装置100、およびテープ装置200が接続されている。
業務サーバ20は、ディスク装置100に格納したデータを利用して、各種業務を実行するコンピュータである。例えば、業務サーバ20は、ユーザからのトランザクション要求に応じてディスク装置100内に設けられたデータベースにアクセスし、その結果をユーザが使用する端末装置に応答する。業務サーバ20には、複数のHBA(Host Bus Adapter)21,22を有している。HBA21,22は、SAN10に接続されている。業務サーバ20は、HBA21,22を介して、ディスク装置100にアクセスすることができる。
バックアップサーバ30は、ディスク装置100内のデータをテープ装置200内に装着されたメディア(磁気テープ)へのバックアップ処理を行う。例えば、バックアップサーバ30は、予め設定されたスケジュールに従ってバックアップ処理を実行する。バックアップ処理では、バックアップサーバ30は、まずディスク装置100からバックアップ対象のデータを読み込む。次に、バックアップサーバ30は、読み込んだデータを、テープ装置200内のメディアに書き込む。なお、バックアップサーバ30には、複数のHBA31,32を有している。HBA31,32は、SAN10に接続されている。バックアップサーバ30は、HBA31,32を介して、ディスク装置100とテープ装置200とにアクセスすることができる。
ディスク装置100は、複数のハードディスクドライブを用いてRAIDシステムを構成している。ディスク装置100には、複数のコントローラモジュール(CM)110,120を有している。CM110,120は、SAN10を介して接続された業務サーバ20やバックアップサーバ30からの要求に従って、ディスク装置100内のRAIDシステムを制御する。
CM110は、ホスト接続用アダプタ(CA:Channel Adaptor)111とCPU112とを有する。CA111は、業務サーバ20やバックアップサーバ30との通信を行う通信インタフェースである。CPU112は、接続されたRAIDグループ130−1,130−2を管理する。またCPU112は、業務サーバ20やバックアップサーバ30からの要求を解析し、RAIDグループ130−1,130−2へのアクセスを行う。
CM120は、CA121とCPU122とを有する。CA121は、業務サーバ20やバックアップサーバ30との通信を行う通信インタフェースである。CPU122は、接続されたRAIDグループ140−1,140−2を管理する。またCPU122は、業務サーバ20やバックアップサーバ30からの要求を解析し、RAIDグループ140−1,140−2へのアクセスを行う。
ディスク装置100内には、複数のRAIDグループ130−1,130−2,140−1,140−2が構成されている。各RAIDグループ130−1,130−2,140−1,140−2は、LUN(Logical Unit Number)と呼ばれる識別番号が付与された複数の論理ボリュームに分割される。図3の例では、業務サーバ20によるアクセスの対象となるデータを格納する論理ボリュームを、業務ボリューム131,141と呼ぶ。また、業務ボリューム131,141に格納されたデータの複製データを格納する論理ボリュームを、複製ボリューム132,142と呼ぶ。
ディスク装置100では、予め設定されたスケジュールに従って、業務ボリューム131内のデータが複製ボリューム132にコピーされる。例えば、スナップショットと呼ばれる技術を用い、指定されたある時刻における業務ボリューム131内のデータが複製ボリューム132にコピーされる。同様に予め設定されたスケジュールに従って、業務ボリューム141内のデータが複製ボリューム142にコピーされる。
テープ装置200は、複数のメディアのうちの1つを選択し、選択したメディアに対してデータの書き込みや、データの読み出し処理を行う。テープ装置200は、ロボット210と複数のテープドライブ221,231,241,251を有している。
ロボット210は、メディアが収納された棚(収納棚)からメディアカートリッジを取り出し、テープドライブ221,231,241,251に挿入する。また、ロボット210は、テープドライブ221,231,241,251から排出されたメディアを、収納棚の指定された位置に収納する。
テープドライブ221,231,241,251は、メディアへのリード・ライトを行う装置である。図3の例では、テープドライブ221,231は、LTO(Linear Tape-Open)の第4世代の規格(LTO Ultrium 4)に対応している。またテープドライブ241,251は、LTOの第3世代の規格(LTO Ultrium 3)に対応している。第4世代(G4)の規格は、第3世代(G3)の規格よりも高速にデータの入出力が可能である。
・バックアップ処理の効率化の概要
図3に示した構成のシステムにより、バックアップ処理の効率化の支援が行われる。バックアップ処理の効率化には、例えばバックアップスケジュールの改善情報提示処理と、バックアップ時のテープドライブの動作の遅延制御とがある。
図4は、改善対象となるバックアップスケジュールの例を示す図である。図4には、1日の間で実行されたバックアップジョブの実行時間帯を示している。図4の例では、「LUN1」に対して、0時から8時までの時間帯に「バックアップジョブ#1」が実行されている。「LUN2」に対して、1時から4時までの時間帯に「バックアップジョブ#2」が実行されている。「LUN3」に対して、1時から7時までの時間帯に「バックアップジョブ#3」が実行されている。
すると、1時から4時までの時間帯は、バックアップジョブが3多重で実行されていることとなる。また、4時から7時までの時間帯は、バックアップジョブが2多重で実行されていることとなる。
ディスク装置100からテープ装置200へのバックアップデータの転送は、バックアップサーバ30を介して行われる。そのため、図4に示すように、多重化されてジョブが実行されていると、バックアップサーバ30の負荷が過大となる。その結果、テープドライブの性能を活かすことができない。
そこで、第2の実施の形態では、テープ装置200のテープ状態監視部271において、バックアップジョブが多重化されている時間帯を検出し、バックアップスケジュールの改善提案を行う。例えば、テープ状態監視部271は、多重化されて実行されている複数のバックアップジョブの少なくとも1つを、他の空いた時間帯に実行させることを提案する。提案内容は、テープ状態監視部271により、例えば電子メールで管理者に通知される。
図5は、テープドライブの動作の遅延制御が有効なバックアップ例を示す図である。図5の例では、業務ボリューム401,・・・40nには、速度重視により高速にアクセス可能なRAIDグループ#1内の論理ボリュームを使用している。他方、複製ボリューム410には、容量重視により、1つのRAIDグループ#2内に設けられた大容量の論理ボリュームを使用している。例えば、複製ボリューム410が設けられたRAIDグループ#2は、例えばニアラインディスクと呼ばれる。ニアラインディスクトは、アクセス頻度は低いが必要なときにすぐにアクセス可能なディスク装置のことである。そして、複数の業務ボリューム401,・・・,40nそれぞれのデータが、1つの複製ボリューム410にバックアップされている。また、複製ボリューム410にバックアップされたデータは、複数のテープドライブ421,・・・,42nに、バックアップ対象の業務ボリューム別にバックアップされている。
「Disk to Disk(D2D)」においては、図5に示したようにバックアップ用の領域として大容量のニアラインディスクを使用することが多い。そのため、バックアップ処理がn:1(nは1以上の整数)となり、ニアラインディスクとして使用するRAIDグループ#2内のアクセス競合が発生しやすくなる。さらに、D2Dのバックアップと複製ボリュームからのメディアへのバックアップとが重なると、複製ボリュームの読み込み負荷に合わせて、業務ボリュームからのコピー負荷も高くなる。これは、業務ボリュームに対して未転送データの参照が発生するためである。
また、RAID5はRAID1に比べて実効容量を確保できることから、一般的に複製ボリュームの領域にはRAID5構成が用いられることが多い。ところが、RAID5はリードレスポンスに比べてライトレスポンスが遅い。そのため、業務ボリュームから複製ボリュームへのバックアップと、複製ボリュームからテープ装置へのバックアップとが重なると、テープ装置へのデータ転送処理の効率低下がより顕著となる。
そこで、第2の実施の形態では、ディスク装置100内でD2Dのバックアップ処理の実行中は、テープ装置においてバックアップ処理に関する個々の動作の実行タイミングを適宜遅延させる。これにより、複製ボリューム410におけるアクセス競合などに起因する処理効率の低下を抑制することができる。なお、D2Dのバックアップは、例えば、スナップショットと呼ばれる技術を用いることができる。スナップショットは、業務ボリュームへのアクセスを停止させずに、バックアップ処理の開始時点の業務ボリューム内の全データを複製ボリュームにコピーする処理である。
・バックアップ処理の効率化に利用される機能
バックアップ処理の効率化に利用されるディスク装置100とテープ装置200との機能について説明する。
なお、ディスク装置100とテープ装置200とは、バックアップの動作情報を認識するために、データアクセスに関する情報を採取する。さらにディスク装置100とテープ装置200とは、採取した情報を整理する。そして、ディスク装置100とテープ装置200とは、整理した情報に基づいて、バックアップスケジュールの改善策の判断や、テープ装置200における動作遅延判断を行う。その際、情報の蓄積、整理に関する以下の値が、予めディスク装置100とテープ装置200とに設定される。
「データ採取間隔」
データ採取間隔は、業務ボリューム、複製ボリューム、テープ装置の監視(データ採取)の時間間隔である。例えば、10秒の値がデータ採取間隔として設定される。
「ナレッジ期間」
ナレッジ期間は、採取したデータの保持期間である。例えば、1週間の値が設定される。
「ナレッジ精度」
ナレッジ精度は、採取したデータにより「状態(idle/busy)」の判断の対象とする時間帯の長さである。例えば、1時間の値が設定される。
「閾値」
閾値は、データ採取間隔ごとに採取したI/O回数を、記録として残すか否かの判断基準となる値である。I/O回数が閾値以上であれば、そのアクセス回数が記録される。
図6は、ディスク装置の機能を示すブロック図である。ディスク装置100は、複数の制御部150,160、複数の通信部171〜174、表示部175、および複数のディスクドライブ181,182,183,184,185,・・・を有している。
制御部150と通信部171,172とは、CM110によって実現される機能である。通信部171は、業務サーバ20やバックアップサーバ30などの上位機器との間で通信を行う。通信部172は、テープ装置200との間で通信を行う。
制御部150は、通信部171を介して業務サーバ20やバックアップサーバ30との間でデータの送受信を行う。また制御部150は、通信部172を介してテープ装置200との間でデータの送受信を行う。さらに制御部150は、端末装置を直接接続して、端末装置との間でデータの送受信を行うことができる。
制御部150は、ディスク状態監視部151、管理テーブル記憶部152、およびディスク制御部153を有している。ディスク状態監視部151は、テープ装置200と連携して、テープバックアップを支援する処理を行う。例えば、制御部150は、業務ボリューム131や複製ボリューム132からテープバックアップ処理の効率化に有用な情報を採取し、テープ装置200に送信する。管理テーブル記憶部152は、ディスク状態監視部151が採取した情報などを記憶する。例えば、CM110内のRAMの記憶領域の一部が、管理テーブル記憶部152として使用される。ディスク制御部153は、業務サーバ20やバックアップサーバ30からの要求に応じて、業務ボリュームや複製ボリュームへのアクセスを行う。またディスク制御部153は、「Disk to Disk」によって、業務ボリューム131内のデータの複製を、複製ボリューム132に格納する。
制御部160と通信部173,174とは、CM120によって実現される機能である。通信部173は、業務サーバ20やバックアップサーバ30などの上位機器との間で通信を行う。通信部174は、テープ装置200との間で通信を行う。
制御部160は、通信部173を介して業務サーバ20やバックアップサーバ30との間でデータの送受信を行う。また制御部160は、通信部174を介してテープ装置200との間でデータの送受信を行う。さらに制御部160は、端末装置を直接接続して、端末装置との間でデータの送受信を行うことができる。
制御部160は、ディスク状態監視部161、管理テーブル記憶部162、およびディスク制御部163を有している。ディスク状態監視部161は、テープ装置200と連携して、テープバックアップを支援する処理を行う。例えば、制御部160は、業務ボリューム141や複製ボリューム142からテープバックアップ処理の効率化に有用な情報を採取し、テープ装置200に送信する。管理テーブル記憶部162は、ディスク状態監視部161が採取した情報などを記憶する。例えば、CM120内のRAMの記憶領域の一部が、管理テーブル記憶部162として使用される。ディスク制御部163は、「Disk to Disk」によって、業務ボリューム141内のデータの複製を、複製ボリューム142に格納する。
表示部175は、ディスク装置100の状態などを表示する。例えば表示部175は、制御部150,160がエラーを検知した場合のエラーコードなどを表示する。
ディスクドライブ181,182,183,184,185,・・・は、磁気ディスクへのデータの書き込みや、磁気ディスクからのデータの読み出しを行う。なお、ディスク装置100では、例えば性能の異なるディスクドライブを内蔵することができる。その場合、アクセス速度の速いディスクドライブで1つのRAIDグループを構成し、そのRAIDグループの記憶領域を分割して業務ボリュームとしてもよい。また、容量の大きいディスクドライブで1つのRAIDグループを構成し、そのRAIDグループの記憶領域を分割して複製ボリュームとしてもよい。業務ボリュームと複製ボリュームとを別個のRAIDグループにする場合、業務ボリュームが属するRAIDグループには、例えばRAID0+1のRAIDシステムを採用する。また複製ボリュームが属するRAIDグループには、例えばRAID5のRAIDシステムを採用する。
図7は、ディスク装置内の管理テーブル記憶部に格納されるテーブル例を示す図である。管理テーブル記憶部152には複数の管理テーブルが格納される。格納される管理テーブルは、業務ボリューム管理テーブル群152aと複製ボリューム管理テーブル群152bに分けられる。業務ボリューム管理テーブル群152aは、業務ボリューム131から採取したデータを管理する管理テーブルの集合である。複製ボリューム管理テーブル群152bは、複製ボリューム132から採取したデータを管理する管理テーブルの集合である。
業務ボリューム管理テーブル群152aには、データ採取テーブル41、ナレッジテーブル42、および複数の整理済ナレッジテーブル51,52,53,・・・が含まれている。データ採取テーブル41は、業務ボリューム131から採取したデータを設定するデータテーブルである。ナレッジテーブル42は、データ採取テーブル41に設定されたデータを所定の精度(ナレッジ精度)で分割した時間帯(ナレッジ時間帯)ごとのI/O状態が設定されるデータテーブルである。整理済ナレッジテーブル51,52,53,・・・は、ナレッジテーブル42のデータを予め指定された単位期間で整理した結果が設定されるデータテーブルである。例えば、ナレッジ精度の期間を単位期間として整理した結果が整理済ナレッジテーブル51に設定され、1日を単位期間として整理した結果が整理済ナレッジテーブル52に設定される。
複製ボリューム管理テーブル群152bには、データ採取テーブル61、ナレッジテーブル62、および複数の整理済ナレッジテーブル71,72,73,・・・が含まれている。データ採取テーブル61は、複製ボリューム132から採取したデータを設定するデータテーブルである。ナレッジテーブル62は、データ採取テーブル61に設定されたデータを所定の精度(ナレッジ精度)で集計した結果が設定されるデータテーブルである。整理済ナレッジテーブル71,72,73,・・・は、ナレッジテーブル62のデータを予め指定された単位期間で整理した結果が設定されるデータテーブルである。例えば、ナレッジ精度の期間を単位期間として整理した結果が整理済ナレッジテーブル71に設定され、1日を単位期間として整理した結果が整理済ナレッジテーブル72に設定される。
次に、テープ装置200の機能について説明する。
図8は、テープ装置の機能を示すブロック図である。テープ装置200には、ロボット210、複数のドライブモジュール220,230,240,250、複数の通信部261,262、制御部270、表示部282、収納棚283、および外部投入口284を有する。
ドライブモジュール220,230,240,250は、それぞれ図3に示したテープドライブ221,231,241,251を内蔵している。ドライブモジュール220,230,240,250は、内蔵するテープドライブ221,231,241,251を制御し、SAN10を介して入力されたデータのメディアへの書き込みなどを行う。
通信部261は、業務サーバ20やバックアップサーバ30などの上位機器との間で通信を行う。通信部262は、ディスク装置100との間で通信を行う。
制御部270、表示部282、収納棚283、および外部投入口284は、ロボット210を用いて、テープドライブに対するメディアの出し入れを行う要素である。
制御部270は、CPUやRAMによって実現される機能である。制御部270には、テープ状態監視部271、管理テーブル記憶部272、およびライブラリ制御部273が設けられている。
テープ状態監視部271は、ディスク装置100内のデータのメディアへのバックアップ処理を制御する。また、テープ状態監視部271は、テープドライブの動作状況などのアクセス情報を採取する。またテープ状態監視部271は、通信部262を介してディスク装置100のディスク状態監視部151,161と通信し、ディスク装置100が採取したアクセス情報を取得する。
さらにテープ状態監視部271は、ディスク装置100から取得したアクセス情報と、テープ状態監視部271が採取したアクセス情報とに基づいて、「Disk to Tape」のバックアップ処理の内容を解析する。例えばテープ状態監視部271は、ディスク装置100から取得したデータに基づいて、バックアップ処理におけるバックアップ対象の複製ボリュームを判断する。またテープ状態監視部271は、ディスク装置100から取得したデータに基づいて、ディスク装置100内で「Disk to Disk」のバックアップ処理におけるバックアップ先の複製ボリュームを判断する。例えばテープ状態監視部271は、バックアップサーバ30からバックアップ用のデータが入力されたときに、シーケンシャルリードが行われているディスク装置100内の複製ボリュームを、「Disk to Tape」のバックアップ対象と判断する。
そしてテープ状態監視部271は、ディスク装置100から取得したアクセス情報と、テープ状態監視部271が採取したアクセス情報とに基づいて、効率的なバックアップ時期を判断する。例えば、テープ状態監視部271は、バックアップジョブが多重化して実行されている場合、バックアップの空き時間を探し、空き時間にバックアップの実行時間を変更するスケジュール修正案を作成する。テープ状態監視部271は、作成したバックアップのスケジュール修正案を、システムの管理者宛に例えば電子メールで通知する。また、テープ状態監視部271は、ディスク装置100から取得したアクセス情報に応じて、メディアのマウント処理、レディ応答処理、ライト処理などを遅延させる。ここでマウント処理とは、メディアなどの記憶媒体をシステムに認識させる処理である。レディ応答処理とは、メディアなどの記憶媒体がアクセス可能となったことを通知する処理である。
管理テーブル記憶部272は、テープ状態監視部271が採取した情報などを記憶する。例えば、テープ装置200内のRAMの記憶領域の一部が、管理テーブル記憶部272として使用される。
ライブラリ制御部273は、ロボット210を制御して、収納棚283に格納されたテープカートリッジを、テープドライブに挿入する。またライブラリ制御部273は、ロボット210を制御して、テープドライブから排出されたテープカートリッジを、収納棚283に収納する。
ロボット210は、ライブラリ制御部273の制御に従って、収納棚283からテープカートリッジを機械的なアームで取り出し、テープドライブの場所まで運搬し、テープドライブのメディア挿入口からテープカートリッジを挿入する。また、ロボット210は、ライブラリ制御部273の制御に従って、テープドライブのメディア挿入口からテープカートリッジをアームにより取り出し、収納棚283の場所まで運搬し、収納棚283の指定された位置にテープカートリッジを収納する。
表示部282は、ライブラリ制御部273から指示された情報を画面に表示する。収納棚283は、テープカートリッジを収納する棚である。収納棚283には、テープカートリッジを収納可能なスロット283aが複数設けられている。外部投入口284は、収納棚283にテープカートリッジを外部から挿入するための開口部である。
図9は、ドライブモジュールの内部構造例を示す図である。ドライブモジュール220は、テープドライブ221と制御部222とを有している。テープドライブ221は、挿入されたテープカートリッジ内のメディアにデータのリード・ライトを行う。制御部222は、上位装置からのアクセス要求に従ってテープドライブ221を制御する。
なお、図9にはドライブモジュール220の内部構造を示したが、他のドライブモジュール230,240,250の内部構造も図9に示した構造と同様である。
図10は、テープ装置内の管理テーブル記憶部に格納されるテーブル例を示す図である。管理テーブル記憶部272は、データ採取テーブル81、複製ボリューム別データテーブル82、ボリューム別ナレッジテーブル83、ドライブ別ナレッジテーブル84、ジョブ管理テーブル85、整理済ナレッジテーブル91,92,93,・・・、および提案スケジュールテーブル310を有する。
データ採取テーブル81は、テープドライブから採取したデータを設定するデータテーブルである。複製ボリューム別データテーブル82は、データ採取テーブル81からバックアップ対象である複製ボリュームに関するデータのみを抽出したものである。ボリューム別ナレッジテーブル83は、データ採取テーブル81に設定されたデータを、複製ボリュームごとに所定の精度(ナレッジ精度)で集計した結果が設定されるデータテーブルである。ドライブ別ナレッジテーブル84は、データ採取テーブル81に設定されたデータを、テープドライブごとに所定の精度(ナレッジ精度)で集計した結果が設定されるデータテーブルである。ジョブ管理テーブル85は、バックアップジョブごとの情報が設定されるデータテーブルである。整理済ナレッジテーブル91,92,93,・・・は、ボリューム別ナレッジテーブル83、ドライブ別ナレッジテーブル84のデータを予め指定された条件で整理した結果が設定されるデータテーブルである。例えば、ナレッジ精度の期間を単位期間として複製ボリュームごとに整理した結果が整理済ナレッジテーブル91に設定される。
提案スケジュールテーブル310は、バックアップジョブの改善案が設定されるデータテーブルである。
・連携処理の概要
次に、バックアップ処理に関連する装置間の連携処理の概要について説明する。
図11は、装置間の連携処理を示す図である。業務サーバ20は、ディスク装置100の業務ボリューム131に対して業務に伴うアクセス(業務アクセス)を行う。ディスク装置100では、ディスク制御部153が、業務アクセスに応じて業務ボリューム131に対してデータのリードまたはデータのライトを行う。またディスク装置100では、バックアップサーバ30からの指示に応じて、ディスク制御部153によって、業務ボリューム131のデータが複製ボリューム132にバックアップされる。業務ボリューム131から複製ボリューム132へのバックアップ処理では、ディスク制御部153によって、業務ボリューム131からデータのシーケンシャルリードが行われ、複製ボリューム132に対してシーケンシャルライトが行われる。
このような、業務ボリューム131や複製ボリューム132へのリードやライト処理は、ディスク装置100内のディスク状態監視部151で監視される。ディスク状態監視部151は、アクセス回数などの情報を管理テーブル記憶部152に格納する。また、業務ボリューム131から複製ボリューム132へのバックアップが開始された場合、ディスク状態監視部151は、テープ装置200に対してD2Dのバックアップの開始を通知する。
バックアップサーバ30は、予め設定されたスケジュールに従って、ディスク装置100に対して、業務ボリュームから複製ボリュームへのバックアップの指示を送信する。またバックアップサーバ30は、予め設定されたスケジュールに従ってディスク装置100の複製ボリューム132からテープ装置200へのバックアップ処理を実行する。その場合、バックアップサーバ30は、ディスク装置100に対して複製ボリューム132からのバックアップリードを行う。すると、ディスク装置100では、ディスク制御部153によって、複製ボリューム132に対してシーケンシャルリードが実行され、読み出されたデータがバックアップサーバ30に送信される。バックアップサーバ30は、バックアップリードによりディスク装置100から取得したデータを一時的に内部のメモリに格納する。
その後、バックアップサーバ30は、テープ装置200に対してバックアップライトを行う。この場合、テープ装置200では、ライブラリ制御部273によって、ロボット210に対してマウントメディア等の動作が指示される。ロボット210は、指示された動作を順に実行する。マウントメディアなどの一連の動作によりテープドライブ221に収納されたメディアに書き込み可能な状態となると、その旨がテープ装置200のライブラリ制御部273からバックアップサーバ30に通知される。すると、バックアップサーバ30からテープ装置200へ、バックアップ対象のデータが送信される。テープ装置200では、テープドライブ221によって、バックアップサーバ30から渡されたデータが、テープドライブ221に収納されたメディアに書き込まれる。バックアップ対象のデータの書き込みが完了すると、ライブラリ制御部273はメディアをアンマウントする。アンマウントとは、メディアをシステムの管理対象から除外する処理である。
バックアップに伴うテープドライブ221,231やロボット210の動作は、テープ状態監視部271で監視される。テープ状態監視部271は、監視することで得られた情報を、管理テーブル記憶部272に格納する。また、テープ状態監視部271は、所定のタイミングでディスク装置100の管理テーブル記憶部152に格納されたディスク装置100へのアクセス状態を参照する。
・業務ボリュームのデータ採取・整理処理の詳細
次に、業務ボリュームへのアクセス状態を示す情報の採取および整理処理について詳細に説明する。
図12は、業務ボリュームのデータ採取処理を示す図である。業務サーバ20からの業務アクセスは、ディスク装置100のディスク制御部153で受け取られる。ディスク制御部153は、業務アクセスに応じて業務ボリューム131にリードまたはライトのI/O要求を行い、その応答を受け取る。そして、ディスク制御部153は、業務ボリューム131へのアクセス結果を業務サーバ20に送信する。
このとき、ディスク状態監視部151により、業務ボリューム131へのI/Oが監視される。そしてディスク状態監視部151は、業務ボリューム131へのI/O状況を、管理テーブル記憶部152に格納する。
図13は、業務ボリュームのデータ採取処理の手順を示すフローチャートである。以下、図13に示す処理をステップ番号に沿って説明する。
[ステップS11]ディスク状態監視部151は、データ採取間隔で、各業務ボリュームのI/O回数を採取する。
[ステップS12]ディスク状態監視部151は、データ採取間隔で採取したI/O回数が、予め設定された閾値以上か否かを判断する。ディスク状態監視部151は、I/O回数が閾値以上であれば、処理をステップS13に進める。ディスク状態監視部151は、I/O回数が閾値未満であれば、処理をステップS14に進める。
[ステップS13]ディスク状態監視部151は、業務ボリューム管理テーブル群152a内のデータ採取テーブル41における現在の直前までのデータ採取時間帯に対して、採取したI/O回数を格納する。その後、ディスク状態監視部151は、処理をステップS15に進める。
[ステップS14]ディスク状態監視部151は、業務ボリューム管理テーブル群152a内のデータ採取テーブル41における現在の直前までのデータ採取時間帯に対して、I/O回数「0」を格納する。
[ステップS15]ディスク状態監視部151は、データ採取テーブル41の最初のレコードにデータ登録を開始してからの通算時間が1日に達したか否かを判断する。ディスク状態監視部151は、通算時間が1日に達した場合、処理をステップS16に進める。ディスク状態監視部151は、通算時間が1日に達していなければ、処理をステップS11に進める。
[ステップS16]ディスク状態監視部151は、データ採取対象のレコードをデータ採取テーブル41の先頭のレコードに移動し、処理をステップS11に進める。この際、通算時間は「0」にリセットされる。
このようにして、データ採取間隔ごとに、I/O回数がデータ採取テーブル41に登録される。なお、図13の処理は、複数の業務ボリュームそれぞれに対して実行される。
図14は、業務ボリュームのデータ採取テーブルのデータ構造例を示す図である。データ採取テーブル41には、データ採取時間帯と、業務ボリュームごとのI/O回数の欄とが設けられている。
データ採取時間帯の欄には、1日をデータ採取間隔で分割することで得られる個々の時間帯(データ採取時間帯)が設定される。図14の例では、データ採取間隔が10秒であり、1日の0時から24時までの10秒間隔の時間帯が、データ採取時間帯として設定されている。なお、データ採取時間帯を示す値は、0時からの通算の時間を秒で表している。
業務ボリュームごとのI/O回数の欄には、ディスク装置100内の業務ボリュームの識別番号(LUN)に対応付けて、データ採取時間帯ごとの業務ボリュームへのI/O回数が設定されている。
このようなデータ採取テーブル41に基づいて、ナレッジ期間をナレッジ精度で分割して得られるナレッジ時間帯ごとのI/O状態の判定が行われ、判定結果がナレッジテーブル42に登録される。
図15は、業務ボリュームのI/O状態判定処理の手順を示すフローチャートである。以下、図15に示す処理をステップ番号に沿って説明する。
[ステップS21]ディスク状態監視部151は、データ採取テーブル41の上位から順にナレッジ精度ごとの期間(ナレッジ時間帯)の業務ボリュームのI/O回数を加算する。具体的にはディスク状態監視部151は、データ採取テーブル41にナレッジ時間帯(例えば1時間)分のデータが登録されると、直近のナレッジ時間帯内のデータ採取時間帯それぞれのI/O回数を加算する。
[ステップS22]ディスク状態監視部151は、加算した結果が「0」か否かを判断する。ディスク状態監視部151は、加算結果が「0」であれば、処理をステップS23に進める。ディスク状態監視部151は、加算結果が「0」でなければ、処理をステップS24に進める。
[ステップS23]ディスク状態監視部151は、ナレッジ時間帯の加算結果が「0」であれば、ナレッジテーブル42のI/O回数の加算を行ったナレッジ時間帯に対して、「idle」を設定する。その後、ディスク状態監視部151は、処理をステップS25に進める。
[ステップS24]ディスク状態監視部151は、ナレッジ時間帯の加算結果が「0」以外であれば、ナレッジテーブル42のI/O回数の加算を行ったナレッジ時間帯に対して、「busy」を設定する。
[ステップS25]ディスク状態監視部151は、ナレッジ期間(例えば1週間)分の集計が完了したか否かを判断する。ディスク状態監視部151は、ナレッジ期間分の集計が完了した場合、処理をステップS26に進める。ディスク状態監視部151は、ナレッジ期間分の集計が完了していなければ、処理をステップS21に進める。
[ステップS26]ディスク状態監視部151は、データ集計対象の日を、ナレッジ期間の最初に戻す。例えば、ナレッジ期間が月曜日から次の日曜日までの1週間であれば、日曜日の集計が終了すると、次の集計日が月曜日に設定される。
このようにして、データ採取テーブル41から集計したデータが、ナレッジテーブル42に登録される。
図16は、業務ボリュームのナレッジテーブルのデータ構造例を示す図である。ナレッジテーブル42には、ナレッジ期間内曜日、ナレッジ時間帯、および業務ボリュームごとのI/O状態の欄が設けられている。
ナレッジ期間内曜日の欄には、ナレッジ期間内の曜日が設定されている。ナレッジ時間帯の欄には、ナレッジ期間をナレッジ精度で分割して得られる期間(ナレッジ時間帯)が設定される。業務ボリュームごとのI/O状態の欄には、ディスク装置100内の業務ボリュームの識別番号(LUN)に対応付けて、ナレッジ時間帯ごとの業務ボリュームのI/O状態が設定されている。I/O状態は、「idle」と「busy」のいずれかである。
ナレッジテーブルに設定されたデータ(ナレッジデータ)は、ナレッジ時間帯や曜日ごとに整理される。ナレッジデータの整理は、例えばナレッジ期間終了時に実行される。
図17は、ナレッジデータ整理処理の手順を示すフローチャートである。以下、図17に示す処理をステップ番号に沿って説明する。
[ステップS31]ディスク状態監視部151は、ナレッジテーブル42を参照し、状態のマージ(統合)対象となるナレッジ時間帯を選択する。例えば、ナレッジ時間帯によって整理する場合、ディスク状態監視部151は、異なる曜日の同じナレッジ時間帯を、状態の統合対象として選択する。また、曜日ごとに整理する場合、ディスク状態監視部151は、同じ曜日内の各ナレッジ時間帯を、状態の統合対象として選択する。
[ステップS32]ディスク状態監視部151は、選択した統合対象のナレッジ時間帯の状態がすべて「idle」か否かを判断する。ディスク状態監視部151は、すべて「idle」であれば、処理をステップS33に進める。またディスク状態監視部151は、少なくとも1つのナレッジ時間帯の状態が「busy」であれば、処理をステップS34に進める。
[ステップS33]ディスク状態監視部151は、統合結果として「idle」を整理済ナレッジテーブルに設定する。その後、ディスク状態監視部151は、処理をステップS35に進める。
[ステップS34]ディスク状態監視部151は、統合結果として「busy」を整理済ナレッジテーブルに設定する。
[ステップS35]ディスク状態監視部151は、状態をマージしていないナレッジ時間帯があるか否かを判断する。例えばディスク状態監視部151は、ナレッジテーブル42に登録されているナレッジ時間帯のすべてがステップS31で選択されていれば、ナレッジ時間帯のマージが完了したと判断する。ディスク状態監視部151は、マージしていないナレッジ時間帯があれば、処理をステップS31に進める。ディスク状態監視部151は、すべてのナレッジ時間帯のマージが完了した場合、処理を終了する。
図18は、ナレッジ時間帯で整理した整理済ナレッジテーブルのデータ構造例を示す図である。整理済ナレッジテーブル51には、ナレッジ期間、ナレッジ時間帯、および業務ボリュームごとのI/O状態の欄が設けられている。
ナレッジ期間の欄には、ナレッジ期間が示されている。図18の例では、月曜日から日曜日までの1週間がナレッジ期間である。ナレッジ時間帯の欄には、ナレッジ時間帯が設定されている。図18の例では、1日を1時間(ナレッジ精度)で分割することで得られる1時間ずつの24時間分の時間帯が設定されている。業務ボリュームごとのI/O状態の欄には、対応するナレッジ時間帯のI/O状態の統合結果が、業務ボリュームごとに設定される。
例えば、整理済ナレッジテーブル51の業務ボリューム「LUN0」のナレッジ時間帯「00〜01」(0時から1時)のナレッジ時間帯の「I/O」状態は、「idle」である。これはナレッジ期間内のいずれの日においても、0時から1時の間に閾値以上のI/Oが行われていないことを示している。また、整理済ナレッジテーブル51の業務ボリューム「LUN0」のナレッジ時間帯「07〜08」(7時から8時)のナレッジ時間帯の「I/O」状態は、「busy」である。これはナレッジ期間内の少なくとも1日において、7時から8時の間に閾値以上のI/Oが行われたことを示している。
図19は、曜日で整理した整理済ナレッジテーブルのデータ構造例を示す図である。整理済ナレッジテーブル52には、曜日、および業務ボリュームごとのI/O状態の欄が設けられている。曜日の欄には、ナレッジ期間内の曜日が設定されている。業務ボリュームごとのI/O状態の欄には、対応する曜日のI/O状態の統合結果が、業務ボリュームごとに示されている。
例えば、整理済ナレッジテーブル52の業務ボリューム「LUN0」の月曜日のI/O状態は「busy」である。これは「LUN0」の業務ボリュームに対して、月曜日内の少なくとも1時間は、閾値以上のI/Oが発生していることを示している。また整理済ナレッジテーブル52の業務ボリューム「LUN2」の月曜日のI/O状態は「idle」である。これは「LUN2」の業務ボリュームに対して、月曜日には、閾値以上のI/Oが発生したナレッジ時間帯が存在しないことを示している。
・複製ボリュームのデータ採取・整理処理
次に、複製ボリュームへのアクセス状態を示す情報の採取および整理処理について詳細に説明する。
図20は、複製ボリュームのデータ採取処理を示す図である。バックアップサーバ30からディスク装置100へ、D2Dバックアップ指示が出される。するとディスク装置100のディスク制御部153は、D2Dバックアップ指示に応じて、複製ボリューム132との間でセションを確立する。次にディスク制御部153は、業務ボリューム131からデータを読み出し、複製ボリューム132に「Disk to Disk」でバックアップする。ディスク制御部153は、バックアップ完了後、セションを切断する。
またバックアップサーバ30においてバックアップジョブが実行されると、そのバックアップジョブが、複製ボリューム132内のデータの読み出し(データリード)要求をディスク装置100に対して行う。すると、ディスク装置100のディスク制御部153が複製ボリューム132からデータを読み出し、バックアップサーバ30に送信する。
ディスク制御部153による複製ボリューム132へI/Oのアクセスなどの状態は、ディスク状態監視部151により監視されている。例えばディスク状態監視部151は、複製ボリューム132に対するI/Oを監視し、管理テーブル記憶部152にI/Oの回数を蓄積する。また、ディスク状態監視部151は、D2Dバックアップのセション確立・切断を検知し、その旨をテープ装置200に通知する。なお、セション確立は、D2Dバックアップの開始を意味する。またセションの切断は、D2Dバックアップの終了を意味する。セション確立の通知には、例えば、開始されるD2Dバックアップによるバックアップ先の複製ボリュームの識別番号が含まれる。また、セション切断の通知には、終了したD2Dバックアップによるバックアップ先の複製ボリュームの識別番号が含まれる。
図21は、複製ボリュームのデータ採取処理の手順を示すフローチャートである。以下、図21に示す処理をステップ番号に沿って説明する。
[ステップS41]ディスク状態監視部151は、データ採取間隔で、各複製ボリュームのシーケンシャルアクセスの回数を、リードとライトとのそれぞれについて採取する。なお、シーケンシャルアクセスとは、ディスク装置内の連続した記憶領域に対して連続で実行されるアクセスである。連続した領域へのデータの書き込みのシーケンシャルアクセスは、特にシーケンシャルライトと呼ばれる。連続した領域からのデータの読み出しのシーケンシャルアクセスは、特にシーケンシャルリードと呼ばれる。
シーケンシャルアクセスのI/O回数を計数する場合、例えば、一連のシーケンシャルアクセス中に10回のI/Oが行われれば、I/O回数を10回と数える。
[ステップS42]ディスク状態監視部151は、データ採取間隔で採取したI/O回数が、予め設定された閾値以上か否かを判断する。ディスク状態監視部151は、I/O回数が閾値以上であれば、処理をステップS43に進める。ディスク状態監視部151は、I/O回数が閾値未満であれば、処理をステップS44に進める。
[ステップS43]ディスク状態監視部151は、複製ボリューム管理テーブル群152b内のデータ採取テーブル61における現在の直前までのデータ採取時間帯に対して、採取したI/O回数を格納する。その後、ディスク状態監視部151は、処理をステップS45に進める。
[ステップS44]ディスク状態監視部151は、複製ボリューム管理テーブル群152b内のデータ採取テーブル61における現在の直前までのデータ採取時間帯に対して、I/O回数「0」を格納する。
[ステップS45]ディスク状態監視部151は、データ採取テーブル61の最初のレコードにデータ登録を開始してからの通算時間が1日に達したか否かを判断する。ディスク状態監視部151は、通算時間が1日に達した場合、処理をステップS46に進める。ディスク状態監視部151は、通算時間が1日に達していなければ、処理をステップS41に進める。
[ステップS46]ディスク状態監視部151は、データ採取対象のレコードをデータ採取テーブル61の先頭のレコードに移動し、処理をステップS41に進める。この際、通算時間は「0」にリセットされる。
このようにして、データ採取間隔ごとに、I/O回数がデータ採取テーブル61に登録される。なお、図21の処理は、複数の複製ボリュームそれぞれに対して実行される。
図22は、複製ボリュームのデータ採取テーブルのデータ構造例を示す図である。データ採取テーブル61には、データ採取時間帯と、複製ボリュームごとのI/O回数の欄とが設けられている。
データ採取時間帯の欄には、1日をデータ採取間隔で分割することで得られる個々の時間帯(データ採取時間帯)が設定される。図22の例では、データ採取間隔が10秒であり、1日の0時から24時までの10秒間隔の時間帯が、データ採取時間帯として設定されている。なお、データ採取時間帯を示す値は、0時からの通算の時間を秒で表している。
複製ボリュームごとのI/O回数の欄には、ディスク装置100内の複製ボリュームの識別番号(LUN)に対応付けて、データ採取時間帯ごとの複製ボリュームへのリードとライトとの1秒当たりのI/O回数が設定されている。
このようなデータ採取テーブル61を参照すると、「Disk to Disk(D2D)」のバックアップの開始および終了、ならびに「Disk to Tape(D2T)」のバックアップの開始および終了時期を判断できる。
例えば、ライトのI/O回数が「0」のデータ採取時間帯の後に、1以上のライトI/Oが発生したデータ採取時間帯があると、1以上のライトI/Oが発生した最初のデータ採取時間帯において、D2Dのバックアップが開始されたものと判断できる。また、ライトのI/O回数が1以上のデータ採取時間帯の後に、ライトI/O「0」のデータ採取時間帯があると、1以上のライトI/Oが発生した最後のデータ採取時間帯において、D2Dのバックアップが終了したものと判断できる。
また、リードのI/O回数が「0」のデータ採取時間帯の後に、1以上のリードI/Oが発生したデータ採取時間帯があると、1以上のリードI/Oが発生した最初のデータ採取時間帯において、D2Tのバックアップが開始されたものと判断できる。また、リードのI/O回数が1以上のデータ採取時間帯の後に、リードI/O「0」のデータ採取時間帯があると、1以上のリードI/Oが発生した最後のデータ採取時間帯において、D2Tのバックアップが終了したものと判断できる。
このようなデータ採取テーブル61に基づいて、ナレッジ期間をナレッジ精度で分割して得られるナレッジ時間帯ごとのI/O状態の判定が行われ、判定結果がナレッジテーブル62に登録される。
図23は、複製ボリュームのI/O状態判定処理の手順を示すフローチャートである。以下、図23に示す処理をステップ番号に沿って説明する。
[ステップS51]ディスク状態監視部151は、データ採取テーブル61の上位から順にナレッジ精度ごとの時間帯(ナレッジ時間帯)の複製ボリュームのライト回数を加算する。具体的にはディスク状態監視部151は、データ採取テーブル61にナレッジ時間帯(例えば1時間)分のデータが登録されると、直近のナレッジ時間帯内のデータ採取時間帯それぞれのライト回数を合計する。
[ステップS52]ディスク状態監視部151は、加算した結果が「0」か否かを判断する。ディスク状態監視部151は、加算結果が「0」であれば、処理をステップS53に進める。ディスク状態監視部151は、加算結果が「0」でなければ、処理をステップS54に進める。
[ステップS53]ディスク状態監視部151は、ナレッジ時間帯の加算結果が「0」であれば、ナレッジテーブル62のI/O回数の加算を行ったナレッジ時間帯に対して、「idle」を設定する。その後、ディスク状態監視部151は、処理をステップS55に進める。
[ステップS54]ディスク状態監視部151は、ナレッジ時間帯の加算結果が「0」以外であれば、ナレッジテーブル62のI/O回数の加算を行ったナレッジ時間帯に対して、「busy」を設定する。
[ステップS55]ディスク状態監視部151は、ナレッジ期間(例えば1週間)分の集計が完了したか否かを判断する。ディスク状態監視部151は、ナレッジ期間分の集計が完了した場合、処理をステップS56に進める。ディスク状態監視部151は、ナレッジ期間分の集計が完了していなければ、処理をステップS51に進める。
[ステップS56]ディスク状態監視部151は、データ集計対象の日を、ナレッジ期間の最初に戻す。例えば、ナレッジ期間が月曜日から次の日曜日までの1週間であれば、日曜日の集計が終了すると、次の集計日が月曜日に設定される。
このようにして、データ採取テーブル61から集計したデータが、ナレッジテーブル62に登録される。
図24は、複製ボリュームのナレッジテーブルのデータ構造例を示す図である。ナレッジテーブル62には、ナレッジ期間内曜日、ナレッジ時間帯、および複製ボリュームごとのI/O状態の欄が設けられている。
ナレッジ期間内曜日の欄には、ナレッジ期間内の曜日が設定されている。ナレッジ時間帯の欄には、ナレッジ期間をナレッジ精度で分割して得られる時間帯(ナレッジ時間帯)が設定される。複製ボリュームごとのI/O状態の欄には、ディスク装置100内の複製ボリュームの識別番号(LUN)に対応付けて、ナレッジ時間帯ごとの複製ボリュームのI/O状態が設定されている。I/O状態は、「idle」と「busy」のいずれかである。
ナレッジ時間帯ごとの各複製ボリュームのI/O状態を参照することで、D2Dバックアップの実施期間が判別できる。例えば、図24の例では、「LUN0」の複製ボリュームについては、月曜日の7時から8時の間および8時から9時の間にD2Dのバックアップが実施されていることが分かる。
ナレッジテーブルに設定されたデータ(ナレッジデータ)は、ナレッジ時間帯や曜日ごとに整理される。ナレッジデータの整理は、例えばナレッジ期間終了時に実行される。複製ボリュームのナレッジデータの整理処理の手順は、図17に示した業務ボリュームのナレッジデータの整理処理と同じである。
図25は、ナレッジ時間帯ごとに整理した整理済ナレッジテーブルのデータ構造例を示す図である。整理済ナレッジテーブル71には、ナレッジ期間、ナレッジ時間帯、および複製ボリュームごとのI/O状態の欄が設けられている。
ナレッジ期間の欄には、ナレッジ期間が示されている。ナレッジ時間帯の欄には、ナレッジ時間帯が設定されている。複製ボリュームごとのI/O状態の欄には、対応するナレッジ時間帯のI/O状態の統合結果が、複製ボリュームごとに設定される。
例えば、整理済ナレッジテーブル71の複製ボリューム「LUN0」のナレッジ時間帯「00〜01」(0時から1時)のナレッジ時間帯の「I/O」状態は、「idle」である。これはナレッジ期間内のいずれの日においても、0時から1時の間にD2Dバックアップが行われていないことを示している。また、整理済ナレッジテーブル71の複製ボリューム「LUN0」のナレッジ時間帯「07〜08」(7時から8時)のナレッジ時間帯の「I/O」状態は、「busy」である。これはナレッジ期間内の少なくとも1日において、7時から8時の間にD2Dバックアップが実施されたことを示している。
図26は、曜日ごとに整理した整理済ナレッジテーブルのデータ構造例を示す図である。整理済ナレッジテーブル72には、曜日、および複製ボリュームごとのI/O状態の欄が設けられている。曜日の欄には、ナレッジ期間内の曜日が設定されている。複製ボリュームごとのI/O状態の欄には、対応する曜日のI/O状態の統合結果が、複製ボリュームごとに示されている。
例えば、整理済ナレッジテーブル72の複製ボリューム「LUN0」の月曜日のI/O状態は「busy」である。これは「LUN0」の複製ボリュームに対して、月曜日にD2Dバックアップが実施されていることを示している。また整理済ナレッジテーブル72の複製ボリューム「LUN1」の月曜日のI/O状態は「idle」である。これは「LUN1」の複製ボリュームに対して、月曜日にはD2Dバックアップが実施されていないことを示している。
・テープ装置のデータ採取・整理
次に、テープ装置200へのアクセス状態を示す情報の採取および整理処理について詳細に説明する。
図27は、テープ装置のデータ採取処理を示す図である。バックアップサーバ30は、複製ボリューム132内のデータをテープ装置200内のメディアにバックアップする場合、バックアップ開始の動作指示としてマウントメディアとメディアアロケートとを、テープ装置200に通知する。テープ装置200のライブラリ制御部273は、マウントメディアの通知を受け取ると、その通知で指定されているテープドライブにメディアを挿入し、メディアをマウントする。マウントされたメディアは、システムからアクセス可能な状態となる。またライブラリ制御部273は、メディアアロケートの通知を受け取ると、テープドライブをバックアップジョブ用にアロケートする。アロケートとは、特定のジョブのみが、メディアを挿入したテープドライブを操作できるようにする処理である。テープ装置200は、アロケートを行った後、テープドライブを「ready」状態として、「ready」をバックアップサーバ30に応答する。これにより、バックアップサーバ30のバックアップジョブにおいて、テープ装置200のアロケートしたテープドライブに対して、ライト通知を出すことができるようになる。
またテープ状態監視部271は、ライブラリ制御部273を監視し、マウントメディアの動作をバックアップジョブに関する「ジョブの開始」と認識し、ジョブ開始を示すデータを管理テーブル記憶部272に蓄積する。またテープ状態監視部271は、ディスク装置100が採取したデータを取得し、取得したデータに基づいて、バックアップジョブによりシーケンシャルリードが開始された複製ボリューム132を検出する。
バックアップが開始されると、バックアップサーバ30は、ディスク装置100の複製ボリューム132からデータを読み込む。そしてバックアップサーバ30は、読み込んだデータの書き込み動作を、テープ装置200に指示する。テープ装置200では、ライブラリ制御部273の制御の下、テープドライブによってメディアにデータが書き込まれる。テープ状態監視部271は、バックアップサーバ30から出されるライトコマンド群を監視し、バックアップジョブ情報を管理テーブル記憶部272に蓄積する。
データの書き込みが終了すると、バックアップサーバ30は、バックアップ終了指示としてアンマウントメディアの動作をテープ装置200に通知する。テープ装置200のライブラリ制御部273は、アンマウントメディアの通知に応じて、バックアップに使用したメディアをアンマウントする。このときテープ状態監視部271は、ライブラリ制御部273を監視し、アンマウントメディアの動作をバックアップジョブに関する「ジョブの終了」と認識し、ジョブ終了を示すデータを管理テーブル記憶部272に蓄積する。
図28は、テープ装置のデータ採取処理の手順を示すフローチャートである。以下、図28に示す処理をステップ番号に沿って説明する。
[ステップS61]テープ状態監視部271は、データ採取テーブル81の採取対象のレコードに、テープドライブの状態として初期状態を設定する。例えばテープ状態監視部271は、採取対象のレコードがデータ採取テーブル81の先頭のレコードであれば、テープドライブの状態を「idle」に設定する。またテープ状態監視部271は、採取対象のレコードがデータ採取テーブル81の2番目以降のレコードであれば、直前のレコードのテープドライブの状態の情報を引き継いで、採取対象のレコードのテープドライブの状態に設定する。例えば、直前のレコードに対するデータ採取間隔経過時に、テープドライブの状態が「backup」であれば、次のレコードの初期状態として、テープドライブの状態に「backup」を設定する。
[ステップS62]テープ状態監視部271は、ディスク装置100またはバックアップサーバ30からの通知の内容と通知を受け取ったときの状態とに基づき、状態と通知とに応じた採取手順を定義したマトリックスに従って採取手順を決定する。マトリックスと、マトリックスに定義されている採取手順については、後述する(図43、図44参照)。
[ステップS63]テープ状態監視部271は、ステップS62で決定した採取手順に従って、データを採取する。データ採取処理の詳細は後述する(図45〜図47参照)。
[ステップS64]テープ状態監視部271は、現在のレコードがデータ採取対象とされてからデータ採取間隔の時間が経過したか否かを判断する。テープ状態監視部271は、データ採取間隔の時間が経過していれば、処理をステップS65に進める。テープ状態監視部271は、データ採取間隔の時間が経過していなければ、処理をステップS62に進める。
[ステップS65]テープ状態監視部271は、データ採取テーブル81内のデータ採取対象とするレコードを、次のレコードに移動する。
[ステップS66]テープ状態監視部271は、データ採取テーブル81の最初のレコードにデータ登録を開始してからの通算時間が1日に達したか否かを判断する。テープ状態監視部271は、通算時間が1日に達した場合、処理をステップS66に進める。テープ状態監視部271は、通算時間が1日に達していなければ、処理をステップS61に進める。
[ステップS67]テープ状態監視部271は、データ採取対象のレコードをデータ採取テーブル81の先頭のレコードに移動し、処理をステップS61に進める。この際、通算時間は「0」にリセットされる。
図29は、テープ装置のデータ採取テーブルのデータ構造例を示す図である。データ採取テーブル81には、データ採取時間帯の欄と、テープドライブごとの状態、ライト回数、候補複製ボリューム、スロット(メディア)、およびD2D対象複製ボリュームの欄とが設けられている。
データ採取時間帯の欄には、1日をデータ採取間隔で分割することで得られる個々の時間帯(データ採取時間帯)が設定される。
テープドライブごとの状態の欄には、対応するデータ採取時間帯内のテープドライブの状態が設定される。状態の欄には「idle」、「mount」、「ready」、「backup」、「mount遅延」、「ready遅延」、「write遅延」、および「backup遅延」のいずれかが設定される。「idle」は、未使用状態を示す。「mount」は、システムにマウントされた状態を示す。「ready」は、リードまたはライトのコマンドを受け付け可能な状態を示す。「backup」は、バックアップジョブによるデータ書き込み中の状態を示す。「mount遅延」は、未使用であり、「mount」状態への移行時のテープマント動作を遅延させる可能性がある状態を示す。「ready遅延」は、システムにマウントされており、リードまたはライトのコマンドを受け付け可能な状態(「ready」状態)への移行動作を遅延させる可能性がある状態を示す。「write遅延」は、リードまたはライトのコマンドを受け付け可能な状態(「ready」状態)であり、ライト要求に応じたデータのライト処理を遅延させる可能性がある状態を示す。「backup遅延」は、バックアップジョブによるデータ書き込み中の状態(「backup」状態)であり、ライト要求に応じたデータのライト処理を遅延させる可能性がある状態を示す。
テープドライブごとのライト回数の欄には、対応するデータ採取時間帯内に実行されたライト回数が設定される。
テープドライブごとの候補複製ボリュームの欄には、対応するデータ採取時間帯内に実行されたバックアップジョブによるバックアップ対象の可能性がある複製ボリューム(候補複製ボリューム)の識別番号(LUN)が設定される。
テープドライブごとのスロットの欄には、対応するデータ採取時間帯内にデータの書き込みが行われたメディアが挿入されたスロットの識別番号(スロット番号)が設定される。
テープドライブごとのD2D先複製ボリュームの欄には、対応するデータ採取時間帯内に実行されたD2Dバックアップにおける、バックアップ先となる複製ボリュームの識別番号(LUN)が設定される。
例えば図29の例では、ドライブIDが「G4_02」のテープドライブについて、時刻「04:00:00」(4時0分0秒)から時刻「04:00:10」までの10秒間にマウントメディア通知によりメディアがマウントされている。時刻「04:00:10」から時刻「04:00:20」までの10秒間に、アロケート通知によりメディアがアロケートされている。時刻「04:00:20」から時刻「04:00:30」までの10秒間に、バックアップが開始され、ライト通知によりデータが書き込まれている。時刻「04:00:30」から時刻「04:00:40」までの10秒間は、バックアップ中ではあるものの、ライト通知によるデータの書き込みは行われていない。その後、データの書き込みが随時行われ、時刻「05:59:50」から時刻「06:00:00」までの10秒間に、アンマウントメディア通知によりメディアがアンマウントされている。
なお、時刻「04:00:30」から時刻「04:00:40」までの10秒間のように、バックアップ中でありながらデータの書き込みが行われないのは、複製ボリュームからのデータの読み出しがテープ装置200でのデータの書き込みより遅いためである。
データ採取テーブル81を参照すると、バックアップが進行するごとに、バックアップ対象の候補となる複製ボリュームが絞り込まれていく。図29の例では、マウントメディア通知からアンマウントメディア通知までの期間を通して、各データ採取時間帯の候補複製ボリュームに登録されているのは「LUN0」の複製ボリュームのみである。そこで、バックアップ対象は「LUN0」の複製ボリュームであると判断できる。
また時刻「04:01:00」から時刻「04:01:10」までの10秒間に、LUN0の複製ボリュームをバックアップ先としたD2Dのバックアップの開始を示すセション確立通知が入力されている。その結果、時刻「04:01:00」以降のデータ採取時間帯に対して、D2Dバップアップ対象LUNとして「LUN0」が設定されている。その後、時刻「05:59:40」から時刻「05:59:50」までの10秒間に、LUN0の複製ボリュームをバックアップ先としたD2Dのバックアップの終了を示すセション切断通知が入力されている。その結果、時刻「05:59:50」以降のデータ採取時間帯に対しては、D2Dバップアップ対象LUNの設定が行われない。これにより、テープ状態監視部271は、D2D対象複製ボリュームの欄を参照することで、各データ採取時間帯内で実行されたD2Dバックアップ処理のバックアップ先の複製ボリュームを認識できる。
テープ状態監視部271は、1日分のデータ採取テーブル81に登録されると、データ採取テーブル81に基づいてバックアップ対象である複製ボリュームを判断する。そしてテープ状態監視部271は、バックアップ対象である複製ボリュームごとのデータテーブル(複製ボリューム別データテーブル)を作成する。
図30は、複製ボリューム別データテーブルのデータ構造例を示す図である。複製ボリューム別データテーブル82には、データ採取時間帯の欄と、バックアップ対象である複製ボリュームごとの状態、ライト回数、およびスロット(メディア)の欄とが設けられている。
データ採取時間帯の欄には、1日をデータ採取間隔で分割することで得られる個々の時間帯(データ採取時間帯)が設定される。
バックアップ対象である複製ボリュームごとの状態の欄には、バックアップ対象の複製ボリュームの状態が設定される。バックアップの開始から終了までの時間は、状態「busy」が設定される。バックアップ中以外の時間は状態「idle」が設定される。
バックアップ対象である複製ボリュームごとのライト回数の欄には、対応する複製ボリュームのデータが、バックアップ処理によりテープドライブで書き込まれた回数が設定される。
バックアップ対象である複製ボリュームごとのスロットの欄には、対応する複製ボリュームのデータのバックアップ処理によるバックアップ先のメディアが挿入されたスロットのスロット番号が設定される。
このような複製ボリューム別データテーブル82に基づいて、複製ボリュームごとのナレッジテーブル(ボリューム別ナレッジテーブル83)が作成される。
図31は、テープ装置におけるナレッジテーブル作成処理の手順を示すフローチャートである。以下、図31に示す処理をステップ番号に沿って説明する。
[ステップS71]テープ状態監視部271は、複製ボリューム別データテーブル82の上位から順にナレッジ精度ごとの期間(ナレッジ時間帯)の複製ボリュームのI/O回数を加算する。具体的にはテープ状態監視部271は、複製ボリューム別データテーブル82にナレッジ時間帯(例えば1時間)分のデータが登録されると、直近のナレッジ時間帯内のデータ採取時間帯それぞれライトの回数を加算する。
[ステップS72]テープ状態監視部271は、ナレッジ時間帯内の各データ採取時間帯における状態が、すべて「idle」か否かを判断する。テープ状態監視部271は、状態がすべて「idle」であれば、処理をステップS73に進める。テープ状態監視部271は、「busy」の状態のデータ採取時間帯があれば、処理をステップS74に進める。
[ステップS73]テープ状態監視部271は、ボリューム別ナレッジテーブル83内の処理対象のナレッジ時間帯のジョブ状態に「idle」を設定する。その後、テープ状態監視部271は、処理をステップS75に進める。
[ステップS74]テープ状態監視部271は、ボリューム別ナレッジテーブル83内の処理対象のナレッジ時間帯のジョブ状態に「busy」を設定する。
[ステップS75]テープ状態監視部271は、複製ボリュームごとのライト回数、バックアップ時間、およびスロットを、ボリューム別ナレッジテーブル83内の処理対象のナレッジ時間帯に設定する。
[ステップS76]テープ状態監視部271は、ナレッジ期間(例えば1週間)分の集計が完了したか否かを判断する。テープ状態監視部271は、ナレッジ期間分の集計が完了した場合、処理をステップS77に進める。テープ状態監視部271は、ナレッジ期間分の集計が完了していなければ、処理をステップS71に進める。
[ステップS77]テープ状態監視部271は、データ集計対象の日を、ナレッジ期間の最初に戻す。例えば、ナレッジ期間が月曜日から次の日曜日までの1週間であれば、日曜日の集計が終了すると、次の集計日が月曜日に設定される。
このようにして、複製ボリューム別データテーブル82から集計したデータが、ボリューム別ナレッジテーブル83に登録される。
図32は、ボリューム別ナレッジテーブルのデータ構造例を示す図である。ボリューム別ナレッジテーブル83には、ナレッジ期間内曜日の欄、ナレッジ時間帯の欄、ならびに複製ボリュームごとのジョブ状態、ライト回数、バックアップ時間、およびスロット(メディア)の欄が設けられている。
ナレッジ期間内曜日の欄には、ナレッジ期間内の曜日が設定されている。ナレッジ時間帯の欄には、ナレッジ期間をナレッジ精度で分割して得られる期間(ナレッジ時間帯)が設定される。
複製ボリュームごとのジョブ状態の欄には、ナレッジ時間帯内の複製ボリュームの状態が設定される。ナレッジ時間帯内で少なくとも一度「busy」状態となった複製ボリュームには、「busy」のジョブ状態が設定される。
複製ボリュームごとのライト回数の欄には、ナレッジ時間帯内に複製ボリュームから読み出されたデータがテープ装置に書き込まれた回数が設定される。
複製ボリュームごとのバックアップ時間の欄には、ナレッジ時間帯内において、複製ボリュームのデータのバックアップを実行していた時間が設定される。
複製ボリュームごとのスロットの欄には、複製ボリュームのデータバックアップ先のメディアが挿入されていたスロットが設定される。
またテープ状態監視部271は、図31の処理とほぼ同じ処理で、テープドライブごとのナレッジテーブル(ドライブ別ナレッジテーブル84)を作成する。なお、ドライブ別ナレッジテーブル84を作成する際には、図31に示すフローチャートにおけるステップS71,S75の処理は行われない。
図33は、ドライブ別ナレッジテーブルのデータ構造例を示す図である。ドライブ別ナレッジテーブル84には、ナレッジ期間内曜日、ナレッジ時間帯、およびテープドライブごとのジョブ状態の欄が設けられている。
ナレッジ期間内曜日の欄には、ナレッジ期間内の曜日が設定されている。ナレッジ時間帯の欄には、ナレッジ期間をナレッジ精度で分割して得られる期間(ナレッジ時間帯)が設定される。テープドライブごとのジョブ状態の欄には、ナレッジ時間帯内のテープドライブへのデータのバックアップを行うバックアップジョブの状態が設定される。ナレッジ時間帯内で少なくとも一度、バックアップジョブが「busy」状態となった場合、「busy」のジョブ状態が設定される。
なお、図33の例では、ドライブ別ナレッジテーブル84の各テープドライブの情報は、優先度の順に左から並べられている。図33の例では、優先度を示す数値が低いほど、優先度が高いことを示している。優先度は、LTOによる規格の世代が新しいほど、優先度が高くなる。また世代が同一のテープドライブ同士では、バックアップ先として使用されるスロット番号が若いほど、優先度が高くなる。
また、テープ状態監視部271は、ボリューム別ナレッジテーブル83に基づいてバックアップジョブに関する情報を抽出し、ジョブ管理テーブル85に格納する。例えば、テープ状態監視部271は、バックアップジョブが終了し、バックアップジョブによるデータ書き込みを行ったテープドライブのアンマウントメディアの通知を受け取ったときに、バックアップジョブの抽出を行う。
図34は、バックアップジョブ抽出処理の手順を示すフローチャートである。以下、図34に示す処理をステップ番号に沿って説明する。
[ステップS81]テープ状態監視部271は、ボリューム別ナレッジテーブル83から、状態のマージ(統合)対象となるナレッジ時間帯を選択する。例えば、ナレッジ時間帯によって整理する場合、テープ状態監視部271は、異なる曜日の同じナレッジ時間帯を、状態の統合対象として選択する。そしてテープ状態監視部271は、統合対象のナレッジ時間帯の情報を統合した統合後ナレッジテーブルを生成する。
[ステップS82]テープ状態監視部271は、ステップS81で生成した統合後ナレッジテーブルにおいて連続した「busy」状態のナレッジ時間帯を、1つのバックアップジョブとして判断する。
[ステップS83]テープ状態監視部271は、ステップS82で判別したバックアップジョブに対して、ナレッジ期間で一意のジョブ番号を割り付ける。
[ステップS84]テープ状態監視部271は、ステップS82で判別したバックアップジョブの情報をジョブ管理テーブル85に格納する。そしてテープ状態監視部271は、ジョブ管理テーブル85内のバックアップジョブを優先度順でソートする。
[ステップS85]テープ状態監視部271は、統合後ナレッジテーブルのジョブ状態の欄に、連続した「busy」状態に代えてジョブ番号を設定する。
以下、図32に示すボリューム別ナレッジテーブル83からバックアップジョブを抽出する例について説明する。
図35は、ナレッジ時間帯で統合した統合後ナレッジテーブルの例を示す図である。統合後ナレッジテーブル83aのデータ構造は、ボリューム別ナレッジテーブル83とほぼ同じである。ただし、ボリューム別ナレッジテーブル83におけるライト回数の欄に代えて、統合後ナレッジテーブル83aではライト平均回数の欄が設けられている。またボリューム別ナレッジテーブル83におけるバックアップ時間の欄に代えて、統合後ナレッジテーブル83aではバックアップ平均時間の欄が設けられている。
統合後ナレッジテーブル83aのジョブ状態の欄には、統合された各レコード(各曜日の同一ナレッジ時間帯のレコード)のジョブ状態の少なくとも1つが「busy」であれば、「busy」の状態が設定される。ライト平均回数の欄には、統合された各レコードのライト回数の平均値が設定される。バックアップ平均時間の欄には、統合された各レコードのバックアップ時間の平均値が設定される。スロットの欄には、統合されたレコードのいずれかに設定されているスロット番号が設定される。
このような統合後ナレッジテーブル83aから「busy」状態が連続するレコードが抽出される。
図36は、「busy」状態のレコードの抽出例を示す図である。図36の例では、統合後ナレッジテーブル83aの「04〜05」、「05〜06」、「06〜07」の各ナレッジ時間帯のジョブ状態は「busy」であり、他のナレッジ時間帯のジョブ状態は「idle」である。そこで「04〜05」、「05〜06」、「06〜07」の各ナレッジ時間帯のレコードが、統合後ナレッジテーブル83aから抽出される。
テープ状態監視部271は、抽出したレコードから、ナレッジ時間帯が連続するレコードを、1つのバックアップジョブとして認識する。そしてテープ状態監視部271は、抽出したレコードからバックアップジョブ情報を生成し、ジョブ管理テーブル85に登録する。
図37は、ジョブ管理テーブルの生成例を示す図である。バックアップジョブ情報83bには、ジョブ番号、ライト平均回数、バックアップ平均時間、平均スループット(ライト回数/秒)、対象複製ボリューム、およびスロット(メディア)のフィールドが設けられている。
ジョブ番号のフィールドには、バックアップジョブをナレッジ期間内で一意に識別するためのジョブ番号が設定される。ライト平均回数のフィールドには、バックアップジョブに属する統合後ナレッジテーブル83a内のレコードのライト平均回数の合計値が設定される。バックアップ平均時間のフィールドには、バックアップジョブに属する統合後ナレッジテーブル83a内のレコードのバックアップ平均時間の合計値が設定される。平均スループットのフィールドには、平均スループットとして、ライト平均回数をバックアップ平均時間で除算した値が設定される。対象複製ボリュームのフィールドには、バックアップジョブにおけるバックアップ対象の複製ボリュームのLUNが設定される。スロットのフィールドには、バックアップジョブによるバックアップ先とされたメディアが収納されていたスロットのスロット番号が設定される。すなわち、バックアップジョブに属する統合後ナレッジテーブル83a内のレコードのいずれかに設定されているスロット番号が、スロットのフィールドに設定される。
生成されたバックアップジョブ情報83bは、ジョブ管理テーブル85に登録される。ジョブ管理テーブル85には、優先度、ジョブ番号、ライト平均回数、バックアップ平均時間、平均スループット、対象複製ボリューム、およびスロットの欄が設けられている。優先度以外の各欄には、バックアップジョブ情報83bの同名のフィールドの情報が設定される。
優先度の欄には、各バックアップジョブの優先度が設定される。バックアップジョブ情報83b登録直後は、優先度の欄は空欄である。
ナレッジ期間内で検出されたすべてのバックアップジョブに関するバックアップジョブ情報がジョブ管理テーブル85に登録されると、テープ状態監視部271は、各バックアップジョッブの優先度を判定する。そしてテープ状態監視部271は、バックアップジョブ情報を優先度によってソートする。このとき、テープ状態監視部271は、スループットが低いジョブほど優先度を高くする。また、テープ状態監視部271は、スループットが同じであれば、データサイズ(ライト平均回数)が小さいバックアップジョブほど優先度を高くする。そして、テープ状態監視部271は、ジョブ管理テーブル85内の優先順に沿って並べられた各バックアップ情報に対して、上位から順に優先度を示す昇順の数値を設定する。
その後、統合後ナレッジテーブル83aのジョブ状態の欄に、ジョブ番号が設定される。
図38は、ジョブ番号を設定した統合後ナレッジテーブルの例を示す図である。図38の例では、統合後ナレッジテーブル83aのナレッジ時間帯「04〜05」、「05〜06」、「06〜07」のジョブ状態の欄に、「busy」に代えて、ジョブ番号「1」が設定されている。
その後、テープ状態監視部271は、ジョブ番号を設定した統合後ナレッジテーブル83aに設定されたデータ(ナレッジデータ)を、ナレッジ時間帯や曜日ごとに整理する。ナレッジデータの整理は、例えばナレッジ期間終了時に実行される。ナレッジデータの整理処理の手順は、図17に示した業務ボリュームのナレッジデータ整理処理と同様である。
例えばテープ状態監視部271は、ナレッジ時間帯や曜日でナレッジデータを整理する。その際、テープ状態監視部271は、バックアップ対象である複製ボリュームごとによる整理と、テープドライブごとによる整理とが可能である。
図39は、複製ボリュームごとにナレッジ時間帯で整理した整理済ナレッジテーブルのデータ構造例を示す図である。整理済ナレッジテーブル91には、ナレッジ期間、ナレッジ時間帯、および複製ボリュームごとの状態の欄が設けられている。
ナレッジ期間の欄には、ナレッジ期間が示されている。ナレッジ時間帯の欄には、ナレッジ時間帯が設定されている。複製ボリュームごとの状態の欄には、対応するナレッジ時間帯の状態またはバックアップジョブのジョブ番号が、複製ボリュームごとに設定される。
図40は、テープドライブごとにナレッジ時間帯で整理した整理済ナレッジテーブルのデータ構造例を示す図である。ドライブ別ナレッジテーブル84を整理することで、テープドライブごとの整理済ナレッジテーブル92が生成される。整理済ナレッジテーブル92には、ナレッジ期間、ナレッジ時間帯、およびテープドライブごとの状態の欄が設けられている。
ナレッジ期間の欄には、ナレッジ期間が示されている。ナレッジ時間帯の欄には、ナレッジ時間帯が設定されている。テープドライブごとの状態の欄には、対応するナレッジ時間帯におけるテープドライブの状態が設定される。なお、各テープドライブには、優先度が設定されている。
図41は、複製ボリュームごとに曜日で整理した整理済ナレッジテーブルのデータ構造例を示す図である。整理済ナレッジテーブル93には、曜日、および複製ボリュームごとの状態の欄が設けられている。
曜日の欄には、ナレッジ期間内の曜日が示されている。複製ボリュームごとの状態の欄には、対応する曜日の状態またはバックアップジョブのジョブ番号が、複製ボリュームごとに設定される。
図42は、テープドライブごとに曜日で整理した整理済ナレッジテーブルのデータ構造例を示す図である。ドライブ別ナレッジテーブル84を整理することで、テープドライブごとの整理済ナレッジテーブル94が生成される。整理済ナレッジテーブル94には、曜日、およびテープドライブごとの状態の欄が設けられている。
曜日の欄には、ナレッジ期間内の曜日が示されている。テープドライブごとの状態の欄には、対応する曜日におけるテープドライブの状態が設定される。なお、各テープドライブには、優先度が設定されている。
次に、図28のステップS62に示す採取手順を決定するためのマトリックスについて、図43、図44を参照して詳細に説明する。なお、マトリックスによる採取手順の決定に伴い、図29に示すデータ採取テーブル81内の情報が適宜更新されると共に、テープ装置200に入力された通知に対する意図的な応答遅延が行われる。データ採取テーブル81内の情報の更新は、現在の時刻を含むデータ採取時間帯に対応するレコードに対して行われる。また、採取手順の決定は、テープドライブごとに行われる。
図43は、マトリックスの例を示す第1の図である。マトリックス330には、列に対するラベルとしてバックアップ処理対象のテープドライブの状態が設定されており、行に対するラベルとして通知内容が設定されている。なお、通知内容のうち、マウントメディア、メディアアロケート、ライト(write)、およびアンマウントメディアは、テープ装置200への動作通知である。
テープドライブの状態には、大別するとバックアップジョブ処理中とD2Dバックアップ中とに分かれる。バックアップジョブ処理中は、バックアップサーバ30からバックアップ処理のメディアマウントが行われてから、メディアアンマウントが行われるまでの期間である。D2Dバックアップ中は、ディスク装置100においてD2Dバックアップが実行されている期間である。具体的には、テープ装置200がディスク装置100からD2Dセション確立の通知を受けてから、セション切断の通知を受けるまでの期間である。図43には、バックアップジョブ処理中の状態と、各状態での通知内容に応じた処理が示されている。
バックアップジョブ処理中には、「idle」、「mount」、「ready」、「backup」の状態がある。「idle」の状態は、テープドライブを使用していない状態である。「mount」の状態は、テープドライブがマウントされた状態である。「ready」の状態は、テープドライブがメディアへのリード・ライトの要求を受け付け可能になった状態である。「backup」の状態は、テープドライブによるバックアップデータの書き込みが行われている状態である。
通知内容には、マウントメディア、メディアアロケート、ライト(write)、アンマウントメディア、D2Dバックアップセション確立、およびD2Dバックアップセション切断がある。
ディスク装置100またはバックアップサーバ300から通知を受けたときのテープドライブの状態と通知内容とに応じたデータの採取処理の手順が、マトリックス330に示されている。なお、各通知には、処理の対象とするテープドライブのドライブIDが示されており、ドライブIDで指定されたドライブの状態と、通知内容とに応じて、採取手順が決定される。
バックアップ処理中の場合、以下のような採取手順に決定される。
[テープドライブが「idle」状態の場合]
状態が「idle」のときにマウントメディアの通知が入力されると、テープ状態監視部271は、「手順#1」を実行する。「手順#1」では、テープ状態監視部271は、まず、バックアップ処理の対象となる複製ボリュームの候補を検索する候補検索処理を実行する。このときの候補検索の条件として、「read=0」(リード回数が「0」)の複製ボリュームであることが指定される。そしてテープ状態監視部271は、対象スロット(メディア)のテープドライブへの格納処理を実行する。そしてテープ状態監視部271は、データ採取テーブル81における状態を「mount」に変更する。
状態が「idle」のときにD2Dバックアップセション確立の通知が入力されると、テープ状態監視部271は、データ採取テーブル81における状態を「mount遅延」に変更する。そしてテープ状態監視部271は、セション確立の通知で示された複製ボリュームのLUNを、データ採取テーブル81に格納する。
[テープドライブが「mount」状態の場合]
状態が「mount」のときにメディアアロケートの通知が入力されると、テープ状態監視部271は、「手順#2」を実行する。「手順#2」では、テープ状態監視部271は、バックアップ処理の対象となる複製ボリュームの候補の絞り込み検索である候補絞り込み検索処理を実行する。このときの候補検索の条件として、「read=0」(リード回数が「0」)の複製ボリュームであることが指定される。そしてテープ状態監視部271は、データ採取テーブル81における状態を「ready」に変更する。
状態が「mount」のときにアンマウントメディアの通知が入力されると、テープ状態監視部271は、データ採取テーブル81における状態を「idle」に変更する。
状態が「mount」のときにD2Dバックアップセション確立の通知が入力されると、テープ状態監視部271は、データ採取テーブル81における状態を「ready遅延」に変更する。そしてテープ状態監視部271は、セション確立の通知で示された複製ボリュームのLUNを、データ採取テーブル81に格納する。
[テープドライブが「ready」状態の場合]
状態が「ready」のときにライトの通知が入力されると、テープ状態監視部271は、「手順#3」を実行する。「手順#3」では、テープ状態監視部271は、候補絞り込み検索処理を実行する。このときの候補検索の条件として、「read!=0」(リード回数が「0」以外)の複製ボリュームであることが指定される。次にテープ状態監視部271は、データ採取テーブル81内のデータ採取対象レコードのライト回数を1だけ加算する。そしてテープ状態監視部271は、データ採取テーブル81における状態を「ready」のまま維持する。
状態が「ready」のときにアンマウントメディアの通知が入力されると、テープ状態監視部271は、データ採取テーブル81における状態を「idle」に変更する。
状態が「ready」のときにD2Dバックアップセション確立の通知が入力されると、テープ状態監視部271は、データ採取テーブル81における状態を「write遅延」に変更する。次にテープ状態監視部271は、セション確立の通知で示された複製ボリュームのLUNを、データ採取テーブル81に格納する。
[テープドライブが「backup」状態の場合]
状態が「backup」のときにライトの通知が入力されると、テープ状態監視部271は、「手順#4」を実行する。「手順#4」では、テープ状態監視部271は、データ採取テーブル81内のデータ採取対象レコードのライト回数を1だけ加算する。そしてテープ状態監視部271は、データ採取テーブル81における状態を「backup」のまま維持する。
状態が「backup」のときにアンマウントメディアの通知が入力されると、テープ状態監視部271は、「手順#5」を実行する。「手順#5」では、テープ状態監視部271は、候補絞り込み検索処理を実行する。このときの候補検索の条件として、「read=0」(リード回数が「0」)の複製ボリュームであることが指定される。テープ状態監視部271は、候補絞り込み検索によりバックアップ対象の複製ボリュームが特定できた場合、該当バックアップジョブ情報を集計し、ジョブ管理テーブル85に格納する。そしてテープ状態監視部271は、データ採取テーブル81における状態を「idle」へ変更する。
状態が「backup」のときにD2Dバックアップセション確立の通知が入力されると、テープ状態監視部271は、データ採取テーブル81における状態を「backup遅延」に変更する。そしてテープ状態監視部271は、セション確立の通知で示された複製ボリュームのLUNを、データ採取テーブル81に格納する。
図44は、マトリックスの例を示す第2の図である。D2Dバックアップ中には、「mount遅延」、「ready遅延」、「write遅延」、「backup遅延」の状態がある。「mount遅延」状態は、ディスク装置100においてD2Dバックアップ中であり、テープドライブを使用していない状態である。「ready遅延」は、テープドライブがマウントされた後にディスク装置100においてD2Dバックアップが開始され、メディアアロケート通知の入力前の状態である。「write遅延」は、「ready」状態となった後にディスク装置100においてD2Dバックアップが開始され、バックアップジョブによるライト通知の入力前の状態である。「backup遅延」は、バックアップジョブによるライト通知を受けた後にディスク装置100においてD2Dバックアップが開始され、次のライト通知を受ける前の状態である。
[テープドライブが「mount遅延」状態の場合]
状態が「mount遅延」のときにマウントメディアの通知が入力されると、テープ状態監視部271は、「手順#6」を実行する。「手順#6」では、テープ状態監視部271は、まず、候補検索処理を実行する。このときの候補検索の条件として、「read=0」(リード回数が「0」)の複製ボリュームであることが指定される。次にテープ状態監視部271は、対象スロット(メディア)のテープドライブへの格納処理を実行する。そしてテープ状態監視部271は、通知を送信したバックアップジョブによるバックアップ対象の複製ボリュームが、テープドライブの遅延を行うべき複製ボリュームか否かを判断する遅延対象判定処理を行う。バックアップ対象の複製ボリュームが遅延対象であれば、テープ状態監視部271は、状態を「ready遅延」に変更すると共に、mount遅延処理を実施する。mount遅延処理は、テープドライブのマウントが完了してから、所定の遅延時間経過後、マウントが完了したことを示す応答を送信する処理である。バックアップ対象の複製ボリュームが遅延対象でなければ、テープ状態監視部271は、状態を「mount」に変更する。そしてテープ状態監視部271は、複製ボリュームのLUNをデータ採取テーブル81から削除する。
状態が「mount遅延」のときにD2Dバックアップセション切断の通知が入力されると、テープ状態監視部271は、状態を「idle」に変更する。そしてテープ状態監視部271は、複製ボリュームのLUNをデータ採取テーブル81から削除する。
[テープドライブが「ready遅延」状態の場合]
状態が「ready遅延」のときにメディアアロケートの通知が入力されると、テープ状態監視部271は、「手順#7」を実行する。「手順#7」では、テープ状態監視部271は、候補絞り込み検索処理を実行する。このときの候補検索の条件として、「read=0」(リード回数が「0」)の複製ボリュームであることが指定される。次にテープ状態監視部271は、遅延対象判定処理を行う。バックアップ対象の複製ボリュームが遅延対象であれば、テープ状態監視部271は、状態を「write遅延」に変更すると共に、ready遅延処理を実施する。ready遅延処理は、テープドライブのアロケートが完了してから、所定の遅延時間経過後、レディ応答を送信する処理である。バックアップ対象の複製ボリュームが遅延対象でなければ、テープ状態監視部271は、状態を「ready」に変更する。そしてテープ状態監視部271は、複製ボリュームのLUNをデータ採取テーブル81から削除する。
状態が「ready遅延」のときにアンマウントメディアの通知が入力されると、テープ状態監視部271は、状態を「idle」に変更する。そしてテープ状態監視部271は、複製ボリュームのLUNをデータ採取テーブル81から削除する。
状態が「ready遅延」のときにD2Dバックアップセション切断の通知が入力されると、テープ状態監視部271は、状態を「mount」に変更する。そしてテープ状態監視部271は、複製ボリュームのLUNをデータ採取テーブル81から削除する。
[テープドライブが「write遅延」状態の場合]
状態が「write遅延」のときにライトの通知が入力されると、テープ状態監視部271は、「手順#8」を実行する。「手順#8」では、テープ状態監視部271は、候補絞り込み検索処理を実行する。このときの候補検索の条件として、「read!=0」(リード回数が「0」以外)の複製ボリュームであることが指定される。次にテープ状態監視部271は、データ採取対象レコードのライト回数を1だけ加算する。そしてテープ状態監視部271は、遅延対象判定処理を行う。バックアップ対象の複製ボリュームが遅延対象であれば、テープ状態監視部271は、状態を「backup遅延」に変更すると共に、write遅延処理を実施する。write遅延処理は、テープドライブによりメディアへデータを書き込んでから、所定の遅延時間経過後、書き込み完了の応答を送信する処理である。バックアップ対象の複製ボリュームが遅延対象でなければ、テープ状態監視部271は、状態を「backup」に変更する。そしてテープ状態監視部271は、複製ボリュームのLUNをデータ採取テーブル81から削除する。
状態が「write遅延」のときにアンマウントメディアの通知が入力されると、テープ状態監視部271は、状態を「idle」に変更する。次にテープ状態監視部271は、複製ボリュームのLUNをデータ採取テーブル81から削除する。
状態が「write遅延」のときにD2Dバックアップセション切断の通知が入力されると、テープ状態監視部271は、状態を「ready」に変更する。そしてテープ状態監視部271は、複製ボリュームのLUNをデータ採取テーブル81から削除する。
[テープドライブが「backup遅延」状態の場合]
状態が「backup遅延」のときにライトの通知が入力されると、テープ状態監視部271は、「手順#9」を実行する。「手順#9」では、テープ状態監視部271は、データ採取対象レコードのライト回数を1だけ加算する。次にテープ状態監視部271は、遅延対象判定処理を行う。バックアップ対象の複製ボリュームが遅延対象であれば、テープ状態監視部271は、「backup遅延」状態を維持すると共に、write遅延処理を実施する。バックアップ対象の複製ボリュームが遅延対象でなければ、テープ状態監視部271は、状態を「backup」に変更する。そしてテープ状態監視部271は、複製ボリュームのLUNをデータ採取テーブル81から削除する。
状態が「backup遅延」のときにアンマウントメディアの通知が入力されると、テープ状態監視部271は、「手順#10」を実行する。「手順#10」では、テープ状態監視部271は、候補絞り込み検索処理を実行する。このときの候補検索の条件として、「read=0」(リード回数が「0」)の複製ボリュームであることが指定される。テープ状態監視部271は、候補絞り込み検索によりバックアップ対象の複製ボリュームが特定できた場合、該当バックアップジョブ情報を集計し、ジョブ管理テーブル85に格納する。次にテープ状態監視部271は、データ採取テーブル81における状態を「idle」へ変更する。そしてテープ状態監視部271は、複製ボリュームのLUNをデータ採取テーブル81から削除する。
状態が「backup遅延」のときにD2Dバックアップセション切断の通知が入力されると、テープ状態監視部271は、状態を「backup」に変更する。そしてテープ状態監視部271は、複製ボリュームのLUNをデータ採取テーブル81から削除する。
以上のようにして、ディスク装置100またはバックアップサーバ30から通知が入力されると、マトリックス330の定義に従い、テープドライブそれぞれに対し、そのテープドライブの状態に応じた処理が実行される。なお、マウントメディア、メディアアロケート、ライト、およびアンマウントメディアの各通知は、対象となるテープドライブが指定されているため、指定されたテープドライブに対してのみ、マトリックス330に従った処理が行われる。一方、D2Dバックアップセション確立と、D2Dバックアップセション切断との通知にはテープドライブは指定されていないため、すべてのテープドライブに対してマトリックス330に従った処理が行われる。
次に、「手順#1」と「手順#6」とで実行される候補検索処理の詳細について説明する。
図45は、候補検索処理の手順を示すフローチャートである。以下、図45に示す処理をステップ番号に沿って説明する。
[ステップS91]テープ状態監視部271は、複製ボリュームに関するデータ採取テーブル61(図22参照)のうち、データ採取テーブル81における処理対象としているデータ採取時間帯と同一時間帯の各複製ボリュームの情報を参照する。
[ステップS92]テープ状態監視部271は、複製ボリュームを1つ選択する。
[ステップS93]テープ状態監視部271は、選択した複製ボリュームのリード回数が、候補検索の条件と一致したか否かを判断する。例えば、図43に示す「手順#1」と「手順#6」との候補検索の条件は、リード回数が「0」であることである。テープ状態監視部271は、条件と一致した場合、処理をステップS94に進める。テープ状態監視部271は、条件と一致しない場合、処理をステップS95に進める。
[ステップS94]テープ状態監視部271は、選択した複製ボリュームを候補複製ボリュームとする。具体的には、テープ状態監視部271は、選択した複製ボリュームの識別番号を、テープ装置200のデータ採取テーブル81(図29参照)における処理対象のデータ採取時間帯の候補複製ボリュームの欄に登録する。
[ステップS95]テープ状態監視部271は、未選択の複製ボリュームがあるか否かを判断する。テープ状態監視部271は、未選択の複製ボリュームがあれば、処理をステップS92に進める。テープ状態監視部271は、未選択の複製ボリュームがなければ、候補検索処理を終了する。
このようにして、複製ボリュームから採取されたリード回数に基づいて、複数の複製ボリュームの中から、バックアップジョブの対象となっている複製ボリュームの候補が検索される。例えば、図43に示す「手順#1」と「手順#6」とは、マウントメディアの通知を受けたときに実行される。マウントメディアは、バックアップジョブによるバックアップ処理の開始時に行われる。すると、バックアップアップ元の複製ボリュームは、まだシーケンシャルリードは実行されていないはずである。そこで、マウントメディアの通知が入力された際に、シーケンシャルリードが行われていない(リード回数が「0」)の複製ボリュームが、バックアップ対象の候補として検出される。
次に、「手順#2」、「手順#3」、「手順#5」、「手順#7」、「手順#8」、および「手順#10」で実行される候補絞り込み検索処理について詳細に説明する。
図46は、候補絞り込み検索処理の手順を示すフローチャートである。以下、図46に示す処理をステップ番号に沿って説明する。
[ステップS101]テープ状態監視部271は、データ採取テーブル61(図22参照)のうち、データ採取テーブル81における処理対象としているデータ採取時間帯と同一時間帯の情報を参照する。このときテープ状態監視部271は、直前のデータ採取時間帯において候補複製ボリュームとされている複製ボリュームに関する情報のみを参照する。
[ステップS102]テープ状態監視部271は、直前のデータ採取時間帯において候補複製ボリュームとされている複製ボリュームを1つ選択する。
[ステップS103]テープ状態監視部271は、選択した複製ボリュームのリード回数が、候補検索の条件と一致したか否かを判断する。例えば、図43に示す「手順#2」と「手順#5」、および図44に示す「手順#7」の候補検索の条件は、リード回数が「0」であることである。また「手順#3」と「手順#8」と候補検索の条件は、リード回数が「0」以外であることである。テープ状態監視部271は、条件と一致した場合、処理をステップS104に進める。テープ状態監視部271は、条件と一致しない場合、処理をステップS105に進める。
[ステップS104]テープ状態監視部271は、選択した複製ボリュームを候補複製ボリュームとする。具体的には、テープ状態監視部271は、選択した複製ボリュームの識別番号を、テープ装置200のデータ採取テーブル81(図29参照)における処理対象のデータ採取時間帯の候補複製ボリュームの欄に登録する。
[ステップS105]テープ状態監視部271は、直前のデータ採取時間帯において候補複製ボリュームとされている複製ボリュームのうち、未選択の複製ボリュームがあるか否かを判断する。テープ状態監視部271は、未選択の複製ボリュームがあれば、処理をステップS102に進める。テープ状態監視部271は、未選択の複製ボリュームがなければ、候補検索処理を終了する。
このようにして、複製ボリュームから採取されたリード回数に基づいて、バックアップの対象となっている複製ボリュームの絞り込みが行われる。例えば、図43に示す「手順#2」と「手順#5」、および図44に示す「手順#7」は、メディアアロケートまたはアンマウントメディアの通知を受けたときに実行される。メディアアロケートは、バックアップジョブによるデータコピー処理の開始時に行われる。またアンマウントメディアは、バックアップジョブによるデータコピー処理の完了後に行われる。するとメディアアロケートとアンマウントメディアとのいずれにおいても、同じ時間帯にバックアップアップ元の複製ボリュームではシーケンシャルリードは実行されていないはずである。そこで、メディアアロケートまたはアンマウントメディアの通知が入力された際に、シーケンシャルリードが行われていない(リード回数が「0」)の複製ボリュームが、バックアップ対象の候補として検出される。
一方、図43に示す「手順#3」と図44に示す「手順#8」とは、ライトの通知を受けたときに実行される。テープ装置200へのライトの通知は、バックアップジョブによるバックアップ処理のバックアップ対象の複製ボリュームからシーケンシャルリードを行った後に出される。するとライトの通知が出された時間帯には、バックアップ対象の複製ボリュームではデータのシーケンシャルリードが行われているはずである。そこで、ライトの通知が入力された際に、シーケンシャルリードが行われている(リード回数が「0」以外)の複製ボリュームが、バックアップ対象の候補として検出される。
次に、図44に示す「手順#6」、「手順#7」、「手順#8」、および「手順#9」で実行される遅延判定処理について詳細に説明する。
図47は、遅延対象判定処理の手順を示すフローチャートである。以下、図47に示す処理をステップ番号に沿って説明する。
[ステップS111]テープ状態監視部271は、処理対象のテープドライブに関するデータ採取テーブル81内の現在の時刻を含むデータ採取時間帯のレコードを参照し、候補複製ボリュームとD2D対象複製ボリュームとを比較する。
[ステップS112]テープ状態監視部271は、D2D対象複製ボリュームが候補複製ボリュームに含まれているか否かを判断する。D2D対象複製ボリュームが候補複製ボリュームに含まれている場合、D2Dバックアップにおけるバックアップ先の複製ボリュームを対象として、バックアップジョブが実行されている可能性がある。そこでテープ状態監視部271は、D2D対象複製ボリュームが候補複製ボリュームに含まれている場合、処理をステップS113に進める。他方、テープ状態監視部271は、D2D対象複製ボリュームが候補複製ボリュームに含まれていない場合、処理をステップS116に進める。
[ステップS113]テープ状態監視部271は、処理対象のテープドライブの状態が「mount遅延」または「ready遅延」か否かを判断する。「mount遅延」と「ready遅延」とのいずれかの場合、テープ状態監視部271は、処理をステップS114に進める。状態が「mount遅延」と「ready遅延」とのいずれでもなければ、テープ状態監視部271は、処理をステップS115に進める。
[ステップS114]テープ状態監視部271は、処理対象のテープドライブの状態が「mount遅延」または「ready遅延」の場合、候補複製ボリュームが1つだけか否かを判断する。候補複製ボリュームが1つだけであれば、テープ状態監視部271は処理をステップS115に進める。候補複製ボリュームが複数ある場合、テープ状態監視部271は処理をステップS116に進める。
[ステップS115]テープ状態監視部271は、処理対象のテープドライブを遅延対象に設定する。その後、遅延対象判定処理が終了する。
[ステップS116]テープ状態監視部271は、処理対象のテープドライブを遅延対象外に設定する。その後、遅延対象判定処理が終了する。
このようにして、D2Dバックアップにおけるバックアップ先の複製ボリュームを対象としてバックアップジョブが実行されている可能性がある場合、バックアップジョブによるデータ格納先のテープドライブが遅延対象とされる。
なお、テープドライブの状態が「mount遅延」または「ready遅延」の場合には、候補複製ボリュームが1つだけに絞り込まれている場合にのみ遅延対象と判断される。これは「mount遅延」または「ready遅延」でマウントメディアまたはメディアアロケートの動作をテープドライブに対して行っても、複製ボリュームからのデータリードが発生しないためである。複製ボリュームからのデータリードが発生しなければ、D2Dバックアップ中の業務ボリュームへのアクセスに対する影響もない。
ただしマウントメディアまたはメディアアロケートの通知が出されたということは、その後、バックアップジョブによるライト通知が出されることを意味する。そこで、第2の実施の形態では、テープドライブの状態が「mount遅延」または「ready遅延」の場合、候補複製ボリュームが1つに絞り込まれ、バックアップジョブの対象となる複製ボリュームが一意に特定できる場合にのみ遅延対象とする。これにより、ディスク装置100内でのD2Dバックアップとバックアップサーバ30の制御によるバックアップジョブとが、共通の複製ボリュームを対象に実行されていることが明らかな場合、バックアップジョブによるコピーの開始時期を遅らせることができる。その結果、D2Dバックアップによる複製ボリュームへのデータライトと、バックアップジョブによるその複製ボリュームからのデータリードとが重複して行われる期間を低減させることができる。
また、テープドライブの状態が「mount遅延」または「ready遅延」の場合、候補複製ボリュームが1つに絞り込まれていなければ遅延処理を実施しないことで、必要以上の遅延処理の実施が抑制される。すなわち、業務ボリュームへのデータの入出力に悪影響を及ぼす可能性が低い場合にまで遅延処理が実施されることが抑制される。その結果、バックアップジョブの処理効率の低下を抑制できる。
またドライブの状態が「mount遅延」または「ready遅延」以外(「write遅延」または「backup遅延」)の場合、候補論理ボリュームが複数あっても遅延対象とする。これは、write通知が出された場合は複製ボリュームからのシーケンシャルのデータリードが発生しており、その複製ボリュームをバックアップ先とするD2Dバックアップ中の業務ボリュームへの影響があるためである。すなわち業務ボリュームへの影響を確実に抑制するために、候補複製ボリュームが複数ある場合であっても、テープドライブに対するデータライトにおけるライト遅延処理が行われる。ライト遅延処理が行われれば、複製ボリュームからのシーケンシャルリードのデータリード間隔が長くなる。その結果、D2Dバックアップによる複製ボリュームへのデータライトの処理効率が向上し、業務ボリュームへの業務サーバ20からのアクセスの処理効率の低下が抑制される。
ところで、図47に示すような判定処理を行わずに、D2Dバックアップ処理中にバックアップジョブによるマウントメディア、メディアアロケート、またはライトの通知を受けた場合、常に遅延処理を行うようにしてもよい。
・バックアップスケジュール改善提案
次に、効率化または安全運用を実現するバックアップスケジュール改善提案処理について説明する。バックアップスケジュール改善提案処理では、まず、バックアップの仕分けが行われる。バックアップの仕分けとは、整理済ナレッジテーブルに基づいて、アクセス頻度を分析し、バックアップが必要な日を仕分ける処理である。
図48は、バックアップ仕分け処理の手順を示す図である。以下、図48に示す処理をステップ番号に沿って説明する。
[ステップS121]テープ状態監視部271は、曜日で整理した業務ボリュームの整理済ナレッジテーブル72を参照し、曜日を1日選択する。
[ステップS122]テープ状態監視部271は、選択した曜日における業務ボリュームの状態が「idle」か否かを判断する。テープ状態監視部271は、状態が「idle」であれば、処理をステップS123に進める。テープ状態監視部271は、状態が「busy」であれば、処理をステップS124に進める。
[ステップS123]テープ状態監視部271は、選択した曜日の次の曜日のバックアップジョブは不要であると判断する。その後、処理がステップS125に進められる。
[ステップS124]テープ状態監視部271は、選択した曜日の次の曜日のバックアップジョブは必要であると判断する。
[ステップS125]テープ状態監視部271は、未選択の曜日があるか否かを判断する。テープ状態監視部271は、未選択の曜日があれば、処理をステップS121に進める。テープ状態監視部271は、未選択の曜日がなければ、処理をステップS126に進める。
[ステップS126]テープ状態監視部271は、曜日ごとのバックアップの要否判定結果を、電子メールなどにより管理者に通知する。
図49は、バックアップの仕分け例を示す図である。図49では、業務ボリュームの整理済ナレッジテーブル72のうち、「LUN2」の情報のみを抽出して示している。また、「LUN2」の業務ボリュームのデータは、「LUN2」の複製ボリュームにバックアップされているものとする。図49では、テープ装置200の整理済ナレッジテーブル93のうち、「LUN2」の複製ボリュームに関する情報を抽出して示している。
「LUN2」の業務ボリュームの状態は、水曜日のみ「busy」であり、その他の曜日は「idle」である。すなわち「LUN2」の業務ボリュームは、水曜日にのみ使用されている。一方、バックアップジョブ「3」は、月曜日から金曜日までの毎日実行されている。業務ボリュームの使用が水曜日のみであれば、バックアップジョブは水曜日の後の1日、例えば木曜日に実施すればよい。木曜日以外の曜日については、バックアップジョブを行わなくてもよいものと考えられる。
このような場合、テープ状態監視部271は、管理者に対して、「LUN2」の複製ボリュームのバックアップジョブは木曜日だけで十分であることを示すメッセージを、電子メールなどによって通知する。その結果、管理者は、効率的なバックアップジョブのスケジューリングを行うことができる。
また、テープ状態監視部271は、ジョブの多重度を調べ、優先度に従い再スケジュールの提案を行うことができる。
図50は、再スケジュール提案処理の手順を示すフローチャートである。以下、図50に示す処理をステップ番号に沿って説明する。
[ステップS131]テープ状態監視部271は、テープ装置200において複製ボリュームごとに整理した整理済ナレッジテーブル91を参照し、複製ボリュームごとのバックアップジョブの実行状況を調べる。
[ステップS132]テープ状態監視部271は、バックアップ時間が互いに重複するバックアップジョブがあるか否かを判断する。テープ状態監視部271は、重複するバックアップジョブがあれば、処理をステップS133に進める。テープ状態監視部271は、重複するバックアップジョブがなければ処理を終了する。
[ステップS133]テープ状態監視部271は、優先度が上位のバックアップジョブから順に、再スケジュールの対象とする。各バックアップジョブの優先度は、ジョブ管理テーブル85(図37参照)に基づいて判断できる。
[ステップS134]テープ状態監視部271は、再スケジュール可能な時間を検査する。例えば、テープ状態監視部271は、再スケジュール対象のバックアップジョブ以外のバックアップジョブ(他のバックアップジョブ)の実行時間を調べる。またテープ状態監視部271は、再スケジュール対象のバックアップジョブのバックアップ対象の複製ボリュームの状態から、空き時間(「idle」の時間)を調べる。そしてテープ状態監視部271は、他のバックアップジョブの実行時間以外であり、再スケジュール対象のバックアップジョブのバックアップ対象の複製ボリュームの空き時間を、再スケジュール可能な時間と判断する。
[ステップS135]テープ状態監視部271は、ステップS134で求めた再スケジュール可能な時間に、再スケジュール対象のバックアップジョブの実行時間を再スケジュールし、提案スケジュールテーブル310を作成する。
[ステップS136]テープ状態監視部271は、バックアップ時間が互いに重複するバックアップジョブが、他にもあるか否かを判断する。テープ状態監視部271は、重複するバックアップジョブがあれば、処理をステップS133に進める。テープ状態監視部271は、重複するバックアップジョブがなければ処理をステップS137に進める。
[ステップS137]テープ状態監視部271は、使用ドライブの検索処理を実行する。この処理の詳細は後述する(図55参照)。
[ステップS138]テープ状態監視部271は、提案スケジュールテーブルの内容を電子メールなどにより管理者に通知する。
このようにして、バックアップジョブの時間帯が重複しないようなスケシュールを提案することができる。以下、再スケジュール提案処理を、具体例を用いて説明する。
図51は、複製ボリュームごとにナレッジ時間帯で整理した整理済ナレッジテーブルの例を示す図である。図51に示した整理済ナレッジテーブル91は、バックアップジョブのジョブ番号が設定されているナレッジ時間帯以外は、すべて空き(状態が「idle」)であるものとする。
図51に示す整理済ナレッジテーブル91を参照すると、5時から7時の時間帯は、3多重でバックアップジョブが実行されている。また、7時から8時までの時間帯は、2多重でバックアップジョブが実行されている。
ここでジョブ番号「3」のバックアップジョブの優先度が最も高く、次にジョブ番号「2」のバックアップジョブの優先度が高く、ジョブ番号「1」のバックアップジョブの優先度が最も低いものとする。そこで、ジョブ番号「3」のバックアップジョブが、再スケジュールの対象として選択される。
次に、バックアップの空き時間が調査される。
図52は、空き時間の調査例を示す図である。図52では、複製ボリュームごとの整理済ナレッジテーブル91に基づいて、他のバックアップジョブの実施状況が判断されている。また、整理済ナレッジテーブル71に基づいて、再スケジュール対象のバックアップジョブの対象の「LUN2」の複製ボリュームへのD2Dバックアップ実施状況が判断されている。
図52の例では、右側にナレッジ時間帯ごとの空き時間の判断結果が示されている。他のバックアップジョブが実行されている時間帯には、「busy」と設定されている。また、「LUN2」の複製ボリュームへのD2Dバックアップの実施時間帯にも、「busy」と設定されている。それ以外の時間帯は、空き時間(状態が「idle」)である。そこで、ジョブ番号「3」のバックアップジョブを空き時間に再スケジューリングした提案スケジュールテーブル310が作成される。
図53は、提案スケジュールテーブルの例を示す図である。提案スケジュールテーブル310には、ナレッジ時間帯と複製ボリュームごとの状態との欄が設けられている。ナレッジ時間帯の欄には、1日をナレッジ精度で分割することで得られるナレッジ時間帯が設定されている。複製ボリュームごとの状態の欄には、バックアップジョブが実行される時間帯に、該当バックアップジョブのジョブ番号が設定されている。
図53に示すように、ジョブ番号「3」のバックアップジョブを16時から20時の間で実施するように再スケジュールすることで、ジョブ番号「3」のバックアップジョブと他のバックアップジョブとの間の実施時間の重複はなくなる。しかし、図53に示した例では、またジョブ番号「1」のバックアップジョブとジョブ番号「2」のバックアップジョブとの実施時間が重複している。そこで、次に優先度が高いジョブ番号「2」のバックアップジョブについての再スケジュールが実行される。
図54は、ジョブ番号「2」のバックアップジョブの再スケジュール例を示す図である。2つめのバックアップジョブの再スケジュールを行う場合、他のバックアップジョブ実施状況の把握には、提案スケジュールテーブル310が使用される。すなわち、先に再スケジュールされたバックアップジョブは、再スケジュール後の時間帯に実施されるものとして、他のバックアップジョブの実施状況が判断される。すなわち提案スケジュールテーブル310と整理済ナレッジテーブル71とに基づいて、再スケジュール対象のバックアップジョブのバックアップ対象である「LUN2」の複製ボリュームの空き時間が判断される。そして、再スケジュール対象のバックアップジョブの実施時間を、空き時間に再スケジュールし、提案スケジュールテーブル310を更新する。
次に、使用ドライブの検索処理の詳細について説明する。
図55は、使用ドライブの検索処理の手順を示すフローチャートである。以下、図55に示す処理をステップ番号に沿って説明する。
[ステップS141]テープ状態監視部271は、提案スケジュールテーブル310に基づいて各バックアップジョブのスケジュールを調べる。
[ステップS142]テープ状態監視部271は、優先度の上位のテープドライブから順に、空き時間を検索対象として選択する。優先度は、例えば、LTOによる規格の世代が新しいほど高く設定されている。
[ステップS143]テープ状態監視部271は、バックアップジョブがスケジューリングされた時間帯において、選択したテープドライブが空いている(状態が「idle」)か否かを判断する。テープドライブの空き時間帯は、テープドライブごとにナレッジ時間帯で整理した整理済ナレッジテーブル92に基づいて判断できる。テープ状態監視部271は、選択したテープドライブが空いていれば、処理をステップS144に進める。テープ状態監視部271は、選択したテープドライブが空いていなければ、処理をステップS142に進める。
[ステップS144]テープ状態監視部271は、バックアップジョブにおけるバックアップ先として、最後に選択したテープドライブを割り当てる。その後、使用ドライブの選択処理が終了する。
図56は、使用ドライブの割り当て例を示す図である。図56の例では、再スケジュールされたバックアップジョブは、ジョブ番号「2」と「3」のバックアップジョブである。また、最も優先度の高いテープドライブは、「G4_02」のテープドライブである。そこで「G4_02」のテープドライブの使用状況において、ジョブ番号「2」のバックアップジョブの実施時間である10時から12時の時間帯が空いているか否かが判断される。図56の例では空いているため、ジョブ番号「2」のバックアップジョブのバックアップ先として、「G4_02」のテープドライブが割り当てられる。同様に「G4_02」のテープドライブの使用状況において、ジョブ番号「3」のバックアップジョブの実施時間である16時から20時の時間帯が空いているか否かが判断される。図56の例では空いているため、ジョブ番号「3」のバックアップジョブのバックアップ先として、「G4_02」のテープドライブが割り当てられる。
このようにして、バックアップジョブの再スケジュールが行われ、管理者に対して提案スケジュールが通知される。管理者は、提案スケジュールを自己の使用する端末装置で画面に表示し、内容を確認することができる。
図57は、提案スケジュールのレポート画面の一例を示す図である。レポート画面320には、バックアップジョブごとに、改善案、頻度、使用ドライブが示されている。なお、改善案がない場合、改善案の項には「特になし」と表示されている。
改善案は、開始時刻、終了時刻、頻度で示される。開始時刻は、バックアップジョブの開始時刻である。終了時刻は、バックアップジョブの終了時刻である。頻度は、毎日行うのか、あるいは週1回でよいのかが示される。週1回でよい場合、バックアップジョブを実施するのに適切な曜日が示される。また、使用ドライブとして、バックアップジョブによるバックアップ先として適切なテープドライブが示される。
管理者は、このようなレポート画面320を参照して、適切なバックアップスケジュールを作成することができる。
また、第2の実施の形態では、バックアップジョブの実行中にディスク装置100内でD2Dバックアップが開始された場合、テープ装置200において、各種通知に対する応答を意図的に遅延させる。
図58は、応答遅延の実施状況を示す図である。図58に示すように、複製ボリュームからテープ装置200へのデータバックアップを実施するバックアップジョブの実行中にD2Dバックアップが開始されると、バックアップジョブに対して意図的な遅延が実施される。意図的な遅延の実施により、テープ装置200側の処理が減少し、業務影響を回避することができる。
すなわち、D2Dバックアップは、複製ボリュームへの書き込みを伴う。複製ボリュームは、アクセス速度が遅い場合が多い。しかも複製ボリュームがRAID5で構成されていれば、ライトペナルティが発生し、データの書き込みはより遅くなる。ここで、ライトペナルティとは、データ更新時に、更新前のデータとパリティとを読み出し、パリティを更新する処理である。RAID5では、このようなデータとパリティの読み出し後でないとデータの更新ができないため、書き込みに時間がかかる。
D2Tのバックアップジョブの実施中にD2Dバックアップが実行されると、D2Dバックアップによる複製ボリュームへのデータの書き込みがさらに遅れる。すると、D2Dバックアップに要する時間が長期化する。その結果、D2Dバックアップ対象の業務ボリュームへのデータ書き込みができない期間が長期化するなどの影響がでてしまう。
そこで、第2の実施の形態では、テープ装置200における各種通知に対する応答を意図的に遅延させている。バックアップジョブを遅延させた分だけ、複製ボリュームへのD2Dバックアップによるデータ書き込みを迅速に実施可能となる。
応答を遅延させる方法としては、以下の方法が採られている。
1.バックアップ処理の開始前は、媒体のマウント処理を遅延させる。この場合、タイムアウトエラーとならない程度の時間(例えば約5分)だけ、応答を遅延させる。
2.ドライブに媒体をマウント後は、メディアアロケート通知に応じたレディ状態への遷移時間を遅延させる。この場合、タイムアウトエラーとならない程度の時間(約10分)だけ、レディ応答を遅延させる。
3.ライトコマンド(ライトの通知)の終了応答を遅延させる。バックアップサーバ30で実行されるバックアップジョブは、ライトコマンドに対する応答通知を待って、次のデータのライトコマンドを発行する。そのため、ライトコマンドの終了応答を遅延させることで、ディスク装置側へのリード回数を減らすことができる。
このようなテープ装置200によるテープアクセスへの応答の意図的な遅延は、バックアップサーバ30に意識させることなく実施できる。すなわち、ディスク装置100やテープ装置200の制御によりバックアップ処理の効率化が可能となる。ディスク装置100やテープ装置200の管理者とバックアップサーバ30の管理者とが異なる場合に有効である。
なお、第2の実施の形態の処理により、ディスク装置100に対する負荷が軽減される。その結果、ディスク装置100が過負荷になることによるトラブルの発生が抑制される。
また、第2の実施の形態では、適切なバックアップスケジュールの提案を行う際に、適切なテープドライブについても提案している。提案に沿って適正なテープドライブが使用されることで、バックアップ処理性能の最適化が図れる。
〔その他の実施の形態〕
第2の実施の形態では、テープ装置200において、複製ボリュームへのシーケンシャルリードの有無によりバックアップの有無を検出しているが、複製ボリュームのバックアップの有無をディスク装置100で検出してもよい。その場合、ディスク装置100は、例えばバックアップが実施された複製ディスクの識別情報(LUN)をテープ装置に通知する。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、情報処理装置4や、ディスク装置100のディスク状態監視部151,161とテープ装置200のテープ状態監視部271とが有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、メディアなどがある。光ディスクには、DVD、DVD−RAM、CD−ROM/RWなどがある。光磁気記録媒体には、MO(Magneto-Optical disc)などがある。
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
また、上記の処理機能の少なくとも一部を、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)などの電子回路で実現することもできる。
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。
以上の実施の形態に開示された技術には、以下の付記に示す技術が含まれる。
(付記1) ディスク装置内のボリュームに対する少なくともデータリードのアクセス状況を示すアクセス情報を取得する取得手段と、
取得した前記アクセス情報に基づいてシーケンシャルリードが実行されたボリュームを検出し、該ボリュームをバックアップ処理におけるバックアップ対象と判断する判断手段と、
を有することを特徴とする情報処理装置。
(付記2) 前記取得手段は、テープ装置内の磁気テープへのデータのバックアップに伴う前記テープ装置への動作指示を取得し、
前記判断手段は、前記テープ装置への動作指示を取得すると、その時点での前記アクセス情報を取得し、該動作指示で指定されている磁気テープへのデータのバックアップ対象とされている前記ディスク装置内のボリュームを判断する、
ことを特徴とする付記1記載の情報処理装置。
(付記3) 前記取得手段は、前記テープ装置内の磁気テープへのデータのバックアップに伴う前記テープ装置への動作指示を取得すると共に、前記ディスク装置内のボリューム間でのバックアップ処理の開始を示す開始情報と、該バックアップ処理の終了を示す終了情報とを取得し、
前記開始情報の取得後、前記終了情報の取得前に前記テープ装置への動作指示を取得すると、前記テープ装置に対して該動作指示に対する応答を遅延させる指示手段を、
さらに有することを特徴とする付記2記載の情報処理装置。
(付記4) 前記判断手段は、前記ディスク装置内のボリューム間でのバックアップ処理におけるバックアップ先のボリュームが、前記テープ装置への動作指示で指定されている磁気テープへのデータのバックアップ対象とされている前記ディスク装置内のボリュームと一致するか否かを判断し、
前記指示手段は、前記判断手段によりボリュームが一致すると判断された場合に、前記テープ装置に対して前記動作指示に対する応答を遅延させることを特徴とする付記3記載の情報処理装置。
(付記5) シーケンシャルリードが開始されてから終了するまでの期間を、バックアップ処理の実施期間と判断し、複数のバックアップ処理の実施期間が重複する場合、少なくとも1つのバックアップ処理の実施期間を変更したバックアップスケジュールを作成するスケジューリング手段を、
さらに有することを特徴とする付記1乃至4のいずれかに記載の情報処理装置。
(付記6) 前記スケジューリング手段は、バックアップ処理の実施期間を、該バックアップ処理のバックアップ対象のボリュームにアクセスのない期間へ変更したバックアップスケジュールを作成することを特徴とする付記5記載の情報処理装置。
(付記7) 前記スケジューリング手段は、実施期間が重複する複数のバックアップ処理の中からスループットの低いバックアップ処理を優先的に選択し、選択したバックアップ処理の実施期間を変更したバックアップスケジュールを作成することを特徴とする付記5または6のいずれかに記載の情報処理装置。
(付記8) 前記スケジューリング手段は、実施期間が重複する複数のバックアップ処理の中からデータサイズが小さいバックアップ処理を優先的に選択し、選択したバックアップ処理の実施期間を変更したバックアップスケジュールを作成することを特徴とする付記5乃至7のいずれかに記載の情報処理装置。
(付記9) 前記取得手段は、前記テープ装置内の磁気テープへのデータのバックアップに伴う前記テープ装置へのテープドライブを指定した動作指示を取得し、
前記スケジューリング手段は、取得した動作指示に基づいて前記テープ装置内の各テープドライブの使用期間を判断し、実施期間を変更したバックアップ処理における変更後の実施期間において使用可能なテープドライブを示す情報を、前記バックアップスケジュールに含めることを特徴する付記5乃至8のいずれかに記載の情報処理装置。
(付記10) 前記取得手段は、前記ディスク装置内の各ボリュームに対するデータの書き込み状況を前記アクセス情報に含めており、
前記判断手段は、前記アクセス情報に基づいて、バックアップ対象とされている前記ディスク装置内のボリューム内のデータの曜日ごとのデータの更新状況を解析し、
前記スケジューリング手段は、前記ディスク装置内の各ボリュームについて、データの更新が行われる曜日の次の日にバックアップを実施するバックアップスケジュールを作成することを特徴とする付記5乃至9のいずれかに記載の情報処理装置。
(付記11) ディスク装置内のボリュームに対する少なくともデータリードのアクセス状況を示すアクセス情報を、前記ディスク装置から取得する取得手段と、
取得した前記アクセス情報に基づいてシーケンシャルリードが実行されたボリュームを検出し、該ボリュームをバックアップ処理におけるバックアップ対象と判断する判断手段と、
を有することを特徴とするテープ装置。
(付記12) 前記取得手段は、前記テープ装置内の磁気テープへのデータのバックアップに伴う前記テープ装置への動作指示の入力状況を監視し、
前記判断手段は、前記テープ装置へ動作指示が入力されると、その時点での前記アクセス情報を取得し、該動作指示で指定されている磁気テープへのバックアップ対象とされている前記ディスク装置内のボリュームを判断する、
ことを特徴とする付記11記載のテープ装置。
(付記13) コンピュータに、
ディスク装置内のボリュームに対する少なくともデータリードのアクセス状況を示すアクセス情報を取得し、
取得した前記アクセス情報に基づいてシーケンシャルリードが実行されたボリュームを検出し、該ボリュームをバックアップ処理におけるバックアップ対象と判断する、
処理を実行させることを特徴とするプログラム。
(付記14) 前記アクセス情報の取得では、テープ装置内の磁気テープへのデータのバックアップに伴う前記テープ装置への動作指示を取得し、
バックアップ対象の判断では、前記テープ装置へ動作指示が入力されると、その時点での前記アクセス情報を取得し、該動作指示で指定されている磁気テープへのデータのバックアップ対象とされている前記ディスク装置内のボリュームを判断する、
ことを特徴とする付記13記載のプログラム。
(付記15) 前記アクセス情報の取得では、前記テープ装置内の磁気テープへのデータのバックアップに伴う前記テープ装置への動作指示を取得すると共に、前記ディスク装置内のボリューム間でのバックアップ処理の開始を示す開始情報と、該バックアップ処理の終了を示す終了情報とを取得し、
前記コンピュータに、さらに、
前記開始情報の取得後、前記終了情報の取得前に前記テープ装置への動作指示の入力があると、前記テープ装置に対して動作指示に対する応答を遅延させる処理を実行させることを特徴とする付記13または14のいずれかに記載のプログラム。
(付記16) 前記コンピュータに、さらに、
シーケンシャルリードが開始されてから終了するまでの期間を、バックアップ処理の実施期間と判断し、複数のバックアップ処理の実施期間が重複する場合、少なくとも1つのバックアップ処理の実施期間を変更したバックアップスケジュールを作成する処理を実行させることを特徴とする付記13乃至15のいずれかに記載のプログラム。