JP2015005037A - 情報処理装置、情報処理装置の制御プログラム、および情報処理装置の制御方法 - Google Patents

情報処理装置、情報処理装置の制御プログラム、および情報処理装置の制御方法 Download PDF

Info

Publication number
JP2015005037A
JP2015005037A JP2013128606A JP2013128606A JP2015005037A JP 2015005037 A JP2015005037 A JP 2015005037A JP 2013128606 A JP2013128606 A JP 2013128606A JP 2013128606 A JP2013128606 A JP 2013128606A JP 2015005037 A JP2015005037 A JP 2015005037A
Authority
JP
Japan
Prior art keywords
processing
storage
server
devices
drive
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
Application number
JP2013128606A
Other languages
English (en)
Inventor
洋太郎 小西
Yotaro Konishi
洋太郎 小西
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2013128606A priority Critical patent/JP2015005037A/ja
Priority to US14/269,878 priority patent/US9513996B2/en
Publication of JP2015005037A publication Critical patent/JP2015005037A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/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/1088Reconstruction on already foreseen single or plurality of spare disks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/006Identification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space

Abstract

【課題】ネットワークのバンド幅に影響を与えずに複製データの冗長度を復旧する。
【解決手段】制御装置6は、異なる2以上の記憶装置4a,4e,4iにそれぞれ記憶された複製データの一つを喪失した場合、異なる2以上の記憶装置4a,4e,4iのうち、喪失した複製データを記憶していた第1記憶装置4a以外の第2記憶装置4e,4iに記憶される複製データをスイッチ装置5経由でコピーして喪失した複製データを復元するよう、スイッチ装置5および複数の処理装置3A〜3C(31)を制御する。
【選択図】図1

Description

