Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4958739B2 - 障害の発生した記憶装置に記憶されているデータを修復するストレージシステム - Google Patents
[go: Go Back, main page]

JP4958739B2 - 障害の発生した記憶装置に記憶されているデータを修復するストレージシステム - Google Patents

障害の発生した記憶装置に記憶されているデータを修復するストレージシステム Download PDF

Info

Publication number
JP4958739B2
JP4958739B2 JP2007291808A JP2007291808A JP4958739B2 JP 4958739 B2 JP4958739 B2 JP 4958739B2 JP 2007291808 A JP2007291808 A JP 2007291808A JP 2007291808 A JP2007291808 A JP 2007291808A JP 4958739 B2 JP4958739 B2 JP 4958739B2
Authority
JP
Japan
Prior art keywords
virtual
area
real
volume
primary
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
JP2007291808A
Other languages
English (en)
Other versions
JP2009116783A (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 JP2007291808A priority Critical patent/JP4958739B2/ja
Priority to US12/128,974 priority patent/US7917805B2/en
Publication of JP2009116783A publication Critical patent/JP2009116783A/ja
Priority to US13/035,950 priority patent/US8522071B2/en
Application granted granted Critical
Publication of JP4958739B2 publication Critical patent/JP4958739B2/ja
Priority to US13/963,440 priority patent/US8762768B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/1092Rebuilding, e.g. when physically replacing a failing disk
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/2082Data synchronisation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/0614Improving the reliability of storage systems
    • G06F3/0617Improving the reliability of storage systems in relation to availability
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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)
  • 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

