(57)【要約】【課題】ネットワークのバンド幅に影響を与えずに複製データの冗長度を復旧する。【解決手段】制御装置６は、異なる２以上の記憶装置４ａ，４ｅ，４ｉにそれぞれ記憶された複製データの一つを喪失した場合、異なる２以上の記憶装置４ａ，４ｅ，４ｉのうち、喪失した複製データを記憶していた第１記憶装置４ａ以外の第２記憶装置４ｅ，４ｉに記憶される複製データをスイッチ装置５経由でコピーして喪失した複製データを復元するよう、スイッチ装置５および複数の処理装置３Ａ〜３Ｃ（３１）を制御する。【選択図】図１
2015005037.tif 000002
【特許請求の範囲】
【請求項１】
複数の記憶装置と、
複数の処理装置と、
前記複数の記憶装置と前記複数の処理装置との接続状態を切り替えるスイッチ装置と、
前記複数の記憶装置のうちの異なる２以上の記憶装置にそれぞれ記憶された複製データの一つを喪失した場合、前記異なる２以上の記憶装置のうち、喪失した複製データを記憶していた第１記憶装置以外の第２記憶装置に記憶される前記複製データを前記スイッチ装置経由でコピーして前記喪失した複製データを復元するよう、前記スイッチ装置および前記複数の処理装置を制御する制御装置と、
を有する情報処理装置。
【請求項２】
前記制御装置は、
前記複数の処理装置のそれぞれによってアクセスされるデータをコピーし、コピーされた前記データを前記複製データとして前記異なる２以上の記憶装置に分散配置するよう、前記スイッチ装置および前記複数の処理装置を制御する、請求項１記載の情報処理装置。
【請求項３】
前記制御装置は、
前記第２記憶装置に記憶される前記複製データを、前記スイッチ装置経由で、前記複数の記憶装置に含まれ前記第１記憶装置に代わる第３記憶装置にコピーする、請求項１または請求項２に記載の情報処理装置。
【請求項４】
前記制御装置は、
前記スイッチ装置を介して前記複数の処理装置のそれぞれと前記複数の記憶装置の一部とを接続することにより、前記複数の処理装置のうちの一の処理装置と前記複数の記憶装置のうちの一以上の記憶装置とを含む複数のノードとして、前記複数の記憶装置および前記複数の処理装置を管理する、請求項１または請求項２に記載の情報処理装置。
【請求項５】
前記第１記憶装置および前記第２記憶装置がそれぞれ前記複数のノードのうちの第１ノードおよび第２ノードに含まれ、
前記制御装置は、
前記第２ノードを成す前記一の処理装置としての第２処理装置に、前記複数の記憶装置における未使用のデータ複製用記憶装置を接続するよう、前記スイッチ装置を制御し、
前記第２処理装置に接続された前記データ複製用記憶装置に、前記第２記憶装置に記憶される前記複製データを前記スイッチ装置経由でコピーするよう、前記第２処理装置を制御し、
前記複製データをコピーした前記データ複製用記憶装置を、前記第２処理装置から切り離し、前記第１ノードを成す前記一の処理装置としての第１処理装置に接続するよう、前記スイッチ装置を制御する、請求項４記載の情報処理装置。
【請求項６】
前記制御装置は、
前記第１記憶装置に代えて、前記複数の記憶装置に含まれる未使用の第３記憶装置を前記第１処理装置に接続するよう、前記スイッチ装置を制御し、
前記第１処理装置に接続された前記第３記憶装置に、前記データ複製用記憶装置に記憶される前記複製データを前記スイッチ装置経由で保存するよう、前記第１処理装置を制御する、請求項５記載の情報処理装置。
【請求項７】
前記制御装置は、
前記複製データを前記第３記憶装置に保存した後、前記データ複製用記憶装置を、前記第１処理装置から切り離して未使用の状態に戻すよう、前記スイッチ装置を制御する、請求項６記載の情報処理装置。
【請求項８】
前記第１〜第３記憶装置はＨＤＤ（Hard Disk Drive）であり、
前記データ複製用記憶装置はＳＳＤ（Solid State Drive）である、請求項６または請求項７に記載の情報処理装置。
【請求項９】
前記スイッチ装置がＳＡＳ（Serial Attached SCSI (Small Computer System Interface)）エクスパンダであり、
前記制御装置は、
前記ＳＡＳエクスパンダのゾーニング情報を操作することにより前記複数のノードのそれぞれに属する前記一の処理装置と前記一以上の記憶装置とを設定する、請求項４〜請求項８のいずれか一項に記載の情報処理装置。
【請求項１０】
複数の記憶装置と、複数の処理装置と、前記複数の記憶装置と前記複数の処理装置との接続状態を切り替えるスイッチ装置と、を有する情報処理装置において、
前記複数の記憶装置のうちの異なる２以上の記憶装置にそれぞれ記憶された複製データの一つを喪失した場合、前記異なる２以上の記憶装置のうち、喪失した複製データを記憶していた第１記憶装置以外の第２記憶装置に記憶される前記複製データを前記スイッチ装置経由でコピーして前記喪失した複製データを復元するよう、前記スイッチ装置および前記複数の処理装置を制御する、
処理を、コンピュータに実行させる、情報処理装置の制御プログラム。
【請求項１１】
複数の記憶装置と、複数の処理装置と、前記複数の記憶装置と前記複数の処理装置との接続状態を切り替えるスイッチ装置と、を有する情報処理装置において、コンピュータによって実行される制御方法であって、
前記複数の記憶装置のうちの異なる２以上の記憶装置にそれぞれ記憶された複製データの一つを喪失した場合、前記異なる２以上の記憶装置のうち、喪失した複製データを記憶していた第１記憶装置以外の第２記憶装置に記憶される前記複製データを前記スイッチ装置経由でコピーして前記喪失した複製データを復元するよう、前記スイッチ装置および前記複数の処理装置を制御する、情報処理装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理装置の制御プログラム、および情報処理装置の制御方法に関する。
【背景技術】
【０００２】
複数のサーバ（サーバクラスタ）を含むオブジェクトストレージシステムにおいては、ネットワーク経由でユーザやウェブアプリケーションと各サーバとの間での実データ（オブジェクト）の送受信が行なわれる。
【０００３】
例えば図３７に示すオブジェクトストレージシステムにおいて、ユーザは、インターネット，ＬＡＮ（Local Area Network）等のネットワーク１００とゲートウェイ２００とを介し、複数（図３７中では４台）のサーバ３００Ａ〜３００Ｄを含むサーバ群との間で、実データ（オブジェクト）の送受信を行なう。なお、以下の説明において、サーバの一つを特定する場合には符号３００Ａ〜３００Ｄが用いられ、任意のサーバを指す場合には符号３００が用いられる。実データの格納場所としては、各サーバ３００に内蔵されたディスクドライブ（ＨＤＤ(Hard Disk Drive)；図３８および図３９の符号３０３ａ〜３０３ｃ参照）が用いられる。
【０００４】
このとき、ドライブ故障の対策として、ドライブ故障が発生した際にオブジェクトが喪失するのを防止すべく、同一オブジェクトの複製データであるレプリカを、異なる複数のサーバ３００のＨＤＤに格納することが行なわれている。オブジェクトストレージシステムにおいて格納される同一オブジェクトの所定レプリカ数のことを、レプリカの多重度または冗長度という。図３７では、レプリカの多重度が３である場合が示されている。
【０００５】
ネットワーク１００とサーバ群との間に介在するゲートウェイ（フロントエンドサーバ）２００は、ユーザからオブジェクトのライトアクセス等を受けた場合、当該オブジェクトについて所定数（図３７では３）のレプリカを生成する。そして、ゲートウェイ２００は、生成した所定数のレプリカを、それぞれ異なるサーバ３００Ａ〜３００Ｃに分散配置して格納する。
【０００６】
次に、図３８および図３９を参照しながら、図３７に示すオブジェクトストレージシステムにおけるドライブ故障時の処理について説明する。図３８および図３９に示すように、各サーバ３００は、ＬＡＮ１００に接続され、ＣＰＵ（Central Processing Unit）３０１，メモリ３０２および複数（図中、３）のＨＤＤ３０３ａ〜３０３ｃを有している。各サーバ３００のＨＤＤ３０３ａ〜３０３ｃには、ユーザによってアクセスされる実データ（オブジェクト）が格納される。また、各サーバ３００のメモリ３０２には、ＣＰＵ３０１の処理に必要な各種データ，プログラム等が格納されるほか、ＨＤＤ３０３ａ〜３０３ｃに格納されるオブジェクトが一時的に格納される。なお、図３８および図３９では、図３７において示されていたゲートウェイ２００の図示は省略されている。
【０００７】
まず、図３８に示すように、同一オブジェクトの３つのレプリカ（図中の星印参照）がそれぞれサーバ３００ＡのＨＤＤ３０３ａ，サーバ３００ＢのＨＤＤ３０３ｂ，サーバ３００ＣのＨＤＤ３０３ｃに格納されているものとする。このとき、図３９に示すように、サーバ３００ＡのＨＤＤ３０３ａが故障したとする。この場合、サーバ３００ＡのＨＤＤ３０３ａに格納されていたオブジェクトが喪失し、システムにおける当該オブジェクトのレプリカ数（多重度，冗長度）は３から２に減少する。このため、当該オブジェクトのレプリカ数が０になる前に、当該オブジェクトのレプリカ数を所定数（ここでは３）に復旧させる必要がある。
【０００８】
そこで、当該オブジェクトのレプリカを有しているサーバ３００Ｂおよびサーバ３００Ｃの少なくとも一方は、図３９に矢印Ａ１またはＡ２で示すように、ＨＤＤ３０３ｂ，３０３ｃにおけるレプリカを、ＬＡＮ１００経由でサーバ３００Ａに送り、当該オブジェクトのレプリカをサーバ３００Ａに複製する。これにより、システムにおける当該オブジェクトのレプリカ数は所定数３に復旧される。なお、レプリカ数の復旧処理に際し、レプリカを送信すべきサーバやＨＤＤの選定等の具体的な手段は実装に依存する。
【０００９】
ただし、レプリカ数の復旧処理速度は、ＬＡＮ１００の帯域を超えることはできない。レプリカ数の復旧処理中に、ユーザのオブジェクト書込みや読込みが発生すると復旧処理と競合する。このとき、ユーザ処理を優先すると復旧処理が低速になり、復旧処理を優先するとユーザ処理が低速になる。
【００１０】
なお、関連する技術として、ディスクからテープへのバックアップ処理を、ＬＡＮを用いずにＳＡＮ（Storage Area Network）経由で行なう技術が知られている（下記特許文献参照）。しかし、当該技術は、単にディスクからテープへのバックアップ処理の高速化を図るもので、同一データを所定数のレプリカ（複製データ）として異なる所定数のサーバ（ＨＤＤ）に分散配置する環境における、レプリカ数の復旧処理に係るものではない。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２００２−００７３０４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
サーバクラスタを含むストレージシステムにおいては、サーバ間を接続するＬＡＮのバンド幅が処理性能のボトルネックとなる。このため、上述したように、ドライブ故障が発生した際にサーバ間ＬＡＮを用いてレプリカ数の復旧処理を行なうと、その復旧処理速度は制限される。したがって、復旧処理中にシステムユーザの処理要求が高負荷になった場合、復旧処理がユーザ処理を阻害することになるか、あるいはユーザ処理が復旧処理を阻害することになる。
【００１３】
一つの側面で、本発明は、ネットワークのバンド幅に影響を与えずに複製データの冗長度を復旧することを目的とする。
なお、前記目的に限らず、後述する発明を実施するための最良の形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本件の他の目的の一つとして位置付けることができる。
【課題を解決するための手段】
【００１４】
本件の情報処理装置は、複数の記憶装置と、複数の処理装置と、前記複数の記憶装置と前記複数の処理装置との接続状態を切り換えるスイッチ装置と、前記スイッチ装置および前記複数の処理装置を制御する制御装置と、を有する。前記制御装置は、前記複数の記憶装置のうちの異なる２以上の記憶装置にそれぞれ記憶された複製データの一つを喪失した場合、前記異なる２以上の記憶装置のうち、喪失した複製データを記憶していた第１記憶装置以外の第２記憶装置に記憶される前記複製データを前記スイッチ装置経由でコピーして前記喪失した複製データを復元するよう、前記スイッチ装置および前記複数の処理装置を制御する。
【発明の効果】
【００１５】
一実施形態によれば、ネットワークのバンド幅に影響を与えずに複製データの冗長度を復旧することができる。
【図面の簡単な説明】
【００１６】
【図１】本実施形態のオブジェクトストレージシステム（情報処理装置）の構成およびレプリカ冗長度復旧処理の概要を説明する図である。
【図２】本実施形態のオブジェクトストレージシステムの構成およびレプリカ冗長度復旧処理の概要を説明する図である。
【図３】本実施形態のオブジェクトストレージシステムの構成およびレプリカ冗長度復旧処理の概要を説明する図である。
【図４】本実施形態のオブジェクトストレージシステムの構成およびレプリカ冗長度復旧処理の概要を説明する図である。
【図５】本実施形態のオブジェクトストレージシステムの構成およびレプリカ冗長度復旧処理の概要を説明する図である。
【図６】本実施形態のオブジェクトストレージシステムの構成およびレプリカ冗長度復旧処理の概要を説明する図である。
【図７】本実施形態のオブジェクトストレージシステムの具体的なハードウエア構成および機能構成を示すブロック図である。
【図８】本実施形態のオブジェクトストレージシステムにおけるＳＡＳエクスパンダについて説明する図である。
【図９】図８に示すＳＡＳエクスパンダにおけるＳＡＳゾーニング設定について説明する図である。
【図１０】本実施形態のオブジェクトストレージシステムにおけるドライブＩＤの設定例について説明する図である。
【図１１】本実施形態のオブジェクトストレージシステムにおけるドライブＩＤの設定例について説明する図である。
【図１２】本実施形態のオブジェクトストレージシステムにおけるドライブＩＤの設定例について説明する図である。
【図１３】本実施形態のオブジェクトストレージシステムにおけるデバイス管理テーブルについて説明する図である。
【図１４】本実施形態のオブジェクトストレージシステムにおけるレプリカ管理テーブルについて説明する図である。
【図１５】本実施形態のオブジェクトストレージシステムにおけるサーバ・ドライブ接続テーブルについて説明する図である。
【図１６】本実施形態のオブジェクトストレージシステムにおけるドライブ属性テーブルについて説明する図である。
【図１７】本実施形態のオブジェクトストレージシステムにおける通常動作時のレプリカ分散配置について説明する図である。
【図１８】本実施形態のオブジェクトストレージシステムによるレプリカ冗長度復旧処理（故障ドライブ切断処理）を説明するフローチャートである。
【図１９】本実施形態のオブジェクトストレージシステムによるレプリカ冗長度復旧処理（故障ドライブ切断処理）を説明する図である。
【図２０】本実施形態のオブジェクトストレージシステムによるレプリカ冗長度復旧処理（故障ドライブ切断処理）を説明する図である。
【図２１】本実施形態のオブジェクトストレージシステムによるレプリカ冗長度復旧処理（コピー対象サーバの選定処理）を説明するフローチャートである。
【図２２】本実施形態のオブジェクトストレージシステムによるレプリカ冗長度復旧処理（コピー対象サーバの選定処理）を説明する図である。
【図２３】本実施形態のオブジェクトストレージシステムによるレプリカ冗長度復旧処理（コピー対象サーバの選定処理）を説明する図である。
【図２４】本実施形態のオブジェクトストレージシステムによるレプリカ冗長度復旧処理（ＳＳＤの選択・接続処理）を説明するフローチャートである。
【図２５】本実施形態のオブジェクトストレージシステムによるレプリカ冗長度復旧処理（ＳＳＤの選択・接続処理）を説明する図である。
【図２６】本実施形態のオブジェクトストレージシステムによるレプリカ冗長度復旧処理（ＳＳＤの選択・接続処理）を説明する図である。
【図２７】本実施形態のオブジェクトストレージシステムによるレプリカ冗長度復旧処理（ＳＳＤに対するレプリカコピー処理）を説明するフローチャートである。
【図２８】本実施形態のオブジェクトストレージシステムによるレプリカ冗長度復旧処理（ＳＳＤに対するレプリカコピー処理）を説明する図である。
【図２９】本実施形態のオブジェクトストレージシステムによるレプリカ冗長度復旧処理（ＳＳＤに対するレプリカコピー処理）を説明する図である。
【図３０】本実施形態のオブジェクトストレージシステムによるレプリカ冗長度復旧処理（ＳＳＤの移動処理＆予備ＨＤＤの追加処理）を説明するフローチャートである。
【図３１】本実施形態のオブジェクトストレージシステムによるレプリカ冗長度復旧処理（ＳＳＤの移動処理＆予備ＨＤＤの追加処理）を説明する図である。
【図３２】本実施形態のオブジェクトストレージシステムによるレプリカ冗長度復旧処理（ＳＳＤの移動処理＆予備ＨＤＤの追加処理）を説明する図である。
【図３３】本実施形態のオブジェクトストレージシステムによるレプリカ冗長度復旧処理（予備ＨＤＤに対するレプリカコピー処理）を説明するフローチャートである。
【図３４】本実施形態のオブジェクトストレージシステムによるレプリカ冗長度復旧処理（予備ＨＤＤに対するレプリカコピー処理）を説明する図である。
【図３５】本実施形態のオブジェクトストレージシステムによるレプリカ冗長度復旧処理（予備ＨＤＤに対するレプリカコピー処理）を説明する図である。
【図３６】本実施形態のオブジェクトストレージシステムによるレプリカ冗長度復旧処理（予備ＨＤＤに対するレプリカコピー処理）を説明する図である。
【図３７】オブジェクトストレージシステムの構成およびレプリカの分散配置を説明する図である。
【図３８】図３７に示すオブジェクトストレージシステムにおけるドライブ故障時の処理を説明する図である。
【図３９】図３７に示すオブジェクトストレージシステムにおけるドライブ故障時の処理を説明する図である。
【発明を実施するための形態】
【００１７】
以下、図面を参照して実施の形態を説明する。
〔１〕本実施形態のオブジェクトストレージシステムの構成およびレプリカ冗長度復旧処理の概要
まず、図１〜図６を参照しながら、本実施形態のオブジェクトストレージシステム（情報処理装置）１の構成およびレプリカ冗長度復旧処理の概要について説明する。
【００１８】
図１〜図６に示すように、本実施形態のオブジェクトストレージシステム（情報処理装置）１は、ＬＡＮ２，サーバ群３，ドライブエンクロージャ４，ドライブ接続切替スイッチ５および制御装置６を有している。
ＬＡＮ２は、イーサネット（登録商標）等のネットワークであり、サーバ群３を成すサーバ３Ａ〜３Ｃの相互間や、当該サーバ群３と制御装置６との間を相互に通信可能に接続する。
【００１９】
サーバ群（サーバクラスタ，ストレージノード群）３は、複数のサーバ（ノード，処理装置）３Ａ〜３Ｃを含む。図１〜図６に示すサーバ群３は３台のサーバ３Ａ〜３Ｃを有しているが、４台以上のサーバを備えてもよい。本実施形態のサーバ３Ａ〜３Ｃの各々は、ＣＰＵ（処理部）３１およびメモリ３２を含む。サーバ３Ａ〜３Ｃの各々によって使用される記憶装置（ドライブ）４ａ〜４ｊ，４１および４２は、ドライブプール（ドライブエンクロージャ）４として集約される。なお、メモリ３２には、ＣＰＵ３１の処理に必要な各種データ，各種プログラム等が格納されるほか、記憶装置４ａ〜４ｊ，４１および４２に格納されるオブジェクトが一時的に格納される。また、メモリ３２としては、ＲＡＭ（Random Access Memory），ＨＤＤ，ＳＳＤなど各種記憶装置を用いることができる。
【００２０】
ドライブプール４には、多種類のドライブ（ＨＤＤ，ＳＳＤ(Solid State Drive)等）を混在させて搭載することが可能である。また、ドライブプール４には、多数のドライブを収納することが可能であるとともに、予備用の余剰ドライブ（第３記憶装置）を搭載することも可能になっている。本実施形態では、ドライブとして、１０台のＨＤＤ４ａ〜４ｊと２台のＳＳＤ４１，４２とが備えられているが、本発明はこれらの数に限定されるものではない。また、本実施形態では、ＨＤＤ４ｊが上記余剰ドライブとして備えられているが、２台以上のＨＤＤが余剰ドライブとして備えられてもよい。さらに、本実施形態において、ＳＳＤ４１，４２は、後述するデータ複製用記憶装置として用いられるが、３台以上のＳＳＤが後述するデータ複製用記憶装置として備えられてもよい。
【００２１】
ドライブ接続切替スイッチ（スイッチ装置）５は、複数の記憶装置４ａ〜４ｊ，４１および４２と複数のＣＰＵ３Ａ〜３Ｃとの接続状態を切り替えるもので、例えば図８および図９を参照しながら後述するＳＡＳエクスパンダによって構成される。スイッチ５は、後述する制御装置６のマネージャサーバとしての機能によって制御される。スイッチ５が上記接続状態を切り替えることで、サーバ３Ａ〜３Ｃの各々は、記憶装置４ａ〜４ｊ，４１および４２のいずれについても専有してアクセスすることが可能になっている。
【００２２】
図１に示す例では、スイッチ５によって、３台のＨＤＤ４ａ〜４ｃを含むドライブグループ４Ａがサーバ３Ａに接続され、サーバ３Ａとドライブグループ４Ａとから一つのノードが構成される。また、スイッチ５によって、３台のＨＤＤ４ｄ〜４ｆを含むドライブグループ４Ｂがサーバ３Ｂに接続され、サーバ３Ｂとドライブグループ４Ｂとから一つのノードが構成される。さらに、スイッチ５によって、３台のＨＤＤ４ｇ〜４ｉを含むドライブグループ４Ｃがサーバ３Ｃに接続され、サーバ３Ｃとドライブグループ４Ｃとから一つのノードが構成される。
【００２３】
これにより、サーバ３ＡとＨＤＤ４ａ〜４ｃとは一つのノードとして管理され、ＨＤＤ４ａ〜４ｃには、サーバ３Ａ経由でアクセスされるオブジェクトが格納される。また、サーバ３ＢとＨＤＤ４ｄ〜４ｆとは一つのノードとして管理され、ＨＤＤ４ｄ〜４ｆには、サーバ３Ｂ経由でアクセスされるオブジェクトが格納される。さらに、サーバ３ＣとＨＤＤ４ｇ〜４ｉとは一つのノードとして管理され、ＨＤＤ４ｇ〜４ｉには、サーバ３Ｃ経由でアクセスされるオブジェクトが格納される。このとき、予備用の余剰ドライブとしてのＨＤＤ４ｊや、データ複製用のＳＳＤ４１，４２は、いずれのサーバ３Ａ〜３Ｃにも接続されていない接続解除状態になっている。
【００２４】
制御装置６は、ＵＳＢ（Universal Serial Bus）を介してスイッチ５と通信可能に接続されるとともに、ＬＡＮ２を介してサーバ３Ａ〜３Ｃ（ＣＰＵ３１）と通信可能に接続され、スイッチ５およびサーバ３Ａ〜３Ｃ（ＣＰＵ３１）を制御する。制御装置６は、スイッチ５およびサーバ３Ａ〜３Ｃ（ＣＰＵ３１）を制御することで後述するレプリカ冗長度復旧処理を行なうマネージャサーバとしての機能を果たす。また、制御装置６は、ユーザからのアクセスに応じＬＡＮ２およびサーバ３Ａ〜３Ｃ経由でドライブグループ４Ａ〜４Ｃにおける当該オブジェクトに対するアクセスを行なうフロントエンドサーバとしての機能を果たす。
【００２５】
このとき、本オブジェクトストレージシステム１においても、ドライブ故障の対策として、ドライブ故障が発生した際にオブジェクトが喪失するのを防止すべく、同一オブジェクトの複製データであるレプリカが、異なる複数のサーバのＨＤＤに格納される。図１〜図６では、レプリカの冗長度（多重度）が２である場合が示されている。つまり、制御装置６のフロントエンドサーバとしての機能は、当該オブジェクトについて２つのレプリカを生成し異なるドライブグループに属する２台のＨＤＤに分散配置する。これにより、図１に示す例では、ある一のオブジェクトの２つのレプリカ（複製データ）Ｄ１，Ｄ１がそれぞれＨＤＤ４ａ，４ｅに分散配置されるとともに、他のオブジェクトの２つのレプリカ（複製データ）Ｄ２，Ｄ２がそれぞれＨＤＤ４ａ，４ｉに分散配置される。
【００２６】
そして、制御装置６のマネージャサーバとしての機能は、レプリカの一つを喪失しレプリカの冗長度が２から１に減少した場合、レプリカの冗長度を復旧する処理を実行する。つまり、制御装置６は、スイッチ５およびサーバ３Ａ〜３ＣのＣＰＵ３１を制御することによって、喪失したレプリカを記憶していたＨＤＤ（第１記憶装置）４ａ以外で当該レプリカを記憶しているＨＤＤ（第２記憶装置）４ｅ，４ｉから、当該レプリカをスイッチ５経由でコピーして喪失したレプリカをドライブグループ４Ａにおいて復元する。このとき、制御装置６は、例えば、ＨＤＤ４ｅ，４ｉに記憶されるレプリカＤ１，Ｄ２を、スイッチ５経由で、ＨＤＤ４ａに代わるＨＤＤ（第３記憶装置）４ｊにコピーする。
【００２７】
以下、図１に示すようにレプリカＤ１，Ｄ２が冗長度２で保存されている状態で、図２に示すようにレプリカＤ１，Ｄ２を保存するＨＤＤ４ａが故障した場合に、制御装置６によって実行される復旧処理の概要について、図２〜図６を参照しながら説明する。なお、故障したＨＤＤ４ａを含むノードを第１ノードといい、故障したＨＤＤ４ａに保存されていたレプリカＤ１，Ｄ２を記憶する他のＨＤＤ４ｅ，４ｉをそれぞれ含む２つのノードを第２ノードという。また、前記第１ノードに含まれるサーバ（処理装置）３Ａを第１処理装置といい、２つの前記第２ノードにそれぞれ含まれるサーバ（処理装置）３Ｂ，３Ｃを第２処理装置という。
【００２８】
さて、図２に示すように、レプリカＤ１，Ｄ２を保存するＨＤＤ４ａが故障した場合、制御装置６は、第２ノードを成すサーバ（第２処理装置）３Ｂ，３Ｃに未使用のデータ複製用記憶装置であるＳＳＤ４１，４２をそれぞれ接続するよう、スイッチ５を制御する。これにより、ドライブグループ４Ｂ，４Ｃにデータ複製用のＳＳＤ４１，４２がそれぞれ含まれることになる。したがって、故障したＨＤＤ４ａに格納されているオブジェクトのレプリカＤ１，Ｄ２をそれぞれ保持しているサーバ３Ｂ，３Ｃは、それぞれＳＳＤ４１，４２を新たに専有する。
【００２９】
そして、制御装置６は、サーバ３Ｂ，３Ｃにそれぞれ接続されたＳＳＤ４１，４２に、ＨＤＤ４ｅ，４ｉに記憶されるレプリカＤ１，Ｄ２をスイッチ５経由でコピーするよう、サーバ３Ｂ，３Ｃ（ＣＰＵ３１）を制御する。これにより、サーバ３Ｂおよびドライブグループ４Ｂの属する第２ノードでは、図３に矢印Ａ３で示すように、ＨＤＤ４ｅからＳＳＤ４１に対し、復旧すべきレプリカＤ１がローカルにコピーされる。同様に、サーバ３Ｃおよびドライブグループ４Ｃの属する第２ノードでは、図３に矢印Ａ４で示すように、ＨＤＤ４ｉからＳＳＤ４２に対し、復旧すべきレプリカＤ２がローカルにコピーされる。この時点でレプリカ数（レプリカの冗長度）は２でありドライブ故障の発生以前と同等またはそれ以上になっているので、オブジェクト喪失の危険性は回避されている。
【００３０】
この後、制御装置６は、レプリカＤ１，Ｄ２をそれぞれコピーしたＳＳＤ４１，４２を、サーバ３Ｂ，３Ｃから切り離し、前記第１ノードを成すサーバ（第１処理装置）３Ａに接続するよう、スイッチ５を制御する。これにより、図４に示すように、ドライブグループ４Ａにデータ複製用のＳＳＤ４１，４２が含まれることになる。したがって、ドライブ故障の発生したサーバ３Ａに、ＳＳＤ４１，４２が専有される。この時点で、サーバ３Ａおよびドライブグループ４Ａの属するノードは、論理的にはドライブ故障の発生以前の状態に復元されている。
【００３１】
さらに、制御装置６は、ＨＤＤ（第１記憶装置）４ａに代えて、未使用の第３記憶装置であるＨＤＤ４ｊをサーバ３Ａに接続するよう、スイッチ５を制御する。これにより、図４に示すように、故障したドライブと置換するための予備用の余剰ドライブであるＨＤＤ４ｊが、ドライブグループ４Ａに含まれ、故障したＨＤＤ４ａに代わってサーバ３Ａに専有される。
【００３２】
そして、制御装置６は、サーバ３Ａに接続されたＨＤＤ４ｊに、データ複製用のＳＳＤ４１，４２に記憶されるレプリカＤ１，Ｄ２をスイッチ５経由で保存するよう、サーバ３Ａ（ＣＰＵ３１）を制御する。これにより、サーバ３Ａおよびドライブグループ４Ａの属する第１ノードでは、図５に矢印Ａ５で示すように、ＳＳＤ４１からＨＤＤ４ｊに対し、復旧すべきレプリカＤ１がコピーされる。同様に、第１ノードでは、図５に矢印Ａ６で示すように、ＳＳＤ４２からＨＤＤ４ｊに対し、復旧すべきレプリカＤ２がコピーされる。
【００３３】
最後に、制御装置６は、レプリカＤ１，Ｄ２をＨＤＤ４ｊに保存した後、データ複製用のＳＳＤ４１，４２を、サーバ３Ａから切り離して未使用の状態に戻すよう、スイッチ５を制御する。これにより、図６に示すように、ＳＳＤ４１，４２は、フリーな状態、つまり、いずれのサーバ３Ａ〜３Ｃにも接続されていない接続解除状態に戻る。この時点で、一台の予備用の余剰ドライブが未使用状態から使用状態になった以外、オブジェクトストレージシステム１は、ドライブ故障の発生前と同じ状態に復元される。
【００３４】
図１〜図６を参照しながら上述したように、本実施形態では、サーバ群３とドライブエンクロージャ４との間におけるスイッチ５を用いてレプリカ冗長度復旧処理が行なわれるため、ＬＡＮ２のバンド幅に影響を与えることなく、レプリカの冗長度が復旧される。したがって、ＬＡＮ２における負荷が大きい場合でも、レプリカ冗長度復旧処理はＬＡＮ２の影響を受けない。そのため、ＬＡＮ２のバンド幅が制限されている構成においても、レプリカ数の減少を高速に復旧することが可能であり、使用中のＨＤＤが故障したとしても、レプリカの分散配置状況を、初期の理想的な割り振りに直ちに戻すことができる。
【００３５】
なお、データ複製用記憶装置としては、ＳＳＤ４１，４２に代えてＨＤＤを用いてもよい。容量単価はＨＤＤの方がＳＳＤよりも安価であるため、データ複製用記憶装置としてＨＤＤを用いた場合、ＳＳＤを用いた場合よりも低コストで本実施形態のシステム１を提供することが可能である。
【００３６】
これに対し、読込み処理時の転送速度および書込み処理時の転送速度はいずれもＳＳＤの方がＨＤＤよりも高速である。このため、本実施形態のごとく、データ複製用記憶装置としてＳＳＤを用いることで、データ複製用記憶装置としてＨＤＤを用いる場合よりも、レプリカ冗長度復旧処理をより高速に行なうことができる。本実施形態では、データ複製用記憶装置として例えば２台のＳＳＤを備えることにより、少数の高価なデバイスを効果的に用い、できるだけ低コストでレプリカ冗長度復旧処理をより高速に行なうことができる。
【００３７】
〔２〕本実施形態のオブジェクトストレージシステムの具体的なハードウエア構成および機能
次に、図７〜図１７を参照しながらオブジェクトストレージシステム（情報処理装置）１のハードウエア構成および機能について、より具体的に説明する。まず、図７を参照しながら、本実施形態のオブジェクトストレージシステム１の具体的なハードウエア構成および機能構成について説明する。なお、図７は、オブジェクトストレージシステム１の具体的なハードウエア構成および機能構成を示すブロック図である。また、図中、既述の符号と同一の符号は、同一もしくはほぼ同一の部分を示しているので、その詳細な説明は省略する。
【００３８】
図７に示すオブジェクトストレージシステム１も、図１〜図６に示したシステム１と同様のＬＡＮ（ネットワークスイッチ）２，サーバ群３，ドライブエンクロージャ４，ドライブ接続切替スイッチ５および制御装置６を有している。
【００３９】
図７に示すシステム１において、制御装置６は、ＣＰＵ（処理部）６１およびメモリ６２を含む。メモリ６２には、ＣＰＵ６１の処理に必要な各種データ，各種プログラム等が格納される。各種プログラムには、制御装置６が前述したマネージャサーバおよびフロントエンドサーバとして機能する際にＣＰＵ６１によって実行される制御プログラムが含まれる。また、各種データには、制御装置６が前述したマネージャサーバおよびフロントエンドサーバとして機能する際にＣＰＵ６１によって参照／照合検索／更新されるテーブルＴ１〜Ｔ４が含まれる。テーブルＴ１〜Ｔ４については、図１３〜図１６を参照しながら後述する。なお、メモリ６２としては、ＲＡＭ，ＨＤＤ，ＳＳＤなど各種記憶装置を用いることができる。
【００４０】
また、図７に示すシステム１において、スイッチ５は、図８に示すようなＳＡＳ（Serial Attached SCSI (Small Computer System Interface)）エクスパンダによって構成されている。ＳＡＳエクスパンダ５は、ＳＡＳインタフェースを介してサーバ群３およびドライブエンクロージャ４に接続される。また、ＳＡＳエクスパンダ５は、ＵＳＢインタフェースを介して制御装置６に接続される。制御装置６は、前述したマネージャサーバとして機能する際、ＵＳＢインタフェースを介して、ＳＭＰ（Serial Management Protocol）コマンドをＳＡＳエクスパンダ５に送信しＳＡＳエクスパンダ５のゾーニング情報を操作する。これにより、複数のノード（図７〜図９では３つのノード）のそれぞれに属する一のサーバと一以上のＨＤＤおよび／またはＳＳＤとの組合せを任意に設定することが可能になっている。なお、ＳＡＳエクスパンダ５は、イーサネット等のインタフェースを介して制御装置６に接続されていてもよい。
【００４１】
〔２−１〕ＳＡＳエクスパンダ（スイッチ装置）
ここで、ＳＡＳエクスパンダ５について、図８および図９を参照しながら説明する。なお、図８は、本実施形態のオブジェクトストレージシステム１におけるＳＡＳエクスパンダ（スイッチ装置）５について説明する図である。図９は、図８に示すＳＡＳエクスパンダ５におけるゾーニング設定について説明する図である。
【００４２】
ＳＡＳエクスパンダ５は、サーバ３Ａ〜３ＣのＨＢＡ（Host Bus Adapter）３３にそれぞれ接続されるＰＨＹ（物理層のポート）５１ａ〜５１ｃと、ＨＤＤ４ａ〜４ｊおよびＳＳＤ４１，４２をそれぞれ接続されるＰＨＹ５２ａ〜５２ｌとを有している。各サーバのＨＢＡ３３とドライブ４ａ〜４ｊ，４１，４２との対応付けは、ＳＡＳエクスパンダ５のゾーニング設定によって行なわれる。ゾーニング設定は、制御装置６からのＳＭＰコマンドによって変更可能になっている。
【００４３】
図８に示すＳＡＳエクスパンダ５において、ゾーニング設定は、図９に示すように行なわれている。つまり、サーバ３Ａに対応するゾーンＩＤ（IDentification）“Ｚ１”にはＰＨＹ５１ａ；５２ａ〜５２ｃが設定される。これにより、ゾーンＺ１において、ＰＨＹ５１ａとＰＨＹ５２ａ〜５２ｃとが接続され、サーバ３ＡとＨＤＤ４ａ〜４ｃとが対応付けられた一つのノードが構成される。また、サーバ３Ｂに対応するゾーンＩＤ“Ｚ２”にはＰＨＹ５１ｂ；５２ｄ〜５２ｆが設定される。これにより、ゾーンＺ２において、ＰＨＹ５１ｂとＰＨＹ５２ｄ〜５２ｆとが接続され、サーバ３ＢとＨＤＤ４ｄ〜４ｆとが対応付けられた一つのノードが構成される。さらに、サーバ３Ｃに対応するゾーンＩＤ“Ｚ３”にはＰＨＹ５１ｃ；５２ｇ〜５２ｉが設定される。これにより、ゾーンＺ３において、ＰＨＹ５１ｃとＰＨＹ５２ｇ〜５２ｉとが接続され、サーバ３ＣとＨＤＤ４ｇ〜４ｉとが対応付けられた一つのノードが構成される。
【００４４】
なお、図８に示すＳＡＳエクスパンダ５においては、サーバ３Ａ〜３Ｃの各々に対応するゾーンＺ１〜Ｚ３に加え、どのサーバにも対応しない接続解除用のゾーンＩＤ“Ｚ４”が設定されている。つまり、図９に示すように、前述した予備用の余剰ドライブとしてのＨＤＤ４ｊおよびデータ複製用のＳＳＤ４１，４２をそれぞれ接続されるＰＨＹ５２ｊ，５２ｋ，５２ｌは、ゾーンＩＤ“Ｚ４”に設定されることで、いずれのサーバ３Ａ〜３Ｃにも接続されていない接続解除状態になっている。
【００４５】
〔２−２〕ドライブＩＤの設定例
次に、図１０〜図１２を参照しながら、本実施形態のオブジェクトストレージシステム１において用いられるドライブＩＤ、つまり、ドライブプール４に集約される各ドライブ（ＨＤＤ４ａ〜４ｊおよびＳＳＤ４１，４２の各々）のＩＤの設定例について説明する。
【００４６】
本実施形態においては、サーバ群３に対しスイッチ５を介して接続または切断するドライブの指定や、各ドライブの接続状況の管理等を行なう際、ドライブＩＤが用いられる。ドライブＩＤとしては、各ドライブを識別することが可能な固有の値であれば、任意の値を設定することができる。本実施形態では、例えば図１０〜図１２に示すように、ドライブエンクロージャ４内でのドライブ格納位置を基準として、ドライブＩＤが設定される。
【００４７】
図１０に示すように、一つのドライブエンクロージャに４つのユニット＃０〜＃３が搭載されるとともに、各ユニットに１６個のスロット＃０〜＃１５が備えられ、各スロットにＨＤＤまたはＳＳＤが実装される場合、以下のようにドライブＩＤが設定される。つまり、例えばユニット＃２のスロット＃３に実装されたドライブには、ドライブＩＤとして“2-3”を設定・付与することができる。なお、各スロットには、ＳＡＳインタフェースまたはＳＡＴＡ（Serial Advanced Technology Attachment）インタフェースでＨＤＤやＳＳＤのいずれも実装することが可能である。
【００４８】
また、図１０に示すドライブエンクロージャを、図１１に示すごとく、カスケード形式で接続してドライブプール４の規模を拡大した場合、以下のようにドライブＩＤが設定される。図１１では、図１０に示すドライブエンクロージャが３台、カスケード形式で接続された例（２段カスケードの例）が示されている。このとき、カスケードの先頭のエンクロージャから順に＃０，＃１，＃２，…と番号を付与することで、例えばエンクロージャ＃１におけるユニット＃２のスロット＃３に実装されたドライブには、ドライブＩＤとして“1-2-3”を設定・付与することができる。
【００４９】
さらに、図１２に示すごとく、各サーバを複数のカスケードの組（図１１に示すエンクロージャセット）に接続してドライブプール４の規模を拡大した場合、以下のようにドライブＩＤが設定される。図１２では、図１１に示すエンクロージャセットが２組、各サーバに接続された例が示されている。各エンクロージャセットをドメインと呼ぶ。このとき、２組のドメインにそれぞれ＃０，＃１を付与することで、例えばドメイン＃０のエンクロージャ＃１におけるユニット＃２のスロット＃３に実装されたドライブには、ドライブＩＤとして“0-1-2-3”を設定・付与することができる。
【００５０】
〔２−３〕テーブルＴ１〜Ｔ４
次に、図１３〜図１６を参照しながら、本実施形態のオブジェクトストレージシステム１において用いられるテーブルＴ１〜Ｔ４について説明する。ここで、デバイス管理テーブルＴ１とレプリカ管理テーブルＴ２とは、少なくとも、制御装置６のフロントエンドサーバとしての機能が図１７を参照しながら後述するごとくオブジェクトの分散配置を行なう際に用いられる。また、サーバ・ドライブ接続テーブルＴ３は、制御装置６のマネージャサーバとしての機能がドライブの接続／切断を行なう度に更新される。さらに、ドライブ属性テーブルＴ４は、制御装置６のマネージャサーバとしての機能がレプリカ冗長度復旧処理を実行する際にデータ複製用のＳＳＤを決定すべく用いられる。
【００５１】
〔２−３−１〕デバイス管理テーブルＴ１
まず、図１３を参照しながら、本実施形態のオブジェクトストレージシステム１におけるデバイス管理テーブルＴ１について説明する。デバイス管理テーブルＴ１は、少なくとも、ＨＤＤ，ＳＳＤ等のデバイスを論理的に特定するデバイスＩＤと、当該デバイスＩＤに対応する実際のＨＤＤ，ＳＳＤ等を物理的に特定するドライブＩＤとを対応付ける。
【００５２】
図１３に示すデバイス管理テーブルＴ１では、デバイスＩＤ（devID）とドライブＩＤ（driveID）とマウントポイントとサーバＩＰ（Internet Protocol）アドレスとが対応付けられている。ドライブＩＤは、図１０〜図１２を参照しながら前述したＩＤである。マウントポイントは、デバイスＩＤに対応付けられたドライブが当該サーバのファイルシステムにおいてマウントされているディレクトリのパスを示す。このマウントポイントとしてのディレクトリ名は任意でよく、本実施形態では、マウントポイントとしてドライブＩＤと同等の文字列を使用している。また、サーバＩＰアドレスは、デバイスＩＤに対応付けられたドライブとＬＡＮ２経由で通信する際に使用される。本実施形態の機能を実現するに当たって、デバイス管理テーブルＴ１には、デバイスＩＤとドライブＩＤとの対応関係が保持されていればよく、マウントポイントおよびサーバＩＰアドレスは省略されていてもよい。
【００５３】
〔２−３−２〕レプリカ管理テーブルＴ２
図１４を参照しながら、本実施形態のオブジェクトストレージシステム１におけるレプリカ管理テーブルＴ２について説明する。レプリカ管理テーブルＴ２は、オブジェクトのレプリカの分散配置に際して用いられ、レプリカ毎のハッシュ対応テーブルである。なお、以下の説明において、レプリカの冗長度は３であるものとし、図１４では、レプリカの冗長度が３である場合の例が示されている。
【００５４】
図１４に示すレプリカ管理テーブルＴ２では、オブジェクトのハッシュ値の上位ｎビットの値と、３つのレプリカ＃１〜＃３をそれぞれ格納すべき３つのデバイス（ドライブ）を特定するデバイスＩＤとが対応付けられている。オブジェクトのハッシュ値は、ユーザのアカウント名やオブジェクト名などから成るオブジェクトのパス名を、ＭＤ５（Message Digest algorithm 5）等の一方向ハッシュ関数にかけて得られる、一定幅のビット列である。このようなハッシュ値の上位ｎビットの値をキーにしてレプリカ管理テーブルＴ２を照合検索することで、当該オブジェクトの３つのレプリカ＃１〜＃３をそれぞれ格納すべき３つのデバイスが特定される。このようなレプリカ管理テーブルＴ２は、システム１の起動前に生成され、制御装置（フロントエンドサーバ）６によって管理される。
【００５５】
なお、オブジェクトのハッシュ値の上位ｎビットの値と３つのデバイスＩＤとの対応は基本的にランダムに決定される。ただし、同じ上位ｎビット値に対応付けられる３つのデバイスは、それぞれ異なるゾーン（ノード）に属するものとする。つまり、同一ハッシュ値の３つのレプリカには、それぞれ異なるゾーン（ノード）に属するデバイスが割り付けられるものとする。
【００５６】
図１４に示すレプリカ管理テーブルＴ２では、例えば、ハッシュ値の上位ｎビットの値“00001”に対し３つのデバイスＩＤ“dev0, dev1, dev2”が割り付けられている。したがって、ハッシュ値の上位ｎビットの値が“00001”であるオブジェクトの３つのレプリカは、それぞれデバイスＩＤ“dev0, dev1, dev2”によって特定される３つのデバイスに配置される。なお、デバイスＩＤ“dev0, dev1, dev2”は、図１３に示すデバイス管理テーブルＴ１に基づき、それぞれドライブＩＤ“0-0-0-0, 0-0-0-1, 0-0-0-2”に対応するＨＤＤであることが認識される。
【００５７】
ここで、図１４を参照しながら、各ＨＤＤに対するオブジェクト（レプリカ）の格納例について説明する。各ＨＤＤにおいては、オブジェクトのハッシュ値の上位ｎビットの値毎に、ディレクトリが設定されている。各ディレクトリ内には、当該ディレクトリに設定された上位ｎビットの値で開始されるハッシュ値をもつオブジェクトが全て格納される。例えば、図１４に示すレプリカ管理テーブルＴ２を用いて図１７を参照しながら後述するごとくレプリカ分散配置を行なった場合、デバイスＩＤ“dev2”のＨＤＤには“00001”，“00002”，“00010”で開始されるハッシュ値をもつオブジェクトが全て格納されることになる。
【００５８】
〔２−３−３〕サーバ・ドライブ接続テーブルＴ３
図１５を参照しながら、本実施形態のオブジェクトストレージシステム１におけるサーバ・ドライブ接続テーブルＴ３について説明する。図１５に示すサーバ・ドライブ接続テーブルＴ３では、サーバを特定するサーバＩＤ（serverID）と、当該サーバＩＤによって特定されるサーバに接続されるドライブを特定するドライブＩＤ（driveID）とが対応付けられている。サーバ・ドライブ接続テーブルＴ３は、スイッチ５によってドライブの接続／切断を行なう度に、制御装置６（マネージャサーバ）によって更新される。
【００５９】
なお、サーバＩＤとしては、例えば、対応サーバに接続されるポート／ＰＨＹの番号などのハードウエア要素によって決定された値が用いられてもよいし、別途、サーバとＩＰアドレスとを対応付けるテーブル等を用いて決定される値が用いられてもよい。また、ドライブＩＤとしては、例えば図１０〜図１２を参照しながら前述したＩＤが用いられる。
【００６０】
さらに、サーバ・ドライブ接続テーブルＴ３には、サーバＩＤとして“フリー”が設定されており、サーバＩＤ“フリー”には、いずれのサーバ３Ａ〜３Ｃにも接続されていない接続解除状態のドライブのＩＤが対応付けられる。図１５に示すサーバ・ドライブ接続テーブルＴ３では、例えば、予備用の余剰ドライブとしてのＨＤＤ４ｊやデータ複製用のＳＳＤ４１，４２のドライブＩＤ“0-0-1-0, 0-0-1-1, 0-0-1-2”が、サーバＩＤ“フリー”に対応付けられている。
【００６１】
〔２−３−４〕ドライブ属性テーブルＴ４
図１６を参照しながら、本実施形態のオブジェクトストレージシステム１におけるドライブ属性テーブルＴ４について説明する。ドライブ属性テーブルＴ４では、ドライブＩＤ（driveID）と、当該ドライブＩＤによって特定されるドライブの属性とが対応付けられている。ここでいう属性は、図１６に示すように、当該ドライブがＨＤＤであるかＳＳＤであるかを示す情報であり、制御装置（マネージャサーバ）６がデータ複製用のＳＳＤを決定する際に用いられる。ドライブＩＤとしては、例えば図１０〜図１２を参照しながら前述したＩＤが用いられる。
【００６２】
なお、ドライブ属性テーブルＴ４は、制御装置（マネージャサーバ）６によって管理されている。ドライブ属性テーブルＴ４は、予め生成されメモリ６２に格納されていてもよいし、システム１の起動時に制御装置（マネージャサーバ）６がシステム１に属するドライブの調査を行ない、各ドライブのドライブＩＤと属性（ＨＤＤかＳＳＤか）とを収集して作成されてもよい。
【００６３】
〔２−４〕通常動作時のレプリカ分散配置
次に、図１７を参照しながら、本実施形態のオブジェクトストレージシステム１における通常動作時のレプリカ分散配置について説明する。
【００６４】
本実施形態の制御装置（フロントエンドサーバ）６は、ユーザからのＰＵＴコマンドやＧＥＴコマンド等を処理する。その際、制御装置６は、ユーザのアカウント名やオブジェクト名などから成るオブジェクトのパス名を、ＭＤ５等の一方向ハッシュ関数にかけることで、オブジェクトのハッシュ値（一定幅のビット列）を得る。そして、制御装置６は、取得したハッシュ値の上位ｎビットの値をキーにしてレプリカ管理テーブルＴ２を照合検索することで、当該オブジェクトの３つのレプリカ＃１〜＃３をそれぞれ格納すべき３つのデバイスのＩＤ（例えばdev0, dev1, dev2）を取得する。
【００６５】
この後、制御装置６は、取得した３つのデバイスＩＤをキーにしてデバイス管理テーブルＴ１を照合検索することで、３つのデバイスＩＤ（例えばdev0, dev1, dev2）にそれぞれ対応する３つのドライブＩＤ（例えば0-0-0-0, 0-0-0-3, 0-0-0-6）を取得する。また、制御装置６は、取得した３つのデバイスＩＤ（例えば0-0-0-0, 0-0-0-3, 0-0-0-6）をキーにしてサーバ・ドライブ接続テーブルＴ３を照合検索することで、３つのデバイスにそれぞれ接続される３つのサーバのＩＤ（例えば０，１，２）を取得する。
【００６６】
そして、制御装置６は、図１７に示すように、オブジェクトの３つのレプリカ＃１〜＃３を、それぞれ、取得した３つのサーバＩＤ（例えば０，１，２）によって特定されるサーバ経由で、取得した３つのデバイスＩＤ（例えば0-0-0-0, 0-0-0-3, 0-0-0-6）によって特定されるＨＤＤに転送して書き込む（矢印Ａ７〜Ａ９参照）。
【００６７】
これにより、本オブジェクトストレージシステム１においても、ドライブ故障の対策として、ドライブ故障が発生した際にオブジェクトが喪失するのを防止すべく、同一オブジェクトの複製データであるレプリカが、異なる３つのサーバ配下の３つのＨＤＤに格納される。
【００６８】
〔３〕本実施形態のオブジェクトストレージシステムの動作
次に、図１８〜図３６を参照しながら、上述のごとく構成された本実施形態のオブジェクトストレージシステム１によるレプリカ冗長度復旧処理について説明する。
以下の説明において、レプリカ冗長度復旧処理は、図１３〜図１６を参照しながら上述したテーブルＴ１〜Ｔ４を用いて実行され、レプリカの冗長度は３とする。
【００６９】
また、図１９，図２２，図２５，図２８，図３１，図３４に示すように、サーバ３Ａ，３Ｂ，３Ｃ，…のサーバＩＤをそれぞれ０，１，２，…とし、ＨＤＤ４ａ，４ｂ，４ｄ，４ｅ，４ｇ，４ｈのドライブＩＤをそれぞれ0-0-0-0, 0-0-0-1, 0-0-0-3, 0-0-0-4, 0-0-0-6, 0-0-0-7とする。さらに、予備用の余剰ドライブであるＨＤＤ４ｊのドライブＩＤを0-0-1-0とし、データ複製用のＳＳＤ４１，４２のドライブＩＤをそれぞれ0-0-1-1, 0-0-1-2とする。なお、図１９，図２２，図２５，図２８，図３１，図３４では、各ＩＤにおけるハイフン(-)の記載は省略している。
【００７０】
〔３−１〕故障ドライブ切断処理
まず、本実施形態のオブジェクトストレージシステム１による故障ドライブ切断処理について、図１８に示すフローチャート（ステップＳ１１〜Ｓ１４）に従って、図１９および図２０を参照しながら説明する。なお、図１９は、図１８の処理に対応するシステム１のノード構成を示す図であり、図２０は、図１８の処理に対応する、テーブルＴ３に対する処理を説明する図である。
【００７１】
図１９および図２０に示すように、ドライブ故障が発生する直前のシステム１においては、３つのストレージノード（ゾーンＺ１〜Ｚ３）が、スイッチ５によって構築されている。ゾーンＺ１におけるノードには、ドライブＩＤ“0-0-0-0, 0-0-0-1”のＨＤＤ４ａ，４ｂとサーバＩＤ“０”のサーバ３Ａとが属している。ゾーンＺ２におけるノードには、ドライブＩＤ“0-0-0-3, 0-0-0-4”のＨＤＤ４ｄ，４ｅとサーバＩＤ“１”のサーバ３Ｂとが属している。ゾーンＺ３におけるノードには、ドライブＩＤ“0-0-0-6, 0-0-0-7”のＨＤＤ４ｇ，４ｈとサーバＩＤ“２”のサーバ３Ｃとが属している。また、ドライブＩＤ“0-0-1-0, 0-0-1-1, 0-0-1-2”のＨＤＤ４ｊ，ＳＳＤ４１，４２は、サーバＩＤ“フリー”に対応付けられ、いずれのサーバ３Ａ〜３Ｃにも接続されていない接続解除状態（フリー状態）になっている。
【００７２】
システム１の運用中にＨＤＤ４ａの故障が発生した場合、その故障は、オペレータもしくは監視装置（図示略）が何らかの手段によって検知され、故障したＨＤＤ４ａのドライブＩＤ“0-0-0-0”とともに制御装置（マネージャサーバ；以下、単にマネージャという場合がある）６に通知される（図１８のステップＳ１１；図１９の矢印Ａ１１参照）。このとき、システム１では、ＨＤＤ４ａの故障に伴い、ＨＤＤ４ａに保存されたレプリカが喪失し、当該レプリカの冗長度は３から２に減少しており、マネージャ６は、当該レプリカの冗長度を３に復旧する処理（ステップＳ１２〜Ｓ３３）を、以下のように実行する。
【００７３】
通知を受けたマネージャ６は、故障ＨＤＤ４ａのドライブＩＤ“0-0-0-0”をキーにしてサーバ・ドライブ接続テーブルＴ３を照合検索することで、故障ＨＤＤ４ａに対応するサーバＩＤ“０”を取得する（図１８のステップＳ１２；図２０の矢印Ａ１２参照）。この後、マネージャ６は、ＵＳＢインタフェース経由で、サーバＩＤ“０”およびドライブＩＤ“0-0-0-0”に基づき、ＳＡＳエクスパンダ５におけるゾーニング設定を変更することで、ドライブＩＤ“0-0-0-0”のＨＤＤ４ａをサーバＩＤ“０”のサーバ３Ａから切り離す切断処理を実行する（図１８のステップＳ１３；図１９の矢印Ａ１３参照）。このとき、ゾーニング設定の変更により、ＳＡＳエクスパンダ５では、ＰＨＹ５１ａとＰＨＹ５２ａとの接続状態（図８参照）が解除され、ＰＨＹ５２ａおよびこれに接続されるＨＤＤ４ａは接続解除用ゾーンＺ４に属することになる。
【００７４】
マネージャ６は、ＨＤＤ４ａをサーバ３Ａから切り離した後、ＨＤＤ４ａの切断処理に対応して、サーバ・ドライブ接続テーブルＴ３を更新する（図１８および図２０のステップＳ１４）。つまり、マネージャ６は、サーバ・ドライブ接続テーブルＴ３において、サーバＩＤ“０”に対応付けられたドライブＩＤ“0-0-0-0”を削除する（図２０および図２３のテーブルＴ３参照）。この後、マネージャ６は、図２１のステップＳ１５の処理へ移行する。
【００７５】
〔３−２〕コピー対象サーバの選定処理
次に、本実施形態のオブジェクトストレージシステム１のコピー対象サーバの選定処理について、図２１に示すフローチャート（ステップＳ１５〜Ｓ１８）に従って、図２２および図２３を参照しながら説明する。なお、図２２は、図２１の処理に対応するシステム１のノード構成を示す図であり、図２３は、図２１の処理に対応する、テーブルＴ３，Ｔ４に対する処理を説明する図である。
【００７６】
図２１のステップＳ１５において、マネージャ６は、ステップＳ１４で故障ドライブＩＤ“0-0-0-0”を削除した後、故障ドライブＩＤ“0-0-0-0”をキーにしてデバイス管理テーブルＴ１を照合検索することで、故障ドライブＩＤ“0-0-0-0”に対応する故障デバイスＩＤ“dev0”を取得する（図２３の矢印Ａ１５参照）。
【００７７】
また、マネージャ６は、取得した故障デバイスＩＤ“dev0”をキーにしてレプリカ管理テーブルＴ２を照合検索することで、故障デバイスであるＨＤＤ４ａが保持していたレプリカと同じレプリカを保持するデバイスのＩＤ“dev1, dev2”を取得する（図２１のステップＳ１６；図２３の矢印Ａ１６参照）。
【００７８】
さらに、マネージャ６は、取得したデバイスＩＤ“dev1, dev2”をキーにしてデバイス管理テーブルＴ１を照合検索することで、故障ＨＤＤ４ａが保持していたレプリカと同じレプリカを保持するデバイスに対応付けられたドライブＩＤ“0-0-0-3, 0-0-0-6”を取得する（図２１のステップＳ１７；図２３の矢印Ａ１７参照）。
【００７９】
そして、マネージャ６は、取得したドライブＩＤ“0-0-0-3, 0-0-0-6”をキーにしてサーバ・ドライブ接続テーブルＴ３を照合検索することで、レプリカ欠損を起こしている２つのサーバのＩＤ“１，２”を取得する（図２１のステップＳ１８；図２３の矢印Ａ１８参照）。ここで、「レプリカ欠損を起こしているサーバ」とは、上述したように、冗長度が３から２になっているレプリカを保持しているサーバのことである。この後、マネージャ６は、図２４のステップＳ１９の処理へ移行する。
【００８０】
〔３−３〕ＳＳＤの選択・接続処理
次に、本実施形態のオブジェクトストレージシステム１によるＳＳＤの選択・接続処理について、図２４に示すフローチャート（ステップＳ１９〜Ｓ２２）に従って、図２５および図２６を参照しながら説明する。なお、図２５は、図２４の処理に対応するシステム１のノード構成を示す図であり、図２６は、図２５の処理に対応する、テーブルＴ３，Ｔ４に対する処理を説明する図である。
【００８１】
図２４のステップＳ１９において、マネージャ６は、サーバ・ドライブ接続テーブルＴ３から、フリー状態のドライブＩＤのリストを取得する（図２６の矢印Ａ１９参照）。
【００８２】
マネージャ６は、取得したドライブＩＤのリストとドライブ属性テーブルＴ４とを照らし合わせ、データ複製用ＳＳＤを必要な台数分、決定する（図２４のステップＳ２０；図２６の矢印Ａ２０参照）。このとき、図２１のステップＳ１８で取得されたサーバＩＤの数は２であるので、データ複製用ＳＳＤとして、ドライブＩＤ“0-0-1-1, 0-0-1-2”をそれぞれ有する２台のＳＳＤ４１，４２が選択・決定される。
【００８３】
また、マネージャ６は、ＵＳＢインタフェース経由で、ＳＡＳエクスパンダ５におけるゾーニング設定を変更することで、図２１のステップＳ１８で取得されたサーバＩＤ“１，２”のサーバ３Ｂ，３Ｃに対して、図２４のステップＳ２０で決定されたドライブＩＤ“0-0-1-1, 0-0-1-2”のＳＳＤ４１，４２をそれぞれ接続する（図２４のステップＳ２１；図２５の矢印Ａ２１参照）。このとき、ゾーニング設定の変更により、ＳＡＳエクスパンダ５では、サーバ３Ｂに接続されたＰＨＹ５１ｂとＳＳＤ４１に接続されたＰＨＹ５２ｋとが接続されるとともに、サーバ３Ｃに接続されたＰＨＹ５１ｃとＳＳＤ４２に接続されたＰＨＹ５２ｌとが接続される。これにより、図２５に示すように、故障したＨＤＤ４ａに格納されていたレプリカと同じレプリカをそれぞれ保持しているサーバ３Ｂ，３Ｃは、それぞれＳＳＤ４１，４２を新たに専有する。
【００８４】
マネージャ６は、サーバ３Ｂ，３ＣにそれぞれＳＳＤ４１，４２を接続した後、新たな接続に対応して、サーバ・ドライブ接続テーブルＴ３を更新する（図２４のステップＳ２２）。つまり、マネージャ６は、サーバ・ドライブ接続テーブルＴ３において、サーバＩＤ“フリー”に対応付けられていたドライブＩＤ“0-0-1-1, 0-0-1-2”を、サーバＩＤ“フリー”の行から削除する。そして、マネージャ６は、ドライブＩＤ“0-0-1-1, 0-0-1-2”をそれぞれサーバＩＤ“１，２”に対応する行に移動・追加する（図２６の矢印Ａ２２参照）。この後、マネージャ６は、図２７のステップＳ２３の処理へ移行する。
【００８５】
〔３−４〕ＳＳＤに対するレプリカコピー処理
次に、本実施形態のオブジェクトストレージシステム１によるＳＳＤに対するレプリカコピー処理について、図２７に示すフローチャート（ステップＳ２３〜Ｓ２５）に従って、図２８および図２９を参照しながら説明する。なお、図２８は、図２７の処理に対応するシステム１のノード構成を示す図であり、図２９は、図２７の処理（ステップＳ２４）に対応するレプリカコピー処理を説明する図である。
【００８６】
図２７のステップＳ２３において、マネージャ６は、ＬＡＮ２経由で、サーバ３Ｂ，３Ｃの属する該当ストレージノードに対し、コピー開始の指示を行なう（図２８の矢印Ａ２３参照）。このとき、マネージャ６は、サーバ３Ｂに対しては、コピー元のドライブＩＤ“0-0-0-3”と、コピー先のドライブＩＤ“0-0-1-1”と、コピーするオブジェクトのハッシュ値（上位ｎビットの値）とを通知する。同様に、マネージャ６は、サーバ３Ｃに対しては、コピー元のドライブＩＤ“0-0-0-6”と、コピー先のドライブＩＤ“0-0-1-2”と、コピーするオブジェクトのハッシュ値（上位ｎビットの値）とを通知する。なお、コピーするオブジェクトのハッシュ値（上位ｎビットの値）は、故障ＨＤＤ４ａのデバイスＩＤ“dev0”をキーにしてレプリカ管理テーブルＴ２を照合検索することで得られる。
【００８７】
コピー指示を受けたサーバ３Ｂ，３Ｃの各々において、ＣＰＵ３１は、ＳＳＤ４１，４２に対するレプリカコピー処理を実行する（図２７のステップＳ２４）。このとき、サーバ３Ｂでは、ドライブＩＤ“0-0-0-3”のＨＤＤ４ｄ（dev1）からドライブＩＤ“0-0-1-1”のＳＳＤ４１へ、指定ハッシュ値（上位ｎビットの値）をもつレプリカが、スイッチ５およびＣＰＵ３１を介してコピーされる（図２８の矢印Ａ２４１参照）。同様に、サーバ３Ｃでは、ドライブＩＤ“0-0-0-6”のＨＤＤ４ｇ（dev2）からドライブＩＤ“0-0-1-2”のＳＳＤ４２へ、指定ハッシュ値（上位ｎビットの値）をもつレプリカが、スイッチ５およびＣＰＵ３１を介してコピーされる（図２８の矢印Ａ２４２参照）。
【００８８】
図２９に示すように、ＨＤＤ４ｇ（dev2）からＳＳＤ４２へのコピー処理は、故障したＨＤＤ４ａに存在したレプリカのみを対象として行なわれる。つまり、図２９に示す例では、ハッシュ値（上位ｎビットの値）00001, 00010をもつレプリカは、故障ＨＤＤ４ａに格納されていたため、コピー対象となる一方、ハッシュ値（上位ｎビットの値）00002をもつレプリカは、故障ＨＤＤ４ａに格納されていないので、コピー対象とならない。
【００８９】
各ＣＰＵ３１は、コピー処理終了後、マネージャ６に対する終了通知をＬＡＮ２経由で行なう（図２７のステップＳ２４；図２８の矢印Ａ２４３参照）。
マネージャ６は、サーバ３Ｂ，３Ｃの属する該当ストレージノードの全てから終了通知を受領するまで待機し（図２７のステップＳ２５）、全ての該当ストレージノードから終了通知を受領すると、図３０のステップＳ２６の処理へ移行する。なお、この時点でレプリカ数（レプリカの冗長度）は３でありドライブ故障の発生以前と同等になっているので、オブジェクト喪失の危険性は回避されている。
【００９０】
〔３−５〕ＳＳＤの移動処理＆予備ＨＤＤの追加処理
次に、本実施形態のオブジェクトストレージシステム１によるＳＳＤの移動処理＆予備ＨＤＤの追加処理について、図３０に示すフローチャート（ステップＳ２６〜Ｓ３０）に従って、図３１および図３２を参照しながら説明する。なお、図３１は、図３０の処理に対応するシステム１のノード構成を示す図であり、図３２は、図３０の処理に対応する、テーブルＴ１，Ｔ３，Ｔ４に対する処理を説明する図である。
【００９１】
図３０のステップＳ２６において、マネージャ６は、ＵＳＢインタフェース経由でＳＡＳエクスパンダ５におけるゾーニング設定を変更することで、図２４のステップＳ２１でサーバ３Ｂ，３Ｃに接続されたＳＳＤ４１，４２をサーバ３Ｂ，３Ｃから切り離す。このとき、ゾーニング設定の変更により、ＳＡＳエクスパンダ５では、サーバ３Ｂに接続されたＰＨＹ５１ｂとＳＳＤ４１に接続されたＰＨＹ５２ｋとの間が切り離されるとともに、サーバ３Ｃに接続されたＰＨＹ５１ｃとＳＳＤ４２に接続されたＰＨＹ５２ｌとの間が切り離される。マネージャ６は、ＳＳＤ４１，４２をサーバ３Ｂ，３Ｃから切り離した後、ＳＳＤ４１，４２の切断処理に対応して、サーバ・ドライブ接続テーブルＴ３を更新する。つまり、マネージャ６は、サーバ・ドライブ接続テーブルＴ３において、サーバＩＤ“１，２”にそれぞれ対応付けられたドライブＩＤ“0-0-1-1, 0-0-1-2”を削除する。
【００９２】
ついで、図３０のステップＳ２７において、マネージャ６は、ＵＳＢインタフェース経由でＳＡＳエクスパンダ５におけるゾーニング設定を変更することで、サーバ３Ｂ，３Ｃから切断されたＳＳＤ４１，４２を、故障ＨＤＤ４ａの発生したサーバ３Ａに接続する。このとき、ゾーニング設定の変更により、ＳＡＳエクスパンダ５では、サーバ３Ａに接続されたＰＨＹ５１ａとＳＳＤ４１，４２にそれぞれ接続されたＰＨＹ５２ｋ，５２ｌとが接続される。これにより、図３１に示すように、サーバ３Ａは、ＳＳＤ４１，４２を新たに専有する。マネージャ６は、ＳＳＤ４１，４２とサーバ３Ａとを接続した後、ＳＳＤ４１，４２の接続処理に対応して、サーバ・ドライブ接続テーブルＴ３を更新する。つまり、マネージャ６は、サーバ・ドライブ接続テーブルＴ３において、ＳＳＤ４１，４２のドライブＩＤ“0-0-1-1, 0-0-1-2”を、サーバ３ＡのサーバＩＤ“０”に対応する行に移動・追加する（図３２の矢印Ａ２７参照）。この時点で、サーバ３Ａの属するノードは、論理的にはドライブ故障の発生以前の状態に復元されている。
【００９３】
この後、図３０のステップＳ２８において、マネージャ６は、サーバ・ドライブ接続テーブルＴ３およびドライブ属性テーブルＴ４に基づき、サーバＩＤ“フリー”に対応付けられ且つ属性がＨＤＤであるドライブＩＤを検索する。図３２に示す例においては、マネージャ６によって、サーバＩＤ“フリー”に対応付けられ且つ属性がＨＤＤであるドライブのＩＤとして“0-0-1-0”が決定される。このように決定されたドライブＩＤ“0-0-1-0”のＨＤＤは、未使用のＨＤＤ４ｊである。
【００９４】
そして、図３０のステップＳ２９において、マネージャ６は、ＵＳＢインタフェース経由でＳＡＳエクスパンダ５におけるゾーニング設定を変更することで、未使用のＨＤＤ４ｊを、故障ＨＤＤ４ａの発生したサーバ３Ａに接続する。このとき、ゾーニング設定の変更により、ＳＡＳエクスパンダ５では、サーバ３Ａに接続されたＰＨＹ５１ａとＨＤＤ４ｊに接続されたＰＨＹ５２ｊとが接続される。これにより、図３１に示すように、サーバ３Ａは、ＨＤＤ４ｊを新たに専有する。マネージャ６は、ＨＤＤ４ｊとサーバ３Ａとを接続した後、ＨＤＤ４ｊの接続処理に対応して、サーバ・ドライブ接続テーブルＴ３を更新する。つまり、マネージャ６は、サーバ・ドライブ接続テーブルＴ３において、ＨＤＤ４ｊのドライブＩＤ“0-0-1-0”を、サーバＩＤ“フリー”に対応する行から、サーバ３ＡのサーバＩＤ“０”に対応する行に移動・追加する（図３２の矢印Ａ２９参照）。
【００９５】
さらに、マネージャ６は、デバイス管理テーブルＴ１において、デバイスＩＤ“dev0”に対応付けられた故障ＨＤＤ４ａのドライブＩＤ“0-0-0-0”を、ステップＳ２９で新たに追加されたＨＤＤ４ｊのドライブＩＤ“0-0-1-0”に変更する（図３０のステップＳ３０；図３２の矢印Ａ３０参照）。この後、マネージャ６は、図３３のステップＳ３１の処理へ移行する。
【００９６】
〔３−６〕予備ＨＤＤに対するレプリカコピー処理
次に、本実施形態のオブジェクトストレージシステム１による予備ＨＤＤに対するレプリカコピー処理について、図３３に示すフローチャート（ステップＳ３１〜Ｓ３３）に従って、図３４〜図３６を参照しながら説明する。なお、図３４は、図３３の処理に対応するシステム１のノード構成を示す図であり、図３５は、図３４の処理（ステップＳ３２）に対応するレプリカコピー処理を説明する図であり、図３６は、図３４の処理（ステップＳ３３）に対応する、テーブルＴ３に対する処理を説明する図である。
【００９７】
図３３のステップＳ３１において、マネージャ６は、ＬＡＮ２経由で、故障ＨＤＤを生じたサーバ３Ａの属するストレージノードに対し、コピー開始の指示を行なう（図３４の矢印Ａ３１参照）。このとき、マネージャ６は、サーバ３Ａに対し、コピー元のドライブＩＤ“0-0-1-1, 0-0-1-2”と、コピー先のドライブＩＤ“0-0-1-0”と、コピーするオブジェクトのハッシュ値（上位ｎビットの値）とを通知する。なお、コピーするオブジェクトのハッシュ値（上位ｎビットの値）は、図２７のステップＳ２３で通知されるものと同様のもので、故障ＨＤＤ４ａのデバイスＩＤ“dev0”をキーにしてレプリカ管理テーブルＴ２を照合検索することで得られる。
【００９８】
コピー指示を受けたサーバ３Ａにおいて、ＣＰＵ３１は、ＳＳＤ４１，４２からＨＤＤ４ｊに対するレプリカコピー処理を実行する（図３３のステップＳ３２）。このとき、ドライブＩＤ“0-0-1-1”のＳＳＤ４１からドライブＩＤ“0-0-1-0”のＨＤＤ４ｊ（dev0）へ、指定ハッシュ値（上位ｎビットの値）をもつレプリカが、スイッチ５およびＣＰＵ３１を介してコピーされる（図３４および図３５の矢印Ａ３２１参照）。同様に、ドライブＩＤ“0-0-1-2”のＳＳＤ４２からドライブＩＤ“0-0-1-0”のＨＤＤ４ｊ（dev0）へ、指定ハッシュ値（上位ｎビットの値）をもつレプリカが、スイッチ５およびＣＰＵ３１を介してコピーされる（図３４および図３５の矢印Ａ３２２参照）。
【００９９】
サーバ３ＡのＣＰＵ３１は、コピー処理終了後、マネージャ６に対する終了通知をＬＡＮ２経由で行なう（図３３のステップＳ３２；図３４の矢印Ａ３２３参照）。
【０１００】
そして、図３３のステップＳ３３において、マネージャ６は、サーバ３Ａの属する該当ストレージノードから終了通知を受領すると、ＵＳＢインタフェース経由でＳＡＳエクスパンダ５におけるゾーニング設定を変更することで、サーバ３ＡからＳＳＤ４１，４２を切り離す。このとき、ゾーニング設定の変更により、ＳＡＳエクスパンダ５では、サーバ３Ａに接続されたＰＨＹ５１ａとＳＳＤ４１，４２にそれぞれ接続されたＰＨＹ５２ｋ，５２ｌとの間が切り離される。マネージャ６は、ＳＳＤ４１，４２をサーバ３Ｂ，３Ｃから切り離した後、ＳＳＤ４１，４２の切断処理に対応して、サーバ・ドライブ接続テーブルＴ３を更新する。つまり、マネージャ６は、図３６に示すように、サーバ・ドライブ接続テーブルＴ３において、サーバＩＤ“０”に対応付けられたドライブＩＤ“0-0-1-1, 0-0-1-2”を、サーバＩＤ“フリー”の項に戻す。これにより、ＳＳＤ４１，４２は、フリーな状態、つまり、いずれのサーバ３Ａ〜３Ｃにも接続されていない接続解除状態に戻る。この時点で、一台の予備用の余剰ドライブが未使用状態から使用状態になった以外、オブジェクトストレージシステム１は、ドライブ故障の発生前と同じ状態に復元される。
【０１０１】
〔４〕まとめ
本実施形態のオブジェクトストレージシステム１によれば、サーバクラスタ３のサーバ３Ａにおいてドライブ故障が発生しレプリカ数が減少した際、サーバ３Ｂ，３Ｃが復旧用ＳＳＤ４１，４２に個別にレプリカを複製する。そして、複製後のＳＳＤ４１，４２をスイッチ（ドライブ接続切替装置）５により復旧対象のサーバ３Ａに接続することで、サーバ間ＬＡ２を利用せずにレプリカ数の減少が復旧される。
【０１０２】
このように、スイッチ５を用いてレプリカ冗長度復旧処理が行なわれるため、ＬＡＮ２のバンド幅に影響を与えることなくレプリカの冗長度が復旧され、復旧処理とユーザ処理とが競合し互いに阻害し合うことを回避することができる。したがって、ＬＡＮ２における負荷が大きい場合でも、レプリカ冗長度復旧処理はＬＡＮ２の影響を受けない。そのため、ＬＡＮ２のバンド幅が制限されている構成においても、レプリカ数の減少を高速に復旧することが可能であり、使用中のＨＤＤ４ａが故障したとしても、レプリカの分散配置状況を、初期の理想的な割り振りに直ちに戻すことができる。
【０１０３】
また、データ複製用記憶装置としてＳＳＤを用いることで、レプリカ冗長度復旧処理をより高速に行なうことができる。本実施形態では、データ複製用記憶装置として例えば２台のＳＳＤ４１，４２を備えることにより、少数の高価なデバイスを効果的に用い、できるだけ低コストでレプリカ冗長度復旧処理をより高速に行なうことができる。
【０１０４】
〔５〕その他
以上、本発明の好ましい実施形態について詳述したが、本発明は、係る特定の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲内において、種々の変形、変更して実施することができる。
【０１０５】
上述した制御装置６のマネージャサーバやフロントエンドサーバとしての機能の全部もしくは一部は、コンピュータ（ＣＰＵ，情報処理装置，各種端末を含む）が所定のアプリケーションプログラム（制御プログラム）を実行することによって実現される。
【０１０６】
また、上記アプリケーションプログラムは、例えばフレキシブルディスク，ＣＤ（ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＣＤ−ＲＷなど），ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−ＲＡＭ，ＤＶＤ−Ｒ，ＤＶＤ−ＲＷ，ＤＶＤ＋Ｒ，ＤＶＤ＋ＲＷなど），ブルーレイディスク等のコンピュータ読取可能な記録媒体に記録された形態で提供される。この場合、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。
【０１０７】
〔６〕付記
以上の実施形態に関し、さらに以下の付記を開示する。
（付記１）
複数の記憶装置と、
複数の処理装置と、
前記複数の記憶装置と前記複数の処理装置との接続状態を切り替えるスイッチ装置と、
前記複数の記憶装置のうちの異なる２以上の記憶装置にそれぞれ記憶された複製データの一つを喪失した場合、前記異なる２以上の記憶装置のうち、喪失した複製データを記憶していた第１記憶装置以外の第２記憶装置に記憶される前記複製データを前記スイッチ装置経由でコピーして前記喪失した複製データを復元するよう、前記スイッチ装置および前記複数の処理装置を制御する制御装置と、
を有する情報処理装置。
【０１０８】
（付記２）
前記制御装置は、
前記複数の処理装置のそれぞれによってアクセスされるデータをコピーし、コピーされた前記データを前記複製データとして前記異なる２以上の記憶装置に分散配置するよう、前記スイッチ装置および前記複数の処理装置を制御する、付記１記載の情報処理装置。
【０１０９】
（付記３）
前記制御装置は、
前記第２記憶装置に記憶される前記複製データを、前記スイッチ装置経由で、前記複数の記憶装置に含まれ前記第１記憶装置に代わる第３記憶装置にコピーする、付記１または付記２に記載の情報処理装置。
【０１１０】
（付記４）
前記制御装置は、
前記スイッチ装置を介して前記複数の処理装置のそれぞれと前記複数の記憶装置の一部とを接続することにより、前記複数の処理装置のうちの一の処理装置と前記複数の記憶装置のうちの一以上の記憶装置とを含む複数のノードとして、前記複数の記憶装置および前記複数の処理装置を管理する、付記１または付記２に記載の情報処理装置。
【０１１１】
（付記５）
前記第１記憶装置および前記第２記憶装置がそれぞれ前記複数のノードのうちの第１ノードおよび第２ノードに含まれ、
前記制御装置は、
前記第２ノードを成す前記一の処理装置としての第２処理装置に、前記複数の記憶装置における未使用のデータ複製用記憶装置を接続するよう、前記スイッチ装置を制御し、
前記第２処理装置に接続された前記データ複製用記憶装置に、前記第２記憶装置に記憶される前記複製データを前記スイッチ装置経由でコピーするよう、前記第２処理装置を制御し、
前記複製データをコピーした前記データ複製用記憶装置を、前記第２処理装置から切り離し、前記第１ノードを成す前記一の処理装置としての第１処理装置に接続するよう、前記スイッチ装置を制御する、付記４記載の情報処理装置。
【０１１２】
（付記６）
前記制御装置は、
前記第１記憶装置に代えて、前記複数の記憶装置に含まれる未使用の第３記憶装置を前記第１処理装置に接続するよう、前記スイッチ装置を制御し、
前記第１処理装置に接続された前記第３記憶装置に、前記データ複製用記憶装置に記憶される前記複製データを前記スイッチ装置経由で保存するよう、前記第１処理装置を制御する、付記５記載の情報処理装置。
【０１１３】
（付記７）
前記制御装置は、
前記複製データを前記第３記憶装置に保存した後、前記データ複製用記憶装置を、前記第１処理装置から切り離して未使用の状態に戻すよう、前記スイッチ装置を制御する、付記６記載の情報処理装置。
【０１１４】
（付記８）
前記第１〜第３記憶装置はＨＤＤ（Hard Disk Drive）であり、
前記データ複製用記憶装置はＳＳＤ（Solid State Drive）である、付記６または付記７に記載の情報処理装置。
【０１１５】
（付記９）
前記スイッチ装置がＳＡＳ（Serial Attached SCSI (Small Computer System Interface)）エクスパンダであり、
前記制御装置は、
前記ＳＡＳエクスパンダのゾーニング情報を操作することにより前記複数のノードのそれぞれに属する前記一の処理装置と前記一以上の記憶装置とを設定する、付記４〜付記８のいずれか一項に記載の情報処理装置。
【０１１６】
（付記１０）
複数の記憶装置と、複数の処理装置と、前記複数の記憶装置と前記複数の処理装置との接続状態を切り替えるスイッチ装置と、を有する情報処理装置において、
前記複数の記憶装置のうちの異なる２以上の記憶装置にそれぞれ記憶された複製データの一つを喪失した場合、前記異なる２以上の記憶装置のうち、喪失した複製データを記憶していた第１記憶装置以外の第２記憶装置に記憶される前記複製データを前記スイッチ装置経由でコピーして前記喪失した複製データを復元するよう、前記スイッチ装置および前記複数の処理装置を制御する、
処理を、コンピュータに実行させる、情報処理装置の制御プログラム。
【０１１７】
（付記１１）
前記複数の処理装置のそれぞれによってアクセスされるデータをコピーし、コピーされた前記データを前記複製データとして前記異なる２以上の記憶装置に分散配置するよう、前記スイッチ装置および前記複数の処理装置を制御する、
処理を、前記コンピュータに実行させる、付記１０記載の情報処理装置の制御プログラム。
【０１１８】
（付記１２）
前記第２記憶装置に記憶される前記複製データを、前記スイッチ装置経由で、前記複数の記憶装置に含まれ前記第１記憶装置に代わる第３記憶装置にコピーする、
処理を、前記コンピュータに実行させる、付記１０または付記１１に記載の情報処理装置の制御プログラム。
【０１１９】
（付記１３）
前記スイッチ装置を介して前記複数の処理装置のそれぞれと前記複数の記憶装置の一部とを接続することにより、前記複数の処理装置のうちの一の処理装置と前記複数の記憶装置のうちの一以上の記憶装置とを含む複数のノードとして、前記複数の記憶装置および前記複数の処理装置を管理する、
処理を、前記コンピュータに実行させる、付記１０または付記１１に記載の情報処理装置の制御プログラム。
【０１２０】
（付記１４）
前記第１記憶装置および前記第２記憶装置がそれぞれ前記複数のノードのうちの第１ノードおよび第２ノードに含まれ、
前記第２ノードを成す前記一の処理装置としての第２処理装置に、前記複数の記憶装置における未使用のデータ複製用記憶装置を接続するよう、前記スイッチ装置を制御し、
前記第２処理装置に接続された前記データ複製用記憶装置に、前記第２記憶装置に記憶される前記複製データを前記スイッチ装置経由でコピーするよう、前記第２処理装置を制御し、
前記複製データをコピーした前記データ複製用記憶装置を、前記第２処理装置から切り離し、前記第１ノードを成す前記一の処理装置としての第１処理装置に接続するよう、前記スイッチ装置を制御する、
処理を、前記コンピュータに実行させる、付記１３記載の情報処理装置の制御プログラム。
【０１２１】
（付記１５）
前記第１記憶装置に代えて、前記複数の記憶装置に含まれる未使用の第３記憶装置を前記第１処理装置に接続するよう、前記スイッチ装置を制御し、
前記第１処理装置に接続された前記第３記憶装置に、前記データ複製用記憶装置に記憶される前記複製データを前記スイッチ装置経由で保存するよう、前記第１処理装置を制御する、
処理を、前記コンピュータに実行させる、付記１４記載の情報処理装置の制御プログラム。
【０１２２】
（付記１６）
前記複製データを前記第３記憶装置に保存した後、前記データ複製用記憶装置を、前記第１処理装置から切り離して未使用の状態に戻すよう、前記スイッチ装置を制御する、
処理を、前記コンピュータに実行させる、付記１５記載の情報処理装置の制御プログラム。
【０１２３】
（付記１７）
前記第１〜第３記憶装置はＨＤＤ（Hard Disk Drive）であり、
前記データ複製用記憶装置はＳＳＤ（Solid State Drive）である、付記１５または付記１６に記載の情報処理装置の制御プログラム。
【０１２４】
（付記１８）
前記スイッチ装置がＳＡＳ（Serial Attached SCSI (Small Computer System Interface)）エクスパンダであり、
前記ＳＡＳエクスパンダのゾーニング情報を操作することにより前記複数のノードのそれぞれに属する前記一の処理装置と前記一以上の記憶装置とを設定する、
処理を、前記コンピュータに実行させる、付記１３〜付記１７のいずれか一項に記載の情報処理装置の制御プログラム。
【０１２５】
（付記１９）
複数の記憶装置と、複数の処理装置と、前記複数の記憶装置と前記複数の処理装置との接続状態を切り替えるスイッチ装置と、を有する情報処理装置において、コンピュータによって実行される制御方法であって、
前記複数の記憶装置のうちの異なる２以上の記憶装置にそれぞれ記憶された複製データの一つを喪失した場合、前記異なる２以上の記憶装置のうち、喪失した複製データを記憶していた第１記憶装置以外の第２記憶装置に記憶される前記複製データを前記スイッチ装置経由でコピーして前記喪失した複製データを復元するよう、前記スイッチ装置および前記複数の処理装置を制御する、情報処理装置の制御方法。
【０１２６】
（付記２０）
前記複数の処理装置のそれぞれによってアクセスされるデータをコピーし、コピーされた前記データを前記複製データとして前記異なる２以上の記憶装置に分散配置するよう、前記スイッチ装置および前記複数の処理装置を制御する、付記１９記載の情報処理装置の制御方法。
【符号の説明】
【０１２７】
１    オブジェクトストレージシステム（情報処理装置）
２    ネットワーク（ＬＡＮ；ネットワークスイッチ）
３    サーバ群（サーバクラスタ，ストレージノード群）
３Ａ〜３Ｃ    サーバ（ノード，処理装置，第１処理装置，第２処理装置）
３１    ＣＰＵ（処理部）
３２    メモリ
３３    ＨＢＡ
４    ドライブプール（ドライブエンクロージャ）
４Ａ〜４Ｃ    ドライブグループ（ノード）
４ａ〜４ｉ    ＨＤＤ（記憶装置，第１記憶装置，第２記憶装置）
４ｊ    ＨＤＤ（未使用の第３記憶装置）
４１，４２    ＳＳＤ（データ複製用記憶装置）
５    ドライブ接続切替スイッチ（スイッチ装置，ＳＡＳエクスパンダ）
５１ａ〜５１ｃ，５２ａ〜５２ｌ    ＰＨＹ
６    制御装置（マネージャサーバ，フロントエンドサーバ）
６１    ＣＰＵ（処理部）
６２    メモリ
Ｔ１    デバイス管理テーブル
Ｔ２    レプリカ管理テーブル
Ｔ３    サーバ・ドライブ管理テーブル
Ｔ４    ドライブ属性テーブル
【図１】
2015005037.tif 000003
【図２】
2015005037.tif 000004
【図３】
2015005037.tif 000005
【図４】
2015005037.tif 000006
【図５】
2015005037.tif 000007
【図６】
2015005037.tif 000008
【図７】
2015005037.tif 000009
【図８】
2015005037.tif 000010
【図９】
2015005037.tif 000011
【図１０】
2015005037.tif 000012
【図１１】
2015005037.tif 000013
【図１２】
2015005037.tif 000014
【図１３】
2015005037.tif 000015
【図１４】
2015005037.tif 000016
【図１５】
2015005037.tif 000017
【図１６】
2015005037.tif 000018
【図１７】
2015005037.tif 000019
【図１８】
2015005037.tif 000020
【図１９】
2015005037.tif 000021
【図２０】
2015005037.tif 000022
【図２１】
2015005037.tif 000023
【図２２】
2015005037.tif 000024
【図２３】
2015005037.tif 000025
【図２４】
2015005037.tif 000026
【図２５】
2015005037.tif 000027
【図２６】
2015005037.tif 000028
【図２７】
2015005037.tif 000029
【図２８】
2015005037.tif 000030
【図２９】
2015005037.tif 000031
【図３０】
2015005037.tif 000032
【図３１】
2015005037.tif 000033
【図３２】
2015005037.tif 000034
【図３３】
2015005037.tif 000035
【図３４】
2015005037.tif 000036
【図３５】
2015005037.tif 000037
【図３６】
2015005037.tif 000038
【図３７】
2015005037.tif 000039
【図３８】
2015005037.tif 000040
【図３９】
2015005037.tif 000041