本発明は、情報処理装置、情報処理装置の制御プログラム、および情報処理装置の制御方法に関する。
複数のサーバ(サーバクラスタ)を含むオブジェクトストレージシステムにおいては、ネットワーク経由でユーザやウェブアプリケーションと各サーバとの間での実データ(オブジェクト)の送受信が行なわれる。
例えば図37に示すオブジェクトストレージシステムにおいて、ユーザは、インターネット,LAN(Local Area Network)等のネットワーク100とゲートウェイ200とを介し、複数(図37中では4台)のサーバ300A〜300Dを含むサーバ群との間で、実データ(オブジェクト)の送受信を行なう。なお、以下の説明において、サーバの一つを特定する場合には符号300A〜300Dが用いられ、任意のサーバを指す場合には符号300が用いられる。実データの格納場所としては、各サーバ300に内蔵されたディスクドライブ(HDD(Hard Disk Drive);図38および図39の符号303a〜303c参照)が用いられる。
このとき、ドライブ故障の対策として、ドライブ故障が発生した際にオブジェクトが喪失するのを防止すべく、同一オブジェクトの複製データであるレプリカを、異なる複数のサーバ300のHDDに格納することが行なわれている。オブジェクトストレージシステムにおいて格納される同一オブジェクトの所定レプリカ数のことを、レプリカの多重度または冗長度という。図37では、レプリカの多重度が3である場合が示されている。
ネットワーク100とサーバ群との間に介在するゲートウェイ(フロントエンドサーバ)200は、ユーザからオブジェクトのライトアクセス等を受けた場合、当該オブジェクトについて所定数(図37では3)のレプリカを生成する。そして、ゲートウェイ200は、生成した所定数のレプリカを、それぞれ異なるサーバ300A〜300Cに分散配置して格納する。
次に、図38および図39を参照しながら、図37に示すオブジェクトストレージシステムにおけるドライブ故障時の処理について説明する。図38および図39に示すように、各サーバ300は、LAN100に接続され、CPU(Central Processing Unit)301,メモリ302および複数(図中、3)のHDD303a〜303cを有している。各サーバ300のHDD303a〜303cには、ユーザによってアクセスされる実データ(オブジェクト)が格納される。また、各サーバ300のメモリ302には、CPU301の処理に必要な各種データ,プログラム等が格納されるほか、HDD303a〜303cに格納されるオブジェクトが一時的に格納される。なお、図38および図39では、図37において示されていたゲートウェイ200の図示は省略されている。
まず、図38に示すように、同一オブジェクトの3つのレプリカ(図中の星印参照)がそれぞれサーバ300AのHDD303a,サーバ300BのHDD303b,サーバ300CのHDD303cに格納されているものとする。このとき、図39に示すように、サーバ300AのHDD303aが故障したとする。この場合、サーバ300AのHDD303aに格納されていたオブジェクトが喪失し、システムにおける当該オブジェクトのレプリカ数(多重度,冗長度)は3から2に減少する。このため、当該オブジェクトのレプリカ数が0になる前に、当該オブジェクトのレプリカ数を所定数(ここでは3)に復旧させる必要がある。
そこで、当該オブジェクトのレプリカを有しているサーバ300Bおよびサーバ300Cの少なくとも一方は、図39に矢印A1またはA2で示すように、HDD303b,303cにおけるレプリカを、LAN100経由でサーバ300Aに送り、当該オブジェクトのレプリカをサーバ300Aに複製する。これにより、システムにおける当該オブジェクトのレプリカ数は所定数3に復旧される。なお、レプリカ数の復旧処理に際し、レプリカを送信すべきサーバやHDDの選定等の具体的な手段は実装に依存する。
ただし、レプリカ数の復旧処理速度は、LAN100の帯域を超えることはできない。レプリカ数の復旧処理中に、ユーザのオブジェクト書込みや読込みが発生すると復旧処理と競合する。このとき、ユーザ処理を優先すると復旧処理が低速になり、復旧処理を優先するとユーザ処理が低速になる。
なお、関連する技術として、ディスクからテープへのバックアップ処理を、LANを用いずにSAN(Storage Area Network)経由で行なう技術が知られている(下記特許文献参照)。しかし、当該技術は、単にディスクからテープへのバックアップ処理の高速化を図るもので、同一データを所定数のレプリカ(複製データ)として異なる所定数のサーバ(HDD)に分散配置する環境における、レプリカ数の復旧処理に係るものではない。
特開2002−007304号公報
サーバクラスタを含むストレージシステムにおいては、サーバ間を接続するLANのバンド幅が処理性能のボトルネックとなる。このため、上述したように、ドライブ故障が発生した際にサーバ間LANを用いてレプリカ数の復旧処理を行なうと、その復旧処理速度は制限される。したがって、復旧処理中にシステムユーザの処理要求が高負荷になった場合、復旧処理がユーザ処理を阻害することになるか、あるいはユーザ処理が復旧処理を阻害することになる。
一つの側面で、本発明は、ネットワークのバンド幅に影響を与えずに複製データの冗長度を復旧することを目的とする。
なお、前記目的に限らず、後述する発明を実施するための最良の形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本件の他の目的の一つとして位置付けることができる。
本件の情報処理装置は、複数の記憶装置と、複数の処理装置と、前記複数の記憶装置と前記複数の処理装置との接続状態を切り換えるスイッチ装置と、前記スイッチ装置および前記複数の処理装置を制御する制御装置と、を有する。前記制御装置は、前記複数の記憶装置のうちの異なる2以上の記憶装置にそれぞれ記憶された複製データの一つを喪失した場合、前記異なる2以上の記憶装置のうち、喪失した複製データを記憶していた第1記憶装置以外の第2記憶装置に記憶される前記複製データを前記スイッチ装置経由でコピーして前記喪失した複製データを復元するよう、前記スイッチ装置および前記複数の処理装置を制御する。
一実施形態によれば、ネットワークのバンド幅に影響を与えずに複製データの冗長度を復旧することができる。
本実施形態のオブジェクトストレージシステム(情報処理装置)の構成およびレプリカ冗長度復旧処理の概要を説明する図である。 本実施形態のオブジェクトストレージシステムの構成およびレプリカ冗長度復旧処理の概要を説明する図である。 本実施形態のオブジェクトストレージシステムの構成およびレプリカ冗長度復旧処理の概要を説明する図である。 本実施形態のオブジェクトストレージシステムの構成およびレプリカ冗長度復旧処理の概要を説明する図である。 本実施形態のオブジェクトストレージシステムの構成およびレプリカ冗長度復旧処理の概要を説明する図である。 本実施形態のオブジェクトストレージシステムの構成およびレプリカ冗長度復旧処理の概要を説明する図である。 本実施形態のオブジェクトストレージシステムの具体的なハードウエア構成および機能構成を示すブロック図である。 本実施形態のオブジェクトストレージシステムにおけるSASエクスパンダについて説明する図である。 図8に示すSASエクスパンダにおけるSASゾーニング設定について説明する図である。 本実施形態のオブジェクトストレージシステムにおけるドライブIDの設定例について説明する図である。 本実施形態のオブジェクトストレージシステムにおけるドライブIDの設定例について説明する図である。 本実施形態のオブジェクトストレージシステムにおけるドライブIDの設定例について説明する図である。 本実施形態のオブジェクトストレージシステムにおけるデバイス管理テーブルについて説明する図である。 本実施形態のオブジェクトストレージシステムにおけるレプリカ管理テーブルについて説明する図である。 本実施形態のオブジェクトストレージシステムにおけるサーバ・ドライブ接続テーブルについて説明する図である。 本実施形態のオブジェクトストレージシステムにおけるドライブ属性テーブルについて説明する図である。 本実施形態のオブジェクトストレージシステムにおける通常動作時のレプリカ分散配置について説明する図である。 本実施形態のオブジェクトストレージシステムによるレプリカ冗長度復旧処理(故障ドライブ切断処理)を説明するフローチャートである。 本実施形態のオブジェクトストレージシステムによるレプリカ冗長度復旧処理(故障ドライブ切断処理)を説明する図である。 本実施形態のオブジェクトストレージシステムによるレプリカ冗長度復旧処理(故障ドライブ切断処理)を説明する図である。 本実施形態のオブジェクトストレージシステムによるレプリカ冗長度復旧処理(コピー対象サーバの選定処理)を説明するフローチャートである。 本実施形態のオブジェクトストレージシステムによるレプリカ冗長度復旧処理(コピー対象サーバの選定処理)を説明する図である。 本実施形態のオブジェクトストレージシステムによるレプリカ冗長度復旧処理(コピー対象サーバの選定処理)を説明する図である。 本実施形態のオブジェクトストレージシステムによるレプリカ冗長度復旧処理(SSDの選択・接続処理)を説明するフローチャートである。 本実施形態のオブジェクトストレージシステムによるレプリカ冗長度復旧処理(SSDの選択・接続処理)を説明する図である。 本実施形態のオブジェクトストレージシステムによるレプリカ冗長度復旧処理(SSDの選択・接続処理)を説明する図である。 本実施形態のオブジェクトストレージシステムによるレプリカ冗長度復旧処理(SSDに対するレプリカコピー処理)を説明するフローチャートである。 本実施形態のオブジェクトストレージシステムによるレプリカ冗長度復旧処理(SSDに対するレプリカコピー処理)を説明する図である。 本実施形態のオブジェクトストレージシステムによるレプリカ冗長度復旧処理(SSDに対するレプリカコピー処理)を説明する図である。 本実施形態のオブジェクトストレージシステムによるレプリカ冗長度復旧処理(SSDの移動処理&予備HDDの追加処理)を説明するフローチャートである。 本実施形態のオブジェクトストレージシステムによるレプリカ冗長度復旧処理(SSDの移動処理&予備HDDの追加処理)を説明する図である。 本実施形態のオブジェクトストレージシステムによるレプリカ冗長度復旧処理(SSDの移動処理&予備HDDの追加処理)を説明する図である。 本実施形態のオブジェクトストレージシステムによるレプリカ冗長度復旧処理(予備HDDに対するレプリカコピー処理)を説明するフローチャートである。 本実施形態のオブジェクトストレージシステムによるレプリカ冗長度復旧処理(予備HDDに対するレプリカコピー処理)を説明する図である。 本実施形態のオブジェクトストレージシステムによるレプリカ冗長度復旧処理(予備HDDに対するレプリカコピー処理)を説明する図である。 本実施形態のオブジェクトストレージシステムによるレプリカ冗長度復旧処理(予備HDDに対するレプリカコピー処理)を説明する図である。 オブジェクトストレージシステムの構成およびレプリカの分散配置を説明する図である。 図37に示すオブジェクトストレージシステムにおけるドライブ故障時の処理を説明する図である。 図37に示すオブジェクトストレージシステムにおけるドライブ故障時の処理を説明する図である。
以下、図面を参照して実施の形態を説明する。
〔1〕本実施形態のオブジェクトストレージシステムの構成およびレプリカ冗長度復旧処理の概要
まず、図1〜図6を参照しながら、本実施形態のオブジェクトストレージシステム(情報処理装置)1の構成およびレプリカ冗長度復旧処理の概要について説明する。
図1〜図6に示すように、本実施形態のオブジェクトストレージシステム(情報処理装置)1は、LAN2,サーバ群3,ドライブエンクロージャ4,ドライブ接続切替スイッチ5および制御装置6を有している。
LAN2は、イーサネット(登録商標)等のネットワークであり、サーバ群3を成すサーバ3A〜3Cの相互間や、当該サーバ群3と制御装置6との間を相互に通信可能に接続する。
サーバ群(サーバクラスタ,ストレージノード群)3は、複数のサーバ(ノード,処理装置)3A〜3Cを含む。図1〜図6に示すサーバ群3は3台のサーバ3A〜3Cを有しているが、4台以上のサーバを備えてもよい。本実施形態のサーバ3A〜3Cの各々は、CPU(処理部)31およびメモリ32を含む。サーバ3A〜3Cの各々によって使用される記憶装置(ドライブ)4a〜4j,41および42は、ドライブプール(ドライブエンクロージャ)4として集約される。なお、メモリ32には、CPU31の処理に必要な各種データ,各種プログラム等が格納されるほか、記憶装置4a〜4j,41および42に格納されるオブジェクトが一時的に格納される。また、メモリ32としては、RAM(Random Access Memory),HDD,SSDなど各種記憶装置を用いることができる。
ドライブプール4には、多種類のドライブ(HDD,SSD(Solid State Drive)等)を混在させて搭載することが可能である。また、ドライブプール4には、多数のドライブを収納することが可能であるとともに、予備用の余剰ドライブ(第3記憶装置)を搭載することも可能になっている。本実施形態では、ドライブとして、10台のHDD4a〜4jと2台のSSD41,42とが備えられているが、本発明はこれらの数に限定されるものではない。また、本実施形態では、HDD4jが上記余剰ドライブとして備えられているが、2台以上のHDDが余剰ドライブとして備えられてもよい。さらに、本実施形態において、SSD41,42は、後述するデータ複製用記憶装置として用いられるが、3台以上のSSDが後述するデータ複製用記憶装置として備えられてもよい。
ドライブ接続切替スイッチ(スイッチ装置)5は、複数の記憶装置4a〜4j,41および42と複数のCPU3A〜3Cとの接続状態を切り替えるもので、例えば図8および図9を参照しながら後述するSASエクスパンダによって構成される。スイッチ5は、後述する制御装置6のマネージャサーバとしての機能によって制御される。スイッチ5が上記接続状態を切り替えることで、サーバ3A〜3Cの各々は、記憶装置4a〜4j,41および42のいずれについても専有してアクセスすることが可能になっている。
図1に示す例では、スイッチ5によって、3台のHDD4a〜4cを含むドライブグループ4Aがサーバ3Aに接続され、サーバ3Aとドライブグループ4Aとから一つのノードが構成される。また、スイッチ5によって、3台のHDD4d〜4fを含むドライブグループ4Bがサーバ3Bに接続され、サーバ3Bとドライブグループ4Bとから一つのノードが構成される。さらに、スイッチ5によって、3台のHDD4g〜4iを含むドライブグループ4Cがサーバ3Cに接続され、サーバ3Cとドライブグループ4Cとから一つのノードが構成される。
これにより、サーバ3AとHDD4a〜4cとは一つのノードとして管理され、HDD4a〜4cには、サーバ3A経由でアクセスされるオブジェクトが格納される。また、サーバ3BとHDD4d〜4fとは一つのノードとして管理され、HDD4d〜4fには、サーバ3B経由でアクセスされるオブジェクトが格納される。さらに、サーバ3CとHDD4g〜4iとは一つのノードとして管理され、HDD4g〜4iには、サーバ3C経由でアクセスされるオブジェクトが格納される。このとき、予備用の余剰ドライブとしてのHDD4jや、データ複製用のSSD41,42は、いずれのサーバ3A〜3Cにも接続されていない接続解除状態になっている。
制御装置6は、USB(Universal Serial Bus)を介してスイッチ5と通信可能に接続されるとともに、LAN2を介してサーバ3A〜3C(CPU31)と通信可能に接続され、スイッチ5およびサーバ3A〜3C(CPU31)を制御する。制御装置6は、スイッチ5およびサーバ3A〜3C(CPU31)を制御することで後述するレプリカ冗長度復旧処理を行なうマネージャサーバとしての機能を果たす。また、制御装置6は、ユーザからのアクセスに応じLAN2およびサーバ3A〜3C経由でドライブグループ4A〜4Cにおける当該オブジェクトに対するアクセスを行なうフロントエンドサーバとしての機能を果たす。
このとき、本オブジェクトストレージシステム1においても、ドライブ故障の対策として、ドライブ故障が発生した際にオブジェクトが喪失するのを防止すべく、同一オブジェクトの複製データであるレプリカが、異なる複数のサーバのHDDに格納される。図1〜図6では、レプリカの冗長度(多重度)が2である場合が示されている。つまり、制御装置6のフロントエンドサーバとしての機能は、当該オブジェクトについて2つのレプリカを生成し異なるドライブグループに属する2台のHDDに分散配置する。これにより、図1に示す例では、ある一のオブジェクトの2つのレプリカ(複製データ)D1,D1がそれぞれHDD4a,4eに分散配置されるとともに、他のオブジェクトの2つのレプリカ(複製データ)D2,D2がそれぞれHDD4a,4iに分散配置される。
そして、制御装置6のマネージャサーバとしての機能は、レプリカの一つを喪失しレプリカの冗長度が2から1に減少した場合、レプリカの冗長度を復旧する処理を実行する。つまり、制御装置6は、スイッチ5およびサーバ3A〜3CのCPU31を制御することによって、喪失したレプリカを記憶していたHDD(第1記憶装置)4a以外で当該レプリカを記憶しているHDD(第2記憶装置)4e,4iから、当該レプリカをスイッチ5経由でコピーして喪失したレプリカをドライブグループ4Aにおいて復元する。このとき、制御装置6は、例えば、HDD4e,4iに記憶されるレプリカD1,D2を、スイッチ5経由で、HDD4aに代わるHDD(第3記憶装置)4jにコピーする。
以下、図1に示すようにレプリカD1,D2が冗長度2で保存されている状態で、図2に示すようにレプリカD1,D2を保存するHDD4aが故障した場合に、制御装置6によって実行される復旧処理の概要について、図2〜図6を参照しながら説明する。なお、故障したHDD4aを含むノードを第1ノードといい、故障したHDD4aに保存されていたレプリカD1,D2を記憶する他のHDD4e,4iをそれぞれ含む2つのノードを第2ノードという。また、前記第1ノードに含まれるサーバ(処理装置)3Aを第1処理装置といい、2つの前記第2ノードにそれぞれ含まれるサーバ(処理装置)3B,3Cを第2処理装置という。
さて、図2に示すように、レプリカD1,D2を保存するHDD4aが故障した場合、制御装置6は、第2ノードを成すサーバ(第2処理装置)3B,3Cに未使用のデータ複製用記憶装置であるSSD41,42をそれぞれ接続するよう、スイッチ5を制御する。これにより、ドライブグループ4B,4Cにデータ複製用のSSD41,42がそれぞれ含まれることになる。したがって、故障したHDD4aに格納されているオブジェクトのレプリカD1,D2をそれぞれ保持しているサーバ3B,3Cは、それぞれSSD41,42を新たに専有する。
そして、制御装置6は、サーバ3B,3Cにそれぞれ接続されたSSD41,42に、HDD4e,4iに記憶されるレプリカD1,D2をスイッチ5経由でコピーするよう、サーバ3B,3C(CPU31)を制御する。これにより、サーバ3Bおよびドライブグループ4Bの属する第2ノードでは、図3に矢印A3で示すように、HDD4eからSSD41に対し、復旧すべきレプリカD1がローカルにコピーされる。同様に、サーバ3Cおよびドライブグループ4Cの属する第2ノードでは、図3に矢印A4で示すように、HDD4iからSSD42に対し、復旧すべきレプリカD2がローカルにコピーされる。この時点でレプリカ数(レプリカの冗長度)は2でありドライブ故障の発生以前と同等またはそれ以上になっているので、オブジェクト喪失の危険性は回避されている。
この後、制御装置6は、レプリカD1,D2をそれぞれコピーしたSSD41,42を、サーバ3B,3Cから切り離し、前記第1ノードを成すサーバ(第1処理装置)3Aに接続するよう、スイッチ5を制御する。これにより、図4に示すように、ドライブグループ4Aにデータ複製用のSSD41,42が含まれることになる。したがって、ドライブ故障の発生したサーバ3Aに、SSD41,42が専有される。この時点で、サーバ3Aおよびドライブグループ4Aの属するノードは、論理的にはドライブ故障の発生以前の状態に復元されている。
さらに、制御装置6は、HDD(第1記憶装置)4aに代えて、未使用の第3記憶装置であるHDD4jをサーバ3Aに接続するよう、スイッチ5を制御する。これにより、図4に示すように、故障したドライブと置換するための予備用の余剰ドライブであるHDD4jが、ドライブグループ4Aに含まれ、故障したHDD4aに代わってサーバ3Aに専有される。
そして、制御装置6は、サーバ3Aに接続されたHDD4jに、データ複製用のSSD41,42に記憶されるレプリカD1,D2をスイッチ5経由で保存するよう、サーバ3A(CPU31)を制御する。これにより、サーバ3Aおよびドライブグループ4Aの属する第1ノードでは、図5に矢印A5で示すように、SSD41からHDD4jに対し、復旧すべきレプリカD1がコピーされる。同様に、第1ノードでは、図5に矢印A6で示すように、SSD42からHDD4jに対し、復旧すべきレプリカD2がコピーされる。
最後に、制御装置6は、レプリカD1,D2をHDD4jに保存した後、データ複製用のSSD41,42を、サーバ3Aから切り離して未使用の状態に戻すよう、スイッチ5を制御する。これにより、図6に示すように、SSD41,42は、フリーな状態、つまり、いずれのサーバ3A〜3Cにも接続されていない接続解除状態に戻る。この時点で、一台の予備用の余剰ドライブが未使用状態から使用状態になった以外、オブジェクトストレージシステム1は、ドライブ故障の発生前と同じ状態に復元される。
図1〜図6を参照しながら上述したように、本実施形態では、サーバ群3とドライブエンクロージャ4との間におけるスイッチ5を用いてレプリカ冗長度復旧処理が行なわれるため、LAN2のバンド幅に影響を与えることなく、レプリカの冗長度が復旧される。したがって、LAN2における負荷が大きい場合でも、レプリカ冗長度復旧処理はLAN2の影響を受けない。そのため、LAN2のバンド幅が制限されている構成においても、レプリカ数の減少を高速に復旧することが可能であり、使用中のHDDが故障したとしても、レプリカの分散配置状況を、初期の理想的な割り振りに直ちに戻すことができる。
なお、データ複製用記憶装置としては、SSD41,42に代えてHDDを用いてもよい。容量単価はHDDの方がSSDよりも安価であるため、データ複製用記憶装置としてHDDを用いた場合、SSDを用いた場合よりも低コストで本実施形態のシステム1を提供することが可能である。
これに対し、読込み処理時の転送速度および書込み処理時の転送速度はいずれもSSDの方がHDDよりも高速である。このため、本実施形態のごとく、データ複製用記憶装置としてSSDを用いることで、データ複製用記憶装置としてHDDを用いる場合よりも、レプリカ冗長度復旧処理をより高速に行なうことができる。本実施形態では、データ複製用記憶装置として例えば2台のSSDを備えることにより、少数の高価なデバイスを効果的に用い、できるだけ低コストでレプリカ冗長度復旧処理をより高速に行なうことができる。
〔2〕本実施形態のオブジェクトストレージシステムの具体的なハードウエア構成および機能
次に、図7〜図17を参照しながらオブジェクトストレージシステム(情報処理装置)1のハードウエア構成および機能について、より具体的に説明する。まず、図7を参照しながら、本実施形態のオブジェクトストレージシステム1の具体的なハードウエア構成および機能構成について説明する。なお、図7は、オブジェクトストレージシステム1の具体的なハードウエア構成および機能構成を示すブロック図である。また、図中、既述の符号と同一の符号は、同一もしくはほぼ同一の部分を示しているので、その詳細な説明は省略する。
図7に示すオブジェクトストレージシステム1も、図1〜図6に示したシステム1と同様のLAN(ネットワークスイッチ)2,サーバ群3,ドライブエンクロージャ4,ドライブ接続切替スイッチ5および制御装置6を有している。
図7に示すシステム1において、制御装置6は、CPU(処理部)61およびメモリ62を含む。メモリ62には、CPU61の処理に必要な各種データ,各種プログラム等が格納される。各種プログラムには、制御装置6が前述したマネージャサーバおよびフロントエンドサーバとして機能する際にCPU61によって実行される制御プログラムが含まれる。また、各種データには、制御装置6が前述したマネージャサーバおよびフロントエンドサーバとして機能する際にCPU61によって参照/照合検索/更新されるテーブルT1〜T4が含まれる。テーブルT1〜T4については、図13〜図16を参照しながら後述する。なお、メモリ62としては、RAM,HDD,SSDなど各種記憶装置を用いることができる。
また、図7に示すシステム1において、スイッチ5は、図8に示すようなSAS(Serial Attached SCSI (Small Computer System Interface))エクスパンダによって構成されている。SASエクスパンダ5は、SASインタフェースを介してサーバ群3およびドライブエンクロージャ4に接続される。また、SASエクスパンダ5は、USBインタフェースを介して制御装置6に接続される。制御装置6は、前述したマネージャサーバとして機能する際、USBインタフェースを介して、SMP(Serial Management Protocol)コマンドをSASエクスパンダ5に送信しSASエクスパンダ5のゾーニング情報を操作する。これにより、複数のノード(図7〜図9では3つのノード)のそれぞれに属する一のサーバと一以上のHDDおよび/またはSSDとの組合せを任意に設定することが可能になっている。なお、SASエクスパンダ5は、イーサネット等のインタフェースを介して制御装置6に接続されていてもよい。
〔2−1〕SASエクスパンダ(スイッチ装置)
ここで、SASエクスパンダ5について、図8および図9を参照しながら説明する。なお、図8は、本実施形態のオブジェクトストレージシステム1におけるSASエクスパンダ(スイッチ装置)5について説明する図である。図9は、図8に示すSASエクスパンダ5におけるゾーニング設定について説明する図である。
SASエクスパンダ5は、サーバ3A〜3CのHBA(Host Bus Adapter)33にそれぞれ接続されるPHY(物理層のポート)51a〜51cと、HDD4a〜4jおよびSSD41,42をそれぞれ接続されるPHY52a〜52lとを有している。各サーバのHBA33とドライブ4a〜4j,41,42との対応付けは、SASエクスパンダ5のゾーニング設定によって行なわれる。ゾーニング設定は、制御装置6からのSMPコマンドによって変更可能になっている。
図8に示すSASエクスパンダ5において、ゾーニング設定は、図9に示すように行なわれている。つまり、サーバ3Aに対応するゾーンID(IDentification)“Z1”にはPHY51a;52a〜52cが設定される。これにより、ゾーンZ1において、PHY51aとPHY52a〜52cとが接続され、サーバ3AとHDD4a〜4cとが対応付けられた一つのノードが構成される。また、サーバ3Bに対応するゾーンID“Z2”にはPHY51b;52d〜52fが設定される。これにより、ゾーンZ2において、PHY51bとPHY52d〜52fとが接続され、サーバ3BとHDD4d〜4fとが対応付けられた一つのノードが構成される。さらに、サーバ3Cに対応するゾーンID“Z3”にはPHY51c;52g〜52iが設定される。これにより、ゾーンZ3において、PHY51cとPHY52g〜52iとが接続され、サーバ3CとHDD4g〜4iとが対応付けられた一つのノードが構成される。
なお、図8に示すSASエクスパンダ5においては、サーバ3A〜3Cの各々に対応するゾーンZ1〜Z3に加え、どのサーバにも対応しない接続解除用のゾーンID“Z4”が設定されている。つまり、図9に示すように、前述した予備用の余剰ドライブとしてのHDD4jおよびデータ複製用のSSD41,42をそれぞれ接続されるPHY52j,52k,52lは、ゾーンID“Z4”に設定されることで、いずれのサーバ3A〜3Cにも接続されていない接続解除状態になっている。
〔2−2〕ドライブIDの設定例
次に、図10〜図12を参照しながら、本実施形態のオブジェクトストレージシステム1において用いられるドライブID、つまり、ドライブプール4に集約される各ドライブ(HDD4a〜4jおよびSSD41,42の各々)のIDの設定例について説明する。
本実施形態においては、サーバ群3に対しスイッチ5を介して接続または切断するドライブの指定や、各ドライブの接続状況の管理等を行なう際、ドライブIDが用いられる。ドライブIDとしては、各ドライブを識別することが可能な固有の値であれば、任意の値を設定することができる。本実施形態では、例えば図10〜図12に示すように、ドライブエンクロージャ4内でのドライブ格納位置を基準として、ドライブIDが設定される。
図10に示すように、一つのドライブエンクロージャに4つのユニット#0〜#3が搭載されるとともに、各ユニットに16個のスロット#0〜#15が備えられ、各スロットにHDDまたはSSDが実装される場合、以下のようにドライブIDが設定される。つまり、例えばユニット#2のスロット#3に実装されたドライブには、ドライブIDとして“2-3”を設定・付与することができる。なお、各スロットには、SASインタフェースまたはSATA(Serial Advanced Technology Attachment)インタフェースでHDDやSSDのいずれも実装することが可能である。
また、図10に示すドライブエンクロージャを、図11に示すごとく、カスケード形式で接続してドライブプール4の規模を拡大した場合、以下のようにドライブIDが設定される。図11では、図10に示すドライブエンクロージャが3台、カスケード形式で接続された例(2段カスケードの例)が示されている。このとき、カスケードの先頭のエンクロージャから順に#0,#1,#2,…と番号を付与することで、例えばエンクロージャ#1におけるユニット#2のスロット#3に実装されたドライブには、ドライブIDとして“1-2-3”を設定・付与することができる。
さらに、図12に示すごとく、各サーバを複数のカスケードの組(図11に示すエンクロージャセット)に接続してドライブプール4の規模を拡大した場合、以下のようにドライブIDが設定される。図12では、図11に示すエンクロージャセットが2組、各サーバに接続された例が示されている。各エンクロージャセットをドメインと呼ぶ。このとき、2組のドメインにそれぞれ#0,#1を付与することで、例えばドメイン#0のエンクロージャ#1におけるユニット#2のスロット#3に実装されたドライブには、ドライブIDとして“0-1-2-3”を設定・付与することができる。
〔2−3〕テーブルT1〜T4
次に、図13〜図16を参照しながら、本実施形態のオブジェクトストレージシステム1において用いられるテーブルT1〜T4について説明する。ここで、デバイス管理テーブルT1とレプリカ管理テーブルT2とは、少なくとも、制御装置6のフロントエンドサーバとしての機能が図17を参照しながら後述するごとくオブジェクトの分散配置を行なう際に用いられる。また、サーバ・ドライブ接続テーブルT3は、制御装置6のマネージャサーバとしての機能がドライブの接続/切断を行なう度に更新される。さらに、ドライブ属性テーブルT4は、制御装置6のマネージャサーバとしての機能がレプリカ冗長度復旧処理を実行する際にデータ複製用のSSDを決定すべく用いられる。
〔2−3−1〕デバイス管理テーブルT1
まず、図13を参照しながら、本実施形態のオブジェクトストレージシステム1におけるデバイス管理テーブルT1について説明する。デバイス管理テーブルT1は、少なくとも、HDD,SSD等のデバイスを論理的に特定するデバイスIDと、当該デバイスIDに対応する実際のHDD,SSD等を物理的に特定するドライブIDとを対応付ける。
図13に示すデバイス管理テーブルT1では、デバイスID(devID)とドライブID(driveID)とマウントポイントとサーバIP(Internet Protocol)アドレスとが対応付けられている。ドライブIDは、図10〜図12を参照しながら前述したIDである。マウントポイントは、デバイスIDに対応付けられたドライブが当該サーバのファイルシステムにおいてマウントされているディレクトリのパスを示す。このマウントポイントとしてのディレクトリ名は任意でよく、本実施形態では、マウントポイントとしてドライブIDと同等の文字列を使用している。また、サーバIPアドレスは、デバイスIDに対応付けられたドライブとLAN2経由で通信する際に使用される。本実施形態の機能を実現するに当たって、デバイス管理テーブルT1には、デバイスIDとドライブIDとの対応関係が保持されていればよく、マウントポイントおよびサーバIPアドレスは省略されていてもよい。
〔2−3−2〕レプリカ管理テーブルT2
図14を参照しながら、本実施形態のオブジェクトストレージシステム1におけるレプリカ管理テーブルT2について説明する。レプリカ管理テーブルT2は、オブジェクトのレプリカの分散配置に際して用いられ、レプリカ毎のハッシュ対応テーブルである。なお、以下の説明において、レプリカの冗長度は3であるものとし、図14では、レプリカの冗長度が3である場合の例が示されている。
図14に示すレプリカ管理テーブルT2では、オブジェクトのハッシュ値の上位nビットの値と、3つのレプリカ#1〜#3をそれぞれ格納すべき3つのデバイス(ドライブ)を特定するデバイスIDとが対応付けられている。オブジェクトのハッシュ値は、ユーザのアカウント名やオブジェクト名などから成るオブジェクトのパス名を、MD5(Message Digest algorithm 5)等の一方向ハッシュ関数にかけて得られる、一定幅のビット列である。このようなハッシュ値の上位nビットの値をキーにしてレプリカ管理テーブルT2を照合検索することで、当該オブジェクトの3つのレプリカ#1〜#3をそれぞれ格納すべき3つのデバイスが特定される。このようなレプリカ管理テーブルT2は、システム1の起動前に生成され、制御装置(フロントエンドサーバ)6によって管理される。
なお、オブジェクトのハッシュ値の上位nビットの値と3つのデバイスIDとの対応は基本的にランダムに決定される。ただし、同じ上位nビット値に対応付けられる3つのデバイスは、それぞれ異なるゾーン(ノード)に属するものとする。つまり、同一ハッシュ値の3つのレプリカには、それぞれ異なるゾーン(ノード)に属するデバイスが割り付けられるものとする。
図14に示すレプリカ管理テーブルT2では、例えば、ハッシュ値の上位nビットの値“00001”に対し3つのデバイスID“dev0, dev1, dev2”が割り付けられている。したがって、ハッシュ値の上位nビットの値が“00001”であるオブジェクトの3つのレプリカは、それぞれデバイスID“dev0, dev1, dev2”によって特定される3つのデバイスに配置される。なお、デバイスID“dev0, dev1, dev2”は、図13に示すデバイス管理テーブルT1に基づき、それぞれドライブID“0-0-0-0, 0-0-0-1, 0-0-0-2”に対応するHDDであることが認識される。
ここで、図14を参照しながら、各HDDに対するオブジェクト(レプリカ)の格納例について説明する。各HDDにおいては、オブジェクトのハッシュ値の上位nビットの値毎に、ディレクトリが設定されている。各ディレクトリ内には、当該ディレクトリに設定された上位nビットの値で開始されるハッシュ値をもつオブジェクトが全て格納される。例えば、図14に示すレプリカ管理テーブルT2を用いて図17を参照しながら後述するごとくレプリカ分散配置を行なった場合、デバイスID“dev2”のHDDには“00001”,“00002”,“00010”で開始されるハッシュ値をもつオブジェクトが全て格納されることになる。
〔2−3−3〕サーバ・ドライブ接続テーブルT3
図15を参照しながら、本実施形態のオブジェクトストレージシステム1におけるサーバ・ドライブ接続テーブルT3について説明する。図15に示すサーバ・ドライブ接続テーブルT3では、サーバを特定するサーバID(serverID)と、当該サーバIDによって特定されるサーバに接続されるドライブを特定するドライブID(driveID)とが対応付けられている。サーバ・ドライブ接続テーブルT3は、スイッチ5によってドライブの接続/切断を行なう度に、制御装置6(マネージャサーバ)によって更新される。
なお、サーバIDとしては、例えば、対応サーバに接続されるポート/PHYの番号などのハードウエア要素によって決定された値が用いられてもよいし、別途、サーバとIPアドレスとを対応付けるテーブル等を用いて決定される値が用いられてもよい。また、ドライブIDとしては、例えば図10〜図12を参照しながら前述したIDが用いられる。
さらに、サーバ・ドライブ接続テーブルT3には、サーバIDとして“フリー”が設定されており、サーバID“フリー”には、いずれのサーバ3A〜3Cにも接続されていない接続解除状態のドライブのIDが対応付けられる。図15に示すサーバ・ドライブ接続テーブルT3では、例えば、予備用の余剰ドライブとしてのHDD4jやデータ複製用のSSD41,42のドライブID“0-0-1-0, 0-0-1-1, 0-0-1-2”が、サーバID“フリー”に対応付けられている。
〔2−3−4〕ドライブ属性テーブルT4
図16を参照しながら、本実施形態のオブジェクトストレージシステム1におけるドライブ属性テーブルT4について説明する。ドライブ属性テーブルT4では、ドライブID(driveID)と、当該ドライブIDによって特定されるドライブの属性とが対応付けられている。ここでいう属性は、図16に示すように、当該ドライブがHDDであるかSSDであるかを示す情報であり、制御装置(マネージャサーバ)6がデータ複製用のSSDを決定する際に用いられる。ドライブIDとしては、例えば図10〜図12を参照しながら前述したIDが用いられる。
なお、ドライブ属性テーブルT4は、制御装置(マネージャサーバ)6によって管理されている。ドライブ属性テーブルT4は、予め生成されメモリ62に格納されていてもよいし、システム1の起動時に制御装置(マネージャサーバ)6がシステム1に属するドライブの調査を行ない、各ドライブのドライブIDと属性(HDDかSSDか)とを収集して作成されてもよい。
〔2−4〕通常動作時のレプリカ分散配置
次に、図17を参照しながら、本実施形態のオブジェクトストレージシステム1における通常動作時のレプリカ分散配置について説明する。
本実施形態の制御装置(フロントエンドサーバ)6は、ユーザからのPUTコマンドやGETコマンド等を処理する。その際、制御装置6は、ユーザのアカウント名やオブジェクト名などから成るオブジェクトのパス名を、MD5等の一方向ハッシュ関数にかけることで、オブジェクトのハッシュ値(一定幅のビット列)を得る。そして、制御装置6は、取得したハッシュ値の上位nビットの値をキーにしてレプリカ管理テーブルT2を照合検索することで、当該オブジェクトの3つのレプリカ#1〜#3をそれぞれ格納すべき3つのデバイスのID(例えばdev0, dev1, dev2)を取得する。
この後、制御装置6は、取得した3つのデバイスIDをキーにしてデバイス管理テーブルT1を照合検索することで、3つのデバイスID(例えばdev0, dev1, dev2)にそれぞれ対応する3つのドライブID(例えば0-0-0-0, 0-0-0-3, 0-0-0-6)を取得する。また、制御装置6は、取得した3つのデバイスID(例えば0-0-0-0, 0-0-0-3, 0-0-0-6)をキーにしてサーバ・ドライブ接続テーブルT3を照合検索することで、3つのデバイスにそれぞれ接続される3つのサーバのID(例えば0,1,2)を取得する。
そして、制御装置6は、図17に示すように、オブジェクトの3つのレプリカ#1〜#3を、それぞれ、取得した3つのサーバID(例えば0,1,2)によって特定されるサーバ経由で、取得した3つのデバイスID(例えば0-0-0-0, 0-0-0-3, 0-0-0-6)によって特定されるHDDに転送して書き込む(矢印A7〜A9参照)。
これにより、本オブジェクトストレージシステム1においても、ドライブ故障の対策として、ドライブ故障が発生した際にオブジェクトが喪失するのを防止すべく、同一オブジェクトの複製データであるレプリカが、異なる3つのサーバ配下の3つのHDDに格納される。
〔3〕本実施形態のオブジェクトストレージシステムの動作
次に、図18〜図36を参照しながら、上述のごとく構成された本実施形態のオブジェクトストレージシステム1によるレプリカ冗長度復旧処理について説明する。
以下の説明において、レプリカ冗長度復旧処理は、図13〜図16を参照しながら上述したテーブルT1〜T4を用いて実行され、レプリカの冗長度は3とする。
また、図19,図22,図25,図28,図31,図34に示すように、サーバ3A,3B,3C,…のサーバIDをそれぞれ0,1,2,…とし、HDD4a,4b,4d,4e,4g,4hのドライブIDをそれぞれ0-0-0-0, 0-0-0-1, 0-0-0-3, 0-0-0-4, 0-0-0-6, 0-0-0-7とする。さらに、予備用の余剰ドライブであるHDD4jのドライブIDを0-0-1-0とし、データ複製用のSSD41,42のドライブIDをそれぞれ0-0-1-1, 0-0-1-2とする。なお、図19,図22,図25,図28,図31,図34では、各IDにおけるハイフン(-)の記載は省略している。
〔3−1〕故障ドライブ切断処理
まず、本実施形態のオブジェクトストレージシステム1による故障ドライブ切断処理について、図18に示すフローチャート(ステップS11〜S14)に従って、図19および図20を参照しながら説明する。なお、図19は、図18の処理に対応するシステム1のノード構成を示す図であり、図20は、図18の処理に対応する、テーブルT3に対する処理を説明する図である。
図19および図20に示すように、ドライブ故障が発生する直前のシステム1においては、3つのストレージノード(ゾーンZ1〜Z3)が、スイッチ5によって構築されている。ゾーンZ1におけるノードには、ドライブID“0-0-0-0, 0-0-0-1”のHDD4a,4bとサーバID“0”のサーバ3Aとが属している。ゾーンZ2におけるノードには、ドライブID“0-0-0-3, 0-0-0-4”のHDD4d,4eとサーバID“1”のサーバ3Bとが属している。ゾーンZ3におけるノードには、ドライブID“0-0-0-6, 0-0-0-7”のHDD4g,4hとサーバID“2”のサーバ3Cとが属している。また、ドライブID“0-0-1-0, 0-0-1-1, 0-0-1-2”のHDD4j,SSD41,42は、サーバID“フリー”に対応付けられ、いずれのサーバ3A〜3Cにも接続されていない接続解除状態(フリー状態)になっている。
システム1の運用中にHDD4aの故障が発生した場合、その故障は、オペレータもしくは監視装置(図示略)が何らかの手段によって検知され、故障したHDD4aのドライブID“0-0-0-0”とともに制御装置(マネージャサーバ;以下、単にマネージャという場合がある)6に通知される(図18のステップS11;図19の矢印A11参照)。このとき、システム1では、HDD4aの故障に伴い、HDD4aに保存されたレプリカが喪失し、当該レプリカの冗長度は3から2に減少しており、マネージャ6は、当該レプリカの冗長度を3に復旧する処理(ステップS12〜S33)を、以下のように実行する。
通知を受けたマネージャ6は、故障HDD4aのドライブID“0-0-0-0”をキーにしてサーバ・ドライブ接続テーブルT3を照合検索することで、故障HDD4aに対応するサーバID“0”を取得する(図18のステップS12;図20の矢印A12参照)。この後、マネージャ6は、USBインタフェース経由で、サーバID“0”およびドライブID“0-0-0-0”に基づき、SASエクスパンダ5におけるゾーニング設定を変更することで、ドライブID“0-0-0-0”のHDD4aをサーバID“0”のサーバ3Aから切り離す切断処理を実行する(図18のステップS13;図19の矢印A13参照)。このとき、ゾーニング設定の変更により、SASエクスパンダ5では、PHY51aとPHY52aとの接続状態(図8参照)が解除され、PHY52aおよびこれに接続されるHDD4aは接続解除用ゾーンZ4に属することになる。
マネージャ6は、HDD4aをサーバ3Aから切り離した後、HDD4aの切断処理に対応して、サーバ・ドライブ接続テーブルT3を更新する(図18および図20のステップS14)。つまり、マネージャ6は、サーバ・ドライブ接続テーブルT3において、サーバID“0”に対応付けられたドライブID“0-0-0-0”を削除する(図20および図23のテーブルT3参照)。この後、マネージャ6は、図21のステップS15の処理へ移行する。
〔3−2〕コピー対象サーバの選定処理
次に、本実施形態のオブジェクトストレージシステム1のコピー対象サーバの選定処理について、図21に示すフローチャート(ステップS15〜S18)に従って、図22および図23を参照しながら説明する。なお、図22は、図21の処理に対応するシステム1のノード構成を示す図であり、図23は、図21の処理に対応する、テーブルT3,T4に対する処理を説明する図である。
図21のステップS15において、マネージャ6は、ステップS14で故障ドライブID“0-0-0-0”を削除した後、故障ドライブID“0-0-0-0”をキーにしてデバイス管理テーブルT1を照合検索することで、故障ドライブID“0-0-0-0”に対応する故障デバイスID“dev0”を取得する(図23の矢印A15参照)。
また、マネージャ6は、取得した故障デバイスID“dev0”をキーにしてレプリカ管理テーブルT2を照合検索することで、故障デバイスであるHDD4aが保持していたレプリカと同じレプリカを保持するデバイスのID“dev1, dev2”を取得する(図21のステップS16;図23の矢印A16参照)。
さらに、マネージャ6は、取得したデバイスID“dev1, dev2”をキーにしてデバイス管理テーブルT1を照合検索することで、故障HDD4aが保持していたレプリカと同じレプリカを保持するデバイスに対応付けられたドライブID“0-0-0-3, 0-0-0-6”を取得する(図21のステップS17;図23の矢印A17参照)。
そして、マネージャ6は、取得したドライブID“0-0-0-3, 0-0-0-6”をキーにしてサーバ・ドライブ接続テーブルT3を照合検索することで、レプリカ欠損を起こしている2つのサーバのID“1,2”を取得する(図21のステップS18;図23の矢印A18参照)。ここで、「レプリカ欠損を起こしているサーバ」とは、上述したように、冗長度が3から2になっているレプリカを保持しているサーバのことである。この後、マネージャ6は、図24のステップS19の処理へ移行する。
〔3−3〕SSDの選択・接続処理
次に、本実施形態のオブジェクトストレージシステム1によるSSDの選択・接続処理について、図24に示すフローチャート(ステップS19〜S22)に従って、図25および図26を参照しながら説明する。なお、図25は、図24の処理に対応するシステム1のノード構成を示す図であり、図26は、図25の処理に対応する、テーブルT3,T4に対する処理を説明する図である。
図24のステップS19において、マネージャ6は、サーバ・ドライブ接続テーブルT3から、フリー状態のドライブIDのリストを取得する(図26の矢印A19参照)。
マネージャ6は、取得したドライブIDのリストとドライブ属性テーブルT4とを照らし合わせ、データ複製用SSDを必要な台数分、決定する(図24のステップS20;図26の矢印A20参照)。このとき、図21のステップS18で取得されたサーバIDの数は2であるので、データ複製用SSDとして、ドライブID“0-0-1-1, 0-0-1-2”をそれぞれ有する2台のSSD41,42が選択・決定される。
また、マネージャ6は、USBインタフェース経由で、SASエクスパンダ5におけるゾーニング設定を変更することで、図21のステップS18で取得されたサーバID“1,2”のサーバ3B,3Cに対して、図24のステップS20で決定されたドライブID“0-0-1-1, 0-0-1-2”のSSD41,42をそれぞれ接続する(図24のステップS21;図25の矢印A21参照)。このとき、ゾーニング設定の変更により、SASエクスパンダ5では、サーバ3Bに接続されたPHY51bとSSD41に接続されたPHY52kとが接続されるとともに、サーバ3Cに接続されたPHY51cとSSD42に接続されたPHY52lとが接続される。これにより、図25に示すように、故障したHDD4aに格納されていたレプリカと同じレプリカをそれぞれ保持しているサーバ3B,3Cは、それぞれSSD41,42を新たに専有する。
マネージャ6は、サーバ3B,3CにそれぞれSSD41,42を接続した後、新たな接続に対応して、サーバ・ドライブ接続テーブルT3を更新する(図24のステップS22)。つまり、マネージャ6は、サーバ・ドライブ接続テーブルT3において、サーバID“フリー”に対応付けられていたドライブID“0-0-1-1, 0-0-1-2”を、サーバID“フリー”の行から削除する。そして、マネージャ6は、ドライブID“0-0-1-1, 0-0-1-2”をそれぞれサーバID“1,2”に対応する行に移動・追加する(図26の矢印A22参照)。この後、マネージャ6は、図27のステップS23の処理へ移行する。
〔3−4〕SSDに対するレプリカコピー処理
次に、本実施形態のオブジェクトストレージシステム1によるSSDに対するレプリカコピー処理について、図27に示すフローチャート(ステップS23〜S25)に従って、図28および図29を参照しながら説明する。なお、図28は、図27の処理に対応するシステム1のノード構成を示す図であり、図29は、図27の処理(ステップS24)に対応するレプリカコピー処理を説明する図である。
図27のステップS23において、マネージャ6は、LAN2経由で、サーバ3B,3Cの属する該当ストレージノードに対し、コピー開始の指示を行なう(図28の矢印A23参照)。このとき、マネージャ6は、サーバ3Bに対しては、コピー元のドライブID“0-0-0-3”と、コピー先のドライブID“0-0-1-1”と、コピーするオブジェクトのハッシュ値(上位nビットの値)とを通知する。同様に、マネージャ6は、サーバ3Cに対しては、コピー元のドライブID“0-0-0-6”と、コピー先のドライブID“0-0-1-2”と、コピーするオブジェクトのハッシュ値(上位nビットの値)とを通知する。なお、コピーするオブジェクトのハッシュ値(上位nビットの値)は、故障HDD4aのデバイスID“dev0”をキーにしてレプリカ管理テーブルT2を照合検索することで得られる。
コピー指示を受けたサーバ3B,3Cの各々において、CPU31は、SSD41,42に対するレプリカコピー処理を実行する(図27のステップS24)。このとき、サーバ3Bでは、ドライブID“0-0-0-3”のHDD4d(dev1)からドライブID“0-0-1-1”のSSD41へ、指定ハッシュ値(上位nビットの値)をもつレプリカが、スイッチ5およびCPU31を介してコピーされる(図28の矢印A241参照)。同様に、サーバ3Cでは、ドライブID“0-0-0-6”のHDD4g(dev2)からドライブID“0-0-1-2”のSSD42へ、指定ハッシュ値(上位nビットの値)をもつレプリカが、スイッチ5およびCPU31を介してコピーされる(図28の矢印A242参照)。
図29に示すように、HDD4g(dev2)からSSD42へのコピー処理は、故障したHDD4aに存在したレプリカのみを対象として行なわれる。つまり、図29に示す例では、ハッシュ値(上位nビットの値)00001, 00010をもつレプリカは、故障HDD4aに格納されていたため、コピー対象となる一方、ハッシュ値(上位nビットの値)00002をもつレプリカは、故障HDD4aに格納されていないので、コピー対象とならない。
各CPU31は、コピー処理終了後、マネージャ6に対する終了通知をLAN2経由で行なう(図27のステップS24;図28の矢印A243参照)。
マネージャ6は、サーバ3B,3Cの属する該当ストレージノードの全てから終了通知を受領するまで待機し(図27のステップS25)、全ての該当ストレージノードから終了通知を受領すると、図30のステップS26の処理へ移行する。なお、この時点でレプリカ数(レプリカの冗長度)は3でありドライブ故障の発生以前と同等になっているので、オブジェクト喪失の危険性は回避されている。
〔3−5〕SSDの移動処理&予備HDDの追加処理
次に、本実施形態のオブジェクトストレージシステム1によるSSDの移動処理&予備HDDの追加処理について、図30に示すフローチャート(ステップS26〜S30)に従って、図31および図32を参照しながら説明する。なお、図31は、図30の処理に対応するシステム1のノード構成を示す図であり、図32は、図30の処理に対応する、テーブルT1,T3,T4に対する処理を説明する図である。
図30のステップS26において、マネージャ6は、USBインタフェース経由でSASエクスパンダ5におけるゾーニング設定を変更することで、図24のステップS21でサーバ3B,3Cに接続されたSSD41,42をサーバ3B,3Cから切り離す。このとき、ゾーニング設定の変更により、SASエクスパンダ5では、サーバ3Bに接続されたPHY51bとSSD41に接続されたPHY52kとの間が切り離されるとともに、サーバ3Cに接続されたPHY51cとSSD42に接続されたPHY52lとの間が切り離される。マネージャ6は、SSD41,42をサーバ3B,3Cから切り離した後、SSD41,42の切断処理に対応して、サーバ・ドライブ接続テーブルT3を更新する。つまり、マネージャ6は、サーバ・ドライブ接続テーブルT3において、サーバID“1,2”にそれぞれ対応付けられたドライブID“0-0-1-1, 0-0-1-2”を削除する。
ついで、図30のステップS27において、マネージャ6は、USBインタフェース経由でSASエクスパンダ5におけるゾーニング設定を変更することで、サーバ3B,3Cから切断されたSSD41,42を、故障HDD4aの発生したサーバ3Aに接続する。このとき、ゾーニング設定の変更により、SASエクスパンダ5では、サーバ3Aに接続されたPHY51aとSSD41,42にそれぞれ接続されたPHY52k,52lとが接続される。これにより、図31に示すように、サーバ3Aは、SSD41,42を新たに専有する。マネージャ6は、SSD41,42とサーバ3Aとを接続した後、SSD41,42の接続処理に対応して、サーバ・ドライブ接続テーブルT3を更新する。つまり、マネージャ6は、サーバ・ドライブ接続テーブルT3において、SSD41,42のドライブID“0-0-1-1, 0-0-1-2”を、サーバ3AのサーバID“0”に対応する行に移動・追加する(図32の矢印A27参照)。この時点で、サーバ3Aの属するノードは、論理的にはドライブ故障の発生以前の状態に復元されている。
この後、図30のステップS28において、マネージャ6は、サーバ・ドライブ接続テーブルT3およびドライブ属性テーブルT4に基づき、サーバID“フリー”に対応付けられ且つ属性がHDDであるドライブIDを検索する。図32に示す例においては、マネージャ6によって、サーバID“フリー”に対応付けられ且つ属性がHDDであるドライブのIDとして“0-0-1-0”が決定される。このように決定されたドライブID“0-0-1-0”のHDDは、未使用のHDD4jである。
そして、図30のステップS29において、マネージャ6は、USBインタフェース経由でSASエクスパンダ5におけるゾーニング設定を変更することで、未使用のHDD4jを、故障HDD4aの発生したサーバ3Aに接続する。このとき、ゾーニング設定の変更により、SASエクスパンダ5では、サーバ3Aに接続されたPHY51aとHDD4jに接続されたPHY52jとが接続される。これにより、図31に示すように、サーバ3Aは、HDD4jを新たに専有する。マネージャ6は、HDD4jとサーバ3Aとを接続した後、HDD4jの接続処理に対応して、サーバ・ドライブ接続テーブルT3を更新する。つまり、マネージャ6は、サーバ・ドライブ接続テーブルT3において、HDD4jのドライブID“0-0-1-0”を、サーバID“フリー”に対応する行から、サーバ3AのサーバID“0”に対応する行に移動・追加する(図32の矢印A29参照)。
さらに、マネージャ6は、デバイス管理テーブルT1において、デバイスID“dev0”に対応付けられた故障HDD4aのドライブID“0-0-0-0”を、ステップS29で新たに追加されたHDD4jのドライブID“0-0-1-0”に変更する(図30のステップS30;図32の矢印A30参照)。この後、マネージャ6は、図33のステップS31の処理へ移行する。
〔3−6〕予備HDDに対するレプリカコピー処理
次に、本実施形態のオブジェクトストレージシステム1による予備HDDに対するレプリカコピー処理について、図33に示すフローチャート(ステップS31〜S33)に従って、図34〜図36を参照しながら説明する。なお、図34は、図33の処理に対応するシステム1のノード構成を示す図であり、図35は、図34の処理(ステップS32)に対応するレプリカコピー処理を説明する図であり、図36は、図34の処理(ステップS33)に対応する、テーブルT3に対する処理を説明する図である。
図33のステップS31において、マネージャ6は、LAN2経由で、故障HDDを生じたサーバ3Aの属するストレージノードに対し、コピー開始の指示を行なう(図34の矢印A31参照)。このとき、マネージャ6は、サーバ3Aに対し、コピー元のドライブID“0-0-1-1, 0-0-1-2”と、コピー先のドライブID“0-0-1-0”と、コピーするオブジェクトのハッシュ値(上位nビットの値)とを通知する。なお、コピーするオブジェクトのハッシュ値(上位nビットの値)は、図27のステップS23で通知されるものと同様のもので、故障HDD4aのデバイスID“dev0”をキーにしてレプリカ管理テーブルT2を照合検索することで得られる。
コピー指示を受けたサーバ3Aにおいて、CPU31は、SSD41,42からHDD4jに対するレプリカコピー処理を実行する(図33のステップS32)。このとき、ドライブID“0-0-1-1”のSSD41からドライブID“0-0-1-0”のHDD4j(dev0)へ、指定ハッシュ値(上位nビットの値)をもつレプリカが、スイッチ5およびCPU31を介してコピーされる(図34および図35の矢印A321参照)。同様に、ドライブID“0-0-1-2”のSSD42からドライブID“0-0-1-0”のHDD4j(dev0)へ、指定ハッシュ値(上位nビットの値)をもつレプリカが、スイッチ5およびCPU31を介してコピーされる(図34および図35の矢印A322参照)。
サーバ3AのCPU31は、コピー処理終了後、マネージャ6に対する終了通知をLAN2経由で行なう(図33のステップS32;図34の矢印A323参照)。
そして、図33のステップS33において、マネージャ6は、サーバ3Aの属する該当ストレージノードから終了通知を受領すると、USBインタフェース経由でSASエクスパンダ5におけるゾーニング設定を変更することで、サーバ3AからSSD41,42を切り離す。このとき、ゾーニング設定の変更により、SASエクスパンダ5では、サーバ3Aに接続されたPHY51aとSSD41,42にそれぞれ接続されたPHY52k,52lとの間が切り離される。マネージャ6は、SSD41,42をサーバ3B,3Cから切り離した後、SSD41,42の切断処理に対応して、サーバ・ドライブ接続テーブルT3を更新する。つまり、マネージャ6は、図36に示すように、サーバ・ドライブ接続テーブルT3において、サーバID“0”に対応付けられたドライブID“0-0-1-1, 0-0-1-2”を、サーバID“フリー”の項に戻す。これにより、SSD41,42は、フリーな状態、つまり、いずれのサーバ3A〜3Cにも接続されていない接続解除状態に戻る。この時点で、一台の予備用の余剰ドライブが未使用状態から使用状態になった以外、オブジェクトストレージシステム1は、ドライブ故障の発生前と同じ状態に復元される。
〔4〕まとめ
本実施形態のオブジェクトストレージシステム1によれば、サーバクラスタ3のサーバ3Aにおいてドライブ故障が発生しレプリカ数が減少した際、サーバ3B,3Cが復旧用SSD41,42に個別にレプリカを複製する。そして、複製後のSSD41,42をスイッチ(ドライブ接続切替装置)5により復旧対象のサーバ3Aに接続することで、サーバ間LA2を利用せずにレプリカ数の減少が復旧される。
このように、スイッチ5を用いてレプリカ冗長度復旧処理が行なわれるため、LAN2のバンド幅に影響を与えることなくレプリカの冗長度が復旧され、復旧処理とユーザ処理とが競合し互いに阻害し合うことを回避することができる。したがって、LAN2における負荷が大きい場合でも、レプリカ冗長度復旧処理はLAN2の影響を受けない。そのため、LAN2のバンド幅が制限されている構成においても、レプリカ数の減少を高速に復旧することが可能であり、使用中のHDD4aが故障したとしても、レプリカの分散配置状況を、初期の理想的な割り振りに直ちに戻すことができる。
また、データ複製用記憶装置としてSSDを用いることで、レプリカ冗長度復旧処理をより高速に行なうことができる。本実施形態では、データ複製用記憶装置として例えば2台のSSD41,42を備えることにより、少数の高価なデバイスを効果的に用い、できるだけ低コストでレプリカ冗長度復旧処理をより高速に行なうことができる。
〔5〕その他
以上、本発明の好ましい実施形態について詳述したが、本発明は、係る特定の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲内において、種々の変形、変更して実施することができる。
上述した制御装置6のマネージャサーバやフロントエンドサーバとしての機能の全部もしくは一部は、コンピュータ(CPU,情報処理装置,各種端末を含む)が所定のアプリケーションプログラム(制御プログラム)を実行することによって実現される。
また、上記アプリケーションプログラムは、例えばフレキシブルディスク,CD(CD−ROM,CD−R,CD−RWなど),DVD(DVD−ROM,DVD−RAM,DVD−R,DVD−RW,DVD+R,DVD+RWなど),ブルーレイディスク等のコンピュータ読取可能な記録媒体に記録された形態で提供される。この場合、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。
〔6〕付記
以上の実施形態に関し、さらに以下の付記を開示する。
(付記1)
複数の記憶装置と、
複数の処理装置と、
前記複数の記憶装置と前記複数の処理装置との接続状態を切り替えるスイッチ装置と、
前記複数の記憶装置のうちの異なる2以上の記憶装置にそれぞれ記憶された複製データの一つを喪失した場合、前記異なる2以上の記憶装置のうち、喪失した複製データを記憶していた第1記憶装置以外の第2記憶装置に記憶される前記複製データを前記スイッチ装置経由でコピーして前記喪失した複製データを復元するよう、前記スイッチ装置および前記複数の処理装置を制御する制御装置と、
を有する情報処理装置。
(付記2)
前記制御装置は、
前記複数の処理装置のそれぞれによってアクセスされるデータをコピーし、コピーされた前記データを前記複製データとして前記異なる2以上の記憶装置に分散配置するよう、前記スイッチ装置および前記複数の処理装置を制御する、付記1記載の情報処理装置。
(付記3)
前記制御装置は、
前記第2記憶装置に記憶される前記複製データを、前記スイッチ装置経由で、前記複数の記憶装置に含まれ前記第1記憶装置に代わる第3記憶装置にコピーする、付記1または付記2に記載の情報処理装置。
(付記4)
前記制御装置は、
前記スイッチ装置を介して前記複数の処理装置のそれぞれと前記複数の記憶装置の一部とを接続することにより、前記複数の処理装置のうちの一の処理装置と前記複数の記憶装置のうちの一以上の記憶装置とを含む複数のノードとして、前記複数の記憶装置および前記複数の処理装置を管理する、付記1または付記2に記載の情報処理装置。
(付記5)
前記第1記憶装置および前記第2記憶装置がそれぞれ前記複数のノードのうちの第1ノードおよび第2ノードに含まれ、
前記制御装置は、
前記第2ノードを成す前記一の処理装置としての第2処理装置に、前記複数の記憶装置における未使用のデータ複製用記憶装置を接続するよう、前記スイッチ装置を制御し、
前記第2処理装置に接続された前記データ複製用記憶装置に、前記第2記憶装置に記憶される前記複製データを前記スイッチ装置経由でコピーするよう、前記第2処理装置を制御し、
前記複製データをコピーした前記データ複製用記憶装置を、前記第2処理装置から切り離し、前記第1ノードを成す前記一の処理装置としての第1処理装置に接続するよう、前記スイッチ装置を制御する、付記4記載の情報処理装置。
(付記6)
前記制御装置は、
前記第1記憶装置に代えて、前記複数の記憶装置に含まれる未使用の第3記憶装置を前記第1処理装置に接続するよう、前記スイッチ装置を制御し、
前記第1処理装置に接続された前記第3記憶装置に、前記データ複製用記憶装置に記憶される前記複製データを前記スイッチ装置経由で保存するよう、前記第1処理装置を制御する、付記5記載の情報処理装置。
(付記7)
前記制御装置は、
前記複製データを前記第3記憶装置に保存した後、前記データ複製用記憶装置を、前記第1処理装置から切り離して未使用の状態に戻すよう、前記スイッチ装置を制御する、付記6記載の情報処理装置。
(付記8)
前記第1〜第3記憶装置はHDD(Hard Disk Drive)であり、
前記データ複製用記憶装置はSSD(Solid State Drive)である、付記6または付記7に記載の情報処理装置。
(付記9)
前記スイッチ装置がSAS(Serial Attached SCSI (Small Computer System Interface))エクスパンダであり、
前記制御装置は、
前記SASエクスパンダのゾーニング情報を操作することにより前記複数のノードのそれぞれに属する前記一の処理装置と前記一以上の記憶装置とを設定する、付記4〜付記8のいずれか一項に記載の情報処理装置。
(付記10)
複数の記憶装置と、複数の処理装置と、前記複数の記憶装置と前記複数の処理装置との接続状態を切り替えるスイッチ装置と、を有する情報処理装置において、
前記複数の記憶装置のうちの異なる2以上の記憶装置にそれぞれ記憶された複製データの一つを喪失した場合、前記異なる2以上の記憶装置のうち、喪失した複製データを記憶していた第1記憶装置以外の第2記憶装置に記憶される前記複製データを前記スイッチ装置経由でコピーして前記喪失した複製データを復元するよう、前記スイッチ装置および前記複数の処理装置を制御する、
処理を、コンピュータに実行させる、情報処理装置の制御プログラム。
(付記11)
前記複数の処理装置のそれぞれによってアクセスされるデータをコピーし、コピーされた前記データを前記複製データとして前記異なる2以上の記憶装置に分散配置するよう、前記スイッチ装置および前記複数の処理装置を制御する、
処理を、前記コンピュータに実行させる、付記10記載の情報処理装置の制御プログラム。
(付記12)
前記第2記憶装置に記憶される前記複製データを、前記スイッチ装置経由で、前記複数の記憶装置に含まれ前記第1記憶装置に代わる第3記憶装置にコピーする、
処理を、前記コンピュータに実行させる、付記10または付記11に記載の情報処理装置の制御プログラム。
(付記13)
前記スイッチ装置を介して前記複数の処理装置のそれぞれと前記複数の記憶装置の一部とを接続することにより、前記複数の処理装置のうちの一の処理装置と前記複数の記憶装置のうちの一以上の記憶装置とを含む複数のノードとして、前記複数の記憶装置および前記複数の処理装置を管理する、
処理を、前記コンピュータに実行させる、付記10または付記11に記載の情報処理装置の制御プログラム。
(付記14)
前記第1記憶装置および前記第2記憶装置がそれぞれ前記複数のノードのうちの第1ノードおよび第2ノードに含まれ、
前記第2ノードを成す前記一の処理装置としての第2処理装置に、前記複数の記憶装置における未使用のデータ複製用記憶装置を接続するよう、前記スイッチ装置を制御し、
前記第2処理装置に接続された前記データ複製用記憶装置に、前記第2記憶装置に記憶される前記複製データを前記スイッチ装置経由でコピーするよう、前記第2処理装置を制御し、
前記複製データをコピーした前記データ複製用記憶装置を、前記第2処理装置から切り離し、前記第1ノードを成す前記一の処理装置としての第1処理装置に接続するよう、前記スイッチ装置を制御する、
処理を、前記コンピュータに実行させる、付記13記載の情報処理装置の制御プログラム。
(付記15)
前記第1記憶装置に代えて、前記複数の記憶装置に含まれる未使用の第3記憶装置を前記第1処理装置に接続するよう、前記スイッチ装置を制御し、
前記第1処理装置に接続された前記第3記憶装置に、前記データ複製用記憶装置に記憶される前記複製データを前記スイッチ装置経由で保存するよう、前記第1処理装置を制御する、
処理を、前記コンピュータに実行させる、付記14記載の情報処理装置の制御プログラム。
(付記16)
前記複製データを前記第3記憶装置に保存した後、前記データ複製用記憶装置を、前記第1処理装置から切り離して未使用の状態に戻すよう、前記スイッチ装置を制御する、
処理を、前記コンピュータに実行させる、付記15記載の情報処理装置の制御プログラム。
(付記17)
前記第1〜第3記憶装置はHDD(Hard Disk Drive)であり、
前記データ複製用記憶装置はSSD(Solid State Drive)である、付記15または付記16に記載の情報処理装置の制御プログラム。
(付記18)
前記スイッチ装置がSAS(Serial Attached SCSI (Small Computer System Interface))エクスパンダであり、
前記SASエクスパンダのゾーニング情報を操作することにより前記複数のノードのそれぞれに属する前記一の処理装置と前記一以上の記憶装置とを設定する、
処理を、前記コンピュータに実行させる、付記13〜付記17のいずれか一項に記載の情報処理装置の制御プログラム。
(付記19)
複数の記憶装置と、複数の処理装置と、前記複数の記憶装置と前記複数の処理装置との接続状態を切り替えるスイッチ装置と、を有する情報処理装置において、コンピュータによって実行される制御方法であって、
前記複数の記憶装置のうちの異なる2以上の記憶装置にそれぞれ記憶された複製データの一つを喪失した場合、前記異なる2以上の記憶装置のうち、喪失した複製データを記憶していた第1記憶装置以外の第2記憶装置に記憶される前記複製データを前記スイッチ装置経由でコピーして前記喪失した複製データを復元するよう、前記スイッチ装置および前記複数の処理装置を制御する、情報処理装置の制御方法。
(付記20)
前記複数の処理装置のそれぞれによってアクセスされるデータをコピーし、コピーされた前記データを前記複製データとして前記異なる2以上の記憶装置に分散配置するよう、前記スイッチ装置および前記複数の処理装置を制御する、付記19記載の情報処理装置の制御方法。
1 オブジェクトストレージシステム(情報処理装置)
2 ネットワーク(LAN;ネットワークスイッチ)
3 サーバ群(サーバクラスタ,ストレージノード群)
3A〜3C サーバ(ノード,処理装置,第1処理装置,第2処理装置)
31 CPU(処理部)
32 メモリ
33 HBA
4 ドライブプール(ドライブエンクロージャ)
4A〜4C ドライブグループ(ノード)
4a〜4i HDD(記憶装置,第1記憶装置,第2記憶装置)
4j HDD(未使用の第3記憶装置)
41,42 SSD(データ複製用記憶装置)
5 ドライブ接続切替スイッチ(スイッチ装置,SASエクスパンダ)
51a〜51c,52a〜52l PHY
6 制御装置(マネージャサーバ,フロントエンドサーバ)
61 CPU(処理部)
62 メモリ
T1 デバイス管理テーブル
T2 レプリカ管理テーブル
T3 サーバ・ドライブ管理テーブル
T4 ドライブ属性テーブル

