JP4849960B2 - レプリケーションボリュームの容量拡張方法 - Google Patents

レプリケーションボリュームの容量拡張方法 Download PDF

Info

Publication number
JP4849960B2
JP4849960B2 JP2006152086A JP2006152086A JP4849960B2 JP 4849960 B2 JP4849960 B2 JP 4849960B2 JP 2006152086 A JP2006152086 A JP 2006152086A JP 2006152086 A JP2006152086 A JP 2006152086A JP 4849960 B2 JP4849960 B2 JP 4849960B2
Authority
JP
Japan
Prior art keywords
volume
capacity
target
expansion
replication
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006152086A
Other languages
English (en)
Other versions
JP2007323309A (ja
Inventor
郁夫 鶴留
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2006152086A priority Critical patent/JP4849960B2/ja
Priority to US11/492,861 priority patent/US7596658B2/en
Publication of JP2007323309A publication Critical patent/JP2007323309A/ja
Application granted granted Critical
Publication of JP4849960B2 publication Critical patent/JP4849960B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2058Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using more than 2 mirrored copies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2069Management of state, configuration or failover
    • 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
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • 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]

Landscapes

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

Description

本発明は、論理ボリュームの容量拡張のための技術に関する。
論理ボリュームの容量拡張のための方法として、例えば、特開2003−15915号公報に開示の方法が知られている。この公報には、ホスト計算機からの書き込みによってボリューム容量が不足した場合、ストレージシステムが、物理ディスクの未使用の記憶領域を動的に論理ボリュームのセグメントに追加するという方法が開示されている。
特開2003−15915号公報
ところで、ホスト計算機が使用する論理ボリュームは、データの安全性を高めるため冗長化されている。以下、ホスト計算機が使用する論理ボリュームを「オリジナルボリューム」と言い、オリジナルボリュームが冗長化された論理ボリュームを「レプリケーションボリューム」と言う。レプリケーションボリュームは、オリジナルボリュームが存在するストレージシステム内に存在する場合もあれば、それとは別のストレージシステムに存在する場合もある。前者の場合であれば、ストレージシステム内でのコピーとなるし、後者の場合であれば、ストレージシステムから別のストレージシステムへのいわゆるリモートコピーとなる。
オリジナルボリュームに対して、レプリケーションボリュームが関連付けられることにより、論理ボリュームのカスケード(以下、ボリュームカスケード)ができる。レプリケーションボリュームに対して別のレプリケーションボリュームを関連付けることで、より長いボリュームカスケードができ、以って、オリジナルボリュームがより冗長化される。オリジナルボリュームに新たにデータが書込まれると、そのデータが、オリジナルボリュームに関連付けられているレプリケーションボリュームにコピーされる。そのレプリケーションボリュームに、別のレプリケーションボリュームが関連付けられていれば、そのレプリケーションボリュームにコピーされたデータが、更に、別のレプリケーションボリュームにコピーされる。このようにして、ボリュームカスケードでは、上流側の論理ボリュームから下流側の論理ボリュームにデータがコピーされていく。
このため、例えば、上流の論理ボリュームの容量を拡張した場合、下流の論理ボリュームの容量を拡張する必要が生じる。上流の論理ボリュームが記憶するデータの全てを下流の論理ボリュームでも記憶するができるようにするためである。しかし、従来、上流の論理ボリュームの容量拡張に応じて下流の論理ボリュームの容量を拡張するための技術は知られていない。
従って、本発明の目的は、上流の論理ボリュームの容量拡張に応じて下流の論理ボリュームの容量を拡張することを自動で行えるようにすることにある。
本発明の他の目的は、後の説明から明らかになるであろう。
本発明に従う管理計算機は、多数の論理ボリュームを備えたストレージシステム群を管理する計算機である。前記ストレージシステム群は、一以上のストレージシステムから構成される。前記多数の論理ボリュームには、ボリュームカスケードを構成する前記二以上の論理ボリュームが含まれている。該ボリュームカスケードは、最上流の論理ボリュームであるオリジナルボリュームと、それよりも下流の論理ボリュームであるレプリケーションボリュームとがカスケード状に関連付けられたボリューム群である。前記ストレージシステム群は、一以上のボリュームカスケードと、オリジナルボリュームに格納するデータを、該オリジナルボリュームが属するボリュームカスケードに従って、下流のレプリケーションボリュームにコピーするコピー部と、容量拡張指示を受け、該容量拡張指示で指定されている論理ボリュームの容量を拡張する容量拡張部とを備える。前記管理計算機が、ボリュームカスケードの構成に関する情報であるボリュームカスケード構成情報を記憶するカスケード構成記憶部と、前記多数の論理ボリュームのうちのいずれかの論理ボリュームを拡張対象とする拡張対象ボリューム決定部と、前記拡張対象の論理ボリュームが属するボリュームカスケード中の他の論理ボリュームを前記ボリュームカスケード構成情報から特定するカスケード構成特定部と、前記拡張対象の論理ボリュームと前記特定された他の論理ボリュームとで構成される対象のボリュームカスケードを構成する二以上の対象ボリュームと該二以上の対象ボリュームの各々の拡張後の容量とを指定した容量拡張指示を前記ストレージシステム群に送信する容量拡張制御部とを備える。拡張後の容量を指定するとは、例えば、拡張後の容量を示す値を指定することと、現在の容量に加算する容量を示す値を指定することとのいずれであってもよい。
第一の実施態様では、前記容量拡張制御部は、前記容量拡張指示において、下流の対象ボリュームについての拡張後の容量を、該下流の対象ボリュームの直近且つ上流の対象ボリュームについて指定する拡張後の容量以上とすることができる。
第二の実施態様では、前記管理計算機は、前記ストレージシステム群における複数のエリアの各々の容量上限を記憶する容量上限記憶部を更に有することができる。前記複数のエリアの各々には、前記多数の論理ボリュームのうちの少なくとも一つの論理ボリュームが属する。前記容量拡張制御部は、前記二以上の対象ボリュームの各々の拡張後の容量と、前記複数のエリアのうちの前記各対象ボリュームがそれぞれ属する対象のエリアの容量上限とから、前記二以上の対象ボリュームを拡張すると少なくとも一つの対象のエリアの容量上限を超えてしまう場合には、前記複数のエリアの中から、容量上限を超えてしまう対象のエリアに属する対象ボリュームの拡張後の容量を加算しても容量上限を超えない他のエリアを探し、該対象ボリュームを、探し出された該他のエリアに再配置することができる。
第三の実施態様では、前記第二の実施態様において、前記ストレージシステム群は、複数のストレージシステムを含む。前記複数のエリアの各々は、ストレージシステムである。
第四の実施態様では、前記第二の実施態様において、前記ストレージシステム群には、複数のRAIDグループが設定されている。前記複数のRAIDグループの各々は、前記ストレージシステム群が備える複数の物理的な記憶装置のうちの二以上の物理的な記憶装置により構成される。各論理ボリュームは、各RAIDグループにより提供される物理的な記憶資源を基に用意された論理的な記憶装置である。前記複数のエリアの各々は、RAIDグループである。
第五の実施態様では、前記第二の実施態様において、前記容量拡張制御部は、前記対象のボリュームカスケードのうちの下流の対象ボリュームほど優先的に再配置の対象とすることができる。
第六の実施態様では、前記第二の実施態様において、前記容量拡張制御部は、再配置の対象がレプリケーションボリュームであって、前記他のエリアを探し出せない場合には、該レプリケーションボリュームを前記対象のボリュームカスケードから解除することができる。
第七の実施態様では、前記第六の実施態様において、前記容量拡張制御部は、前記対象のボリュームカスケードについて、レプリケーションボリュームを自動解除しても良いことを意味する情報である自動解除許可が予め設定されている場合には、レプリケーションボリュームの解除を行い、該自動解除許可が予め設定されていない場合には、前記対象のボリュームカスケードを構成する各対象ボリュームの容量を拡張することを中止することができる。
第八の実施態様では、前記第六の実施態様において、前記容量拡張制御部は、前記対象のボリュームカスケードのうちの下流の対象ボリュームほど優先的に解除の対象とすることができる。
第九の実施態様では、前記第六の実施態様において、前記対象のボリュームカスケードに属するオリジナルボリュームが、前記一以上のボリュームカスケードの他のボリュームカスケードのオリジナルボリュームでもあるが故に、対象のボリュームカスケードが二以上存在し、該二以上の対象ボリュームカスケードのうち、少なくとも一つの対象ボリュームカスケードのうちの少なくとも一つのレプリケーションボリュームが、前記ストレージシステム群において、前記オリジナルボリュームが存在するストレージシステムとは別のストレージシステムに存在する場合、前記容量拡張制御部は、前記二以上の対象ボリュームカスケードのうち、前記オリジナルボリュームが存在するストレージシステムとは別のストレージシステムにレプリケーションボリュームが存在しない対象ボリュームカスケードの少なくとも一つのレプリケーションボリュームを優先的に解除することができる。
第十の実施態様では、前記容量拡張制御部は、非同時型の容量拡張処理を行い、前記非同時型の容量拡張処理では、前記対象のボリュームカスケードを構成する二以上の対象ボリュームについて、一つの対象ボリュームの容量拡張指示を前記ストレージシステム群に送信し、前記ストレージシステム群から容量拡張の完了を受けた後に、別の対象ボリュームの容量拡張指示を送信することができる。
第十一の実施態様では、前記容量拡張制御部は、同時型の容量拡張処理を行い、前記同時型の容量拡張処理では、前記対象のボリュームカスケードを構成する二以上の対象ボリュームのうちの所定の属性を有する対象ボリューム単位で、容量拡張指示を前記ストレージシステム群に送信することができる。
第十二の実施態様では、前記第十一の実施態様において、前記所定の属性とは、対象ボリュームの種別であり、該種別として、少なくとも、最上流であることを意味するプライマリと、最下流であることを意味するセカンダリとがあり、前記対象のボリュームカスケードが三以上の対象ボリュームから構成される場合には、プライマリとセカンダリの中間に存在することを意味するセカンダリ/プライマリがある。
第十三の実施態様では、前記容量拡張制御部は、非同時型の容量拡張処理と、同時型の容量拡張処理とのいずれかを選択し、選択した方の処理を行うことができる。前記非同時型の容量拡張処理では、前記対象のボリュームカスケードを構成する二以上の対象ボリュームについて、一つの対象ボリュームの容量拡張指示を前記ストレージシステム群に送信し、前記ストレージシステム群から容量拡張の完了を受けた後に、別の対象ボリュームの容量拡張指示を送信することができる。前記同時型の容量拡張処理では、前記対象のボリュームカスケードを構成する二以上の対象ボリュームのうちの所定の属性を有する対象ボリューム単位で、容量拡張指示を前記ストレージシステム群に送信することができる。
第十四の実施態様では、前記容量拡張制御部は、
以下の(A)乃至(C)、
(A)対象ボリュームの数が少ない、
(B)ストレージシステムの数が少ない、
(C)ストレージシステムの負荷を抑える、
のうちの少なくとも一つの場合に、非同時型の容量拡張処理を選択し、
以下の(a)乃至(c)、
(a)対象ボリュームの数が多い、
(b)ストレージシステムの数が多い、
(c)容量拡張に要する時間を抑える、
のうちの少なくとも一つの場合に、同時型の容量拡張処理を選択することができる。
第十五の実施態様では、前記容量拡張制御部は、前記二以上の対象ボリュームのうちの下流の対象ボリュームほど優先的に先に容量拡張指示を送信することができる。
第十六の実施態様では、前記容量拡張制御部は、前記二以上の対象ボリュームのうちの上流の対象ボリュームほど優先的に先に容量拡張指示を送信することができる。
第十七の実施態様では、拡張対象ボリューム決定部は、使用率が閾値を超えた論理ボリュームを前記拡張対象とすることができる。前記使用率とは、論理ボリュームの容量に対する使用されている容量の割合である。
上述した各部は、各手段としても良い。記憶部は、例えば、記憶資源(例えばメモリ又はディスク)に用意される記憶域とすることができる。他の各部は、ハードウェア(例えば回路)、コンピュータプログラム、或いはそれらの組み合わせ(例えば、コンピュータプログラムを読み込んで実行する一又は複数のCPU)によって実現することもできる。各コンピュータプログラムは、コンピュータマシンに備えられる記憶資源(例えばメモリ)から読み込むことができる。その記憶資源には、CD−ROMやDVD(Digital Versatile Disk)等の記録媒体を介してインストールすることもできるし、インターネットやLAN等の通信ネットワークを介してダウンロードすることもできる。
本発明によれば、上流の論理ボリュームの容量拡張に応じて下流の論理ボリュームの容量を拡張することを自動で行うことができる。
図1は、本発明の一実施形態に係る計算機システムの構成例を示した図である。なお、以下の説明では、同種の要素については、親番号(例えば153)を用いて説明し、特に区別する場合には、親番号と子符合のセット(例えば153A)を用いて説明する。
この計算機システムでは、第一の通信ネットワーク149と第二の通信ネットワーク155とに、それぞれ、一又は複数台(例えば一台)の業務サーバ101と、管理サーバ111と、一又は複数台(例えば三台)のストレージシステム151A、151B及び151Cとが接続されている。通信ネットワーク149、155の種類は格別限定されない。例えば、第一の通信ネットワーク149として、SAN(Storage Area Network)を採用することができ、第二の通信ネットワーク155として、LAN(Local Area Network)を採用することができる。
業務サーバ101は、一種の計算機であり、所定の業務を実行する。業務サーバ101は、CPU109やメモリ(他種の記憶資源でも良い)107を備える。メモリ107には、所定の業務を実行するためのコンピュータプログラム(以下、業務アプリケーション)103や、所定の論理ボリュームの使用率を監視するためのコンピュータプログラム(以下、ボリューム使用率監視プログラム)105を記憶する。CPU109は、メモリ107に記憶されているコンピュータプログラムを読み出して実行する。以下、プログラムが主語になる場合は、実際にはそのプログラムを実行するCPUによって処理が行われるものとする。業務アプリケーション103は、オリジナルボリューム153A及び/又は153Cにアクセスする(例えばデータを読み出す或いはデータを書込む)。ボリューム使用率監視プログラム105の監視対象は、例えば、業務アプリケーション103のアクセス先となる論理ボリュームである。ボリューム使用率監視プログラム105は、業務サーバ101に代えて、管理サーバ111に備えられても良い。
管理サーバ111は、一種の計算機であり、業務サーバ101及びストレージシステム151A〜151Cを管理する。管理サーバ111は、CPU113やメモリ(他種の記憶資源でも良い)115を備える。メモリ115には、種々のデータやコンピュータプログラムが記憶される。データとしては、例えば、論理領域管理テーブル139、ボリューム管理テーブル141、ボリューム拡張/再配置対応テーブル143、レプリケーション定義テーブル145及び拡張対象レプリケーションボリュームテーブル147がある。コンピュータプログラムとしては、例えば、ユーザ設定プログラム117、ストレージ情報収集プログラム119、自動拡張プログラム120、領域拡張プログラム121、レプリケーション管理プログラム123、第一のテーブル作成プログラム125A、第二のテーブル作成プログラム125B、同時変更プログラム127、非同時変更プログラム129、レプリケーション設定解除プログラム131、ボリューム再配置プログラム133、ボリューム拡張プログラム135及びボリューム移行プログラム137がある。これらのデータ及びコンピュータプログラムについては、後に詳述する。
各ストレージシステム151には、図示しないストレージ制御部と、一又は複数の論理ボリューム153とが備えられる。ボリュームカスケードが、一台のストレージシステム151に、或いは、複数台のストレージシステム151に跨って、存在する。具体的には、例えば、オリジナルボリューム153Aと、一つのレプリケーションボリューム153Bとにより構成されたボリュームカスケードが、ストレージシステム151Aに存在する。また、例えば、オリジナルボリューム153Cと、複数のレプリケーションボリューム153D、153E、153F及び153Gとにより構成された別のボリュームカスケードが、複数のストレージシステム153A〜153Cに跨って存在する。
ボリュームカスケードでは、2つの論理ボリュームから成るボリュームペアが、一又は複数個連なることで構成される。ボリュームペアのうち、一方が、プライマリ(コピー元)の論理ボリューム("P"と図示)であり、他方が、セカンダリ(コピー先)の論理ボリューム("S"と図示)であり、プライマリの論理ボリューム(以下、PVOL)からセカンダリの論理ボリューム(以下、SVOL)にデータがコピーされる。ボリュームペアが連なる場合には、連なる一方のボリュームペアのSVOLと、連なる他方のボリュームペアのPVOLとが、共通の論理ボリューム("S/P"と図示)となる。前述した各ボリュームカスケードでは、それぞれ、図示の矢印の流れで、コピーが行われる。なお、ボリュームカスケードにおけるコピーでは、PVOLからデータが読み出されてSVOLにコピーされても良いし、PVOLに書かれるデータをストレージ制御部内のメモリで保持し、そのメモリからSVOLにデータがコピーされても良い。
図2は、ストレージシステム151の構成例を示す。
ストレージシステム151には、ストレージ制御部169と、複数の論理ボリューム153と、ストレージ部161とを備える。
ストレージ制御部169は、例えば、CPUやメモリなどを備えた回路基盤である。ストレージ制御部169は、業務サーバ101との通信や、他のストレージシステム151との通信を制御することができる。
ストレージ部161は、複数のストレージデバイス163を備える。複数のストレージデバイス163には、同種のデバイスのみであっても良いし異種のデバイスが混在してもよい。ストレージデバイス163としては、例えば、ハードディスクデバイス、メモリデバイス(例えばフラッシュメモリ)、光ディスクデバイス、光磁気ディスクデバイス、磁気テープデバイス等のデータを読み書き可能な種々のデバイスを利用可能である。
ストレージ部161では、複数のRAIDグループ(パリティグループ或いはアレイグループと呼ばれることもある)167を構成することができる。各ストレージグループ167は、二以上のストレージデバイス163で構成される。そして、それら二以上のストレージデバイス163により提供される物理的な記憶資源を論理的に分けることにより、論理領域165を複数個設定することができる。ここで言う「論理領域」とは、物理的な記憶資源の一領域のことである。一又は複数の論理領域165が、一つの論理ボリューム153に割り当てられる。
図3は、論理領域管理テーブル139の構成例を示す。
論理領域管理テーブル139は、論理領域を管理するためのテーブルである。このテーブル139は、例えば、ストレージ情報収集プログラム119が、各ストレージシステム151A〜151Cが保持している記憶領域管理情報(図示せず)を収集することにより、作成することができる。このテーブル139は、ストレージシステム別に作成することができる。このテーブル139には、各論理領域毎に、「論理領域-ID」(論理領域のID)、「RG−ID」(その論理領域が存在するRAIDグループのID)、「容量」(その論理領域の記憶容量)、及び「割当てフラグ」が記録される。「割当てフラグ」は、その割当てフラグに対応する論理領域が割当て済みの場合には、例えば"1"となり、未割り当ての場合には、例えば"0"となる。
図4は、ボリューム管理テーブル141の構成例を示す。
ボリューム管理テーブル141は、論理ボリュームを管理するためのテーブルである。このテーブル141は、例えば、ストレージシステム151別に用意することができる。このテーブル141には、論理ボリュームと論理領域との対応関係が記録される。具体的には、例えば、各論理ボリューム毎に、「LU−ID」(論理ボリュームのID、具体的には例えばLUN(論理ユニット番号))と、「論理領域-ID」(その論理ボリュームに割り当てられた一又は複数の論理領域のID)と、「ストレージシステムID」(その論理ボリュームが存在するストレージシステムのID)と、「拡張判定使用率」と、「最低増加容量」と、「拡張方式」と、「再配置方式」と、「レプリケーション自動解除設定」とがある。このテーブル141に登録される情報に対応した論理ボリュームは、オリジナルボリュームであり、レプリケーションボリュームに対応した情報は登録されない。「拡張判定使用率」とは、オリジナルボリュームの使用率を表し、容量拡張を実行するか否かの判断基準となる値である。「最低増加容量」とは、容量拡張を実行する場合に最低どれだけの容量を増加するかを表す値である。「拡張方式」とは、容量拡張の方式であり、例えば、非同時変更と同時変更の2種類がある(各方式については後述する)。「再配置方式」とは、ボリュームカスケードを構成する論理ボリュームの配置を更新する方式を表し、例えば、論理ボリュームの配置を更新した後に容量拡張を行う方式と、容量拡張を行った後に論理ボリュームの配置を更新する方式との2種類がある(各方式については後述する)。「レプリケーション自動解除設定」は、カスケードボリュームを構成するレプリケーションボリュームを解除することを自動で行うか否かの設定である。
論理ボリュームの設定は、管理サーバ111にて行うことができる。具体的には、例えば、管理者が、論理ボリュームを定義し、論理領域管理テーブル139から、その論理ボリュームに割当てるべき論理領域を選択する。その定義された論理ボリュームの情報(例えばLU−ID)と、その論理ボリュームに割り当てられる論理領域の情報(例えば論理領域ID)とのセットを、ストレージシステム151に送ることにより、ストレージシステム151で、論理ボリュームと論理領域との関係が定義される。また、拡張判定使用率、最低増加容量、拡張方式、再配置方式、及びレプリケーション自動解除設定は、管理者が入力することができる。入力しない場合、所定コード(例えば"N/A")が登録される。その所定コードが入力された論理ボリュームは、自動拡張の対象外となる。
図5は、レプリケーション定義テーブル145の構成例を示す。
レプリケーション定義テーブル145は、現時点のレプリケーションの定義(換言すれば、存在するボリュームカスケードの定義)を示す。レプリケーション定義テーブル145には、例えば、「ID」(テーブル145中の情報(行)を一意に示すID)と、「ストレージID」と、「LU-ID」(論理ボリュームのID)と、「ボリューム種類」(その論理ボリュームが"Primary"、"Primary/Secondary"、"Secondary"のいずれであるかを示す情報)と、「プライマリ先情報」(その論理ボリュームの直近且つ上流の論理ボリューム(プライマリ先)に関する情報(例えば、ストレージシステムID及びプライマリ先の論理ボリュームのID))と、「容量」(その論理ボリュームの現在の容量)とが記録される。プライマリ先情報が"なし"となっていれば、それに対応する論理ボリュームは、オリジナルボリュームであることを意味する。
図6は、拡張対象レプリケーションボリュームテーブル147の構成例を示す。
拡張対象レプリケーションボリュームテーブル147は、ボリュームカスケードを構成する各論理ボリュームの状態を示したものである。レプリケーション定義テーブル145に無い新たな情報項目としては、「階層レベル」と、「作業状態」とがある。「階層レベル」とは、該当ボリュームがPrimaryに到達するまでの論理ボリュームの数である。図1の例で言えば、例えば、レプリケーションボリューム153Eにとって、階層レベルは"2"となる。オリジナルボリューム153Cを0番目とした場合に、2番目となるレプリケーションボリュームだからである。「作業状態」は、拡張方式が同時変更の場合に参照される項目であり、容量拡張の進捗を表す。それの初期値として、未処理を意味する"未"が入力され、容量拡張中であれば、"実行中"となり、その容量拡張が済めば、"済"となる。
図7は、ボリューム拡張/再配置対応テーブル143の構成例を示す。
ボリューム拡張/再配置対応テーブル143は、容量拡張及び/又は再配置(以下、拡張/再配置)の対象となるレプリケーションボリュームの拡張/再配置実行前と後の対応を示す。具体的には、例えば、実行前及び実行後のそれぞれについて、ストレージシステムID、LU−ID及び論理領域IDが記録される。
以下、図8乃至図10を参照して、本実施形態で行われる処理の概要を説明する。
図8は、ボリューム容量拡張前のストレージシステム151Aに存在するボリュームカスケードの構成例を示す。
ストレージシステム151Aには、例えば、容量の上限が80G(ギガバイト)であるRAIDグループ1と、容量の上限が30GであるRAIDグループ2とが存在する。
そして、RAIDグループ1に、3つのボリュームカスケードが存在する。各ボリュームカスケードについて、上流側から順に、LU−ID/ボリューム種別/容量を用いて説明すると、第一のボリュームカスケードは、"0:01/Primary/10G"、"0:11/Secondary/10G"で構成される。第二のボリュームカスケードは、"0:01/Primary/10G"、"0:21/Secondary-Primary/10G"、"0:41/Secondary/20G"で構成される。第三のボリュームカスケードは、"0:01/Primary/10G"、"0:21/Secondary-Primary/10G"、"0:51/Secondary/10G"で構成される。
一方、RAIDグループ2には、論理ボリュームが存在していない。
この状況によれば、RAIDグループ1に存在する論理ボリュームの容量の合計は、60Gなので、80G−60G=20Gの余裕がある。
この状況において、図8に示すように、管理サーバ111が、0:01/Primary/10Gを20Gに拡張するとする。具体的には、例えば、管理サーバ111は、業務サーバ101から、0:01/Primary/10Gの監視結果としてそのオリジナルボリュームの使用率を受け、その使用率が、そのオリジナルボリュームの拡張判定使用率を超えたために、そのオリジナルボリュームに対応する最低増加容量分を拡張するとする(図4参照)。或いは、例えば、管理サーバ111が、0:01/Primary/10Gを20Gに拡張することの指示を管理者から受けたことに応答して、その拡張を行うとする。なお、拡張判定使用率は、例えば、管理者が、管理サーバ111に表示されたGUIを介して設定することができる。
図9は、図8において、0:01/Primary/10Gを20Gに拡張する処理の一例の概要を示す。
管理サーバ111は、レプリケーション定義テーブル145を参照し、0:01/Primary/10Gをオリジナルボリュームとした場合のレプリケーションボリュームを特定し、特定されたレプリケーションボリュームに関する情報を、拡張対象レプリケーションボリュームテーブル147に登録する。
そして、管理サーバ111は、0:01/Primary/10Gを20Gに拡張した場合、そのオリジナルボリュームよりも下流の論理ボリューム、つまりレプリケーションボリュームの容量を、20G以上となるようにする。容量拡張後のオリジナルボリュームに格納されるデータの全てを、レプリケーションボリュームにも格納できるようにするためである。図9の例によれば、管理サーバ111は、オリジナルボリュームに加えて、全てのレプリケーションボリュームを、20Gにすることを試みる。具体的には、管理サーバ111は、20G未満の3つのレプリケーションボリューム(LU−IDが、0:11、0:21及び0:51)の容量を、20Gにすることを試みる。
ここで、管理サーバ111は、RAIDグループ1内の全ての論理ボリュームの容量を20Gとすると、論理ボリュームの容量合計が100Gとなって、RAIDグループ1の容量上限が80Gを超えてしまうことを検出できる。この場合、管理サーバ111は、少なくとも一つの論理ボリュームを、20G分の論理ボリュームを備えることができる他のRAIDグループ2に配置換え(再配置)する。これにより、オリジナルボリュームに関連するレプリケーションボリュームの容量を拡張しても、RAIDグループ1の容量上限を超えることなく、且つ、各ボリュームカスケードに存在するレプリケーションボリュームの数も減らさずに済む。
なお、再配置対象の論理ボリュームは、レプリケーションボリュームであってもオリジナルボリュームであっても良い。レプリケーションボリュームの場合、階層レベルが最も高い(つまり、オリジナルボリュームから最も離れている)レプリケーションボリュームが、再配置対象とされるのが好ましいと考えられる。再配置する論理ボリュームの数は、幾つでも良いが、なるべく少ない方が好ましいと考えられる。再配置先は、なるべく、オリジナルボリュームが存在するストレージシステム内とし、そのストレージシステムに、再配置できるほどの空きの容量が無い場合に、別のストレージシステムとしても良い。また、再配置対象がオリジナルボリュームの場合、管理サーバ111が、業務サーバ101と、再配置後のオリジナルボリュームとの間にパスを形成することができる(換言すれば、業務サーバ101と再配置後のオリジナルボリュームとを接続することができる)。
また、容量拡張の処理として、例えば、管理サーバ111が、論理領域管理テーブル139の割当てフラグを参照することにより、所望のRAIDグループに存在する未割り当ての論理領域の中から、拡張する容量分の論理領域を特定し、特定した論理領域を、拡張/再配置対象の論理ボリュームに割り当てる処理を実行することができる。特定される論理領域は、一つでも複数でも良く、トータルの容量が、拡張する容量分となればよい。
また、管理サーバ111は、オリジナルボリュームに、レプリケーション自動解除設定として"可"が設定されている場合(図4参照)には、図8の拡張/再配置処理を行うことに代えて又は加えて、後述する図10に例示のレプリケーション解除処理を行っても良い。具体的には、例えば、管理サーバ111は、可能な限りの再配置を試み、拡張された論理ボリュームを配置できるほどの空き容量がどこにも存在しない場合に、レプリケーション解除処理を行っても良い。また、その際、管理サーバ111は、管理者に問い合わせるGUIを出力し、その結果、レプリケーションを解除することの回答をGUIを介して受けた場合に、レプリケーション解除処理を行っても良いし、管理者に問い合わせすることなくレプリケーション解除処理を行っても良い。具体的には、例えば、管理サーバ111は、レプリケーション自動解除設定として"不可"が設定されている場合には、レプリケーション解除するか否かを管理者に問合せ、"可"が設定されている場合には、その問合せを行うことなくレプリケーション解除処理を行うことができる。後者の場合、管理サーバ111は、解除したレプリケーションボリューム(及び/又はボリュームカスケード)を表示(例えば一覧表示)することができる。
図10は、レプリケーション解除処理の概要を示す。
例えば、図8に示した状況で、管理サーバ111が、0:01/Primary/10Gを20Gに拡張するとする。その際、そのオリジナルボリュームに、レプリケーション自動解除設定として"可"が設定されているとする。
前述したように、RAIDグループ1において、オリジナルボリュームに加えて、全てのレプリケーションボリュームを20Gにすると、論理ボリュームの容量の合計が100Gとなって、RAIDグループ1の容量上限80Gを超えてしまう。
この場合、管理サーバ111は、オリジナルボリュームに、レプリケーション自動解除設定として"可"が設定されているので、少なくとも一つのレプリケーションボリュームを解除するレプリケーション解除処理を行うことで、少なくとも一つのレプリケーションボリュームの容量を拡張しても、RAIDグループ1の容量上限を超えないようにすることができる。管理サーバ111は、レプリケーション解除処理として、例えば、ボリュームカスケードから、少なくとも一つのレプリケーションボリュームの関連付けを無くし、その関連付けを無くしたレプリケーションボリュームの容量を拡張しない。または、例えば、管理サーバ111は、レプリケーション定義テーブル145から、ボリュームカスケードに属するレプリケーションボリュームの情報を削除する。
なお、この図10では、前述した第二及び第三のボリュームカスケードに属するレプリケーションボリュームが解除されているが、第一のボリュームカスケードが解除されても良い。また、ボリュームカスケードに属する全てのレプリケーションボリュームが解除されても良いし、階層レベルの高いレプリケーションボリュームが優先的に解除されても良い。また、他のストレージシステムに跨るボリュームカスケードに属するレプリケーションボリュームと、一つのストレージシステム内のボリュームカスケードに属するレプリケーションボリュームとのうちのいずれかを解除する必要がある場合には、図13Bに例示するように、他のストレージシステムに跨るボリュームカスケードに属するレプリケーションボリュームが、優先的に残されても良い。これにより、なるべくディザスタリカバリに対応することができるようにすることができる。また、一つのストレージシステム内の複数のボリュームカスケードのうち、長いボリュームカスケードに属するレプリケーションボリュームが、短いボリュームカスケードに属するレプリケーションボリュームよりも、優先的に残されても良い。逆に、一つのストレージシステム内の複数のボリュームカスケードのうち、短いボリュームカスケードに属するレプリケーションボリュームが、長いボリュームカスケードに属するレプリケーションボリュームよりも、優先的に残されても良い。
さて、容量の拡張方式として、本実施形態では、前述したように、非同時変更方式と同時変更方式との2種類がある。以下、各種拡張方式について説明する。
図11Aは、非同時変更方式での容量拡張の説明図である。図11Bは、図11Aでの容量拡張の際の拡張対象レプリケーションボリュームテーブルを示す。
非同時変更方式は、拡張対象のレプリケーションボリュームを一つずつ拡張する方式である。非同時変更方式は、ボリューム管理テーブル141(図4参照)で指定されている場合に実行されるが、非同時変更方式と同時変更方式のどちらを採用するかは、所定のコンピュータプログラム、例えば、レプリケーション管理プログラム123によって選択されても良い。具体的には、例えば、レプリケーション管理プログラム123は、(A)拡張対象レプリケーションボリュームテーブル147の行数(換言すれば、拡張対象のレプリケーションボリュームの数)が少ない(例えば第一の閾値未満である)、(B)ストレージシステムの数が少ない(例えば第二の閾値未満である)、(C)ストレージシステムにあまり負荷をかけたくない(例えば所定の負荷に抑えたい)、の(A)乃至(C)のうちの少なくとも一つの場合に、非同時変更方式を選択することができる。
図11Aに示す吹出し内の数字は、拡張の順番の一例を示す。その順番から分かるように、レプリケーションボリュームが一つずつ容量拡張される。その際、図示の例によれば、オリジナルボリュームから最も遠いレプリケーションボリュームから順に(換言すれば、階層レベルが最も高いレプリケーションボリュームから順に)、容量拡張が行われる。このような順番での容量拡張は、例えば、本実施形態に係る計算機システムが稼動中の場合に採用される。なぜなら、前述したように、ボリュームカスケードにおける各ボリュームペアでは、SVOLの容量をPVOLの容量以上とする必要があり、遠いレプリケーションボリュームから順に拡張しないと、RAIDグループ(或いはストレージシステム)が有する空きの論理領域の容量によっては、SVOL容量≧PVOL容量の関係を遵守することができない事態が生じ得るからである。図11Aを例に採ってより具体的に言えば、V5よりも先にV2を拡張すると、RAIDグループ(或いはストレージシステム)が有する空きの論理領域の容量によっては、V2≦V5とすることができない事態が生じ得るためである。
図12Aは、同時変更方式での容量拡張の説明図である。図12Bは、図12Aでの容量拡張の際の拡張対象レプリケーションボリュームテーブルを示す。
同時変更方式は、同じ属性を有する二以上のレプリケーションボリュームを同時に拡張する方式である。図示の例によれば、その属性とは、ボリューム種別である。同時変更方式は、ボリューム管理テーブル141(図4参照)で指定されている場合に実行されるが、非同時変更方式と同時変更方式のどちらを採用するかは、所定のコンピュータプログラム、例えば、レプリケーション管理プログラム123によって選択されても良い。具体的には、例えば、レプリケーション管理プログラム123は、(a)拡張対象レプリケーションボリュームテーブル147の行数(換言すれば、拡張対象のレプリケーションボリュームの数)が多い(例えば第一の閾値以上である)、(b)ストレージシステムの数が多い(例えば第二の閾値以上である)、(c)少なくとも非同時変更方式の場合よりも短い時間で拡張/再配置を終了させたい、の(a)乃至(c)のうちの少なくとも一つの場合に、同時変更方式を選択することができる。
図12Aに示す吹出し内の数字は、拡張の順番の一例を示す。その順番から分かるように、ボリューム種別が同じ二以上のレプリケーションボリューム(例えば、V3、V4及びV5)が同時期に容量拡張される。その際、容量拡張が開始されると、作業状態が、"未"から"実行中"に変更され、その容量拡張が終ると、作業状態が、"実行中"から"済"に変更される。また、図示の例によれば、オリジナルボリュームから最も遠いレプリケーションボリュームから順に(換言すれば、階層レベルが最も高いレプリケーションボリュームから順に)、容量拡張が行われる。具体的には、"Secondary"、"Secondary/Primary"、"Primary"の順で容量が拡張される。このような順番での容量拡張は、例えば、本実施形態に係る計算機システムが稼動中の場合に採用される。その理由は、非同時変更方式で説明した理由と同様である。
なお、同時変更方式では、必ずしも、ボリューム種別の単位で容量が拡張されなくても良い。例えば、オリジナルボリュームからの距離が同じ(換言すれば、階層レベルが同じ)レプリケーションボリュームの単位で、同時変更方式に従う容量拡張が行われても良い。
以上が、非同時変更方式及び同時変更方式についての説明である。なお、いずれの方式に従う容量拡張も、コンピュータプログラムによって実行することができる。また、非同時変更方式及び同時変更方式の少なくとも一つにおいて、計算機システムが稼動中ではなく停止中の場合には、必ずしも、上記のように、遠いレプリケーションボリュームから拡張しなくても良く、任意の順序でレプリケーションボリュームの容量が拡張されても良い。例えば、オリジナルボリュームから順に容量拡張されても良い(図13Aは、同時変更方式の場合にその方法で容量拡張することの一例の説明図である)。この順番での容量拡張は、オリジナルボリュームに近いボリュームほど重要であると考えられる場合に特に有効である。この方法で容量拡張していった場合に、階層レベルが低い(つまり下流側)のレプリケーションボリュームの容量を、SVOL容量≧PVOL容量の関係を満たすように拡張できなくなった場合には、そのレプリケーションボリュームを解除することができる。
さて、以下、本実施形態に従う計算機システムで行われる処理の流れを説明する。
図14は、非同時変更方式に従う容量拡張が行われる場合の処理流れの一例を示す。
管理サーバ111では、前もってストレージ情報収集プログラム119が実行され、ストレージシステムで管理されている情報が収集され、それにより、論理領域管理テーブル139及びボリューム管理テーブル141が、それぞれ、ストレージシステム別に作成され、メモリ115に格納される。
業務サーバ101では、ボリューム使用率監視プログラム105が実行される。ボリューム使用率監視プログラム105は、ストレージシステム151A内の各ボリューム(業務アプリケーション103が使用する各ボリューム)の使用率を収集し、収集した各使用率を、管理サーバ111に通知する(ステップS1)。
管理サーバ111では、自動拡張プログラム120が常時実行されている。自動拡張プログラム120は、業務サーバ101から各使用率(各ボリュームの使用率)を受信し、ボリューム管理テーブル141を参照し、各使用率と各拡張判定使用率とを比較し、拡張判定使用率を越えている使用率となっているボリュームを特定する。自動拡張プログラム120は、そのボリュームに対し、領域拡張プログラム121を実行し、入力値として拡張対象ボリュームのLU−IDと、拡張後ボリューム容量を入力する(S2)。拡張ボリューム容量は、例えば、最低増加容量それ自体、或いは、ボリュームの現在の容量に、最低増加容量を加えた量である。領域拡張プログラム121は、管理者が手動で実行させてもよい。その場合、拡張後ボリューム容量は、管理者が入力することができる。
領域拡張プログラム121は、レプリケーション定義テーブル145を参照し、入力されたLU−IDに対応するボリュームが、ボリュームカスケードのPrimary(つまりオリジナルボリューム)になっているか否かを判別する。Primaryになっている場合、領域拡張プログラム121は、レプリケーション管理プログラム123を呼び出し(S3)、そうでない場合は、ボリューム拡張プログラム135を呼び出す。後者の場合は、拡張対象ボリュームには、レプリケーションボリュームが存在しない場合なので、単一のボリュームの容量拡張が行われる。
レプリケーション管理プログラム123は、第一のテーブル作成プログラム125Aを呼び出し(S4)、拡張対象レプリケーションボリュームテーブル147を作成させる。完了を受けた場合(S5)、レプリケーション管理プログラム123は、第二のテーブル作成プログラム125Bを呼び出し(S6)、ボリューム拡張/再配置対応テーブル143を作成させる。レプリケーション管理プログラム123は、拡張対象レプリケーションボリュームテーブル147に登録されている情報を基に、実行後(拡張/再配置後)のボリューム情報を、実行前のボリューム情報に対応付けて、ボリューム拡張/再配置対応テーブル143に対して入力する。完了を受けた場合(S7)、レプリケーション管理プログラム123は、非同時変更プログラム129を呼び出し(S8)、拡張対象レプリケーションボリュームテーブル147に登録されている情報を基に、非同時変更方式に従う容量拡張を、1ボリュームずつ実行させる。
非同時変更プログラム129は、1ボリュームずつ領域拡張を実行する。図14は、オリジナルボリュームに近いボリュームから順に容量拡張する場合の例を示す。非同時変更プログラム129は、オリジナルボリュームを有するストレージシステム151Aに、領域拡張指示(例えば、LU−IDと、それに新たに割り当てる論理領域IDとを含んだ指示)を発行する(S9)。ストレージシステム151Aのストレージ制御部169Aは、その領域拡張指示に従って、オリジナルボリュームに論理領域を追加することで、容量拡張を行い、それが済んだ場合に、完了を、非同時変更プログラム129に報告する(S10)。その後、同様の流れで、1ボリュームずつ、レプリケーションボリュームの容量拡張が行われる(S11、S12)。
なお、非同時変更プログラム129は、必要に応じて(例えば、図9を参照して説明した事態が生じることを検出した場合に)、ボリューム再配置プログラム133を呼び出し(S13)、ボリュームの再配置を実行させる。ボリューム再配置プログラム133は、再配置指示(例えば、実行前のLU−IDと、実行後のLU−IDと、実行後のLU−IDに割り当てる論理領域IDとを含んだ指示)を、ストレージ制御部169Aに発行する(S14)。もし、論理ボリュームを、ストレージシステム151Aから151Bに再配置する場合には、例えば、ボリューム再配置プログラム133は、ストレージ制御部169Aに、再配置対象のボリュームのLU−IDを指示することでそのボリュームを解除させ、ストレージ制御部169Bに、実行後のボリュームのLU−IDを構築させそれに所望の論理領域IDを割当てさせてもよい。ボリューム再配置プログラム133は、完了を受けた場合(S15)、完了を、非同時変更プログラム129に報告する(S16)。非同時変更プログラム129は、完了を、レプリケーション管理プログラム123に報告する(S17)。レプリケーション管理プログラム123は、完了を、領域拡張プログラム121に報告する(S18)。領域拡張プログラム121は、完了を、自動拡張プログラムに報告する(S19)。
図15は、同時変更方式に従う容量拡張が行われる場合の処理流れの一例を示す。
S21〜S27までの流れは、前述したS1〜S7と同様である。
レプリケーション管理プログラム123は、完了を受けた場合、同時変更プログラム127を呼び出し(S28)、拡張対象レプリケーションボリュームテーブル147に登録されている情報を基に、同時変更方式に従う容量拡張を実行させる。
同時変更プログラム127は、同じ属性のボリュームを同時に容量拡張する。図15は、オリジナルボリュームに近いボリュームから順に容量拡張する場合の例を示す。同時変更プログラム127は、オリジナルボリュームを有するストレージシステム151Aに、領域拡張指示(例えば、LU−IDと、それに新たに割り当てる論理領域IDとを含んだ指示)を発行する(S29A)。ストレージシステム151Aのストレージ制御部169Aは、その領域拡張指示に従って、オリジナルボリュームに論理領域を追加することで、容量拡張を行い、それが済んだ場合に、完了を、非同時変更プログラム129に報告する(S29A)。
その後、同時変更プログラム127は、そのオリジナルボリュームが属するボリュームカスケードに存在する複数の"Secondary/Primary"のレプリケーションボリュームが全てストレージシステム151Bに存在する場合には、ストレージ制御部169Bに、それらのレプリケーションボリュームを指定した領域拡張指示を発行する(S29B)。同時変更プログラム127は、領域拡張指示を発行したとき、又は、その領域拡張指示に対する所定の応答を受けた場合に、その指定したレプリケーションボリュームについて、拡張対象レプリケーションボリュームテーブル147の作業状態を、"実行中"に更新することができる。ストレージ制御部169Bは、その領域拡張指示に従って、指定された複数のレプリケーションボリュームを同時期に容量拡張し、容量拡張が済んだレプリケーションについて完了を返す(S30B)。同時変更プログラム127は、完了が報告されたレプリケーションボリュームについて、拡張対象レプリケーションボリュームテーブル147の作業状態を、"済"に更新することができる。
また、同時変更プログラム127は、必要に応じて(例えば、図9を参照して説明した事態が生じることを検出した場合に)、ボリューム再配置プログラム133を呼び出し(S31)、ボリュームの再配置を実行させる。
その後、例えば、前述したS14〜S19と同様の処理が行われる(S37〜S37)。
図16は、レプリケーション解除が行われる場合の処理流れの一例を示す。
S41〜S46までの流れは、前述したS1〜S6と同様である。
第二のテーブル作成プログラム125Bは、空き論理領域の不足により、拡張対象レプリケーションボリュームテーブル147に登録されたボリュームのうちの少なくとも一つのボリュームの拡張/再配置が不可の場合、戻り値"1"を、レプリケーション管理プログラム123に報告する(S47)。
レプリケーション管理プログラム123は、第二のテーブル作成プログラム125Bからの戻り値が"0"以外だった場合、レプリケーション自動解除設定が"可"か否かを確認し、"不可"の場合は、終了する。"可"の場合、レプリケーション管理プログラム123は、拡張対象レプリケーションボリュームテーブル147と、ボリューム拡張/再配置対応テーブル143との差分一覧を取得し、その差分一覧に相当するボリューム群に対し、レプリケーション設定解除プログラム131を実行する(S48)。レプリケーション設定解除プログラム131は、そのボリューム群の各ボリュームをレプリケーションボリュームとする設定(つまり、Secondary或いはSecondary/Primaryとする設定)を解除する命令を、解除対象のボリュームを有するストレージシステム(例えば151A)に発行する(S49)。ストレージ制御部169Aは、その命令に従って、指定されたレプリケーションボリュームを解除する。具体的には、例えば、ストレージ制御部169Aは、ストレージ制御部169Aのメモリで管理されている図示しないストレージ管理テーブル(例えば、各ボリューム毎にボリューム種別が書かれたテーブル)から、指定されたボリュームについて、Secondary或いはSecondary/Primaryのボリューム種別を削除する。レプリケーションボリュームの解除が済んだ場合、ストレージ制御部169Aは、完了を、レプリケーション設定解除プログラム131に報告する(S50)。
その後、例えば、図示のように、非同時変更プログラム129が呼び出されるか(S51)、或いは、図示しないが、同時変更プログラム127が呼び出される。つまり、非同時変更方式或いは同時変更方式に従う容量拡張が行われる。
以上が、本実施形態に従う計算機システムで行われる種々の処理流れの概要である。
以下、管理サーバ111で実行されるコンピュータプログラムが行う処理について説明する。
図17は、ユーザ設定プログラム117が行う処理の流れの一例を示す。
ユーザ設定プログラム117は、管理者から、管理サーバ111に登録済みの論理ボリュームに対して、「拡張判定使用率」、「最低増加容量」、「拡張方式」、「再配置方式」及び「レプリケーション自動解除設定」の入力を受けた場合には(S101でYES)、ボリューム管理テーブル141における、その論理ボリュームのLU−IDに対応する欄に、入力された情報を登録する(S102)。
図18は、ストレージ情報収集プログラム119が行う処理の流れの一例を示す。
例えば、管理サーバ111のメモリ115に、管理サーバ111の管理対象のストレージシステムのIDが登録されているとする。ストレージ情報収集プログラム119は、そのストレージシステムIDから識別されるストレージシステムから、そのストレージシステムで管理されている情報を収集する(S111)。その情報としては、例えば、
・各論理領域について、論理領域ID、容量、属するRAIDグループのID、
・各論理ボリュームについて、割り当てられている論理領域ID、ボリューム種別、プライマリ先情報(自分に対するプライマリの論理ボリュームのLU−ID及びストレージシステムID)、
などがある。ストレージ情報収集プログラム119は、収集された情報を基に、ボリューム管理テーブル141及びレプリケーション定義テーブル145を作成及び/又は更新する(S112)。
図19は、自動拡張プログラム120が行う処理の流れの一例を示す。
自動拡張プログラム120は、ボリューム使用率監視プログラム105から、各ボリュームのLU−ID及び使用率を入手する(S121)。そして、自動拡張プログラム120は、その使用率が、入手されたLU−IDに対応する拡張判定使用率よりも高い場合には(S122でYES)、領域拡張プログラム123を実行する(S123)。その際、自動拡張プログラム120は、拡張対象LU−ID(入手されたLU−ID)と、拡張後ボリューム容量を入力する。
図20は、領域拡張プログラム121が行う処理の流れの一例を示す。
領域拡張プログラム121は、入力された拡張対象LU−IDを用いてレプリケーション定義テーブル145を参照し、その拡張対象LU−IDに対応したボリューム種別が"Primary"であるか否か(つまり、拡張対象LU−IDに対応したボリュームがオリジナルボリュームであるか否か)を判断する(S131)。
S131の結果、"Primary"ならば、領域拡張プログラム121は、レプリケーション管理プログラム131を実行する(S132)。その際、領域拡張プログラム121は、拡張対象LU−ID及び拡張対象ボリューム容量を入力することができる。
一方、S131の結果、"Primary"でなければ、領域拡張プログラム121は、ボリューム拡張プログラム135を実行する(S133)。その際、領域拡張プログラム121は、一以上の未割り当ての論理領域IDを論理領域管理テーブル139から選択し、拡張対象LU−IDと、選択した一以上の論理領域ID(以下、「追加対象論理領域ID」と言う)とを入力することができる。一以上の追加対象論理領域IDにそれぞれ対応する一以上の論理領域の容量の合計は、上記入力された拡張後ボリューム容量に基づいて決定される。
図21は、レプリケーション管理プログラム123が行う処理の流れの一例を示す。
レプリケーション管理プログラム123は、入力された拡張対象LU−IDに対応するボリューム(オリジナルボリューム)について、拡張対象レプリケーションボリュームテーブルを準備する(S141)。ここで作成された拡張対象レプリケーションボリュームテーブルでは、例えば、全ての値がブランクとなっている。
次に、レプリケーション管理プログラム123は、オリジナルボリュームに関する情報を、準備された拡張対象レプリケーションボリュームテーブル147に登録する。ここで、登録される情報としては、例えば、拡張対象LU−IDを用いてレプリケーション定義テーブル145から取得できる情報に加えて、IDとして"1"、階層レベルとして"0"、作業状態として"未"がある。
次に、レプリケーション管理プログラム123は、第一及び第二のテーブル作成プログラム125A及び125Bを実行する(S143)。また、その際、上記入力された拡張後ボリューム容量を入力する。
その結果、第二のテーブル作成プログラム125Bからの戻り値が"0"の場合、レプリケーション管理プログラム123は、非同時変更と同時変更のどちらを行うかを判断する(S150)。レプリケーション管理プログラム123は、例えば、拡張対象LU−IDに対応付けられた「拡張方式」が"非同時変更"なら(S150でNO)、非同時変更プログラム129を実行し(S152)、一方、"同時変更"なら(S150でYES)、同時変更プログラム127を実行しても良い(S151)。或いは、例えば、レプリケーション管理プログラム123は、(A)拡張対象レプリケーションボリュームテーブル147の行数(換言すれば、拡張対象のレプリケーションボリュームの数)が少ない(例えば第一の閾値未満である)、(B)ストレージシステムの数が少ない(例えば第二の閾値未満である)、(C)ストレージシステムにあまり負荷をかけたくない(例えば所定の負荷に抑えたい)、の(A)乃至(C)のうちの少なくとも一つの場合に、非同時変更プログラム129を実行しても良い。また、例えば、レプリケーション管理プログラム123は、(a)拡張対象レプリケーションボリュームテーブル147の行数(換言すれば、拡張対象のレプリケーションボリュームの数)が多い(例えば第一の閾値以上である)、(b)ストレージシステムの数が多い(例えば第二の閾値以上である)、(c)少なくとも非同時変更方式の場合よりも短い時間で拡張/再配置を終了させたい、の(a)乃至(c)のうちの少なくとも一つの場合に、同時変更プログラム127を実行しても良い。
S151或いはS152の後、レプリケーション管理プログラム123は、ボリューム拡張/再配置対応テーブル143を削除し(S154)、さらに、拡張対象レプリケーションボリュームテーブル147を削除する(S155)。
さて、S143において、戻り値が"0"でない場合(S143でNO)、レプリケーション管理プログラム123は、拡張対象LU−IDに対応した「レプリケーション自動解除設定」が"可"となっていなければ(S144でNO)、拡張中断したことを管理者に通知する(S153)。具体的には、例えば、レプリケーション管理プログラム123は、論理領域の不足(記憶資源の不足)のために拡張中断したことのGUIを表示する。その後、S154及びS155が行われる。
一方、S144において、拡張対象LU−IDに対応した「レプリケーション自動解除設定」が"可"となっていれば(S144でYES)、レプリケーション管理プログラム123は、ボリューム拡張/再配置対応テーブル143に存在せず、拡張対象レプリケーションボリュームテーブル147にあるボリュームデータ群(BDG1)(つまり差分)を取得する(S145)。その際、レプリケーション管理プログラム123は、値mとして、そのボリュームデータ群(P)に存在するボリュームデータの数をセットする。
レプリケーション管理プログラム123は、ボリュームデータ群(BDG1)を構成する一以上のボリュームデータから、一つのボリュームデータ(例えば、拡張対処レプリケーション147の一レコードに登録される種々の情報が含まれているデータ)を取得し(S146)、そのボリュームデータについて、レプリケーション設定解除プログラム131を実行し、値mから1を引く(S147)。
レプリケーション管理プログラム123は、m=0になるまで、S146及びS147を繰り返す(S148でNO)。
その結果、レプリケーション管理プログラム123は、m=0になったならば(S148でYES)、ボリュームデータ群(BDG1)を一覧表示する(S149)。表示される情報は、ボリュームデータ群(BDG1)の全てに限らず、レプリケーション解除されたレプリケーションボリュームに関する情報であれば、何でも良い。また、例えば、レプリケーション管理プログラム123は、その表示方法に代えて、図10に示した内容をGUIで表示しても良い。これにより、管理者にとって、レプリケーション解除されたレプリケーションボリュームやボリュームカスケードの構成を把握しやすくなると考えられる。
S149の後、前述したS150が行われる。
図22は、第一のテーブル作成プログラム125Aが行う処理の流れの一例を示す。
第一のテーブル作成プログラム125Aは、図21のS141で登録された拡張対象LU−IDのボリュームをオリジナルボリュームとしたレプリケーションボリュームが存在するか否かを、レプリケーション定義テーブル145のプライマリ先情報を参照することにより判断する(S161)。
第一のテーブル作成プログラム125Aは、S161の判断の結果、レプリケーションボリュームが存在する場合には(S161でYES)、存在するレプリケーションボリュームに関するデータ(以下、レプリケーションボリュームデータ)を、拡張対象レプリケーションボリュームテーブル147に登録する(S162)。具体的には、例えば、第一のテーブル作成プログラム125Aは、階層レベルが低い(オリジナルボリュームに近い)レプリケーションボリュームのデータほど、オリジナルボリュームのデータが書かれたレコードに近いレコードに登録する。レプリケーションボリュームデータには、例えば、レプリケーション定義テーブル145から取得できる情報に加えて、IDと、「プライマリ先情報」のカラムから把握できる階層レベルと、作業状態="未"とが含まれている。
第一のテーブル作成プログラム125Aは、値nとして、登録したレプリケーションボリュームデータ群におけるレプリケーションボリュームデータの数をセットする(S163)。第一のテーブル作成プログラム125Aは、レプリケーションボリュームデータ群からレプリケーションボリュームデータを抽出し(S164)、ボリューム拡張/再配置対応テーブル143の作成のための第一のテーブル作成プログラム125Aを実行する(S165)。その際、上記入力された拡張後ボリューム容量を入力する。そして、第一のテーブル作成プログラム125Aは、値nから1を引く(S166)。
第一のテーブル作成プログラム125Aは、n=0になるまで、S164〜及びS166を繰り返し(S167でNO)、n=0になったならば(S167でYES)、終了する。
図23は、第二のテーブル作成プログラム125Bが行う処理の流れの一例を示す。
第二のテーブル作成プログラム125Bは、値kとして0をセットする(S170)。また、例えば、第二のテーブル作成プログラム125Bは、全てがブランクとなったボリューム拡張/再配置対応テーブル143を準備することができる。
次に、第二のテーブル作成プログラム125Bは、値kと同じ値の階層レベルのボリュームデータを拡張対象レプリケーションボリュームテーブル147から検索する(S171)。第二のテーブル作成プログラム125Bは、値Nとして、検索ヒットした数、すなわち、見つかったボリュームデータの数をセットする。
第二のテーブル作成プログラム125Bは、検索ヒットした一以上のボリュームデータの中から、g番目(gは1以上の整数)のボリュームデータを抽出する(S172)。
第二のテーブル作成プログラム125Bは、抽出したボリュームデータに対応するボリュームの容量拡張が可能か否かを判断する(S173)。例えば、第二のテーブル作成プログラム125Bは、そのボリュームが属するRAIDグループのIDと容量上限とが事前に収集されていてメモリ115に登録されている場合には、そのボリュームの容量を、上記入力された拡張後ボリューム容量にしても、その容量上限を超えないか否かを判断する。
S173の結果、容量拡張が可能と判断した場合(S173でYES)、第二のテーブル作成プログラム125Bは、ボリューム拡張/再配置対応テーブル143に、拡張前のボリュームデータと、拡張後のボリュームデータとを登録する(S174)。拡張後のボリュームデータの容量は、例えば、入力された拡張後ボリューム容量である。
その後、第二のテーブル作成プログラム125Bは、値gに1を加え(S179)、g=Nとならなければ(S180でNO)、N個のボリュームデータのうち未処理のボリュームデータが残っているので、再びS172を行い、g=Nとなれば(S180でYES)、未処理のボリュームデータが残っていないので、次の処理として、例えば、値kに1を加える処理を行う(S181)。
その結果、第二のテーブル作成プログラム125Bは、更新後の値kが、拡張対象レプリケーションボリュームテーブル147に登録されている階層レベルの最大値以下であれば(S182でYES)、再びS171を行う。一方、更新後の値kが、上記最大値を超えたならば(S182でNO)、全てのレプリケーションボリュームについて拡張/再配置が可能だったので、第二のテーブル作成プログラム125Bは、戻り値=0を、レプリケーション管理プログラム123に報告する(S183)。
さて、S173において、拡張不可能と判断した場合(S173でNO)、第二のテーブル作成プログラム125Bは、論理領域管理テーブル139を基に、再配置先を検索する(S175)。その際、例えば、第二のテーブル作成プログラム125Bは、レプリケーションボリュームが現在存在するストレージシステムに対応の論理領域管理テーブル139を基に、再配置先を検索し、見つからなかった場合には、別のストレージシステムの論理領域管理テーブル139を基に、再配置先を検索する。この場合、例えば、いずれかの論理領域管理テーブル139から、上記入力された拡張後ボリューム容量分の一以上の未割り当ての論理領域が見つかった場合には、再配置先がみつかったことになり(S176でYES)、そうでない場合には、再配置先が見つからなかったことになる(S176でNO)。
S176でNOの場合、第二のテーブル作成プログラム125Bは、戻り値=1を、レプリケーション管理プログラム123に報告する(S177)。
一方、S176でYESの場合、第二のテーブル作成プログラム125Bは、ボリューム拡張/再配置対応テーブル143に、再配置前のボリュームデータと、再配置後のボリュームデータとを登録する(S178)。再配置後のボリュームデータの容量は、例えば、入力された拡張後ボリューム容量であり、論理領域IDは、見つかった未割り当ての論理領域IDである。
このS178の後、前述したS179が行われる。
図24は、レプリケーション設定解除プログラム131が行う処理の流れの一例を示す。
レプリケーション設定解除プログラム131は、拡張/再配置不可のボリュームのボリュームデータ(図21のS146で取得されたボリュームデータ)に関する情報を、レプリケーション定義テーブル145及び拡張対象レプリケーションボリュームテーブル147のそれぞれから削除する(S191及びS192)。
図25は、非同時変更プログラム129が行う処理の流れの一例を示す。なお、この図25は、図11A及び図11Bを参照して説明した非同時変更方式を例に採った処理流れの一例を示す。
非同時変更プログラム129は、値kとして、ボリューム拡張/再配置対応テーブルの行数をセットする(S201)。
また、非同時変更プログラム129は、ボリューム拡張/再配置対応テーブルのID−jに対応する情報群(BDG2)を取得する(S202)。
非同時変更プログラム129は、情報群(BDG2)が、拡張であれば(S203でYES)、その情報群(BDG2)についてボリューム拡張プログラム135を実行し(S204)、その実行結果に応じて、論理領域テーブル139、ボリューム管理テーブル141及びレプリケーション定義テーブル145を更新する(S205)。
次に、非同時変更プログラム129は、値jから1を引き(S208)、j=0にならなければ(S209でNO)、再びS202を行い、j=0になれば(S209でYES)、終了する。
S202で取得された情報群(BDG2)が、再配置であれば(S203でNO及びS206でYES)、非同時変更プログラム129は、その情報群(BDG2)についてボリューム拡張プログラム135を実行する(S207)。
S207の後、S208が行われる。
図26は、同時変更プログラム127が行う処理の流れの一例を示す。なお、この図26は、図12A及び図12Bを参照して説明した同時変更方式を例に採った処理流れの一例を示す。
同時変更プログラム127は、拡張対象レプリケーションボリュームテーブル147から、ボリューム種別が"Secondary"のボリュームデータを全て取得し(S211)、各ボリュームデータについて、同時変更を実行する(S222)。その後、同時変更プログラム127は、ボリューム拡張/再配置対応テーブル143を削除することができる。
図27は、図26のS222で行われる処理の流れの一例を示す。
同時変更プログラム127は、ボリューム種別が"Secondary"の各ボリュームデータについて、作業状態が"未"であれば(S231でYES)、それを"作業中"に更新する(S232)。
同時変更プログラム127は、ボリューム種別が"Secondary"の各ボリュームデータ中のLU−IDを用いて、ボリューム拡張/再配置対応テーブル143を参照し、各LU−IDを有する各レコードに登録されている各情報毎に、拡張か再配置かを判断する。
拡張であれば(S233でYES)、同時変更プログラム127は、そのボリュームデータについてボリューム拡張プログラム234を実行し、その実行結果に応じて、論理領域管理テーブル139、ボリューム管理テーブル141及びレプリケーション定義テーブル145を更新する(S235)。
その後、同時変更プログラム127は、各ボリュームデータについての作業状態を"実行中"から"済"に更新する(S238)。
次に、同時変更プログラム127は、作業状態が"済"となった上記各ボリュームデータのプライマリ先情報を検索し(S239)、プライマリ先情報="なし"となっていなければ(S240でYES)、そのプライマリ先情報が表すボリュームのセカンダリボリュームのボリュームデータを、拡張対象レプリケーションボリュームテーブル147から取得する(S241)。これにより、S238で"済"となったSVOL以外の他のSVOLのボリュームデータが取得される。
S241で取得された全ボリュームデータの作業状態が"済"であれば(S242でYES)、同時変更プログラム127は、S241で取得されたボリュームデータについて、S232を行う。
図26及び図27に示したフローにより、図12A及び図12Bを参照して説明した同時変更方式に従う容量拡張が行われる。
図28は、ボリューム再配置プログラム133が行う処理の流れの一例を示す。
ボリューム再配置プログラム133は、対象ボリューム(ボリューム拡張/再配置対応テーブル143から取得された、レコード上の情報群が表すボリューム)のオリジナルボリュームについて、「再配置方式」が"拡張後再配置"となっていなければ(S251でNO)、ボリューム移行プログラム137を実行することにより再配置を行った後(S252)、ボリューム拡張プログラムを実行する(S253)。一方、その「再配置方式」が"拡張後再配置"となっていれば(S251YES)、ボリューム再配置プログラム133は、再配置先(RAIDグループ或いはストレージシステム)に、拡張後ボリューム容量分の新規ボリューム(一以上の論理領域)を確保し(S254)、再配置を行う(S255)。
S253或いはS255の後、ボリューム再配置プログラム133は、対象ボリュームのボリューム種別を解除し(S256)、新規ボリュームに、解除したボリューム種別を設定する(S257)。そして、ボリューム再配置プログラム133は、対象ボリュームに対応した情報をボリューム拡張/再配置対応テーブル143から削除し(S258)、論理領域管理テーブル139、ボリューム管理テーブル141及びレプリケーション定義テーブル145を更新する(S259)。
図29は、ボリューム拡張プログラム135が行う処理の流れの一例を示す。
ボリューム拡張プログラム135は、拡張対象LU−IDに、指定された論理領域ID(追加対象論理領域ID)を割り当て(S261)、論理領域管理テーブル139及びボリューム管理テーブル141を更新する(S262)。
図30は、ボリューム移行プログラム137が行う処理の流れの一例を示す。
ボリューム移行プログラム137は、再配置先(RAIDグループ或いはストレージシステム)に、拡張後ボリューム容量分の新規ボリューム(未割り当ての論理領域の集合)を作成する(S271)。
次に、ボリューム移行プログラム137は、対象ボリューム(再配置対象のボリューム)内のデータを新規ボリュームにコピーすることを、対象ボリュームと新規ボリュームがそれぞれ存在するストレージシステムに指示する(S272)。それにより、対象ボリューム内のデータが、新規ボリュームにコピーされる。
その後、ボリューム移行プログラム137は、対象ボリュームのボリューム種別を解除し(S273)、解除したボリューム種別を、新規ボリュームに関連付ける(S274)。
最後に、ボリューム移行プログラム137は、対象ボリューム内のデータを削除し、対象ボリュームに割り当てられていた論理領域の割り当てフラグを"0"に戻し、論理領域管理テーブル139、ボリューム管理テーブル141及びレプリケーション定義テーブル145を更新する(S275)。
以上、上述した実施形態によれば、オリジナルボリュームの容量が拡張される場合には、そのオリジナルボリュームのボリュームカスケードに属する全てのレプリケーションボリュームが、レプリケーション定義テーブル145から特定され、特定された全てのレプリケーションボリュームが自動的に拡張される。これにより、管理者の負担を軽減することができる。
また、上述した実施形態によれば、ボリュームの容量の拡張の際、ボリュームペアにおける下流のボリュームの容量が上流のボリュームの容量以上となる関係を維持した容量拡張が行われる。これにより、その関係が、ボリュームカスケード内の全ボリュームの容量拡張の際に破壊されることを防げるので、フラグメンテーションが生じるおそれを防ぐことができる。
また、上述した実施形態によれば、上記関係を維持した容量拡張を行うと、所定のエリア(例えばRAIDグループ或いはストレージシステム)の容量上限を超えてしまうような場合には、ボリュームカスケード内の少なくとも一つのボリュームが、他のエリアに再配置される。この結果、なるべく、ボリュームカスケードの長さを維持することができる。
また、上述した実施形態によれば、所定の場合、例えば、拡張/再配置ができないほどに記憶資源が足りなくなった場合には、それができるようになるようレプリケーションボリュームが解除される。これにより、冗長性は損なわれるものの、或る程度の冗長性を保障しつつ、ボリュームカスケードに属するボリュームの容量拡張を自動で行うことができる。
以上、本発明の実施形態を説明したが、この実施形態は本発明の説明のための例示にすぎず、本発明の範囲をその実施形態にのみ限定する趣旨ではない。本発明は、その要旨を逸脱することなく、その他の様々な態様でも実施することができる。
例えば、論理ボリューム153としては、種々のボリュームを採用することができる。具体的には、例えば、論理ボリューム153は、仮想的な論理ボリュームであって、その論理ボリュームに対するアクセスに応じて、動的に、論理領域が割り当てられるタイプの論理ボリュームであっても良い。例えば、その論理ボリュームとして、特開2003−15915号公報に開示の、容量拡張されるボリュームを採用することができる。なお、そのようなタイプの論理ボリュームが採用される場合には、仮想的な容量と、その論理ボリュームに割り当てられている一以上の論理領域の容量の合計(実容量)とが、種々のテーブルに登録されても良い。また、拡張される容量は、仮想的な容量とし、RAIDグループの容量上限との比較の対象は、仮想的な容量とすることができる。実容量は、例えば、仮想的な容量以下とされる。
また、例えば、ボリューム拡張/対応関係テーブル143の各行によれば、実行前の情報群(LU−IDなど)と実行後の情報群(LU−IDなど)とを比較することにより、拡張か再配置かを判断することができるが、それに代えて、拡張か再配置かを表すコードが、各行に、付加されても良い。
また、例えば、初めに容量拡張の対象とされるボリュームは、オリジナルボリュームに限らず、レプリケーションボリュームであっても良い。例えば、ボリュームカスケードにおけるいずれのボリュームに、容量拡張の指示をすることが可能であっても良い。
図1は、本発明の一実施形態に係る計算機システムの構成例を示した図である。 図2は、ストレージシステム151の構成例を示す。 図3は、論理領域管理テーブル139の構成例を示す。 図4は、ボリューム管理テーブル141の構成例を示す。 図5は、レプリケーション定義テーブル145の構成例を示す。 図6は、拡張対象レプリケーションボリュームテーブル147の構成例を示す。 図7は、ボリューム拡張/再配置対応テーブル143の構成例を示す。 図8は、ボリューム容量拡張前のストレージシステム151Aに存在するボリュームカスケードの構成例を示す。 図9は、図8において、0:01/Primary/10Gを20Gに拡張する処理の一例の概要を示す。 図10は、レプリケーション解除処理の概要を示す。 図11Aは、非同時変更方式での容量拡張の説明図である。図11Bは、図11Aでの容量拡張の際の拡張対象レプリケーションボリュームテーブルを示す。 図12Aは、同時変更方式での容量拡張の説明図である。図12Bは、図12Aでの容量拡張の際の拡張対象レプリケーションボリュームテーブルを示す。 図13Aは、同時変更方式の場合にオリジナルボリュームから順に容量拡張することの一例の説明図である。図13Bは、他のストレージシステムに跨るボリュームカスケードに属するレプリケーションボリュームを優先的に残し、一つのストレージシステム内のボリュームカスケードに属するレプリケーションボリュームを優先的に解除することの一例を示す。 図14は、非同時変更方式に従う容量拡張が行われる場合の処理流れの一例を示す。 図15は、同時変更方式に従う容量拡張が行われる場合の処理流れの一例を示す。 図16は、レプリケーション解除が行われる場合の処理流れの一例を示す。 図17は、ユーザ設定プログラム117が行う処理の流れの一例を示す。 図18は、ストレージ情報収集プログラム119が行う処理の流れの一例を示す。 図19は、自動拡張プログラム120が行う処理の流れの一例を示す。 図20は、領域拡張プログラム121が行う処理の流れの一例を示す。 図21は、レプリケーション管理プログラム123が行う処理の流れの一例を示す。 図22は、第一のテーブル作成プログラム125Aが行う処理の流れの一例を示す。 図23は、第二のテーブル作成プログラム125Bが行う処理の流れの一例を示す。 図24は、レプリケーション設定解除プログラム131が行う処理の流れの一例を示す。 図25は、非同時変更プログラム129が行う処理の流れの一例を示す。 図26は、同時変更プログラム127が行う処理の流れの一例を示す。 図27は、図26のS222で行われる処理の流れの一例を示す。 図28は、ボリューム再配置プログラム133が行う処理の流れの一例を示す。 図29は、ボリューム拡張プログラム135が行う処理の流れの一例を示す。 図30は、ボリューム移行プログラム137が行う処理の流れの一例を示す。
符号の説明
101…業務サーバ、105…ボリューム使用率監視プログラム、111…管理サーバ、120…自動拡張プログラム、121…領域拡張プログラム、123…レプリケーション管理プログラム、125A…第一のテーブル作成プログラム、125B…第二のテーブル作成プログラム、127…同時変更プログラム、129…非同時変更プログラム、131…レプリケーション設定解除プログラム、133…ボリューム再配置プログラム、135…ボリューム拡張プログラム、137…ボリューム移行プログラム、139…論理領域管理テーブル、141…ボリューム管理テーブル、143…ボリューム拡張/再配置対応テーブル、145…レプリケーション定義テーブル、147…拡張対象レプリケーションボリュームテーブル、151…ストレージシステム、153…論理ボリューム

