実施形態1では、計算機の記憶部に、連携して動作する複数のアプリケーションで構成されたグループである複合アプリケーション環境を構成する各アプリケーションを表すアプリケーション管理情報が記憶される。そして、その計算機には、設定部が備えられる。その設定部は、アプリケーション管理情報を参照することで、複合アプリケーション環境を構成する複数のアプリケーションを特定する。設定部は、特定された複数のアプリケーションに割当てられる複数の第一の論理ボリュームと、複数の第一の論理ボリュームに記憶されるデータのバックアップ先となる複数の第二の論理ボリュームとを同一のボリュームグループに所属させる指示を、複数の第一の論理ボリュームと複数の第二の論理ボリュームとの少なくとも一方を備える一以上のストレージシステムに送信する。
一以上のストレージシステムには、例えば、メモリを有した制御部が備えられ、そのメモリに、例えば、ボリュームグループ構成情報が記憶されている。ボリュームグループ構成情報は、例えば、どのボリュームグループにどの複数の第一の論理ボリュームとどの複数の第二の論理ボリュームが存在するかを表している。計算機から上記指示を受けたストレージシステムでは、制御部が、その指示で指定されている複数の第一の論理ボリューム及び複数の第二の論理ボリュームを同一のボリュームグループに所属するようボリュームグループ構成情報を更新する。これにより、更新後のボリュームグループ構成情報に基づき、制御部が、その同一のボリュームグループについて、複数の第一の論理ボリュームに記憶されているデータを複数の第二の論理ボリュームにバックアップすることができる。
実施形態1の変形例1では、上記同一のボリュームグループにおいて複数の第一の論理ボリュームから複数の第二の論理ボリュームにどのようにデータがバックアップされるかは、複数の第一の論理ボリュームと複数の第二の論理ボリュームとを備える一以上のストレージシステムが有する複数種類のバックアップ機能のうちのどの種類のバックアップ機能をそのボリュームグループに適用するかを基に定まる。
実施形態1の変形例2では、変形例1において、複数種類のバックアップ機能には、複数の第一のストレージシステムに存在する複数の第一の論理ボリュームから複数の第二のストレージシステムに存在する複数の第二の論理ボリュームにデータをバックアップする機能が含まれている。その機能は、例えば、後述する「多対多リモートコピー機能」である。
実施形態1の変形例3では、記憶部が、更に、複合アプリケーション環境に対応したボリュームグループとそのボリュームグループにおいてどのようなバックアップを行うかのバックアップポリシーとを表すバックアップポリシー管理情報を記憶する。
実施形態1の変形例4では、変形例3において、設定部が、複合アプリケーション環境の構成要素として新たなアプリケーションが追加される場合、その複合アプリケーション環境に対応したボリュームグループ及びバックアップポリシーをバックアップポリシー管理情報から特定し、新たなアプリケーションに割当てられる第一の論理ボリュームとその第一の論理ボリュームのバックアップ先となる第二の論理ボリュームとを特定されたボリュームグループに追加することの指示を、上記特定されたバックアップポリシーを基に作成し、その指示を、一以上のストレージシステムに送信する。ここで、「バックアップポリシーを基に指示を作成する」とは、例えば、指示に含めるパラメータ(例えば、ボリューム識別子、バックアップ機能、後述の保護期間などのそれぞれの値)を、そのバックアップポリシーを基に決定し、その決定されたパラメータを含んだ指示を作成することを言う。
実施形態1の変形例5では、変形例3乃至4のうちの少なくとも一つにおいて、設定部が、複合アプリケーション環境を構成するいずれかのアプリケーションに新たな第一の論理ボリュームが割当てられる場合、その複合アプリケーション環境に対応したボリュームグループ及びバックアップポリシーを前記バックアップポリシー管理情報から特定し、前記新たな第一の論理ボリュームとその第一の論理ボリュームのバックアップ先となる第二の論理ボリュームとを前記特定されたボリュームグループに追加することの指示を、特定されたバックアップポリシーを基に作成し、その指示を、前記一以上のストレージシステムに送信する。
実施形態1の変形例6では、実施形態1、及び変形例1乃至5のうちの少なくとも一つにおいて、設定部が、複合アプリケーション環境からアプリケーションが外される場合、そのアプリケーションに関する情報を前記アプリケーション管理情報における複合アプリケーション環境に対応した各アプリケーションに関する情報から削除し、その外されるアプリケーションに割当てられていた第一の論理ボリュームとそれに記憶されているデータのバックアップ先である第二の論理ボリュームとをそれらが所属しているボリュームグループから外すことの指示を、前記一以上のストレージシステムに送信する。
実施形態1の変形例7では、実施形態1、及び変形例1乃至6のうちの少なくとも一つにおいて、第一及び第二の複合アプリケーション環境を含んだ複数の複合アプリケーション環境が存在する。記憶部が、どの論理ボリュームがどのストレージシステムに存在するかを表すボリューム管理情報を更に記憶する。アプリケーション管理情報が、複合アプリケーション環境毎に、複合アプリケーション環境を構成する各アプリケーションを表す。設定部が、第一の複合アプリケーション環境のいずれかのアプリケーションが第二の複合アプリケーション環境のいずれかのアプリケーションと連携する場合、第一の複合アプリケーション環境を構成する複数のアプリケーションに割当てられている複数の第一の論理ボリュームと、第二の複合アプリケーション環境を構成する複数のアプリケーションに割当てられている複数の第一の論理ボリュームとが一つのストレージシステムに存在するか否かを、ボリューム管理情報を参照することにより判断する。否定的な判断結果であれば、設定部は、上記一つのストレージシステムとは別のストレージシステムに存在する第一の論理ボリュームを上記一つのストレージシステムにマイグレーションすることの指示を、上記別のストレージシステムと上記一つのストレージシステムとの少なくとも一方に送信する。
実施形態1の変形例8では、実施形態1、変形例1乃至7のうちの少なくとも一つにおいて、計算機が、連係情報取得部を更に備える。連携情報取得部が、アプリケーションがどのアプリケーションと連携するかの関係を示す連係情報を、そのアプリケーションを実行するホスト計算機から取得し、取得した連携情報を用いてアプリケーション管理情報を更新する。
実施形態1の変形例9では、変形例8において、設定部は、取得された連係情報が、複合アプリケーション環境を構成するいずれかのアプリケーションに新たなアプリケーションが連携していることを表している場合、その複合アプリケーション環境に対応したボリュームグループを特定し、新たなアプリケーションに割当てられる第一の論理ボリュームとその第一の論理ボリュームのバックアップ先となる第二の論理ボリュームとを上記特定されたボリュームグループに追加することの指示を、一以上のストレージシステムに送信する。
実施形態1の変形例10では、変形例8乃至9のうちの少なくとも一つにおいて、設定部は、取得された連係情報が、複合アプリケーション環境を構成するいずれかのアプリケーションに新たな第一の論理ボリュームが割当てられたことを表している場合、その複合アプリケーション環境に対応したボリュームグループを特定し、新たな第一の論理ボリュームとその第一の論理ボリュームのバックアップ先となる第二の論理ボリュームとを上記特定されたボリュームグループに追加することの指示を、一以上のストレージシステムに送信する。
実施形態1の変形例11では、変形例8乃至10のうちの少なくとも一つにおいて、設定部は、前記取得された連携情報が、前記複合アプリケーション環境のいずれかのアプリケーションと連携していたアプリケーションが連携しなくなったことを表している場合、そのアプリケーションに関する情報をアプリケーション管理情報における前記複合アプリケーション環境に対応した各アプリケーションに関する情報から削除し、その外されるアプリケーションに割当てられていた第一の論理ボリュームとそれに記憶されているデータのバックアップ先である第二の論理ボリュームとをそれらが所属しているボリュームグループから外すことの指示を、一以上のストレージシステムに送信する。
上述した実施形態1、及び変形例1乃至11のうちの任意の二以上を組み合わせることができる。また、記憶部は、例えば、メモリ或いは他種の記憶資源で構成することができる。上述した設定部及び連携情報取得部のうちの少なくとも一つは、ハードウェア、コンピュータプログラム又はそれらの組み合わせ(例えば一部をコンピュータプログラムにより実現し残りをハードウェアで実現すること)により構築することができる。コンピュータプログラムは、所定のプロセッサに読み込まれて実行される。また、コンピュータプログラムがプロセッサに読み込まれて行われる情報処理の際、適宜に、メモリ等のハードウェア資源上に存在する記憶域が使用されてもよい。また、コンピュータプログラムは、CD−ROM等の記録媒体から計算機にインストールされてもよいし、通信ネットワークを介して計算機にダウンロードされてもよい。
また、上記の計算機は、ストレージシステム内部に組み込まれる形で構成されてもよいし、計算機とストレージシステムとは、通信ネットワークを介して接続されてもよい。
また、計算機は、複数のアプリケーションが実行されるホスト計算機と、ホスト計算機に指示を出す管理計算機とが一体となった計算機であっても良いし、それらのうちのホスト計算機或いは管理計算機であっても良い。
以下、本発明のいくつかの実施例について、図面を参照しながら詳細に説明する。なお、これにより本発明が限定されるものではない。
<第一の実施例>。
まず、第一の実施例について説明する。なお、以下の説明では、ボリュームグループを、便宜上、「管理グループ」と呼ぶ。
本実施例に係る計算機システムは、ローカルコピー機能、CDP機能及びリモートコピー機能のうちのひとつ以上のバックアップ機能を持つストレージシステムを備える。ローカルコピー機能とは、一ストレージシステム内でデータボリューム間のデータコピーを行う機能である。CDP機能とは、CDPを利用したバックアップを行う機能である。リモートコピー機能とは、ストレージシステム内のデータボリュームに記憶されているデータを別のストレージシステム内のデータボリュームにコピーする機能である。
また、本計算機システムは、複数のアプリケーションを備える。そして、ひとつ以上のアプリケーションは、自らの機能を提供するためのインタフェースを公開している。他のアプリケーションは、このインタフェースを利用して、インタフェースを公開しているアプリケーションの所定の機能を利用することができる。このように、公開されたインタフェースを利用してアプリケーション同士が連携することにより、本計算機システム上には、複合アプリケーション環境が構築される。
以下、自らの機能を提供するためのインタフェースを公開しているアプリケーションを「連携先アプリケーション」と呼び、当該インタフェースを利用するアプリケーションを「連携元アプリケーション」と呼ぶことがある。また、連携先アプリケーションが属する複合アプリケーション環境を「連携先複合アプリケーション環境」、連携元アプリケーションが属する複合アプリケーション環境を「連携元複合アプリケーション環境」と呼ぶことがある。
以下、本実施例のシステム構成と動作を説明する。
(1−1)第一の実施例のシステム構成。
図1は、本実施例に係る計算機システムの構成例を示すブロック図である。
本システムでは、ストレージシステム1000と一以上のホスト計算機1100は、データネットワーク1300を介して互いに接続される。本実施例では、データネットワーク1300は、ストレージエリアネットワーク(SAN)とするが、IPネットワークであっても、あるいはこれら以外のデータ通信用ネットワークであってもよい。
ストレージシステム1000とホスト計算機1100と管理計算機1200は、管理ネットワーク1400を介して互いに接続される。本実施例では、管理ネットワーク1400は、IPネットワークとするが、ストレージエリアネットワークであっても、あるいはこれら以外のデータ通信用ネットワークであってもよい。また、データネットワーク1300と管理ネットワーク1400が、同一ネットワークであってもよいし、ホスト計算機1100と管理計算機1200が、同一計算機であってもかまわない。
なお、説明の都合上、図1では、ストレージシステム1000を1台、管理計算機1200を1台としたが、それぞれ、2台以上設置されても良い。
ストレージシステム1000は、データを格納するディスク装置1010と、ストレージシステム1000内の制御を行うディスクコントローラ1020とを備える。
ディスク装置1010は、ディスク型の記憶装置、例えば、ハードディスクドライブである。ディスク装置1010に代えて、フラッシュメモリデバイス等、多種の記憶装置が採用されてもよい。ディスク装置1010の記憶空間を基に、複数の論理ボリューム1011が形成される。論理ボリューム1011は、バックアップ機能ごとに異なる使われ方をする。本実施例では、説明の明確化のために、各バックアップ機能における用途ごとに論理ボリュームの呼び名を変える。たとえば、アプリケーションが利用するデータの格納に利用される場合は「データボリューム」、スナップショットの格納に利用される場合は「スナップショットボリューム」等が、それぞれ論理ボリューム1011の呼び名とされる。このような論理ボリューム1011の用途とその呼び名については、図2、図3及び図4を用いて説明する。
ディスクコントローラ1020は、管理I/F1021と、データI/F1022と、ディスクI/F1025と、メインメモリ1026と、CPU1023と、タイマ1024とを備えている。
メインメモリ1026には、管理情報群1029と、制御プログラム1028とが記憶される。CPU1023は、メインメモリ1026に記憶されたプログラムを実行する。以下、コンピュータプログラムが主語になる場合は、実際にはそのコンピュータプログラムを実行するCPUによって処理が行われるものとする。
制御プログラム1028は、CPU1023に実行されることにより、ローカルコピー機能、CDP機能、リモートコピー機能のうち一つ以上の機能を実現するための種々の処理を実行する。例えば、制御プログラム1028には、ローカルコピー機能を実現するローカルコピープログラムや、CDP機能を実現するCDPプログラムや、リモートコピー機能を実現するリモートコピープログラムが含まれる。
また、制御プログラム1028は、管理計算機1200やホスト計算機1100からの要求に応じ、ディスク装置1010に対するデータの入出力を処理したり、ストレージシステム1000内の構成情報や制御情報を設定したりする。構成情報には、例えば、どの論理ボリューム1011がデータボリュームなのか等の論理ボリュームの種別(用途)を示す情報や、データボリュームがどのジャーナルグループに所属しているのか又はどのデータボリュームとどのバックアップボリュームが関連付けられているか等のボリューム間の関係性を示す情報が含まれる。構成情報は、管理情報群1029の全部又は一部として、メインメモリ1028に記録される。制御プログラム1028は、管理情報群1029に含まれる構成情報を参照または更新しながら上述した種々の処理を実行することができる。
タイマ1024は、現在時刻を管理する一般的なタイマである。制御プログラム1028は、タイマ1024を参照することにより、ジャーナルが作成された時やスナップショットが取得された時の時刻を得ることができる。
データI/F1022は、データネットワーク1300に対するインタフェースである。データI/F1022は、一つ以上の通信用のポートを持つ。ディスクコントローラ1020は、このポートを介してホスト計算機1100や他のストレージシステム1000と、データや制御命令の送受信を行う。
管理I/F1021は、管理ネットワーク1400とのインタフェースである。管理I/F1021は、ホスト計算機1100や管理計算機1200と、データや制御命令の送受信を行う。
ディスクI/F1025は、ディスク装置1010に対するインタフェースである。ディスクI/F1025は、ディスク装置1010に対してデータや制御命令の送受信を行う。
ホスト計算機1100は、キーボードやマウスなどの入力装置1140と、CPU1130と、CRTなどの表示装置1120と、メモリ1160と、データI/F1110と、管理I/F1150とを備える。
データI/F1110は、データネットワーク1300に対するインタフェースである。データI/F1110は、一つ以上の通信用のポートを持つ。このポートを介して、ホスト計算機1100は、ストレージシステム1000と、データや制御命令の送受信を行う。
管理I/F1150は、管理ネットワーク1400に対するインタフェースである。管理I/F1150は、システム管理のために管理計算機1200及びストレージシステム1000と、データや制御命令の送受信を行う。
メモリ1160には、アプリケーション1161が記憶される。CPU1130は、メモリ1160に記憶されたプログラムを実行することで、各機能を実現する。
アプリケーション1161は、論理ボリューム1011の一種であるデータボリュームを利用するアプリケーションプログラムであり、例えば、DBMSやファイルシステムである。アプリケーション1161は、複合アプリケーション環境に所属し、このホスト計算機1100或いは別のホスト計算機110内の他のアプリケーションと連携して動作する。
管理計算機1200は、キーボードやマウスなどの入力装置1240と、CPU1230と、CRTなどの表示装置1220と、メモリ1250と、管理I/F1210とを備える。
管理I/F1210は、システム管理のために、ホスト計算機1100及びストレージシステム1000と、データや制御命令を送受信する。
メモリ1250には、設定プログラム1251と、複合AP環境管理テーブル1252と、AP/VOL対応テーブル1253と、バックアップポリシー管理テーブル1254と、ストレージ機能管理テーブル1255と、プールボリューム管理テーブル1256と、ストレージ間接続管理テーブル1257とが記憶される。
設定プログラム1251は、ストレージシステム1000が各種バックアップ機能を実現するために利用するバックアップ環境情報を設定するためのプログラムである。設定されたバックアップ環境情報は、管理情報群1029の全部又は一部として、ストレージシステム1000のメインメモリ1026に記録される。また、設定プログラム1251は、種々のテーブル1252乃至1257に情報を設定する。設定プログラム1251は、管理者にその情報を設定させるためのインタフェースとして、例えば、CLI(Command Line Interface)などを提供する。
CPU1230は、設定プログラム1251を実行することで、後述する各種機能を実現する。
複合AP環境管理テーブル1252、AP/VOL対応テーブル1253、バックアップポリシー管理テーブル1254、ストレージ機能管理テーブル1255、プールボリューム管理テーブル1256、ストレージ間接続管理テーブル1257の詳細については後述する。
図2乃至図4は、バックアップ機能ごとの管理グループの構成例を示した図である。これらの図を参照して、バックアップ機能ごとの論理ボリューム1011の用途及びその呼び名について説明する。
図2は、ローカルコピー機能を実現する管理グループの構成例を示す図である。なお、同図では、ディスク装置1010の内部を示しているが、それ以外の構成は、図1と同じである。
データボリューム2001は、ホスト計算機1100が利用するデータを格納する論理ボリューム1011である。また、バックアップボリューム2003は、データボリューム2001に関連付けられた論理ボリューム1011であり、関連付けられたデータボリューム2001の特定の時点のスナップショットを格納する。以下、このようなデータボリューム2001とバックアップボリューム2003のボリュームペアを「ローカルコピーペア」と呼ぶ。コピーグループ2002は、複数のローカルコピーペアを論理的にグループ化したものである。
これらの論理ボリューム1011に関する構成情報(例えば、どの論理ボリュームとどの論理ボリュームでローカルコピーペアが形成されているか、どのローカルコピーペアがどのコピーグループの構成要素になっているかを表す情報)は、制御プログラム1028によって、管理情報群1029に含まれる一つの情報として管理される。
ローカルコピー機能を実現するストレージシステム1000の具体的な処理は、次のとおりである。即ち、ストレージシステム1000の制御プログラム1028は、管理者のバックアップ指示に従い、コピーグループ2002に属するデータボリューム2001のデータを、そのデータボリューム2001の対となるバックアップボリューム2003へバックアップする。このとき、制御プログラム1028は、バックアップが完了するまで、データボリューム2001への書き込みを保留にしてもよい。あるいは、制御プログラム1028は、管理者からのバックアップ指示に従い、データボリューム2001のデータをブロックごとにバックアップボリューム2003へコピーし、ブロックごとにコピーの完了又は未完了の情報を管理してもよい。そして、制御プログラム1028は、バックアップ指示受領のタイミング以降にデータボリューム2001への書き込みが発生した時は、管理していたブロックごとのコピー完了又は未完了の情報を参照し、書き込み先のブロックのコピーが未完了であれば、まずその領域のデータをバックアップボリューム2003へコピーし、その後にデータボリュームへの書き込みを実行することもできる。これにより、コピーグループ2002内の全データボリューム2001の同一時点のバックアップが作成される。
図3は、CDP機能を実現する管理グループの構成例を示す図である。図2と同様に、同図では、ディスク装置1010の内部を示しているが、それ以外の構成は、図1と同じである。
データボリューム2001は、図2に記載のデータボリュームと同様である。また、スナップショットボリューム3002は、データボリューム2001に関連付けられた論理ボリューム1011であり、関連付けられたデータボリューム2001の特定の時点のスナップショットを格納する。以下、このようなデータボリューム2001とスナップショットボリューム3002のボリュームペアを「CDPペア」と呼ぶ。CDPジャーナルグループ3001は、複数のCDPペアを論理的にグループ化したものである。
CDPジャーナルグループ3001には、一つ以上のジャーナルボリューム3004が関連付けられる。ジャーナルボリューム3004は、ジャーナルを格納する論理ボリューム1011である。
これらの論理ボリュームに関する構成情報(例えば、どの論理ボリュームとどの論理ボリュームでCDPペアが形成されているか、どのCDPペアがどのCDPジャーナルグループの構成要素になっているかを表す情報)は、図2の場合と同様に、制御プログラム1028によって、管理情報群1029に含まれる一つの情報として管理される。
CDP機能を実現するストレージシステム1000の具体的な処理は、次のとおりである。即ち、ストレージシステム1000の制御プログラム1028は、管理者からのCDP機能開始指示に従い、CDPジャーナルグループ3001に属するデータボリューム2001のスナップショットを取得して、取得したスナップショットをそのデータボリューム2001とCDPペアを構成するスナップショットボリューム3002へ格納する。そして、制御プログラム1028は、その後のデータボリューム2001への書き込みをジャーナルとして、当該データボリューム2001が属するCDPジャーナルグループ3001に関連付けられたジャーナルボリューム3004へ格納する。このとき、制御プログラム1028は、書き込み順番と関連付けてジャーナルを管理する。リストア時には、制御プログラム1028は、スナップショットに一連のジャーナルを書き込み順序どおりに適用することで、CDPジャーナルグループ3001に属する全てのデータボリューム2001のデータを同一の任意時点の状態にリストアする。
なお、図3を参照した説明では、書き込まれるデータをジャーナルとしたが、それに代えて、書き込まれる前のデータをジャーナルとして扱ってもよい。この場合は、制御プログラム1028は、データボリューム2001へジャーナルを書くことで、CDPジャーナルグループ3001に属する全てのデータボリューム2001のデータを同一の任意時点の状態にリストアする。
図4は、リモートコピー機能を実現する管理グループの構成例を示す図である。なお、同図では、ホスト計算機1100及び管理計算機1200を省略しているが、それらは図1と同じである。また、ディスクコントローラ1020の内部も、図1と同じである。
本構成における論理ボリューム1011の用途及びその呼び名は、図3とほぼ同じであるため、差分のみ説明する。本構成では、1対のストレージシステム1000(一方を「プライマリストレージシステム4000」、他方を「セカンダリストレージシステム4100」と呼ぶ(単に、「正側」、「副側」と呼ぶ場合もある))が備えられる。プライマリストレージシステム4000のディスクコントローラ1020とセカンダリストレージシステム4100のディスクコントローラ1020とは、データネットワーク1300を介して接続されており、両ストレージシステム4000、4100の制御プログラム1028は、お互いにデータや制御命令のやり取りが可能となっている。このような接続情報も、制御プログラム1028によって、管理情報群1029に含まれる情報として管理される。
プライマリストレージシステム4000は、データボリューム2001とローカルジャーナルボリューム4004とを有する。セカンダリストレージシステム4100は、セカンダリボリューム4003とリモートジャーナルボリューム4002とを有する。
データボリューム2001は、図2に記載のデータボリュームと同じである。また、セカンダリボリューム4003は、データボリューム2001に関連付けられた論理ボリューム1011であり、関連付けられたデータボリューム2001の特定の時点のスナップショットを格納する。以下、このようなデータボリューム2001とセカンダリボリューム4003のボリュームペアを「リモートコピーペア」と呼ぶ。リモートコピージャーナルグループ4001は、複数のリモートコピーペアを論理的にグループ化したものである。
リモートコピージャーナルグループ4001には、一つ以上のローカルジャーナルボリューム4004と一つ以上のリモートジャーナルボリューム4002とが関連付けられる。ローカルジャーナルボリューム4004は、データボリューム2001への書き込みをジャーナルとして格納する論理ボリューム1011である。リモートジャーナルボリューム4002は、正側から転送されてくるジャーナルを一時的に格納しておく論理ボリューム1011である。
これらの論理ボリュームに関する構成情報(例えば、どの論理ボリュームとどの論理ボリュームでリモートコピーペアが形成されているか、どのリモートコピーペアがどのリモートコピージャーナルグループの構成要素になっているかを表す情報)は、図2、図3の場合と同様に、制御プログラム1028によって、管理情報群1029に含まれる一つの情報として管理される。
リモートコピー機能を実現するストレージシステム1000の具体的な処理は、次のとおりである。即ち、管理者がプライマリストレージシステム4000の制御プログラム1028へリモートコピーの開始指示を出すと、プライマリストレージシステム4000の制御プログラム1028とセカンダリストレージシステム4100の制御プログラム1028とは、制御情報とデータのやり取りを行いながら、リモートコピージャーナルグループ4001に属するデータボリューム2001のスナップショットを取得して、取得したスナップショットをそのデータボリューム2001とリモートコピーペアを構成するセカンダリボリューム4003へ格納する。そして、プライマリストレージシステム4000の制御プログラム1028は、その後のデータボリューム2001への書き込みをジャーナルとして、当該データボリューム2001が属するジャーナルグループ4001に関連付けられたローカルジャーナルボリューム4004へ、書き込み順序に従って格納する。そして、プライマリストレージシステム4000の制御プログラム1028は、ローカルジャーナルボリューム4004へ格納されたジャーナルを、データネットワーク1300を介してセカンダリストレージシステム4100へ、書き込み順序に従って転送する。セカンダリストレージシステム4100の制御プログラム1028は、受け取ったジャーナルを書き込み順序に従い当該リモートコピージャーナルグループ4001に関連付けられたリモートジャーナルボリューム4002へ格納する。そして、セカンダリストレージシステム4100の制御プログラム1028は、管理者からの指示あるいは特定のタイミングで、リモートジャーナルボリューム4002に格納されたジャーナルを書き込み順序に従いセカンダリボリューム4003へ適用する。これにより、リモートコピージャーナルグループ4001に属する全てのデータボリューム2001の同一時点のデータが、セカンダリボリューム4003へリストアされる。
なお、ローカルジャーナルボリューム4004は、プライマリストレージシステム4000のメインメモリ1026上の一時的なデータ格納領域(例えばキャッシュ)を割り当てることにより形成されてもよい。同様に、リモートジャーナルボリューム4002は、セカンダリストレージシステム4100のメインメモリ1026上の一時的なデータ格納領域(例えばキャッシュ)を割り当てることにより形成されてもよい。
さらに、図4を参照した説明では、プライマリストレージシステム4000の制御プログラム1028が主体となってデータを副側ストレージ装置4100へ転送していたが、それに代えて、セカンダリストレージシステム4100の制御プログラム1028が主体となってプライマリストレージシステム4000の制御プログラム1028へ、データの転送命令を発するようにしてもよい。
また、本リモートコピー機能を用いた構成は、バックアップ用途以外にも、災害復旧用の予備サイト作成用途に利用されてもよい。
以上が、バックアップ機能ごとの論理ボリューム1011の用途及びその呼び名についての説明である。以上の説明でわかるとおり、各バックアップ機能を実現する構成の共通点として、バックアップ元となる論理ボリューム1011(データボリューム2001)とスナップショットを格納する論理ボリューム1011(バックアップボリューム2003、スナップショットボリューム3002又はセカンダリボリューム4003)とでボリュームペアが構成されている。以下、各種ボリュームペアを、単に「ペア」と呼ぶことがある。そして、バックアップ元の論理ボリューム1011を「プライマリVOL」と呼び、スナップショットを格納する論理ボリューム1011を「セカンダリVOL」と呼ぶことがある。
また、ほかの共通点として、各バックアップ機能ともにペアをグルーピングして扱っている。以下、これらのグループ(コピーグループ、CDPジャーナルグループ、リモートコピージャーナルグループ)を総称して、「管理グループ」と呼ぶ。
本実施例に係る計算機システムでは、複数の同種又は異種のバックアップ機能を組合わせて実現することもできる。例えば、ローカルコピー機能によりデータボリューム2001のデータをバックアップボリューム2003へバックアップしている構成において、さらにそのバックアップボリューム2003のデータを任意のバックアップ機能でバックアップすることができる。従って、プライマリVOLとなりうる論理ボリューム1011は、データボリューム2001には限られず、各バックアップ機能におけるセカンダリVOLとなる場合もある。以下、ある管理グループに属するペアのセカンダリVOLのデータを更にバックアップするための構成を「カスケード構成」とよぶ。そして、当該セカンダリVOLがスナップショット格納先ボリュームとして属している管理グループを「カスケード元管理グループ」と呼び、当該セカンダリVOLをバックアップ元のボリュームとして属している管理グループを「カスケード先管理グループ」と呼ぶ。
また、いずれのバックアップ機能においても、プライマリVOLについて複数のペアを組ませることもできる。たとえば、一のデータボリューム2001を複数のバックアップボリューム2003とペアにすることができる。
図5は、複合AP環境管理テーブル1252の一例を示す図である。
本テーブル1252には、複合アプリケーション環境ごとに、複合アプリケーション環境の構成に関する情報(どのアプリケーション1161同士が連携しているのかを表す情報)が記録される。或る複合アプリケーション環境(以下、図5において「対象複合アプリケーション環境」と呼ぶ)について言うと、複合ID5001は、対象複合アプリケーション環境の識別子である。アプリID5002は、対象複合アプリケーション環境に属するアプリケーション1161の識別子である。認識可能ストレージポートID5003は、対象複合アプリケーション環境に対応したアプリID5002で示されるアプリケーション1161が稼動するホスト計算機1100が認識可能なストレージシステム1000のデータI/F1022の識別子である。一つのアプリケーション1161について、認識可能ストレージポートID5003として複数の値が設定されても良い。
本テーブル1252における各情報要素の対応関係は、設定プログラム1251が提供するCLIを用いて、ユーザによって設定される。この設定の流れは後述する。
図6は、AP/VOL対応テーブル1253の一例を示す図である。
本テーブル1253は、各アプリケーション1161が利用するデータボリューム2001に関する情報を管理する。アプリID6001は、アプリケーション1161の識別子である。ストレージID6002は、アプリID6001で示されるアプリケーション1161が利用するデータボリューム2001を格納するストレージシステム1000の識別子である。ボリュームID6003は、アプリID6001で示されるアプリケーション1161が利用するデータボリューム2001の識別子である。容量6004は、ボリュームID6003で示されるデータボリューム2001の容量である。
本テーブル1253における各情報要素の対応関係は、設定プログラム1251が提供するCLIを用いて、ユーザによって設定される。この設定の流れは後述する。
図7は、バックアップポリシー管理テーブル1254の一例を示す図である。
本テーブル1254には、管理グループごとに、対象管理グループ対応する複合アプリケーション環境に関する情報と、対象管理グループに対応するバックアップポリシーに関する情報が記録される。或る管理グループ(以下、図7の説明において「対象管理グループ」と呼ぶ)について言うと、グループID7001は、対象管理グループの識別子である。複合ID7002は、対象管理グループに対応付けられた複合アプリケーション環境の識別子である。バックアップ機能7003は、対象管理グループのバックアップ機能の種別(即ち、ローカルコピー機能やCDP機能やリモートコピー機能等)を表す情報である。同図では、「ローカルコピー」はローカルコピー機能を、「CDP」はCDP機能を、「リモートコピー」はリモートコピー機能を、それぞれ示している。カスケード元管理グループ7004は、対象管理グループがカスケード先管理グループとなっているか否かを示す情報である。カスケード元管理グループ7004としていずれかの管理グループの識別子が記録されている場合は、対象管理グループはカスケード先管理グループであり、カスケード元管理グループ7004が示す管理グループがカスケード元管理グループであることがわかる。カスケード元管理グループ7004として管理グループの識別子が記録されていない場合は(同図では、「−」が記録されている)、対象管理グループは、カスケード先管理グループとなっていないことを示す。プライマリストレージシステムID7005は、プライマリVOLを備えるストレージシステム1000の識別子である。セカンダリストレージシステムID7006は、セカンダリVOLを備えるストレージシステム1000の識別子である。保護期間7007は、バックアップ機能としてCDP機能やリモートコピー機能が利用された場合のリストア時における現在から見て遡れる時間の目標値である。例えば、10時間前まで遡れるようにしたい場合は、「10H」が設定される。一方、バックアップ機能をバックアップ用途ではなく災害復旧時の予備サイトの作成のために使用する場合は、例えば、「0H」が設定される。なお、バックアップ機能7003がローカルコピー機能である場合、本値には、例えば「−」が設定される。
本実施例では、バックアップ環境は、管理グループの構成と、バックアップポリシーとの組み合わせで定義される。バックアップポリシーは、その管理グループについてどのようなバックアップを実行するかであり、少なくとも、どのような種類のバックアップを実行するかを含む。バックアップポリシーには、その他に、データの保護期間などが含まれても良い。
本テーブル1254における各情報要素の対応関係は、設定プログラム1251が提供するユーザインタフェース(例えばCLI)を用いて、ユーザによって設定される。この設定の流れは後述する。
図8は、ストレージ機能管理テーブル1255の一例を示す図である。
本テーブル1255には、ストレージシステム毎に、どんなバックアップ機能が存在するか記録される。或るストレージシステム(以下、図8の説明において「対象ストレージシステム」と呼ぶ)について言うと、ストレージID8001は、対象ストレージシステムの識別子である。ローカルコピー8002は、対象ストレージシステム1000がローカルコピー機能を備えているか否かを示す情報である。CDP8003は、対象ストレージシステム1000がCDP機能を備えているか否かを示す情報である。リモートコピー8004は、対象ストレージシステム1000がリモートコピー機能を備えているか否かを示す情報である。ローカルコピー8002、CDP8003及びリモートコピー8004は、それぞれ、ストレージシステム1000がそれぞれのバックアップ機能を備えている場合は「OK」という値であり、備えていない場合は「NG」という値である。
本テーブル1255における各情報要素は、設定プログラム1251が提供するユーザインタフェース(例えばCLI)を用いて、ユーザによって設定される。それに代えて、設定プログラム1251が制御プログラム1028から各情報要素を取得し本テーブル1255に設定してもよい。
図9は、プールボリューム管理テーブル1256の一例を示す図である。
本テーブル1256には、未使用の論理ボリューム1011に関する情報が記録される。或る未使用の論理ボリューム1011(以下、図9の説明において「対象未使用ボリューム」と呼ぶ)について言うと、ストレージID9001は、対象未使用ボリューム1011を備えるストレージシステム1000の識別子である。ボリュームID9002は、対象未使用ボリューム1011の識別子である。容量9003は、対象未使用ボリューム1011の記憶容量である。
本テーブル1256における各情報要素は、設定プログラム1251が提供するユーザインタフェース(例えばCLI)を用いて、ユーザによって設定される。
図10は、ストレージ間接続管理テーブル1257の一例を示す図である。
本テーブル1257には、ストレージシステム1000間の接続関係を表す情報が記録される。本テーブル1257において接続関係が示されている2つのストレージシステム1000は、そのうちの一つがイニシエータ(データ転送元)となって、もう一つがターゲット(データ転送先)となって、互いにデータの転送を行うことができる。つまり。ローカルストレージシステムID10001が、イニシエータとなるストレージシステム1000の識別子であり、リモートストレージシステムID10003が、ターゲットとなるストレージシステム1000の識別子である。
本テーブル1257における各情報要素は、設定プログラム1251が提供するユーザインタフェース(例えばCLI)を用いて、ユーザによって設定される。
(1−2)第一の実施例で行われる処理。
図11は、いずれかのホスト計算機1100に新規アプリケーション1161を追加する処理の流れを示したフローチャートである。
本処理は、管理者が設定プログラム1251を起動することで開始される。設定プログラム1251は、起動の際、以下の4つのパラメータを受け取る。ただし、追加するアプリケーション1161が他のアプリケーション1161と連携しない場合は、設定プログラム1251は、パラメータ(d)を受け取らなくともよい。
(11a)新規アプリケーション1161に割り当てる識別子、
(11b)新規アプリケーション1161が稼動するホスト計算機1100が認識可能なストレージシステム1000のデータI/F1022の識別子、
(11c)新規アプリケーション1161に割り当てるデータボリューム2001の記憶容量(複数のデータボリューム2001が割り当てられても良く、それ故、複数の記憶容量であってもよい。)、
(11d)連携先アプリケーションあるいは連携先複合アプリケーション環境の識別子。
本処理が開始されると、まず、設定プログラム1251は、ステップ11010で、パラメータ(11d)を受け取ったか否かを判定する。パラメータ(11d)を受け取った場合は、設定プログラム1251は、そのパラメータ(11d)が連携先アプリケーションの識別子であるか、又は連携先複合アプリケーション環境の識別子であるか、を判定する(ステップ11010)。
ステップ11010において、パラメータ(11d)を受け取らなかった場合は、設定プログラム1251は、パラメータ(11c)で指定された記憶容量のデータボリューム2001をアプリケーション1161に割り当てる(割り当てられるデータボリューム2001は、一つとは限らず複数の場合もあるので、以下、割り当てられたデータボリューム2001をデータボリューム群(或いは論理ボリューム群)と表す。)(ステップ11020)。具体的には、設定プログラム1251は、プールボリューム管理テーブル1256を参照して、一又は複数の未使用な論理ボリューム1011を選択する。そして、設定プログラム1251は、選択した論理ボリューム群とパラメータ(11b)で指定されたデータI/F1022との間にパスを張ることのパス形成命令(選択した論理ボリューム群の各論理ボリュームのボリュームID9002とパラメータ(11b)が示すポートIDとを指定したパス形成命令)を、そのデータI/F1022を備えるストレージシステム1000に送信する。ここで、選択される論理ボリューム群を構成する各論理ボリュームの条件としては、パラメータ(11c)で指定された記憶容量以上の記憶容量を持つこと、パラメータ(11b)で指定されたデータI/F1022を備えるストレージシステム1000に格納されていること、の2つが挙げられる。尚、ここで割り当てたデータボリューム2001に何らかのバックアップ機能を適用する場合は、そのバックアップ機能を実現するために必要となる論理ボリューム1011(例えばバックアップボリューム2003等)の割り当ても行われる。また、図示していないが、上記の条件に当てはまる未使用の論理ボリューム1011がない場合は、設定プログラム1251は、警告を表示して処理を終了する。
次に、設定プログラム1251は、新規アプリケーション1161のみからなる複合アプリケーション環境(連携関係はないが、便宜的に複合アプリケーション環境として取り扱う)を複合AP環境管理テーブル1252へ追加する(ステップ11030)。具体的には、設定プログラム1251は、新規の複合アプリケーション環境に任意の識別子を割り振り、その識別子と、パラメータ(11a)で指定されたアプリケーション1161の識別子と、パラメータ(11b)で指定されたデータI/F1022とを、一つのレコードとして複合AP環境管理テーブル1252へ登録する。
次に、設定プログラム1251は、新規アプリケーション1161に割り当てたデータボリューム群に関する情報をAP/VOL対応テーブル1253へ登録する(ステップ11040)。
その後、設定プログラム1251は、ステップ11040でデータボリューム群として割り当てられた各論理ボリューム1011に対応したレコード(一行に記録されている情報)や、バックアップ機能を実現するために割り当てられた論理ボリューム1011に対応したレコードを、プールボリューム管理テーブル1257から削除し(ステップ11050)、処理を終了する。
ステップ11010において、パラメータ(11d)として連携先アプリケーションの識別子が指定されていた場合は、設定プログラム1251は、複合AP環境管理テーブル1252を参照してその連携先アプリケーションが属する複合アプリケーション環境を特定する(ステップ11070)。
一方、ステップ11010において、パラメータ(11d)として連携先複合アプリケーションの識別子が指定されていた場合は、設定プログラム1251は、ステップ11070の処理を行わずにステップ11090の処理を行う。
次に、設定プログラム1251は、パラメータ(11c)で指定された記憶容量のデータボリューム2001をアプリケーション1161に割り当てる(ステップ11090)。すなわち、ステップ11020の場合と同様に、設定プログラム1251は、プールボリューム管理テーブル1256を参照して、一又は複数の未使用な論理ボリューム1011を選択し、選択した論理ボリューム群とパラメータ(11b)で指定されたデータI/F1022とを結ぶパスを形成することのパス形成命令を、そのデータI/F1022を備えるストレージシステム1000に送信する。ここで、選択される論理ボリューム群を構成する各未使用論理ボリュームの条件としては、ステップ11020において示した2つの条件に加えて、連携先複合アプリケーション環境で利用されるデータボリューム2001が属するストレージシステム1000に格納されていること、が挙げられる。なお、上記と同様、条件に当てはまる論理ボリューム1011がない場合は、設定プログラム1251は、警告を表示して処理を終了する。
次に、設定プログラム1251は、割り当てられたデータボリューム群をプライマリVOL群の候補としてバックアップ機能の設定を行う(ステップ11100)。本ステップの詳細は後述する。
次に、設定プログラム1251は、複合AP環境管理テーブル1252を更新する(ステップ11120)。具体的には、設定プログラム1251は、パラメータ(11d)で指定された又はステップ11070で特定された連携先複合アプリケーション環境の識別子と、パラメータ(11a)で指定されたアプリケーション1161の識別子と、パラメータ(11b)で指定されたデータI/F1022とを含んだレコードを、複合AP環境管理テーブル1252へ登録する。
次に、設定プログラム1251は、新規アプリケーション1161に割り当てたデータボリューム群に関する情報をAP/VOL対応テーブル1253へ登録する(ステップ11040)。
その後、設定プログラム1251は、データボリューム群として割り当てられた各論理ボリューム1011に対応したレコードや、バックアップ機能を実現するために割り当てられた論理ボリューム1011に対応したレコードを、プールボリューム管理テーブル1257から削除し(ステップ11050)、処理を終了する。
なお、既にデータボリューム2001が割り当てられているアプリケーション1161を連携させる場合は、ステップ11090の処理が省略されてもよい。また、既に割り当てられているデータボリューム2001が連携先アプリケーションのデータボリューム2001と同じストレージシステム1000に格納されていない場合は、これらのデータボリューム2001を同一の管理グループに属させることができないので、設定プログラム1251は、警告を発し処理を終了することができる。あるいは、それに代えて、設定プログラム1251は、警告を発し処理を終了せずに、連携元アプリケーションのデータボリューム2001を連携先アプリケーションのデータボリューム2001を備えるストレージシステム1000の所定の論理ボリューム1011にマイグレーションさせて、これらのデータボリューム2001を同一管理グループに属させるようにすることもできる。これらの処理の詳細については、後述する。
以上が、本実施例に係る計算機システムを構成するいずれかのホスト計算機1100に新規アプリケーション1161を追加する際の処理の説明である。
次に、対象の論理ボリュームに割当てるバックアップ機能の設定を行う処理を、図12を用いて説明する。本処理は、例えば、図11のステップ11100の際に実行される。その場合、「対象の論理ボリューム」は、プライマリVOL群の候補を構成する各データボリュームである。
本処理では、設定プログラム1251は、パラメータとして、対象の論理ボリューム1011の識別子と、カスケード元管理グループの識別子とを受け取る。対象の論理ボリューム1011としては、例えば、データボリューム、バックアップボリューム或いはスナップショットボリュームが採用され得るが、対象の論理ボリューム1011がデータボリュームの場合には、設定プログラム1251は、カスケード元管理グループの識別子を受け取らない。
本処理では、まず設定プログラム1251は、カスケード元管理グループの識別子を受け取ったか否かを判定する(ステップ12010)。
カスケード元管理グループの識別子を受け取った場合は、設定プログラム1251は、バックアップポリシー管理テーブル1254を参照して、複合ID7002が図11におけるパラメータ(11d)で指定された又はステップ11070で特定された連携先複合アプリケーション環境の識別子であり、かつ、カスケード元管理グループ7004が本処理の開始時に受け取ったカスケード元管理グループの識別子である管理グループを列挙する(ステップ12020)。カスケード元管理グループの識別子を受け取らなかった場合は、設定プログラム1251は、バックアップポリシー管理テーブル1254を参照して、複合ID7002が図11におけるパラメータ(11d)で指定された又はステップ11070で特定された連携先複合アプリケーション環境の識別子であり、かつ、カスケード元管理グループ7004として「−」が記録されている(つまり、カスケード先管理グループとなっていない)管理グループを列挙する(ステップ12030)。
以降の処理は、列挙された各管理グループについて行われる。以下、或る管理グループ(以下、この図12の説明で「対象管理グループ」と言う)について説明する。
まず、設定プログラム1251は、バックアップポリシー管理テーブル1254を参照して、対象管理グループに対応したバックアップ機能を判定する(ステップ12040)。
ステップ12040における判定の結果、対象管理グループが採用するバックアップ機能がローカルコピー機能であった場合は、設定プログラム1251は、データボリューム群のペアとなるバックアップボリューム群を選択する(ステップ12050)。具体的には、設定プログラム1251は、プールボリューム管理テーブル1257に登録されている未使用の論理ボリューム1011からバックアップボリュームを選択する。このときの選択の条件としては、プライマリVOLの候補の容量以上の容量を持つこと、セカンダリストレージシステムID7006で示されるストレージシステム1000に格納されていること、が挙げられる。なお、条件を満たす論理ボリューム1011がない場合は、設定プログラム1251は、当該管理グループについての処理を終了し、他の管理グループについての処理を行う。
次に、設定プログラム1251は、プライマリVOLの候補が格納されているストレージシステム1000に対して、プライマリVOLの候補とステップ12050で選択されたバックアップボリューム2001とでローカルコピーペアを組む指示(例えば、プライマリVOLの候補のボリュームIDと、選択されたバックアップボリューム2001のボリュームIDとが指定された指示)を送信する(ステップ12060)。また、設定プログラム1251は、ここで組まれたローカルコピーペアを対象管理グループ(コピーグループ2002)に属させる指示(例えば、ローカルコピーペアの識別子、そのペアを構成するプライマリVOLとバックアップボリュームのそれぞれの識別子、及び、対象管理グループのグループIDを指定した指示)を、ストレージシステム1000に送信する(ステップ12070)。ステップ12060で送信された指示や、ステップ12070で送信された指示を受けたストレージシステムでは、受けた指示に応答して、管理情報群1029の更新が行われる。なお、ここでは、管理情報群1029が更新されるのみで、データのバックアップは開始されない。データのバックアップは、ストレージシステム1000の制御プログラム1028が管理者からバックアップ指示を受け付けてから開始される。
次に、設定プログラム1251は、ステップ12050で選択されたバックアップボリューム群をプライマリVOL群の候補、対象管理グループをカスケード元管理グループとして、本処理を再び呼び出す(ステップ12080)。
ステップ12040における判定の結果、対象管理グループが採用するバックアップ機能がCDP機能であった場合、設定プログラム1251は、データボリューム群のペアとなるスナップショットボリューム群を選択する(ステップ12090)。具体的には、設定プログラム1251は、プールボリューム管理テーブル1257に登録されている未使用の論理ボリューム1011からスナップショットボリュームを選択する。このときの選択の条件としては、プライマリVOLの候補の容量以上の容量を持つこと、セカンダリストレージシステムID7006で示されるストレージシステム1000に格納されていること、が挙げられる。なお、条件を満たす論理ボリューム1011がない場合は、設定プログラム1251は、当該管理グループについての処理を終了し、他の管理グループについての処理を行う。
次に、設定プログラム1251は、プライマリVOLの候補が格納されているストレージシステム1000に対して、プライマリVOLの候補とステップ12090で選択されたスナップショットボリューム3002とでCDPペアを組む指示(例えば、プライマリVOLの候補のボリュームIDと、選択されたスナップショットボリューム3002のボリュームIDとが指定された指示)を送信する(ステップ12100)。また、設定プログラム1251は、ここで組まれたCDPペアを対象管理グループ(CDPジャーナルグループ3001)に属させる指示(例えば、CDPペアの識別子、そのペアを構成するプライマリVOLとスナップショットボリュームのそれぞれの識別子、及び、対象管理グループのグループIDを指定した指示)をストレージシステム1000に送信する(ステップ12110)。ステップ12100で送信された指示や、ステップ12110で送信された指示を受けたストレージシステムでは、受けた指示に応答して、管理情報群1029の更新が行われる。なお、ここでは、管理情報群1029が更新されるのみで、データのバックアップは開始されない。データのバックアップは、ストレージシステム1000の制御プログラム1028が管理者や設定プログラム1251からバックアップ指示を受け付けてから開始される。また、対象グループ(CDPジャーナルグループ3001)においてバックアップが既に開始されている場合は、設定プログラム1251は、追加したCDPペアについてもバックアップを開始するように制御プログラム1028へ指示を出す。
次に、設定プログラム1251は、ステップ12090で選択されたスナップショットボリューム群をプライマリVOL群の候補、対象管理グループをカスケード元管理グループとして本処理を再び呼び出す(ステップ12120)。
ステップ12040における判定の結果、対象ボリュームグループが採用するバックアップ機能がリモートコピー機能であった場合は、設定プログラム1251は、データボリューム群のペアとなるセカンダリボリューム群を選択する(ステップ12130)。具体的には、設定プログラム1251は、プールボリューム管理テーブル1257に登録されている未使用の論理ボリューム1011からセカンダリボリュームを選択する。このときの選択の条件としては、プライマリVOLの候補の記憶容量以上の記憶容量を持つこと、セカンダリストレージシステムID7006で示されるストレージシステム1000に格納されていること、が挙げられる。なお、条件を満たす論理ボリューム1011がない場合は、設定プログラム1251は、当該管理グループについての処理を終了し、他の管理グループについての処理を行う。
次に、設定プログラム1251は、プライマリVOLの候補が格納されているストレージシステム1000及びセカンダリストレージシステムID7006で示されるストレージシステム1000のそれぞれに対して、プライマリVOLの候補とステップ12130で選択されたセカンダリボリューム4003とでリモートコピーペアを組む指示(例えば、プライマリVOLの候補のボリュームIDと、選択されたセカンダリボリューム4003のボリュームIDとが指定された指示)を送信する(ステップ12140)。また、設定プログラム1251は、ここで組まれたリモートコピーペアを対象管理グループ(リモートコピージャーナルグループ4001)に属させる指示(例えば、リモートコピーペアの識別子、そのペアを構成するプライマリVOLとセカンダリボリュームのそれぞれの識別子、及び、対象管理グループのグループIDを指定した指示)を、ストレージシステム1000へ送信する(ステップ12150)。ステップ12140で送信された指示や、ステップ12150で送信された指示を受けたストレージシステムでは、受けた指示に応答して、管理情報群1029の更新が行われる。なお、ここでは、管理情報群1029が更新されるのみで、データのバックアップは開始されない。データのバックアップは、ストレージシステム1000の制御プログラム1028が管理者や設定プログラム1251からバックアップ指示を受け付けてから開始される。また、対象管理グループ(リモートコピージャーナルグループ4001)においてバックアップが既に開始されている場合は、設定プログラム1251は、追加したリモートコピーペアについてもバックアップを開始するように制御プログラム1028へ指示を出す。
次に、設定プログラム1251は、ステップ12130で選択されたセカンダリボリューム群をプライマリVOL群の候補、処理の対象となっている管理グループをカスケード元管理グループとして本処理を再び呼び出す(ステップ12160)。
以上の処理が列挙された全ての管理グループについて行われた後、設定プログラム1251は、バックアップ環境の設定が、列挙された全ての管理グループについて正常に行われたか否かを判定する(ステップ12170)。バックアップ環境の設定が正常に行われていなかった場合は(具体的には、いずれかの管理グループについて管理情報群1029の更新に失敗があった場合は)、設定プログラム1251は、正常に設定されなかったバックアップ環境についてその設定を解除する指示(例えば、更新に失敗した情報を管理情報群1029から削除する指示)をストレージシステム1000に送信し、警告を表示して処理を異常終了する(ステップ12180)。バックアップ環境の設定が正常に行われていた場合は、設定プログラム1251は、本処理を正常終了する。
なお、CDPジャーナルグループに新たにボリュームペアを追加することで、そのCDPジャーナルグループに対応付けられている保護期間7007が表す保護期間を満たせなくなってしまう場合がある(例えば、保護期間が10時間である第一のCDPジャーナルグループに、保護期間が3時間である第二のCDPジャーナルグループ中のボリュームペアを追加することで、第一のCDPジャーナルグループに要求される保護期間を満たせなくなってしまう場合がある)。この場合は、設定プログラム1251は、ステップ12110の処理の後に、プールボリューム管理テーブル1257から適切な未使用の論理ボリューム1011(前述した条件を満たす論理ボリューム1011)を選択して、選択した論理ボリューム1011をジャーナルボリューム3004に追加することができる。同様に、リモートコピージャーナルグループに新たにボリュームペアを追加することで、そのリモートコピージャーナルグループに対応付けられている保護期間7007が表す保護期間を満たせなくなってしまう場合は、設定プログラム1251は、ステップ12150の処理の後に、プールボリューム管理テーブル1257から適切な未使用の論理ボリューム1011を選択して、選択した論理ボリューム1011をリモートジャーナルボリューム4002に追加することができる。
以上、図11と図12の処理により、新規アプリケーションに割り当てられた全てのデータボリュームと、連携先複合アプリケーション環境に属するアプリケーションの全てのデータボリュームとを同一の管理グループに含めたバックアップ環境が構築される。このとき、設定プログラム1251を起動した管理者は、複合アプリケーション環境全体の構成を知らなくてもよい。
図13は、既存の複合アプリケーション環境同士を連携させる処理の流れを示したフローチャートである。
本処理は、管理者が設定プログラム1251を起動することで開始される。設定プログラム1251は、起動の際、以下の2つのパラメータを受け取る。
(13a)連携元複合アプリケーション環境の識別子、
(13b)連携先複合アプリケーション環境の識別子。
本処理が開始されると、設定プログラム1251は、連携元複合アプリケーション環境のデータボリューム2001を列挙する(ステップ13010)。具体的には、設定プログラム1251は、複合AP環境管理テーブル1252を参照して、連携元複合アプリケーション環境の識別子を複合ID5001に持つレコードを特定し、特定した各レコードからアプリID5002を列挙し、その後、AP/VOL対応テーブル1253を参照して、列挙されたアプリID5002に対応するボリュームID6003を列挙する。
次に、設定プログラム1251は、列挙されたデータボリューム2001が連携先複合アプリケーション環境のデータボリューム2001と同一のストレージシステム1000に格納されているかを判定する(ステップ13020)。
列挙された全てのデータボリューム2001が同一のストレージシステム1000に格納されている場合は、ステップ13060が行われる。
一方、列挙されたデータボリューム2001のうちの少なくとも一つのデータボリューム2001が異なるストレージシステム1000に格納されている場合は、設定プログラム1251は、そのデータボリューム2001を連携先複合アプリケーション環境のデータボリューム2001が属するストレージシステム1000へマイグレーション可能か否かを判定する(ステップ13030)。なお、ここでは、両ストレージシステム1000同士が接続されていること(ストレージ間接続管理テーブル1257を参照して判断する)、両ストレージシステム1000がリモートコピー機能を備えていること(ストレージ機能管理テーブル1255を参照して判断する)、マイグレーション先論理ボリュームを確保できること(プールボリューム管理テーブル1256を参照して判断する)、連携元複合アプリケーション環境に属するアプリケーション1161が稼動するホスト計算機1100がマイグレーション先ストレージシステム1000のデータI/F1022を認識できること(複合AP環境管理テーブル1252を参照して判断する)、の全てを満たす場合に、マイグレーションが可能であると判断される。
マイグレーションができない場合は、設定プログラム1251は、警告を表示して(ステップ13040)、処理を異常終了する。
一方、マイグレーションが可能な場合は、設定プログラム1251は、両ストレージシステム1000にマイグレーション指示(例えば、マイグレーション元の論理ボリュームのIDとマイグレーション先の論理ボリュームのIDとを指定した指示)を送信する(ステップ13050)。この指示に基づいて、連携元アプリケーション環境に対応したデータボリューム2001が、連携先複合アプリケーション環境のデータボリューム2001が属するストレージシステム1000へマイグレーションされる。具体的には、連携元アプリケーション環境に対応したデータボリューム2001内のデータが、そのストレージシステム1000で確保されたマイグレーション先論理ボリュームにマイグレーションされる。なお、マイグレーション先の論理ボリューム1011は、プールボリューム管理テーブル1256を参照して選択される。マイグレーションが完了した後、AP/VOL対応テーブル1253が更新される。
次に、ステップ13010で列挙されたデータボリューム2001(ステップ13050が行われた場合は、マイグレーションされたデータボリューム2001が含まれる)をプライマリVOL群の候補としてバックアップ機能の設定が行われる(ステップ13060)。本ステップでは、図12と同様の処理が行われる。
その後、設定プログラム1251は、連携先複合アプリケーション環境の識別子と、ステップ13010で列挙されたアプリID5002とをそれぞれ関連付けて複合AP環境管理テーブル1252に登録する(ステップ13070)。そして、設定プログラム1251は、マイグレーション先の論理ボリューム1011に関するレコードをプールボリューム管理テーブル1256から削除し(ステップ13080)、処理を終了する。
なお、本処理に加えて、連携元複合アプリケーション環境のバックアップ環境を連携先複合アプリケーション環境に適用したい場合は、本処理において連携元複合アプリケーション環境と連携先複合アプリケーション環境を入れ替えて(つまり、本処理における連携元複合アプリケーション環境の識別子を連携先複合アプリケーション環境の識別子とし、本処理における連携先複合アプリケーション環境の識別子を連携元複合アプリケーション環境の識別子とし)、再び本処理が実行されるか、或いは、連携先複合アプリケーション環境に対応するデータボリュームが、連携元複合アプリケーションが使用するデータボリュームを有するストレージシステムにマイグレーションされても良い。
また、連携元複合アプリケーション環境のバックアップ環境を削除したい場合は、ステップ13010の直後に、設定プログラム1251が、ステップ13010にて列挙したデータボリューム2001に関連するバックアップ環境を解除する指示(例えば、そのデータボリューム2001の識別子を指定したバックアップ環境解除指示)をストレージシステム1000に送信する。ストレージシステム1000の制御プログラム1028は、その指示に応答して、指定されたデータボリューム2001を含んだ管理グループの構成に関する情報を管理情報群1029から削除することができる。なお、データボリューム2001に関連するバックアップ環境の情報は、前述したとおり、ストレージシステム1000が管理情報群1029として管理しているため、設定プログラム1251は、そこから取得して削除しても良い。バックアップ環境の解除が完了したら、設定プログラム1251は、バックアップポリシー管理テーブル1256から、連携元複合アプリケーション環境の識別子を複合ID7002に持つレコードを全て削除する。また、設定プログラム1251は、複合AP環境管理テーブル1252から、連携元複合アプリケーション環境の識別子を複合ID5001に持つレコードを全て削除する。
以上の処理により、複合アプリケーション環境同士を連携させる時に、それぞれの複合アプリケーション環境に属する全てのアプリケーション1161のデータボリューム2001を同一の管理グループでバックアップできるようなバックアップ環境を構築することができる。
図14は、既存の複合アプリケーション環境に属するアプリケーション1161に新規データボリューム2001を割り当てる処理の流れを示したフローチャートである。
本処理は、管理者が設定プログラム1251を起動することで開始される。設定プログラム1251は、起動の際、以下の3つのパラメータを受け取る。
(14a)データボリューム2001の割り当てを行うアプリケーション1161の識別子、
(14b)当該アプリケーション1161が稼動するホスト計算機1100が認識可能なストレージシステム1000のデータI/F1022の識別子、
(14c)割り当てるデータボリューム2001の容量、
本処理が開始されると、まず、設定プログラム1251は、パラメータ(14c)で指定された容量のデータボリューム2001をアプリケーション1161に割り当てる(ステップ14010)。すなわち、設定プログラム1251は、プールボリューム管理テーブル1256を参照して、一又は複数の未使用な論理ボリューム1011を選択する。そして、設定プログラム1251は、選択した論理ボリューム群とパラメータ(14b)で指定されたデータI/F1022とを結ぶパスを張る指示を、そのデータI/F1022を備えるストレージシステム1000に送信する。このときの論理ボリューム1011の選択の条件としては、パラメータ(14c)で指定された以上の容量を持つこと、パラメータ(14b)で指定されたデータI/F1022を備えるストレージシステム1000に格納されていること、割当て対象のデータボリュームが複合アプリケーション環境(そのデータボリュームの割当て先のアプリケーションが属する複合アプリケーション環境)に属しているいずれかのアプリケーションのデータボリュームと同じストレージに格納されていること、の3つが挙げられる。なお、上記の条件に当てはまる論理ボリューム1011がない場合は、設定プログラム1251は、警告を表示して処理を終了する。
次に、設定プログラム1251は、割り当てられたデータボリューム群をプライマリVOL群の候補としてバックアップ機能の設定を行う(ステップ14020)。本ステップは、以下の点を除き図12で示した処理と同等である。即ち、ステップ12020及びステップ12030において、連携先複合アプリケーション環境は、データボリューム2001の割り当てを行うアプリケーション1161が属する複合アプリケーション環境とされる。
次に、設定プログラム1251は、割り当てたデータボリューム2001に関するレコード(例えば、そのデータボリューム2001の識別子や、割当て先のアプリケーションの識別子を含んだレコード)を、AP/VOL対応テーブル1253に登録する(ステップ14030)。
最後に、設定プログラム1251は、データボリューム群として割り当てられた論理ボリューム1011に対応したレコードやバックアップ環境の構築に利用された論理ボリューム1011に対応したレコードを、プールボリューム管理テーブル1256から削除し(ステップ14040)、処理を終了する。
以上の処理により、複合アプリケーション環境に属するアプリケーションに新規ボリュームを割り当てる時に、当該ボリュームを当該複合アプリケーション環境と同一の管理グループ群でバックアップできるようなバックアップ環境を構築できる。
図15は、既存の複合アプリケーション環境からアプリケーション1161を削除する処理の流れを示したフローチャートである。
本処理は、管理者が設定プログラム1251を起動することで開始される。設定プログラム1251は、起動の際、以下のパラメータを受け取る。
(15a)削除するアプリケーション1161の識別子。
本処理が開始されると、まず、設定プログラム1251は、削除するアプリケーション1161が利用するデータボリューム2001を列挙する(ステップ15010)。
次に、設定プログラム1251は、列挙したデータボリューム2001に関連するバックアップ機能の設定を解除するようにストレージシステム1000へ指示を出す(ステップ15020)。データボリュームに関連するバックアップ環境の情報は、前述したとおり、ストレージシステム1000が管理情報群1029として管理しているため、設定プログラム1251は、そこから取得することができる。
その後、設定プログラム1251は、複合アプリケーション環境管理テーブル1252から削除対象となっているアプリケーション1161に関する情報を削除する。
最後に、設定プログラム1251は、AP/VOL対応テーブル1253から削除対象となっているアプリケーション1161に関するレコードを削除して、処理を終了する。
以上の処理により、複合アプリケーション環境に所属する必要の無い(例えば、他のアプリケーションと連携関係のない)アプリケーション1161に割当てられているデータボリューム2001を、その複合アプリケーション環境に対応した管理グループから削除することができる。
図16は、複合アプリケーション環境のために新たなバックアップ環境を構築しそれに割当てる処理の流れを示したフローチャートである。
本処理は、管理者が設定プログラム1251を起動することで開始される。設定プログラム1251は、起動の際、以下の5つのパラメータを受け取る。ただし、バックアップ元の論理ボリューム1011がデータボリューム2001である場合は、パラメータ(16c)は無くても良い。また、バックアップ機能がリモートコピー機能でない場合は、パラメータ(16d)は無くても良い。さらに、バックアップ機能がローカルコピー機能である場合は、パラメータ(16e)は無くても良い。
(16a)バックアップ機能の種別、
(16b)バックアップ機能を適用する複合アプリケーション環境の識別子、
(16c)カスケード元管理グループの識別子、
(16d)セカンダリストレージシステムID、
(16e)保護期間。
本処理が開始されると、設定プログラム1251は、パラメータ(16c)であるカスケード元管理グループの識別子を受け取ったか否かを判定する(ステップ16010)。
パラメータ(16c)を受け取った場合は、設定プログラム1251は、パラメータ(16c)で示されたカスケード元管理グループのセカンダリVOL群をプライマリVOL群の候補とする(ステップ16020)。なお、カスケード元管理グループのセカンダリVOL群に関する情報は、ストレージシステム1000が管理情報群1029として管理しているため、設定プログラム1251は、そこから取得することができる。
一方、パラメータ(16c)を受け取らなかった場合は、設定プログラム1251は、バックアップ機能の割り当て先となる複合アプリケーション環境で利用されるデータボリューム2001をプライマリVOL群の候補とする。
次に、設定プログラム1251は、ストレージシステム1000がパラメータ(16a)で指定されたバックアップ機能を有するか否かを判断する(ステップ16040)。例えば、パラメータ(16a)で指定されたバックアップ機能がローカルコピー機能又はCDP機能である場合、設定プログラム1251は、プライマリVOL群の候補が格納されているストレージシステム1000が有するバックアップ機能を、ストレージ機能管理テーブル1255を参照して識別する。一方、パラメータ(16a)で指定されたバックアップ機能がリモートコピー機能である場合、第一に、設定プログラム1251は、プライマリVOL群の候補が格納されているストレージシステム1000が有するバックアップ機能と、パラメータ(16d)で指定されたセカンダリストレージシステムが有するバックアップ機能とを、ストレージ機能管理テーブル1255を参照して識別する。第二に、設定プログラム1251は、上記二つのストレージシステム1000間でデータ転送可能であるかを、ストレージ間接続管理テーブル1257を参照して判別する。
ステップ16040の判断の結果、ストレージシステム1000がパラメータ(16a)で指定されたバックアップ機能を有さない場合は、設定プログラム1251は、管理者に警告を発行し、異常終了する(ステップ16050)。
一方、ステップ16040の判断の結果、ストレージシステム1000がパラメータ(16a)で指定されたバックアップ機能を有する場合は、設定プログラム1251は、指定されたバックアップ機能に応じて以下の処理を実行する(ステップ16060)。
指定されたバックアップ機能がローカルコピー機能である場合、まず、設定プログラム1251は、プライマリVOL群の候補を格納するストレージシステム1000にコピーグループ2002を作成する指示を送信する(ステップ16070)。次に、設定プログラム1251は、バックアップボリューム2001をプールボリューム管理テーブル1256が表す未使用ボリューム群から選択する(ステップ16080)。そして、設定プログラム1251は、プライマリVOLの候補とステップ16080にて選択したバックアップボリューム2001とで構成されるローカルコピーペアを作成する指示をストレージシステム1000に送信する(ステップ16090)。また、設定プログラム1251は、ステップ16070で送信された指示により作成されるコピーグループ2002にステップ16090で送信された指示により作成されるローカルコピーペアを追加する指示をストレージシステム1000に送信する(ステップ16100)。最後に、設定プログラム1251は、今回作成されたコピーグループ2002に関する情報(例えば、グループID7001や、バックアップ機能7003を含んだレコード)をバックアップポリシー管理テーブル1254へ追加し(ステップ16110)、プールボリューム管理テーブル1256からステップ16080にて選択されたボリュームに対応したレコードを削除して(ステップ16120)、処理を終了する。
指定されたバックアップ機能がCDP機能である場合、まず、設定プログラム1251は、プライマリVOL群の候補を格納するストレージシステム1000にCDPジャーナルグループ3001を作成する指示を送信する(ステップ16120)。次に、設定プログラム1251は、ジャーナルボリューム3004をプールボリューム管理テーブル1256が表す未使用ボリューム群から選択し、そのジャーナルボリューム3004をステップ16120で送信された指示により作成されるCDPジャーナルグループ3001へ関連付ける指示をストレージシステム1000に送信する(ステップ16140)。次に、設定プログラム1251は、プールボリューム管理テーブル1256が表す未使用ボリューム群からスナップショットボリューム3002を選択する(ステップ16150)。そして、設定プログラム1251は、プライマリVOLの候補とステップ16150にて選択したスナップショットボリューム3002とで構成されるCDPペアを作成する指示をストレージシステム1000に送信する(ステップ16160)。また、設定プログラム1251は、ステップ16130で送信された指示により作成されるCDPジャーナルグループ3001にステップ16160で送信された指示により作成されるCDPペアを追加する指示をストレージシステム1000に送信する(ステップ16170)。最後に、設定プログラム1251は、今回作成されたCDPジャーナルグループ3001に関する情報(例えば、グループID7001や、パラメータ(e)で指定された保護期間7007を含んだレコード)をバックアップポリシー管理テーブル1254へ追加し(ステップ16110)、プールボリューム管理テーブル1256から今回選択された論理ボリューム1011に対応するレコードを削除して(ステップ16120)、処理を終了する。
指定されたバックアップ機能がリモートコピー機能である場合、まず、設定プログラム1251は、プライマリVOL群の候補を格納するストレージシステム1000とセカンダリストレージシステムとにリモートコピージャーナルグループ4001を作成する指示をそれぞれ送信する(ステップ16180)。次に、設定プログラム1251は、ローカルジャーナルボリューム4004をプールボリューム管理テーブル1256が表す未使用ボリューム群から選択し、選択したローカルジャーナルボリューム4004をステップ16180で送信された指示により作成されるリモートコピージャーナルグループ4001へ関連付ける指示をストレージシステム1000に送信する(ステップ16190)。次に、設定プログラム1251は、リモートジャーナルボリューム4002をプールボリューム管理テーブル1256が表す未使用ボリューム群から選択し、選択したリモートジャーナルボリューム4002をステップ16180で送信された指示により作成されるリモートコピージャーナルグループ4001へ関連付ける指示をストレージシステム1000に送信する(ステップ16200)。次に、設定プログラム1251は、プールボリューム管理テーブル1256が表す未使用ボリューム群からセカンダリボリュームを選択する(ステップ16210)。そして、設定プログラム1251は、プライマリVOLの候補とステップ16210にて選択したセカンダリボリュームとで構成されるリモートコピーペアを作成する指示をストレージシステム1000に送信する(ステップ16220)。また、設定プログラム1251は、ステップ16180で送信された指示により作成されるリモートコピージャーナルグループ4001にステップ16220で送信された指示により作成されるリモートコピーペアを追加する指示をストレージシステム1000に送信する(ステップ16230)。最後に、設定プログラム1251は、今回作成されたリモートコピージャーナルグループ4001に関する情報(例えば、グループID7001や、パラメータ(e)で指定された保護期間7007を含んだレコード)をバックアップポリシー管理テーブル1254へ追加し(ステップ16110)、プールボリューム管理テーブル1256から今回選択された論理ボリューム1011に対応するレコードを削除して(ステップ16120)、処理を終了する。
以上が、複合アプリケーション環境のために新たなバックアップ環境を構築しそれに割当てる処理の説明である。本処理により、複合アプリケーション環境で利用される全ての論理ボリューム1011に対して、一括してバックアップ機能を適用することができる。
以上が、第一の実施例の説明である。本実施例によれば、複合アプリケーション環境で利用される全てのデーボリューム2001が同一の管理グループ群でバックアップされることが保障される。
<第二の実施例>。
次に、第二の実施例について説明する。
大規模な計算機システムでは、単一のプライマリストレージシステム4000と単一のセカンダリストレージシステム4100間で行われるリモートコピーの負荷が高くなり、I/O性能が落ちるなど業務へ影響を与えたしまうことがある。この課題を解決するために、複数のプライマリストレージシステム4000と複数のセカンダリストレージシステム4100利用することで負荷分散を行う技術(例えば、特開2005−190455号に開示の技術がある。この技術によれば、第一の実施例で示したリモートコピージャーナルグループ4001を複数個まとめたグループを作成することが可能である。このグループは、複数のストレージシステム1000にまたがって作成されてもよい。以降、このグループを「グローバルジャーナルグループ」と呼ぶ。グローバルジャーナルグループに属する全てのプライマリストレージシステム4000は、同一のタイマを共有している(ここで言う「同一のタイマを共有する」とは、全てのプライマリストレージシステム4000における時刻が同じであることを意味する)。そして、書き込みが発生したときに作成するジャーナルの属性として、このタイマから取得した時刻が付与される。また、セカンダリストレージシステム4100に転送されたジャーナルをセカンダリボリューム4003に適用するときには、各セカンダリストレージシステム4100が受け取った最新のジャーナルに付与されている時刻のうち最古の時刻までの特定の同一時点まで各セカンダリストレージシステムにおいてジャーナルが適用される。これにより、全てのセカンダリストレージシステム4100のセカンダリボリューム4003に同一時点のデータをリストアすることができる。以下、このようなバックアップ機能を「多対多リモートコピー機能」と呼ぶ。
(2−1)第二の実施例のシステム構成。
本実施例に係る計算機システムの構成は、第一の実施例とほぼ同等であるため、主に差分について説明する。
図17は、本実施例に係る計算機システムの構成例を示すブロック図である。
グローバルジャーナルグループ1710は、一つ以上のリモートコピージャーナルグループ4001から構成される。当該リモートコピージャーナルグループ4001を構成するデータボリューム2001とセカンダリボリューム4003を格納するストレージシステム1000とは、データネットワーク1300を介して接続されており、お互いにデータや制御情報のやり取りが可能である。
また、グローバルジャーナルグループ17010に属する複数のプライマリストレージシステム4000のうちの一つが、マスタープライマリストレージシステム17100となる。このマスタープライマリストレージシステム17100が備えるタイマ(図示しない)は、他のプライマリストレージシステム4000と共有される。プライマリストレージシステム4000の制御プログラム1028がジャーナルを作成するときには、この共有されたタイマ1024の時刻が付与される。タイマ1024を参照するために各プライマリストレージシステム4000の制御プログラム1028は、どのリモートコピージャーナルグループ4001がどのグローバルジャーナルグループ17010に属しているのか、各グローバルジャーナルグループ17010のマスタープライマリストレージシステム17100はどのストレージシステム1000なのかを、各々のストレージシステム1000が備える管理情報群1029で管理している。
また、セカンダリストレージシステム4100の制御プログラム1028は、プライマリストレージシステム4000から受け取ったジャーナルをセカンダリボリューム4003へ適用する際には、同一のグローバルジャーナルグループ17010の各セカンダリストレージシステム4100と連携し、各セカンダリストレージシステム4100が受け取った最新のジャーナルに付与された時刻を比較し、最古の時刻以前のジャーナルをセカンダリボリューム4003に適用する。このため、セカンダリストレージシステム4100の制御プログラム1028は、どのリモートコピージャーナルグループ4001がどのグローバルジャーナルグループ17010に属しているのかを、そのストレージシステム1000が備える管理情報群1029で管理している。
なお、図示しないが、本実施例では、バックアップポリシー管理テーブル1254のバックアップ機能7003には多対多リモートコピー機能を示す値(例えば「多対多リモート」)を格納することができる。また、多対多リモートコピー機能では、プライマリストレージシステムID7005とセカンダリストレージシステムID7007に複数のストレージシステム1000の識別子を記録することができる。
(2−2)第二の実施例で行われる処理。
本実施例で行われる処理は、第一の実施例とほぼ同等であるため、主に差分について説明する。
図18は、本実施例における、既存の複合アプリケーション環境同士を連携させる処理の流れを示したフローチャートである。
本処理は、管理者が設定プログラム1251を起動することで開始される。設定プログラム1251は、起動の際、以下の2つのパラメータを受け取る。
(18a)連携元複合アプリケーション環境の識別子、
(18b)連携先複合アプリケーション環境の識別子。
ステップ13010及びステップ13020における処理は、図13で説明したものと同じである。また、ステップ13020にて、同一のストレージシステム1000に格納されていると判定された場合も、それ以降の処理は図13で説明したものと同じである。即ち、ステップ13020における判定結果がYESである場合は、その後、図13におけるステップ13060、13070及び13080の処理が順番に行われる。
ステップ13020にて、異なるストレージシステム1000に格納されていると判定された場合は、設定プログラム1251は、バックアップポリシー管理テーブル1254を参照し、連携先複合アプリケーション環境に適用されているバックアップ機能がリモートコピー機能のみであるか否かを判定する(ステップ18030)。
他のコピー機能が含まれている場合は、図13におけるステップ13030及び13040の処理が順番に行われる。
リモートコピー機能のみである場合は、設定プログラム1251は、多対多リモートコピー機能の適用が可能か否かを判定する(ステップ18050)。ここでは、設定プログラム1251は、バックアップポリシー管理テーブル1254を参照し、当該管理グループのプライマリストレージシステムID7005及びセカンダリストレージシステムID7006で示されるそれぞれのストレージシステム1000、及び、連携元複合アプリケーション環境のデータボリューム2001が属するストレージシステム1000のそれぞれが多対多リモートコピー機能を有しているか否かを判定する。また、設定プログラム1251は、それぞれのストレージシステム1000が互いに制御命令やデータのやり取りをすることができるか否かを、ストレージ間接続管理テーブル1257を参照して判定する。それぞれのストレージシステム1000が多対多リモートコピー機能を有し、それぞれのストレージシステム1000がデータや制御命令のやり取りをすることができる場合は、本処理はステップ18060へ移行する。それ以外は、本処理はステップ13030へ移行する。
ステップ18060では、設定プログラム1251は、連携元複合アプリケーション環境のデータボリューム2001をプライマリVOL群としてリモートコピーペアの生成及びリモートコピージャーナルグループ4001の作成を行う。なお、本処理は、図16で説明したリモートコピージャーナルグループ4001の作成方法(ステップ16180〜ステップ16230)と次の点を除き同じである。即ち、セカンダリボリューム4003を選択する際の条件として、当該セカンダリボリューム4003が多対多リモートコピー機能を有するストレージシステム1000に属していることが更に加えられる。
次に、設定プログラム1251は、作成されたリモートコピージャーナルグループ4001のバックアップ種別を判定する(ステップ18070)。
通常のリモートコピー機能であれば、まず、設定プログラム1251は、グローバルジャーナルグループ17010を作成する指示を、作成されたリモートコピージャーナルグループ4001に対応するプライマリストレージシステムID7005及びセカンダリストレージシステムID7006で示されるストレージシステム1000に送信する(ステップ18080)。このとき、設定プログラム1251は、そのグローバルジャーナルグループ17010に所定の識別子を割り振る。
次に、設定プログラム1251は、作成された一つのリモートコピージャーナルグループ40001に対応したプライマリストレージシステムID7005で示されるストレージシステム1000をマスタープライマリストレージシステムとする指示を、プライマリストレージシステムID7005及びセカンダリストレージシステムID7006で示されるストレージシステム1000にそれぞれ送信する(ステップ18090)。
次に、設定プログラム1251は、ステップ18060で作成したリモートコピージャーナルグループ4001をグローバルジャーナルグループ17010に追加する指示を、グローバルジャーナルグループ17010に属するプライマリストレージシステム群とセカンダリストレージシステム群、及び、ステップ18060で作成したリモートコピージャーナルグループ4001のプライマリストレージシステム4000、セカンダリストレージシステム4100に、それぞれ送信する(ステップ18110)。このとき、設定プログラム1251は、他のストレージシステム1000から当該グローバルジャーナルグループ17010に関する情報を取得し、ステップ18060で作成したリモートコピージャーナルグループ4001のプライマリストレージシステム4000及びセカンダリストレージシステム4100に通知する。この情報は、例えば、当該グローバルジャーナルグループ17010に属するリモートコピージャーナルグループ4001の情報やマスター正ストレージシステムの情報などである。
そして、図13で説明したように、設定プログラム1251は、複合AP環境管理テーブル1252を更新し(ステップ18110)、割り当てた論理ボリューム1011に対応するレコードをプールボリューム管理テーブル1257から削除して(ステップ18120)、処理を終了する。
以上が、第二実施例の説明である。当該実施例によれば、異なるストレージシステムのデータボリューム2001を用いるアプリケーション1161が連携する計算機システムにおいて、ストレージシステム1000を跨がる管理グループ群によってバックアップされることが保障される。
<第三の実施例>。
次に、第三の実施例について説明する。
第三の実施例では、アプリケーション1161が、自分と連携するアプリケーション1161に関する情報が記録された情報資源を有し、その情報資源を利用して、複合アプリケーション環境に含まれるアプリケーション1161同士の連携に関する情報(以下、「連携情報」)が入力される。
(3−1)第三の実施例のシステム構成。
本実施例に係る計算機システムの構成は、第一の実施例とほぼ同等であるため、主に差分について説明する。
図19は、本実施例に係る計算機システムの構成例を示すブロック図である。
本実施例では、ホスト計算機1100のメモリ1160には、連携取得エージェント19010と、連携管理テーブル19020とが更に記憶されている。
連携管理テーブル19020は、当該アプリケーション1161が連携しているアプリケーション1161を示す情報が記録された上記情報資源の一種である。
連携取得エージェント19010は、後述する連係情報取得プログラム19030からの要求に応じて、連携管理テーブル19020等から連係情報を取得して、取得した連携情報を連携情報取得プログラム19030へ送信する。連携情報には、例えば、当該アプリケーション1161が連携するアプリケーション1161を示す情報と、当該アプリケーション1161が連携するアプリケーション1161を稼働するホスト計算機1100のネットワークアドレスと、当該アプリケーション1161が利用するデータボリューム2001の一覧情報とが含まれる。この処理の流れは後述する。
また、管理計算機1200のメモリ1250には、連係情報取得プログラム19030が更に記録されている。
連係情報取得プログラム19030は、定期的又は不定期的に、ホスト計算機1100で稼動する連携取得エージェント19010から、連携情報を取得する。この処理の流れは後述する。
図20は、本実施例に係る複合AP環境管理テーブル1252’の一例を示す図である。
本テーブル1252’の大部分は、第一の実施例と同じであるため、主に差分について説明する。
本テーブル1252’には、ネットワークアドレス20004が更に記録される。ネットワークアドレス2004は、アプリID5002で示されるアプリケーション1161が稼動しているホスト計算機1100のネットワークアドレス(例えばIPアドレス)である。本テーブル1252’における各情報要素の対応関係は、連係情報取得プログラム19030によって設定される。この設定の流れは後述する。
図21は、連携管理テーブル19020の一例を示す図である。
本テーブル19020は、当該アプリケーション1161が連携しているアプリケーション1161の情報を管理する。
アプリID21001は、連携元アプリケーションの識別子、言い換えると、本テーブル19020を管理するホスト計算機1100上で稼動しているアプリケーション1161の識別子である。連携先アプリID21002は、連携先アプリケーションの識別子である。ネットワークアドレス21003は、連携先アプリID21002で示されるアプリケーション1161が稼動しているホスト計算機1100のネットワークアドレスである。本テーブル19020における各情報要素の対応関係は、連携先アプリケーションが追加される際に、管理者によって設定される。
(3−2)第三の実施例で行われる処理。
本実施例の動作は、第一の実施例とほぼ同等であるため、主に差分について説明する。
図22は、連係情報取得プログラム19030が実行する処理の流れを示したフローチャートである。
本処理は、管理者が連係情報取得プログラム19030を起動することで開始される。
本処理が開始されると、連係情報取得プログラム19030は、所定の時間待機する(ステップ22010)。
次に、連係情報取得プログラム19030は、複合環境管理テーブル1252から全複合アプリケーション環境を列挙し、複合アプリケーション環境の数だけ以下の処理を繰り返す(ステップ22020)。
この複合アプリケーション環境についての繰り返し処理では、連係情報取得プログラム19030は、複合環境管理テーブル1252から当該複合アプリケーション環境に属するアプリケーション1161を列挙し、さらにアプリケーション1161の数だけ以下ステップ22040〜ステップ22060の処理を繰り返す(ステップ22030)。
このアプリケーション1161についての繰り返し処理では、連係情報取得プログラム19030は、当該アプリケーション1161のネットワークアドレス20004を利用して、当該アプリケーション1161が稼動しているホスト計算機1100上の連携取得エージェント19010に対して、連係情報の取得を要求する(ステップ22040)。
要求を受け取った連携取得エージェント19010は、連携管理テーブル19020から当該アプリケーション1161が連携するアプリケーション1161の識別子とそのネットワークアドレスとを取得する(ステップ22050)。また、連携取得エージェント19010は、当該アプリケーション1161が利用するデータボリューム2001の一覧情報を取得する(ステップ22060)。そして、連携取得エージェント19010は、ステップ22050及び22060において取得した連係情報を、連係情報取得プログラム19030へ送信する。尚、データボリューム2001の一覧情報は、アプリケーション1161の管理者によって予め設定される。たとえば、Linux(登録商標)のファイルシステムであれば、/etc/fstabなどに記載される。
連携情報取得プログラム19030は、ステップ22040〜ステップ22060の処理をアプリケーション1161の数だけ繰り返すことにより、複合アプリケーション環境に属する全てのアプリケーション1161の連係情報を収集する。
次に、連係情報取得プログラム19030は、収集した連係情報で示されるアプリケーション1161の連携関係が、ホスト計算機1100上で管理されている複合AP環境管理テーブル1252’及びAP/VOL対応テーブル1253に示されるものと一致するか否かを判定する(ステップ22070)。
ステップ22070の判定の結果、連携するアプリケーション1161が増加している場合は、連係情報取得プログラム19030は、複合アプリケーション環境間の連携の設定を行う。この処理は、図13で説明したものと同じである。
ステップ22070の判定の結果、連携するアプリケーション1161が減少している場合は、連係情報取得プログラム19030は、複合アプリケーション環境からのアプリケーション1161の削除を行う。この処理は、図15で説明したものと同じである。
ステップ22070の判定の結果、アプリケーション1161のデータボリューム2001が増加している場合は、連係情報取得プログラム19030は、データボリューム2001の追加処理を行う。この処理は、図14で説明したものと同じである(但し、新たなデータボリューム2001の割当ては行われず、増加したデータボリューム2001が追加される)。
連携情報取得プログラム19030は、以上の処理を複合アプリケーション環境の数だけ繰り返す。繰り返しが終了したら、本処理は、ステップ22010へ移行する。
以上が、連携情報取得プログラム19030が実行する処理の流れの説明である。
以上が、第三の実施例の説明である。当該実施例によれば、管理計算機1200が、アプリケーション1161が直接連携するアプリケーション1161の情報を収集することで、複合アプリケーション環境全体の構成を把握することができる。
以上、本発明の好適な幾つかの実施例を説明したが、これらは本発明の説明のための例示であって、本発明の範囲をこれらの実施例にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することが可能である。例えば、設定プログラム1251は、管理グループの構成に加えて、その管理グループに対応付ける他種の情報(例えば保護期間)を指定した更新指示をストレージシステム1000に送信することができる。この場合、ストレージシステム1000の制御プログラム1028が、その更新指示に応答して、管理情報群1029を更新することで、指定された他種の情報(例えば保護期間)をその管理グループに対応付けることができる。