Claims (11)

  1. 複数の記憶装置と、
    複数の処理装置と、
    前記複数の記憶装置と前記複数の処理装置との接続状態を切り替えるスイッチ装置と、
    前記複数の記憶装置のうちの異なる2以上の記憶装置にそれぞれ記憶された複製データの一つを喪失した場合、前記異なる2以上の記憶装置のうち、喪失した複製データを記憶していた第1記憶装置以外の第2記憶装置に記憶される前記複製データを前記スイッチ装置経由でコピーして前記喪失した複製データを復元するよう、前記スイッチ装置および前記複数の処理装置を制御する制御装置と、
    を有する情報処理装置。
  2. 前記制御装置は、
    前記複数の処理装置のそれぞれによってアクセスされるデータをコピーし、コピーされた前記データを前記複製データとして前記異なる2以上の記憶装置に分散配置するよう、前記スイッチ装置および前記複数の処理装置を制御する、請求項1記載の情報処理装置。
  3. 前記制御装置は、
    前記第2記憶装置に記憶される前記複製データを、前記スイッチ装置経由で、前記複数の記憶装置に含まれ前記第1記憶装置に代わる第3記憶装置にコピーする、請求項1または請求項2に記載の情報処理装置。
  4. 前記制御装置は、
    前記スイッチ装置を介して前記複数の処理装置のそれぞれと前記複数の記憶装置の一部とを接続することにより、前記複数の処理装置のうちの一の処理装置と前記複数の記憶装置のうちの一以上の記憶装置とを含む複数のノードとして、前記複数の記憶装置および前記複数の処理装置を管理する、請求項1または請求項2に記載の情報処理装置。
  5. 前記第1記憶装置および前記第2記憶装置がそれぞれ前記複数のノードのうちの第1ノードおよび第2ノードに含まれ、
    前記制御装置は、
    前記第2ノードを成す前記一の処理装置としての第2処理装置に、前記複数の記憶装置における未使用のデータ複製用記憶装置を接続するよう、前記スイッチ装置を制御し、
    前記第2処理装置に接続された前記データ複製用記憶装置に、前記第2記憶装置に記憶される前記複製データを前記スイッチ装置経由でコピーするよう、前記第2処理装置を制御し、
    前記複製データをコピーした前記データ複製用記憶装置を、前記第2処理装置から切り離し、前記第1ノードを成す前記一の処理装置としての第1処理装置に接続するよう、前記スイッチ装置を制御する、請求項4記載の情報処理装置。
  6. 前記制御装置は、
    前記第1記憶装置に代えて、前記複数の記憶装置に含まれる未使用の第3記憶装置を前記第1処理装置に接続するよう、前記スイッチ装置を制御し、
    前記第1処理装置に接続された前記第3記憶装置に、前記データ複製用記憶装置に記憶される前記複製データを前記スイッチ装置経由で保存するよう、前記第1処理装置を制御する、請求項5記載の情報処理装置。
  7. 前記制御装置は、
    前記複製データを前記第3記憶装置に保存した後、前記データ複製用記憶装置を、前記第1処理装置から切り離して未使用の状態に戻すよう、前記スイッチ装置を制御する、請求項6記載の情報処理装置。
  8. 前記第1〜第3記憶装置はHDD(Hard Disk Drive)であり、
    前記データ複製用記憶装置はSSD(Solid State Drive)である、請求項6または請求項7に記載の情報処理装置。
  9. 前記スイッチ装置がSAS(Serial Attached SCSI (Small Computer System Interface))エクスパンダであり、
    前記制御装置は、
    前記SASエクスパンダのゾーニング情報を操作することにより前記複数のノードのそれぞれに属する前記一の処理装置と前記一以上の記憶装置とを設定する、請求項4〜請求項8のいずれか一項に記載の情報処理装置。
  10. 複数の記憶装置と、複数の処理装置と、前記複数の記憶装置と前記複数の処理装置との接続状態を切り替えるスイッチ装置と、を有する情報処理装置において、
    前記複数の記憶装置のうちの異なる2以上の記憶装置にそれぞれ記憶された複製データの一つを喪失した場合、前記異なる2以上の記憶装置のうち、喪失した複製データを記憶していた第1記憶装置以外の第2記憶装置に記憶される前記複製データを前記スイッチ装置経由でコピーして前記喪失した複製データを復元するよう、前記スイッチ装置および前記複数の処理装置を制御する、
    処理を、コンピュータに実行させる、情報処理装置の制御プログラム。
  11. 複数の記憶装置と、複数の処理装置と、前記複数の記憶装置と前記複数の処理装置との接続状態を切り替えるスイッチ装置と、を有する情報処理装置において、コンピュータによって実行される制御方法であって、
    前記複数の記憶装置のうちの異なる2以上の記憶装置にそれぞれ記憶された複製データの一つを喪失した場合、前記異なる2以上の記憶装置のうち、喪失した複製データを記憶していた第1記憶装置以外の第2記憶装置に記憶される前記複製データを前記スイッチ装置経由でコピーして前記喪失した複製データを復元するよう、前記スイッチ装置および前記複数の処理装置を制御する、情報処理装置の制御方法。