Claims (19)

  1. 多数の論理ボリュームを備えたストレージシステム群を管理する計算機である管理計算機において、
    前記ストレージシステム群は、一以上のストレージシステムから構成され、
    前記多数の論理ボリュームには、ボリュームカスケードを構成する前記二以上の論理ボリュームが含まれており、該ボリュームカスケードは、最上流の論理ボリュームであるオリジナルボリュームと、それよりも下流の論理ボリュームであるレプリケーションボリュームとがカスケード状に関連付けられたボリューム群であり、
    前記ストレージシステム群は、一以上のボリュームカスケードと、オリジナルボリュームに格納するデータを、該オリジナルボリュームが属するボリュームカスケードに従って、下流のレプリケーションボリュームにコピーするコピー部と、容量拡張指示を受け、該容量拡張指示で指定されている論理ボリュームの容量を拡張する容量拡張部とを備え、
    前記管理計算機が、
    ボリュームカスケードの構成に関する情報であるボリュームカスケード構成情報を記憶するカスケード構成記憶部と、
    前記ストレージシステム群における複数のエリアの各々の容量上限を記憶する容量上限記憶部と、
    前記多数の論理ボリュームのうちのいずれかの論理ボリュームを拡張対象とする拡張対象ボリューム決定部と、
    前記拡張対象の論理ボリュームが属するボリュームカスケード中の他の論理ボリュームを前記ボリュームカスケード構成情報から特定するカスケード構成特定部と、
    前記拡張対象の論理ボリュームと前記特定された他の論理ボリュームとで構成される対象のボリュームカスケードを構成する二以上の対象ボリュームと該二以上の対象ボリュームの各々の拡張後の容量とを指定した容量拡張指示を前記ストレージシステム群に送信する容量拡張制御部と
    を備え、
    前記複数のエリアの各々には、前記多数の論理ボリュームのうちの少なくとも一つの論理ボリュームが属し、
    前記容量拡張制御部は、
    前記容量拡張指示において、下流の対象ボリュームについての拡張後の容量を、該下流の対象ボリュームの直近且つ上流の対象ボリュームについて指定する拡張後の容量以上とし、その際、前記二以上の対象ボリュームの各々の拡張後の容量と、前記複数のエリアのうちの前記各対象ボリュームがそれぞれ属する対象のエリアの容量上限とから、前記二以上の対象ボリュームを拡張すると少なくとも一つの対象のエリアの容量上限を超えてしまう場合には、前記複数のエリアの中から、容量上限を超えてしまう対象のエリアに属する対象ボリュームの拡張後の容量を加算しても容量上限を超えない他のエリアを探し、該対象ボリュームを、探し出された該他のエリアに再配置し、もし、再配置の対象がレプリケーションボリュームであって、前記他のエリアを探し出せない場合には、該レプリケーションボリュームを前記対象のボリュームカスケードから解除する、
    管理計算機。
  2. 前記ストレージシステム群は、複数のストレージシステムを含み、
    前記複数のエリアの各々は、ストレージシステムである、
    請求項記載の管理計算機。
  3. 前記ストレージシステム群には、複数のRAIDグループが設定されており、
    前記複数のRAIDグループの各々は、前記ストレージシステム群が備える複数の物理的な記憶装置のうちの二以上の物理的な記憶装置により構成され、
    各論理ボリュームは、各RAIDグループにより提供される物理的な記憶資源を基に用意された論理的な記憶装置であり、
    前記複数のエリアの各々は、RAIDグループである、
    請求項1記載の管理計算機。
  4. 前記容量拡張制御部は、前記対象のボリュームカスケードのうちの下流の対象ボリュームほど優先的に再配置の対象とする、
    請求項記載の管理計算機。
  5. 前記容量拡張制御部は、前記対象のボリュームカスケードについて、レプリケーションボリュームを自動解除しても良いことを意味する情報である自動解除許可が予め設定されている場合には、レプリケーションボリュームの解除を行い、該自動解除許可が予め設定されていない場合には、前記対象のボリュームカスケードを構成する各対象ボリュームの容量を拡張することを中止する、
    請求項記載の管理計算機。
  6. 前記容量拡張制御部は、前記対象のボリュームカスケードのうちの下流の対象ボリュームほど優先的に解除の対象とする、
    請求項記載の管理計算機。
  7. 前記対象のボリュームカスケードに属するオリジナルボリュームが、前記一以上のボリュームカスケードの他のボリュームカスケードのオリジナルボリュームでもあるが故に、対象のボリュームカスケードが二以上存在し、該二以上の対象ボリュームカスケードのうち、少なくとも一つの対象ボリュームカスケードのうちの少なくとも一つのレプリケーションボリュームが、前記ストレージシステム群において、前記オリジナルボリュームが存在するストレージシステムとは別のストレージシステムに存在する場合、
    前記容量拡張制御部は、前記二以上の対象ボリュームカスケードのうち、前記オリジナルボリュームが存在するストレージシステムとは別のストレージシステムにレプリケーションボリュームが存在しない対象ボリュームカスケードの少なくとも一つのレプリケーションボリュームを優先的に解除する、
    請求項記載の管理計算機。
  8. 前記容量拡張制御部は、対象のボリュームカスケードが二以上存在する場合に、該二以上のボリュームカスケードのうち、レプリケーションボリュームの数が最も多いボリュームカスケードに含まれる少なくとも一つのレプリケーションボリュームを優先的に解除する、
    請求項1記載の管理計算機。
  9. 前記容量拡張制御部は、対象のボリュームカスケードが二以上存在する場合に、該二以上のボリュームカスケードのうち、レプリケーションボリュームの数が最も少ないボリュームカスケードに含まれる少なくとも一つのレプリケーションボリュームを優先的に解除する、
    請求項1記載の管理計算機。
  10. 前記容量拡張制御部は、非同時型の容量拡張処理を行い、
    前記非同時型の容量拡張処理では、前記対象のボリュームカスケードを構成する二以上の対象ボリュームについて、一つの対象ボリュームの容量拡張指示を前記ストレージシステム群に送信し、前記ストレージシステム群から容量拡張の完了を受けた後に、別の対象ボリュームの容量拡張指示を送信する、
    請求項1記載の管理計算機。
  11. 前記容量拡張制御部は、同時型の容量拡張処理を行い、
    前記同時型の容量拡張処理では、前記対象のボリュームカスケードを構成する二以上の対象ボリュームのうちの所定の属性を有する対象ボリューム単位で、容量拡張指示を前記ストレージシステム群に送信する、
    請求項1記載の管理計算機。
  12. 前記所定の属性とは、対象ボリュームの種別であり、該種別として、少なくとも、最上流であることを意味するプライマリと、最下流であることを意味するセカンダリとがあり、前記対象のボリュームカスケードが三以上の対象ボリュームから構成される場合には、プライマリとセカンダリの中間に存在することを意味するセカンダリ/プライマリがある、
    請求項11記載の管理計算機。
  13. 前記容量拡張制御部は、非同時型の容量拡張処理と、同時型の容量拡張処理とのいずれかを選択し、選択した方の処理を行い、
    前記非同時型の容量拡張処理では、前記対象のボリュームカスケードを構成する二以上の対象ボリュームについて、一つの対象ボリュームの容量拡張指示を前記ストレージシステム群に送信し、前記ストレージシステム群から容量拡張の完了を受けた後に、別の対象ボリュームの容量拡張指示を送信し、
    前記同時型の容量拡張処理では、前記対象のボリュームカスケードを構成する二以上の対象ボリュームのうちの所定の属性を有する対象ボリューム単位で、容量拡張指示を前記ストレージシステム群に送信する、
    請求項1記載の管理計算機。
  14. 前記容量拡張制御部は、
    以下の(A)乃至(C)、
    (A)対象ボリュームの数が少ない、
    (B)ストレージシステムの数が少ない、
    (C)ストレージシステムの負荷を抑える、
    のうちの少なくとも一つの場合に、非同時型の容量拡張処理を選択し、
    以下の(a)乃至(c)、
    (a)対象ボリュームの数が多い、
    (b)ストレージシステムの数が多い、
    (c)容量拡張に要する時間を抑える、
    のうちの少なくとも一つの場合に、同時型の容量拡張処理を選択する、
    請求項13記載の管理計算機。
  15. 前記容量拡張制御部は、前記二以上の対象ボリュームのうちの下流の対象ボリュームほど優先的に先に容量拡張指示を送信する、
    請求項1記載の管理計算機。
  16. 前記容量拡張制御部は、前記二以上の対象ボリュームのうちの上流の対象ボリュームほど優先的に先に容量拡張指示を送信する、
    請求項1記載の管理計算機。
  17. 拡張対象ボリューム決定部は、使用率が閾値を超えた論理ボリュームを前記拡張対象とし、
    前記使用率とは、論理ボリュームの容量に対する使用されている容量の割合である、
    請求項1記載の管理計算機。
  18. 多数の論理ボリュームを備えたストレージシステム群を管理する計算機のマイクロプロセッサに実行されるコンピュータプログラムであって、
    前記ストレージシステム群は、一以上のストレージシステムから構成され、
    前記多数の論理ボリュームには、ボリュームカスケードを構成する前記二以上の論理ボリュームが含まれており、該ボリュームカスケードは、最上流の論理ボリュームであるオリジナルボリュームと、それよりも下流の論理ボリュームであるレプリケーションボリュームとがカスケード状に関連付けられたボリューム群であり、
    前記ストレージシステム群は、一以上のボリュームカスケードと、オリジナルボリュームに格納するデータを、該オリジナルボリュームが属するボリュームカスケードに従って、下流のレプリケーションボリュームにコピーするコピー部と、容量拡張指示を受け、該容量拡張指示で指定されている論理ボリュームの容量を拡張する容量拡張部とを備え、
    前記計算機に、
    前記多数の論理ボリュームのうちのいずれかの論理ボリュームを拡張対象とし、
    前記拡張対象の論理ボリュームが属するボリュームカスケード中の他の論理ボリュームを、ボリュームカスケードの構成に関する情報であるボリュームカスケード構成情報から特定し、
    前記拡張対象の論理ボリュームと前記特定された他の論理ボリュームとで構成される対象のボリュームカスケードを構成する二以上の対象ボリュームと該二以上の対象ボリュームの各々の拡張後の容量とを指定した容量拡張指示を前記ストレージシステム群に送信し、
    前記容量拡張指示において、下流の対象ボリュームについての拡張後の容量を、該下流の対象ボリュームの直近且つ上流の対象ボリュームについて指定する拡張後の容量以上とし、その際、前記二以上の対象ボリュームの各々の拡張後の容量と、前記複数のエリアのうちの前記各対象ボリュームがそれぞれ属する対象のエリアの容量上限とから、前記二以上の対象ボリュームを拡張すると少なくとも一つの対象のエリアの容量上限を超えてしまう場合には、前記複数のエリアの中から、容量上限を超えてしまう対象のエリアに属する対象ボリュームの拡張後の容量を加算しても容量上限を超えない他のエリアを探し、該対象ボリュームを、探し出された該他のエリアに再配置し、もし、再配置の対象がレプリケーションボリュームであって、前記他のエリアを探し出せない場合には、該レプリケーションボリュームを前記対象のボリュームカスケードから解除する、
    ことを実行させるコンピュータプログラム。
  19. 多数の論理ボリュームを備えたストレージシステム群と該ストレージシステム群を管理する計算機とを備えた計算機システムで実現可能な方法であって、
    前記ストレージシステム群は、一以上のストレージシステムから構成され、
    前記多数の論理ボリュームには、ボリュームカスケードを構成する前記二以上の論理ボリュームが含まれており、該ボリュームカスケードは、最上流の論理ボリュームであるオリジナルボリュームと、それよりも下流の論理ボリュームであるレプリケーションボリュームとがカスケード状に関連付けられたボリューム群であり、
    前記ストレージシステム群は、一以上のボリュームカスケードと、オリジナルボリュームに格納するデータを、該オリジナルボリュームが属するボリュームカスケードに従って、下流のレプリケーションボリュームにコピーするコピー部と、容量拡張指示を受け、該容量拡張指示で指定されている論理ボリュームの容量を拡張する容量拡張部とを備え、
    ボリュームカスケードの構成に関する情報であるボリュームカスケード構成情報と、
    前記ストレージシステム群における複数のエリアの各々の容量上限とを記憶し、
    前記多数の論理ボリュームのうちのいずれかの論理ボリュームを拡張対象とし、
    前記拡張対象の論理ボリュームが属するボリュームカスケード中の他の論理ボリュームを前記ボリュームカスケード構成情報から特定し、
    前記拡張対象の論理ボリュームと前記特定された他の論理ボリュームとで構成される対象のボリュームカスケードを構成する二以上の対象ボリュームと該二以上の対象ボリュームの各々の拡張後の容量とを指定した容量拡張指示を前記ストレージシステム群に送信し、
    前記容量拡張指示において、下流の対象ボリュームについての拡張後の容量を、該下流の対象ボリュームの直近且つ上流の対象ボリュームについて指定する拡張後の容量以上とし、その際、前記二以上の対象ボリュームの各々の拡張後の容量と、前記複数のエリアのうちの前記各対象ボリュームがそれぞれ属する対象のエリアの容量上限とから、前記二以上の対象ボリュームを拡張すると少なくとも一つの対象のエリアの容量上限を超えてしまう場合には、前記複数のエリアの中から、容量上限を超えてしまう対象のエリアに属する対象ボリュームの拡張後の容量を加算しても容量上限を超えない他のエリアを探し、該対象ボリュームを、探し出された該他のエリアに再配置し、もし、再配置の対象がレプリケーションボリュームであって、前記他のエリアを探し出せない場合には、該レプリケーションボリュームを前記対象のボリュームカスケードから解除する、
    レプリケーションボリュームの容量拡張方法。
