JP2007299114A - 記憶システム及びデータ保存方法 - Google Patents
記憶システム及びデータ保存方法 Download PDFInfo
- Publication number
- JP2007299114A JP2007299114A JP2006125090A JP2006125090A JP2007299114A JP 2007299114 A JP2007299114 A JP 2007299114A JP 2006125090 A JP2006125090 A JP 2006125090A JP 2006125090 A JP2006125090 A JP 2006125090A JP 2007299114 A JP2007299114 A JP 2007299114A
- Authority
- JP
- Japan
- Prior art keywords
- data
- storage
- storage apparatus
- primary
- redundant data
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6209—Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
【課題】データの冗長先を自動かつフレキシブルに変更させ、システムの変更時のデータの真正性を証明する記憶システム及びデータ保存方法を提案する。
【解決手段】正側ストレージ装置では、前記冗長データを保存するための副側ストレージ装置を検索する検索部と、前記データが真正であることを示す正側の真正情報を生成する正側生成部とを備え、副側ストレージ装置では、前記冗長データが真正であることを示す副側の真正情報を生成する副側生成部を備え、前記正側の真正情報と前記副側の真正情報とが一致した場合に、前記データを前記正側ストレージ装置の保存領域に保存する正側保存部と、前記冗長データを前記副側ストレージ装置の保存領域に保存する副側保存部とを備えるようにした。
【選択図】図2
【解決手段】正側ストレージ装置では、前記冗長データを保存するための副側ストレージ装置を検索する検索部と、前記データが真正であることを示す正側の真正情報を生成する正側生成部とを備え、副側ストレージ装置では、前記冗長データが真正であることを示す副側の真正情報を生成する副側生成部を備え、前記正側の真正情報と前記副側の真正情報とが一致した場合に、前記データを前記正側ストレージ装置の保存領域に保存する正側保存部と、前記冗長データを前記副側ストレージ装置の保存領域に保存する副側保存部とを備えるようにした。
【選択図】図2
Description
本発明は、記憶システム及びデータ保存方法に関し、特に長期間に渡るデータの保存を必要とする記憶システムに適用して好適なものである。
今日では内外国を問わず、大容量のデータを記憶システムに長期間に渡り保存することが要求される。しかしながら当該データは、外部記憶装置の耐久年数を超えて保存する必要があるため、記憶システム自体による故障等の障害発生や記憶システム内の改良に伴う交換の際には、データの喪失を防ぐ必要がある。
そこでまず、記憶システム内にあるストレージ装置を、一組の現用のストレージ装置及び予備用のストレージ装置として用いることで、データの喪失を防ぐ技術が開示されている(特許文献1参照)。この技術によれば、ストレージ装置の故障等の障害発生を予め判定しておくことで、事前に現用のストレージ装置から予備用のストレージ装置に主装置を切り替えておくことができる。
次に、記憶システムの改良に伴う交換をする際に、ホスト装置から記憶システムへのアクセスを制御し、記憶システム内にあるクロック回路から提供されるタイムスタンプ(現在の日付と時刻)をメモリ内にログとして記録することでデータを保存する技術が開示されている(特許文献2参照)。この技術によれば、現時点での記憶システムの動作状況を性格に把握することができる。
特開平7−129331号公報
特開2005−301980号公報
しかしながら、特許文献1において提案された技術によると、予め常に一組のストレージ装置を複数用意しなければならず、通常単体で運用するストレージ装置に比べると、倍の容量を必要とする。そしてこのような技術は、冗長先である予備用のストレージ装置をフレキシブルに変更することができないという問題があった。
また、特許文献2において提案された技術によると、記憶システム内にログの記録は残るものの、データ自体の記録は残らないため、万一ログが改ざんされてもデータの真正性を証明することが難しいという問題もあった。
本発明は、以上の点を考慮してなされたもので、データの冗長先を自動かつフレキシブルに変更させ、システムの変更時のデータの真正性を証明する記憶システム及びデータ保存方法を提案しようとするものである。
かかる課題を解決するため本発明は、データを保存する保存領域を有する正側ストレージ装置と当該データの冗長データを保存する保存領域を有する副側ストレージ装置とを少なくとも2台以上備える記憶システムにおいて、正側ストレージ装置は、前記冗長データを保存するための副側ストレージ装置を検索する検索部と、前記データが真正であることを示す正側の真正情報を生成する正側生成部とを備え、副側ストレージ装置は、前記冗長データが真正であることを示す副側の真正情報を生成する副側生成部を備え、前記正側の真正情報と前記副側の真正情報とが一致した場合に、前記データを前記正側ストレージ装置の保存領域に保存する正側保存部と、前記冗長データを前記副側ストレージ装置の保存領域に保存する副側保存部とを備えることを特徴とする。
この結果、この記憶システムでは、正側ストレージ装置が冗長データの保存先としてフレキシブルに副側ストレージ装置を検索でき、同一データが正側ストレージ装置及び副側ストレージ装置に常時少なくとも2ヶ所以上保存することができる。
また本発明は、データを保存する保存領域を有する正側ストレージ装置と当該データの冗長データを保存する保存領域を備える副側ストレージ装置とを少なくとも2台以上備える記憶システムのデータ保存方法において、正側ストレージ装置が、前記冗長データを保存するための副側ストレージ装置を検索する第1のステップと、前記データが真正であることを示す正側の真正情報を生成する第2のステップと、副側ストレージ装置が、前記冗長データが真正であることを示す副側の真正情報を生成する第3のステップと、前記正側の真正情報と前記副側の真正情報とが一致した場合に、前記データを前記正側ストレージ装置の保存領域に保存し、前記冗長データを前記副側ストレージ装置の保存領域に保存する第4のステップとを備えることを特徴とする。
この結果、このデータ保存方法では、正側ストレージ装置が冗長データの保存先としてフレキシブルに副側ストレージ装置を検索でき、同一データが正側ストレージ装置及び副側ストレージ装置に常時少なくとも2ヶ所以上保存することができる。
本発明によれば、データの冗長先を自動かつフレキシブルに変更させ、システムの変更時のデータの真正性を証明することができる。
以下図面について、本発明の一実施の形態を詳述する。
ディスク装置やフラッシュメモリ等の記憶装置の耐久年数を超えるような長い期間、データを保存することが必要な場合がある。このデータの保存が必要な期間内に、記憶装置の故障や老朽化に伴う記憶装置の交換が生じる場合がある。また、格納すべきデータ量やシステム構成の変更に伴い、記憶装置の台数が増減する場合や、記憶装置が異種の装置へ変更される場合もある。
このようにストレージシステムの構成変更や記憶装置のリプレース等に伴い、格納されていた長期保存対象のデータが、従来と同じ記憶装置で格納を続けることが難しくなり、データを移行することが必要な場合がある。
本実施の形態においては、記憶装置の耐久年数を超える長期保存対象のデータに関し、長期保存期間中にデータを移行する必要が生じた場合であっても、データの内容の整合性を保証する機能および方法を提供する。また、記憶装置が交換された場合や、システム構成の変更が生じた場合に、データを分割して記憶装置へ格納しなければならない場合も、分割された各々のデータについての真正性を確認する機能および方法を提供する。
(1)本実施の形態による記憶システムの構成
図1において、1は全体として本実施の形態による記憶システムを示す。この記憶システム1は、それぞれサービスプロセッサ4が接続された複数のストレージ装置3がネットワーク5を介して接続され、これら複数のストレージ装置3のうちの1つのストレージ装置3Aにホスト装置2が接続されることにより構成されている。
図1において、1は全体として本実施の形態による記憶システムを示す。この記憶システム1は、それぞれサービスプロセッサ4が接続された複数のストレージ装置3がネットワーク5を介して接続され、これら複数のストレージ装置3のうちの1つのストレージ装置3Aにホスト装置2が接続されることにより構成されている。
ホスト装置2は、CPU(Central Processing Unit)やメモリ等の情報処理資源を備えたコンピュータ装置であり、例えばパーソナルコンピュータや、ワークステーション、メインフレームなどから構成される。またホスト装置2は、キーボード、スイッチやポインティングデバイス、マイクロフォン等の情報入力装置(図示せず)と、モニタディスプレイやスピーカ等の情報出力装置(図示せず)とを備える。
ネットワーク5は、例えばSAN(Storage Area Network)、LAN(Local Area Network)、インターネット、公衆回線又は専用回線などから構成される。このネットワーク5を介したホスト装置2及び各ストレージ装置間の通信は、例えばネットワーク5がSANである場合にはファイバーチャネルプロトコルに従って行われ、ネットワーク5がLANである場合にはTCP/IP(Transmission Control Protocol/Internet Protocol)プロトコルに従って行われる。
サービスプロセッサ4は、ストレージ装置3の保守又は管理のために操作されるコンピュータ装置であり、例えばノート型のパーソナルコンピュータから構成される。このサービスプロセッサ4は、ストレージ装置3を介してホスト装置2が接続されており、ホスト装置2からデータ或いは命令を受信することができる。サービスプロセッサ4は、ストレージ装置3内の障害発生を監視してディスプレイ画面(図示せず)に表示することができる。
ストレージ装置3は、図2に示すように、ストレージ装置3を制御するためのストレージ制御装置30と、ホスト装置2から要求される書き込みデータ又は読み出しデータを保存するためのストレージユニット31とを備えて構成される。
ストレージ制御装置30は、ポート制御部300、CPU301、メモリ制御部302、装置間接続制御部303及びストレージ制御部306を備えて構成される。
ポート制御部300は、ネットワーク5に対するポート(図示せず)によりデータの入出力を制御する制御部である。当該ポートには、WWN(World Wide Name)やIP(Internet Protocol)アドレスなどのネットワークアドレスが付与される。
CPU301は、ストレージ装置3全体の動作制御を司るプロセッサであり、メモリ307に格納されたシステムプログラム310や管理テーブル319に従って各種処理を実行する。
メモリ制御部302は、メモリ307内に格納されたシステムプログラム310や管理テーブル319を制御する制御部である。システムプログラム310や管理テーブル319については、後で詳細に説明する。
装置間接続制御部303は、ネットワーク5を介して接続された複数のストレージ装置3間の通信を制御する制御部である。装置間接続制御部303は、ストレージ装置3間の空き容量や稼働状況等の装置管理情報を通信するための装置間通信部304と、ストレージ装置に格納されるデータを他のストレージ装置へ転送するために当該データの通信を制御する装置間データ転送部305とを備えて構成される。
ストレージ制御部306は、ストレージユニット31に格納されるデータの保存領域324を制御する制御部である。
ストレージユニット31は、長期間に渡り保存を必要とするデータを格納する保存領域324と、長期間に渡る保存を必要としない通常のデータを格納する通常領域325とから構成される。保存領域324や通常領域325には、ハードディスクドライブHDD単位でデータが格納される。
(2)本実施の形態による管理テーブルの構成
次に、本実施の形態によるストレージ制御装置30のメモリ307に格納される管理テーブル319について説明する。
次に、本実施の形態によるストレージ制御装置30のメモリ307に格納される管理テーブル319について説明する。
なお、図1に示す記憶システム1において、便宜上、正側ストレージ装置をストレージ装置3Aとし、副側ストレージ装置をその他のストレージ装置3B〜3Nとするが、この例に限られるものではない。
この記憶システム1は、正側ストレージ装置3Aがデータの保存先として少なくとも2ヶ所以上のストレージ装置にフレキシブルに保存できるように副側ストレージ装置3B〜3Nを検索して、データと冗長データとが同一データであるとの正側真正情報及び副側真正情報を正側ストレージ装置3A及び副側ストレージ装置3B〜3N内でそれぞれ生成し、当該正側ストレージ装置3A及び副側ストレージ装置3B〜3Nの各々の保存領域324に、正側真正情報及び副側真正情報が一致した場合に同一のデータを保存できる点を特徴の1つとしている。
そのための手段として管理テーブル319には、装置テーブル320と、データ管理テーブル321と、ストレージ管理テーブル322と、統計情報テーブル323とが格納されている。
(2−1)装置テーブル
装置テーブル320は、副側ストレージ装置3B〜3Nに格納されたデータの管理情報を正側ストレージ装置3Aが副側ストレージ装置3B〜3Nの装置テーブルから独立させ、かつ、個別に全てのストレージ装置3を管理するためのテーブルであり、図3に示すように、「装置ID」フィールド320Aと、「個別識別ID」フィールド329Bとから構成される。
装置テーブル320は、副側ストレージ装置3B〜3Nに格納されたデータの管理情報を正側ストレージ装置3Aが副側ストレージ装置3B〜3Nの装置テーブルから独立させ、かつ、個別に全てのストレージ装置3を管理するためのテーブルであり、図3に示すように、「装置ID」フィールド320Aと、「個別識別ID」フィールド329Bとから構成される。
「装置ID」フィールド320Aには、正側ストレージ装置3A内で全てのストレージ装置3を識別するための装置IDが格納される。また、「個別識別ID」フィールド320Bには、全てのストレージ装置3を特定するためのシリアル番号に相当する個別識別IDが格納される。
したがって例えば、図3に示すように、「装置ID」が「S0」であるストレージ装置の個別識別IDは「xx−xx−xx−xx−xx−xA」であることを示す。
(2−2)データ管理テーブル
データ管理テーブル321は、長期間に渡り保存を必要とするデータを正側ストレージ装置3Aで管理する保存情報と、副側ストレージ装置3B〜3Nで冗長データを管理する保存情報とを管理するためのテーブルであり、図4に示すように、「データID」フィールド321A、「保存エリア」フィールド321B、「冗長先保存エリア」フィールド321C、「データ作成日」フィールド321D、「最終チェック日」フィールド321Eとから構成される。
データ管理テーブル321は、長期間に渡り保存を必要とするデータを正側ストレージ装置3Aで管理する保存情報と、副側ストレージ装置3B〜3Nで冗長データを管理する保存情報とを管理するためのテーブルであり、図4に示すように、「データID」フィールド321A、「保存エリア」フィールド321B、「冗長先保存エリア」フィールド321C、「データ作成日」フィールド321D、「最終チェック日」フィールド321Eとから構成される。
まず「データID」フィールド321Aは、正側ディスク装置3Aに保存されたデータを識別するためのデータIDが格納される。
そして「保存エリア」フィールド321Bは、ストレージユニット31内の保存領域324での保存先情報が格納さる。さらに「保存エリア」フィールド321Bは、「パリティグループ」フィールド321F、「先頭アドレス」フィールド321G、「データ長」フィールド321Hから構成される。
「パリティグループ」フィールド321Fには、1つのデータを複数のハードディスクドライブHDDで分散し保存するために構成されたパリティ群の名称が格納され、データがどのパリティに保存されているかを示している。また、「先頭アドレス」フィールド321Gには、保存されるデータの先頭アドレスが格納され、「データ長」フィールド321Hには、保存されるデータの長さが格納される。
「冗長先保存エリア」フィールド321Cは、正側ストレージ装置3Aに保存されたデータの冗長先を管理する情報が格納される。そして、「冗長先保存エリア」フィールド321Cは、「装置ID」フィールド321I、「データID」フィールド321Jから構成されている。「装置ID」フィールド321Iには、正側ストレージ装置3Aが個別に管理する冗長先の副側ストレージ装置3B〜3Nの装置IDが格納され、「データID」フィールド321Jには、冗長データのデータIDが格納される。
「データ作成日」フィールド321Dには、データを作成した年月日が格納される。また、「最終チェック日」フィールド321Eには、当該データを最後に確認した日が格納される。
例えば図4に示すように「データID」が「D0」の識別情報をもつデータの「パリティグループ」フィールド321Fの「パリティグループ」は「PG1」であり、「先頭アドレス」が「X0000」かつ、「データ長」が「1024」のデータであることを示している。そしてこのデータと同一データである冗長データ「D0」を保存する副側ストレージ装置3B〜3Nを、正側ストレージ装置3A内では「S1」と名づけ、正側ストレージ装置3Aのデータ管理テーブル321内で管理されることを示す。さらにこのデータ「D0」のデータ作成日は「2006年1月1日」であり、このデータを最後に確認した日は「2006年2月1日」であることを示す。
(2−3)装置テーブルとデータ管理テーブルとの相互関係
ここで、上述した2つのテーブルと複数のストレージ装置とがどのように相互に連携され管理されているのかを説明する。
ここで、上述した2つのテーブルと複数のストレージ装置とがどのように相互に連携され管理されているのかを説明する。
図5には、正側ストレージ装置3A内で管理される装置テーブル320とデータ管理テーブル321と、副側ストレージ装置3B内で管理される装置テーブル320とデータ管理テーブル321との連携図を示している。
まず、正側ストレージ装置3Aの装置テーブル320とデータ管理テーブル321の相互関係を説明する。「個別識別ID」が「xx−xx−xx−xx−xx−xB」をもつ、あるストレージ装置に着目すると、「装置ID」が「S1」と名づけられたストレージ装置であることを示している。同様に、副側ストレージ装置3Bの装置テーブル320とデータ管理テーブル321の相互関係も、「個別識別ID」が「xx−xx−xx−xx−xx−xA」をもつ、あるストレージ装置に着目すると、「装置ID」が「S1」と名づけられたストレージ装置に保存されていることを示している。
次に、正側ストレージ装置3Aの装置テーブル320と副側ストレージ装置3Bの装置テーブル320の相互関係を説明する。
まず、個別識別IDが共通のIDは同一のストレージ装置であることを示す。したがって、例えば「個別識別ID」が「xx−xx−xx−xx−xx−xB」の、あるストレージ装置に着目すると、正側ストレージ装置3Aの装置テーブル320では、このIDをもつストレージ装置は、「装置ID」が「S1」と名づけられ管理されている一方、副側ストレージ装置3Bの装置テーブル320では、このIDもつストレージ装置の「装置ID」は「S0」と名づけられ管理されていることを示している。
上述のように、各ストレージ装置はそれぞれのストレージ装置内で共通の個別識別IDを有しつつ、この個別識別IDに対応する独立した装置IDを名づけて管理していることがわかる。したがって各ストレージ装置が、各テーブル内で同じ装置IDを有していても個別識別IDが異なれば、異なるストレージ装置であることを示す。たとえば、正側ストレージ装置3Aの装置テーブル320の「装置ID」の「S1」と、副側ストレージ装置3Bの装置テーブル320の「装置ID」の「S1」とは、異なる装置であることを示している。
このように正側ストレージ装置3A内で、副側ストレージ装置とは独立して全てのストレージ装置3を管理するため、ストレージ装置3を追加又は削除する場合にもシステムの変更処理をし易くするように設定されていることがわかる。
(2−4)ストレージ管理テーブル
ストレージ管理テーブル322は、ストレージユニット31の保存領域324を管理するためのテーブルであり、図6に示すように、「エリアID」フィールド322Aと、「保存エリア」フィールド322Bとから構成される。
ストレージ管理テーブル322は、ストレージユニット31の保存領域324を管理するためのテーブルであり、図6に示すように、「エリアID」フィールド322Aと、「保存エリア」フィールド322Bとから構成される。
「エリアID」フィールド322Aには、ストレージユニット31の保存領域IDが格納され、「保存エリア」フィールド322Bには、ストレージユニット31の保存領域324の保存情報が格納される。そして「保存エリア」フィールド322Bは、さらに「パリティグループ」フィールド322C、「総容量」フィールド322D、「空き容量」フィールド322Dから構成される。
「パリティグループ」フィールド322Cは、上述のデータ管理テーブル321で説明したので省略する。また「総容量」フィールド322Dは、保存領域324内の指定エリアにデータを保存できる総容量情報が格納され、「空き容量」フィールド322Eには、保存領域324内の指定エリアの空き容量情報が格納される。
例えば図2に示すように、保存領域324内の「パリティグループ」が「PG1」である保存領域の「エリアID」は「A0」であり、このエリアの「総容量」は「300GB」であり、そのうち「空き容量」は「250GB」であることを示している。
(2−5)統計情報テーブル
統計情報テーブル323は、各々のストレージ装置の統計情報を管理するためのテーブルである。この統計情報テーブル323は、図7に示すように、「ハードストレージID」フィールド323A、「エリアID」フィールド323B、「エラー回数」フィールド323C、「使用開始日」フィールド323D、「稼働時間累計」フィールド323Eから構成される。
統計情報テーブル323は、各々のストレージ装置の統計情報を管理するためのテーブルである。この統計情報テーブル323は、図7に示すように、「ハードストレージID」フィールド323A、「エリアID」フィールド323B、「エラー回数」フィールド323C、「使用開始日」フィールド323D、「稼働時間累計」フィールド323Eから構成される。
そして「ハードストレージID」フィールド323Aには、パリティグループを構成するハードストレージIDが格納される。「エリアID」フィールド323Bは、ストレージ管理テーブル322で説明したので省略する。また、「エラー回数」フィールド323Cは、保存領域324の該当エリア内での稼動中のエラー発生回数が格納される。そして、「使用開始日」フィールド323Dは、保存領域324の該当エリアでの使用開始日が格納される。さらに「稼動時間累計」フィールドは、保存領域324の該当エリア内の稼働時間の総時間数が格納される。
例えば図7に示すように、「ハードストレージID」が「H0」である保存領域324内のエリア「A0」は、「エラー回数」が「0」回であり、このエリアの使用開始日は、「2006年1月1日」であり、総稼働時間が「744時間」であることを示している。
(3)本実施の形態によるシステム処理
次に、本実施の形態によるシステム処理について説明する。
次に、本実施の形態によるシステム処理について説明する。
(3−1)ストレージ装置を追加する場合
(3−1−1)構成管理処理
まず、本願のデータ保護処理を説明する前に、記憶システム1に新規なストレージ装置を追加したときに、既存のストレージ装置が当該新規のストレージ装置を認識するまでの処理手順を説明する。なお、以下においては、新規のストレージ装置をストレージ装置3Nとし、既存のストレージ装置をストレージ装置3A〜3Cとして説明をする。
(3−1−1)構成管理処理
まず、本願のデータ保護処理を説明する前に、記憶システム1に新規なストレージ装置を追加したときに、既存のストレージ装置が当該新規のストレージ装置を認識するまでの処理手順を説明する。なお、以下においては、新規のストレージ装置をストレージ装置3Nとし、既存のストレージ装置をストレージ装置3A〜3Cとして説明をする。
図8は、構成管理処理に関する新規のストレージ装置3NのCPU301及び既存のストレージ装置3A〜3CのCPU301の処理内容を示すフローチャートである。新規ストレージCPU301及び既存ストレージCPU301は、それぞれメモリ307内に格納された構成管理プログラム311に基づいて構成管理処理を実行することにより、既存のストレージ装置3A〜3Cに新規なストレージ装置3Nの管理情報を追加する。
すなわち、新規のストレージ装置3NのCPU301は、記憶システム1内に新設したときに構成管理処理を開始し(SP0)、まず、新たに取得した個別識別IDを既存のストレージ装置3A〜3Cへ送信する(SP1)。新規のストレージ装置3NのCPU301は、新規なストレージ装置3Nの個別識別IDが装置テーブル320に追加された既存のストレージ装置3A〜3Cから送信される個別識別IDを受信すると(SP2)、新規なストレージ装置3N内の装置テーブル320に個別識別ID及び装置IDを追加する(SP3)。そうして新規のストレージ装置3NのCPU301は、新規なストレージ装置3N内のデータ管理テーブル321を初期化し(SP4)、統計情報テーブル323を初期化し(SP5)、この処理を終了する(SP6)。
続いて、既存のストレージ装置3A〜3NのCPU301では、ステップ1と同様に、記憶システム1内に新規なストレージ装置3Nを新設したときに処理を開始する(SP10)。そして既存のストレージ装置3A〜3NのCPU301は、新規なストレージ装置3Nの個別識別IDを受信する(SP11)。既存のストレージ装置3A〜3NのCPU301は、既存のストレージ装置3A〜3N内の装置テーブル320を確認し(SP12)、当該個別識別IDが新規なIDか否かを判断する(SP13)。
そして、既存のストレージ装置3A〜3NのCPU301は、当該個別識別IDを新規なIDと判断した場合には(SP13:YES)、装置テーブル320に当該個別識別IDを追加して(SP14)、新規なストレージ装置3Nへ当該個別識別IDを送信し(SP15)、この処理を終了する(SP16)。一方、既存のストレージ装置3A〜3NのCPU301は当該個別識別IDを新規なIDではないと判断した場合には(SP13:NO)、この構成管理情報処理を終了する(SP16)。
構成管理処理により、記憶システム1は、新規なストレージ装置Nを簡易に構築することができる。
(3−2)データを長期間保存する場合
(3−2−1)データ保護処理
次に、記憶システム1内に、データの保存先として少なくとも2ヶ所以上のストレージ装置に保存し、データの真正情報を作成してデータの真正性を証明することで、当該データを保護する処理手順を説明する。なお、図1の記憶システムにおいて、当該構成管理処理においては、正側ストレージ装置をストレージ装置3Aとし、副側ストレージ装置をストレージ装置3Bをとして説明をする。
(3−2−1)データ保護処理
次に、記憶システム1内に、データの保存先として少なくとも2ヶ所以上のストレージ装置に保存し、データの真正情報を作成してデータの真正性を証明することで、当該データを保護する処理手順を説明する。なお、図1の記憶システムにおいて、当該構成管理処理においては、正側ストレージ装置をストレージ装置3Aとし、副側ストレージ装置をストレージ装置3Bをとして説明をする。
図9及び図10は、データ保護処理に関する正側ストレージ装置3A及び副側ストレージ装置3BのCPU301の処理内容を示すフローチャートである。このデータ保護処理では正側ストレージ装置3AのCPU301が、正側ストレージ装置3Aのメモリ307内に格納されたデータ保護プログラム312に基づいてデータ保護処理を実行し、記憶システム1内にデータを保存する。副側ストレージ装置3Bについても同様である。
すなわち正側ストレージ装置3AのCPU301は、長期間に渡るデータを保管領域324に書き込む場合にデータ保護処理を開始する(SP20)。そして正側ストレージ装置3AのCPU301は、正側ストレージ装置3Aを除く記憶システム1内の全てのストレージ装置3B〜3Nに、冗長データを保存するための保存先を検索すべき旨の指示を送信する(SP21)。その後、正側ストレージ装置3AのCPU301は、正側ストレージ装置3A内の統計情報テーブル323からデータの保存先の検索処理を実行する(SP22)。この検索処理の詳細な実行内容は、図11のフローチャートで後述する。
そうして正側ストレージ装置3AのCPU301は、データの保存先を決定し(SP23)、副側ストレージ装置3Bから冗長データ保存先の候補を受信する(SP24)。正側ストレージ装置3AのCPU301は、冗長データ保存先を決定し、その結果を副側ストレージ装置3Bへ送信する(SP25)。その後、正側ストレージ装置3AのCPU301は、保存対象のデータを正側ストレージ装置3A内の保管領域324内に書き込み(SP26)、冗長データを生成する(SP27)。ここまでのステップによりデータの冗長化が行われている。
続いて正側ストレージ装置3AのCPU301は、データのハッシュ値(以下、これを正ハッシュという)を生成する(SP28)。正ハッシュは、データの真正性を証明するために生成される真正情報である。そうして正側ストレージ装置3AのCPU301は、正ハッシュを副側ストレージ装置3Bへ送信する(SP29)。
正側ストレージ装置3AのCPU301は、同様にして副側ストレージ装置3B側で生成された冗長データのハッシュ値(以下、これを副ハッシュという)を受信すると(SP30)、正ハッシュと副ハッシュとを比較する(SP31)。
正側ストレージ装置3AのCPU301は、正側ストレージ装置3A側で比較した正側比較結果を副側ストレージ装置3Bへ送信する(SP32)。正側ストレージ装置3AのCPU301は、同様にして副側ストレージ装置3B側で比較した副側比較結果を受信すると(SP33)、両者の比較結果を判断する(SP34)。
そして、正側ストレージ装置3AのCPU301は、正ハッシュと副ハッシュとの比較結果が間違っていると判断した場合には(SP34:両側NG)、データの複製エラーとして(SP35)、ステップSP26に再び戻り、その後の処理を実行する。
正側ストレージ装置3AのCPU301は、正側ストレージ装置3Aだけの比較結果が間違っていると判断した場合には(SP34:正側NG)、副ハッシュの読み込みエラーと認識し(SP36)、副ハッシュの送信を副側ストレージ装置3Bへ依頼した後(SP37)、ステップSP30に再び戻り、その後の処理を実行する。
これに対して正側ストレージ装置3AのCPU301は、正ハッシュと副ハッシュとの比較結果が正しいと判断した場合には(SP34:両側OK)、正ハッシュを保存し(SP38)、データ管理テーブル321を更新した後(SP39)、正側ストレージ装置3A側のデータ保護処理を終了する(SP40)。
一方、副側ストレージ装置3BのCPU301は、長期間に渡り保存するデータを正側ストレージ装置3A側で保存する場合にデータ保護処理を開始すると(SP50)、まず、正側ストレージ装置3Aから冗長データを保存するための保存先を検索する指示を受信する(SP51)。その後、副側ストレージ装置3BのCPU301は、正側ストレージ装置3A内の統計情報テーブル323から冗長データの保存先の検索処理を実行する(SP52)。この処理の詳細な実行内容は、図11のフローチャートで後述する。
そうして副側ストレージ装置3BのCPU301は、冗長データ保存先の候補を検索し、その候補を正側ストレージ装置3Aへ送信する(SP53)。副側ストレージ装置3BのCPU301は、この候補から冗長データ保存先として正側ストレージ装置3Aが決定した結果を、正側ストレージ装置3Aから受信する(SP54)。そうして副側ストレージ装置3BのCPU301は、正側ストレージ装置3Aの冗長先の副側ストレージ装置として、自ストレージ装置が採用されたか否かを判断する(SP55)。
副側ストレージ装置3BのCPU301は、正側ストレージ装置3Aの冗長先の副側ストレージ装置として採用されないと判断した場合には(SP55:NO)、副側ストレージ装置3B側のデータ保護処理を終了する(SP69)。
一方、副側ストレージ装置3BのCPU301は、正側ストレージ装置3Aの冗長先の副側ストレージ装置として採用されたと判断した場合には(SP55:YES)、冗長データを副側ストレージ装置3B内の保管領域324内に書き込む(SP56)。ここまでのステップによりデータの冗長化が行われている。
続いて副側ストレージ装置3BのCPU301は、冗長データのハッシュ値(以下、副ハッシュという)を生成する(SP57)。副ハッシュは、冗長データの真正性を証明するために生成される真正情報である。そうして副側ストレージ装置3BのCPU301は、正側ストレージ装置3Aから正ハッシュ受信し(SP58)、生成した副ハッシュを正側ストレージ装置3Aへ送信する(SP59)。
そして副側ストレージ装置3Bは、正ハッシュと副ハッシュを比較し(SP60)、正側ストレージ装置3B側で比較した正側比較結果を正側ストレージ装置3Aから受信する(SP61)。その後、副側ストレージ装置3BのCPU301は、副側ストレージ装置3B側で比較した副側比較結果を正側ストレージ装置3Aへ送信すると(SP62)、両者の比較結果を判断する(SP63)。
そして、副側ストレージ装置3BのCPU301は、正ハッシュと副ハッシュの比較結果が間違っていると判断した場合には(SP63:両側NG)、データの複製エラーとして(SP64)、ステップSP56に再び戻り、その後のステップに進む。
また、副側ストレージ装置3BのCPU301は、副側ストレージ装置3Bだけの比較結果が間違っていると判断した場合には(SP65:副側NG)、正ハッシュの読み込みエラーとし(SP65)、正ハッシュ送信を正側ストレージ装置3Aへ依頼した後(SP66)、ステップSP58に再び戻り、その後のステップに進む。
副側ストレージ装置3BのCPU301は、正ハッシュと副ハッシュの比較結果が正しいと判断した場合には(SP63:両側OK)、副ハッシュを保存し(SP67)、データ管理テーブル321を更新した後(SP68)、副側ストレージ装置3B側のデータ保護処理を終了する(SP69)。
(3−2−2)データ保存先検索処理
次に、データを保存するための正側ストレージ装置となるストレージ装置を検索する処理手順について説明する。
次に、データを保存するための正側ストレージ装置となるストレージ装置を検索する処理手順について説明する。
図11は、データ保存先検索処理に関する正側ストレージ装置3Aの処理内容を示すフローチャートである。この処理ではメモリ307内に格納されたデータ保存先検索プログラム313に基づいてデータ保存先検索処理を実行し、データを保存する正側ストレージ装置を検索する。
すなわち、正側ストレージ装置3AのCPU301は、正側ストレージ装置3Aが冗長データ保存先検索すべき旨の指示を副側ストレージ装置3Bへ送信した場合に開始する(SP70)。
まず、正側ストレージ装置3AのCPU301は、保存するデータの保存先を検索する(SP71)。例えば、図12に示すように、230GBのデータを保存する場合に、正側ストレージ装置3Aは、検索時の抽出条件からストレージ管理テーブル322を参照する。抽出条件としては、データサイズ以上の空き容量、パリティグループの統計情報、装置の統計情報、装置の稼働状況等である。
そうして、正側ストレージ装置3AのCPU301は、正側ストレージ装置3Aを除く、全てのストレージ装置3B〜3Nから検索結果を受信する(SP72)。図12に示すように、例えば、この正側ストレージ装置3Aの検索結果は、ストレージ管理テーブル322を参照すると、「エリアID」が「A0」のエリアには250GBの空き容量があることがわかる。また、総計情報テーブル323を参照すると、正側ストレージ装置3Aにおいて、「エリアID」が「A0」のエリアでは通算744時間稼動し、エラー回数が1回発生していることがわかる。さらに、正側ストレージ装置3Aは、サービスプロセッサ4内からn回の障害が発生しているというストレージ装置の統計情報40と、当該ストレージ装置の稼働率が20%であるというストレージ装置の稼働状況41がわかる。
このような検索結果から正側ストレージ装置3AのCPU301は、エリア障害率が一番低いものが有るかを判断する(SP73)。そして正側ストレージ装置3AのCPU301は、この判断に該当する対象となる正側ストレージ装置が1つ有ると判断した場合には(SP73:YES)、ステップSP79に進む。
一方、正側ストレージ装置3AのCPU301が、この判断に該当する対象となる正側ストレージ装置が1つ以上有ると判断した場合には(SP73:NO)、空き容量がデータサイズに一番近いものは有るかを判断する(SP74)。
そして正側ストレージ装置3AのCPU301は、この判断に該当する対象となる正側ストレージ装置が1つ有ると判断した場合には(SP74:YES)、ステップSP79に進む。
一方、正側ストレージ装置3AのCPU301が、この判断に該当する対象となる正側ストレージ装置が1つ以上有ると判断した場合には(SP74:NO)、装置稼働率が一番低いものが有るかを判断する(SP75)。そして正側ストレージ装置3AのCPU301は、この判断に該当する対象となる正側ストレージ装置が1つ有ると判断した場合には(SP75:YES)、ステップSP79に進む。
一方、正側ストレージ装置3AのCPU301が、この判断に該当する対象となる正側ストレージ装置が1つ以上有ると判断した場合には(SP75:NO)、装置障害率が一番低いものは有るかを判断する(SP76)。そして正側ストレージ装置3AのCPU301は、この判断に該当する対象となる正側ストレージ装置が1つ有ると判断した場合には(SP76:YES)、ステップSP79に進む。
一方、正側ストレージ装置3AのCPU301が、この判断に該当する対象となる正側ストレージ装置が1つ以上有ると判断した場合には(SP76:NO)、装置IDが一番低いものは有るかを判断する(SP77)。そして正側ストレージ装置3AのCPU301は、この判断に該当する対象となる正側ストレージ装置が1つ有ると判断した場合には(SP77:YES)、ステップSP79に進む。
一方、正側ストレージ装置3AのCPU301が、この判断に該当する対象となる正側ストレージ装置が1つ以上有ると判断した場合には(SP77:NO)、エリアIDが若いものを選択し(SP78)、対象ストレージ装置を1つに絞る。
そうして正側ストレージ装置が1つに絞られて保存先が決定すると(SP79)、データ保存先検索処理は終了する(SP80)。
そして、正側ストレージ装置3AのCPU301は、図9のステップSP23に進み、その後のデータ保護処理を実行する。
同様に、副側ストレージ装置3Bのデータ保存先検索処理もステップSP70〜ステップSP80の処理が実行される。そして副側ストレージ装置3BのCPU301は、図9のステップSP53に進み、その後のデータ保護処理を実行する。
このように、データ保護処理及びデータ保存先検索処理に基づいて、正側ストレージ装置がデータの保存先として少なくとも2ヶ所以上のストレージ装置にフレキシブルに保存できるように副側ストレージ装置を検索することで、データと冗長データとが同一データであるとの正側の真正情報又は副側の真正情報を正側ストレージ装置又は副側ストレージ装置内でそれぞれ生成し、正側の真正情報と副側の真正情報とが一致した場合に、正側ストレージ装置及び副側ストレージ装置のそれぞれの保存領域に同一データを保存することができる。
(3−3)データ破壊をチェックする場合
(3−3−1)データチェック処理
次に、ストレージ装置に保存されたデータの破損が生じた場合に、ストレージ装置が破損したデータを自立的に検索し、破損したデータを削除するためのデータチェック処理手順について説明する。
(3−3−1)データチェック処理
次に、ストレージ装置に保存されたデータの破損が生じた場合に、ストレージ装置が破損したデータを自立的に検索し、破損したデータを削除するためのデータチェック処理手順について説明する。
なお、図1の記憶システム1において、当該データチェック処理においては、正側ストレージ装置をデータの破壊が生じたストレージ装置3Aとし、副側ストレージ装置を破壊したデータの冗長データを保存するストレージ装置3Bとし、新規な副側ストレージ装置を、当該冗長データを更に新しいストレージ装置に保存するためのストレージ装置3Cとする。そして、夫々のストレージ装置3A〜3CのCPU301は、メモリ307内に格納されたデータチェックプログラム314に基づいてデータチェック処理を実行する。
まず、図13は、データチェック処理に関する正側ストレージ装置3AでのCPU301の処理内容である。この処理では、正側ストレージ装置3は、自立的に当該破損したデータを検索し、破損したデータを削除する処理手順について説明する。
すなわち、正側ストレージ装置3AでのCPU301は、データのチェックを定期的にチェックすることで開始する(SP90)。そして、正側ストレージ装置3AでのCPU301は、チェック対象である破損したデータの有無を確認する(SP91)。正側ストレージ装置3AでのCPU301が、破損したデータのチェック対象を必要の有無を判断し(SP92)、チェック対象の必要は無いと判断した場合にはステップSP100に進む(SP92:NO)。
一方、正側ストレージ装置3AでのCPU301は、チェック対象である破損したデータが有ると判断した場合には(SP92:YES)、チェック対象である破損データを読み込む(SP93)。そして正側ストレージ装置3AでのCPU301が、当該読み込みが可能なチェック対象で有るか否かを判断する(SP94)。
正側ストレージ装置3AでのCPU301が、当該読み込みが可能なチェック対象は無いと判断した場合には(SP94:NO)、副側ストレージ装置3Bに、新規な副側ストレージ装置3Cを検索するように指示をする(SP95)。
このとき、並行して図14に示す、副側ストレージ装置3Bが、データ保護処理を実行する。この処理の詳細は、後述する。
そして、正側ストレージ装置3AでのCPU301は、破損データを消去して(SP96)、ステップSP97に進む。
一方、正側ストレージ装置3AでのCPU301は、当該読み込みが可能なチェック対象のデータが有ると判断した場合には(SP94:NO)、現時点のデータのハッシュ値を生成する(SP97)。そして正側ストレージ装置3AでのCPU301は、当該データを当初作成した作成時のハッシュ値と、現時点のデータのハッシュ値とを比較し(SP98)、比較結果を判断する(SP99)。
正側ストレージ装置3AでのCPU301は、作成時のハッシュ値と現時点のハッシュ値が一致していないと判断した場合(SP99:NO)には、ステップSP95及びステップSP96の処理を行った後、ステップSP100に進む。
一方、正側ストレージ装置3AでのCPU301は、作成時のハッシュ値と現時点のハッシュ値が一致していると判断した場合(SP99:YES)には、データ管理テーブル321を更新し(SP100)、統計情報テーブル323を更新すると(SP101)、このデータチェック処理は終了する(SP102)。
このようにして正側ストレージ装置が自立的に破損したデータを検索し、正側ストレージ装置に破損したデータがある場合には、当該データを消去することができる。
(3−3−2)データ保護処理
そして、正側ストレージ装置3AでのCPU301がデータチェック処理の実行に基づき、データ破損が生じたストレージ装置であると判明した場合には、正側ストレージ装置3Aを除く全てのストレージ装置3B〜3Nに、ペア設定された副側ストレージ装置を検索する指示をする。そうして検索された副側ストレージ装置は、さらに新規な副側ストレージ装置を検索し、破壊したデータの冗長データを保存するためのデータ保護処理を実行することになる。なお、データチェック処理と同様に、正側ストレージ装置3A、副側ストレージ装置3B、新規な副側ストレージ装置3Cとして説明する。
そして、正側ストレージ装置3AでのCPU301がデータチェック処理の実行に基づき、データ破損が生じたストレージ装置であると判明した場合には、正側ストレージ装置3Aを除く全てのストレージ装置3B〜3Nに、ペア設定された副側ストレージ装置を検索する指示をする。そうして検索された副側ストレージ装置は、さらに新規な副側ストレージ装置を検索し、破壊したデータの冗長データを保存するためのデータ保護処理を実行することになる。なお、データチェック処理と同様に、正側ストレージ装置3A、副側ストレージ装置3B、新規な副側ストレージ装置3Cとして説明する。
具体的には、図14及び図15に示すデータチェック処理実行後のデータ保護処理に関する、副側ストレージ装置3Bと新規な副側ストレージ装置3Cの処理内容を示すフローチャートである。
すなわち、正側ストレージ装置3Aが、正側ストレージ装置3Aを除く全てのストレージ装置3B〜3Nに、ペア設定された副側ストレージ装置3Bの検索指示をすることでデータ保護処理が開始する(SP110)。そして、その後、副側ストレージ装置3BのCPU301は、正側ストレージ装置3Aを除く、記憶システム1内の全てのストレージ装置3C〜3Nに、冗長データを保存するための保存先を検索する指示を送信する(SP111)。
そして、副側ストレージ装置3BのCPU301は、新規な副側ストレージ装置3Cから冗長データ保存先の候補を受信すると(SP112)、冗長データ保存先を決定し、その結果を新規な副側ストレージ装置3Cへ送信する(SP113)。その後、副側ストレージ装置3Bは、冗長データを生成する(SP114)。
そうして、副側ストレージ装置3BのCPU301は、その後のステップSP115からステップSP126までは、図10に示すステップSP29からステップSP40までと同様の処理手順が実行されることになる。
次に、新規な副側ストレージ装置3Cのデータ保護処理について説明する。
正側ストレージ装置3AのCPU301が、正側ストレージ装置3Aを除く全てのストレージ装置3B〜3Nに、ペア設定された副側ストレージ装置の検索指示をすることでデータ保護処理が開始する(SP130)。そして、その後、副側ストレージ装置3BのCPU301は、ステップSP131からステップSP149までは、図9及び図10に示すステップSP51からステップSP69までと同様の処理手順が実行されることになる。
(3−4)ストレージ装置の故障をチェックする場合
(3−4−1)装置チェック処理
次に、ストレージ装置自体が故障した場合に、ストレージ装置が、故障したストレージ装置を除く全てのストレージ装置が検知するための装置チェック処理手順について説明する。
(3−4−1)装置チェック処理
次に、ストレージ装置自体が故障した場合に、ストレージ装置が、故障したストレージ装置を除く全てのストレージ装置が検知するための装置チェック処理手順について説明する。
なお、図1の記憶システム1において、当該装置チェック処理においては、正側ストレージ装置を当該装置自体の故障が生じたストレージ装置3Aとし、副側ストレージ装置を故障したデータの冗長データを保存するストレージ装置3Bとし、新規な副側ストレージ装置を、当該冗長データを更に新しいストレージ装置に保存するためのストレージ装置3Cとする。そして、夫々のストレージ装置3A〜3CのCPU301は、装置チェックプログラム315に基づいて装置チェック処理を実行する。
まず、図16及び図17は、装置チェック処理に関する正側ストレージ装置3A、副側ストレージ装置3B、新規な副側ストレージ装置3CでのCPU301の処理内容である。この処理では、まず、正側ストレージ装置3A自体が故障をして停止情報を送信し、副側ストレージ装置3Bが新規な副側ストレージ装置3Cを検索する処理手順について説明する。
すなわち、正側ストレージ装置3AのCPU301は、当該装置が故障をしたことで装置チェック処理が開始する(S150P)。そして、正側ストレージ装置3AのCPU301は、装置内の運用停止を開始し(SP151)、副側ストレージ装置3Bへ停止情報である個別識別IDを送信する(SP152)。そして装置チェック処理は、終了する(SP153)。
なお、正側ストレージ装置3Aが、個別識別IDを送信できないほど故障している場合には、副側ストレージ装置3Bが、正側ストレージ装置3Aの応答なしを検知することで、副側ストレージ装置3B側で処理が開始することになる。
次に、副側ストレージ装置3Bの装置チェック処理手順について説明する。
副側ストレージ装置3BのCPU301は、正側ストレージ装置3Aが故障をしたことで装置チェック処理が開始する(SP160)。
そして、副側ストレージ装置3BのCPU301は、故障した正側ストレージ装置3Aから個別識別IDを受信すると(SP161)、データ管理テーブル321から故障した正側ストレージ装置3Aの冗長データを保存しているか検索する(SP162)。
その後、副側ストレージ装置3BのCPU301は、当該冗長データを保存しているか否かを判断し(SP163)、保存していないと判断した場合には(SP163:NO)、この装置チェック処理手順を終了する(SP179)。
一方、副側ストレージ装置3BのCPU301が、当該冗長データを保存していると判断した場合には(SP163:YES)、新規な副側ストレージ装置3Cへ当該冗長データを保存するための、データ保護処理が実行される。
(3−4−2)データ保護処理
すなわち、副側ストレージ装置3BのCPU301は、正側ストレージ装置3Aを除く、記憶システム1内の全てのストレージ装置3C〜3Nに、冗長データを保存するための保存先を検索する指示を送信する(SP164)。
すなわち、副側ストレージ装置3BのCPU301は、正側ストレージ装置3Aを除く、記憶システム1内の全てのストレージ装置3C〜3Nに、冗長データを保存するための保存先を検索する指示を送信する(SP164)。
そして、副側ストレージ装置3BのCPU301は、新規な副側ストレージ装置3Cから冗長データ保存先の候補を受信すると(SP165)、冗長データ保存先を決定し、その結果を新規な副側ストレージ装置3Cへ送信する(SP166)。その後、副側ストレージ装置3BのCPU301は、冗長データを生成する(SP167)。
そうして、副側ストレージ装置3BのCPU301は、冗長データのハッシュ値を副ハッシュとし、新規な副側ストレージ装置3Cで生成される新規な冗長データのハッシュ値を新規な副ハッシュとした後、ステップSP168からステップSP179までは、図10に示すステップSP29からステップSP40までと同様の処理手順が実行されることになる。
次に、新規な副側ストレージ装置3Cのデータ保護処理について説明する。
新規な副側ストレージ装置3CのCPU301は、正側ストレージ装置3Aが正側ストレージ装置3Aを除く全てのストレージ装置3B〜3Nに、ペア設定された副側ストレージ装置3Bの検索指示をすることでデータ保護処理が開始する(SP180)。
そして、新規な副側ストレージ装置3CのCPU301は、副側ストレージ装置3Bで生成される冗長データのハッシュ値を副ハッシュとし、新規な副側ストレージ装置3Cで生成される新規な冗長データのハッシュ値を新規な副ハッシュとした後、ステップSP181からステップSP199までは、図9及び図10に示すステップSP51からステップSP69までと同様の処理手順が実行されることになる。
このように副側ストレージ装置が、装置チェック処理及びデータ保護処理を実行することで、副側ストレージ装置内のデータ管理テーブルに格納されている故障した個別識別IDに対応する装置IDを参照して、この装置IDが所有する冗長データを、検索した新規な副側ストレージ装置へ自動的に保存することができる。
なお、ストレージ装置が故障した場合について説明したが、計画的にストレージ装置を撤去する場合についても装置チェック処理及びデータ保護処理が行われることとなる。
(3−5)ストレージ装置を予防・保守する場合
(3−5−1)統計情報管理処理
次に、ストレージ装置が長年の運用により劣化してきた場合に、ストレージ装置がデータ故障や装置故障の発生によるデータ損失の可能性があるデータを検索し、当該ストレージ装置を除く全てのストレージ装置へデータが損失する前に当該データを予防・保守するための統計情報管理処理手順について説明する。
(3−5−1)統計情報管理処理
次に、ストレージ装置が長年の運用により劣化してきた場合に、ストレージ装置がデータ故障や装置故障の発生によるデータ損失の可能性があるデータを検索し、当該ストレージ装置を除く全てのストレージ装置へデータが損失する前に当該データを予防・保守するための統計情報管理処理手順について説明する。
なお、図1の記憶システム1において、当該統計情報管理処理においては、正側ストレージ装置をデータ損失の可能性があるデータを保存するストレージ装置3Aとし、副側ストレージ装置をデータ損失の可能性があるデータの冗長データを保存するストレージ装置3Bとし、新規な副側ストレージ装置を、当該冗長データを更に新しいストレージ装置に保存するためのストレージ装置3Cとする。そして、夫々のストレージ装置3A〜3CのCPU301は、統計情報管理プログラム315に基づいて統計情報管理処理を実行する。
まず、図18及び図19は、統計情報管理処理に関する正側ストレージ装置3A、副側ストレージ装置3B、新規な副側ストレージ装置3CでのCPU301の処理内容である。
すなわち、正側ストレージ装置3AのCPU301は、ストレージ装置の障害率やハードストレージの交換率等の統計情報を有し、予め定められた閾値を超えた場合に統計情報管理処理が開始する(SP200)。
そして正側ストレージ装置3AのCPU301は、エラーを検知し、統計情報テーブル323を読み込み(SP201)、エラー回数やストレージ装置の稼働時間に予め定められた閾値を超えているか否かを判断する(SP202)。正側ストレージ装置3AのCPU301は、閾値を超えていないと判断した場合には(SP202:無)、統計情報管理処理を終了する(SP207)。
一方、正側ストレージ装置3AのCPU301は、閾値を超えていると判断した場合には(SP202:YES)、データ管理テーブル321を参照し、予防・保守を必要とするデータにおける保存先のエリアであるパリディグループと、そのパリティグループに保存されるデータの冗長先である冗長データを保存するストレージ装置とを検索する(SP203)。
そうして正側ストレージ装置3AのCPU301は、冗長データを保存する必要の有無を判断し(SP204)、冗長データの保存の必要は無いと判断した場合には(SP204:無)、統計情報管理処理を終了する(SP207)。
一方、正側ストレージ装置3AのCPU301は、冗長データの保存の必要は有ると判断した場合には(SP204:有)、データの予防・保守の指示を副側ストレージ装置3Bへ行い(SP205)、データ管理テーブル321を更新した後(SP206)、統計情報管理処理を終了する(SP207)。
次に、副側ストレージ装置3Bにおける統計情報管理処理を説明する。
すなわち、副側ストレージ装置3BのCPU301は、正側ストレージ装置3Aがストレージ装置の障害率やハードストレージの交換率等の統計情報を有し、予め定められた閾値を超えた場合に統計情報管理処理が開始する(SP210)。
そして、副側ストレージ装置3BのCPU301は、正側ストレージ装置3Aから予防・保守の指示を受信すると(SP211)、副側ストレージ装置3Bのメモリ307内に格納されるデータ管理テーブル321を参照し、正側ストレージ装置3Aが指示をした予防・保守を必要とするストレージ装置が保存する冗長データを検索して、予防・保守を開始する(SP212)。そうして、副側ストレージ装置3BのCPU301は、新規な副側ストレージ装置3Cへ当該冗長データを保存するための、データ保護処理が実行される。
(3−5−2)データ保護処理
すなわち、副側ストレージ装置3BのCPU301は、正側ストレージ装置3Aを除く記憶システム1内の全てのストレージ装置3C〜3Nに、冗長データを保存するための保存先を検索する指示を送信する(SP213)。
すなわち、副側ストレージ装置3BのCPU301は、正側ストレージ装置3Aを除く記憶システム1内の全てのストレージ装置3C〜3Nに、冗長データを保存するための保存先を検索する指示を送信する(SP213)。
そして、副側ストレージ装置3BのCPU301は、新規な副側ストレージ装置3Cから冗長データ保存先の候補を受信すると(SP214)、冗長データ保存先を決定し、その結果を新規な副側ストレージ装置3Cへ送信する(SP215)。その後、副側ストレージ装置3BのCPU301は、冗長データを生成する(SP216)。
そうして、副側ストレージ装置3BのCPU301は、副側ストレージ装置3Bで生成される冗長データのハッシュ値を副ハッシュとし、新規な副側ストレージ装置3Cで生成される新規な冗長データのハッシュ値を新規な副ハッシュとした後、その後のステップSP217からステップSP228までは、図10に示すステップSP29からステップSP40までと同様の処理手順が実行されることになる。
次に、新規な副側ストレージ装置3Cのデータ保護処理について説明する。
新規な副側ストレージ装置3CのCPU301は、正側ストレージ装置3Aが正側ストレージ装置3Aを除く全てのストレージ装置3B〜3Nに、ペア設定された副側ストレージ装置の検索指示をすることでデータ保護処理が開始する(SP230)。そして、その後、新規な副側ストレージ装置3CのCPU301は、副側ストレージ装置3Bで生成される冗長データのハッシュ値を副ハッシュとし、新規な副側ストレージ装置3Cで生成される新規な冗長データのハッシュ値を新規な副ハッシュとした後、ステップSP231からステップSP249までは、図9及び図10に示すステップSP51からステップSP69までと同様の処理手順が実行されることになる。
このように正側ストレージ装置が統計情報テーブルを参照して、予防保守対象となるエリアにある情報を検索し、対象情報の冗長データを保存する副側ストレージ装置に新規な冗長データの作成を指示することで、ストレージ装置の老朽化や障害に伴うデータ破損の発生を確実に予防して保守することができる。
(3−6)データを分割/連結保存する場合
(3−6−1)データ分割処理
次に、冗長データを保存する保存先の副側ストレージ装置の空き容量が確保仕切れない場合に、当該データを分割して複数の副側ストレージ装置に保存するためのデータ分割処理手順について説明する。
(3−6−1)データ分割処理
次に、冗長データを保存する保存先の副側ストレージ装置の空き容量が確保仕切れない場合に、当該データを分割して複数の副側ストレージ装置に保存するためのデータ分割処理手順について説明する。
なお、図1の記憶システム1において、当該データ分割処理においては、正側ストレージ装置としてデータが保存されたストレージ装置3Aとし、副側ストレージ装置として冗長データを分割した分割冗長データを保存するストレージ装置3B、3Cとし、新規な副側ストレージ装置として複数の当該分割冗長データを連結した連結データを保存するためのストレージ装置3Nとする。そして、夫々のストレージ装置3A〜3NのCPU301は、メモリ307内に格納されたデータ分割プログラム317に基づいてデータ分割処理を実行する。
まず、図20及び図21は、データ分割処理に関する正側ストレージ装置3A、副側ストレージ装置3B、3CでのCPU301の処理内容である。
すなわち、正側ストレージ装置3AのCPU301は、正側ストレージ装置3Aが冗長データを保存する保存先のストレージ装置の空き容量が確保仕切れない場合に、データ分割処理が開始する(SP250)。
まず、正側ストレージ装置3AのCPU301は、正側ストレージ装置3Aを除く、冗長データ保存先検索の指示を記憶システム1内の全ての他のストレージ装置3B〜3Nへ送信する(SP251)。そうして、正側ストレージ装置3AのCPU301は、各々のストレージ装置3B〜3Nから冗長データを分割することなく保存できる保存先の候補の該当はないことを受信する(SP252)。その後、正側ストレージ装置3AのCPU301は全てのストレージ装置3B〜3Nに空き容量の送信指示をして(SP253)、全てのストレージ装置3B〜3Nから空き容量を受信する(SP254)。
正側ストレージ装置3AのCPU301は、受信した空き容量の結果から、全てのストレージ装置3B〜3Nの優先順位、データの分割数、データサイズの決定処理を実行する。この処理は、図22のフローチャートで後述する。
そうして正側ストレージ装置3AのCPU301は、分割冗長データの保存先を決定し、その結果を全てのストレージ装置3B〜3Nへ送信する(SP256)。図23に示すように、正側ストレージ装置3AのCPU301は、正側ストレージ装置3A内のメモリ307上に仮想分割データ10A、11Aと、当該仮想分割データ10A、11A毎の仮想分割ハッシュ10B、11Bを生成する(SP257)。また、正側ストレージ装置3AのCPU301は、正側ストレージ装置3A内のメモリ307上の仮想分割データ10A、11Aから仮想連結データ13Aと仮想連結ハッシュ13Bを生成する(SP258)。
図23示すように、正側ストレージ装置3Aは、実際にデータ12Aを分割する前に、正側ストレージ装置3A内のメモリ307上で分割処理のシミュレーションを行う。このとき、仮想分割データ10A、11Aには、連結時に必要なデータの順番を認識するためのindexデータ100A、110Aが各仮想分割データ10A、11Aの先頭に夫々付与される。
そうして、正側ストレージ装置3AのCPU301は、予めデータの分割と連結をメモリ307上でシュミレーションしてデータの真正性が保持できるか否かを判断する(SP259)。正側ストレージ装置3AのCPU301が、データの真正性を保持できないと判断した場合には(SP259:NO)、ステップSP257に戻る。一方、正側ストレージ装置3AのCPU301が、データの真正性を保持できると判断した場合には(SP259:YES)、データ分割処理を終了して、その後引き続き、ステップSP286以降で副側ストレージ装置3B、3Cへ分割後の分割冗長データ14A、15Aを保存するための、データ保護処理が実行される。
次に、副側ストレージ装置3B、3Cについてのデータ分割処理について説明する。
すなわち、副側ストレージ装置3B、3CのCPU301は、正側ストレージ装置3Aが冗長データを保存する保存先のストレージ装置の保存領域324内にある空き保存領域324B、324Cが確保仕切れない場合に、データ分割処理が開始する(SP280)。
そして副側ストレージ装置3B、3CのCPU301は、正側ストレージ装置3Aから冗長データの保存先の検索指示を受信すると(SP281)、統計情報による冗長データ保存先の検索処理を実行する(SP282)。この検索処理は、図22に示すフローチャートにより後述する。
そして副側ストレージ装置3B、3CのCPU301は、正側ストレージ装置3Aから冗長データの保存先の検索指示を受信すると(SP281)、統計情報による冗長データ保存先の検索処理を実行する(SP282)。この検索処理は、図22に示すフローチャートにより後述する。
そして、副側ストレージ装置3B、3CのCPU301は、冗長データを保存する保存先の候補の該当がないことを正側ストレージ装置3Aへ送信する(SP283)。副側ストレージ装置3B、3CのCPU301は、正側ストレージ装置3Aから副側ストレージ装置3B、3Cの空き容量の送信指示を受信すると(SP284)、空き容量を正側ストレージ装置へ送信する(SP285)。
副側ストレージ装置3B、3CのCPU301は、正側ストレージ装置3Aで決定された分割冗長データの保存先の決定結果を正側ストレージ装置3Aから受信すると(SP286)、この装置が分割データの保存先として採用された否かを判断する(SP287)。そして副側ストレージ装置3B、3CのCPU301は、分割冗長データ14A、15Aの保存先として採用されないと判断した場合には(SP287:NO)、データ分割処理を終了する。一方、副側ストレージ装置3B、3CのCPU301が、分割冗長データ14A、15Aの保存先として当該装置を採用されたと判断した場合には(SP287:YES)、データ分割処理を終了して、その後引き続き、ステップSP288以降でデータ保護処理が実行される。
(3−6−2)データ保護処理
すなわち、正側ストレージ装置3AのCPU301は、分割冗長データ14A、15Aを保存する全ての副側ストレージ装置3B、3Cに、分割冗長データ14A、15Aを送信する(SP260)。
すなわち、正側ストレージ装置3AのCPU301は、分割冗長データ14A、15Aを保存する全ての副側ストレージ装置3B、3Cに、分割冗長データ14A、15Aを送信する(SP260)。
そして、正側ストレージ装置3AのCPU301は、データ12Aを冗長化しようとするデータのハッシュ12Bとメモリ307内で生成した仮想分割ハッシュ10B、11Bとを、副側ストレージ装置3B、3Cに送信する(SP261)。そして、正側ストレージ装置3AのCPU301は、副側ストレージ装置3B、3Cで生成された分割ハッシュ14B、15Bを受信し(SP262)、正側ストレージ装置3Aで生成した仮想分割ハッシュ10B、11Bと、副側ストレージ装置3B、3Cで生成した分割ハッシュ14B、15Bを比較する(SP263)。
正側ストレージ装置3AのCPU301は、当該比較結果を副側ストレージ装置3B、3Cへ送信し(SP264)、副側ストレージ装置3B、3C側でも同様に比較した比較結果を副側ストレージ装置3B、3Cから受信する(SP265)。
そうして、正側ストレージ装置3AのCPU301は、分割冗長データの比較結果後の処理について、ステップSP266からステップSP271までを、図10に示すステップSP34からステップSP37、ステップSP39及びステップSP40までと同様の処理手順が実行されることになる。
次に、副側ストレージ装置3B、3Cについてのデータ保護処理について説明する。
すなわち、副側ストレージ装置3B、3CのCPU301は、正側ストレージ装置3Aで生成された分割冗長データ14A、15Aを受信して、空き保存領域324B、324C内の空き容量に分割冗長データ14A、15Aを書き込み(SP288)、現時点での副側ストレージ装置3B、3Cに書き込まれた分割冗長データ14A、15Aの分割ハッシュ14B、15Bを生成する(SP289)。
そして副側ストレージ装置3B、3CのCPU301は、正側ストレージ装置3Aからデータ12Aの冗長データのハッシュ12Bと仮想分割ハッシュ10B、11Bとを受信し(SP290)、現時点で生成した分割ハッシュ14B、15Bを正側ストレージ装置3Aへ送信する(SP291)。
その後、副側ストレージ装置3B、3CのCPU301は、正側ストレージ装置3Aで行われるステップSP263からステップSP265と同様の処理をステップSP292からステップSP294で行う。
そして、副側ストレージ装置3B、3CのCPU301は、分割冗長データ14A、15Aについて、ステップSP295からステップSP301までを、図10に示すステップSP63からステップSP69までと同様の処理手順が実行されることになる。
(3−6−3)データ保存先検索処理
次に、副側ストレージ装置3B、3Cで冗長データを保存できる副側ストレージ装置を検索する処理手順について説明する。この処理は、正側ストレージ装置3Aを除く全てのストレージ装置3B〜3Nにて実行される処理であるが、便宜上、副側ストレージ装置3B、3Cに適用して説明をする。
次に、副側ストレージ装置3B、3Cで冗長データを保存できる副側ストレージ装置を検索する処理手順について説明する。この処理は、正側ストレージ装置3Aを除く全てのストレージ装置3B〜3Nにて実行される処理であるが、便宜上、副側ストレージ装置3B、3Cに適用して説明をする。
図22は、データ保存先検索処理に関する副側ストレージ装置3B、3Cの処理内容を示すフローチャートである。このデータ保存先検索処理では、副側ストレージ装置3B、3Cのメモリ307内に格納されたデータ保存先検索プログラム313に基づいてデータ保存先検索処理を実行し、冗長データを保存する副側ストレージ装置を検索する。
副側ストレージ装置3B、3CのCPU301は、副側ストレージ装置3B、3Cにおいて、ステップSP310からステップSP317までを、図11について上述した冗長データの保存先検索処理のステップSP70及びステップSP73からステップSP78までと同様に処理する。そして副側ストレージ装置3B、3CのCPU301は、冗長データの保存先となる全てのエリアを検索し、当該エリアで冗長データの保存先が決定されるか否かを判断する(SP317)。副側ストレージ装置3B、3CのCPU301は、全てのエリアで決定されていないと判断した場合には(SP317:NO)、ステップ311に再び戻り、一方全てのエリアで決定されていると判断した場合には(SP317:YES)、図20に示すステップ256に進み、その後のデータ分割処理を行うこととなる。
このように、正側ストレージ装置3Aは、メモリ上で仮想分割冗長データが真正であることを示す仮想分割真正情報である仮想分割ハッシュを生成し、副側ストレージ装置3B、3Cでは分割冗長データが真正であることを示す分割真正情報である分割ハッシュを生成し、仮想分割ハッシュと分割ハッシュが一致する場合に、副側ストレージ装置が副側ストレージ装置の保存領域に分割冗長データを保存することができる。
また、本実施の形態における記憶システムは、メモリ上でシュミレーションした際に生成されるindexデータとともに仮想分割ハッシュを副側ストレージ装置へ送信するので、限られた記憶システムにおいてもデータの冗長性及び真正性を維持することができる。
(3−6−4)データ連結処理
上述のように、複数の副側ストレージ装置3B、3Cに分割冗長データ14A、15Aが保存された場合に、この分割冗長データ14A、15Aを連結し、新規な副側ストレージ装置3Nの保存領域324内に連結冗長データ1NAとして保存するデータ連結処理を説明する。
上述のように、複数の副側ストレージ装置3B、3Cに分割冗長データ14A、15Aが保存された場合に、この分割冗長データ14A、15Aを連結し、新規な副側ストレージ装置3Nの保存領域324内に連結冗長データ1NAとして保存するデータ連結処理を説明する。
まず、図24及び図25はデータ連結処理に関し、分割冗長データ14A、15Aを有する複数の副側ストレージ装置3B、3C、分割冗長データ14A、15Aを連結し、連結冗長データ1NAとして保存する新規な副側ストレージ装置3NでのCPU301の処理内容である。この処理では、各副側ストレージ装置3B、3C、3Nのメモリ307内に格納されたデータ連結プログラム318に基づいてデータ連結処理を実行する。
すなわち、副側ストレージ装置3B、3CのCPU301は、新規な副側ストレージ装置3Nに連結冗長データ1NAの作成指示をした場合に、データ連結処理を開始する(SP320)。そして、副側ストレージ装置3B、3CのCPU301は、新規な副側ストレージ装置3Nから連結処理開始を受信すると(SP321)、分割冗長データ14A、15Aと、分割ハッシュ14B、15Bを新規な副側ストレージ装置3Nへ送信する(SP322)。
副側ストレージ装置3B、3CのCPU301は、新規な副側ストレージ装置3Nから正側ストレージ装置3Aで生成された分割前のハッシュ12Bの送信依頼を受けると同時に、新規な副側ストレージ装置3Nで生成された連結ハッシュ1NBとを受信し(SP323)、分割前のハッシュ12Bを新規な副側ストレージ装置3Nへ送信する(SP324)。
その後、副側ストレージ装置3B、3CのCPU301は、図21に示すデータ分割処理で行われるステップSP263からステップSP271と同様の処理を、ステップSP325からステップSP333で行う。
そうして、副側ストレージ装置3B、3Cはデータ連結処理を終了する。
次に、新規な副側ストレージ装置3Nでのデータ連結処理について説明する。
すなわち、新規な副側ストレージ装置3NのCPU301は、副側ストレージ装置3B、3Cからの連結冗長データ1NAの作成指示でデータ連結処理を開始する(SP340)。
そして新規な副側ストレージ装置3NのCPU301は、副側ストレージ装置3B、3Cへデータ連結処理開始を送信すると(SP341)、副側ストレージ装置3B、3Cから分割冗長データ14A、15A及び分割ハッシュ14B、15Bを受信する(SP342)。その後、新規な副側ストレージ装置3NのCPU301は、受信した分割冗長データ14A、15Aを基に、現時点での分割ハッシュを生成し(SP343)、副側ストレージ装置3B、3Cから受信した分割ハッシュ14B、15Bと、現時点での分割ハッシュと、を比較する(SP344)。
そして、新規な副側ストレージ装置3NのCPU301は、全ての分割冗長データをもつ副側ストレージ装置3B、3Cから受信した分割ハッシュ14B、15Bと現時点ての分割ハッシュが全て一致しているか否かを判断する(SP345)。新規な副側ストレージ装置3NのCPU301は、全て一致していないと判断した場合には(SP345:NO)、一致しなかった分割ハッシュに基づく分割冗長データを再送信してもらうように副側ストレージ装置3B、3Cへ依頼し(SP346)、ステップSP341に戻る。
一方、新規な副側ストレージ装置3NのCPU301は、全て一致していると判断した場合には(SP345:YES)、各分割冗長データ14A、15Aに付与されるindexデータ100A、110Aに基づいて、分割冗長データを連結して、連結冗長データ1NAを作成する(SP347)。
そして、新規な副側ストレージ装置3NのCPU301は、連結した連結冗長データ1ANの連結ハッシュを生成し(SP348)、副側ストレージ装置3B、3Cに分割前のハッシュ12Bの送信依頼と同時に、生成した連結ハッシュ1NBを副側ストレージ装置3B、3Cに送信する(SP349)。
その後、新規な副側ストレージ装置3NのCPU301は、分割前のハッシュ12Bを副側ストレージ装置3B、3Cから受信すると(SP350)、ステップSP351からステップSP360まで、図21のデータ分割処理におけるステップSP292からステップSP301までと同様の処理を行い、データ連結処理を終了する。
このように、正側ストレージ装置を除く全てのストレージ装置の空き容量を検索した後に、新規な副側ストレージ装置が連結冗長データと連結真正情報である連結ハッシュを生成し、正側の真正情報と連結真正情報とが一致した場合に、新規な副側ストレージ装置は新規な副側のストレージ装置の保存領域に連結冗長データを保存することができる。
また、本実施の形態における記憶システムは、分割冗長データを保存する副側ストレージ装置から、分割冗長データ毎に生成した分割真正情報の分割ハッシュと連結時に必要なindexデータとが、新規な副側ストレージ装置に送信され連結冗長データが保存されるので、限られた記憶システムにおいてもデータの冗長性及び真正性を維持することができる。
(3−7)本実施の形態の効果
以上のように、本実施の形態における記憶システムによれば、データの冗長先を自動かつフレキシブルに変更させ、システムの変更時のデータの真正性を証明することができる。
以上のように、本実施の形態における記憶システムによれば、データの冗長先を自動かつフレキシブルに変更させ、システムの変更時のデータの真正性を証明することができる。
(4)他の実施の形態
なお上述の実施の形態においては、正側ストレージ装置3Aは前記冗長データを保存するための副側ストレージ装置3Bを検索する検索部と、前記データが真正であることを示す正側の真正情報を生成する正側生成部と前記データを前記正側ストレージ装置の保存領域に保存する正側保存部とを正側ストレージ装置のCPU301により構成し、一方、副側ストレージ装置は、前記冗長データが真正であることを示す副側の真正情報を生成する副側生成部とを前記冗長データを前記副側ストレージ装置の保存領域に保存する副側保存部と副側ストレージ装置のCPU301により構成するようにした場合について述べたが、本発明はこれに限らず、これら検索部、正側生成部、正側保存部、副側生成部及び副側保存部をそれぞれ個別のハードウェアとして構成するようにしても良い。
なお上述の実施の形態においては、正側ストレージ装置3Aは前記冗長データを保存するための副側ストレージ装置3Bを検索する検索部と、前記データが真正であることを示す正側の真正情報を生成する正側生成部と前記データを前記正側ストレージ装置の保存領域に保存する正側保存部とを正側ストレージ装置のCPU301により構成し、一方、副側ストレージ装置は、前記冗長データが真正であることを示す副側の真正情報を生成する副側生成部とを前記冗長データを前記副側ストレージ装置の保存領域に保存する副側保存部と副側ストレージ装置のCPU301により構成するようにした場合について述べたが、本発明はこれに限らず、これら検索部、正側生成部、正側保存部、副側生成部及び副側保存部をそれぞれ個別のハードウェアとして構成するようにしても良い。
本発明は、1又は複数のストレージ装置を有する記憶システムや、その他の形態の記憶システムに広く適用することができる。
1……記憶システム、2……ホスト装置、3……ストレージ装置、301……CPU、307……メモリ、310……システムプログラム、319……管理テーブル。
Claims (10)
- データを保存する保存領域を有する正側ストレージ装置と当該データの冗長データを保存する保存領域を有する副側ストレージ装置とを少なくとも2台以上備える記憶システムにおいて、
正側ストレージ装置は、
前記冗長データを保存するための副側ストレージ装置を検索する検索部と、
前記データが真正であることを示す正側の真正情報を生成する正側生成部と
を備え、
副側ストレージ装置は、
前記冗長データが真正であることを示す副側の真正情報を生成する副側生成部を備え、
前記正側の真正情報と前記副側の真正情報とが一致した場合に、前記データを前記正側ストレージ装置の保存領域に保存する正側保存部と、前記冗長データを前記副側ストレージ装置の保存領域に保存する副側保存部と
を備える
ことを特徴とする記憶システム。 - 前記検索部は、
全てのストレージ装置の各々に付与され、各々ストレージ装置を認識する個別識別情報から前記正側ストレージ装置に付与される個別識別情報を前記副側ストレージ装置に送信することにより前記冗長データを保存するための前記副側ストレージ装置を検索する
ことを特徴とする請求項1記載の記憶システム。 - 前記正側生成部は、
前記データの前記冗長データが前記副側ストレージ装置の保存領域に保存できないと判断した場合に、
前記冗長データを分割した分割冗長データを前記副側ストレージ装置の保存領域に保存する前に、前記正側ストレージ装置内で前記分割冗長データに相当する仮想分割冗長データを仮想的に生成する正側仮想生成部を備える
ことを特徴とする請求項1記載の記憶システム。 - 前記正側生成部は、
前記仮想分割冗長データが真正であることを示す仮想分割真正情報を生成する仮想分割真正情報生成部を備え、
前記副側生成部は、
前記分割冗長データが真正であることを示す分割真正情報を生成する分割真正情報生成部を備え、
前記仮想分割真正情報と前記分割真正情報とが一致した場合に、前記副側ストレージ装置の保存領域に前記分割冗長データを保存する分割冗長保存部を備える
ことを特徴とする請求項3記載の記憶システム。 - 前記副側ストレージ装置は、複数の副側ストレージ装置からなり、
前記副側生成部は、
前記分割冗長データが保存された副側ストレージ装置以外の他の副側ストレージ装置に前記分割冗長データを連結してなる連結冗長データを生成する連結冗長生成部と、
前記連結冗長データが真正であることを示す連結真正情報を生成する連結真正情報生成部と、
前記正側の真正情報と前記連結真正情報とが一致した場合に、前記他の副側ストレージ装置の保存領域に前記連結冗長データを保存する連結冗長保存部とを備える
ことを特徴とする請求項4記載の記憶システム。 - データを保存する保存領域を有する正側ストレージ装置と当該データの冗長データを保存する保存領域を備える副側ストレージ装置とを少なくとも2台以上備える記憶システムのデータ保存方法において、
正側ストレージ装置が、前記冗長データを保存するための副側ストレージ装置を検索する第1のステップと、
前記データが真正であることを示す正側の真正情報を生成する第2のステップと、
副側ストレージ装置が、前記冗長データが真正であることを示す副側の真正情報を生成する第3のステップと、
前記正側の真正情報と前記副側の真正情報とが一致した場合に、前記データを前記正側ストレージ装置の保存領域に保存し、前記冗長データを前記副側ストレージ装置の保存領域に保存する第4のステップと
を備えることを特徴とするデータ保存方法。 - 前記第1のステップでは、
前記正側ストレージ装置が、全てのストレージ装置の各々に付与され各々ストレージ装置を認識する個別識別情報から自ストレージ装置に付与される個別識別情報を前記副側ストレージ装置に送信することで、前記冗長データを保存するための前記副側ストレージ装置を検索する
ことを特徴とする請求項6記載のデータ保存方法。 - 前記正側ストレージ装置が、前記データの前記冗長データが前記副側ストレージ装置の保存領域に保存できないと判断した場合に、
前記冗長データを分割した分割冗長データを前記副側ストレージ装置の保存領域に保存する前に、前記正側ストレージ装置内で前記分割冗長データに相当する仮想分割冗長データを仮想的に生成する第5のステップ
を備えること特徴とする請求項6記載のデータ保存方法。 - 前記第5のステップでは、
前記正側ストレージ装置が、前記仮想分割冗長データが真正であることを示す仮想分割真正情報を生成し、
前記副側ストレージ装置が、前記分割冗長データが真正であることを示す分割真正情報を生成する第6のステップと、
前記仮想分割真正情報と前記分割真正情報とが一致した場合に、前記副側ストレージ装置の保存領域に前記分割冗長データを保存する第7のステップと
を備える特徴とする請求項8記載のデータ保存方法。 - 前記副側ストレージ装置は、複数の副側ストレージ装置からなり、
前記分割冗長データが保存された副側ストレージ装置以外の他の副側ストレージ装置が、前記分割冗長データを連結してなる連結冗長データを生成する第8のステップと、
前記連結冗長データが真正であることを示す連結真正情報を生成する第9のステップと、
前記正側の真正情報と前記連結真正情報とが一致した場合に、前記他の副側ストレージ装置の保存領域に前記連結冗長データを保存する第10のステップと
を備えること特徴とする請求項9記載のデータ保存方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006125090A JP2007299114A (ja) | 2006-04-28 | 2006-04-28 | 記憶システム及びデータ保存方法 |
US11/475,931 US8423776B2 (en) | 2006-04-28 | 2006-06-28 | Storage systems and data storage method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006125090A JP2007299114A (ja) | 2006-04-28 | 2006-04-28 | 記憶システム及びデータ保存方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007299114A true JP2007299114A (ja) | 2007-11-15 |
Family
ID=38649691
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006125090A Pending JP2007299114A (ja) | 2006-04-28 | 2006-04-28 | 記憶システム及びデータ保存方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8423776B2 (ja) |
JP (1) | JP2007299114A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011039841A (ja) * | 2009-08-12 | 2011-02-24 | Fujitsu Ltd | データ移行方法、及びプログラム |
JP2012238133A (ja) * | 2011-05-11 | 2012-12-06 | Dainippon Printing Co Ltd | データ保管システム |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008181443A (ja) * | 2007-01-26 | 2008-08-07 | Hitachi Ltd | ストレージシステム及び増設ストレージ装置接続方法 |
US8880775B2 (en) * | 2008-06-20 | 2014-11-04 | Seagate Technology Llc | System and method of garbage collection in a memory device |
JP5413948B2 (ja) | 2009-01-27 | 2014-02-12 | 日本電気株式会社 | ストレージシステム |
WO2013027642A1 (en) * | 2011-08-19 | 2013-02-28 | Kabushiki Kaisha Toshiba | Information processing apparatus, method for controlling information processing apparatus, non-transitory recording medium storing control tool, host device, non-transitory recording medium storing performance evaluation tool, and performance evaluation method for external memory device |
WO2015069480A1 (en) * | 2013-11-07 | 2015-05-14 | Formation Data Systems, Inc. | Multi-layer data storage virtualization using a consistent data reference model |
US11526470B2 (en) * | 2018-01-03 | 2022-12-13 | Salesforce, Inc. | Data validation for data record migrations |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5771354A (en) * | 1993-11-04 | 1998-06-23 | Crawford; Christopher M. | Internet online backup system provides remote storage for customers using IDs and passwords which were interactively established when signing up for backup services |
JP3078972B2 (ja) | 1993-11-05 | 2000-08-21 | 富士通株式会社 | ディスクアレイ装置 |
US6366987B1 (en) * | 1998-08-13 | 2002-04-02 | Emc Corporation | Computer data storage physical backup and logical restore |
US6269431B1 (en) * | 1998-08-13 | 2001-07-31 | Emc Corporation | Virtual storage and block level direct access of secondary storage for recovery of backup data |
US6662198B2 (en) * | 2001-08-30 | 2003-12-09 | Zoteca Inc. | Method and system for asynchronous transmission, backup, distribution of data and file sharing |
US7130971B2 (en) | 2004-03-30 | 2006-10-31 | Hitachi, Ltd. | Assuring genuineness of data stored on a storage device |
-
2006
- 2006-04-28 JP JP2006125090A patent/JP2007299114A/ja active Pending
- 2006-06-28 US US11/475,931 patent/US8423776B2/en not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011039841A (ja) * | 2009-08-12 | 2011-02-24 | Fujitsu Ltd | データ移行方法、及びプログラム |
US8898394B2 (en) | 2009-08-12 | 2014-11-25 | Fujitsu Limited | Data migration method |
JP2012238133A (ja) * | 2011-05-11 | 2012-12-06 | Dainippon Printing Co Ltd | データ保管システム |
Also Published As
Publication number | Publication date |
---|---|
US8423776B2 (en) | 2013-04-16 |
US20070255950A1 (en) | 2007-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6294518B2 (ja) | 不揮発性メモリシステムにおける同期ミラーリング | |
JP2007299114A (ja) | 記憶システム及びデータ保存方法 | |
JP5124217B2 (ja) | ストレージ装置 | |
US8386709B2 (en) | Method and system for protecting against multiple failures in a raid system | |
US10649843B2 (en) | Storage systems with peer data scrub | |
US11074129B2 (en) | Erasure coded data shards containing multiple data objects | |
JP4916033B2 (ja) | データ格納方法、データ・ストレージ・システムおよびプログラム(ストレージ・システムにおけるデータ完全性の検証)(著作権および商標登録表示本特許文書の開示の一部は、著作権保護を受ける内容を含む。本所有権者は、特許文書または特許開示書のいずれか一つによるファクシミリ複写物には、複写物が特許商標庁の特許ファイルまたは記録として世に出現している限り異論はないが、他の場合に全ての著作権は完全に留保する。)(本明細書で参照するある種のマークについては、出願人またはその譲受人と提携しまたは提携しない第三者の、慣習法上の、または登録された商標である可能性がある。これらのマークを使用するのは、例示によって実施可能な開示を提供するためであり、そのようなマークに関連するもののみに本発明の範囲を制限するように解釈されるべきではない。) | |
US20180364924A1 (en) | Storage system that tracks mapping to a memory module to be detached therefrom | |
US10878111B2 (en) | Peer storage devices supporting protection information | |
WO2012075845A1 (zh) | 分布式文件系统 | |
US12081526B2 (en) | Data storage device data recovery using remote network storage | |
WO2019210844A1 (zh) | 存储设备异常检测方法及装置、分布式存储系统 | |
JP4857055B2 (ja) | 記憶システム及びその制御方法並びに記憶制御装置 | |
JP2009294901A (ja) | ストレージ装置及び障害復旧方法 | |
JP2007065788A (ja) | ディスクアレイ装置及びその制御方法並びにプログラム | |
US11487628B1 (en) | System and method for rapidly transferring and recovering large data sets | |
US20140173337A1 (en) | Storage apparatus, control method, and control program | |
US20230153206A1 (en) | Selective rebuild of interrupted devices in data storage device arrays | |
US11061818B1 (en) | Recovering from write cache failures in servers | |
WO2016068870A1 (en) | Media controller with coordination buffer | |
JP6343952B2 (ja) | ストレージシステム |