本発明は、ストレージシステムにおけるデータの修復の技術に関する。
ストレージシステムの信頼性を高めるため、一般に、RAID(Redundant Array of Independent Disks)技術が採用されている。この技術によれば、論理的な記憶デバイス(以下、論理ボリューム)が、複数の物理的なデバイス(以下、物理デバイス、例えば、ハードディスクドライブやフラッシュメモリなど)から構成される。これにより、ストレージシステムの信頼性が高まる。論理ボリュームは、I/O要求(データの読み出しや書き込み)の発行先として、ストレージシステムからホスト計算機に提供される。
RAIDには、幾つかのレベルがある。例えば、RAID1がある。RAID1では、例えば、一つの論理ボリュームが、同容量の物理デバイス2個で構成されており、ホスト計算機から書き込まれるデータが、両方の物理デバイスに書き込まれる。この場合、どちらか1個の物理デバイスが故障しても、残りの物理デバイスからデータを取得することができる。このため、ストレージシステムの信頼性が向上する。また、故障した物理デバイスを交換し、残りの物理デバイスから交換後の物理デバイスにデータをコピーすれば、データが二重化された状態に戻り、再び信頼性の高い状態となる。このように、故障した物理デバイスを交換した後、故障した物理デバイスに記憶されていたデータを交換後の物理デバイスに書き込む処理(ここでは二重化状態に戻す処理)を、以下、「RAID修復処理」と呼ぶ。
RAIDレベルにはRAID1の他に、パリティを用いてデータ損失を防ぐRAID5などもある。これらの技術でも、1個の物理デバイスが故障した場合、故障した物理デバイスが記憶していたデータを、残りの物理デバイスに格納されたデータとパリティとを使用した演算により求めることが出来るため、ストレージシステムの信頼性が向上する。また、故障した物理デバイスを交換し、故障した物理デバイスに記憶されていたはずのデータを、残りの物理デバイスが格納しているデータとパリティからリストアし、リストアされたデータを交換後の物理デバイスに格納すれば、RAID1と同様、再び信頼性の高い状態となる。RAID5などでは、パリティを利用してリストアされたデータが交換後の物理デバイスに書き込まれるが、この処理が、前述した「RAID修復処理」となる。
ストレージシステムの信頼性を高める別の技術として、リモートコピー(例えば特許文献1)を利用した技術がある。リモートコピーとは、2台のストレージシステムの間でデータを二重化して格納する技術である。まず、2台のストレージシステムに例えば同容量の論理ボリュームを作成する。次に、2台のストレージシステムを互いに接続し(例えば論理的にパスを張り)、作成した2個の論理ボリュームを、リモートコピーのペアとして定義する。リモートコピーのペアとして定義された2個の論理ボリュームは、片方はプライマリボリューム、もう片方はセカンダリボリュームと呼ばれる状態となる。ホストは、通常プライマリボリュームに対してI/O要求を発行する。プライマリボリュームにデータが書き込まれたとき、プライマリボリュームを保持するストレージシステムは、ホストから受け取った書込み対象のデータを、プライマリボリュームに格納すると同時に、セカンダリボリュームに書き込む。この場合、プライマリボリュームを保持するストレージシステムが故障しても、ホストは、プライマリボリュームの代わりにセカンダリボリュームにアクセスすれば、セカンダリボリュームに更新されたデータを用いて、業務を継続できる場合がある
また、リモートコピーとは別の技術として、特許文献2にて開示されている「動的容量割り当て機能」と呼ばれる技術がある。この技術は、ストレージシステムが持つ記憶領域をまとめた「容量プール」と物理的な記憶領域を持たない「仮想ボリューム」から構成される。
「容量プール」とは、ストレージシステムが保持する複数の論理ボリュームのうち二以上の論理ボリュームで構成された記憶領域であり、ホストからの書き込み対象のデータを格納するために使用される。一方、「仮想ボリューム」とは、論理ボリュームの代わりにストレージシステムからホストに提供される、物理的な記憶領域を持たないI/O要求の発行先である。動的容量割り当て機能では、最初は、仮想ボリュームに記憶領域が割り当てられていない。ホストからの仮想ボリュームに対するデータ書き込みを契機として、書き込みデータを保持するための記憶領域が、容量プールの中から選択された論理ボリュームから取得され、ホストからのI/O要求で指定されている、仮想ボリュームのデータ書き込み位置に、その記憶領域が割り当てられる(仮想ボリュームへのデータ書き込み位置と、論理ボリュームの記憶領域とが互いに対応付けられる(いわゆるマッピングが行われる))。書き込み対象のデータは、論理ボリュームから取得された記憶領域に格納される。このような制御を行うと、仮想ボリュームの容量のうち実際にデータが書き込まれた領域のみに容量プールから記憶領域が割り当てられるため、データ格納効率を高めることが出来る。容量プールとして使われる論理ボリュームも、RAID技術を適用して信頼性を高めることが出来る。
特開2003−233518号 特開2005−011316号
前述したように、RAID技術を用いれば、論理ボリュームを構成する複数の物理デバイスのうちの1個の物理デバイスが故障しても、ストレージシステムがホストのI/Oを受け付けることが可能となり、さらに、RAID修復処理により、故障した物理デバイスを交換したあと、その物理デバイスに記憶されていたデータを交換後の物理デバイスに書き込むことで、信頼性の高い状態に復帰することが出来る。
しかしながら、RAID技術におけるRAID修復処理には、次のような問題点が存在する。以下、説明を理解し易くするため、RAID1、すなわち、2個の物理デバイスで構成された1個の論理ボリュームを考える。
1個の物理デバイスが故障すると、ストレージシステムは残りの1個の物理デバイスを用いて、ホストが発行する論理ボリュームへのI/O要求を処理する。故障した物理デバイスが交換されると、ストレージシステムは、ホストから発行されるI/O要求の処理とは別に、残りの1個の物理デバイスから交換した新しい物理デバイスに全てのデータをコピーし、二重化状態に復帰する。新しい物理デバイスへのデータコピーが完了するまでは、二重化状態ではないため、信頼性の低い状態である。近年、物理デバイスの記憶容量が大幅に増加し、それに伴って、RAID修復処理の時間も増加する。このため、RAID技術を用いても、物理デバイスが故障すると、信頼性の低い状態が長く続くという問題がある。
本発明の目的は、物理記憶デバイスが故障したことによる信頼性の低い状態が続く時間をなるべく短くすることにある。
本発明の他の目的は、後述の説明から明らかになるであろう。
ストレージシステムのコントローラ(例えば、ストレージシステムに内蔵されている装置、或いは、ストレージシステムの外に存在するサーバ或いはスイッチ等の装置)が、動的容量割り当て機能を有している。具体的には、ストレージシステムには、複数の物理記憶デバイスで構成された複数のRAIDグループと、前記複数のRAIDグループの記憶領域を基に形成された容量プールを構成する複数の実領域とが備えられている。
この場合、コントローラは、どの仮想領域にどの実領域が割り当てられているかを表すマッピング情報と、どの実領域がどの仮想領域に割り当てられているかを表す実領域管理情報を保持する。コントローラは、計算機からライト要求を受信し、そのライト要求で指定されている仮想ボリュームにおける仮想領域に、容量プールにおける実領域を割り当て、割当てた実領域に、そのライト要求に従うデータを書込み、マッピング情報及び実領域管理情報において、実領域の割当て先の仮想領域を表す情報とその割り当てた実領域を表す情報とを対応付ける。コントローラは、或る物理記憶デバイスで障害が生じたことにより信頼性の低下した実領域であって、その或る物理記憶デバイスを備えるRAIDグループに属する低信頼実領域が、仮想領域に割り当てられているか否かを、実領域管理情報を参照することにより判断し、仮想領域に割り当てられていない低信頼実領域については、データのリストア処理を行わず、割り当てられている低信頼実領域について、データのリストア処理を行う。
実施形態1では、ストレージシステムが、複数の物理記憶デバイスで構成された複数のRAIDグループと、前記複数のRAIDグループの記憶領域を基に形成された容量プールを構成する複数の実領域とを備える。ストレージシステムが備えるコントローラ(又はストレージシステムの外に存在しストレージシステムに接続されたコントローラ)は、複数の仮想領域で構成された仮想ボリュームを計算機に提供する。コントローラは、どの仮想領域にどの実領域が割り当てられているかを表すマッピング情報と、どの実領域がどの仮想領域に割り当てられているかを表す実領域管理情報と、入出力制御部と、リストア制御部とを備える。入出力制御部は、計算機からライト要求を受信し、そのライト要求で指定されている仮想ボリュームにおける仮想領域に、前記容量プールにおける実領域を割り当てる。また、入出力制御部は、割当てた実領域に、そのライト要求に従うデータを書込み、マッピング情報及び実領域管理情報において、実領域の割当て先の仮想領域を表す情報とその割り当てた実領域を表す情報とを対応付ける。リストア制御部は、或る物理記憶デバイスで障害が生じたことにより信頼性の低下した実領域であって、その或る物理記憶デバイスを備えるRAIDグループに属する低信頼実領域が、仮想領域に割り当てられているか否かを、実領域管理情報を参照することにより判断する。リストア制御部は、仮想領域に割り当てられていない低信頼実領域については、データのリストア処理を行わず、割り当てられている低信頼実領域について、データのリストア処理を行う。
実施形態2では、実施形態1において、リストア処理では、リストア制御部は、或る物理記憶デバイスが属するRAIDグループにおける他の物理記憶デバイスが記憶しているデータ群のうち、或る物理記憶デバイスにおけるリストア対象データのリストアに必要なデータを読み出し、読み出したデータを用いて、或る物理記憶デバイスに代わる別の物理記憶デバイスに、リストア対象データをリストアする。リストア対象データは、仮想領域に割り当て済みの低信頼実領域に対応した、或る物理記憶デバイスにおける記憶領域に記憶されているデータである。
実施形態3では、実施形態2において、或る物理記憶デバイスにおける記憶領域と、別の物理記憶デバイスにおける前記リストア対象データのリストア先の記憶領域とが、仮想領域に割り当て済みの同一の実領域に対応する。つまり、対応付けの変更が不要である。
実施形態4では、実施形態1乃至3のうちのいずれかにおいて、ストレージシステムが、プライマリのストレージシステムであり、セカンダリのストレージシステムと接続されている。コントローラが、プライマリの仮想ボリュームとセカンダリの仮想ボリュームとの間での同期型リモートコピーを制御するコピー制御部を更に備える。プライマリの仮想ボリュームは、複数のプライマリの仮想領域で構成された仮想ボリュームである。セカンダリの仮想ボリュームは、セカンダリのストレージシステムが有し、複数のプライマリの仮想領域にそれぞれ対応した複数のセカンダリの仮想領域で構成された仮想ボリュームである。コピー制御部が、各低信頼実領域が割り当てられている各低信頼プライマリ仮想領域について、仮想領域修復処理を行う。仮想領域修復処理では、コピー制御部は、セカンダリ仮想領域に記憶されているデータの要求を、セカンダリストレージシステムに送信し、その要求に従うデータをセカンダリストレージシステムから受信し、低信頼プライマリ仮想領域に、低信頼実領域とは別の実領域を割り当て、受信したデータを、その別の実領域に書込む。
実施形態5では、実施形態4において、入出力制御部が、仮想領域修復処理の最中でも、プライマリ仮想ボリューム及びプライマリ仮想領域を指定したI/O要求を計算機から受け付ける。入出力制御部は、受信したI/O要求で指定されているプライマリ仮想領域が、低信頼プライマリ仮想領域であるか否かを判断し、低信頼プライマリ仮想領域でなければ、その指定されているプライマリ仮想領域に割り当てられている実領域にアクセスする。一方、入出力制御部は、低信頼プライマリ仮想領域であれば、そのプライマリ仮想ボリュームに対応したセカンダリ仮想ボリュームと、その指定されているプライマリ仮想領域に対応したセカンダリ仮想領域とを指定したI/O要求を、セカンダリストレージシステムに送信する。
上述した実施形態1乃至5のうちの任意の二以上の実施形態を組み合わせることが可能である。上述した入出力制御部、リストア制御部及びコピー制御部のうちの少なくとも一つは、ハードウェア(例えば回路)、コンピュータプログラム又はそれらの組み合わせ(例えば一部をコンピュータプログラムにより実現し残りをハードウェアで実現すること)により構築することができる。コンピュータプログラムは、所定のプロセッサに読み込まれて実行される。また、コンピュータプログラムがプロセッサに読み込まれて行われる情報処理の際、適宜に、メモリ等のハードウェア資源上に存在する記憶域が使用されてもよい。また、コンピュータプログラムは、CD−ROM等の記録媒体から計算機にインストールされてもよいし、通信ネットワークを介して計算機にダウンロードされてもよい。
以下、図面を参照して、本発明の幾つかの実施例を説明する。
まず、第一の実施例の概要を説明する。
ホストとそれに接続されるストレージシステムから成る。ストレージシステムは、動的容量割り当て機能が実現する仮想ボリュームを保持しており、ホストは、その仮想ボリュームに対してI/O要求を発行する。また、仮想ボリュームの一部には、容量プールから取得した記憶領域が割り当てられており、割り当て済みの記憶領域には、ホストから書き込まれたデータが格納されている。一方、仮想ボリュームの記憶領域が割り当てられていない部分は、ホストから一度もデータが書き込まれていない。
ストレージシステムは、仮想ボリュームへの記憶領域の割り当て状況を管理するためのマッピングテーブルを有する。仮想ボリュームが、小領域に区切られているが、マッピングテーブルは、それぞれの小領域ごとに、容量プールから記憶領域が割り当てられているか否か、割り当てられている場合、容量プール内のどの記憶領域が割り当てられているかを示す。マッピングテーブルは、一つの仮想ボリュームごとに一つ存在する。
さらに、ストレージシステムは、容量プールを構成する論理ボリュームを管理するために、容量プール管理テーブルを、容量プールごとに保持する。
さらに、ストレージシステムは、容量プールに含まれる論理ボリュームの記憶領域のうち、すでに仮想ボリュームに割り当てられている小領域とそうでないものを管理するための記憶領域管理テーブルを、容量プールに含まれる論理ボリュームごとに保持する。
ここで、容量プールを構成する複数の論理ボリュームのうち、いくつかの論理ボリュームで、当該論理ボリュームを構成する物理デバイスが故障し、その後、故障した物理デバイスを交換したとする。ストレージシステムは、交換した物理デバイスが構成する論理ボリュームを、RAID修復処理により、信頼性の高い状態に復帰させる。このとき、ストレージシステムは、自分が選んだ論理ボリュームに対応する記憶領域管理テーブルを参照し、論理ボリュームの記憶領域のうち、既に仮想ボリュームに割り当てられている記憶領域部分についてのみ、RAID修復処理を実行する。
これにより、壊れた物理デバイスに対応する領域全体に対してRAID修復処理を実行する場合と比較して、必要なRAID修復処理を短時間で終えることができ、高速なRAID修復処理が提供できる。
図1は、本発明の第一実施例に係る計算機システムの構成例を示す。
1台以上のホスト計算機100が、1台以上のストレージシステム200に、ストレージネットワーク900を経由して接続されている。ストレージネットワーク900は、例えばSAN(Storage Area Network)であるが、それに限らず、他種のネットワークを採用することができる。
図2は、第一実施例におけるストレージシステム200のハードウェア構成例を示す。
ストレージシステム200は、コントローラ210と、メモリ230と、I/Oポート205と、複数の物理デバイス240とを備える。
ストレージシステム200は、コントローラ210により制御される。コントローラ210は、例えば、マイクロプロセッサ又はそれを備えた回路基板である。
メモリ230は、コントローラ210で実行されるコンピュータプログラムや、それらコンピュータプログラムで使用されるデータを記憶する。また、メモリ230は、ホスト計算機100の読み書きするデータを一時的に保管するキャッシュとして、一部の領域を使用することもできる。
I/Oポート205が、ストレージネットワーク900と接続されることにより、ストレージネットワーク900を介してのホスト計算機100との間でのデータのやり取りを可能にする。I/Oポート205は、一又は複数個備えられる。
物理デバイス240は、ホスト計算機100から送られてくるデータを記憶するための物理的なハードウェア(記憶デバイス)であり、典型的には、ハードディスクドライブなどの不揮発性の記憶デバイスが用いられる。本実施例では、複数の物理デバイス240を組み合わせてRAID(Redundant Array of Inexpensive Disks)構成とすることにより、ストレージシステムの信頼性を向上させる。また、そのようにRAID技術によって作られた、複数の物理デバイス240から成る信頼性の高い記憶領域を、RAIDグループ270と呼ぶ。論理ボリューム250は、RAIDグループ270の記憶領域の一部である。論理ボリューム250は、ホスト計算機100がI/O要求を発行するときに指定する、I/O要求の発行先である。コントローラ210は、I/O要求をホスト計算機100から受信すると、そのI/O要求で指定されている論理ボリューム250にアクセスする。論理ボリューム250がアクセスされるということは、その論理ボリューム250に対応する複数の物理デバイス240がアクセスされるということである。本実施例では、論理ボリューム250は、後述の「動的容量割り当て機能」の容量プールのメンバとして利用される。言い換えれば、RAIDグループ270に属する論理ボリューム250としては、容量プールのメンバとして利用されホスト計算機100に提供されない論理ボリュームもあれば、ホスト計算機100に提供される一般的な論理ボリュームもある。なお、容量プールのメンバとしての論理ボリュームは、いわゆる外部接続機能での論理ボリューム(後述の容量拡張ボリュームとはタイプの異なる仮想ボリューム)であっても良い。その論理ボリュームは、例えば、仮想的なRAIDグループの記憶領域を基に形成された仮想的な論理ボリューム(又は、後述の外部ボリュームと1対1で対応付けられた論理ボリューム)である。仮想的なRAIDグループは、例えば、ストレージシステム200に接続されている一又は複数の外部のストレージシステムが備える一又は複数の論理ボリューム(以下、外部ボリューム)で構成されたデバイスである。
ストレージシステム200には、管理装置260が接続される。管理装置260は、ストレージシステム200を保守及び管理するための装置である。また、管理装置260は、ストレージシステム200に対して特別な指示を与える機能を有することもある。
図3は、本発明の第一実施例におけるストレージシステム200が提供する動的容量割り当て機能の概念図である。
動的容量割り当て機能に従う仮想ボリュームは、いわゆるThin Provisoning技術に従う仮想ボリュームである。言い換えれば、動的に容量が拡張される容量拡張ボリュームえある。以下、詳述する。
ストレージシステム200は、ホスト計算機100に指定させるI/O要求の発行先として、論理ボリューム250の代わりに、仮想ボリューム280を提供する。ホスト計算機100は、仮想ボリューム280を、論理ボリューム250と全く同じように認識し、仮想ボリューム280を指定して、I/O要求を発行する。
仮想ボリューム280は、ホスト計算機100がI/O要求を発行するときに指定する、I/O要求の発行先である。ホスト計算機100から見ると、仮想ボリューム280は、ホスト計算機100から見ると、論理ボリューム250と全く同じように、データを格納する記憶領域をその容量分だけ保持しているように見える。しかし、実際には、データを格納する記憶領域は持たない。仮想ボリューム280は、複数の仮想的な記憶領域(以下、仮想領域)から構成される。コントローラ210は、或る仮想ボリューム280の或る仮想領域を指定した書込み要求をホスト計算機100から受けた場合、容量プール290から必要な容量分の記憶領域(以下、実領域)を取得し、その実領域に、書込み対象のデータを書き込む。
以降、取得された実領域は、仮想ボリューム280の当該仮想領域(書込み要求で指定された仮想領域)に対応付けられる(マッピングと呼ぶ)。このように、仮想ボリューム280には、ホスト計算機100がデータを書き込んだ仮想領域にのみ、容量プール290から取得された実領域がマッピングされる。
容量プール290は、仮想ボリューム280に書かれたデータを記憶するための記憶領域の集合である。本実施例では、容量プール290は、複数の論理ボリューム250を集めて構成される。容量プール290に属する論理ボリューム250も、RAID技術により作られたRAIDグループ270の一部であるため、信頼性が高い。コントローラ210は、ホスト計算機100からの書込み要求で指定されている仮想領域に実領域が未だ割り当てられていない場合は、容量プール290に含まれる論理ボリューム250の中から論理ボリューム250を選び、さらに、その論理ボリューム250が持つ実領域を選んで、その指定されている仮想領域にその実領域をマッピングする。
このような、仮想ボリューム280や容量プール290に含まれる論理ボリューム250の記憶領域の管理を簡素化するために、動的容量割り当て機能では、一般的に、一定の大きさを持つ記憶領域の管理単位が採用される。本実施例では、この記憶領域の管理単位を「チャンク」と呼ぶ。つまり、仮想ボリューム280も、容量プール290のメンバとしての論理ボリューム250も、複数のチャンクで構成される。以下、仮想ボリューム280を構成するチャンク(つまり仮想領域)を「仮想チャンク」と言い、論理ボリューム250を構成するチャンク(つまり実領域)を「実チャンク」と言う。チャンクのサイズは、例えば、10MB(メガバイト)とするが、チャンクのサイズは、それに限らず任意のサイズとすることが可能である。全ての仮想ボリューム280は、仮想チャンクの集合として管理される。例えば、100GBの仮想ボリューム280は、10240個の仮想チャンクから構成される。ただし、仮想ボリューム280には、物理的な記憶領域が割り当てられていないため、仮想ボリューム280を構成する各仮想チャンクにも、物理的な記憶領域は割り当てられていない。一方、容量プール290に含まれる各論理ボリューム250は、実チャンクの集合として管理される。仮想ボリューム280に容量プール290から記憶領域を割り当てる処理は、実際には、容量プール290に含まれる論理ボリューム250から、書込み要求で指定されている一又は複数の仮想チャンクに割り当てる一又は複数の実チャンクを適当に選び、その一又は複数の実チャンクを、上記指定されている一又は複数の仮想チャンクに対応付ける処理として実現される。こうすることで、仮想ボリューム280への容量プール290からの記憶領域のマッピングを、チャンクの割り当てとして実現できる。
なお、全ての仮想ボリューム280の記憶容量(仮想的な記憶容量)の合計は、容量プール290に含まれる全ての論理ボリューム250の記憶容量の合計より大きくてよい。また、仮想チャンクのサイズと実チャンクのサイズは、同じであっても異なっていても良い。例えば、仮想チャンクのサイズよりも実チャンクのサイズの方が小さくても良い。以下、説明を分かりやすくするため、仮想チャンクのサイズと実チャンクのサイズは同じであるとする。また、ホスト計算機100からの仮想ボリューム280に対するライト要求の処理(例えば、仮想チャンクへの実チャンクの動的な割り当て)は、コントローラ210で実行されるI/Oプログラム237によって行われる。
図4は、第一実施例におけるストレージシステム200が有するプログラムやデータを示す。
メモリ230には、前述したI/Oプログラム237の他に、RAID修復プログラム232と、マッピングテーブル236と、容量プール管理テーブル238と、記憶領域管理テーブル239とが記憶される。
図5は、第一実施例におけるマッピングテーブル236の構成例を示す。
マッピングテーブル236は、仮想ボリューム280ごと用意されているテーブルである。そのため、以下、図5の説明において、図示のマッピングテーブル236に対応する仮想ボリューム280を、「当該仮想ボリューム280」と言う。図示のマッピングテーブル236を構成する複数のレコード(行)は、当該仮想ボリューム280を構成する複数の仮想チャンクにそれぞれ対応している。つまり、レコードと仮想チャンクとが1対1に対応している。
1レコードには、論理ボリュームIDとLBA(論理ブロックアドレス)が記録される。LBAは、実チャンクの位置を表す。すなわち、容量プール290における実チャンクは、容量プール290に含まれる論理ボリューム250の識別子(論理ボリュームID)と当該論理ボリューム250内の実チャンクの位置を示す論理ブロックアドレス(LBA)で特定可能である。
なお、論理ボリュームIDが無効値(例えばNULL)のエントリがあれば、それがあるレコードに対応した仮想チャンクには、実チャンクがまだ割り当てられていないことを意味する。
例えば、図示したマッピングテーブル236は、4つの仮想チャンクから成る仮想ボリューム280を管理するマッピングテーブル236である。このテーブル236によれば、第1の仮想チャンクと第4の仮想チャンクには、実チャンクが割り当てられていないことがわかる。また、第2の仮想チャンクには、論理ボリュームID“#0001”で特定される論理ボリューム250における、LBA“0x10001000”に対応した実チャンクが割り当てられていることがわかる。さらに、第3の仮想チャンクには、論理ボリュームID“#FFBA”で特定される論理ボリューム250における、LBA“0x12345678”に対応した実チャンクが割り当てられていることがわかる。なお、“0x”は、16進数をあらわす接頭辞である。
図6は、第一実施例における容量プール管理テーブル238の構成例を示す。
容量プール管理テーブル238は、容量プール290ごとに用意される。そのため、以下、図6の説明において、図示の容量プール管理テーブル238に対応する容量プール290を、「当該容量プール290」と言う。図示の容量プール管理テーブル238を構成する複数のレコード(行)は、当該容量プール290を構成する複数の論理ボリューム250にそれぞれ対応している。つまり、レコードと論理ボリューム250とが1対1に対応している。
1レコードには、論理ボリュームIDと、記憶領域管理テーブル239へのポインタとが記録される。例えば、図示した容量プール管理テーブル238によれば、当該容量プール290が、3個の論理ボリューム250で構成されていることがわかる。また、論理ボリュームID“#0001”で特定される論理ボリューム250のチャンクを管理する記憶領域管理テーブル239は、メモリ230のアドレス“0xAB8FFF00”に存在することがわかる。論理ボリュームID“#FFBA”で特定される論理ボリューム250のチャンクを管理する記憶領域管理テーブル239が、メモリ230のアドレス“0x00115800”に存在することがわかる。論理ボリュームID“#0020”で特定される論理ボリューム250のチャンクを管理する記憶領域管理テーブル239は、メモリ230のアドレス“0x808F2240”に存在することがわかる。
図7は、第一実施例における記憶領域管理テーブル239の構成例を示す。
記憶領域管理テーブル239は、容量プール290に含まれる論理ボリューム250ごとに用意される。そのため、以下、図7の説明において、図示の記憶領域管理テーブル239に対応する論理ボリューム250を、「当該論理ボリューム250」と言う。図示の記憶領域管理テーブル239を構成する複数のレコード(行)は、当該論理ボリューム250を構成する複数の実チャンクにそれぞれ対応している。つまり、レコードと実チャンクとが1対1に対応している。
1レコードには、仮想ボリューム280の識別子(仮想ボリュームID)と、仮想チャンクの位置を示すアドレス(LBA)とが記録される。つまり、レコードに記録されている仮想ボリュームID及びLBAから、そのレコードに対応した実チャンクが、どの仮想ボリューム280のどの仮想チャンクにマッピングされているかがわかる。なお、レコードに、仮想ボリュームIDが無効値(例えばNULL)のエントリがあれば、そのレコードに対応する実チャンクは、仮想ボリューム280にまだ割り当てられていないことを示す。
例えば、図示した記憶領域管理テーブル239は、4つの実チャンクから成る論理ボリューム250を管理する記憶領域管理テーブル239を例示している。このテーブル239によれば、第1、第2、第4の実チャンクは、まだ仮想ボリューム280に割り当てられていない。また、第3の実チャンクは、仮想ボリュームID“#8001”で特定される仮想ボリューム280の、LBA“0x00001000”から特定される仮想チャンクに割り当てられている。
I/Oプログラム237は、仮想チャンクに実チャンクを割り当てた場合、その仮想チャンクを有する仮想ボリューム280に対応するマッピングテーブル236において、その仮想チャンクに対応するレコードに、割り当てた実チャンクに対応する論理ボリュームID及びLBAを記録する。また、I/Oプログラム237は、割り当てた実チャンクを有する論理ボリューム250に対応する記憶領域管理テーブル239において、その実チャンクに対応するレコードに、割り当て先の仮想チャンクに対応する仮想ボリュームID及びLBAとを記録する。
図8は、第一実施例におけるRAID修復処理のフローチャートである。
RAID修復プログラム232は、故障した物理デバイス240が交換されたとき、あるいは、物理デバイス240の故障を検出して予備の物理デバイス240をホットスワップにより使用開始するときに(例えば、予備の物理デバイス240が故障した物理デバイス240に代わってRAIDグループ270のメンバとされたときに)、コントローラ210により実行されるプログラムである。以下、コンピュータプログラムが主語になる処理は、実際には、そのコンピュータプログラムを実行するコントローラ(例えばプロセッサ)が主語である。
まず、RAID修復プログラム232は、交換された物理デバイス240の属するRAIDグループ270を特定する(ステップ1100)。特定されるRAIDグループ270は、例えば、例えば、故障した物理デバイス240が元々属していたRAIDグループ270である。
次に、RAID修復プログラム232は、特定されたRAIDグループ270に属する論理ボリューム250の中から、RAID修復処理が終わっていない論理ボリューム250を一つ選ぶ(ステップ1110)。
次に、RAID修復プログラム232は、選んだ論理ボリューム250がいずれかの容量プール290に属しているか否かをチェックする(ステップ1120)。具体的には、例えば、RAID修復プログラム232は、メモリ230に存在する全ての容量プール管理テーブル238のレコードを検索する。その結果、選んだ論理ボリューム250の論理ボリュームIDと等しい論理ボリュームIDが記録されているレコードを有した容量プール管理テーブル238が存在する場合は、RAID修復プログラム232は、選んだ論理ボリューム250が容量プール290に属していると判定する。一方、選んだ論理ボリューム250の論理ボリュームIDと等しい論理ボリュームIDが記録されているレコードを有した容量プール管理テーブル238が存在しない場合は、RAID修復プログラム232は、選んだ論理ボリューム250が容量プール290に属していないと判定する。
ステップ1120で属していないと判定された場合は、ステップ1140へ進む。すなわち、RAID修復プログラム232は、選んだ論理ボリューム250に割り当てられた、RAIDグループ270の記憶領域に対して、RAID修復処理を行う。
ステップ1140で、選んだ論理ボリューム250に割り当てられた記憶領域全域に対してRAID修復処理を実行したら、ステップ1160にジャンプする。
一方、ステップ1120で属していると判定された場合は、ステップ1130へ進み、RAID修復プログラム232は、選んだ論理ボリューム250に対応する記憶領域管理テーブル239を特定する。ステップ1120での検索により、選んだ論理ボリューム250の論理ボリュームIDと等しい論理ボリュームIDが記録されている、容量プール管理テーブル238のレコードが見付かっている。このため、選んだ論理ボリュームに対応する記憶領域管理テーブル239を、見付けたレコードが持つ記憶領域管理テーブル239へのポインタにより、容易に記憶領域管理テーブル239を特定することができる。
次に、RAID修復プログラム232は、求めた記憶領域管理テーブル239のレコードを先頭から順番に走査し、仮想ボリュームIDに有効な値があるレコードに対応する各実チャンクに対して、RAID修復処理を行う(ステップ1150)。すなわち、仮想ボリュームIDに有効な値があるレコードに対応する実チャンクは、すでに仮想ボリューム280に割り当てられているため、ホスト計算機100が書き込んだデータを保持している。そのため、RAID修復処理により、信頼性が低下している状態から信頼性の高い状態に戻す必要がある。一方、仮想ボリュームIDに有効な値がないレコードに対応する実チャンクは、まだ仮想ボリューム280に割り当てられておらず、ホスト計算機100が書き込んだデータを保持していない。このため、RAID修復処理を実行する必要がない。以上により、故障した物理デバイスに対応する論理的な記憶領域(例えば、一又は複数の論理ボリュームのそれぞれの一部又は全部)についてデータをリストアする必要は無い。真に必要な部分のみ(すなわち、仮想チャンクに割り当っている実チャンクに相当する記憶領域部分についてのみ)、RAID修復処理を実行することができる。これにより、全体としてRAID修復処理を短時間で終えることができる。
ステップ1150で、特定された記憶領域管理テーブル239の全てのレコードを走査したら(言い換えれば、選んだ論理ボリューム250のすべての実チャンクを処理したら)、ステップ1160に進む。
ステップ1160で、RAID修復プログラム232は、RAIDグループ270に属する全ての論理ボリューム250を処理したか否かをチェックする。まだ処理していない論理ボリューム250があれば、ステップ1110に戻り、残りの論理ボリューム250について、同様の処理を行う。
以上の一連の処理を、全ての論理ボリューム250に対して処理するまで続け、全てを処理し終えたら、RAID修復プログラム232の実行の終了となる。
以上のようにして、動的容量割り当て機能を有するストレージシステム200において、仮想ボリューム280に割り当てられた実チャンクに対してのみRAID修復処理を行うことで、物理デバイス240が故障した場合に必要となるRAID修復処理を短時間で終えることができる。言い換えれば、物理デバイス240が故障したことで信頼性が低下した場合、信頼性が低下した状態から信頼性の高い状態に復帰することを短時間で行うことができる。
例えば、RAID修復プログラム232は、選んだ論理ボリューム250が属するRAIDグループ270がRAID1により構成されている場合、まず、その論理ボリューム250における割り当て済み実チャンク(仮想領域に割り当てられている実チャンク)に対応する、故障した第一の物理デバイス240の第一の記憶領域を求められる。次に、交換した物理デバイス240に、残っている第二の物理デバイス240のデータ群のうち、求められた第一の記憶領域と同じ位置にある第二の記憶領域に記憶されているデータが、交換した物理デバイス240における、第一及び第二の記憶領域と同じ位置にある記憶領域に、コピーされる。これにより、二重化状態に復帰される。また、ここでコピーされるデータは、仮想チャンクに割り当てられていた実チャンクに対応する、物理デバイス240における記憶領域に記憶されているデータのみである。このため、短時間でRAID処理を行うことができる。
なお、上記第一の記憶領域と上記第二の記憶領域は、同一の実チャンクに対応する。このため、RAID修復処理の後で、仮想チャンクに割り当てられている実チャンクを変更することが不要である。これは、RAID1に限らず、他のRAIDレベルの場合についても同様である。
以下、本発明の第二の実施例を説明する。その際、第一の実施例との相違点を主に説明し、第一の実施例との共通点については説明を省略或いは簡略する。
図9は、本発明の第二の実施例に係るリモートコピーシステムの構成例を示す。なお、図9(及び、後述の図11と図12)では、紙面の都合上、I/Oプログラム237の図示を省略している。
第一実施例で説明した機能を有するストレージシステム同士が、例えば、I/Oポートを介して接続されている。以下、一方のストレージシステム200を、「プライマリストレージシステム200P」と言い、他方のストレージシステム200を、「セカンダリストレージシステム200S」と言う。また、どちらのストレージシステムの構成要素であるかを分かり易くするため、以下の説明では、プライマリストレージシステム200Pが有する要素については、親番号(例えば、210、230など)の次に「P」というアルファベットを付加する。一方、セカンダリストレージシステム200Sが有する要素については、親番号(例えば、210、230など)の次に「S」というアルファベットを付加する。
プライマリストレージシステム200P(及びセカンダリストレージシステム200S)のメモリ230P(230S)は、更に、リモートコピーを実行するコピー制御プログラム233P(233S)を記憶する。
本実施例では、コピー制御プログラム233P及び233Sにより、同期型リモートコピーが行われる。同期型リモートコピーとは、コピーペアを構成する一方の論理ボリューム(プライマリボリューム)が更新されると、その更新と同期で、コピーペアを構成する他方の論理ボリューム(セカンダリボリューム)が更新され、故に、どの時点でも両者が同じ内容になるコピーである。これは、仮想ボリューム280P、280S同士でコピーペアが形成されている場合も同じである。プライマリストレージシステム200Pがホスト計算機100から書込み要求を受けた場合に、同期型リモートコピーが行われる。同期型リモートコピーでは、非同期型リモートコピーと違い、セカンダリボリュームにデータが書かれたことの通知をプライマリストレージシステム200Pがセカンダリストレージシステム200Sから受けた場合に、プライマリストレージシステム200Pがホスト計算機100に対して書込み完了(受信した書込み要求に従う書込みの終了)を通知する。
仮想ボリューム280P、280S間で同期型リモートコピーが行われる場合、仮想ボリューム280Pでのコピー元の記憶領域と、仮想ボリューム280Sでのコピー先の記憶領域は、それぞれの仮想ボリューム280P、280Sにおける同じ位置にある。具体的には、例えば、図9に示すように、仮想ボリューム280Pでのコピー元が、仮想ボリューム280Pでの先頭の仮想チャンク“1”であれば、仮想ボリューム280Sのコピー先は、仮想ボリューム280Sでの先頭の仮想チャンク“1”である。
このように、仮想ボリューム280P、280S間で同期型リモートコピーが行われる場合、コピー元とコピー先はそれぞれ同じ位置にある仮想チャンクとなるが、割り当てられる実チャンクは、同じ位置にある必要は無い。例えば、図9に示すように、コピー元の仮想チャンク“1”には、容量プール290Pの第一の論理ボリューム250Pの実チャンク“S”が割り当てられているが、コピー先の仮想チャンク“1”には、実チャンク“S”とは全く異なる位置にある実チャンク、例えば、容量プール290Pの第二の論理ボリューム250Sの実チャンク“B”が割り当てられている。
要するに、プライマリストレージシステム200Pとセカンダリストレージシステム200Sとにおいて、コピー元とコピー先の仮想チャンクは、コピー元の仮想ボリューム280Pとコピー先の仮想ボリューム280Sとにおいて同じ位置にあるが、仮想チャンクとそれに割り当てられる実チャンクとの関係までもが、同じになるとは限らない。
図10は、マッピングテーブル236Pの構成例を示す。
マッピングテーブル236Pにおける各レコードに、更に、仮想チャンク種別が設定される。仮想チャンク種別は、そのレコードに対応する仮想チャンクが、後述する信頼性の低下した仮想チャンクであるか否かを表す。具体的には、仮想チャンク種別の値が“1”であれば、信頼性の高い仮想チャンクであることを表す。具体的には、例えば、物理デバイスの障害による信頼性の低下が発生していないか、或いは、信頼性が低下したものの後述の仮想チャンク修復処理の完了により信頼性の高い状態に戻ったことを表す。仮想チャンク種別の値が“0”であれば、信頼性の低下した仮想チャンクであることを表す。具体的には、例えば、仮想チャンク修復処理の最中であることを表す。
この仮想チャンク種別は、RAID修復処理中にホスト計算機100からI/O要求を受けた場合に、アクセス先をどこにするかの判断、具体的には、そのI/O要求から特定されるプライマリ仮想チャンクについて、プライマリストレージシステム200P内の実チャンクにアクセスするのか、或いは、そのプライマリ仮想チャンクに対応するセカンダリの仮想チャンクに割り当てられている実チャンクにアクセスするのかの判断に使用される。
以下、第二の実施例で行われる処理の流れを説明する。
例えば、図9において、物理デバイスで障害が発生した場合、図11に示す、RAID修復処理が実行される。
具体的には、例えば、まず、RAID修復プログラム232Pが、その障害が生じた物理デバイスが属するRAIDグループ270Pに属する論理ボリューム250Pに対応した記憶領域管理テーブル239を参照することにより、その論理ボリューム250Pを構成する複数の実チャンクのうちのどの実チャンクがどの仮想ボリューム280Pのどの仮想チャンクに割り当て済みであるかを特定する。特定された仮想チャンク、つまり信頼性の低下した仮想チャンク毎に、仮想チャンク修復処理が行われる。「信頼性の低下した仮想チャンク」とは、物理デバイスの障害により信頼性が低下した論理ボリューム250Pの実チャンク(信頼性の低下した実チャンク)が割り当てられている仮想チャンクである。図9及び図11の例で言えば、プライマリの仮想チャンク“1”及び“4”が、信頼性の低下した実チャンク“S”及び“A”がそれぞれ割り当てられた信頼性の低下した仮想チャンクであり、仮想チャンク“6”が、信頼性の低下していない論理ボリューム250における実チャンク“K”が割り当てられている信頼性の高い仮想チャンクである。「仮想チャンク修復処理」とは、セカンダリの仮想チャンクからプライマリの仮想チャンク(信頼性の低下した仮想チャンク)にデータを戻すことで、そのプライマリの仮想チャンクに割り当てられる実チャンクを、信頼性の低下している論理ボリューム250Pにある実チャンクから、信頼性の高い論理ボリューム250Pにある実チャンクに変更する処理である。
具体的には、例えば、プライマリストレージシステム200Pにおいて、RAID修復プログラム232Pが、特定された仮想チャンク(例えば仮想チャンク“1”)に対応する仮想チャンク種別(マッピングテーブル233Pにおける、その仮想チャンクに対応したレコード上の仮想チャンク種別)を、“0”(信頼性の低下した仮想チャンクではない)から、“1”(信頼性の低下した仮想チャンクである)に変更する。RAID修復プログラム232Pは、特定されたプライマリの仮想ボリューム280Pの仮想ボリュームIDと、特定された仮想チャンクのLBAとを、コピー制御プログラム233Pに通知する。コピー制御プログラム233Pが、通知されたプライマリの仮想ボリュームID及びLBAを指定したコピーバック要求を、セカンダリストレージシステム200Sのコピー制御プログラム233Sに送信する。
セカンダリストレージシステム200Sにおいて、コピー制御プログラム233Sは、そのコピーバック要求を受信する。コピー制御プログラム233Sは、そのコピーバック要求で指定されているプライマリの仮想ボリュームIDに対応するセカンダリの仮想ボリュームIDを、例えば図示しないコピー管理テーブル(どのボリュームとどのボリュームでペアが構成されているか等を表すテーブル)を参照することにより、特定する。そして、コピー制御プログラム233Sは、特定されたセカンダリの仮想ボリュームIDと、コピーバック要求で指定されているLBAとを、RAID修復プログラム232Sに通知する。RAID修復プログラム232Sは、通知されたセカンダリの仮想ボリュームIDに対応したマッピングテーブル236Sを参照することで、通知されたLBAに対応する仮想チャンク(例えばセカンダリの仮想チャンク“1”)に割り当てられている実チャンク(例えば実チャンク“B”)の論理ボリュームID及びLBAを特定し、特定された論理ボリュームID及びLBAを、コピー制御プログラム233Sに通知する。コピー制御プログラム233Sは、通知された論理ボリュームID及びLBAに対応する実チャンクからデータを読出し、そのデータと、セカンダリの仮想ボリュームID及びLBAとを、プライマリストレージシステム200Pのコピー制御プログラム233Pに送信する。
プライマリストレージシステム200Pにおいて、コピー制御プログラム233Pは、データと、セカンダリの仮想ボリュームID及びLBAとを受信する。コピー制御プログラム233Pは、そのセカンダリの仮想ボリュームIDに対応するプライマリの仮想ボリュームIDを、例えば図示しないコピー管理テーブル(どのボリュームとどのボリュームでペアが構成されているか等を表すテーブル)を参照することにより、特定する。コピー制御プログラム233Pは、特定されたプライマリの仮想ボリュームIDに対応したマッピングテーブル236Pを参照し、上記受信したLBAに対応する仮想チャンク(例えばプライマリの仮想チャンク“1”)に割り当てられている実チャンクの論理ボリュームID及びLBAを、どの仮想チャンクにも割り当てられていない別の論理ボリュームID及びLBAに変更する。つまり、上記受信したLBAに対応する仮想チャンク(例えばプライマリの仮想チャンク“1”)に対する実チャンク(例えば実チャンク“S”)の既存の割当てが解除され、その仮想チャンクには、その実チャンクを有する論理ボリューム250Pとは別の論理ボリューム250Pの実チャンク(例えば実チャンク“M”)が割り当てられる。その別の論理ボリューム250Pは、物理デバイスの障害が生じていない信頼性の高い状態が維持されているRAIDグループ270Pに属する論理ボリューム250Pである。言い換えれば、実チャンクの割り当てが解除された仮想ボリュームに割り当てられる実チャンクは、信頼性の低下している論理ボリューム250Pが属するRAIDグループ270Pとは別のRAIDグループ270Pに属している論理ボリューム250Pにある。
以上の仮想チャンク修復処理が、プライマリの仮想ボリューム280Pにおける、信頼性の低下した仮想チャンク毎に行われる。仮想チャンク修復処理が終了した仮想チャンクに対応する仮想チャンク種別(マッピングテーブル233Pにおける、その仮想チャンクに対応したレコード上の仮想チャンク種別)が、コピー制御プログラム233Pにより、“1”(信頼性の低下した仮想チャンクである)から、“0”(信頼性の低下した仮想チャンクではない)に更新される。
全ての、信頼性の低下した仮想チャンクについて、仮想チャンク修復処理が終了したならば、RAID修復処理が終了したことになる。言い換えれば、RAID修復処理は、仮想チャンク修復処理の集合である。
本実施例では、RAID修復処理の最中であっても、プライマリストレージシステム200Pは、ホスト計算機100から、仮想チャンク修復処理の最中であるプライマリの仮想ボリュームを指定したリード要求を受け付ける。そのリード要求で指定されている仮想チャンクは、信頼性の低下した仮想チャンクであっても良い。
この場合、コントローラ210P(具体的には、例えば、ホストからのリード要求を処理するI/Oプログラム237)は、受信したリード要求で指定されている仮想チャンク(以下、指定プライマリ仮想チャンク)に対応する仮想チャンク種別を参照する。
参照した仮想チャンク種別が“0”であるなら、コントローラ210Pは、通常通り、指定プライマリ仮想チャンクに割り当てられている、プライマリストレージシステム200P内の実チャンクからデータをリードしホスト計算機100に送信する。なぜなら、指定プライマリ仮想チャンクは、信頼性の低下した仮想チャンクではないためである。
参照した仮想チャンク種別が“1”であるなら、コントローラ210Pは、指定プライマリ仮想チャンクに対応するセカンダリの仮想チャンクに割り当てられている、セカンダリストレージシステム200Sにおける実チャンクからデータをリードする。なぜなら、指定プライマリ仮想チャンクは、信頼性の低下した仮想チャンクではある(仮想チャンク修復処理の最中である仮想チャンクである)ためである。
具体的には、コントローラ210Pは、指定プライマリ仮想チャンクを有するプライマリ仮想ボリューム280Pに対応したセカンダリ仮想ボリューム280Sの仮想ボリュームIDと、上記対応するセカンダリ仮想チャンクのLBAとを指定したリード要求を、セカンダリストレージシステム200Sに送信する。それにより、セカンダリストレージシステム200Sにおいて、コントローラ210Sで実行されるI/Oプログラム237S(図示せず)が、そのリード要求を受信し、そのリード要求で指定されているセカンダリ仮想チャンクに対応する実領域からデータをリードし、プライマリストレージシステム200Pに送信する。プライマリストレージシステム200Pでは、コントローラ210P(図示しないI/Oプログラム237P)が、そのデータを、ホスト計算機100に送信する。
上述した第二の実施例によれば、RAID修復処理は、信頼性の低下した仮想チャンクのみについて行われる。これにより、同期型リモートコピーにおいても、短時間で、信頼性の低下している状態から信頼性の高い状態に戻すことができる。
以上、本発明の幾つかの実施例を説明したが、これらは本発明の説明のための例示であって、本発明の範囲をこれらの実施例にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することが可能である。
本発明の第一実施例に係る計算機システムの構成例を示す。 第一実施例におけるストレージシステムのハードウェア構成例を示す。 第一実施例におけるストレージシステムが提供する動的容量割り当て機能の概念図。 第一実施例におけるストレージシステム200が有するプログラムやデータを示す。 第一実施例におけるマッピングテーブルの構成例を示す。 第一実施例における容量プール管理テーブルの構成例を示す。 第一実施例における記憶領域管理テーブルの構成例を示す。 第一実施例におけるRAID修復処理のフローチャートである。 本発明の第二実施例に係るリモートコピーシステムの構成例を示す。 第二実施例においてプライマリストレージシステムが有するマッピングテーブルの構成例を示す。 第二実施例でのRAID修復処理の説明図である。 第二実施例でのRAID修復処理の最中でのI/O制御の説明図である。
符号の説明
100:ホスト計算機
200:ストレージシステム

