JP2024000105A - 計算機システム、及び冗長化要素構成方法 - Google Patents

計算機システム、及び冗長化要素構成方法 Download PDF

Info

Publication number
JP2024000105A
JP2024000105A JP2022098666A JP2022098666A JP2024000105A JP 2024000105 A JP2024000105 A JP 2024000105A JP 2022098666 A JP2022098666 A JP 2022098666A JP 2022098666 A JP2022098666 A JP 2022098666A JP 2024000105 A JP2024000105 A JP 2024000105A
Authority
JP
Japan
Prior art keywords
instances
storage
spg
redundancy
computer system
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
JP2022098666A
Other languages
English (en)
Inventor
隆喜 中村
Takayoshi Nakamura
秀雄 斎藤
Hideo Saito
成己 倉田
Naruki Kurata
貴大 山本
Takahiro Yamamoto
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2022098666A priority Critical patent/JP2024000105A/ja
Priority to US17/950,585 priority patent/US11954335B2/en
Priority to CN202310252749.4A priority patent/CN117271171A/zh
Publication of JP2024000105A publication Critical patent/JP2024000105A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/008Reliability or availability analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0617Improving the reliability of storage systems in relation to availability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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/2089Redundant storage control functionality
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools

Landscapes

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

Abstract

【課題】容易且つ適切にストレージシステムにおける信頼性を向上できるようにする。【解決手段】複数のインスタンス40をリスク境界で区分された複数のサブゾーンのいずれかに配置可能なストレージシステムを含む計算機システムにおいて、計算機システムのプロセッサを、複数のストレージ(73)から提供される容量プールに基づくボリュームに対するI/O処理を制御するストレージコントローラ(72)を、複数のサブゾーン30に配置された複数のインスタンス40に冗長化して構成させるようにする。【選択図】図6

Description

