(58)【調査した分野】(Int.Cl.,DB名)
ストレージ装置の構成に関する構成情報であって複数の情報要素を含む前記構成情報と、前記構成情報の更新の状況を示す第1更新情報と、前記複数の情報要素の各々の更新の状況を示す複数の第2更新情報と、を記憶する記憶部と、
前記ストレージ装置を制御するストレージ制御装置から第1更新情報を取得し、取得した第1更新情報と、前記記憶部が記憶する第1更新情報とを比較する比較部と、
取得した第1更新情報と前記記憶部が記憶する第1更新情報とが異なる場合、前記記憶部が記憶する複数の第2更新情報を前記ストレージ制御装置へ送信する送信部と、
送信した複数の第2更新情報の各々と、前記ストレージ制御装置が記憶する複数の第2更新情報の各々との比較結果に基づき前記ストレージ制御装置において抽出された1以上の情報要素であって、前記比較結果において値が一致しない1以上の第2更新情報に対応する前記1以上の情報要素を、前記ストレージ制御装置から受信する受信部と、
受信した1以上の情報要素に基づいて、前記記憶部が記憶する構成情報を更新する更新部と、をそなえる
ストレージ管理装置。
【発明を実施するための形態】
【0016】
以下、図面を参照して本発明の実施の形態を説明する。ただし、以下に説明する実施形態は、あくまでも例示であり、以下に明示しない種々の変形や技術の適用を排除する意図はない。例えば、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。なお、以下の説明で用いる図面において、同一符号を付した部分は、特に断らない限り、同一若しくは同様の部分を表す。
【0017】
〔1〕一実施形態
〔1−1〕比較例
図1は比較例に係るストレージシステム100の構成例を示すブロック図である。
図1に示すように、ストレージシステム100は、例示的に、サーバ120、制御装置130、及びサーバ140をそなえてよい。なお、
図1においては、装置情報の同期処理に関連する機能ブロックに着目したブロック図を例示しており、ストレージシステム100における業務等に関する機能ブロックの図示を省略している。
【0018】
サーバ120は、ストレージ管理装置の一例であり、LAN(Local Area Network)等のネットワーク100aを介して制御装置130と相互に通信可能に接続される。
【0019】
制御装置130は、ストレージ装置150を制御するストレージ制御装置の一例である。制御装置130は、SAN(Storage Area Network)等のネットワーク100bを介して、サーバ140にストレージ装置150の記憶領域を提供する。なお、
図1では、ストレージ装置150のストレージ(記憶領域を有する記憶装置)の図示を省略しているが、ストレージ装置150は、例えばネットワーク100b等により接続された複数のストレージをそなえてよい。
【0020】
例えば、制御装置130は、メモリ部131及びファームウェア132をそなえる。メモリ部131には、装置情報131a及び同期制御カウンタ131bが格納されてよい。
【0021】
装置情報131aには、
図2に例示するように、ストレージ装置150における構成情報やステータス情報等の種々の情報が含まれる。なお、
図2において、「データ」内の「Subsystem Info」や「Firmware Info」等の各情報は、「Subsystem Infoのデータ」や「Firmware Infoのデータ」として示すように、複数の内容を含んでよい。また、各情報は、例えば「データ」テーブルからポインタ等により関連付けられる別テーブルによって管理されてもよい。
【0022】
同期制御カウンタ131bには、
図3に例示するように、ストレージ装置150のシリアル番号及びカウンタが含まれる。サーバ120のDB(Database)122に格納される比較用の同期制御カウンタ122bも同期制御カウンタ131bと同様の構成でよい。
【0023】
サーバ140は、エージェント141を有し、エージェント141を介してストレージ装置150にアクセスする業務サーバの一例である。
【0024】
以下、
図4〜
図11を参照して、
図1に示す比較例に係るストレージシステム100の動作について説明する。
【0025】
図4に例示するように、サーバ120において同期処理のバックエンド(例えばスケジューラ等)としての処理を行なうバックエンド処理部123は、一定時間の経過を待ち合わせる(ステップS101及びS101でNo)。一定時間が経過すると(ステップS101でYes)、バックエンド処理部123は、同期処理の制御を行なう同期制御部124に対して、制御装置130の同期制御カウンタ131bを取得するためのカウンタ要求を発行する。
【0026】
同期制御部124は、バックエンド処理部123からカウンタ要求を受信すると、同期制御カウンタ131bを取得するための情報を作成する(ステップS102)。また、同期制御部124は、作成した情報を制御装置130に送信する(ステップS103;
図5の(i)参照)。例えば、同期制御部124は、SNMP(Simple Network Management Protocol)に従ったコマンドを生成して送信してよい。
【0027】
また、同期制御部124は、制御装置130からの同期制御カウンタ131bの受信を待ち合わせ(ステップS104及びS104でNo)、受信すると(ステップS104でYes)、受信した同期制御カウンタ131bをバックエンド処理部123に渡す。
【0028】
バックエンド処理部123は、受信した同期制御カウンタ131bが、サーバ120のDB122に格納している前回取得した同期制御カウンタ122bと一致するか否かを判定する(ステップS105;
図6の(ii)参照)。
【0029】
同期制御カウンタ122b及び131bが一致する場合(ステップS105でYes)、処理が終了する。一方、一致しない場合(ステップS105でNo)、バックエンド処理部123は、同期制御部124に対して、ストレージ装置150の全ての装置情報131aを取得するための取得要求を発行する。
【0030】
同期制御部124は、バックエンド処理部123から取得要求を受信すると、ストレージ装置150のモデルを特定し、特定したモデルに応じた装置情報131aを取得するための情報(例えばコマンド)を作成する(ステップS106)。
【0031】
作成した情報は、制御装置130との間の通信IF(Interface)を制御するMICC(Maintenance and Inquiry Control Command)125に渡される。MICC125は、同期制御部124からの情報を独自プロトコルのフレームワークを介してネットワーク100a(制御装置130)に送信する(ステップS107;
図7の(iii)参照)。
【0032】
また、MICC125は、制御装置130からの装置情報131aの受信を待ち合わせる(ステップS108及びS108でNo)。装置情報131aを受信すると(ステップS108でYes)、MICC125は、受信した装置情報131aを、同期制御部124を介してバックエンド処理部123に渡す。
【0033】
バックエンド処理部123は、同期制御部124に対して、受信した装置情報131aに基づくリポジトリ更新を要求する。
【0034】
ここで、サーバ120は、ストレージ装置150の装置情報131aをDB122に格納し管理する。DB122はリポジトリの一例であり、例えば、PostgreSQLのようなデータベース管理システムであってよい。なお、
図1においては、リポジトリとして管理される「装置情報」を管理情報122aと表記する。
【0035】
同期制御部124は、今回取得した装置情報131aと、メモリ部121に保存してある前回取得した装置情報121a(
図1参照)とを比較する(ステップS109;
図8の(iv)参照)。
【0036】
そして、同期制御部124は、比較が終了すると、今回取得した装置情報131aをメモリ部121の装置情報121aに上書きする(
図9の(v)参照)。また、同期制御部124は、差分のあるデータに基づき、リポジトリ、換言すれば、DB122(管理情報122a)を更新し(ステップS110;
図9の(vi)参照)、処理が終了する。
【0037】
なお、例えば、
図10に示すように、制御装置130のファームウェア132は、サーバ120からカウンタ要求を含むSNMPのコマンドを受信すると(ステップS111)、カウンタを含む応答をサーバ120に送信する(ステップS112)。応答としては、例えば、SNMPで参照される管理情報の一例であるMIB(Management Information Base;管理情報ベース)が挙げられる。
【0038】
また、例えば、
図11に示すように、ファームウェア132は、サーバ120から装置情報要求を受信すると(ステップS121)、装置情報131aを収集し、送信用のデータを作成する(ステップS122)。そして、ファームウェア132は、生成したデータをサーバ120に送信する(ステップS123)。
【0039】
比較例に係るストレージシステム100において、ストレージ装置150として大規模なストレージ装置、例えばスケールアウト型のストレージ装置が用いられる場合、上述したように、装置情報131aの同期が非効率になる場合がある。
【0040】
そこで、以下の一実施形態においては、ストレージ管理装置とストレージ制御装置との間におけるストレージ装置の装置情報の同期を効率的に実現する手法について説明する。
【0041】
〔1−2〕一実施形態に係るストレージシステムの構成例
図12に示すように、一実施形態に係るストレージシステム1は、例示的に、サーバ2、制御装置3a及び3b、並びに、サーバ4a及び4bをそなえてよい。なお、
図12においては、装置情報の同期処理に関連する機能ブロックに着目したブロック図を例示しており、ストレージシステム1における業務等に関する機能ブロックの図示を省略している。
【0042】
サーバ2は、ストレージ管理装置の一例であり、LAN等のネットワーク1aを介して制御装置3aと相互に通信可能に接続され、LAN等のネットワーク1cを介して制御装置3bと相互に通信可能に接続される。
【0043】
制御装置3aは、ストレージ装置5aを制御するストレージ制御装置の一例である。制御装置3bは、ストレージ装置5bを制御するストレージ制御装置の一例である。一実施形態において、ストレージ装置5aは、例えば、ストレージ(記憶領域を有する記憶装置;図示省略)を増設可能なスケールアウト型のストレージ装置であってよい。一方、一実施形態において、ストレージ装置5bは、
図1に示す比較例に係るストレージ装置150と同様であってよい。
【0044】
このため、サーバ2は、装置規模に関連する製品仕様が互いに異なる、換言すれば、互いに異なる種別(機種)のストレージ装置5a及び5bを管理する管理部2a及び2bをそなえてよい。なお、ストレージシステム1は、複数のストレージ装置5aを有してもよく、ストレージ装置5bを有しない構成であってもよい。
【0045】
以下の説明において、スケールアウト型のストレージ装置5aに関連する装置又は機能ブロックを特定する場合には、符号に代えて、装置名又は機能ブロック名の末尾に“A”を付加して表記する。一方、比較例と同様のストレージ装置5bに関連する装置又は機能ブロックを特定する場合には、符号に代えて、装置名又は機能ブロック名の末尾に“B”を付加して表記する。なお、ストレージ装置5に「関連する」とは、例えば、ストレージ装置5に「属する」ことを意味してもよいし、或いは、ストレージ装置5を「処理対象とする」ことを意味してもよい。
【0046】
以下、制御装置3a及び3bを区別しない場合には、単に「制御装置3」と表記し、サーバ4a及び4bを区別しない場合には、単に「サーバ4」と表記し、ストレージ装置5a及び5bを区別しない場合には、単に「ストレージ装置5」と表記する。
【0047】
制御装置3aは、SAN等のネットワーク1bを介して、サーバ4aにストレージ装置5aの記憶領域を提供する。制御装置3bは、SAN等のネットワーク1dを介して、サーバ4bにストレージ装置5bの記憶領域を提供する。なお、
図12では、ストレージ装置5のストレージ(記憶領域を有する記憶装置)の図示を省略しているが、ストレージ装置5は、例えばネットワーク1b又は1d等により接続された複数のストレージをそなえてよい。
【0048】
サーバ4は、エージェント41を有し、エージェント41を介してストレージ装置5にアクセスする業務サーバの一例である。例えば、サーバ4aは、SAN等のネットワーク1bを介して制御装置3aと相互に通信可能に接続されてよく、サーバ4bは、SAN等のネットワーク1dを介して制御装置3bと相互に通信可能に接続されてよい。
【0049】
〔1−2−1〕サーバの構成例
図13に示すように、ストレージ管理装置の一例としてのサーバ2は、一実施形態に係る同期処理を行なう機能に着目すると、例示的に、メモリ部21、DB22、バックエンド処理部23、同期制御部24、及びIF制御部25をそなえてよい。
【0050】
メモリ部21は、装置情報211を格納してよい。装置情報211は、ストレージ装置5bとの同期処理において、装置情報3bから取得した全ての「装置情報」との差分を検出するために利用される比較用の装置情報Bである(
図8の(iv)参照)。装置情報211は、
図2に例示するデータ構成であってよい。装置情報211は、ストレージシステム1にストレージ装置5bが含まれない場合にはメモリ部21とともに省略されてもよい。
【0051】
換言すれば、メモリ部21は、ストレージ装置5aとは装置規模に関連する製品仕様が異なる他のストレージ装置5bの構成に関する構成情報を記憶する保持部の一例である。なお、構成情報の一例である装置情報211の格納先としては、メモリ部21に代えて、DB22が用いられてもよい。この場合、DB22が保持部の一例となる。
【0052】
メモリ部21は、揮発性メモリ、記憶装置、或いはフラッシュメモリ等の記憶領域により実現されてよい。揮発性メモリとしては、例えばRAM(Random Access Memory)が挙げられる。記憶装置としては、例えばHDD(Hard Disk Drive)等の磁気ディスク装置やSSD(Solid State Drive)等の半導体ドライブ装置が挙げられる。
【0053】
DB22はリポジトリの一例であり、例えば、PostgreSQLのようなデータベース管理システムであってよい。
図13においては、リポジトリとして管理される「装置情報」を管理情報221と表記する。
図13に示す管理情報221は、後述する制御装置3aが格納する装置情報311と同様のデータ構造であってよい。なお、DB22は、リポジトリとして、ストレージ装置5aの管理に用いるサーバ2独自の種々の管理テーブルを格納してよい。
【0054】
DB22は、揮発性メモリ、記憶装置、或いはフラッシュメモリ等の記憶領域により実現されてよい。
【0055】
図15に示すように、管理情報221/装置情報311は、例示的に、poolテーブル221a/311a、portテーブル221b/311b、volumeテーブル221c/311c等の複数のテーブルを含んでよい。poolテーブル221a/311aはプールに関する情報を管理するテーブルであり、portテーブル221b/311bは、ポートに関する情報を管理するテーブルである。volumeテーブル221c/311cは、ボリューム(記憶領域)に関する情報を管理するテーブルである。
【0056】
管理情報221及び装置情報311では、ストレージ装置5aに関する情報が複数のテーブルによって管理される。換言すれば、これらのテーブルは、管理情報221及び装置情報311を、有意な単位(例えば部品単位、論理情報単位等)に細分化した情報(テーブル)である。
【0057】
このため、制御装置3aは、同期処理において、サーバ2に対して送信される差分データを、個々のテーブル単位で選択することができ、サーバ2における処理負荷の軽減、通信量の削減等を実現できる。
【0058】
このように、管理情報221及び装置情報311は、ストレージ装置5aの構成に関する構成情報であって複数の情報要素を含む構成情報の一例である。
【0059】
また、DB22は、一実施形態に係る同期制御を行なうための同期制御カウンタ222を格納する。同期制御カウンタ222は、ストレージ装置5aから前回取得した比較用のカウンタであり、後述する制御装置3aが格納する同期制御カウンタ312と同様のデータ構造であってよい。なお、DB22は、ストレージ装置5bの同期制御を行なうために、
図1に例示する同期制御カウンタ122bをさらに格納してもよい。
【0060】
図16に示すように、同期制御カウンタ222又は312は、例示的に、ストレージ装置5のシリアル番号、代表カウンタ222a又は312a、poolカウンタ、portカウンタ、volumeカウンタ等の情報を含んでよい。なお、volumeカウンタは、volumeカウンタ(0〜1000)、volumeカウンタ(1001〜yyyy)等のように、volumeの範囲ごとに複数設けられてよい。
【0061】
ここで、poolカウンタ、portカウンタ、volumeカウンタ(0〜1000)、volumeカウンタ(1001〜yyyy)等のカウンタは、個別カウンタ222b又は312bの一例である。
【0062】
換言すれば、個別カウンタ222b又は312bは、管理情報221及び装置情報311を有意な単位(例えば部品単位、論理情報単位等)に細分化した情報(テーブル)ごとに個別に設けられるカウンタである。すなわち、これらのカウンタは、管理情報221又は装置情報311における複数のテーブルに対応している。例えば、poolカウンタはpoolテーブル221a又は311aに対応し、portカウンタはportテーブル221b又は311bに対応し、volumeカウンタはvolumeテーブル221c又は311cに対応する。
【0063】
なお、volumeカウンタについては、volumeテーブル221c又は311c内の対応する(担当する)エントリ(「名前」又は「id」)範囲を分けた複数のカウンタとしてよい。例えば、volumeカウンタ(0〜1000)は、volumeテーブル221c又は311cの「volume0」から「volume1000」までに対応してよい。また、volumeカウンタ(1001〜yyyy)は、volumeテーブル221c又は311cの「volume1001」から「volumeyyyy」までに対応してよい。
【0064】
これらの個別カウンタ222b又は312bは、制御装置3aにおいて、対応する(担当する)テーブル又はエントリ範囲における情報の更新に応じて、カウンタ値が変化(例えばインクリメント)するように制御されてよい。
【0065】
一方、代表カウンタ222a又は312aは、制御装置3aにおいて、個別カウンタ222b又は312bの1以上のカウンタ値が変化した場合に、代表カウンタ222a又は312aのカウンタ値が変化(例えばインクリメント)するように制御されてよい。換言すれば、代表カウンタ222a又は312aは、制御装置3aにおいて装置情報311が更新される都度、カウンタ値が変化するカウンタである。また、個別カウンタ222b又は312bは、制御装置3aにおいて装置情報311内の担当するテーブルが更新される都度、カウンタ値が変化するカウンタである。代表カウンタ222a又は312aのカウンタ値は、全ての個別カウンタ222b又は312bのカウンタ値の合計値になるように制御されてもよい。
【0066】
このように、代表カウンタ222a又は312aは、制御装置3aによる装置情報311の更新の状況を示す第1更新情報の一例である。また、複数の個別カウンタ222b又は312bは、制御装置3aによる装置情報311の複数の情報要素の各々の更新の状況を示す複数の第2更新情報の一例である。
【0067】
上述のように、サーバ2が格納する同期制御カウンタ222は、制御装置3aから前回受信したカウンタである。従って、同期制御カウンタ222の代表カウンタ222a及び個別カウンタ222bのカウンタ値は、前回受信した(制御装置3aから送信された)時点の、装置情報311の更新の状況を示すといえる。
【0068】
以上のことから、DB22は、構成情報と、構成情報の更新の状況を示す第1更新情報と、構成情報における複数の情報要素の各々の更新の状況を示す複数の第2更新情報と、を記憶する記憶部の一例である。
【0069】
バックエンド処理部23は、サーバ2において同期処理のバックエンド(例えばスケジューラ等)としての処理を行なう。バックエンド処理部23は、例示的に、ストレージ装置5a(制御装置3a)に対する処理を行なうバックエンド処理部23aと、ストレージ装置5b(制御装置3b)に対する処理を行なうバックエンド処理部23bと、をそなえてよい。バックエンド処理部23bの処理は、
図1に例示するバックエンド処理部123と同様であってよい。
【0070】
バックエンド処理部23aは、同期処理の起動タイミングの調整(例えば、一定時間間隔での同期制御部24aの起動制御)や、同期制御カウンタ222と同期制御カウンタ312との比較等を行なう。
【0071】
ここで、一実施形態においては、バックエンド処理部23aは、同期制御カウンタ222の代表カウンタ222aと同期制御カウンタ312の代表カウンタ312aとの比較を行なう。
【0072】
同期制御部24は、ストレージ装置5(制御装置3)に対する同期処理の制御を行なう。同期制御部24は、例示的に、ストレージ装置5a(制御装置3a)に対する同期処理の制御を行なう同期制御部24aと、ストレージ装置5b(制御装置3b)に対する同期処理の制御を行なう同期制御部24bと、をそなえてよい。同期制御部24bの制御は、
図1に例示する同期制御部124と同様であってよい。
【0073】
同期制御部24aは、例示的に、カウンタ制御部241、差分データ取得部242、及びデータ管理部243をそなえてよい。
【0074】
カウンタ制御部241は、同期制御カウンタ222の管理、制御装置3aからの同期制御カウンタ312の取得、及び取得した同期制御カウンタ312による同期制御カウンタ222の更新、等を行なう。
【0075】
差分データ取得部242は、バックエンド処理部23aによる代表カウンタ222a及び312aの比較により、代表カウンタ222a及び312aが一致しない(差分がある)場合に、制御装置3aから差分データを取得する。
【0076】
データ管理部243は、制御装置3aから取得した差分データをリポジトリ、例えばDB31の管理情報221に反映する。
【0077】
IF制御部25は、制御装置3との間の通信IFを制御する。IF制御部25は、例示的に、制御装置3aとの間の通信IFを制御するREST(Representational State Transfer)制御部25aと、制御装置3bとの間の通信IFを制御するMICC25bと、をそなえてよい。MICC25bの制御は、
図1に例示するMICC125と同様であってよい。
【0078】
REST制御部25aは、制御装置3aとの間で、RESTのフレームワークを介した通信を制御する。
【0079】
以上のように、サーバ2においては、DB22、バックエンド処理部23a、同期制御部24a、及びREST制御部25aが
図12に示す管理部2aの一例である。また、メモリ部21、(DB22、)バックエンド処理部23b、同期制御部24b、及びMICC25bが
図12に示す管理部2bの一例である。
【0080】
〔1−2−2〕制御装置Aの構成例
図14に示すように、ストレージ装置5aの制御装置3a(制御装置A)は、例示的に、DB31及びファームウェア32をそなえてよい。
【0081】
DB31はリポジトリの一例であり、例えば、PostgreSQLのようなデータベース管理システムであってよい。
図14においては、リポジトリとして管理される「装置情報」を装置情報(或いは構成情報)311(
図15参照)と表記する。なお、DB31は、リポジトリとして、ストレージ装置5aの制御に用いる種々の制御テーブルを格納してよい。
【0082】
また、DB31は、一実施形態に係る同期制御を行なうための同期制御カウンタ312(
図16参照)を格納する。
【0083】
DB31は、揮発性メモリ、記憶装置、或いはフラッシュメモリ等の記憶領域により実現されてよい。
【0084】
ファームウェア32は、一実施形態に係る同期処理を行なう機能に着目すると、例示的に、リポジトリ制御部33及びUI(User Interface)制御部34をそなえてよい。
【0085】
リポジトリ制御部33は、リポジトリとしてのDB31の制御を行なう。例えば、リポジトリ制御部33は、ストレージ装置5aに関する構成情報の変更に応じて、装置情報311を更新する。ストレージ装置5aに関する構成情報の変更としては、例えば、機器の接続関係の変更や設定変更、LUN等のボリュームに関する設定変更等の構成・設定変更、ストレージ装置5aの機器の故障・リカバリに関する情報、ボリュームの利用状況等が挙げられる。LUNはLogical Unit Numberの略称である。
【0086】
リポジトリ制御部33は、カウンタ制御部331をそなえてよい。カウンタ制御部331は、リポジトリ制御部33における装置情報311の更新に応じて、同期制御カウンタ312内の対応するカウンタ、例えば、対応する個別カウンタ312bと、代表カウンタ312aとを更新する。カウンタ制御部331の詳細は後述する。
【0087】
UI制御部34は、サーバ2に対するUI制御を行なう。
図14に示すように、UI制御部34は、例示的に、カウンタ比較部341及びデータ生成部342をそなえてよい。
【0088】
カウンタ比較部341は、サーバ2からのカウンタの取得要求に応じて同期制御カウンタ312を応答する。また、カウンタ比較部341は、サーバ2からの差分データの取得要求に応じて、サーバ2から受信した同期制御カウンタ222の個別カウンタ222bと、制御装置3aが保持する同期制御カウンタ312の個別カウンタ312bとを比較する。
【0089】
データ生成部342は、カウンタ制御部331による比較結果に応じて、一致しない個別カウンタ222b及び312bに属する差分データ(例えばテーブル)を抽出して、差分データの取得要求に対する応答データを生成する。
【0090】
〔1−3〕動作例
次に、上述の如く構成されたストレージシステム1の動作例を、サーバ2によるストレージ装置5aとの同期処理に着目して説明する。
【0091】
〔1−3−1〕構成情報変更処理
まず、
図17を参照して、制御装置3aにおける装置情報(構成情報)311の変更処理の動作例を説明する。
図17に示すように、制御装置3aで動作するジョブ、例えばボリュームの作成や構成情報の変更を行なうアプリケーションは、ストレージ装置5aの構成情報を変更すると(ステップS1)、リポジトリ(DB31)を更新するか否かを判定する(ステップS2)。
【0092】
リポジトリを更新しない場合(ステップS2でNo)、処理が終了する。一方、リポジトリを更新する場合(ステップS2でYes)、リポジトリ制御部33は、対象のリポジトリ、例えば装置情報311の対象のテーブルを更新する(ステップS3)。
【0093】
次いで、リポジトリ制御部33(例えばカウンタ制御部331)は、装置情報311の更新個所がカウンタ制御の対象か否かを判定する(ステップS4)。更新個所がカウンタ制御の対象ではない場合(ステップS4でNo)、処理が終了する。
【0094】
更新個所がカウンタ制御の対象の場合(ステップS4でYes)、カウンタ制御部331は、更新個所が属するカウンタを検索する(ステップS5)。例えば、カウンタ制御部331は、装置情報311或いはDB31が格納する制御テーブル等を参照してよい。
【0095】
そして、カウンタ制御部331は、検索したカウンタ(個別カウンタ312b)及び代表カウンタ312aを更新し(ステップS6)、処理が終了する。
【0096】
このように、制御装置3aにおいては、カウンタを細分化し、リポジトリを更新した場合に、細分化したカウンタ単位で、更新個所に対応するカウンタを更新する。これにより、細分化の度合いに応じて、細かい単位でリポジトリの変更点を検出できる。
【0097】
〔1−3−2〕同期処理
次に、
図18〜
図28を参照して、サーバ2及び制御装置3aにおける同期処理の動作例を説明する。
【0098】
図18に示すように、サーバ2において、バックエンド処理部23は、ストレージ装置5(例えば、サーバ2に接続される全てのストレージ装置5のそれぞれ)に対する、構成情報取得要求のREST APIを発行する。REST制御部25aは、RESTのフレームワークを通じて、ネットワーク1aを介してストレージ装置5に要求を送信する(ステップS11)。
【0099】
図19に例示するように、制御装置3aのデータ生成部342は、構成情報送信処理において、サーバ2から構成情報取得要求を受信すると(ステップS31)、送信用の構成情報を生成する(ステップS32)。そして、データ生成部342は、生成した構成情報をサーバ2に送信する(ステップS33)。なお、この構成情報は、構成情報取得要求を受信したときの装置情報311であってよい。
【0100】
図18の説明に戻り、サーバ2のバックエンド処理部23は、制御装置3から構成情報を正常に取得したか否かを判定する(ステップS13)。正常に取得していない場合(ステップS13でNo)、構成情報取得要求を送信した制御装置3が、RESTに対応していないストレージ装置5bの制御装置3bであることを意味する。
【0101】
従って、この場合、バックエンド処理部23は、管理部2bに対して、構成情報を正常に取得できなかったストレージ装置5bに対する制御装置B用の同期処理を実行するように指示する。管理部2bは、制御装置B用の同期処理(
図4のステップS101〜S110参照)を実行し(ステップS12)、処理が終了する。
【0102】
このように、バックエンド処理部23(23b)は、制御装置3bに対して、後述するバックエンド処理部23a、同期制御部24a、及びREST制御部25aによる処理の実行を抑止する制御部の一例である。制御部としてのバックエンド処理部23(23b)は、所定のタイミング(例えば一定時間間隔)で、制御装置3bからストレージ装置5bの構成に関する装置情報を取得し、取得した装置情報に基づいてメモリ部21が保持する装置情報211を更新してよい。
【0103】
一方、制御装置3から構成情報を正常に取得した場合(ステップS13でYes)、構成情報取得要求を送信した制御装置3が、RESTに対応するストレージ装置5aの制御装置3aであることを意味する。
【0104】
この場合、バックエンド処理部23は、管理部2aに対して、構成情報を正常に取得できたストレージ装置5aに対する制御装置A用の同期処理を実行するように指示する。このように、バックエンド処理部23は、装置規模に関連する製品仕様に応じて、管理部2aによる処理を行なうか、管理部2bによる処理を行なうか、を切り替える(判断する)切替部の一例である。以下、管理部2aによる処理を説明する。
【0105】
バックエンド処理部23aは、一定時間の経過を待ち合わせる(ステップS14及びS14でNo)。一定時間が経過すると(ステップS14でYes)、バックエンド処理部23aは、同期制御部24aに対して、制御装置3aの同期制御カウンタ312を取得するためのカウンタ要求を発行する。
【0106】
同期制御部24aは、バックエンド処理部23aからカウンタ要求を受信すると、同期制御カウンタ312を取得するための情報を作成する(ステップS15)。また、同期制御部24aは、作成した情報を送信するためのREST APIを発行する。REST制御部25aは、RESTのフレームワークを通じて、生成した情報をネットワーク1aを介して制御装置3aに送信する(ステップS16;
図20の(i)参照)。
【0107】
図21に例示するように、制御装置3aのカウンタ比較部341は、カウンタ送信処理において、サーバ2からカウンタ要求を受信すると(ステップS41)、DB31から送信用の同期制御カウンタ312を抽出する(ステップS42)。そして、カウンタ比較部341は、抽出した同期制御カウンタ312をサーバ2に送信する(ステップS43)。
【0108】
図18の説明に戻り、同期制御部24a及びREST制御部25aは、制御装置3aからの同期制御カウンタ312の受信を待ち合わせる(ステップS17及びS17でNo)。
【0109】
REST制御部25aがネットワーク1aから要求結果を受信すると(ステップS17でYes)、同期制御部24aのカウンタ制御部241は、受信した同期制御カウンタ312をバックエンド処理部23aに渡す。
【0110】
バックエンド処理部23aは、受信した同期制御カウンタ312の代表カウンタ312aと、DB22に格納された同期制御カウンタ222の代表カウンタ222aとを比較する。そして、バックエンド処理部23aは、両者の代表カウンタ222a及び312aが一致するか否かを判定する(ステップS18;
図22の(ii)参照)。
【0111】
換言すれば、バックエンド処理部23aは、制御装置3aから代表カウンタ312aを取得し、取得した代表カウンタ312aと、DB22が記憶する代表カウンタ222aとを比較する比較部の一例である。
【0112】
両者の代表カウンタ222a及び312aが一致する場合(ステップS18でYes)、処理が終了する。一方、両者の代表カウンタ222a及び312aが一致しない場合(ステップS18でNo)、バックエンド処理部23aは、同期制御部24aに差分データ及びカウンタの取得要求を発行する。
【0113】
同期制御部24aの差分データ取得部242は、DB22に格納された同期制御カウンタ222のうちの複数の個別カウンタ222bを抽出し、これらの個別カウンタ222bを指定して、差分データを取得するための情報を作成する(ステップS19)。当該情報には、同期制御カウンタ222のうちの少なくとも複数の個別カウンタ222bの情報が含まれてよい。差分データ取得部242は、作成した情報を送信するためのREST APIを発行する。REST制御部25aは、RESTのフレームワークを通じて、生成した情報をネットワーク1aを介して制御装置3aに送信する(ステップS20;
図23の(iii)参照)。
【0114】
このように、差分データ取得部242は、比較の結果、代表カウンタ222a及び312aが異なる場合、DB22が記憶する複数の個別カウンタ222bを制御装置3aへ送信する送信部の一例である。
【0115】
図24に例示するように、制御装置3aのカウンタ比較部341は、差分抽出処理において、サーバ2から同期制御カウンタ222の少なくとも個別カウンタ222bの情報を含む差分データ取得要求を受信する(ステップS51)。カウンタ比較部341は、受信した同期制御カウンタ222の個別カウンタ222bの各々と、DB31が保持する同期制御カウンタ312の個別カウンタ312bの各々とを比較する(ステップS52;
図25の(iv)参照)。
【0116】
データ生成部342は、比較の結果、両者が一致しない個別カウンタ222b及び312bの属するリポジトリのデータをDB31から抽出する(ステップS53)。例えば、データ生成部342は、両者が一致しない個別カウンタ222b及び312bに対応するテーブル又はエントリ範囲のデータを、DB31の装置情報311から抽出してよい(
図26の(v)参照)。そして、データ生成部342は、抽出したデータ(例えばテーブル又はエントリ範囲)に基づきサーバ2への返却用のデータを生成する(ステップS54)。
【0117】
カウンタ比較部341は、データ生成部342からの返却用のデータと、現在の同期制御カウンタ312の情報とをサーバ2に送信する(ステップS55;
図27の(vi)参照)。
【0118】
なお、制御装置3aからサーバ2に送信される同期制御カウンタ312の情報は、差分のあったデータに対応する個別カウンタ312b、及び代表カウンタ312aの情報に限定されてもよい。これにより、サーバ2においては、差分のあったデータ及びその個別カウンタ312bを容易に特定可能となる。
【0119】
図18の説明に戻り、同期制御部24a及びREST制御部25aは、制御装置3aからの差分データ及び同期制御カウンタ312の情報の受信を待ち合わせる(ステップS21及びS21でNo)。
【0120】
REST制御部25aがネットワーク1aから要求結果を受信すると(ステップS21でYes)、同期制御部24aの差分データ取得部242は、受信した同期制御カウンタ312をデータ管理部243に渡す。
【0121】
このように、差分データ取得部242は、送信した複数の個別カウンタ222bに基づき制御装置3aにおいて抽出された1以上の情報要素、例えばテーブル又はエントリ範囲等の差分データを、制御装置3aから受信する受信部の一例である。なお、上述のように、受信部としての差分データ取得部242は、制御装置3aから、最新の代表カウンタ312aと、抽出された1以上の情報要素の各々の更新の状況を示す1以上の個別カウンタ312bと、を受信してよい。
【0122】
データ管理部243は、差分データに対応するリポジトリをDB22から特定し(ステップS22)、差分データ及び同期制御カウンタ312の情報をリポジトリに反映させ(ステップS23;
図28の(vii)参照)、処理が終了する。
【0123】
換言すれば、データ管理部243は、受信した1以上の情報要素に基づいて、DB22が記憶する管理情報221を更新する更新部の一例である。
【0124】
例えば、データ管理部243は、DB22の管理情報221から、差分データに対応するテーブル又はエントリ範囲を特定し、差分データにより特定したテーブル又はエントリ範囲のデータを更新してよい。また、データ管理部243は、受信した同期制御カウンタ312の情報により、DB22内の同期制御カウンタ222の代表カウンタ222a及び差分データに対応する個別カウンタ222bを更新してよい。同期制御カウンタ312そのものを受信している場合には、データ管理部243は、同期制御カウンタ312により同期制御カウンタ222を上書きしてもよい。
【0125】
このように、サーバ2は、比較用の情報(例えば個別カウンタ222b)を制御装置3aに送信することで、制御装置3a上で差分データを抽出可能となる。これにより、制御装置3aからサーバ2に送信されるデータを差分データとすることができるため、サーバ2における処理負荷を低減できるとともに、ネットワーク1aの転送量を削減することができる。
【0126】
例えば、サーバ2は、構成情報のデータ量が比較的小さい制御装置3bとの間では、全ての構成情報を取得して同期する。一方、ストレージ装置5aのように装置構成が肥大化すると、制御装置3bと同様の同期手法では、構成情報の取得に時間がかかることになる。一実施形態に係る手法によれば、サーバ2は、ストレージ装置5aの装置情報311を、全ての構成情報ではなく差分データによって制御装置3aと同期することで、構成情報が肥大化しても、取得時間に与える影響を低減できる。
【0127】
また、ネットワーク1a上を伝搬する差分データは、例えばテーブル単位となる。このように、装置情報311を分割した単位でデータ送信が行なわれるため、ネットワーク1a上のデータ送信量が一定容量以上とならないように制御できる。
【0128】
さらに、差分データがテーブル単位であっても、大規模な運用を行なうユーザにおいては、データ送信量が大きくなる場合がある。例えば、差分データがボリューム情報やSAN接続グループ等に関するテーブル(volumeテーブル311c等)の場合である。このような場合であっても、装置情報311のテーブルのエントリ範囲等で同期制御カウンタ312の個別カウンタ312bを分割できるため、データ送信量の増加を抑制できる。
【0129】
また、サーバ2においては、代表カウンタ222a及び312aの比較を行ない不一致を検出した場合、装置情報311の差分データの検出を、制御装置3aにオフロードできる。また、制御装置3aにおいては、個別カウンタ222b及び312bの比較によって、差分データを検出できる。
【0130】
これにより、サーバ2側の負荷を制御装置3bとの同期処理の場合と比較して低減できるとともに、差分データの抽出を行なうための制御装置3aの処理負荷も低減できる。また、サーバ2においては、差分データの検出のための比較用の装置情報311の保持を不要とすることができる。
【0131】
〔1−4〕ハードウェア構成例
次に、
図29を参照して、一実施形態に係るサーバ2、制御装置3a及び3b、並びにサーバ4のハードウェア構成例について説明する。サーバ2、制御装置3a及び3b、並びにサーバ4は、同様のハードウェア構成をそなえてよいため、以下、これらの一例としてコンピュータ10を例に挙げて、コンピュータ10のハードウェア構成例について説明する。
【0132】
図29に示すように、コンピュータ10は、例示的に、プロセッサ10a、メモリ10b、記憶部10c、IF部10d、I/O(Input / Output)部10e、及び読取部10fをそなえてよい。
【0133】
プロセッサ10aは、種々の制御や演算を行なう演算処理装置の一例である。プロセッサ10aは、コンピュータ10内の各ブロックとバス10iで相互に通信可能に接続されてよい。プロセッサ10aとしては、例えば、CPU、MPU、GPU、APU、DSP、ASIC、FPGA等の集積回路(IC;Integrated Circuit)が用いられてもよい。なお、CPUはCentral Processing Unitの略称であり、MPUはMicro Processing Unitの略称である。GPUはGraphics Processing Unitの略称であり、APUはAccelerated Processing Unitの略称である。DSPはDigital Signal Processorの略称であり、ASICはApplication Specific ICの略称であり、FPGAはField-Programmable Gate Arrayの略称である。
【0134】
メモリ10bは、種々のデータやプログラム等の情報を格納するハードウェアの一例である。メモリ10bとしては、例えばRAM等の揮発性メモリが挙げられる。
【0135】
記憶部10cは、種々のデータやプログラム等の情報を格納するハードウェアの一例である。記憶部10cとしては、例えばHDD等の磁気ディスク装置、SSD等の半導体ドライブ装置、不揮発性メモリ等の各種記憶装置が挙げられる。不揮発性メモリとしては、例えば、フラッシュメモリ、SCM(Storage Class Memory)、ROM(Read Only Memory)等が挙げられる。
【0136】
なお、サーバ2において、
図13に示すメモリ部21及びDB22は、それぞれ、例えば、サーバ2のメモリ10b及び記憶部10cの少なくとも一方の記憶領域により実現されてもよい。また、制御装置3aにおいて、
図14に示すDB31は、例えば、制御装置3aのメモリ10b及び記憶部10cの少なくとも一方の記憶領域により実現されてもよい。
【0137】
また、記憶部10cは、コンピュータ10の各種機能の全部若しくは一部を実現するプログラム10gを格納してよい。プロセッサ10aは、記憶部10cに格納されたプログラム10gをメモリ10bに展開して実行することにより、サーバ2、制御装置3a若しくは3b、又はサーバ4としての機能を実現できる。
【0138】
例えば、サーバ2においては、サーバ2のプロセッサ10aが、記憶部10cに格納されたプログラム10gをメモリ10bに展開して演算処理を実行することで、バックエンド処理部23、同期制御部24、及びIF制御部25としての機能を実現できる。また、制御装置3aにおいては、制御装置3aのプロセッサ10aが、記憶部10cに格納されたプログラム10gをメモリ10bに展開して演算処理を実行することで、ファームウェア32としての機能を実現できる。
【0139】
IF部10dは、ネットワークとの間の接続及び通信の制御等を行なう通信インタフェースの一例である。例えば、IF部10dは、LAN、或いは、光通信(例えばFC(Fibre Channel;ファイバチャネル))等に準拠したアダプタを含んでよい。
【0140】
例えば、サーバ2のIF部10dは、ネットワーク1a及び1cとの間の接続及び通信の制御を行なう通信インタフェースをそなえてよい。サーバ2のIF制御部25は、当該通信インタフェースの一例である。また、制御装置3aのIF部10dは、ネットワーク1aとの間の接続及び通信の制御を行なう通信インタフェースと、ネットワーク1bとの間の接続及び通信の制御を行なう通信インタフェースと、をそなえてよい。さらに、制御装置3bのIF部10dは、ネットワーク1cとの間の接続及び通信の制御を行なう通信インタフェースと、ネットワーク1dとの間の接続及び通信の制御を行なう通信インタフェースと、をそなえてよい。また、サーバ4aのIF部10dは、ネットワーク1bとの間の接続及び通信の制御を行なう通信インタフェースをそなえてよく、サーバ4bのIF部10dは、ネットワーク1dとの間の接続及び通信の制御を行なう通信インタフェースをそなえてよい。
【0141】
例えば、サーバ2、制御装置3a若しくは3b、又はサーバ4のプログラム10gは、当該通信インタフェースを介してネットワーク1a〜1dのいずれかからダウンロードされ、記憶部10cに格納されてもよい。
【0142】
I/O部10eは、マウス、キーボード、又は操作ボタン等の入力部、並びに、タッチパネルディスプレイ、LCD(Liquid Crystal Display)等のモニタ、プロジェクタ、又はプリンタ等の出力部、の一方又は双方を含んでよい。
【0143】
読取部10fは、記録媒体10hに記録されたデータやプログラムの情報を読み出すリーダの一例である。読取部10fは、記録媒体10hを接続可能又は挿入可能な接続端子又は装置を含んでよい。読取部10fとしては、例えば、USB(Universal Serial Bus)等に準拠したアダプタ、記録ディスクへのアクセスを行なうドライブ装置、SDカード等のフラッシュメモリへのアクセスを行なうカードリーダ等が挙げられる。なお、記録媒体10hにはプログラム10gが格納されてもよく、読取部10fが記録媒体10hからプログラム10gを読み出して記憶部10cに格納してもよい。
【0144】
記録媒体10hとしては、例示的に、磁気/光ディスクやフラッシュメモリ等の非一時的な記録媒体が挙げられる。磁気/光ディスクとしては、例示的に、フレキシブルディスク、CD(Compact Disc)、DVD(Digital Versatile Disc)、ブルーレイディスク、HVD(Holographic Versatile Disc)等が挙げられる。フラッシュメモリとしては、例示的に、USBメモリやSDカード等が挙げられる。なお、CDとしては、例示的に、CD−ROM、CD−R、CD−RW等が挙げられる。また、DVDとしては、例示的に、DVD−ROM、DVD−RAM、DVD−R、DVD−RW、DVD+R、DVD+RW等が挙げられる。
【0145】
上述したコンピュータ10のハードウェア構成は例示である。従って、コンピュータ10内でのハードウェアの増減(例えば任意のブロックの追加や削除)、分割、任意の組み合わせでの統合、又は、バスの追加若しくは削除等は適宜行なわれてもよい。
【0146】
〔2〕その他
上述した一実施形態に係る技術は、以下のように変形、変更して実施することができる。
【0147】
例えば、サーバ2において、バックエンド処理部23、同期制御部24、及びIF制御部25の各機能は、任意の組み合わせで併合してもよく、それぞれ分割してもよい。また、サーバ2の同期制御部24aにおけるカウンタ制御部241、差分データ取得部242、及びデータ管理部243の各機能は、任意の組み合わせで併合してもよく、それぞれ分割してもよい。さらに、制御装置3aのファームウェア32におけるリポジトリ制御部33及びUI制御部34の各機能は、任意の組み合わせで併合してもよく、それぞれ分割してもよい。また、ファームウェア32のUI制御部34におけるカウンタ比較部341及びデータ生成部342の各機能は、任意の組み合わせで併合してもよく、それぞれ分割してもよい。
【0148】
〔3〕付記
以上の実施形態に関し、さらに以下の付記を開示する。
【0149】
(付記1)
ストレージ装置の構成に関する構成情報であって複数の情報要素を含む前記構成情報と、前記構成情報の更新の状況を示す第1更新情報と、前記複数の情報要素の各々の更新の状況を示す複数の第2更新情報と、を記憶する記憶部と、
前記ストレージ装置を制御するストレージ制御装置から第1更新情報を取得し、取得した第1更新情報と、前記記憶部が記憶する第1更新情報とを比較する比較部と、
取得した第1更新情報と前記記憶部が記憶する第1更新情報とが異なる場合、前記記憶部が記憶する複数の第2更新情報を前記ストレージ制御装置へ送信する送信部と、
送信した複数の第2更新情報に基づき前記ストレージ制御装置において抽出された1以上の情報要素を、前記ストレージ制御装置から受信する受信部と、
受信した1以上の情報要素に基づいて、前記記憶部が記憶する構成情報を更新する更新部と、をそなえる
ストレージ管理装置。
【0150】
(付記2)
前記受信部は、送信した複数の第2更新情報の各々と、前記ストレージ制御装置が記憶する複数の第2更新情報の各々と、の比較によって抽出された前記1以上の情報要素を、前記ストレージ制御装置から受信する、付記1に記載のストレージ管理装置。
【0151】
(付記3)
前記受信部は、前記ストレージ制御装置から、第1更新情報と、抽出された1以上の情報要素の各々の更新の状況を示す1以上の第2更新情報と、を受信し、
前記更新部は、受信した第1更新情報及び1以上の第2更新情報に基づいて、前記記憶部が記憶する第1更新情報及び複数の第2更新情報を更新する、付記1又は付記2に記載のストレージ管理装置。
【0152】
(付記4)
前記構成情報の前記複数の情報要素は、前記ストレージ装置が有する記憶ボリュームに関連する1以上の情報要素を含む、付記1〜3のいずれか1項に記載のストレージ管理装置。
【0153】
(付記5)
前記ストレージ装置とは装置規模に関連する製品仕様が異なる他のストレージ装置の構成に関する構成情報を記憶する保持部と、
前記他のストレージ装置を制御する他のストレージ制御装置に対して、前記比較部、前記送信部、前記受信部、及び前記更新部の処理の実行を抑止するとともに、所定のタイミングで、前記他のストレージ制御装置から前記他のストレージ装置の構成に関する構成情報を取得し、取得した構成情報に基づいて前記保持部が保持する構成情報を更新する制御部と、をそなえる、付記1〜4のいずれか1項に記載のストレージ管理装置。
【0154】
(付記6)
ストレージ装置をそなえるストレージシステムを管理するストレージ管理装置と、
前記ストレージ装置を制御するストレージ制御装置と、をそなえ、
前記ストレージ管理装置は、
前記ストレージ装置の構成に関する構成情報であって複数の情報要素を含む前記構成情報と、前記構成情報の更新の状況を示す第1更新情報と、前記複数の情報要素の各々の更新の状況を示す複数の第2更新情報と、を記憶部に記憶し、
前記ストレージ制御装置から第1更新情報を取得し、取得した第1更新情報と、前記記憶部が記憶する第1更新情報とを比較し、
取得した第1更新情報と前記記憶部が記憶する第1更新情報とが異なる場合、前記記憶部が記憶する複数の第2更新情報を前記ストレージ制御装置へ送信し、
前記ストレージ制御装置は、
前記ストレージ管理装置から受信した複数の第2更新情報に基づき前記ストレージ制御装置が記憶する構成情報から、1以上の情報要素を抽出し、抽出した1以上の情報要素を前記ストレージ管理装置へ送信し、
前記ストレージ管理装置は、
受信した1以上の情報要素に基づいて、前記記憶部が記憶する構成情報を更新する、
ストレージシステム。
【0155】
(付記7)
前記ストレージ制御装置は、受信した複数の第2更新情報の各々と、前記ストレージ制御装置が記憶する複数の第2更新情報の各々と、の比較によって抽出された前記1以上の情報要素を、前記ストレージ管理装置に送信する、付記6に記載のストレージシステム。
【0156】
(付記8)
前記ストレージ制御装置は、前記ストレージ制御装置が記憶する第1更新情報と、抽出した1以上の情報要素の各々の更新の状況を示す1以上の第2更新情報と、を前記ストレージ管理装置に送信し、
前記ストレージ管理装置は、受信した第1更新情報及び1以上の第2更新情報に基づいて、前記記憶部が記憶する第1更新情報及び複数の第2更新情報を更新する、付記6又は付記7に記載のストレージシステム。
【0157】
(付記9)
前記構成情報の前記複数の情報要素は、前記ストレージ装置が有する記憶ボリュームに関連する1以上の情報要素を含む、付記6〜8のいずれか1項に記載のストレージシステム。
【0158】
(付記10)
前記ストレージ装置とは装置規模に関連する製品仕様が異なる他のストレージ装置と、
前記他のストレージ装置を制御する他のストレージ制御装置と、をそなえ、
前記ストレージ管理装置は、
前記他のストレージ装置の構成に関する構成情報を保持部に記憶し、
前記他のストレージ制御装置に対して、前記比較、前記送信、及び前記更新の処理の実行を抑止するとともに、所定のタイミングで、前記他のストレージ制御装置から前記他のストレージ装置の構成に関する構成情報を取得し、取得した構成情報に基づいて前記保持部が保持する構成情報を更新する、付記6〜9のいずれか1項に記載のストレージシステム。
【0159】
(付記11)
コンピュータに、
ストレージ装置の構成に関する構成情報であって複数の情報要素を含む前記構成情報と、前記構成情報の更新の状況を示す第1更新情報と、前記複数の情報要素の各々の更新の状況を示す複数の第2更新情報と、を記憶部に記憶し、
前記ストレージ装置を制御するストレージ制御装置から第1更新情報を取得し、
取得した第1更新情報と、前記記憶部が記憶する第1更新情報とを比較し、
取得した第1更新情報と前記記憶部が記憶する第1更新情報とが異なる場合、前記記憶部が記憶する複数の第2更新情報を前記ストレージ制御装置へ送信し、
送信した複数の第2更新情報に基づき前記ストレージ制御装置において抽出された1以上の情報要素を、前記ストレージ制御装置から受信し、
受信した1以上の情報要素に基づいて、前記記憶部が記憶する構成情報を更新する
処理を実行させる、ストレージ管理プログラム。
【0160】
(付記12)
前記受信する処理において、送信した複数の第2更新情報の各々と、前記ストレージ制御装置が記憶する複数の第2更新情報の各々と、の比較によって抽出された前記1以上の情報要素を、前記ストレージ制御装置から受信する、付記11に記載のストレージ管理プログラム。
【0161】
(付記13)
前記受信する処理において、前記ストレージ制御装置から、第1更新情報と、抽出された1以上の情報要素の各々の更新の状況を示す1以上の第2更新情報と、を受信し、
前記更新する処理において、受信した第1更新情報及び1以上の第2更新情報に基づいて、前記記憶部が記憶する第1更新情報及び複数の第2更新情報を更新する、付記11又は付記12に記載のストレージ管理プログラム。
【0162】
(付記14)
前記構成情報の前記複数の情報要素は、前記ストレージ装置が有する記憶ボリュームに関連する1以上の情報要素を含む、付記11〜13のいずれか1項に記載のストレージ管理プログラム。
【0163】
(付記15)
前記コンピュータに、
前記ストレージ装置とは装置規模に関連する製品仕様が異なる他のストレージ装置の構成に関する構成情報を保持部に記憶し、
前記他のストレージ装置を制御する他のストレージ制御装置に対して、前記取得、前記比較、前記送信、前記受信、及び前記更新の処理の実行を抑止するとともに、所定のタイミングで、前記他のストレージ制御装置から前記他のストレージ装置の構成に関する構成情報を取得し、
取得した構成情報に基づいて前記保持部が保持する構成情報を更新する
処理を実行させる、付記11〜14のいずれか1項に記載のストレージ管理プログラム。