Claims (7)

  1. 複数の物理記憶デバイスで構成された複数のRAIDグループと、
    前記複数のRAIDグループのうちの少なくとも1つのRAIDグループの記憶領域を基に形成され、それぞれ複数の実領域で構成される複数の論理ボリュームと、
    前記複数の論理ボリュームのうちの少なくとも1つの論理ボリュームを基に形成された容量プールと、
    複数の仮想領域で構成された仮想ボリュームにおけるどの仮想領域にどの実領域が割り当てられているかを表すマッピング情報と、
    どの実領域がどの仮想領域に割り当てられているかを表す実領域管理情報と、
    計算機からライト要求を受信し、そのライト要求で指定されている仮想ボリュームにおける仮想領域に、前記容量プールを形成する何れかの論理ボリュームにおける何れかの実領域を割り当て、割当てた実領域に、そのライト要求に従うデータを書込み、前記マッピング情報及び前記実領域管理情報において、割り当てた実領域を表す情報とその実領域の割当て先の仮想領域を表す情報とを対応付ける入出力制御部と、
    或る物理記憶デバイスで障害が生じた場合、その或る物理記憶デバイスを備えるRAIDグループに属する論理ボリュームが前記容量プールに含まれているか否か判断し、前記容量プールに含まれていないと判断すると、当該論理ボリュームが属するRAIDグループの記憶領域に対してデータのリストア処理を行い、前記容量プールに含まれていると判断すると、当該論理ボリュームを構成するそれぞれの低信頼実領域が、仮想領域に割り当てられているか否かを、前記実領域管理情報を参照することにより判断し、仮想領域に割り当てられていない低信頼実領域については、データのリストア処理を行わず、割り当てられている低信頼実領域について、データのリストア処理を行うリストア制御部とを備えるストレージシステム。
  2. 前記リストア処理では、前記或る物理記憶デバイスが属する前記RAIDグループにおける他の物理記憶デバイスが記憶しているデータ群のうち、前記或る物理記憶デバイスにおけるリストア対象データのリストアに必要なデータを読み出し、読み出したデータを用いて、前記或る物理記憶デバイスに代わる別の物理記憶デバイスに、前記リストア対象データをリストアし、
    前記リストア対象データは、仮想領域に割り当て済みの低信頼実領域に対応した、前記或る物理記憶デバイスにおける記憶領域に記憶されているデータである、
    請求項1記載のストレージシステム。
  3. 前記或る物理記憶デバイスにおける記憶領域と、前記別の物理記憶デバイスにおける前記リストア対象データのリストア先の記憶領域とが、仮想領域に割り当て済みの同一の実領域に対応する、
    請求項2記載のストレージシステム。
  4. 前記ストレージシステムが、プライマリのストレージシステムであり、セカンダリのストレージシステムと接続されており、
    プライマリの仮想ボリュームとセカンダリの仮想ボリュームとの間での同期型リモートコピーを制御するコピー制御部、を更に備え、
    前記プライマリの仮想ボリュームは、複数のプライマリの仮想領域で構成された前記仮想ボリュームであり、
    前記セカンダリの仮想ボリュームは、前記セカンダリのストレージシステムが有し、前記複数のプライマリの仮想領域にそれぞれ対応した複数のセカンダリの仮想領域で構成された仮想ボリュームであり、
    前記コピー制御部が、各低信頼実領域が割り当てられている各低信頼プライマリ仮想領域について、仮想領域修復処理を行い、
    前記仮想領域修復処理では、セカンダリ仮想領域に記憶されているデータの要求を、前記セカンダリストレージシステムに送信し、その要求に従うデータを前記セカンダリストレージシステムから受信し、前記低信頼プライマリ仮想領域に、前記低信頼実領域を含む前記論理ボリュームとは別の論理ボリュームの実領域を割り当て、前記受信したデータを、その別の論理ボリュームの実領域に書込む、請求項1乃至3のうちのいずれか1項に記載のストレージシステム。
  5. 前記入出力制御部が、前記仮想領域修復処理の最中でも、前記プライマリ仮想ボリューム及びプライマリ仮想領域を指定したリード要求を前記計算機から受け付け、受信したリード要求で指定されているプライマリ仮想領域が、前記低信頼プライマリ仮想領域であるか否かを判断し、前記低信頼プライマリ仮想領域でなければ、その指定されているプライマリ仮想領域に割り当てられている実領域にアクセスし、前記低信頼プライマリ仮想領域であれば、そのプライマリ仮想ボリュームに対応したセカンダリ仮想ボリュームと、その指定されているプライマリ仮想領域に対応したセカンダリ仮想領域とを指定したリード要求を、前記セカンダリストレージシステムに送信する、請求項4記載のストレージシステム。
  6. プライマリのストレージシステムと、
    前記プライマリのストレージシステムに接続されたセカンダリストレージシステムとを備え、
    前記プライマリのストレージシステムが、
    複数のプライマリの仮想領域で構成されたプライマリの仮想ボリュームと、
    複数の物理記憶デバイスで構成された複数のRAIDグループと、
    前記複数のRAIDグループのうちの少なくとも1つのRAIDグループの記憶領域を基に形成され、複数の実領域で構成された複数の論理ボリュームと、
    前記複数の論理ボリュームのうちの少なくとも1つの論理ボリュームを基に形成された容量プールと、
    どの仮想領域にどの実領域が割り当てられているかを表すマッピング情報と、
    どの実領域がどの仮想領域に割り当てられているかを表す実領域管理情報と、
    計算機からライト要求を受信し、そのライト要求で指定されている仮想ボリュームにおける仮想領域に、前記容量プールを形成する何れかの論理ボリュームにおける何れかの実領域を割り当て、割当てた実領域に、そのライト要求に従うデータを書込み、前記マッピング情報及び前記実領域管理情報において、実領域の割当て先のプライマリの仮想領域を表す情報とその割り当てた実領域を表す情報とを対応付ける入出力制御部と、
    同期型リモートコピーを行うプライマリのコピー制御部とを備え、
    前記同期型リモートコピーでは、前記ライト要求に従ってプライマリの仮想領域に書き込まれるコピー対象のデータをセカンダリの仮想領域に転送し、それに応答して完了報告を受けた場合に、前記計算機に書込み完了を報告し、
    前記セカンダリのストレージシステムが、
    前記複数のプライマリの仮想領域に対応する複数のセカンダリの仮想領域で構成されたセカンダリの仮想ボリュームと、
    複数の物理記憶デバイスで構成された複数のRAIDグループと、
    前記複数のRAIDグループのうちの少なくとも1つのRAIDグループの記憶領域を基に形成され、複数の実領域で構成された複数の論理ボリュームと、
    前記複数の論理ボリュームのうちの少なくとも1つの論理ボリュームを基に形成された容量プールと、
    どの仮想領域にどの実領域が割り当てられているかを表すマッピング情報と、
    どの実領域がどの仮想領域に割り当てられているかを表す実領域管理情報と、
    コピー元のプライマリの仮想領域に対応したコピー先のセカンダリの仮想領域に、前記容量プールを形成する何れかの論理ボリュームにおける何れかの実領域を割り当て、割当てた実領域に、前記コピー対象のデータを書込み、それが終了した場合に前記完了報告を前記プライマリストレージシステムに送信し、前記マッピング情報及び前記実領域管理情報において、実領域の割当て先のセカンダリの仮想領域を表す情報とその割り当てた実領域を表す情報とを対応付けるセカンダリのコピー制御部とを備え、
    前記プライマリのストレージシステムにおいて、或る物理記憶デバイスで障害が生じた場合であって、その或る物理記憶デバイスを備えるRAIDグループに属する論理ボリュームを構成する低信頼実領域が、プライマリの仮想領域に割り当てられている場合、前記プライマリのコピー制御部が、各低信頼実領域が割り当てられている各低信頼プライマリ仮想領域について、仮想領域修復処理を行い、
    前記仮想領域修復処理では、セカンダリ仮想領域に記憶されているデータの要求を、前記セカンダリストレージに送信し、前記セカンダリのコピー制御部から、その要求に従うデータを受信し、前記低信頼プライマリ仮想領域に、前記低信頼実領域を含む論理ボリュームとは別の論理ボリュームの実領域を割り当て、前記受信したデータを、その別の論理ボリュームの実領域に書込
    前記入出力制御部が、前記仮想領域修復処理の最中でも、前記プライマリ仮想ボリューム及びプライマリ仮想領域を指定したリード要求を前記計算機から受け付け、受信したリード要求で指定されているプライマリ仮想領域が、前記低信頼プライマリ仮想領域であるか否かを判断し、前記低信頼プライマリ仮想領域でなければ、その指定されているプライマリ仮想領域に割り当てられている実領域にアクセスし、前記低信頼プライマリ仮想領域であれば、そのプライマリ仮想ボリュームに対応したセカンダリ仮想ボリュームと、その指定されているプライマリ仮想領域に対応したセカンダリ仮想領域とを指定したリード要求を、前記セカンダリストレージシステムに送信する、リモートコピーシステム。
  7. 複数の物理記憶デバイスで構成された複数のRAIDグループと、前記複数のRAIDグループのうちの少なくとも1つのRAIDグループの記憶領域を基に形成され、それぞれ複数の実領域で構成される複数の論理ボリュームと、
    前記複数の論理ボリュームのうちの少なくとも1つの論理ボリュームを基に形成された容量プールとを備えたストレージシステムのコントローラであって、
    どの仮想領域にどの実領域が割り当てられているかを表すマッピング情報と、
    どの実領域がどの仮想領域に割り当てられているかを表す実領域管理情報と、
    計算機からライト要求を受信し、そのライト要求で指定されている仮想ボリュームにおける仮想領域に、前記容量プールを形成する何れかの論理ボリュームにおける何れかの実領域を割り当て、割当てた実領域に、そのライト要求に従うデータを書込み、前記マッピング情報及び前記実領域管理情報において、実領域の割り当て先の仮想領域を表す情報とその割り当てた実領域を表す情報とを対応付ける入出力制御部と、
    或る物理記憶デバイスで障害が生じた場合、その或る物理記憶デバイスを備えるRAIDグループに属する論理ボリュームが前記容量プールに含まれているか否か判断し、前記容量プールに含まれていないと判断すると、当該論理ボリュームが属するRAIDグループの記憶領域に対してデータのリストア処理を行い、前記容量プールに含まれていると判断すると、当該論理ボリュームを構成するそれぞれの低信頼実領域が、仮想領域に割り当てられているか否かを、前記実領域管理情報を参照することにより判断し、仮想領域に割り当てられていない低信頼実領域については、データのリストア処理を行わず、割り当てられている低信頼実領域について、データのリストア処理を行うリストア制御部とを備えるコントローラ。