JP2006152086A 2006-05-31 2006-05-31 レプリケーションボリュームの容量拡張方法 Expired - Fee Related JP4849960B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006152086A JP4849960B2 (ja) 2006-05-31 2006-05-31 レプリケーションボリュームの容量拡張方法
US11/492,861 US7596658B2 (en) 2006-05-31 2006-07-26 Method for expanding capacity of replication volume

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006152086A JP4849960B2 (ja) 2006-05-31 2006-05-31 レプリケーションボリュームの容量拡張方法

Publications (2)

Publication Number Publication Date
JP2007323309A JP2007323309A (ja) 2007-12-13
JP4849960B2 true JP4849960B2 (ja) 2012-01-11

Family

ID=38791741

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006152086A Expired - Fee Related JP4849960B2 (ja) 2006-05-31 2006-05-31 レプリケーションボリュームの容量拡張方法

Country Status (2)

Country Link
US (1) US7596658B2 (ja)
JP (1) JP4849960B2 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4412509B2 (ja) * 2007-10-05 2010-02-10 日本電気株式会社 ストレージシステムの容量拡張制御方法
JP5224240B2 (ja) * 2008-03-25 2013-07-03 株式会社日立製作所 計算機システム及び管理計算機
WO2010005421A2 (en) * 2008-07-07 2010-01-14 Hewlett-Packard Development Company, L.P. Dynamically expanding storage capacity of a storage volume
JP2010026933A (ja) 2008-07-23 2010-02-04 Toshiba Corp メモリシステム、ホスト装置
WO2012066605A1 (en) * 2010-11-19 2012-05-24 Hitachi, Ltd. Storage control apparatus and logical volume size setting method
US8990157B2 (en) * 2011-06-07 2015-03-24 Sybase, Inc. Replication support for structured data
JP5853109B2 (ja) * 2012-12-28 2016-02-09 株式会社日立製作所 計算機、計算機システムの制御装置及び記録媒体
US10007602B2 (en) 2014-05-06 2018-06-26 International Business Machines Corporation Flash copy relationship management
WO2016088226A1 (ja) * 2014-12-03 2016-06-09 株式会社日立製作所 ストレージ管理システム及びストレージ管理方法
US10108352B2 (en) * 2015-03-03 2018-10-23 International Business Machines Corporation Incremental replication of a source data set
US10185500B1 (en) * 2015-06-26 2019-01-22 EMC IP Holding Company LLC Dynamic parallelism
CN109144433A (zh) * 2018-10-09 2019-01-04 郑州云海信息技术有限公司 一种容量扩展方法、系统、装置及计算机可读存储介质
US11614900B2 (en) * 2021-07-21 2023-03-28 EMC IP Holding Company LLC Autonomous storage provisioning

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4175788B2 (ja) 2001-07-05 2008-11-05 株式会社日立製作所 ボリューム制御装置
JP4387116B2 (ja) * 2003-02-28 2009-12-16 株式会社日立製作所 ストレージシステムの制御方法、及びストレージシステム
WO2005001700A1 (ja) * 2003-06-27 2005-01-06 Fujitsu Limited ストレージ容量管理方法、そのサーバ、記録媒体
JP4225206B2 (ja) * 2004-01-23 2009-02-18 日本電気株式会社 記憶装置の複製データ格納システムと複製データ格納プログラム
JP4576923B2 (ja) * 2004-08-09 2010-11-10 株式会社日立製作所 ストレージシステムの記憶容量管理方法
JP4596889B2 (ja) * 2004-11-08 2010-12-15 株式会社日立製作所 ストレージシステムの管理方法