JP2013128606A 2013-06-19 2013-06-19 情報処理装置、情報処理装置の制御プログラム、および情報処理装置の制御方法 Pending JP2015005037A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013128606A JP2015005037A (ja) 2013-06-19 2013-06-19 情報処理装置、情報処理装置の制御プログラム、および情報処理装置の制御方法
US14/269,878 US9513996B2 (en) 2013-06-19 2014-05-05 Information processing apparatus, computer-readable recording medium having stored program for controlling information processing apparatus, and method for controlling information processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013128606A JP2015005037A (ja) 2013-06-19 2013-06-19 情報処理装置、情報処理装置の制御プログラム、および情報処理装置の制御方法

Publications (1)

Publication Number Publication Date
JP2015005037A true JP2015005037A (ja) 2015-01-08

Family

ID=52111990

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013128606A Pending JP2015005037A (ja) 2013-06-19 2013-06-19 情報処理装置、情報処理装置の制御プログラム、および情報処理装置の制御方法

Country Status (2)

Country Link
US (1) US9513996B2 (ja)
JP (1) JP2015005037A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021521551A (ja) * 2018-04-30 2021-08-26 アマゾン テクノロジーズ インコーポレイテッド ブロックストレージシステムのための分散されたレプリカ

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9244779B2 (en) 2010-09-30 2016-01-26 Commvault Systems, Inc. Data recovery operations, such as recovery from modified network data management protocol data
US9069799B2 (en) 2012-12-27 2015-06-30 Commvault Systems, Inc. Restoration of centralized data storage manager, such as data storage manager in a hierarchical data storage system
US10101913B2 (en) * 2015-09-02 2018-10-16 Commvault Systems, Inc. Migrating data to disk without interrupting running backup operations
JP6376472B2 (ja) * 2015-10-20 2018-08-22 京セラドキュメントソリューションズ株式会社 画像形成装置及びプログラム
TWM548820U (zh) * 2017-04-13 2017-09-11 Chin-Hui Liang 電子訊號傳輸控制系統

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004021811A (ja) * 2002-06-19 2004-01-22 Hitachi Ltd 不揮発メモリを使用したディスク制御装置
JP2008250631A (ja) * 2007-03-30 2008-10-16 Hitachi Ltd ストレージ装置及びその制御方法
JP2013020544A (ja) * 2011-07-13 2013-01-31 Fujitsu Ltd ストレージ装置および代替記憶媒体選択方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002007304A (ja) 2000-06-23 2002-01-11 Hitachi Ltd ストレージエリアネットワークを用いた計算機システム及びそのデータ取り扱い方法
JP4220166B2 (ja) 2002-02-19 2009-02-04 株式会社日立製作所 ストレージエリアネットワークシステムのアクセス制御方法
US7516352B2 (en) 2006-03-21 2009-04-07 International Business Machines Corporation Isolating a drive from disk array for diagnostic operations
JP5052193B2 (ja) * 2007-04-17 2012-10-17 株式会社日立製作所 記憶制御装置および記憶制御方法
US20120254508A1 (en) * 2011-04-04 2012-10-04 International Business Machines Corporation Using the Short Stroked Portion of Hard Disk Drives for a Mirrored Copy of Solid State Drives
US8874956B2 (en) * 2012-09-18 2014-10-28 Datadirect Networks, Inc. Data re-protection in a distributed replicated data storage system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004021811A (ja) * 2002-06-19 2004-01-22 Hitachi Ltd 不揮発メモリを使用したディスク制御装置
JP2008250631A (ja) * 2007-03-30 2008-10-16 Hitachi Ltd ストレージ装置及びその制御方法
JP2013020544A (ja) * 2011-07-13 2013-01-31 Fujitsu Ltd ストレージ装置および代替記憶媒体選択方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
小西 洋太郎: "分散ストレージを対象としたディスク接続切替による高速なデータ復旧手法", 電子情報通信学会技術研究報告 VOL.112 NO.173, vol. 第112巻 第173号, JPN6017006004, 26 July 2012 (2012-07-26), JP, pages 121 - 126, ISSN: 0003505310 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021521551A (ja) * 2018-04-30 2021-08-26 アマゾン テクノロジーズ インコーポレイテッド ブロックストレージシステムのための分散されたレプリカ
JP7171757B2 (ja) 2018-04-30 2022-11-15 アマゾン テクノロジーズ インコーポレイテッド ブロックストレージシステムのための分散されたレプリカ