JP2007291808A 2007-11-09 2007-11-09 障害の発生した記憶装置に記憶されているデータを修復するストレージシステム Active JP4958739B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2007291808A JP4958739B2 (ja) 2007-11-09 2007-11-09 障害の発生した記憶装置に記憶されているデータを修復するストレージシステム
US12/128,974 US7917805B2 (en) 2007-11-09 2008-05-29 Storage system for restoring data stored in failed storage device
US13/035,950 US8522071B2 (en) 2007-11-09 2011-02-26 Storage system for restoring data stored in failed storage device
US13/963,440 US8762768B2 (en) 2007-11-09 2013-08-09 Storage system for restoring data stored in failed storage device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007291808A JP4958739B2 (ja) 2007-11-09 2007-11-09 障害の発生した記憶装置に記憶されているデータを修復するストレージシステム

Publications (2)

Publication Number Publication Date
JP2009116783A JP2009116783A (ja) 2009-05-28
JP4958739B2 true JP4958739B2 (ja) 2012-06-20

Family

ID=40624830

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007291808A Active JP4958739B2 (ja) 2007-11-09 2007-11-09 障害の発生した記憶装置に記憶されているデータを修復するストレージシステム

Country Status (2)

Country Link
US (3) US7917805B2 (ja)
JP (1) JP4958739B2 (ja)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4800059B2 (ja) 2006-02-13 2011-10-26 株式会社日立製作所 仮想ストレージシステム及びその制御方法
JP5140633B2 (ja) * 2008-09-04 2013-02-06 株式会社日立製作所 仮想化環境において生じる障害の解析方法、管理サーバ、及びプログラム
EP2396717A1 (en) * 2009-02-11 2011-12-21 Infinidat Ltd Virtualized storage system and method of operating it
US8397046B2 (en) * 2009-03-26 2013-03-12 Hitachi, Ltd. Method and apparatus for deploying virtual hard disk to storage system
US8285952B2 (en) 2009-09-17 2012-10-09 Hitachi, Ltd. Method and apparatus to utilize large capacity disk drives
US8479210B2 (en) * 2009-10-20 2013-07-02 International Business Machines Corporation Evenly distributing workload and providing a predictable failover scenario in a data replication system
JP5532982B2 (ja) 2010-02-03 2014-06-25 富士通株式会社 ストレージ装置、ストレージ装置のコントローラおよびストレージ装置の記憶領域割当方法
JP5549249B2 (ja) 2010-02-04 2014-07-16 富士通株式会社 ストレージ装置、ストレージ装置のデータ復元方法及びストレージコントローラ
US8341457B2 (en) * 2010-03-11 2012-12-25 Lsi Corporation System and method for optimizing redundancy restoration in distributed data layout environments
US8341368B2 (en) 2010-06-07 2012-12-25 International Business Machines Corporation Automatic reallocation of structured external storage structures
US8838910B2 (en) 2010-06-07 2014-09-16 International Business Machines Corporation Multi-part aggregated variable in structured external storage
US8566541B2 (en) * 2010-09-14 2013-10-22 Hitachi, Ltd. Storage system storing electronic modules applied to electronic objects common to several computers, and storage control method for the same
US9323466B2 (en) 2011-04-27 2016-04-26 Commvault Systems, Inc. System and method for client policy assignment in a data storage system
US8954787B2 (en) * 2011-05-09 2015-02-10 Cleversafe, Inc. Establishing trust in a maintenance free storage container
US8627034B2 (en) 2011-06-15 2014-01-07 Hitachi, Ltd. Storage control apparatus and storage control method
US8935499B2 (en) 2011-10-17 2015-01-13 International Business Machines Corporation Interface for management of data movement in a thin provisioned storage system
US9229637B2 (en) * 2011-11-18 2016-01-05 Hitachi, Ltd. Volume copy management method on thin provisioning pool of storage subsystem
US20130238852A1 (en) * 2012-03-07 2013-09-12 Hitachi, Ltd. Management interface for multiple storage subsystems virtualization
JP5891890B2 (ja) * 2012-03-26 2016-03-23 富士通株式会社 ストレージシステム、ストレージ装置およびデータ復元方法
JP6197488B2 (ja) * 2013-08-28 2017-09-20 日本電気株式会社 ボリューム管理装置、ボリューム管理方法及びボリューム管理プログラム
KR101646149B1 (ko) * 2014-06-20 2016-08-08 제노테크주식회사 분산 저장환경의 데이터공유 및 관리를 위한 소프트웨어 정의 저장방법
US10372538B2 (en) * 2015-03-06 2019-08-06 Hitachi, Ltd. Computer system
US10365972B2 (en) * 2015-04-30 2019-07-30 Hewlett-Packard Development Company, L.P. Storage systems
US9921913B2 (en) * 2016-05-12 2018-03-20 Dell Products L.P. Flushing host cache data before rebuilding degraded redundant virtual disk
US20180143766A1 (en) * 2016-11-18 2018-05-24 International Business Machines Corporation Failure protection copy management
JP6853227B2 (ja) * 2018-10-10 2021-03-31 株式会社日立製作所 ストレージシステム及びストレージ制御方法
CN111124746B (zh) * 2018-10-30 2023-08-11 伊姆西Ip控股有限责任公司 管理独立盘冗余阵列的方法、设备和计算机可读介质
RU2707940C1 (ru) * 2019-02-11 2019-12-02 федеральное государственное казенное военное образовательное учреждение высшего образования "Краснодарское высшее военное училище имени генерала армии С.М. Штеменко" Министерства обороны Российской Федерации Способ многоуровневого контроля и обеспечения целостности данных
JP7519408B2 (ja) * 2022-06-20 2024-07-19 株式会社日立製作所 計算機システム、及び冗長化要素構成方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0581103A (ja) * 1991-09-19 1993-04-02 Nec Software Ltd 二重化フアイル復旧方式
US6519679B2 (en) * 1999-06-11 2003-02-11 Dell Usa, L.P. Policy based storage configuration
JP3579389B2 (ja) * 2001-11-30 2004-10-20 株式会社東芝 ディスクアレイ装置及び同装置におけるデータ復旧方法
US7152078B2 (en) * 2001-12-27 2006-12-19 Hitachi, Ltd. Systems, methods and computer program products for backup and restoring storage volumes in a storage area network
JP4438457B2 (ja) * 2003-05-28 2010-03-24 株式会社日立製作所 記憶領域割当方法、システム及び仮想化装置
US7149859B2 (en) * 2004-03-01 2006-12-12 Hitachi, Ltd. Method and apparatus for data migration with the efficient use of old assets
US7490270B2 (en) * 2004-11-09 2009-02-10 Dell Products L.P. Method, system, and software for rebuilding a storage drive
JP4927408B2 (ja) * 2006-01-25 2012-05-09 株式会社日立製作所 記憶システム及びそのデータ復元方法
JP5048760B2 (ja) * 2006-05-24 2012-10-17 コンペレント・テクノロジーズ Raid管理、再割振り、およびリストライピングのためのシステムおよび方法
JP4902403B2 (ja) * 2006-10-30 2012-03-21 株式会社日立製作所 情報システム及びデータ転送方法
JP5244332B2 (ja) * 2006-10-30 2013-07-24 株式会社日立製作所 情報システム、データ転送方法及びデータ保護方法
JP5057366B2 (ja) * 2006-10-30 2012-10-24 株式会社日立製作所 情報システム及び情報システムのデータ転送方法
US8554981B2 (en) * 2007-02-02 2013-10-08 Vmware, Inc. High availability virtual machine cluster
EP2211262A3 (en) * 2009-01-23 2013-01-09 Infortrend Technology, Inc. Method for performing storage virtualization in a storage system architecture