Also Published As

Publication number Publication date
JP2007323309A (ja) 2007-12-13
US7596658B2 (en) 2009-09-29
US20070283089A1 (en) 2007-12-06

Similar Documents

Publication Publication Date Title
JP4849960B2 (ja) レプリケーションボリュームの容量拡張方法
US7937546B2 (en) Data duplication control method
JP5142629B2 (ja) 仮想ボリュームのバックアップを行うストレージシステム及び方法
JP5137476B2 (ja) 連携して動作する複数のアプリケーションが使用するデータのバックアップ環境の設定を行う計算機及び方法
JP4681374B2 (ja) ストレージ管理システム
JP5341184B2 (ja) ストレージシステム及びストレージシステムの運用方法
US7107323B2 (en) System and method of file distribution for a computer system in which partial files are arranged according to various allocation rules
US8448167B2 (en) Storage system, and remote copy control method therefor
US8332602B2 (en) Computer system and method of managing status thereof
JP5026309B2 (ja) バックアップデータ管理システム及びバックアップデータ管理方法
JP5052376B2 (ja) ストレージシステム及びストレージシステムにおける論理ユニットの引継方法
JP4327831B2 (ja) ストレージシステム、管理計算機及びコピーペア監視方法
CN112764968A (zh) 数据处理方法、装置、设备及存储介质
JP2009230624A (ja) ストレージシステム
WO2006013992A1 (ja) ネットワークシステム、管理コンピュータ、クラスタ管理方法およびコンピュータプログラム
JP2020154587A (ja) 計算機システム及びデータ管理方法
JP2016510918A (ja) ボリューム複製を目的としたワークロードの特定およびバッファのサイズ設定
US7676644B2 (en) Data processing system, storage apparatus and management console
JP6227771B2 (ja) 論理ボリュームを管理するためのシステム及び方法
JP5272185B2 (ja) 計算機システム及びストレージシステム
JP2006119966A (ja) 記憶システム
CN105760431A (zh) 一种文件块的迁移方法和装置
JP7225190B2 (ja) 計算機システム
JP7491545B2 (ja) 情報処理方法
JP2024079042A (ja) ストレージシステム及び記憶制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090413

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110616

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110622

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110725

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: 20111018

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111018

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20141028

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees