JP6826287B2 - ストレージ制御装置、ストレージ管理システム、及びプログラム - Google Patents

ストレージ制御装置、ストレージ管理システム、及びプログラム Download PDF

Info

Publication number
JP6826287B2
JP6826287B2 JP2016256422A JP2016256422A JP6826287B2 JP 6826287 B2 JP6826287 B2 JP 6826287B2 JP 2016256422 A JP2016256422 A JP 2016256422A JP 2016256422 A JP2016256422 A JP 2016256422A JP 6826287 B2 JP6826287 B2 JP 6826287B2
Authority
JP
Japan
Prior art keywords
storage
information
management
storage area
management information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016256422A
Other languages
English (en)
Other versions
JP2018109810A (ja
Inventor
奈津美 林田
奈津美 林田
寿治 巻田
寿治 巻田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2016256422A priority Critical patent/JP6826287B2/ja
Priority to US15/852,930 priority patent/US10552039B2/en
Priority to CN201711430769.7A priority patent/CN108255421B/zh
Publication of JP2018109810A publication Critical patent/JP2018109810A/ja
Application granted granted Critical
Publication of JP6826287B2 publication Critical patent/JP6826287B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、ストレージ制御装置、ストレージ管理システム、及びプログラムに関する。
HDD(Hard Disk Drive)やSSD(Solid State Drive)などを搭載する複数のストレージ装置を管理サーバで一元管理するストレージシステムがある。管理サーバは、LAN(Local Area Network)などのネットワークを介して複数のストレージ装置に接続される。各ストレージ装置は、論理ボリュームなどの記憶領域を管理するための管理情報を保持する。管理サーバは、各ストレージ装置が保持する管理情報の内容を含む管理テーブルを利用して各ストレージ装置の状態を管理する。
ストレージ装置の記憶領域に対する操作は、管理サーバから行われる場合と、ストレージ装置に対して直接行われる場合とがある。記憶領域に対する操作がストレージ装置に対して直接行われる場合、操作後にストレージ装置と管理サーバとの間で管理情報の同期が実施される。管理情報の同期方法としては、例えば、管理サーバが定期的に発行する同期要求に応じてストレージ装置が操作内容を管理サーバへ通知する方法や、操作後にストレージ装置が自主的に管理サーバへ操作内容を通知する方法がある。
なお、データベースの内容を整合させる方法に関し、例えば、前回の整合時におけるデータベースと、今回の整合時におけるデータベースとの差分値を求め、差分値を用いてデータベースを整合させる方法が提案されている。また、複数のストレージ装置を複数のグループに分け、グループ毎にストレージ装置のファイル管理データベースを同期させる方法が提案されている。また、距離が近いデータセンタ間ではデータ同期を実施し、距離が遠いデータセンタ間では非同期リモートコピーを実施する方法が提案されている。
特開平10−187514号公報 特開2005−276094号公報 特開2003−122509号公報
データベースなどの情報を同期する際に差分を利用して同期を実施することで、同期にかかる処理負担を低減することができる。また、ネットワークを介して同期内容を送受信する場合、差分を利用することで通信負荷を低減することもできる。但し、同期が実施されるまでの時間が長くなり、大量の差分が蓄積されうる状況では、同期に差分を利用する方法を採用しても、依然として通信に長い時間がかかるリスクがある。
1つの側面によれば、本開示の目的は、管理情報の送受信にかかる時間を短縮できるストレージ制御装置、ストレージ管理システム、及びプログラムを提供することにある。
一態様によれば、記憶装置の記憶領域に対する操作履歴を含む管理情報が格納される記憶部と、記憶領域の状態を現在の状態にする第1の操作と、第1の操作より前の、記憶領域を対象とする操作のうち、第1の操作による操作結果に影響しない第2の操作とを管理情報から抽出し、管理情報から第2の操作を削除し、記憶領域の状態を管理する管理装置に、削除後の管理情報を送信する制御部とを有する、ストレージ制御装置が提供される。
管理情報の送受信にかかる時間を短縮できる。
第1実施形態に係るストレージ管理システムの一例を示した図である。 第2実施形態に係るストレージ管理システムの一例を示した図である。 第2実施形態に係る管理テーブル及びリソースの階層構造について説明するための図である。 第2実施形態に係る管理UIの一例(登録ストレージ一覧)を示した図である。 第2実施形態に係る管理UIの一例(RAID Group一覧)を示した図である。 第2実施形態に係る管理UIの一例(Volume一覧)を示した図である。 第2実施形態に係る管理テーブルの更新方法について説明するための図である。 第2実施形態に係る管理装置の機能を実現可能なハードウェアの一例を示したブロック図である。 第2実施形態に係る管理装置が有する機能の一例を示したブロック図である。 第2実施形態に係る制御モジュールが有する機能の一例を示したブロック図である。 第2実施形態に係る同期処理の実行条件について説明するための図である。 第2実施形態に係る差分情報の圧縮方法について説明するための図である。 第2実施形態に係る管理装置とストレージ装置との間で実施される同期処理(ストレージ装置の起動時&コマンド入力時)の流れを示したシーケンス図である。 第2実施形態に係る管理装置とストレージ装置との間で実施される同期処理(管理装置の起動時)の流れを示したシーケンス図である。 第2実施形態に係る管理装置とストレージ装置との間で実施される同期処理(通信経路の復旧時)の流れを示したシーケンス図である。 第2実施形態に係るストレージ装置の動作(差分情報の生成&圧縮&送信)について説明するためのフロー図である。 第2実施形態の一変形例に係るストレージ装置の動作(差分情報の生成&圧縮&送信)について説明するためのフロー図である。 第2実施形態の一変形例(階層間の優先度を考慮する例)に係る同期処理の流れを示したシーケンス図である。 第2実施形態の一変形例(ストレージ装置間の優先度を考慮する例)に係る同期処理の流れを示したシーケンス図である。
以下に添付図面を参照しながら、本発明の実施形態について説明する。なお、本明細書及び図面において実質的に同一の機能を有する要素については、同一の符号を付することにより重複説明を省略する場合がある。
<1.第1実施形態>
図1を参照しながら、第1実施形態について説明する。第1実施形態は、ストレージ装置と、ストレージ装置を管理する管理装置との間で実施される管理情報の送受信にかかる時間を短縮する仕組みに関する。図1は、第1実施形態に係るストレージ管理システムの一例を示した図である。
図1に示すように、第1実施形態に係るストレージ管理システムは、管理装置10、ストレージ制御装置20、及び記憶装置30を有する。なお、ストレージ制御装置20及び記憶装置30は、ストレージ装置40として動作する。また、図1の例では、説明の都合上、1つのストレージ装置40だけが記載されているが、第1実施形態に係るストレージ管理システムには2以上のストレージ装置が含まれうる。
管理装置10は、例えば、PC(Personal Computer)やサーバ装置などのコンピュータである。また、管理装置10は、記憶部11、制御部12、及び表示部13を有する。
記憶部11は、RAM(Random Access Memory)などの揮発性記憶装置、或いは、HDDやフラッシュメモリなどの不揮発性記憶装置である。制御部12は、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)などのプロセッサである。制御部12は、例えば、記憶部11又は他のメモリに記憶されたプログラムを実行する。表示部13は、例えば、LCD(Liquid Crystal Display)やELD(Electro-Luminescence Display)などのディスプレイ装置である。
ストレージ制御装置20は、記憶部21、及び制御部22を有する。
記憶部21は、RAMなどの揮発性記憶装置、或いは、HDDやフラッシュメモリなどの不揮発性記憶装置である。制御部22は、CPU、DSP、ASIC、FPGAなどのプロセッサである。制御部22は、例えば、記憶部21又は他のメモリに記憶されたプログラムを実行する。
ストレージ制御装置20は、記憶装置30に接続される。記憶装置30は、HDDやSSDなどの記録媒体や、複数の記録媒体を組み合わせて冗長化したRAID(Redundant Arrays of Inexpensive Disks)装置である。記憶装置30には、少なくとも1つの記憶領域が設定される。
図1の例では、記憶領域30a、30bが記憶装置30に設定されている。記憶領域30a、30bは、例えば、RAIDグループや、RAIDグループに設定される論理ボリュームなどである。なお、説明の都合上、記憶領域30a、30bをそれぞれ記憶領域A、Bと表記する場合がある。
管理装置10の記憶部11には、ストレージ装置40にある記憶装置30の管理に利用される管理テーブル11aの情報が格納される。図1の例では、記憶装置30及び記憶領域A、Bに関する情報(この例では記憶領域A、Bのサイズ)が管理テーブル11aに含まれている。
ストレージ制御装置20の記憶部21には、記憶装置30の記憶領域A、Bに対する操作履歴が記録される管理情報21aが格納される。図1の例では、記憶領域A、Bのパスを設定する操作(Set Path)、記憶領域Aを削除する操作(Delete)が管理情報21aに含まれている。
ストレージ制御装置20の制御部22は、例えば、記憶領域A、Bの少なくとも一方に対する操作が実施された場合、操作内容を管理装置10に通知する。この通知を受けた管理装置10の制御部12は、通知された操作内容に基づいて管理テーブル11aを更新する。但し、管理装置10の電源が切れている場合(電源断)や、管理装置10とストレージ制御装置20との間の通信が途絶えている場合(通信断)、ストレージ制御装置20の制御部22は、操作内容を管理情報21aに追加する。
電源断や通信断の状況から、管理装置10とストレージ制御装置20との間で情報のやり取りが可能な状況になると、ストレージ制御装置20の制御部22は、管理装置10に対して管理情報21aを送信する。そして、管理情報21aに基づいて管理装置10の記憶部11にある管理テーブル11aが更新され、記憶領域A、Bの現況と管理テーブル11aの内容との整合性が確保される。なお、管理情報21aは、例えば、管理装置10が発行する送信要求に応じて送信されてもよいし、ストレージ制御装置20により自主的に送信されてもよい。
管理装置10の表示部13は、管理テーブル11aの内容を表示する。例えば、表示部13は、画面上に管理UI(User Interface)13aを表示する。管理UI13aは、管理装置10を利用する管理者が記憶領域A、Bの情報を参照すると共に、記憶領域A、Bの設定などを操作するために用いる表示インターフェースである。管理テーブル11aの更新に応じて管理UI13aの情報が更新される。そのため、管理テーブル11aの内容は、記憶領域A、Bの現況をリアルタイムに反映したものであることが望まれる。
しかし、電源断や通信断が長引くと管理情報21aとして蓄積される操作内容の数が多くなる。このような状況では、管理情報21aの送信や、管理情報21aに基づく管理テーブル11aの更新に時間がかかり、管理UI13aの表示内容と記憶領域A、Bの現況とが乖離した状態になるリスクがある。そこで、ストレージ制御装置20の制御部22は、次の手順で管理情報21aのデータ量を圧縮する。
まず、制御部22は、管理情報21aの中から、記憶領域30a、30bの状態を現在の状態にする第1の操作を特定する。図1の例では、記憶領域Aを削除する操作(Delete)により記憶領域Aがない状態(現在の状態)が実現されている。そのため、制御部22は、記憶領域Aに関する第1の操作として、記憶領域Aを削除する操作を特定する。
なお、第1の操作として特定される操作の種類は、予め設定されていてもよい。例えば、記憶領域を削除する操作、記憶領域の名称を変更する操作、記憶領域のサイズを変更する操作、記憶領域の属性(容量の割り当てなど)を変更する操作などが、第1の操作の種類として設定されうる。この場合、第1の操作の種類を示す情報は、ストレージ制御装置20の記憶部21に予め格納される。
記憶領域Aについて第1の操作を特定した制御部22は、第1の操作より前に実施された操作のうち、記憶領域Aを対象とする操作(図1の例では、記憶領域Aに対するパスの設定操作)を特定する。そして、制御部22は、特定した操作の中から、第1の操作による操作結果に影響しない操作を第2の操作として管理情報21aから抽出する。
図1の例では第1の操作が記憶領域Aの削除であるため、記憶領域Aに対する全ての操作が削除操作の結果に影響しない。この場合、制御部22は、記憶領域Aに対するパスの設定操作を第2の操作として抽出する。そして、制御部22は、管理情報21aから第2の操作を削除する。第2の操作が管理情報21aから削除されることで、管理情報21aのデータ量が圧縮される。
他の記憶領域(図1の例では記憶領域B)についても同様に、第1の操作及び第2の操作の特定、及び第2の操作の削除が実施される。但し、図1の例では、記憶領域Bに対する操作がパスの設定操作だけであるため、記憶領域Bに関する第2の操作はなく、記憶領域Aに関する操作内容だけが管理情報21aから削除される。第2の操作を全て削除した後、制御部22は、削除後の管理情報21aを管理装置10に送信する。
上記のように、記憶領域A、Bの現況を表す最小限の操作内容を管理情報21aに残し、残りの操作内容を削除することで管理情報21aのデータ量を圧縮することができる。この圧縮を行っても管理テーブル11aの更新結果に影響がない上、管理情報21aの送信及び管理情報21aに基づく管理テーブル11aの更新にかかる時間を短縮することができる。その結果、記憶領域A、Bの状況をリアルタイムに管理UI13aの内容へと反映させることが可能になる。
以上、第1実施形態について説明した。
<2.第2実施形態>
次に、第2実施形態について説明する。第2実施形態は、ストレージ装置と、ストレージ装置を管理する管理装置との間で実施される管理情報の送受信にかかる時間を短縮する仕組みに関する。
[2−1.ストレージ管理システム]
図2を参照しながら、第2実施形態に係るストレージ管理システムについて説明する。図2は、第2実施形態に係るストレージ管理システムの一例を示した図である。
図2に示すように、第2実施形態に係るストレージ管理システムは、管理装置100、ストレージ装置200、300、及び業務サーバ401、402を有する。管理装置100には、表示装置101が接続される。ストレージ装置200、300には、それぞれ入力装置200a、300aが接続される。
表示装置101は、例えば、LCDやELDなどのディスプレイ装置である。管理装置100、業務サーバ401、402は、例えば、PCやサーバ装置などのコンピュータである。入力装置200a、300aは、例えば、キーボード、タッチパネル、マウス、キーパッドなどの入力インターフェースである。管理装置100とストレージ装置200、300とは、LANなどのネットワークを介して接続されている。
ストレージ装置200は、制御モジュール(CM:Controller Module)201、及びストレージ202を有する。制御モジュール201は、例えば、CPUやFPGAなどのプロセッサ、及び、RAMなどのメモリを有する。ストレージ202は、例えば、HDDなどのディスク単体や、複数のディスクを組み合わせて冗長化したRAID装置などである。以下では、説明の都合上、ストレージ202がRAID装置であるとする。
ストレージ装置300は、制御モジュール(CM)301、及びストレージ302を有する。制御モジュール301は、例えば、CPUやFPGAなどのプロセッサ、及び、RAMなどのメモリを有する。ストレージ302は、例えば、HDDなどのディスク単体や、複数のディスクを組み合わせて冗長化したRAID装置などである。以下では、説明の都合上、ストレージ302がRAID装置であるとする。
ストレージ202、302のそれぞれには、複数のHDDを論理的に1台のHDDにみせるRAIDグループが少なくとも1つ設定される。なお、HDD以外のデバイス(SSDなど)を利用する場合も同様である。また、RAIDグループには、少なくとも1つの論理ボリュームが設定される。例えば、RAIDグループは、複数のLUN(Logical Unit Number)に分割される。そして、業務サーバ401、402は、それぞれストレージ202、302の論理ボリュームを利用して業務処理を実行する。
ストレージ202、302の利用許可(登録)、RAIDグループの設定、論理ボリュームの設定など、ストレージ装置200、300の管理に関する操作は、管理装置100から行われる。また、ストレージ装置200、300の管理に関する操作は、それぞれ入力装置200a、300aから行うこともできる。そのため、管理装置100の電源が切れている場合や、管理装置100とストレージ装置200、300との間で通信断が生じている場合でも、ストレージ装置200、300の管理が可能である。
但し、入力装置200a、300aから操作が行われた場合には、操作内容が管理装置100に通知され、ストレージ202、302の状況を管理するための情報(管理テーブル)が管理装置100とストレージ装置200、300との間で同期される。第2実施形態は、この同期にかかる時間を短縮する仕組みに関する。
(管理テーブル及びリソースの階層構造)
ここで、図3を参照しながら、ストレージ202、302の管理に利用される管理テーブル102及びリソースの階層構造について説明する。図3は、第2実施形態に係る管理テーブル及びリソースの階層構造について説明するための図である。なお、ストレージ、RAIDグループ、論理ボリュームを総じてリソースと呼ぶ場合がある。
図3に示すように、管理テーブル102は、ストレージの識別情報、RAIDグループ(RAIDG)の識別情報、論理ボリューム(VOL)の識別情報を含む。また、管理テーブル102は、ストレージ、RAIDグループ、論理ボリュームの状態や設定内容に関する情報を含む。ストレージにRAIDグループが設定されるため、ストレージは、RAIDグループの上位階層になる。また、RAIDグループに論理ボリュームが設定されるため、RAIDグループは、論理ボリュームの上位階層になる。
図3の例では、ストレージ202にRAIDG#21、#22が設定され、ストレージ302にRAIDG#31が設定されている。また、RAIDG#21にVOL#21A、#21Bが設定され、RAIDG#22にVOL#22Aが設定されている。また、RAIDG#31にはVOL#31Aが設定されている。
従って、図3の例では、ストレージ202、302が最上位階層、VOL#21A、#21B、#22A、#31Aが最下位階層となる。また、ストレージ202の下位階層にRAIDG#21、#22が属し、ストレージ302の下位階層にRAIDG#31が属している。さらに、RAIDG#21の下位階層にVOL#21A、#21Bが属し、RAIDG#22の下位階層にVOL#22Aが属している。また、RAIDG#31の下位階層にVOL#31Aが属している。
上記のような階層構造及び所属関係を踏まえ、上位階層のリソースに下位階層のリソースが「包含」されているなどと表現する場合がある(図3の左図を参照)。例えば、RAIDG#21はストレージ202に包含されている。また、VOL#21AはRAIDG#21に包含されている。他のリソースについても同様である。このように、管理装置100は、リソース相互の関係に関する情報を保持する。
(管理UIの例)
ここで、図4〜図6を参照しながら、管理装置100が表示装置101に表示させる管理UI101aの例について述べる。管理UI101aは、管理装置100を利用する管理者がリソースの状況確認やリソースの設定変更などを行う際に利用する表示インターフェースである。なお、管理UI101aの表示方法は一例であり、第2実施形態に係る技術の適用範囲は図4〜図6の例に限定されない。
なお、図4は、第2実施形態に係る管理UIの一例(登録ストレージ一覧)を示した図である。図5は、第2実施形態に係る管理UIの一例(RAID Group一覧)を示した図である。図6は、第2実施形態に係る管理UIの一例(Volume一覧)を示した図である。
図4の例は、管理装置100による管理対象として登録されているストレージ(登録ストレージ)の一覧を表示する管理UI101aの表示画面を示している。管理UI101aは、例えば、現在の表示内容を示すタイトル(図4の例では「ストレージ」)や、現在の表示内容に関する情報へのショートカット(「詳細情報」、「関連情報」)などが表示される項目欄を有する。また、管理UI101aは、現在の表示内容に関するコメントを示す備考欄や、主要な内容を表示する内容欄などを有する。
登録ストレージの一覧を表示する管理UI101aの画面では、内容欄として、例えば、ストレージの名称、ストレージのアドレス、ストレージの状態を示す情報が表示される。図2に示したストレージ管理システムの場合、管理UI101aには、図4に示すように、ストレージ202、302の名称、アドレス、及び状態(「稼働中」、「停止中」)が表示される。
例えば、ポインタをストレージ202の部分に合せて選択すると、管理UI101aは、図5に示すようなストレージ202の下位階層にあるリソースの情報(RAIDグループ一覧)を表示する。
ストレージ202の下位階層にあるRAIDグループは、RAIDG#21、#22である。ストレージ202に関するRAIDグループ一覧の画面には、図5に示すように、RAIDG#21、#22の名称と、RAIDG#21、#22に関する情報(RAIDタイプ、サイズ、状態など)とが表示される。なお、RAIDタイプの欄には、ミラーリングやストライピングなどのRAIDレベルに関する情報が表示される。また、状態の欄には、RAIDグループが利用可能な状態にあるかを示す情報が表示される。
例えば、ポインタをRAIDG#21の部分に合せて選択すると、管理UI101aは、図6に示すようなRAIDG#21の下位階層にあるリソースの情報(VOL一覧)を表示する。なお、項目欄にある「ストレージ」の部分にポインタを合せて選択すると、管理UI101aは、図4に示した登録ストレージ一覧の画面を表示する。
RAIDG#21の下位階層にあるVOLは、VOL#21A、#21Bである。RAIDG#21に関するVOL一覧の画面には、図6に示すように、VOL#21A、#21Bの名称と、VOL#21A、#21Bに関する情報(VOLタイプ、サイズ、暗号化、状態)とが表示される。なお、VOLタイプの欄には、例えば、TPV(Thin Provisioning Volume)やFTV(Flexible Tier Volume)などの設定情報が表示される。また、暗号化欄には、VOL内のデータを暗号化する設定の有無が表示される。
上記のような管理UI101aの表示は、管理テーブル102の内容に基づいている。そのため、管理テーブル102の更新が遅れると、リソースの状況がリアルタイムに管理UI101aの表示に反映されないリスクがある。
(管理テーブルの更新方法)
ここで、図7を参照しながら、管理テーブル102の更新方法について説明する。図7は、第2実施形態に係る管理テーブルの更新方法について説明するための図である。
図7に示すように、管理装置100は、管理テーブル102を保持し、管理テーブル102の内容を表示装置101に表示される管理UI101aに反映させる。ストレージ装置200は、ストレージ202に対する操作が行われた場合、その操作の内容(差分情報200b)を管理装置100に提供する。同様に、ストレージ装置300は、ストレージ302に対する操作が行われた場合、その操作の内容(差分情報300b)を管理装置100に提供する。
例えば、ストレージ装置200(制御モジュール201)は、前回、差分情報200bを送信した後でストレージ202に対して行われた操作に関する情報(差分命令、対象リソース名)を差分情報200bとして保持する。差分命令は、操作対象のリソース(対象リソース)に対する操作の実行命令である。例えば、差分情報200bには、ストレージ202を登録する差分命令(Register)が含まれている。また、差分情報200bには、RAIDG#21を生成する差分命令(Create)が含まれている。
ストレージ装置200は、管理装置100による要求を受けた場合、或いは、所定のタイミングで差分情報200bを管理装置100に提供する。同様に、ストレージ装置300は、差分情報300bを蓄積し、管理装置100による要求を受けた場合、或いは、所定のタイミングで差分情報300bを管理装置100に提供する。但し、差分情報200b、300bのデータ量が大きいと、差分情報200b、300bの提供時にかかる通信負荷や、管理テーブル102を更新する際の処理負荷が大きくなる。
第2実施形態では、後述するように、上記のような通信負荷や処理負荷を低減して管理テーブル102の更新にかかる時間を短縮し、管理UI101aの表示レスポンスを向上する仕組みを提供する。
(ハードウェア)
ここで、図8を参照しながら、管理装置100のハードウェアについて説明する。図8は、第2実施形態に係る管理装置の機能を実現可能なハードウェアの一例を示したブロック図である。
管理装置100が有する機能は、例えば、図8に示す情報処理装置のハードウェア資源を用いて実現することが可能である。つまり、管理装置100が有する機能は、コンピュータプログラムを用いて図8に示すハードウェアを制御することにより実現される。
図8に示すように、このハードウェアは、主に、CPU902と、ROM(Read Only Memory)904と、RAM906と、ホストバス908と、ブリッジ910とを有する。さらに、このハードウェアは、外部バス912と、インターフェース914と、入力部916と、出力部918と、記憶部920と、ドライブ922と、接続ポート924と、通信部926とを有する。
CPU902は、例えば、演算処理装置又は制御装置として機能し、ROM904、RAM906、記憶部920、又はリムーバブル記録媒体928に記録された各種プログラムに基づいて各構成要素の動作全般又はその一部を制御する。ROM904は、CPU902に読み込まれるプログラムや演算に用いるデータなどを格納する記憶装置の一例である。RAM906には、例えば、CPU902に読み込まれるプログラムや、そのプログラムを実行する際に変化する各種パラメータなどが一時的又は永続的に格納される。
これらの要素は、例えば、高速なデータ伝送が可能なホストバス908を介して相互に接続される。一方、ホストバス908は、例えば、ブリッジ910を介して比較的データ伝送速度が低速な外部バス912に接続される。また、入力部916としては、例えば、マウス、キーボード、タッチパネル、タッチパッド、ボタン、スイッチ、及びレバーなどが用いられる。さらに、入力部916としては、赤外線やその他の電波を利用して制御信号を送信することが可能なリモートコントローラが用いられることもある。
出力部918としては、例えば、CRT(Cathode Ray Tube)、LCD、PDP(Plasma Display Panel)、又はELDなどのディスプレイ装置が用いられる。また、出力部918として、スピーカやヘッドホンなどのオーディオ出力装置、又はプリンタなどが用いられることもある。つまり、出力部918は、情報を視覚的又は聴覚的に出力することが可能な装置である。
記憶部920は、各種のデータを格納するための装置である。記憶部920としては、例えば、HDDなどの磁気記憶デバイスが用いられる。また、記憶部920として、SSDやRAMディスクなどの半導体記憶デバイス、光記憶デバイス、又は光磁気記憶デバイスなどが用いられてもよい。
ドライブ922は、着脱可能な記録媒体であるリムーバブル記録媒体928に記録された情報を読み出し、又はリムーバブル記録媒体928に情報を書き込む装置である。リムーバブル記録媒体928としては、例えば、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどが用いられる。
接続ポート924は、例えば、USB(Universal Serial Bus)ポート、IEEE1394ポート、SCSI(Small Computer System Interface)、RS−232Cポート、又は光オーディオ端子など、外部接続機器930を接続するためのポートである。外部接続機器930としては、例えば、プリンタなどが用いられる。
通信部926は、ネットワーク932に接続するための通信デバイスである。通信部926としては、例えば、有線又は無線LAN用の通信回路、WUSB(Wireless USB)用の通信回路、光通信用の通信回路やルータ、ADSL(Asymmetric Digital Subscriber Line)用の通信回路やルータ、携帯電話ネットワーク用の通信回路などが用いられる。通信部926に接続されるネットワーク932は、有線又は無線により接続されたネットワークであり、例えば、インターネット、LAN、放送網、衛星通信回線などを含む。
なお、図2の例では、説明の都合上、表示装置101を管理装置100の外部に接続する例を示したが、図8に示すように出力部918として管理装置100に内蔵してもよい。また、図8に示したハードウェアは一例であり、一部の要素を省略したり、新たな要素を追加してもよい。また、業務サーバ401、402の機能も図8に示したハードウェアを用いて実現可能である。そのため、業務サーバ401、402のハードウェアについては説明を省略する。
[2−2.管理装置&制御モジュール]
次に、管理装置100及び制御モジュール201、301の機能について説明する。
(管理装置の機能)
まず、図9を参照しながら、管理装置100の機能について説明する。図9は、第2実施形態に係る管理装置が有する機能の一例を示したブロック図である。
図9に示すように、管理装置100は、記憶部111、同期制御部112、及び表示制御部113を有する。なお、記憶部111の機能は、上述したRAM906や記憶部920などを用いて実現できる。同期制御部112及び表示制御部113の機能は、上述したCPU902などを用いて実現できる。
記憶部111には、ストレージ装置200、300のリソース(ストレージ202、302、RAIDG#21、#22、#31、VOL#21A、#21B、#22A、#31A)を管理するための管理テーブル102(図3を参照)が格納される。
同期制御部112は、ストレージ装置200、300から提供される差分情報200b、300bに基づいて管理テーブル102を更新する。表示制御部113は、管理テーブル102の内容に基づいて表示装置101に管理UI101aを表示させる。また、入力部916を用いて行われる管理UI101aの操作に応じて表示装置101に表示される管理UI101aの表示を制御する(図4〜図6を参照)。
例えば、管理テーブル102は、ストレージ202、302の名称と、ストレージ202、302のアドレスと、ストレージ202、302の状態(稼働中/停止中)とを対応付ける情報を有する。表示制御部113は、これらのストレージ202、302に関する情報に基づいて図4に示すような管理UI101aを表示装置101に表示させる。
また、管理テーブル102は、ストレージ202、302の名称と、RAIDグループの名称(RAIDG#21など)とを対応付ける情報を有する。また、管理テーブル102は、RAIDグループのRAIDタイプ(RAID0、1、5、10など)、RAIDグループのサイズ、RAIDグループの状態(利用可/利用不可)を対応付ける情報を有する。表示制御部113は、これらのRAIDグループに関する情報に基づいて図5に示すような管理UI101aを表示装置101に表示させる。
また、管理テーブル102は、RAIDグループの名称と、論理ボリュームの名称(VOL#21Aなど)とを対応付ける情報を有する。また、管理テーブル102は、論理ボリュームのVOLタイプ(TPV、FTVなど)、論理ボリュームのサイズ、格納データに対する暗号化の有無(YES/NO)、論理ボリュームの状態(利用可/利用不可)を対応付ける情報を有する。表示制御部113は、これらの論理ボリュームに関する情報に基づいて図6に示すような管理UI101aを表示装置101に表示させる。
(制御モジュールの機能)
次に、図10を参照しながら、制御モジュール201の機能について説明する。図10は、第2実施形態に係る制御モジュールが有する機能の一例を示したブロック図である。なお、説明の都合上、制御モジュール201の機能について説明するが、制御モジュール301の機能も実質的に同じである。そのため、制御モジュール301の機能については詳細な説明を省略する。
図10に示すように、制御モジュール201は、記憶部211、操作処理部212、圧縮部213、及び差分通知部214を有する。なお、記憶部211の機能は、上述したRAM906や記憶部920などに相当するハードウェア資源を用いて実現できる。操作処理部212、圧縮部213、及び差分通知部214の機能は、上述したCPU902などに相当するハードウェア資源を用いて実現できる。
記憶部211には、ストレージ202及びストレージ202に包含されるリソース(RAIDG#21、#22、VOL#21A、#21B、#22A)に対する操作の内容が蓄積される差分情報200b(図7を参照)が格納される。但し、差分情報200bに含まれる操作の内容は、前回、差分情報200bが管理装置100に提供された後に行われた操作を対象とする内容である。
また、記憶部211には、ストレージ202の管理に用いる管理テーブル211a(管理テーブル102のストレージ202に関する内容と同内容のテーブル)が格納される。管理テーブル211aは、操作によりストレージ202及びストレージ202に包含されるリソースの状態が変化する度に更新される。
操作処理部212は、管理装置100から受け付ける操作の要求又は入力装置200aを介して行われる操作の要求に応じてストレージ202、及びストレージ202に包含されるリソースに対する操作の処理(操作処理)を実行する。
例えば、操作処理部212は、上記の要求に応じて、ストレージ202の登録(Register)及び登録解除(Delete)、RAIDグループの生成(Create)及び削除(Delete)、論理ボリュームの生成(Create)及び削除(Delete)などの操作処理を実行する。他の操作処理としては、例えば、論理ボリュームに対するアクセスパスの設定(Set Path)及び容量拡張(Expand)、各リソースの名称変更及び属性変更などがある。
圧縮部213は、差分情報200bのデータ量を圧縮する。既に述べたように、差分情報200bは、管理テーブル102の更新に利用される。管理テーブル102の更新は、ストレージ202、302、及びストレージ202、302に包含されるリソースの現況を表す内容に管理テーブル102を調整する目的で実施される。そのため、ストレージ202、302、及びストレージ202、302に包含されるリソースの現況に無関係な操作命令がなくても、管理テーブル102は適切に更新されうる。
そこで、圧縮部213は、上記の目的で実施される管理テーブル102の更新に寄与しない操作命令を差分情報200bから削除し、差分情報200bのデータ量を圧縮する。差分情報200bを圧縮することで、管理装置100に差分情報200bを提供する際の通信負荷が低減される。また、差分情報200bから一部の操作命令が削除されることで、管理テーブル102を更新する際に管理装置100が処理する操作命令の数が減るため、管理装置100における処理負荷の低減にも寄与する。
差分通知部214は、圧縮部213によりデータ量が圧縮された差分情報200bを管理装置100に提供する。例えば、差分通知部214は、図11に示すような条件(同期処理の実行条件)を満たすタイミングで差分情報200bを管理装置100に提供する。図11は、第2実施形態に係る同期処理の実行条件について説明するための図である。
差分情報200bは、ストレージ装置200と管理装置100との間で情報のやり取りが途絶えている間に蓄積される操作処理の履歴情報である。例えば、管理装置100の電源が切れている場合や、管理装置100とストレージ装置200との間の通信経路が切断されている場合などに差分情報200bが蓄積される。また、通信負荷や処理負荷を低減するために差分情報200bの提供を間欠的に実施する場合もある。この場合、差分情報200bの提供時点までの期間、差分情報200bに差分処理の情報が蓄積される。
例えば、管理装置100が「稼働中」、ストレージ装置200が「停止中」、管理装置100とストレージ装置200との間の通信経路が「正常」の場合、差分通知部214は、ストレージ装置200の起動時に差分情報200bを管理装置100に提供する。このとき、差分通知部214は、圧縮済みの差分情報200bを管理装置100に提供する。
また、管理装置100が「停止中」、ストレージ装置200が「稼働中」、管理装置100とストレージ装置200との間の通信経路が「正常」の場合、差分通知部214は、管理装置100の起動時に差分情報200bを管理装置100に提供する。例えば、差分通知部214は、所定の間隔でストレージ装置200のOS(Operating System)に対して起動確認用にポーリング信号を送信し、応答が得られた場合に差分情報200bを管理装置100に提供する。このとき、差分通知部214は、圧縮済みの差分情報200bを管理装置100に提供する。
また、管理装置100が「稼働中」、ストレージ装置200が「稼働中」、管理装置100とストレージ装置200との間の通信経路が「異常」の場合、差分通知部214は、通信経路の復旧時に差分情報200bを管理装置100に提供する。例えば、差分通知部214は、所定の間隔でPingなどの通信確認コマンドを実行し、通信経路の復旧が確認できた場合に差分情報200bを管理装置100に提供する。このとき、差分通知部214は、圧縮済みの差分情報200bを管理装置100に提供する。
また、管理装置100が「稼働中」、ストレージ装置200が「稼働中」、管理装置100とストレージ装置200との間の通信経路が「正常」の場合、差分通知部214は、管理装置100による要求(同期要求)に応じて差分情報200bを提供する。このとき、差分通知部214は、圧縮済みの差分情報200bを管理装置100に提供する。また、入力装置200aから操作を要求するコマンドが入力された場合、差分通知部214は、操作処理の内容(非圧縮の差分情報200bに相当)を管理装置100に通知する。
上記のようなタイミングでストレージ装置200から差分情報200bが管理装置100に提供され、差分情報200bに基づいて管理テーブル102が更新される。ストレージ装置300の差分情報300bについても同様である。
(差分情報の圧縮)
ここで、図12を参照しながら、圧縮部213による差分情報200bの圧縮方法について、さらに説明する。図12は、第2実施形態に係る差分情報の圧縮方法について説明するための図である。
図12には、9つのレコードを含む差分情報200bが例示されている。図12に示すように、差分情報200bには、例えば、差分命令、対象リソース名に加え、対象リソースの操作、ストレージ、RAIDG、VOLを識別するための識別情報が含まれる。
操作の識別情報は、操作処理の種類を示す。図12の例では、ストレージの登録(Register)、RAIDグループの生成(Create)、論理ボリュームの生成(Create)が識別情報「0」に割り当てられている。また、論理ボリュームの容量拡張(Expand)が識別情報「2」に、アクセスパスを設定する操作(Set Path)が識別情報「3」に割り当てられている。また、ストレージの登録解除(Delete)、RAIDグループの削除(Delete)、及び論理ボリュームの削除(Delete)が識別情報「X」に割り当てられている。
識別情報の「ストレージ」欄には、対象リソースであるストレージ又は対象リソースを包含するストレージの識別情報が記載される。識別情報の「RAIDG」欄には、対象リソースであるRAIDグループ又は対象リソースを包含するRAIDグループの識別情報が記載される。対象リソースがストレージである場合、「RAIDG」欄には「−」が記載される。識別情報の「VOL」欄には、対象リソースである論理ボリュームの識別情報が記載される。対象リソースがストレージ又はRAIDグループである場合、「VOL」欄には「−」が記載される。
上記のような差分情報200bがある場合、圧縮部213は、識別情報の「操作」欄にある「X」(Deleteに対応)を探索する。図12の例では、9番目(No.9)のレコードが操作「X」のレコード(S1)として検出される。この場合、圧縮部213は、検出されたレコードを参照し、Deleteの対象リソース(この例ではRAIDG#21)を特定する。そして、圧縮部213は、検出されたレコードの差分命令より前に実行された差分命令に対応するレコードのうち、特定した対象リソース及びその対象リソースに包含されるリソースを対象とするレコードを参照する。
図12の例では、2番目(No.2)、4番目(No.4)、6〜8番目(No.6 - No.8)のレコードが参照先のレコードとなる。圧縮部213は、参照先のレコードのうち、対象リソースに対する操作「0」のレコードがあるか否かを判定する。図12の例では、2番目(No.2)のレコードが、対象リソースであるRAIDG#21に対する操作「0」のレコード(S2)として検出される。この場合、圧縮部213は、参照先のレコード(S1〜S4)を全て削除する。この削除処理により、図12に示すように、9つのレコードを含む差分情報200bが、3つのレコードを含む差分情報200bに圧縮される。
上記の例では、RAIDG#21が既に削除されており、RAIDG#21及びRAIDG#21に包含されるリソースは現時点で存在しない。また、差分情報200bにRAIDG#21のCreateがある場合、管理装置100には、RAIDG#21が生成された事実が通知されておらず、管理テーブル102にRAIDG#21の存在が反映されていない。そのため、RAIDG#21及びRAIDG#21に包含されているリソースのレコードを差分情報200bから削除しても管理テーブル102の更新に影響しない。
仮に、RAIDG#21のCreateが差分情報200bにない場合、管理テーブル102にRAIDG#21の情報が含まれている。この場合、圧縮部213は、RAIDG#21のDeleteに対応するレコードを残し、上記と同様に、RAIDG#21及びRAIDG#21に包含されるリソースの他のレコードを削除する。RAIDG#21のDeleteに対応するレコードが管理装置100に通知されることで、管理装置100は、RAIDG#21及びRAIDG#21に包含されるリソースに関する管理テーブル102の内容を適切に更新することができる。
なお、RAIDグループが削除される場合を例に説明したが、ストレージの登録が解除される場合(Delete)や論理ボリュームが削除される場合も同様の処理になる。また、ストレージ、RAIDグループ、論理ボリュームに対する操作「X」が含まれる場合、圧縮部213は、上位階層にあるリソースから順に上記の処理を実行する。上位階層のリソースに対応するレコードから処理を実行することで、自動的に削除される下位階層のリソースに対応するレコードの処理が省略され、処理負荷が低減することがある。
以上、管理装置100及び制御モジュール201、301の機能について説明した。
[2−3.処理の流れ]
次に、管理装置100及びストレージ装置200、300が実行する処理の流れについて説明する。なお、説明の都合上、主に、管理装置100及びストレージ装置200により実行される処理について説明するが、ストレージ装置300を対象とする処理も同様の流れで実行される。
(同期条件:ストレージ装置の起動時&コマンド入力時)
図13を参照しながら、ストレージ装置200の起動時及びコマンド入力時に実行される同期処理(差分情報200bの提供&管理テーブル102の更新)の流れについて説明する。図13は、第2実施形態に係る管理装置とストレージ装置との間で実施される同期処理(ストレージ装置の起動時&コマンド入力時)の流れを示したシーケンス図である。
なお、図13の例は、図11に示した同期処理の実行条件のうち、管理装置100が「稼働中」、ストレージ装置200が「停止中」、通信経路が「正常」な場合にあたる。
(S101、S102)ストレージ装置200の電源ONによりストレージ装置200が起動する。起動したストレージ装置200は、差分通知部214により、同期処理の開始を通知するための同期要求を管理装置100に送信する。
(S103)管理装置100は、同期制御部112により、管理テーブル102の版数をストレージ装置200に通知する。なお、管理テーブル102の版数は、管理テーブル102が更新される度にインクリメントされる。また、管理テーブル102の版数は、記憶部111に格納される。
(S104)ストレージ装置200は、差分通知部214により、管理装置100から通知される管理テーブル102の版数と、記憶部211に格納されている管理テーブル211aの版数とを比較する。なお、記憶部211に格納されている管理テーブル211aの版数は、管理テーブル211aが更新される度にインクリメントされる。比較された2つの版数が一致した場合、ストレージ装置200は、同期処理を終了する。一方、比較された2つの版数が一致しない場合、ストレージ装置200は、処理をS105へ進める。
(S105、S106)ストレージ装置200は、圧縮部213により、図12に示した方法で差分情報200bを圧縮する。そして、ストレージ装置200は、差分通知部214により、圧縮後の差分情報200bを管理装置100に送信する。
(S107)管理装置100は、同期制御部112により、ストレージ装置200から受信される差分情報200bに基づいて管理テーブル102を更新する。また、管理装置100は、同期制御部112により、管理テーブル102の版数をインクリメントし、最新の版数を記憶部111に格納する。
なお、S107の処理が完了した後の状態は、図11に示した同期処理の実行条件のうち、管理装置100が「稼働中」、ストレージ装置200が「稼働中」、通信経路が「正常」な場合にあたる。この状態で入力装置200aからコマンド(差分命令の実行要求)が入力されると、処理はS108へと進む。
(S108)ストレージ装置200は、操作処理部212により、入力装置200aから入力されたコマンドを受け付ける。そして、ストレージ装置200は、操作処理部212により、受け付けたコマンドに応じて操作処理を実行する。また、ストレージ装置200は、操作処理部212により、操作処理の結果に応じて管理テーブル211aを更新し、管理テーブル211aの版数をインクリメントする。
(S109)ストレージ装置200は、差分通知部214により、S108で実行された操作処理の情報(非圧縮の差分情報200bに相当)を管理装置100に送信する。このとき、ストレージ装置200は、操作処理の情報を圧縮せずに送信する。コマンド入力による操作処理の場合、差分情報200bとして記憶部211に蓄積される操作処理の情報は少ない。そのため、圧縮処理を省略しても通信負荷への影響は大きくない。
(S110)管理装置100は、同期制御部112により、ストレージ装置200から受信される操作処理の情報に基づいて管理テーブル102を更新する。また、管理装置100は、同期制御部112により、管理テーブル102の版数をインクリメントし、最新の版数を記憶部111に格納する。
S110の処理が完了すると、図13に示した一連の処理は終了する。なお、さらにコマンド入力がある場合にはS108以降の処理が実行される。
(同期条件:管理装置の起動時)
次に、図14を参照しながら、管理装置100の起動時に実行される同期処理(差分情報200bの提供&管理テーブル102の更新)の流れについて説明する。図14は、第2実施形態に係る管理装置とストレージ装置との間で実施される同期処理(管理装置の起動時)の流れを示したシーケンス図である。
なお、図14の例は、図11に示した同期処理の実行条件のうち、管理装置100が「停止中」、ストレージ装置200が「稼働中」、通信経路が「正常」な場合にあたる。
(S121、S122)ストレージ装置200は、差分通知部214により、所定の間隔でストレージ装置200のOSに対して起動確認用にポーリング信号を送信する。なお、ポーリング信号に代えて同期要求が送信されるように変形してもよい。管理装置100が「停止中」であるため、ポーリング信号に対する応答は得られない。このような状況にある場合、ストレージ装置200は、操作処理部212により、ストレージ202及びストレージ202に包含されるリソースに対する操作処理の履歴を差分情報200bとして記憶部211に蓄積する。
(S123、S124)管理装置100が起動する。起動が完了した管理装置100は、同期制御部112により、ストレージ装置200に対して同期処理を要求し、管理テーブル102の版数をストレージ装置200に通知する。なお、図示していないが、管理装置100は、同期制御部112により、ストレージ装置300に対しても同期処理を要求し、管理テーブル102の版数をストレージ装置300に送信する。
(S125)ストレージ装置200は、差分通知部214により、管理装置100から受信した管理テーブル102の版数と、記憶部211に格納されている管理テーブル211aの版数とを比較する。比較された2つの版数が一致した場合、ストレージ装置200は、同期処理を終了する。一方、比較された2つの版数が一致しない場合、ストレージ装置200は、処理をS126へ進める。
(S126、S127)ストレージ装置200は、圧縮部213により、図12に示した方法で差分情報200bを圧縮する。そして、ストレージ装置200は、差分通知部214により、圧縮後の差分情報200bを管理装置100に送信する。
(S128)管理装置100は、同期制御部112により、ストレージ装置200から受信される差分情報200bに基づいて管理テーブル102を更新する。また、管理装置100は、同期制御部112により、管理テーブル102の版数をインクリメントし、最新の版数を記憶部111に格納する。S128の処理が完了すると、図14に示した一連の処理は終了する。
(同期条件:通信経路の復旧時)
次に、図15を参照しながら、通信経路の復旧時に実行される同期処理(差分情報200bの提供&管理テーブル102の更新)の流れについて説明する。図15は、第2実施形態に係る管理装置とストレージ装置との間で実施される同期処理(通信経路の復旧時)の流れを示したシーケンス図である。
なお、図15の例は、図11に示した同期処理の実行条件のうち、管理装置100が「稼働中」、ストレージ装置200が「稼働中」、通信経路が「異常」な場合にあたる。
(S131、S132、S133)管理装置100とストレージ装置200との間の通信経路に異常(NG)が発生する。この場合、ストレージ装置200から送信されるポーリング信号や同期要求に対して管理装置100から応答が得られない。このような状況にある場合、ストレージ装置200は、操作処理部212により、ストレージ202及びストレージ202に包含されるリソースに対する操作処理の履歴を差分情報200bとして記憶部211に蓄積する。
(S134)ストレージ装置200は、差分通知部214により、所定の間隔でPingなどの通信確認用のコマンドQを発行する。なお、コマンドQに代えて、ポーリング信号や同期要求が送信されるように変形してもよい。
(S135、S136、S137)通信経路が正常な状態(OK)に復旧すると、ストレージ装置200は、差分通知部214により、コマンドQの出力などに基づいて通信経路の復旧を認識する。なお、図15の例では、ストレージ装置200が差分通知部214により、管理装置100のOSに対して復旧確認用のポーリング信号を送信し、管理装置100の応答により通信経路の復旧を確認している。
(S138、S139)通信経路の復旧を確認したストレージ装置200は、差分通知部214により、同期処理の開始を通知するための同期要求を管理装置100に送信する。同期要求を受信した管理装置100は、同期制御部112により、管理テーブル102の版数をストレージ装置200に通知する。
(S140)ストレージ装置200は、差分通知部214により、管理装置100から通知される管理テーブル102の版数と、記憶部211に格納されている管理テーブル211aの版数とを比較する。比較された2つの版数が一致した場合、ストレージ装置200は、同期処理を終了する。一方、比較された2つの版数が一致しない場合、ストレージ装置200は、処理をS141へ進める。
(S141、S142)ストレージ装置200は、圧縮部213により、図12に示した方法で差分情報200bを圧縮する。そして、ストレージ装置200は、差分通知部214により、圧縮後の差分情報200bを管理装置100に送信する。
(S143)管理装置100は、同期制御部112により、ストレージ装置200から受信される差分情報200bに基づいて管理テーブル102を更新する。また、管理装置100は、同期制御部112により、管理テーブル102の版数をインクリメントし、最新の版数を記憶部111に格納する。S143の処理が完了すると、図15に示した一連の処理は終了する。
(制御モジュールの動作:蓄積〜圧縮〜送信)
次に、図16を参照しながら、ストレージ装置200の動作について、さらに説明する。図16は、第2実施形態に係るストレージ装置の動作(差分情報の生成&圧縮&送信)について説明するためのフロー図である。なお、図16に例示するストレージ装置200の動作は、ストレージ202又はストレージ202に包含されるリソースに対する操作処理が実行され、これらのリソースに状態変更が生じた場合の動作である。
(S151)操作処理部212により、ストレージ202又はストレージ202に包含されるリソースに対する操作処理が実行されると、差分通知部214は、操作処理の内容を含む状態変更の通知を管理装置100に送信する。そして、差分通知部214は、状態変更の通知が管理装置100により正常に受信されたか(状態変更の通知に成功したか)否かを判定する。
状態変更の通知に成功した場合、図16に示した一連の処理は終了する。一方、状態変更の通知に失敗した場合、処理はS152へと進む。例えば、管理装置100の電源がOFFの場合や通信経路に異常が生じている場合、状態変更の通知に失敗する。
(S152)操作処理部212は、操作処理の履歴(操作履歴)を記憶部211に蓄積する。つまり、操作処理部212は、差分情報200bを生成する。
(S153)差分通知部214は、差分情報200bを管理装置100に送信するか否かを判定する。例えば、図11に示した同期処理の実行条件を満たした場合、差分通知部214は、差分情報200bを管理装置100に送信すると判定する。差分情報200bを管理装置100に送信すると判定した場合、処理はS154へと進む。一方、差分情報200bを管理装置100に送信しないと判定した場合、処理はS152へと進む。
(S154)圧縮部213は、削除対象のリソース(図12の例では操作「X」に対応するリソース)があるか否かを判定する。削除対象のリソースがある場合、処理はS155へと進む。一方、削除対象のリソースがない場合、処理はS160へと進む。
(S155)圧縮部213は、削除対象のリソース(該当リソース)を1つ選択する。複数の該当リソースがある場合、圧縮部213は、上位階層のリソースを優先的に選択する。なお、同じ階層の該当リソースが複数ある場合、圧縮部213は、所定の順番(例えば、時系列順など)又はランダムに未選択の該当リソースを1つ選択する。
(S156)圧縮部213は、差分情報200bを参照し、該当リソースの生成操作(Create)があるか否かを判定する。該当リソースの生成操作がある場合、処理はS157へと進む。一方、該当リソースの生成操作がない場合、処理はS158へと進む。
(S157)圧縮部213は、該当リソース及び該当リソースに包含されるリソース(下位階層のリソース)に対する操作履歴を差分情報200bから全て削除する。S157の処理が完了すると、処理はS159へと進む。
(S158)圧縮部213は、該当リソースの削除操作を除き、該当リソース及び該当リソースに包含されるリソース(下位階層のリソース)に対する操作履歴を差分情報200bから全て削除する。つまり、該当リソース及び該当リソースに包含されるリソース(下位階層のリソース)に対する操作履歴のうち、該当リソースの削除操作だけが差分情報200bに残される。
(S159)圧縮部213は、該当リソースを選択し終えたか否かを判定する。該当リソースを選択し終えた場合、処理はS160へと進む。一方、未選択の該当リソースがある場合、処理はS155へと進む。
(S160)差分通知部214は、差分情報200bを管理装置100に送信する。このとき、差分通知部214は、差分情報200bから、上位階層のリソースに関する情報と、下位階層のリソースに関する情報とを特定する。そして、差分通知部214は、差分情報200bのうち、上位階層のリソースに関する情報を先に送信し、下位階層のリソースに関する情報を後に送信する。例えば、差分通知部214は、ストレージ202を対象リソースとする操作処理の情報を最初に送信し、RAIDグループを対象リソースとする操作処理の情報を次に送信し、論理ボリュームを対象リソースとする操作処理の情報を最後に送信する。S160の処理が完了すると、図16に示した一連の処理は終了する。
以上、管理装置100及びストレージ装置200、300が実行する処理の流れについて説明した。
[2−4.変形例]
ここで、第2実施形態の変形例について述べる。
(名称変更&サイズ変更)
これまでは、差分情報200bの圧縮に関し、リソースの削除操作(Delete)を起点に差分情報200bの中から削除可能なレコードを特定する方法を主に説明してきた。ここでは、図17を参照しながら、削除操作以外の操作(名称変更&サイズ変更)を起点として削除可能なレコードを特定する変形例について説明する。図17は、第2実施形態の一変形例に係るストレージ装置の動作(差分情報の生成&圧縮&送信)について説明するためのフロー図である。
なお、この変形例を適用する場合、図16に示した処理フローの中で、S159の処理とS160の処理との間に図17に示す一連の処理が挿入される。以下、挿入される処理の部分について説明する。
(S201)圧縮部213は、差分情報200bを参照し、名称変更操作があるか否かを判定する。名称変更操作がある場合、処理はS202へと進む。一方、名称変更操作がない場合、処理はS205へと進む。
(S202)圧縮部213は、変更対象のリソース(該当リソース)を1つ選択する。
(S203)圧縮部213は、差分情報200bの中で、該当リソースに対する名称変更操作を全て抽出する。そして、圧縮部213は、抽出した名称変更操作のうち、時間的に最後に実施された名称変更操作(最終操作)を特定し、最終操作以外の該当リソースに対する名称変更操作を差分情報200bから全て削除する。なお、最後に設定された名称の情報があれば現在のリソース名が分かるため、最終操作の情報だけで管理テーブル102を適切に更新することができる。
(S204)圧縮部213は、名称変更操作に関する該当リソースを選択し終えたか否かを判定する。該当リソースを選択し終えた場合、処理はS205へと進む。一方、未選択の該当リソースがある場合、処理はS202へと進む。
(S205)圧縮部213は、差分情報200bを参照し、サイズ変更操作があるか否かを判定する。サイズ変更操作がある場合、処理はS206へと進む。一方、サイズ変更操作がない場合、図17に示した一連の処理は終了する。
(S206)圧縮部213は、変更対象のリソース(該当リソース)を1つ選択する。
(S207)圧縮部213は、差分情報200bの中で、該当リソースに対するサイズ変更操作を全て抽出する。そして、圧縮部213は、抽出したサイズ変更操作のうち、時間的に最後に実施されたサイズ変更操作(最終操作)を特定し、最終操作以外の該当リソースに対するサイズ変更操作を差分情報200bから全て削除する。なお、最後に設定されたサイズの情報があれば現在のサイズが分かるため、最終操作の情報だけで管理テーブル102を適切に更新することができる。
(S208)圧縮部213は、サイズ変更操作に関する該当リソースを選択し終えたか否かを判定する。該当リソースを選択し終えた場合、図17に示した一連の処理は終了する。一方、未選択の該当リソースがある場合、処理はS206へと進む。
上記のように、名称変更操作やサイズ変更操作など、最終操作が分かれば現在のリソース状態が確定する操作に関しては、最終操作のレコードを残して過去の同種操作のレコードを削除しても、差分情報200bから管理テーブル102を適切に更新できる。このような種類の操作について同変形例の技術がそのまま適用可能である。
(優先度:階層)
次に、図18を参照しながら、差分情報200bを送信する際に階層間の優先度を考慮する方法について説明する。図18は、第2実施形態の一変形例(階層間の優先度を考慮する例)に係る同期処理の流れを示したシーケンス図である。
差分情報200bを送信する際に、上位階層のリソースに対応するレコードから順に情報を送信する方法については既に述べた(図16のS160を参照)。ここでは、管理UI101aで参照される頻度が高い階層のリソースから順に差分情報200bの情報を管理装置100に送信する方法について説明する。
(S211)管理装置100は、表示制御部113により、管理UI101aの参照頻度をカウントし、頻度情報111aとして記憶部111に情報を蓄積する。
例えば、管理UI101aの登録ストレージ一覧画面(図4を参照)が表示された場合、管理装置100の表示制御部113は、ストレージの階層に対する参照頻度のカウントをインクリメントする。また、管理UI101aのRAIDグループ一覧画面(図5を参照)が表示された場合、管理装置100の表示制御部113は、RAIDグループの階層に対する参照頻度のカウントをインクリメントする。また、管理UI101aの論理ボリューム一覧画面(図6を参照)が表示された場合、管理装置100の表示制御部113は、論理ボリュームの階層に対する参照頻度のカウントをインクリメントする。
(S212)管理装置100は、同期制御部112により、頻度情報111aをストレージ装置200に送信する。頻度情報111aは、所定のタイミング(例えば、1時間おきなど)で送信されてもよいし、ストレージ装置200による同期要求に応じて管理テーブル102の版数と共に送信されてもよい。
(S213)ストレージ装置200は、差分通知部214により、頻度情報111aに基づいて優先度を設定する。例えば、図18に例示した頻度情報111aの場合、ストレージの参照頻度が220、RAIDグループの参照頻度が118、論理ボリュームの参照頻度が65である。この場合、ストレージ装置200の差分通知部214は、ストレージの階層に対する優先度を1位、RAIDグループの階層に対する優先度を2位、論理ボリュームの階層に対する優先度を3位に設定する。
(S214、S215)同期処理の実行条件を満たし、差分情報200bを送信する際に、差分通知部214は、S213で設定された優先度に基づいて差分情報200bから優先度が1位の情報(この例ではストレージ階層の情報)を抽出し、抽出した情報を送信する。管理装置100は、同期制御部112により、ストレージ装置200から受信される情報に基づいて管理テーブル102を更新する。
(S216、S217)差分通知部214は、S213で設定された優先度に基づいて差分情報200bから優先度が2位の情報(この例ではRAIDグループ階層の情報)を抽出し、抽出した情報を送信する。管理装置100は、同期制御部112により、ストレージ装置200から受信される情報に基づいて管理テーブル102を更新する。
(S218、S219)差分通知部214は、S213で設定された優先度に基づいて差分情報200bから優先度が3位の情報(この例では論理ボリューム階層の情報)を抽出し、抽出した情報を送信する。管理装置100は、同期制御部112により、ストレージ装置200から受信される情報に基づいて管理テーブル102を更新する。
S219の処理が完了すると、図18に示した一連の処理は終了する。上記のように、参照頻度が高い情報を優先して送信し、その情報に基づいて管理テーブル102が逐次更新されることで、参照頻度が高い表示情報の更新レスポンスが向上する。
(優先度:ストレージ装置)
図18の例ではリソースの階層間における優先度を考慮したが、ここでは、図19を参照しながら、ストレージ装置間に優先度を設ける変形例について述べる。図19は、第2実施形態の一変形例(ストレージ装置間の優先度を考慮する例)に係る同期処理の流れを示したシーケンス図である。
(S221)管理装置100は、表示制御部113により、管理UI101aの参照頻度をカウントし、頻度情報111bとして記憶部111に情報を蓄積する。
例えば、管理UI101aの登録ストレージ一覧画面(図4を参照)でストレージ装置200のストレージ202が選択された場合、管理装置100の表示制御部113は、ストレージ装置200に対する参照頻度のカウントをインクリメントする。また、管理UI101aの登録ストレージ一覧画面(図4を参照)でストレージ装置300のストレージ302が選択された場合、管理装置100の表示制御部113は、ストレージ装置300に対する参照頻度のカウントをインクリメントする。
(S222)管理装置100は、同期制御部112により、同期要求及び管理テーブル102の版数をストレージ装置200に送信する。例えば、管理装置100の同期制御部112は、管理装置100の起動時などの同期処理時に頻度情報111bを参照し、参照頻度に基づいて同期要求及び管理テーブル102の版数を優先的に送信する送信先のストレージ装置を決定する。
図19の例では、ストレージ装置200の参照頻度が220、ストレージ装置300の参照頻度が160である。この場合、管理装置100の同期制御部112は、同期要求及び管理テーブル102の版数を優先的に送信する送信先をストレージ装置200に決定する。そして、管理装置100の同期制御部112は、同期要求及び管理テーブル102の版数をストレージ装置200に送信する。
(S223、S224、S225)同期要求及び管理テーブル102の版数を受信したストレージ装置200は、差分通知部214により、差分情報200bを管理装置100に送信する。差分情報200bを受信した管理装置100は、同期制御部112により、差分情報200bに基づいて管理テーブル102を更新する。そして、管理装置100は、同期制御部112により、ストレージ装置200に比べて参照頻度が低いストレージ装置300に対し、同期要求及び管理テーブル102の版数を送信する。
(S226、S227)同期要求及び管理テーブル102の版数を受信したストレージ装置300は、差分情報300bを管理装置100に送信する。差分情報300bを受信した管理装置100は、同期制御部112により、差分情報300bに基づいて管理テーブル102を更新する。S227の処理が完了すると、図19に示した一連の処理は終了する。上記のように、参照頻度が高いストレージ装置の情報を優先して更新することで、参照頻度が高い表示情報の更新レスポンスが向上する。
以上、第2実施形態について説明した。
<3.付記>
以上説明した実施形態に関し、さらに以下の付記を開示する。
(付記1) 記憶装置の記憶領域に対する操作履歴を含む管理情報が格納される記憶部と、
前記記憶領域の状態を現在の状態にする第1の操作と、前記第1の操作より前の、前記記憶領域を対象とする操作のうち、前記第1の操作による操作結果に影響しない第2の操作とを前記管理情報から抽出し、前記管理情報から前記第2の操作を削除し、前記記憶領域の状態を管理する管理装置に、削除後の前記管理情報を送信する制御部と
を有する、ストレージ制御装置。
(付記2) 前記記憶部には、前記ストレージ制御装置と前記管理装置との間の通信が途絶えている間に前記記憶領域に対して適用される操作の情報が前記操作履歴として格納される
付記1に記載のストレージ制御装置。
(付記3) 前記制御部は、
前記第1の操作として前記記憶領域を削除する削除操作を抽出し、前記第2の操作として前記記憶領域を対象とする前記削除操作より前の操作を前記管理情報から削除する
付記2に記載のストレージ制御装置。
(付記4) 前記制御部は、
前記記憶領域を対象とする前記削除操作より前の操作の中に、前記記憶領域を生成する生成操作がある場合、前記第1の操作をさらに前記管理情報から削除する
付記3に記載のストレージ制御装置。
(付記5) 上位の記憶領域と、前記上位の記憶領域の中に設定される下位の記憶領域とが前記記憶装置に設定されている場合、前記管理情報は、前記上位の記憶領域と前記下位の記憶領域とを対応付ける情報を含み、
前記制御部は、
削除後の前記管理情報を前記管理装置に送信する際、
削除後の前記管理情報から前記上位の記憶領域を対象とする第1の操作集合及び前記下位の記憶領域を対象とする第2の操作集合を特定し、前記第1の操作集合の情報を前記第2の操作集合の情報より先に送信する
付記1〜4のいずれかに記載のストレージ制御装置。
(付記6) 上位の記憶領域と、前記上位の記憶領域の中に設定される下位の記憶領域とが前記記憶装置に設定されている場合、前記管理情報は、前記上位の記憶領域と前記下位の記憶領域とを対応付ける情報を含み、
前記制御部は、
前記第1の操作集合の情報が参照される頻度の情報と、前記第2の操作集合の情報が参照される頻度の情報とを前記管理装置から受け付け、
削除後の前記管理情報を前記管理装置に送信する際、
削除後の前記管理情報から前記上位の記憶領域を対象とする第1の操作集合及び前記下位の記憶領域を対象とする第2の操作集合を特定し、
前記第1の操作集合の情報が前記第2の操作集合の情報より頻繁に参照されている場合には、前記第1の操作集合の情報を前記第2の操作集合の情報より先に送信し、
前記第2の操作集合の情報が前記第1の操作集合の情報より頻繁に参照されている場合には、前記第2の操作集合の情報を前記第1の操作集合の情報より先に送信する
付記1〜4のいずれかに記載のストレージ制御装置。
(付記7) 記憶装置の記憶領域に対する操作履歴を含む第1の管理情報が格納される第1の記憶部と、
前記記憶領域の状態を現在の状態にする第1の操作と、前記記憶領域を対象とする前記第1の操作より前の操作のうち、前記第1の操作による操作結果に影響しない第2の操作とを前記第1の管理情報から抽出し、前記第1の管理情報から前記第2の操作を削除し、前記記憶領域の状態を管理する管理装置に、削除後の前記第1の管理情報を送信する第1の制御部と
を有する、ストレージ制御装置と;
前記記憶領域の状態に関する第2の管理情報が格納される第2の記憶部と、
前記ストレージ制御装置から受信される削除後の前記第1の管理情報に基づいて前記第2の記憶部に格納される前記第2の管理情報を更新する第2の制御部と
を有する、前記管理装置と;
を含む、ストレージ管理システム。
(付記8) 前記ストレージ管理システムは、複数の前記ストレージ制御装置を含み、
前記第1の管理情報及び前記第2の管理情報は、複数の前記ストレージ制御装置のそれぞれに対応する情報を含み、
前記第2の制御部は、
前記第2の管理情報のうち、複数の前記ストレージ制御装置のそれぞれに対応する情報の参照頻度を監視し、
前記参照頻度に基づいて、複数の前記ストレージ制御装置の中から、削除後の前記第1の管理情報を優先的に送信させるストレージ制御装置を決定する
付記7に記載のストレージ管理システム。
(付記9) メモリ及びプロセッサを有するコンピュータに、
前記プロセッサにより、記憶装置の記憶領域に対する操作履歴を含む管理情報を前記メモリから読み出し、前記記憶領域の状態を現在の状態にする第1の操作と、前記第1の操作より前の、前記記憶領域を対象とする操作のうち、前記第1の操作による操作結果に影響しない第2の操作とを前記管理情報から抽出し、前記管理情報から前記第2の操作を削除し、前記記憶領域の状態を管理する管理装置に、削除後の前記管理情報を送信する
処理を実行させる、プログラム。
(付記10) 前記第1の記憶部には、前記ストレージ制御装置と前記管理装置との間の通信が途絶えている間に前記記憶領域に対して適用される操作の情報が前記操作履歴として格納される
付記7に記載のストレージ管理システム。
(付記11) 前記第1の制御部は、
前記第1の操作として前記記憶領域を削除する削除操作を抽出し、前記第2の操作として前記記憶領域を対象とする前記削除操作より前の操作を前記第1の管理情報から削除する
付記10に記載のストレージ管理システム。
(付記12) 前記第1の制御部は、
前記記憶領域を対象とする前記削除操作より前の操作の中に、前記記憶領域を生成する生成操作がある場合、前記第1の操作をさらに前記第1の管理情報から削除する
付記11に記載のストレージ管理システム。
(付記13) 上位の記憶領域と、前記上位の記憶領域の中に設定される下位の記憶領域とが前記記憶装置に設定されている場合、前記第1の管理情報は、前記上位の記憶領域と前記下位の記憶領域とを対応付ける情報を含み、
前記第1の制御部は、
削除後の前記第1の管理情報を前記管理装置に送信する際、
削除後の前記第1の管理情報から前記上位の記憶領域を対象とする第1の操作集合及び前記下位の記憶領域を対象とする第2の操作集合を特定し、前記第1の操作集合の情報を前記第2の操作集合の情報より先に送信する
付記7、10〜12のいずれかに記載のストレージ管理システム。
(付記14) 上位の記憶領域と、前記上位の記憶領域の中に設定される下位の記憶領域とが前記記憶装置に設定されている場合、前記第1の管理情報は、前記上位の記憶領域と前記下位の記憶領域とを対応付ける情報を含み、
前記第1の制御部は、
前記第1の操作集合の情報が参照される頻度の情報と、前記第2の操作集合の情報が参照される頻度の情報とを前記管理装置から受け付け、
削除後の前記第1の管理情報を前記管理装置に送信する際、
削除後の前記第1の管理情報から前記上位の記憶領域を対象とする第1の操作集合及び前記下位の記憶領域を対象とする第2の操作集合を特定し、
前記第1の操作集合の情報が前記第2の操作集合の情報より頻繁に参照されている場合には、前記第1の操作集合の情報を前記第2の操作集合の情報より先に送信し、
前記第2の操作集合の情報が前記第1の操作集合の情報より頻繁に参照されている場合には、前記第2の操作集合の情報を前記第1の操作集合の情報より先に送信する
付記7、10〜12のいずれかに記載のストレージ管理システム。
(付記15) 前記メモリには、前記コンピュータと前記管理装置との間の通信が途絶えている間に前記記憶領域に対して適用される操作の情報が前記操作履歴として格納される
付記9に記載のプログラム。
(付記16) 前記コンピュータに、前記プロセッサにより、
前記第1の操作として前記記憶領域を削除する削除操作を抽出し、前記第2の操作として前記記憶領域を対象とする前記削除操作より前の操作を前記管理情報から削除する
処理を実行させる、付記15に記載のプログラム。
(付記17) 前記コンピュータに、前記プロセッサにより、
前記記憶領域を対象とする前記削除操作より前の操作の中に、前記記憶領域を生成する生成操作がある場合、前記第1の操作をさらに前記管理情報から削除する
処理を実行させる、付記16に記載のプログラム。
(付記18) 上位の記憶領域と、前記上位の記憶領域の中に設定される下位の記憶領域とが前記記憶装置に設定されている場合、前記管理情報は、前記上位の記憶領域と前記下位の記憶領域とを対応付ける情報を含み、
前記コンピュータに、前記プロセッサにより、
削除後の前記管理情報を前記管理装置に送信する際、
削除後の前記管理情報から前記上位の記憶領域を対象とする第1の操作集合及び前記下位の記憶領域を対象とする第2の操作集合を特定し、前記第1の操作集合の情報を前記第2の操作集合の情報より先に送信する
処理を実行させる、付記9、15〜17のいずれかに記載のプログラム。
(付記19) 上位の記憶領域と、前記上位の記憶領域の中に設定される下位の記憶領域とが前記記憶装置に設定されている場合、前記管理情報は、前記上位の記憶領域と前記下位の記憶領域とを対応付ける情報を含み、
前記コンピュータに、前記プロセッサにより、
前記第1の操作集合の情報が参照される頻度の情報と、前記第2の操作集合の情報が参照される頻度の情報とを前記管理装置から受け付け、
削除後の前記管理情報を前記管理装置に送信する際、
削除後の前記管理情報から前記上位の記憶領域を対象とする第1の操作集合及び前記下位の記憶領域を対象とする第2の操作集合を特定し、
前記第1の操作集合の情報が前記第2の操作集合の情報より頻繁に参照されている場合には、前記第1の操作集合の情報を前記第2の操作集合の情報より先に送信し、
前記第2の操作集合の情報が前記第1の操作集合の情報より頻繁に参照されている場合には、前記第2の操作集合の情報を前記第1の操作集合の情報より先に送信する
処理を実行させる、付記9、15〜17のいずれかに記載のプログラム。
(付記20) 前記管理装置に送信される削除後の前記管理情報は、前記記憶領域の状態を画面上に表示する前記管理装置が表示内容を更新する際に利用される
付記1に記載のストレージ制御装置。
(付記21) 付記9、15〜19のいずれかに記載のプログラムが格納された、前記コンピュータにより読み取り可能な記録媒体。
10 管理装置
11、21 記憶部
11a 管理テーブル
12、22 制御部
13 表示部
13a 管理UI
20 ストレージ制御装置
21a、21b 管理情報
30 記憶装置
30a、30b 記憶領域
40 ストレージ装置

Claims (9)

  1. 記憶装置の記憶領域に対する操作履歴を含む管理情報が格納される記憶部と、
    前記記憶領域の状態を現在の状態にする第1の操作と、前記第1の操作より前の、前記記憶領域を対象とする操作のうち、前記第1の操作による操作結果に影響しない第2の操作とを前記管理情報から抽出し、前記管理情報から前記第2の操作を削除し、前記記憶領域の状態を管理する管理装置に、削除後の前記管理情報を送信する制御部と
    を有する、ストレージ制御装置。
  2. 前記記憶部には、前記ストレージ制御装置と前記管理装置との間の通信が途絶えている間に前記記憶領域に対して適用される操作の情報が前記操作履歴として格納される
    請求項1に記載のストレージ制御装置。
  3. 前記制御部は、
    前記第1の操作として前記記憶領域を削除する削除操作を抽出し、前記第2の操作として前記記憶領域を対象とする前記削除操作より前の操作を前記管理情報から削除する
    請求項2に記載のストレージ制御装置。
  4. 前記制御部は、
    前記記憶領域を対象とする前記削除操作より前の操作の中に、前記記憶領域を生成する生成操作がある場合、前記第1の操作をさらに前記管理情報から削除する
    請求項3に記載のストレージ制御装置。
  5. 上位の記憶領域と、前記上位の記憶領域の中に設定される下位の記憶領域とが前記記憶装置に設定されている場合、前記管理情報は、前記上位の記憶領域と前記下位の記憶領域とを対応付ける情報を含み、
    前記制御部は、
    削除後の前記管理情報を前記管理装置に送信する際、
    削除後の前記管理情報から前記上位の記憶領域を対象とする第1の操作集合及び前記下位の記憶領域を対象とする第2の操作集合を特定し、前記第1の操作集合の情報を前記第2の操作集合の情報より先に送信する
    請求項1〜4のいずれか1項に記載のストレージ制御装置。
  6. 上位の記憶領域と、前記上位の記憶領域の中に設定される下位の記憶領域とが前記記憶装置に設定されている場合、前記管理情報は、前記上位の記憶領域と前記下位の記憶領域とを対応付ける情報を含み、
    前記制御部は、
    前記上位の記憶領域を対象とする第1の操作集合の情報が参照される頻度の情報と、前記下位の記憶領域を対象とする第2の操作集合の情報が参照される頻度の情報とを前記管理装置から受け付け、
    削除後の前記管理情報を前記管理装置に送信する際、
    削除後の前記管理情報から前記第1の操作集合及び前記第2の操作集合を特定し、
    前記第1の操作集合の情報が前記第2の操作集合の情報より頻繁に参照されている場合には、前記第1の操作集合の情報を前記第2の操作集合の情報より先に送信し、
    前記第2の操作集合の情報が前記第1の操作集合の情報より頻繁に参照されている場合には、前記第2の操作集合の情報を前記第1の操作集合の情報より先に送信する
    請求項1〜4のいずれか1項に記載のストレージ制御装置。
  7. 記憶装置の記憶領域に対する操作履歴を含む第1の管理情報が格納される第1の記憶部と、
    前記記憶領域の状態を現在の状態にする第1の操作と、前記記憶領域を対象とする前記第1の操作より前の操作のうち、前記第1の操作による操作結果に影響しない第2の操作とを前記第1の管理情報から抽出し、前記第1の管理情報から前記第2の操作を削除し、前記記憶領域の状態を管理する管理装置に、削除後の前記第1の管理情報を送信する第1の制御部と
    を有する、ストレージ制御装置と;
    前記記憶領域の状態に関する第2の管理情報が格納される第2の記憶部と、
    前記ストレージ制御装置から受信される削除後の前記第1の管理情報に基づいて前記第2の記憶部に格納される前記第2の管理情報を更新する第2の制御部と
    を有する、前記管理装置と;
    を含む、ストレージ管理システム。
  8. 前記ストレージ管理システムは、複数の前記ストレージ制御装置を含み、
    前記第1の管理情報及び前記第2の管理情報は、複数の前記ストレージ制御装置のそれぞれに対応する情報を含み、
    前記第2の制御部は、
    前記第2の管理情報のうち、複数の前記ストレージ制御装置のそれぞれに対応する情報の参照頻度を監視し、
    前記参照頻度に基づいて、複数の前記ストレージ制御装置の中から、削除後の前記第1の管理情報を優先的に送信させるストレージ制御装置を決定する
    請求項7に記載のストレージ管理システム。
  9. メモリ及びプロセッサを有するコンピュータに、
    前記プロセッサにより、記憶装置の記憶領域に対する操作履歴を含む管理情報を前記メモリから読み出し、前記記憶領域の状態を現在の状態にする第1の操作と、前記第1の操作より前の、前記記憶領域を対象とする操作のうち、前記第1の操作による操作結果に影響しない第2の操作とを前記管理情報から抽出し、前記管理情報から前記第2の操作を削除し、前記記憶領域の状態を管理する管理装置に、削除後の前記管理情報を送信する
    処理を実行させる、プログラム。
JP2016256422A 2016-12-28 2016-12-28 ストレージ制御装置、ストレージ管理システム、及びプログラム Active JP6826287B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2016256422A JP6826287B2 (ja) 2016-12-28 2016-12-28 ストレージ制御装置、ストレージ管理システム、及びプログラム
US15/852,930 US10552039B2 (en) 2016-12-28 2017-12-22 Storage control apparatus, storage management system, and non-transitory computer-readable storage medium
CN201711430769.7A CN108255421B (zh) 2016-12-28 2017-12-26 存储控制设备、存储管理系统和存储管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016256422A JP6826287B2 (ja) 2016-12-28 2016-12-28 ストレージ制御装置、ストレージ管理システム、及びプログラム

Publications (2)

Publication Number Publication Date
JP2018109810A JP2018109810A (ja) 2018-07-12
JP6826287B2 true JP6826287B2 (ja) 2021-02-03

Family

ID=62625646

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016256422A Active JP6826287B2 (ja) 2016-12-28 2016-12-28 ストレージ制御装置、ストレージ管理システム、及びプログラム

Country Status (3)

Country Link
US (1) US10552039B2 (ja)
JP (1) JP6826287B2 (ja)
CN (1) CN108255421B (ja)

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10187514A (ja) 1996-12-25 1998-07-21 Hitachi Ltd データ・ウェアハウスへのデータ反映方法および装置
JP4689137B2 (ja) 2001-08-08 2011-05-25 株式会社日立製作所 リモートコピー制御方法、及びストレージシステム
JP2005276094A (ja) 2004-03-26 2005-10-06 Hitachi Ltd 分散ストレージ装置のファイル管理方法及び分散ストレージシステム並びにプログラム
JP5090941B2 (ja) * 2008-01-29 2012-12-05 株式会社日立製作所 ストレージサブシステム及びストレージシステム
US9280578B1 (en) * 2013-06-30 2016-03-08 Emc Corporation Combining transactions in a metadata transaction log
CN105808407B (zh) * 2014-12-31 2019-09-13 华为技术有限公司 管理设备的方法、设备和设备管理控制器
US9678665B2 (en) * 2015-03-06 2017-06-13 Western Digital Technologies, Inc. Methods and systems for memory page allocation
CN105657473A (zh) * 2015-11-25 2016-06-08 乐视云计算有限公司 数据处理的方法和装置
CN105718222B (zh) * 2016-01-27 2019-05-28 珠海全志科技股份有限公司 一种更新dram配置的自适应装置和方法
CN105912687B (zh) * 2016-04-19 2019-05-24 江苏物联网研究发展中心 海量分布式数据库存储单元
CN106250287A (zh) * 2016-07-21 2016-12-21 柳州龙辉科技有限公司 一种日志信息处理装置

Also Published As

Publication number Publication date
US10552039B2 (en) 2020-02-04
CN108255421B (zh) 2021-05-25
CN108255421A (zh) 2018-07-06
US20180181313A1 (en) 2018-06-28
JP2018109810A (ja) 2018-07-12

Similar Documents

Publication Publication Date Title
JP7379599B2 (ja) クラウドデータストアにわたるファイルシステム階層ミラーリング
US20200257595A1 (en) Systems and methods for restoring data from network attached storage
US11249857B2 (en) Methods for managing clusters of a storage system using a cloud resident orchestrator and devices thereof
US9495409B1 (en) Techniques for performing data validation
US9075771B1 (en) Techniques for managing disaster recovery sites
US9305009B1 (en) Synchronous replication of virtualized storage processors
US8990153B2 (en) Pull data replication model
US7890645B2 (en) Monitoring-target-apparatus management system, management server, and monitoring-target-apparatus management method
US9378105B2 (en) System and method for optimizing replication
US20110061049A1 (en) Storage system, and remote copy control method therefor
JP2005196625A (ja) 情報処理システムおよび管理装置
JP4671399B2 (ja) データ処理システム
JP2009026255A (ja) データ移行方法、データ移行システム、及びデータ移行プログラム
EP3731099A1 (en) System and method for accelerating application service restoration
US11327844B1 (en) Automated cloud recovery to provide a full usable application image
JP2009003499A (ja) ファイル共有システム及びファイル共有システムを用いて単一の論理的ディレクトリ構成を生成する方法
US9639502B1 (en) Techniques for managing computing resources
US8700572B2 (en) Storage system and method for controlling storage system
JP2008250458A (ja) ストレージシステム及びストレージシステムの管理方法
JP6826287B2 (ja) ストレージ制御装置、ストレージ管理システム、及びプログラム
JP2007286897A (ja) 記憶システム及びデータ管理装置並びにその管理方法
US8185582B2 (en) Storage system, management server, system reconfiguration support method for a storage system, and system reconfiguration support method for a management server
WO2014010047A1 (ja) 管理システム及び情報取得方法
US11321185B2 (en) Method to detect and exclude orphaned virtual machines from backup
JP2013161383A (ja) 情報処理装置、情報処理方法、プログラム及び情報処理システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190910

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20190917

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20190917

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200916

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201027

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201204

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20201215

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201228

R150 Certificate of patent or registration of utility model

Ref document number: 6826287

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150