Also Published As

Publication number Publication date
US9513996B2 (en) 2016-12-06
US20140380091A1 (en) 2014-12-25

Similar Documents

Publication Publication Date Title
JP5918243B2 (ja) 分散型データベースにおいてインテグリティを管理するためのシステム及び方法
JP5411250B2 (ja) 冗長データ記憶システムへの指示に従ってのデータ配置
EP2521336B1 (en) Massively scalable object storage system
JP5102826B2 (ja) 複製およびプロビジョニング管理でのボリューム・コンテナの使用
EP2498476B1 (en) Massively scalable object storage system
JP5396836B2 (ja) データ分散制御プログラム、ストレージ管理プログラム、制御ノード、およびディスクノード
CN103793271B (zh) 用于在镜像卷之间进行切换的方法和系统
WO2017119091A1 (ja) 分散型ストレージシステム、データ格納方法、およびソフトウェアプログラム
WO2016070375A1 (zh) 一种分布式存储复制系统和方法
Chodorow Scaling MongoDB: Sharding, Cluster Setup, and Administration
JP2019101703A (ja) 記憶システム及び制御ソフトウェア配置方法
JP2015005037A (ja) 情報処理装置、情報処理装置の制御プログラム、および情報処理装置の制御方法
JP2013544386A5 (ja)
JP4715774B2 (ja) レプリケーション方法、レプリケーションシステム、ストレージ装置、プログラム
US20130332418A1 (en) Method of managing data in asymmetric cluster file system
US20150012497A1 (en) Cluster-wide unique id for object access control lists
JP2010079886A (ja) 拡張可能な2次ストレージシステムと方法
CN102652423A (zh) 用于集群选择和协作复制的集群族
WO2010116608A1 (ja) データ挿入システム
JP2006268531A (ja) データ処理システム及びデータベースの管理方法
JP4990064B2 (ja) ストレージシステム及びバックアップ方法
JP6569476B2 (ja) ストレージ装置、ストレージシステムおよびストレージ制御プログラム
WO2011099380A1 (ja) 必須データ管理システム及び計算機及び必須データ管理プログラム及び記録媒体及び通信方法
US10761745B1 (en) System and method for managing parity within a database management system
JP4272465B2 (ja) バックアップデータ復旧方法、並びに、ネットワーク蓄積装置及びネットワーク蓄積プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160310

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170228

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170424

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20170926