Also Published As

Publication number Publication date
US7917805B2 (en) 2011-03-29
JP2009116783A (ja) 2009-05-28
US20130326139A1 (en) 2013-12-05
US8762768B2 (en) 2014-06-24
US20090125680A1 (en) 2009-05-14
US8522071B2 (en) 2013-08-27
US20110167294A1 (en) 2011-07-07

Similar Documents

Publication Publication Date Title
JP4958739B2 (ja) 障害の発生した記憶装置に記憶されているデータを修復するストレージシステム
CN101571815B (zh) 信息系统及i/o处理方法
JP6009095B2 (ja) ストレージシステム及び記憶制御方法
US20120023287A1 (en) Storage apparatus and control method thereof
JP5080611B2 (ja) ThinProvisioningが適用されたストレージ装置
US20100169575A1 (en) Storage area managing apparatus and storage area managing method
US7587631B2 (en) RAID controller, RAID system and control method for RAID controller
JP2008204041A (ja) ストレージ装置及びデータ配置制御方法
US8943359B2 (en) Common hot spare for multiple RAID groups
JP2015156081A (ja) ストレージ制御装置,ストレージシステム及び制御プログラム
CN115480909B (zh) 存储系统和数据处理方法
US8832396B2 (en) Storage apparatus and its control method
JP4911198B2 (ja) ストレージ制御装置、ストレージシステムおよびストレージ制御方法
US20170315725A1 (en) Changing Storage Volume Ownership Using Cache Memory
JP4491330B2 (ja) ディスクアレイ装置とそのデータのリカバリ方法およびデータリカバリプログラム
US20180307427A1 (en) Storage control apparatus and storage control method
US8732422B2 (en) Storage apparatus and its control method
CN105068896A (zh) 基于raid备份的数据处理方法及装置
JP2025074687A (ja) ストレージ装置及びエラー処理方法
US8930485B2 (en) Information processing apparatus and non-transitory computer-readable recording medium having program stored thereon
JP6957845B2 (ja) ストレージ制御装置及びストレージ装置
JP2011232941A (ja) ディスクアレイ装置、及び、ミラーリング制御方法
JP2025114202A (ja) ストレージシステム及びストレージシステムにおける障害対処方法
JP2022020926A (ja) ストレージシステム及び処理移行方法
JP2015099495A (ja) ストレージ制御装置、ストレージ制御方法及びストレージ制御プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100122

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120127

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

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

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

Free format text: PAYMENT UNTIL: 20150330

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150