本発明は、リスク境界で区分された複数のサブゾーンに複数のインスタンスを配置可能なストレージシステムを含む計算機システムにおけるデータの管理に関わる構成要素の構成技術に関する。
例えば、汎用サーバ上でストレージソフトを動作させることによりストレージを構成するSDS(Software Defined Storage)技術を応用して、パブリッククラウド上で動作させるクラウドSDSサービスが提案されている。
パブリッククラウドで高い可用性を実現するために、例えばアベイラビリティゾーンまたはゾーンとよばれるデータセンタを複数用意し、データやサービスを複数のデータセンタにまたがるように構成することが行われている。
また、近年では、アベイラビリティゾーン内においても、電源境界やラック境界等のリスク境界で区分されたサブゾーンを活用して可用性を高めることができるようになっている。
関連する技術としては、特許文献1には、それぞれが異なるサブゾーンに配置された複数のインスタンスから構成されるスプレッドプレースメントグループ(SPG)の技術が開示されている。また、特許文献2には、電源境界をまたいでボリュームのパーティションのレプリカを配置する技術が開示されている。また、特許文献3には、一定の障害耐性を確保しつつ、自由度が高いストレージシステムを構築する技術が開示されている。
米国特許第10536340号明細書 米国特許第9826041号明細書 特開2020-64473号公報
ストレージシステムにおいては、管理するデータの高可用化等の信頼性を向上することが要請されている。
本発明は、上記事情に鑑みなされたものであり、その目的は、容易且つ適切にストレージシステムにおける信頼性を向上させることのできる技術を提供することにある。
上記目的を達成するため、一観点に係る計算機システムは、複数のインスタンスをリスク境界で区分された複数のサブゾーンのいずれかに配置可能なストレージシステムを含む計算機システムであって、前記計算機システムのプロセッサは、複数のストレージから提供される容量プールに基づくボリュームに対するI/O処理を制御するストレージコントローラを、複数のサブゾーンに配置された複数のインスタンスに冗長化して構成させる。
本発明によれば、容易且つ適切にストレージシステムにおける信頼性を向上させることができる。
図1は、一実施形態に係る計算機システムの全体構成図である。 図2は、一実施形態に係るアベイラビリティゾーンの構成図である。 図3は、一実施形態に係るアベイラビリティゾーンにおけるストレージクライアントとSDSクラスタとの構成図である。 図4は、一実施形態に係るスプレッドプレースメントグループの配置を説明する図である。 図5は、一実施形態に係るベアメタルサーバの構成図である。 図6は、一実施形態に係るSDSクラスタの構成図である。 図7は、一実施形態に係るSDSクラスタのスケールアウトを説明する図である。 図8は、一実施形態に係る冗長グループの他の構成例を示す図である。 図9は、一実施形態に係る冗長容量プール機能の構成例を示す図である。 図10は、一実施形態に係る冗長容量プール機能の他の構成例を示す図である。 図11は、一実施形態に係るグローバル容量プールの構成を示す図である。 図12は、一実施形態に係る冗長ストレージコントローラ機能の構成図である。 図13は、一実施形態に係る冗長ストレージコントローラ機能のフェイルオーバを説明する図である。 図14は、一実施形態に係る冗長SDSクラスタ管理機能の構成図である。 図15は、一実施形態に係るSDSクラスタデプロイ管理機能を有するインスタンスのメモリの構成図である。 図16は、一実施形態に係る冗長SDSクラスタ管理機能を有するインスタンスのメモリの構成図である。 図17は、一実施形態に係る冗長グループ-スプレッドプレースメントグループマッピングテーブルの構成図である。 図18は、一実施形態に係るスプレッドプレースメントグループ-インスタンスマッピングテーブルの構成図である。 図19は、一実施形態に係るスプレッドプレースメントグループ構成テーブルの構成図である。 図20は、一実施形態に係るSDSクラスタデプロイ処理のフローチャートである。 図21は、一実施形態に係るオプション計算処理のフローチャートである。 図22は、一実施形態に係るインスタンスデプロイ処理のフローチャートである。 図23は、一実施形態に係るSDSクラスタ拡張処理のフローチャートである。 図24は、一実施形態に係るサービスボリューム生成処理のフローチャートである。
実施形態について、図面を参照して説明する。なお、以下に説明する実施形態は特許請求の範囲に係る発明を限定するものではなく、また実施形態の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。
以下の説明では、「AAAテーブル」の表現にて情報を説明することがあるが、情報は、どのようなデータ構造で表現されていてもよい。すなわち、情報がデータ構造に依存しないことを示すために、「AAAテーブル」を「AAA情報」と呼ぶことができる。
また、以下の説明では、「プログラム」を動作の主体として処理を説明する場合があるが、プログラムは、プロセッサ(例えば、CPU(Central Processing Unit))によって実行されることで、定められた処理を、適宜に記憶部(例えばメモリ)及び/又はインターフェース(例えばポート)を用いながら行うため、処理の動作の主体がプログラムとされてもよい。プログラムを動作の主体として説明された処理は、プロセッサ或いはそのプロセッサを有する計算機(例えば、サーバ)が行う処理としてもよい。また、プロセッサが行う処理の一部又は全部を行うハードウェア回路を含んでもよい。また、プログラムは、プログラムソースからインストールされてもよい。プログラムソースは、例えば、プログラム配布サーバ又はコンピュータ読取可能な(例えば非一時的な)記録メディアであってもよい。また、以下の説明において、2以上のプログラムが1つのプログラムとして実現されてもよいし、1つのプログラムが2以上のプログラムとして実現されてもよい。
図1は、一実施形態に係る計算機システムの全体構成図である。
計算機システム1は、ストレージシステムが動作する環境の一例であり、1以上のユーザ端末3と、1以上のリージョン10とを含む。ユーザ端末3と、リージョン10とは、ネットワークの一例としてのインターネット2を介して接続されている。
ユーザ端末3は、リージョン10が提供する各種サービスを利用するユーザの端末である。リージョン10が複数ある場合には、リージョン10は、例えば、異なる国に配置される。
リージョン10は、リージョンゲートウェイ11と、1以上のアベイラビリティゾーン20とを含む。リージョンゲートウェイ11は、各アベイラビリティゾーン20とインターネット2とを通信可能に接続する。
リージョン10における複数のアベイラビリティゾーン20は、例えば、異なる建物に配置されており、それぞれが他のアベイラビリティゾーン20に影響を与えないように、電源、空調、及びネットワークが独立している。
アベイラビリティゾーン20は、アベイラビリティゾーンゲートウェイ21と、計算、ネットワーク、ストレージ等のリソース29とを含む。
図2は、一実施形態に係るアベイラビリティゾーンの構成図である。
アベイラビリティゾーン20は、アベイラビリティゾーンゲートウェイ21と、スパインネットワークスイッチ22と、クラウドストレージサービス23と、複数のサブゾーン30とを含む。
アベイラビリティゾーンゲートウェイ21は、リージョンゲートウェイ11と、スパインネットワークスイッチ22との間を通信可能に接続する。
クラウドストレージサービス23は、複数の記憶デバイス等を含み各種データを格納する機能をサブゾーン30に対して提供する。
スパインネットワークスイッチ22は、アベイラビリティゾーンゲートウェイ21と、クラウドストレージサービス23と、複数のサブゾーン30との間の通信を仲介する。スパインネットワークスイッチ22と、複数のサブゾーン30との間は、スパインリーフ型で接続されている。
サブゾーン30は、リーフネットワークスイッチ31と、1以上のベアメタルサーバ32と、PDU(Power Distribution Unit)33とを含む。なお、サブゾーン30に無停電電源装置(UPS)を備えてもよい。各サブゾーン30は、電源やネットワークのリスク境界で区分されている。すなわち、各サブゾーン30は、他のサブゾーン30に障害の影響が及ばないように、PDU33と、リーフネットワークスイッチ31とがサブゾーン30ごとに独立して設けられている。サブゾーン30は、例えば、1つのサーバラックとして構成されてもよく、複数のサーバラックとして構成されてもよい。
ベアメタルサーバ32は、1以上のインスタンス40を含む。インスタンス40は、処理を実行する機能部であり、例えば、ベアメタルサーバ32上で稼働する仮想マシーン(VM)であってもよい。
リーフネットワークスイッチ31は、各ベアメタルサーバ32をスパインネットワークスイッチ22と通信可能に接続する。PDU33は、各ベアメタルサーバ32に電源(例えば、商用電源)からの電力を分配して供給するユニットである。
図3は、一実施形態に係るアベイラビリティゾーンにおけるストレージクライアントとSDSクラスタとの構成図である。
アベイラビリティゾーン20は、ストレージクライアント42が構成されたインスタンス40と、SDS(Software Defined Storage)クラスタデプロイ管理機能41が構成されたインスタンス40と、SDSクラスタ45を構成する複数のインスタンス40と、各インスタンス40とを通信可能に接続する仮想ネットワークスイッチ44とを含む。
ストレージクライアント42は、SDSクラスタ45が提供する記憶領域を利用した各種処理を実行する。SDSクラスタデプロイ管理機能41は、SDSクラスタ45のデプロイを管理する処理を実行する。
SDSクラスタ45は、複数のインスタンス40によって構成されている。SDSクラスタ45はデータを管理するストレージシステムとして各種処理を行う。SDSクラスタ45の各インスタンスでは、後述する冗長SDSクラスタ管理機能71、冗長ストレージコントローラ機能72、冗長容量プール機能73などが動作する。SDSクラスタ45が管理するデータは、インスタンス40の内部の記憶デバイスに格納してもよいし、インスタンス40の外部の記憶デバイスに格納してもよい。外部の記憶デバイスとは、例えばクラウドストレージサービス23が提供するボリュームである。
なお、図3では、ストレージクライアント42が稼働するインスタンス40と、SDSクラスタ45を構成するインスタンス40とを同一のアベイラビリティゾーン20に、配置している例を示しているが、本発明はこれに限られず、それらが別のアベイラビリティゾーン20に配置されていてもよい。
図4は、一実施形態に係るスプレッドプレースメントグループの配置を説明する図である。
ここで、スプレッドプレースメントグループ(SPG:Spread Placement Group)50とは、1つのサブゾーン30については1つのインスタンス40として、複数のサブゾーン30の複数のインスタンス40で構成されるグループである。
図4に示す例においては、アベイラビリティゾーン20において、6つのインスタンス40で構成されたSPG50が、4つ構成されている状態を示している。このような構成では、各SPG50においては、いずれかのサブゾーン30において電源やネットワークの障害が発生しても、他のサブゾーン30の電源やネットワークに影響が及ばず、他のサブゾーン30のインスタンス40は処理を継続して行うことができる。
次に、ベアメタルサーバ32のハードウェア構成について説明する。
図5は、一実施形態に係るベアメタルサーバの構成図である。
ベアメタルサーバ32は、NIC(Network Interface Card)61と、プロセッサの一例としてのCPU62と、メモリ63と、記憶デバイス64とを含む。
NIC61は、例えば有線LANカードや無線LANカードなどのインターフェースである。
CPU62は、メモリ63に格納されているプログラムに従って各種処理を実行する。
メモリ63は、例えば、RAM(Random Access Memory)であり、CPU62で実行されるプログラムや、必要な情報を記憶する。
記憶デバイス64は、NVMeドライブや、SASドライブや、SATAドライブのいずれであってもよい。記憶デバイス64は、CPU62で実行されるプログラムや、CPU62に利用されるデータを記憶する。なお、ベアメタルサーバ32においては、記憶デバイス64を備えていなくてもよい。
ベアメタルサーバ32の各構成については、ベアメタルサーバ32上で構成されるインスタンス40に対して仮想的に割り当てられる。
図6は、一実施形態に係るSDSクラスタの一例の構成図である。
SDSクラスタ45は、1以上(図6の例では、3つ)の冗長グループ70を含む。冗長グループ70は、容量プールの機能と、ストレージコントローラの機能と、SDSクラスタの管理機能との冗長化を完結するインスタンス40のグループである。
冗長グループ70は、1以上(図6では、1つ)のSPG50を含む。SPG50は、複数(図6の例では、6つ)のインスタンス40を含む。
1つの冗長グループ70(図6では、RG#1)においては、複数のインスタンス40により、SDSクラスタ管理機能を冗長化させた機能である冗長SDSクラスタ管理機能71が構成されている。また、各RG70においては、複数のインスタンス40により、ストレージコントローラを冗長化させた機能である冗長ストレージコントローラ機能72と、容量プールを冗長化させた機能である冗長容量プール機能73とが構成されている。
図6の例では、冗長SDSクラスタ管理機能71と、冗長ストレージコントローラ機能72と、冗長容量プール機能73とが、同一のSPG50内のインスタンス40により構成されており、いずれかのインスタンス40のサブゾーン30に障害が発生しても、他のサブゾーン30のインスタンス40に機能をフェイルオーバすることができる。
次に、SDSクラスタ45のスケールアウトについて説明する。
図7は、一実施形態に係るSDSクラスタのスケールアウトを説明する図である。図7は、図7(1)に示す3つのRG70(RG#1,RG#2,RG#3)を有するSDSクラスタ45をスケールアウトする場合の例を示している。
冗長SDSクラスタ管理機能71は、SDSクラスタ45をスケールアウトする場合には、図7(2)に示すように、RG70単位で増設する。具体的には、冗長SDSクラスタ管理機能71は、RG70(RG#4)を構成するSPG50を決定し、SPG50の複数のインスタンス40により、冗長ストレージコントローラ機能72と、冗長容量プール機能73とを構築する。
次に、冗長グループ70の他の構成例について説明する。
図8は、一実施形態に係る冗長グループの他の構成例を示す図である。
RG70として、図6では、1つのSPG50で構成する例を示していたが、例えば、SDSクラスタ管理機能、ストレージコントローラ、容量プールの冗長度が2以上である場合には、RG70を複数のSPG50で構成しても一部の障害に対して対処できるので、複数のSPG50で構成するようにしてもよい。例えば、冗長度がnの場合には、RG70をn個のSPG50で構成してもよい。ここで、冗長度とは、同時に障害が発生しても耐えられる数である。
また、RG70として必要なインスタンス40の数が、SPGとしてサポート可能なインスタンス数よりも大きい場合や、SPGで実際に割り当て可能なインスタンスの数より大きい場合には、RG70を複数のSPG50で構成してもよい。この場合には、SDSクラスタのデプロイや、SDSクラスタの拡張の失敗を抑制することができる。
図8の例では、RG70は、2つのSPG50(SPG#a1,SPG#a2)により構成されている。各SPG50は、3つのインスタンス40を含んでいる。なお、各SPG50におけるインスタンス40の数は、同数としているが、これに限らず、インスタンス40の数が異なっていてもよい。
次に、冗長容量プール機構の構成例を説明する。
図9は、一実施形態に係る冗長容量プール機能の構成例を示す図である。図9は、冗長容量プール80において、ミラーリングによる冗長化を利用した例である。
図9の例では、RG70を構成する複数のインスタンス40のそれぞれにクラウドストレージサービス23により提供される1以上の記憶デバイス24が接続されている。これらインスタンス40において、別のインスタンス40に接続された記憶デバイス24の記憶領域に基づくチャンクにより、プライマリチャンク81とセカンダリチャンク82とのペアを構成している。冗長容量プール80は、プライマリチャンク81の記憶領域に基づいて構成されている。冗長容量プール機能73は、冗長容量プール80の記憶領域に基づいて、クライアントに利用させるボリュームであるサービスボリューム83を冗長ストレージコントローラ機能72に提供する。なお、記憶デバイス24に代えて、各インスタンス40の内部の記憶デバイス64を用いるようにしてもよい。
次に、冗長容量プール機構の他の構成例を説明する。
図10は、一実施形態に係る冗長容量プール機能の他の構成例を示す図である。図10は、冗長容量プール80において、Erasure Cording(4D2P)による冗長化を利用した例である。
図10の例では、RG70を構成する複数のインスタンス40のそれぞれにクラウドストレージサービス23により提供される1以上の記憶デバイス24が接続されている。これらインスタンス40において、複数(図では、6つ)のインスタンス40に接続された記憶デバイス24の記憶領域を用いて4D2P構成が構築されている。4つのDはデータチャンク、2つのPはパリティデータを格納するパリティチャンクである。冗長容量プール80は、データチャンクのデータ領域に基づいて構成されている。冗長容量プール機能73は、冗長容量プール80の記憶領域に基づいて、クライアントに利用させるボリュームであるサービスボリューム83を冗長ストレージコントローラ機能72に提供する。なお、記憶デバイス24に代えて、各インスタンス40の内部の記憶デバイス64を用いるようにしてもよい。
次に、SDSクラスタ45が複数のRG70で構成される場合におけるグローバル容量プール84について説明する。
図11は、一実施形態に係るグローバル容量プールの構成を示す図である。
各冗長容量プール機能73は、各SPG50で構成される複数の冗長容量プール80をSDSクラスタ45が提供する1つのグローバル容量プール84として管理する。
次に、冗長ストレージコントローラ機能72について説明する。
図12は、一実施形態に係る冗長ストレージコントローラ機能の構成図である。
図12の例では、RG70を構成する複数のインスタンス40により、冗長ストレージコントローラ機能72が構成されている。冗長ストレージコントローラ機能72においては、各インスタンス40にサービスボリューム83をクライアントに提供する稼働系のコントローラ90(ストレージコントローラの一例:アクティブコントローラ)を配置され、他の1以上(図12の例では、2つ)のインスタンス40に稼働系のコントローラ90のフェイルオーバ先となる待機系のコントローラ90(ストレージコントローラの一例:スタンバイコントローラ)が配置されている。コントローラ90は、サービスボリューム83に対するI/O処理等を実行する。アクティブコントローラと、スタンバイコントローラとは、管理対象のサービスボリュームの管理情報(アクティブコントローラのID,サービスボリュームへの接続情報、冗長容量プールにおけるサービスボリュームのデータレイアウト等)を同期している。
図12の例では、インスタンス#1に、サービスボリューム#1-xを管理するアクティブコントローラ#1が配置され、インスタンス#2,#3に、アクティブコントローラ#1に対応する待機系のスタンバイコントローラ#1-1,#1-2がそれぞれ配置されている。また、インスタンス#2に、サービスボリューム#2-xを管理するアクティブコントローラ#2が配置され、インスタンス#3,#1に、アクティブコントローラ#2に対応する待機系のスタンバイコントローラ#2-1,#2-2がそれぞれ配置されている。また、インスタンス#3に、サービスボリューム#3-xを管理するアクティブコントローラ#3が配置され、インスタンス#1,#2に、アクティブコントローラ#3に対応する待機系のスタンバイコントローラ#3-1,#3-2がそれぞれに配置されている。
次に、一実施形態に係る冗長ストレージコントローラ機能のフェイルオーバについて説明する。
図13は、一実施形態に係る冗長ストレージコントローラ機能のフェイルオーバを説明する図である。図13は、図12に示すインスタンス#1においてインスタンス障害が発生した場合の例を示している。
インスタンス#1に障害が発生した場合には、アクティブコントローラ#1の待機系のスタンバイコントローラ#1-1がアクティブコントローラ#1に昇格して動作することとなる。そして、インスタンス#1で管理されていたサービスボリューム#1-xは、インスタンス#2のアクティブコントローラ#1により管理されることとなる。
フェイルオーバした際のストレージクライアント42からのサービスボリューム83へのアクセス先の切り替えについては、公知の技術であるALUA(Asymmetric Logical Unit Access)等の仕組みを利用することができる。したがって、ストレージクライアント42は、インスタンス#1に対して発行していたサービスボリューム#1-xへのIOリクエストを切替後のインスタンス#2に対して発行することとなる。
この後、さらにインスタンス#2に障害が発生した場合には、スタンバイコントローラ#1-2がアクティブコントローラ#1に昇格し、スタンバイコントローラ#2-1がアクティブコントローラ#2に昇格し、これらインスタンス#3のアクティブコントローラが、サービスボリューム#1-x,#2-xを管理するようになる。
次に、冗長SDSクラスタ管理機能71について説明する。
図14は、一実施形態に係る冗長SDSクラスタ管理機能の構成図である。
図14の例では、RG70を構成する複数のインスタンス40により、冗長SDSクラスタ管理機能71が構成されている。冗長SDSクラスタ管理機能71においては、1つのインスタンス40にSDSクラスタを管理する稼働系のクラスタ管理部92(プライマリマスタ)が配置され、他の1以上(図14の例では、2つ)のインスタンス40に稼働系のクラスタ管理部92のフェイルオーバ先となる待機系のクラスタ管理部92(セカンダリマスタ1,セカンダリマスタ2)が配置されている。クラスタ管理部92は、ストレージクラスタ管理部の一例である。
インスタンス#1,#2,#3のすべてが稼働している場合には、インスタンス#1のクラスタ管理部92(プライマリマスタ)がクラスタ管理を行う。この場合、クラスタ管理情報(クラスタを構成するインスタンス、サービスボリューム等の情報)は、インスタンス#2,#3に同期される。
ここで、インスタンス#1が停止した場合には、インスタンス#2のクラスタ管理部92(セカンダリマスタ1)がプライマリマスタに昇格して、クラスタ管理を行い、さらに、インスタンス#2が停止した場合には、インスタンス#3のセカンダリマスタ2がプライマリマスタに昇格して、クラスタ管理を行うこととなる。
次に、SDSクラスタデプロイ管理機能41を有するインスタンス40のメモリ63の構成について説明する。
図15は、一実施形態に係るSDSクラスタデプロイ管理機能を有するインスタンスのメモリの構成図である。
SDSクラスタデプロイ管理機能41を有するインスタンス40のメモリ63は、冗長グループ(RG)-スプレッドプレースメントグループ(SPG)マッピングテーブル101と、スプレッドプレースメントグループ(SPG)-インスタンスマッピングテーブル102と、スプレッドプレースメントグループ構成テーブル103と、SDSクラスタデプロイプログラム104と、SDSクラスタ拡張プログラム105とを格納する。
RG-SPGマッピングテーブル101は、RGと、RGに含まれるSPGとの対応関係を格納する。SPG-インスタンスマッピングテーブル102は、SPGとSPGを構成するインスタンスの対応関係を格納する。SPG構成テーブル103は、SPGの構成の候補の情報を格納する。SDSクラスタデプロイプログラム104は、インスタンス40のCPU62に実行されることによりSDSクラスタをデプロイするSDSクラスタデプロイ処理(図20参照)を実行する。SDSクラスタ拡張プログラム105は、インスタンス40のCPU62に実行されることによりSDSクラスタ45を拡張するSDSクラスタ拡張処理(図23参照)を実行する。
次に、冗長SDSクラスタ管理機能71を有するインスタンス40のメモリ63の構成について説明する。
図16は、一実施形態に係る冗長SDSクラスタ管理機能を有するインスタンスのメモリの構成図である。
冗長SDSクラスタ管理機能71を有するインスタンス40のメモリ63は、サービスボリューム生成プログラム111を格納する。サービスボリューム生成プログラム111は、インスタンス40のCPU62に実行されることにより、サービスボリュームを生成するサービスボリューム生成処理(図24参照)を実行する。
次に、RG-SPGマッピングテーブル101について説明する。
図17は、一実施形態に係る冗長グループ-スプレッドプレースメントグループマッピングテーブルの構成図である。
RG-SPGマッピングテーブル101のエントリは、冗長グループID101aと、スプレッドプレースメントグループ(SPG)ID101bとのフィールドを含む。
冗長グループID101aには、冗長グループの識別子(冗長グループID:RG ID)が格納される。SPG ID101bには、同一エントリの冗長グループに含まれるSPGの識別子(SPG ID)が格納される。
例えば、図17のRG-SPGマッピングテーブル101の例によると、RG IDが2のRGには、SPG IDが22,31のSPGが含まれていることがわかる。
次に、SPG-インスタンスマッピングテーブル102について説明する。
図18は、一実施形態に係るスプレッドプレースメントグループ-インスタンスマッピングテーブルの構成図である。
SPG-インスタンスマッピングテーブル102のエントリは、スプレッドプレースメントグループID102aと、インスタンスID102bと、冗長SDSクラスタ管理機能102cとのフィールドを含む。
スプレッドプレースメントグループID102aには、SPG IDが格納される。インスタンスID102bには、エントリにおけるSPG IDのSPGに含まれるインスタンスのID(インスタンスID)が格納される。冗長SDSクラスタ管理機能102cには、エントリに対応するインスタンスにおいて稼働する冗長SDSクラスタ管理機能71のクラスタ管理部92の種別が格納される。種別としては、稼働中のクラスタ管理部であることを示すプライマリマスタと、待機中のクラスタ管理部であることを示すセカンダリマスタ(セカンダリマスタが複数ある場合には、セカンダリマスタ1,セカンダリマスタ2,・・・)とがある。なお、冗長SDSクラスタ管理機能102cの情報は、SPG-インスタンスマッピングテーブル102とは別に管理されてもよい。
次に、SPG構成テーブル103について説明する。
図19は、一実施形態に係るスプレッドプレースメントグループ構成テーブルの構成図である。図19(1)は、RGのインスタンス数がSPGの数で割り切れる場合の例であり、図19(2)は、RGのインスタンス数がSPGの数で割り切れない場合の例である。
SPG構成テーブル103は、SDSクラスタ45を構成するRG毎に対応付けて設けられている。SPG構成テーブル103は、RGにおけるSPGの構成のオプション毎のエントリを格納する。SPG構成テーブル103のエントリは、オプション#103aと、グループ数103bと、エレメント数103cとを含む。
オプション#103aには、エントリに対応するオプションの番号が格納される。グループ数103bには、エントリに対応するオプションの構成におけるSPGの数が格納される。エレメント数103cには、エントリに対応するオプションでのSPGに含まれるエレメント(構成要素、本例では、インスタンス)の数が格納される。
ここで、図19(1)に示すようにオプションでのRGのインスタンス数(6)がSPGの数(2)で割り切れる場合には、2つ目のエントリに示すように、エレメント数103cには、1つのエレメント数が格納される。図19(2)に示すように、オプションでのRGのインスタンス数(7)がSPGの数(2)で割り切れない場合には、2つ目のエントリに示すように、エレメント数103cには、複数のグループについてのエレメント数が格納される。
次に、SDSクラスタデプロイ処理について説明する。SDSクラスタデプロイ処理は、SDSクラスタデプロイプログラム104が、例えば、ユーザ端末3からSDSクラスタのデプロイの指示があった場合に実行される。
図20は、一実施形態に係るSDSクラスタデプロイ処理のフローチャートである。
SDSクラスタデプロイプログラム104(厳密には、SDSクラスタデプロイプログラム104を実行するCPU62)は、SPGのグループ数と、SPGにおけるエレメント(インスタンス)の数とのオプションを計算するオプション計算処理(図21参照)を実行する(S11)。
次いで、SDSクラスタデプロイプログラム104は、SPGを用いたインスタンスのデプロイを行うインスタンスデプロイ処理(図22参照)を実行する(S12)。
次いで、SDSクラスタデプロイプログラム104は、インスタンスがデプロイされたSPGと、そのSPGを含むRGとの対応関係のマッピング(RG-SPGマッピングテーブル101)を作成する(S13)。
次いで、SDSクラスタデプロイプログラム104は、いずれか1つの冗長グループの複数のインスタンス40で、冗長SDSクラスタ管理機能71を構築する(S14)。ここで、冗長SDSクラスタ管理機能71の各SDSクラスタ管理部は、冗長グループのすべてのインスタンス40で構築しなくてもよく、例えば、必要な冗長度+1のインスタンス40に構築すればよい。
次いで、SDSクラスタデプロイプログラム104は、各冗長グループを対象にループ1の処理(S15~S17)を実行する。ここで、ループ1において処理対象の冗長グループを対象冗長グループということとする。
ループ1の処理では、SDSクラスタデプロイプログラム104は、対象冗長グループの複数のインスタンス40で冗長ストレージコントローラ機能72を構築する(S15)。次いで、SDSクラスタデプロイプログラム104は、対象冗長グループの複数のインスタンス40で冗長容量プール機能73を構築する(S16)。次いで、SDSクラスタデプロイプログラム104は、対象冗長グループの冗長容量プール80をグローバル容量プール84に登録する(S17)。
SDSクラスタデプロイプログラム104は、各冗長グループを対象にループ1の処理を行い、すべての冗長グループに対して処理を終えた場合には、SDSクラスタデプロイ処理を終了する。
このSDSクラスタデプロイ処理によると、障害に耐えうる冗長化が行われたSDSクラスタを作成することができる。
次に、オプション計算処理(S11)について説明する。
図21は、一実施形態に係るオプション計算処理のフローチャートである。
SDSクラスタデプロイプログラム104は、冗長グループのグループ数と、各冗長グループのインスタンス数Iを決定する(S21)。ここで、冗長グループのグループ数と、インスタンス数Iとは、例えば、ユーザから指定されたSDSクラスタにおける全インスタンス数と、指定されたデータの保護(冗長化)を実現するために必要な最少のインスタンス数(必要最少インスタンス数)とに基づいて決定してもよい。
例えば、全インスタンス数が12であり、データ保護として、4D2P構成が指定されている場合には、必要最少インスタンス数が6であるので、冗長グループ数は、12/6=2としてもよい。また、全インスタンス数が20である場合には、冗長グループ数は、20/6=3.33・・の小数部分を切り捨てて3としてもよい。この場合には、各冗長グループのインスタンス数は、7,7,6としてもよいし、8,6,6としてもよい。また、全インスタンス数が、必要最少インスタンス数よりも少ない場合には、冗長グループ数を1として、インスタンス数を必要最少インスタンス数としてもよい。また、冗長グループのグループ数と、各冗長グループのインスタンス数Iの指定をユーザから受け付けるようにしてもよい。
次いで、SDSクラスタデプロイプログラム104は、最大グループ数Gmaxを計算する(S22)。ここで、Gmax=max(R,R,R)であり、Rは、指定されたデータ保護でのデータの冗長度であり、Rは、冗長ストレージコントローラ機能の冗長度であり、Rは、冗長SDSクラスタ管理機能の冗長度である。
ここで、冗長度とは、障害が発生しても耐えうる数である。例えば、データをミラー構成とする場合には、データの冗長度は1であり、4D2P構成とする場合には、データの冗長度は2である。また、ストレージコントローラを、アクティブ、スタンバイ、スタンバイの3つで構成する場合には、冗長ストレージコントローラ機能の冗長度は2である。
次いで、SDSクラスタデプロイプログラム104は、グループ数i(iは、1からGmaxまでの昇順)のそれぞれについて、ループ2の処理(S23~S26)を実行する。
ループ2の処理では、SDSクラスタデプロイプログラム104は、冗長グループのインスタンス数Iをiで割った値を、SPGの基本エレメント数eとする(S23)。なお、Iをiで割り切れない場合には、割った値の小数部分を切り上げた値を、SPGの基本エレメント数eとする。
次いで、SDSクラスタデプロイプログラム104は、所定のオプション除外条件に合致するか否かを判定する(S24)。ここで、オプション除外条件は、適切なSDSクラスタが構築できないオプションと判断できる条件であり、具体的には、例えば、基本エレメント数eがSPGでサポートされる最大のエレメント数(最大サポートエレメント数)よりも大きいこと、SDSクラスタ管理機能を構築する冗長グループであって、iがRよりも大きいこと、iがR,Rより大きいこと等がある。
この結果、所定のオプション除外条件に合致しないと判定した場合(S24:No)には、SDSクラスタデプロイプログラム104は、グループ数をグループ数iとし、エレメント数を基本エレメント数eiとするオプションのエントリをSPG構成テーブル103に登録する(S25)。なお、ステップS23でIをiで割り切れなかった場合には、いくつかのSPGについては、基本エレメント数eとなるが、1つのSPGについては、残りのエレメント数とする。例えば、インスタンス数Iが7であり、iが2の場合には、基本エレメント数eは4となるので、1つのSPGについては、エレメント数を基本エレメント数eの4とし、残りのSPGについては、エレメント数をインスタンス数Iから基本エレメント数eを減算した3とする。
一方、所定のオプション除外条件に合致すると判定した場合(S24:Yes)には、SDSクラスタデプロイプログラム104は、このグループ数iのケースをオプションから除外するとし(S26)、このグループ数iに対するループ2の処理を終了する。
SDSクラスタデプロイプログラム104は、各グループ数iを対象にループ2の処理を行い、すべてのグループ数に対して処理を終えた場合には、オプション計算処理を終了する。
次に、インスタンスデプロイ処理(S12)について説明する。
図22は、一実施形態に係るインスタンスデプロイ処理のフローチャートである。
SDSクラスタデプロイプログラム104は、全冗長グループの各冗長グループを対象に、ループ3の処理(ループ4(S31,S32))を実行する。
ループ3の処理では、SDSクラスタデプロイプログラム104は、オプション番号iのそれぞれのオプションを対象(オプション番号の昇順)にループ4の処理(S31,S32)を実行する。
ループ4の処理では、SDSクラスタデプロイプログラム104は、オプション番号iのグループ数分について、オプション番号iのエレメント数のSPGを指定し、インスタンスのデプロイを試みる(S31)。
次いで、SDSクラスタデプロイプログラム104は、ステップS31のインスタンスのデプロイが成功したか否かを判定する(S32)。
この結果、インスタンスのデプロイが成功した場合(S32:Yes)には、SDSクラスタデプロイプログラム104は、ループ4を抜けて、次の冗長グループを処理対象としてループ3の処理を実行し、すべての冗長グループに対して処理を実行した場合には、ループ3の処理を抜けて、インスタンスデプロイ処理を終了する。
一方、全てのオプション番号を試してもインスタンスのデプロイが成功しなかった場合(S32:No)には、SDSクラスタデプロイプログラム104は、ループ4を抜けて異常終了としてインスタンスデプロイ処理を終了する。
次に、SDSクラスタ拡張処理について説明する。SDSクラスタ拡張処理は、SDSクラスタ拡張プログラム105が、例えば、ユーザ端末3からSDSクラスタの拡張の指示があった場合に実行される。
図23は、一実施形態に係るSDSクラスタ拡張処理のフローチャートである。なお、図20に示すSDSクラスタデプロイ処理と同様なステップについては、同一の符号を付すこととする。
SDSクラスタ拡張プログラム105(厳密には、SDSクラスタ拡張プログラム105を実行するCPU62)は、クラスタにおける拡張分を対象に、SPGのグループ数と、SPGにおけるエレメント(インスタンス)の数とのオプションを計算するオプション計算処理(図21参照)を実行する(S41)。
次いで、SDSクラスタ拡張プログラム105は、クラスタにおける拡張分を対象とする、SPGを用いたインスタンスのデプロイを行うインスタンスデプロイ処理(図22参照)を実行する(S42)。
次いで、SDSクラスタ拡張プログラム105は、クラスタにおける拡張分であるインスタンスがデプロイされたSPGと、そのSPGを含むRGとの対応関係をマッピング(RG-SPGマッピングテーブル101)に追加する(S43)。
次いで、SDSクラスタ拡張プログラム105は、追加された冗長グループを対象にループ5の処理(S44,S15~S17)を実行する。ここで、ループ5において処理対象の冗長グループを対象冗長グループということとする。
ループ5の処理では、SDSクラスタ拡張プログラム105は、対象冗長グループのインスタンスを冗長SDSクラスタ管理機能71の管理対象に追加する(S44)。次いで、SDSクラスタ拡張プログラム105は、ステップS15,S16,S17の処理を実行する。
SDSクラスタ拡張プログラム105は、追加された各冗長グループを対象にループ5の処理を行い、すべての冗長グループに対して処理を終えた場合には、SDSクラスタ拡張処理を終了する。
このSDSクラスタ拡張処理によると、SDSクラスタを障害に耐えうるように拡張することができる。
次に、サービスボリューム生成処理について説明する。
図24は、一実施形態に係るサービスボリューム生成処理のフローチャートである。
サービスボリューム生成プログラム111(厳密には、サービスボリューム生成プログラム111を実行するCPU62)は、作成するサービスボリュームとして指定された空き容量を持つ冗長容量プール80をグローバル容量プール84から選択する(S51)。
次いで、サービスボリューム生成プログラム111は、選択した冗長容量プール80からサービスボリューム83に容量を割り当てる(S52)。
次いで、サービスボリューム生成プログラム111は、選択した冗長容量プール80が提供される冗長グループ70に所属するインスタンス40のいずれかのアクティブコントローラを選択し、作成したサービスボリューム83を割り当て(S53)、処理を終了する。なお、この処理の後に、公知の技術により、サービスボリューム83に対してアクセス可能なようにストレージクライアント42に対してパス等を登録する処理が行われることとなる。
なお、本発明は、上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で、適宜変形して実施することが可能である。
例えば、上記実施形態において、CPUが行っていた処理の一部又は全部を、ハードウェア回路で行うようにしてもよい。また、上記実施形態におけるプログラムは、プログラムソースからインストールされてよい。プログラムソースは、プログラム配布サーバ又は記憶メディア(例えば可搬型の記憶メディア)であってもよい。
1…計算機システム、2…インターネット、10…リージョン、20…アベイラビリティゾーン、30…サブゾーン、32…ベアメタルサーバ、40…インスタンス、45…SDSクラスタ、50…SPG、62…CPU、63…メモリ、70…冗長グループ、71…冗長SDSクラスタ管理機構、72…冗長ストレージコントローラ機能、73…冗長容量プール機能

Claims (9)

  1. 複数のインスタンスをリスク境界で区分された複数のサブゾーンのいずれかに配置可能なストレージシステムを含む計算機システムであって、
    前記計算機システムのプロセッサは、
    複数の記憶デバイスから提供される容量プールに基づくボリュームに対するI/O処理を制御するストレージコントローラを、複数のサブゾーンに配置された複数のインスタンスに冗長化して構成させる
    計算機システム。
  2. 前記計算機システムは、
    それぞれが異なるサブゾーンに配置された複数のインスタンスから構成される1以上のスプレッドプレースメントグループ(SPG)を作成可能であり、
    前記プロセッサは、1つの前記SPGに含まれる複数の前記インスタンスに、前記ストレージコントローラを構成する
    請求項1に記載の計算機システム。
  3. 前記プロセッサは、
    前記SPGの1つのインスタンスに稼働系のストレージコントローラを構成し、他の1以上のインスタンスに待機系のストレージコントローラを構成する
    請求項2に記載の計算機システム。
  4. 前記プロセッサは、
    前記ストレージコントローラが構成されるインスタンスと同一の前記SPGの複数の前記インスタンスに、前記複数の記憶デバイスを構成し、
    前記複数の記憶デバイスのうち、二つ以上にデータもしくはデータより生成されるパリティデータを格納することでデータを冗長化して構成する
    請求項2に記載の計算機システム。
  5. 前記プロセッサは、
    前記複数のSPGの少なくとも1つに、前記複数のSPGの前記ストレージコントローラをクラスタ化して管理するストレージクラスタ管理部を冗長化して構成する
    請求項4に記載の計算機システム。
  6. それぞれが異なるサブゾーンに配置された複数のインスタンスから構成される1以上のスプレッドプレースメントグループ(SPG)を作成可能であり、
    前記プロセッサは、
    1つの前記SPGに配置可能なインスタンスの数が、前記容量プールのデータ保護に必要なインスタンス数に満たない場合に、前記容量プールのデータ保護での冗長度以下の複数の前記SPGの複数のインスタンスに、前記記憶デバイス及び前記ストレージコントローラを構成する
    請求項1に記載の計算機システム。
  7. それぞれが異なるサブゾーンに配置された複数のインスタンスから構成される複数のスプレッドプレースメントグループ(SPG)を作成可能であり、
    前記プロセッサは、
    冗長化に必要なインスタンスの数の指定を受け付け、受け付けたインスタンスの数に基づいて、前記SPGで作成可能な最大のインスタンスの数以内のインスタンスを含む冗長グループを1以上構成し、各冗長グループにおいて、前記記憶デバイス上のデータ及び前記ストレージコントローラを冗長化して構成する
    請求項1に記載の計算機システム。
  8. それぞれが異なるサブゾーンに配置された複数のインスタンスから構成される複数のスプレッドプレースメントグループ(SPG)を作成可能であり、
    前記プロセッサは、
    前記容量プールのデータの保護及び前記ストレージコントローラの冗長化における冗長度に基づいて、前記容量プールのデータの保護及び前記ストレージコントローラの冗長化を行う複数のインスタンスを含む冗長グループにおけるSPGの最大のグループ数を特定し、
    特定した最大グループ数以下の範囲で、前記冗長グループを構成するSPGの数及びSPGにおけるインスタンス数を決定し、決定したSPGの数及びインスタンス数のインスタンスに基づいて、前記記憶デバイス上のデータ及び前記ストレージコントローラを冗長化して構成する
    請求項1に記載の計算機システム。
  9. 複数のインスタンスをリスク境界で区分された複数のサブゾーンのいずれかに配置可能なストレージシステムを含む計算機システムによる冗長化要素構成方法であって、
    前記計算機システムは、
    複数の記憶デバイスから提供される容量プールに基づくボリュームに対するI/O処理を制御するストレージコントローラを、複数のサブゾーンに配置された複数のインスタンスに冗長化して構成させる
    冗長化要素構成方法。

JP2022098666A 2022-06-20 2022-06-20 計算機システム、及び冗長化要素構成方法 Pending JP2024000105A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2022098666A JP2024000105A (ja) 2022-06-20 2022-06-20 計算機システム、及び冗長化要素構成方法
US17/950,585 US11954335B2 (en) 2022-06-20 2022-09-22 Computer system and redundant element configuration method
CN202310252749.4A CN117271171A (zh) 2022-06-20 2023-03-07 计算机系统及冗余化元素构成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022098666A JP2024000105A (ja) 2022-06-20 2022-06-20 計算機システム、及び冗長化要素構成方法

Publications (1)

Publication Number Publication Date
JP2024000105A true JP2024000105A (ja) 2024-01-05

Family

ID=89169860

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022098666A Pending JP2024000105A (ja) 2022-06-20 2022-06-20 計算機システム、及び冗長化要素構成方法

Country Status (3)

Country Link
US (1) US11954335B2 (ja)
JP (1) JP2024000105A (ja)
CN (1) CN117271171A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111708486B (zh) * 2020-05-24 2023-01-06 苏州浪潮智能科技有限公司 一种主放置组均衡优化的方法、系统、设备及介质

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4958739B2 (ja) * 2007-11-09 2012-06-20 株式会社日立製作所 障害の発生した記憶装置に記憶されているデータを修復するストレージシステム
US20100042794A1 (en) * 2008-08-15 2010-02-18 Wen-Sen Tsai Data protection system and method
JP2010186285A (ja) * 2009-02-12 2010-08-26 Fujitsu Ltd ミラーリング制御装置、ストレージ装置、ミラーリング制御方法
US8656099B2 (en) * 2010-07-22 2014-02-18 Hitachi, Ltd. Storage apparatus and storage control method for the same
US8788753B2 (en) * 2011-01-14 2014-07-22 Lsi Corporation Systems configured for improved storage system communication for N-way interconnectivity
US9116859B2 (en) * 2012-07-17 2015-08-25 Hitachi, Ltd. Disk array system having a plurality of chassis and path connection method
CN104956309B (zh) * 2013-01-25 2017-12-12 株式会社日立制作所 存储系统及数据管理方法
US9542320B2 (en) * 2015-01-12 2017-01-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Multi-node cache coherency with input output virtualization
US9826041B1 (en) * 2015-06-04 2017-11-21 Amazon Technologies, Inc. Relative placement of volume partitions
US10063427B1 (en) * 2015-09-14 2018-08-28 Amazon Technologies, Inc. Visualizing and interacting with resources of an infrastructure provisioned in a network
US10536340B1 (en) * 2016-11-22 2020-01-14 Amazon Technologies, Inc. Spread placement groups
US10212229B2 (en) * 2017-03-06 2019-02-19 At&T Intellectual Property I, L.P. Reliable data storage for decentralized computer systems
US11941279B2 (en) * 2017-03-10 2024-03-26 Pure Storage, Inc. Data path virtualization
US10789267B1 (en) * 2017-09-21 2020-09-29 Amazon Technologies, Inc. Replication group data management
US11416298B1 (en) * 2018-07-20 2022-08-16 Pure Storage, Inc. Providing application-specific storage by a storage system
US11061737B2 (en) * 2018-07-27 2021-07-13 Vmware, Inc. Methods, systems and apparatus for governance of virtual computing infrastructure resources
JP6949801B2 (ja) 2018-10-17 2021-10-13 株式会社日立製作所 ストレージシステム及びストレージシステムにおけるデータ配置方法
JP7128419B2 (ja) * 2019-02-14 2022-08-31 日本電信電話株式会社 二重化運転システム及びその方法
US20220083245A1 (en) * 2019-07-18 2022-03-17 Pure Storage, Inc. Declarative provisioning of storage
JP2021051532A (ja) * 2019-09-25 2021-04-01 株式会社日立製作所 計算機システム
US11461192B1 (en) * 2019-11-27 2022-10-04 Amazon Technologies, Inc. Automatic recovery from detected data errors in database systems
JP7122332B2 (ja) * 2020-02-26 2022-08-19 株式会社日立製作所 情報処理システム及び方法

Also Published As

Publication number Publication date
CN117271171A (zh) 2023-12-22
US20230409207A1 (en) 2023-12-21
US11954335B2 (en) 2024-04-09

Similar Documents

Publication Publication Date Title
TWI710915B (zh) 一種基於互聯網資料中心的資源處理方法、相關裝置以及通信系統
EP3487149B1 (en) Data shard storage method, device and system
US20200257593A1 (en) Storage cluster configuration change method, storage cluster, and computer system
US20190394266A1 (en) Cluster storage system, data management control method, and non-transitory computer readable medium
US9928148B2 (en) Configuration of peered cluster storage environment organized as disaster recovery group
US8214573B2 (en) Method and system for handling a management interrupt event in a multi-processor computing device
EP3745269B1 (en) Hierarchical fault tolerance in system storage
WO2018171458A1 (en) Method and apparatus for operating network slices using shared risk groups
CN111124250B (zh) 用于管理存储空间的方法、设备和计算机程序产品
JP2019101702A (ja) 記憶システム及びその制御方法
US10705737B2 (en) Storage system and data arrangement method of storage system
JP2024000105A (ja) 計算機システム、及び冗長化要素構成方法
US7478275B1 (en) Method and apparatus for performing backup storage of checkpoint data within a server cluster
US9400761B2 (en) Management method for computer system, computer system, and non-transitory computer-readable storage medium
KR20230091168A (ko) 데이터 센터에서 장애 도메인을 전기적으로 격리하기 위한 구성을 생성하기 위한 기술들
US20220100619A1 (en) Computer cluster using expiring recovery rules
JP6063576B2 (ja) サーバシステム、計算機システム、サーバシステムの管理方法、及びコンピュータ読み取り可能な記憶媒体
CN110958326B (zh) 一种负载均衡方法、装置、系统、设备及介质
CN112231058A (zh) 一种突破numa拓扑限制创建云主机的方法及装置
US20220215001A1 (en) Replacing dedicated witness node in a stretched cluster with distributed management controllers
US10135917B2 (en) Systems and methods for allocating customers to network elements
JP2005071242A (ja) 計算機システム及び動的ブートイメージ切替プログラム
US20240184610A1 (en) Path selection method based on an active-active configuration for a hyperconverged infrastructure storage environment
US20230128035A1 (en) System and Method for Distributed Data Consolidation
JP2012053777A (ja) データ割振り装置、データ割振り方法及びデータ割振りプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240402

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240527

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240611