JP2020135137A - マルチストレージノードシステム、マルチストレージノードシステムの容量管理方法 - Google Patents

マルチストレージノードシステム、マルチストレージノードシステムの容量管理方法 Download PDF

Info

Publication number
JP2020135137A
JP2020135137A JP2019024772A JP2019024772A JP2020135137A JP 2020135137 A JP2020135137 A JP 2020135137A JP 2019024772 A JP2019024772 A JP 2019024772A JP 2019024772 A JP2019024772 A JP 2019024772A JP 2020135137 A JP2020135137 A JP 2020135137A
Authority
JP
Japan
Prior art keywords
chunks
physical
storage node
storage
fault set
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.)
Granted
Application number
JP2019024772A
Other languages
English (en)
Other versions
JP6857673B2 (ja
Inventor
菊地 章浩
Akihiro Kikuchi
章浩 菊地
崇元 深谷
Takamoto Fukaya
崇元 深谷
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 JP2019024772A priority Critical patent/JP6857673B2/ja
Priority to CN201910777265.5A priority patent/CN111562881B/zh
Priority to US16/563,724 priority patent/US10990313B2/en
Publication of JP2020135137A publication Critical patent/JP2020135137A/ja
Application granted granted Critical
Publication of JP6857673B2 publication Critical patent/JP6857673B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
    • 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/062Securing storage systems
    • G06F3/0623Securing storage systems in relation to content
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • 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/0604Improving or facilitating administration, e.g. storage management
    • 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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; 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/064Management of blocks
    • 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
    • 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

Landscapes

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

Abstract

【課題】マルチストレージノードシステムにおいて、データの冗長性を確保するために、データ再構築のための容量を確保する方法を提供する。【解決手段】複数のストレージノードから構成されるマルチストレージノードシステムにおいて、ストレージノードは、データを記憶する複数のドライブと、ドライブにデータの書き込みを制御する制御部とを有する。制御部は、複数のドライブの記憶領域を複数の物理チャンクに分割し、分割された物理チャンクを論理チャンクに割り当てることでデータを格納する。複数のストレージノードは、単一の障害で影響を受けるフォールトセットに分割され、マルチストレージノードシステムを管理する。複数のストレージノードの内の一つのプライマリノードの制御部は、複数のストレージノードの物理チャンクの論理チャンクに対する割り当てを、ドライブ毎、ストレージノード毎、フォールトセット毎に管理するデータベースを有する。【選択図】図3

Description

本発明は、マルチストレージノードシステム、マルチストレージノードシステムの容量管理方法に関する。
近年、複数のノードに分散している記憶装置をソフトウェアで管理して全体を大きな記憶装置として定義し、使用効率を高める技術であるソフトウェア・デファインド・ストレージ(Software Defined Storage (SDS))が普及している。
このような複数のノードに記憶領域が分散しているシステムにおいて、システム全体の空き容量の管理は非常に重要となる。複数のノードに分散しているシステムの空き容量を管理する技術として特許文献1がある。
特許文献1では、複数のノードに分散している記憶領域を連結して、1つの記憶領域としてホスト計算機にアクセスさせる技術が開示されている。
特開2005−165702号公報
SDSのように複数のノードから構成されるマルチストレージシステムでは、複数のノードのドライブにデータを格納するMirroringやErasure-Coding技術を適応することで、データを冗長化している。
一般的なSDSでは、ノードやノードに搭載されるドライブの障害時、ノードやドライブ減設時、ドライブ障害の予兆検知時には、格納されているデータの冗長性を回復するために、データの再構築(リビルド)を行う。例えば、ドライブ障害時には障害の発生したドライブに格納されていたデータを、マルチストレージシステムの他のドライブに再構築することで、マルチストレージシステムにおいてデータの冗長性を確保している。
データの冗長性を回復するデータの再構築を行うためには、ドライブやノード障害が発生した場合や、ノードやドライブ減設を行う場合に、冗長データが複数のノードから構成されるシステム上に存在する必要があり、冗長データからデータを再構築して格納する物理容量が必要となる。
しかしながら、特許文献1には、複数のノードに分散している記憶領域を連結して、1つの記憶領域として空き領域を管理する技術は開示されているものの、論理デバイスに対し、物理デバイスの割り当て時にストレージアダプタ(SA)内に空き領域があるかを判定するためであり、データ再構築のための空き容量を把握することについては言及されていない。
また、SDS環境においてデータ再構築のために、ノードに搭載されるドライブ単位、ノード単位、複数のノードをフォールトセットとして定義されたフォールトセット単位に容量を管理することについても言及されていない。
そこで、本発明の目的は、マルチストレージノードシステムにおいて、データの冗長性を確保するために、データ再構築のための容量を確保するマルチストレージノードシステム、マルチストレージノードシステムの容量管理方法を提供することにある。
上記目的を達成するため、本発明のマルチストレージノードシステムの一態様は、複数のストレージノードから構成される。複数のストレージノードは、データを記憶する複数のドライブと、ドライブにデータの書き込みを制御する制御部とを有する。制御部は、複数のドライブの記憶領域を複数の物理チャンクに分割し、分割された物理チャンクを論理チャンクに割り当てることでデータを格納する。複数のストレージノードは、単一の障害で影響を受けるフォールトセットに分割されており、マルチストレージノードシステムを管理する、複数のストレージノードの内の一つのプライマリノードの制御部は、複数のストレージノードの物理チャンクの論理チャンクに対する割り当てを、ドライブ毎、ストレージノード毎、フォールトセット毎に管理するデータベースを有する。
本発明によれば、マルチストレージノードシステムにおいて、ドライブやノード障害、ドライブやノード減設時においても、データの冗長性を確保するためにデータ再構築を行うための容量管理を、ドライブ、ノード、フォールトセット単位で管理することができる。
本実施例のシステム構成図の一例を示す図である。 本実施例のストレージノードのハードウェア構成図の一例を示す図である。 本実施例の制御部とストレージノード間のボリュームの位置付けの一例を示すシステムブロック図である。 本実施例の各種管理テーブルの一例を示す図である。 本実施例のストレージノード管理テーブルの一例を示す図である。 本実施例のドライブ管理テーブルの一例を示す図である。 本実施例の物理チャンク管理テーブルの一例を示す図である。 本実施例の論理チャンク管理テーブルの一例を示す図である。 本実施例の割当済み物理チャンク(ノード)管理テーブルの一例を示す図である。 本実施例の空き物理チャンク(ノード)管理テーブルの一例を示す図である。 本実施例の割当済み物理チャンク(フォールトセット)管理テーブルの一例を示す図である。 本実施例の空き物理チャンク(フォールトセット)管理テーブルの一例を示す図である。 本実施例のクラスタ制御の処理フローを示したフローチャートである。 本実施例の通知条件(1)の確認処理フローを示したフローチャートである。 本実施例の通知条件(2)の確認処理フローを示したフローチャートである。 本実施例の通知条件(3)の確認処理フローを示したフローチャートである。 本実施例の通知条件(1)によるアラート(1)の一例を示した図である。 本実施例の通知条件(2)によるアラート(2)の一例を示した図である。 本実施例の通知条件(3)によるアラート(3)の一例を示した図である。 本実施例のノード内優先割当処理を示したフローチャートである。 本実施例のDPプールへの物理チャンク割当処理を示したフローチャートである。
実施形態について、図面を参照して説明する。なお、以下に説明する実施形態は特許請求の範囲に係る発明を限定するものではなく、また実施形態の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。
以下の説明では、[AAAテーブル]の表現にて情報を説明することがあるが、情報は、どのようなデータ構造で表現されていてもよい。すなわち、情報がデータ構造に依存しないことを示すために、[AAAテーブル]を[AAA情報]とすることができる。
また、以下の説明では、[CPU]は、1以上のプロセッサを含むCentral Processing Unitである。プロセッサは、処理の一部または全部を行うハードウェア回路を含んでもよい。
また、以下の説明では、[プログラム]を動作の主体として処理を説明する場合があるが、プログラムは、CPUによって実行されることで、定められた処理を、適宜に記憶資源(例えばメモリ)等を用いながら行うため、実際の処理の主体はCPUである。従って、プログラムを動作の主体として説明された処理は、プロセッサが処理としてもよい。また、プロセッサが行う処理の一部又は全部を行うハードウェア回路を含んでもよい。コンピュータプログラムは、プログラムソースから装置にインストールされてもよい。プログラムソースは、例えば、プログラム配布サーバ、又は、計算機が読み取り可能な記憶メディアであってもよい。
<概要>
本技術は、マルチストレージノードシステムにおいて、複数のノードを単位としたフォールトセット、ノード、各ノードに搭載されるドライブ単位での障害や、ノードやドライブの減設が発生した場合においても、Software Defined Storage(SDS)では、予め適所(フォールトセット、ノード)にデータのリビルドのための容量を確保しておかなければならない。また、SDSは、データのリビルド時のI/O性能への影響を低減する必要がある。ここで、フォールトセットとは、例えば、同一の電源系統によって電源供給を受けているノードを纏めたグループや同一のスイッチによってネットワークに接続されたノードを纏めたグループを意味し、単一の障害で影響を受けるノードのグループである。つまり、フォールトセットとは、電源障害やスイッチ障害時においても、冗長データがマルチストレージノードシステム上に存在できるようにノードをグルーピングしたものである。
このように、複数のノードがフォールトセットという概念でグルーピングされているマルチストレージノードシステムでは、管理者がデータをリビルドするための適所(フォールトセット、ノード)、即ち、ビルドデータを格納するための物理容量をどこに確保するかを判断することは非常に難しい。
本技術は、マルチストレージノードシステムにおいて、ドライブやノード障害、ドライブやノード減設時においても、データの冗長性を確保するためにデータ再構築を行うための容量管理を、ドライブ、ノード、フォールトセット単位で管理し、リビルドデータの格納先をドライブ、ノード、フォールトセットで把握することができるマルチストレージノードシステム、マルチストレージノードシステムの容量管理方法に関する。
<用語の説明>
SC(Storage Cluster):ストレージクラスタはマルチストレージノードシステム全体に相当する。
FS(Fault Set):フォールトセットは、ストレージクラスタのサブセットで、単一の障害で影響を受けるストレージノードのグループである。例えば、電源系統やネットワークスイッチを共有しているノードのグループで、電源障害やネットワークスイッチの障害によって影響を受けるノードのグループである。これら単一の電源障害時等においても、データの冗長性を確保するためには、ストレージクラスタ上に冗長データが他のフォールトセット上に存在する必要がある。
SN(Storage Node):ストレージノード。
CM(P)(Cluster Master(Primary)):クラスタマスター(プライマリ)は、マルチストレージノードシステム全体を管理するストレージノードであって、マルチストレージノードシステムに一つ存在する。プライマリノードと称する。
CM(S)(Cluster Master (Secondary) ):クラスタマスター(セカンダリ)は、クラスタマスター(プライマリ)の待機系ノードであって、クラスタマスター(プライマリ)に障害が発生した場合には、クラスタマスター(プライマリ)に昇格する。
CW(Cluster Worker):クラスタワーカー・クラスタマスタ(プライマリ、セカンダリ)以外のストレージノード。
CN(Compute Node):コンピュートノード。ストレージノードに格納されたデータにアクセスするアプリケーションが動作するコンピュートノード。
MN(Management Node):管理ノード。ストレージクラスタを管理するノード。
<システム構成>
まず、本発明の一実施形態に係るマルチストレージノードシステムについて説明する。
図1は、一実施形態に係るシステム構成図である。
複数のストレージノード(SN)101a、101b、101cは、データを格納するドライブを有し、ストレージノード間ネットワーク104を介して互いに接続されている。
一以上のコンピュートノード(CN)107は、アプリケーションが動作し、コンピュートネットワーク105を介して複数のストレージノード101に接続される。複数のストレージノード101は、コンピュートノード107からIO要求を受信して、ドライブにデータを格納したり、データを読み出してコンピュートノードに送る。
複数のストレージノード101は、複数のストレージノード101を管理する管理ノード(MN)108に管理ネットワーク106を介して接続されている。
複数のストレージノード101は、ストレージクラスタ(SC)103を構成し、ストレージクラスタ103は、マルチストレージノードシステムに相当し、電源系統やネットワークスイッチを共有しているストレージノードのグループであるフォールトセット102をサブセットとして構成する。
フォールトセットは、ストレージクラスタ103に2つ以上構成でき、本実施例では3台程度を想定する。各フォールトセットには、ストレージノードが1台以上で構成できる。本実施例では、最大16台程度を想定する。尚、各ノード101に搭載されるドライブの数は、2台以上であり、本実施例では、最大26台程度を想定する。これら、台数の数は、例示したものに限らず、本発明の要旨を逸脱しない範囲内で適宜適当な数を想定し得る。
複数のストレージノード101は、ストレージクラスタを管理し、ストレージクラスタに一つ存在するクラスタマスター(プライマリ)(CM(P))101aと、クラスタマスター(プライマリ)の待機系となるクラスタマスター(セカンダリ)(CM(S))101bと、それ以外のクラスタワーカー(CW)101cとから構成される。
図2は、一実施形態に係るストレージノードのハードウェア構成図の一例を示す図である。
ストレージノード101は、図1のストレージノード101a、1011b等に相当し、サーバ等の計算機からのI/O要求を処理し、ドライブ119にデータを格納、或いは、ドライブ119からデータを読み出し、コンピュートノード107に送る処理を行う。ドライブ119は、NVMeドライブ119a、SASドライブ119b、SATAドライブ119c等、各種ドライブで構成される。
ストレージノード101は、ストレージノード間ネットワーク104、コンピュートネットワーク105、管理ネットワーク106に接続するためのネットワークインタフェース203と、一つ以上の中央処理部(CPU)201と、メモリ202と、これらを接続するバス205を有する。メモリ202は、SRAM、DRAMの揮発メモリで構成される。
メモリ202には、複数のストレージノードでクラスタを構成するためのクラスタ制御プログラム111と、ストレージノードの制御を行うノード制御プログラム112、コンピュートノード107からのIO要求を処理し、ドライブ119へのデータの書き込み、ドライブ119からのデータの読み出しを制御するIO制御アクティブプログラム113とを格納する。また、メモリ202は、他のストレージノードがクラスタマスター(プライマリ)となり、そのノードのIO制御アクティブプログラムに対する待機系のIO制御スタンバイプログラム114の他、図4に示す各種テーブルをSODB(Scale Out Data Base)112を格納する。
CPU201がメモリ202に格納されたプログラムを実行することで、制御部として各種機能を実現する。
メモリ202には、図示したプログラムの他、スナップショットやリモート機能等の各種プログラムが格納され、ストレージノードとして機能する。また、メモリ202には、IOリクエストに関するデータを一時的に記憶するキャッシュメモリとなるキャッシュ領域を有する。
クラスタ制御プログラム111、ノード制御プログラム112、IO制御アクティブプログラム113、IO制御スタンバイプログラム114は、ドライブ119に格納され、CPU201によってメモリ202に読み出されて、動作する形態であっても良い。これら各種プログラムを実行して実現される機能を、クラスタ制御部111、ノード制御部112、IO制御部アクティブ113、IO制御部スタンバイ114と、呼ぶ場合がある。
ネットワークインタフェースNW I/F303は、便宜上一つのインタフェースとして図示しているが、他のストレージノードと接続するためのストレージノード間ネットワーク104、コンピュートノード107と接続するためのコンピュートネットワーク105、管理ノード107と接続するための管理ネットワーク106と接続するためのインタフェースを別の2つ以上のインタフェースで構成しても良い。
ストレージノードの構成は、クラスタマスター(プライマリ)(CM(P))101a、クラスタマスター(セカンダリ)(CM(S))101bと、それ以外のクラスタワーカー(CW)101cとで共通する。
図3は、一実施形態にかかるCPU201によって実現される制御部とストレージノード間のボリュームの位置付けの一例を示すシステムブロック図である。
ストレージノード101aはクラスタマスタープライマリ(プライマリノード)として動作するノード、ストレージノード101bはクラスタマスターセカンダリとして動作するノード、ストレージノード101cはクラスタワーカーとして動作するノードである。各ストレージノード101は、図2に示したようなプログラムを格納しているが、図3では、動作の説明上必要なプログラムのみを図示して説明する。また、図3は、説明を簡単にするため、各フォールトセットに、ストレージノードが1台で構成される例を示しているが、1つのフォールトセットには、複数台のストレージノードが含まれる場合がある。
各ストレージノードは、ドライブ119の一定サイズの記憶領域を管理単位として、複数の物理チャンク(Physical chunk)118a、118bを管理する。プライマリノード101aは、各ストレージノードから複数の物理チャンク118、118bを論理チャンクLC1(Logical Chunk、LC)117aに割り当てる。プライマリノードの制御部は、複数の論理チャンクLC117を含むストレージプール120を構成する。
プライマリノードの制御部201は、ストレージプール120の論理チャンク117aを含む複数の論理チャンクをDPプール116に割当てることで、DPプールを構成する。制御部201は、コンピュートノード107に対し、一つ以上のDPボリューム115を記憶領域として提供する。制御部201は、DPボリューム115に対し、DPプール116から記憶領域の割当を行う。
図3は、ドライブ119と物理チャンク118との関係、物理チャンク118と論理チャンク117との関係、論理チャンク117とストレージプール120との関係、論理チャンク、ストレージプール120、DPプール116との関係、DPプール116とDPボリューム115との関係を模式的に示している。
また、図3はプライマリノード101aのIO制御アクティブ113とクラスタマスターセカンダリ101bのIO制御スタンバイは、あるDPボリュームに対しては現用系と待機系を構成する。一方、他のDPボリュームに対しては、ストレージノード101bがIO制御アクティブ、ストレージノード101cに対してはIO制御スタンバイの関係となることを示している。
<各種テーブル>
図4は、本実施例の各種管理テーブルの一例を示す図である。
SODB110には、ストレージノード管理テーブル401、ドライブ管理テーブル402、物理チャンク管理テーブル403、論理チャンク管理テーブル404、割当済み物理チャンク(ノード)管理テーブル405、空き物理チャンク(ノード)管理テーブル406、割当済み物理チャンク(フォールトセット)管理テーブル407、空き物理チャンク(フォールトセット)管理テーブル408の各種テーブルを格納する。
ストレージノード管理テーブル401は図5に、ドライブ管理テーブル402は図6に、物理チャンク管理テーブル403は図7に、論理チャンク管理テーブル404は図8に、割当済み物理チャンク(ノード)管理テーブル405は図9に、空き物理チャンク(ノード)管理テーブル406は図10に、割当済み物理チャンク(フォールトセット)管理テーブル407は図11に、空き物理チャンク(フォールトセット)管理テーブル408は図12に、詳細を示す。
尚、説明の便宜上テーブルという表現を用いて説明するが、テーブルに限らず、ポインタやリレーショナルデータベース等他のデータ構造で実現することができる。
図5は、本実施例のストレージノード管理テーブルの一例を示す図である。
ストレージノード管理テーブル401は、SODB110に格納される。ストレージノード管理テーブル401のノード番号501は、ストレージクラスタ内で各ストレージノードを一意に特定するための識別子である。フォールトセット番号は、ストレージクラスタ内で各フォールトセットを一意に特定するための識別子である。例えば、ノード番号501「1」で特定されるストレージノード(以下、単にノードと呼ぶこともある)は、フォールトセット番号502「1」に属するノードであることを示している。同様に、ノード番号501「3」のノードは、フォールトセット番号「2」に属することを示している。
図6は、本実施例のドライブ管理テーブルの一例を示す図である。
ドライブ管理テーブル402は、SODB110に格納される。ドライブ番号601は、ストレージクラスタ内で各ドライブ119を一意に特定するための識別子である。ノード番号602は、ストレージクラスタ内で各ストレージノードを一意に特定するための識別子であり、図5のノード番号501に相当する。物理チャンク数(合計)603は、ドライブ番号によって特定されるドライブに含まれる物理チャンクの数を表す。物理チャンク数(割当済み)604は、ドライブ番号によって特定されるドライブに含まれる物理チャンクの内、論理チャンクに割当られている割当済みのチャンク数を表す。物理チャンク数(空き)605は、ドライブ番号によって特定されるドライブに含まれる物理チャンクの内、論理チャンクに割当てられていないチャンク数を表す。メディアタイプ606は、ドライブ番号によって特定されるドライブの種類を示し情報である。
例えば、ドライブ番号601「2」は、ノード番号602「1」に属し、物理チャンク数(合計)603が「20」、物理チャンク数(割当済み)604が「5」、物理チャンク数(空き)605が「15」、メディアタイプ606が「SAS」であることを示している。メディアタイプは、データのリビルド時に、データが格納されていたメディアと同一のタイプのメディアをリビルドされたデータの格納先として選択するための情報として用いる。
図7は、本実施例の物理チャンク管理テーブルの一例を示す図である。
物理チャンク管理テーブル403は、SODB110に格納される。物理チャンク管理テーブル403の物理チャンク番号701は、ストレージクラスタ102内で各物理チャンク118を一意に特定するための識別子である。ドライブ番号702は、ストレージクラスタ102内で各ドライブ119を一意に特定するための識別子であり、図6のドライブ番号601に相当する。ドライブ内オフセット703は、各物理チャンク番号で特定される物理チャンクの、ドライブ番号で特定されるドライブ内のアドレスを示す。ステータス704は、物理チャンク番号701で特定される物理チャンクが論理デバイスに割当てられているかを示す。尚、ステータス704は、論理デバイスに対する割当の他、予約状態である(Reserved)や当該物理チャンクが使えない状態であることを示す(Blockade)の状態を示す情報を格納する場合がある。
例えば、物理チャンク番号701「2」の物理チャンクは、ドライブ番号702「1」のドライブに属し、「0x10000」の位置から始まり、割当てられている「Allocated」状態を示す。
図8は、本実施例の論理チャンク管理テーブルの一例を示す図である。
論理チャンク管理テーブル404は、SODB110に格納される。論理チャンク管理テーブル404の論理チャンク番号801は、ストレージクラスタ102内で各論理チャンク117を一意に特定するための識別子である。DPプール番号802は、論理チャンクが割当てられるDPプールを識別するための識別子である。物理チャンク番号(マスタ)803は、論理チャンクに割当てられた物理チャンクの内、マスタとなる物理チャンクを特定する識別子で、物理チャンク番号(ミラー)804は、論理チャンクに割当てられた物理チャンクの内、ミラーとなる物理チャンクを特定する識別子である。
例えば、論理チャンク番号801「2」は、DPプール番号802「1」に割当てられ、物理チャンク番号803「2」にマスタデータが、物理チャンク番号804「6」にミラーデータがそれぞれ格納されていることを示している。
図8は、一つの論理チャンクに対し、マスタとミラーの二つの物理チャンクが割当てられるミラーリングによる冗長化を示したものであるが、Erasure-Codingを適応した冗長化の場合、データチャンクに対応して物理チャンク番号803として複数の物理チャンク番号を示す列が必要となる他、パリティを格納している物理チャンクを示す物理チャンク番号の列も必要となる。
図9は、本実施例の割当済み物理チャンク(ノード)管理テーブルの一例を示す図である。物理チャンク(ノード)管理テーブル405は、SODB110に格納される。物理チャンク(ノード)管理テーブル405のノード番号901は、ストレージクラスタ102内で各ストレージノード101を一意に特定するための識別子であり、図5のノード番号501、図6のノード番号602に相当する。ペア先フォールトセット番号902は、各ノードとペアを構成するノードが属するフォールトセットを特定する識別子である。フォールトセットは、電源障害時においても、冗長データがマルチストレージノードシステム上に存在できるようにノードをグルーピングしたものであり、電源障害時等に冗長データを格納するフォールトセットをペア先フォールトセット番号902として格納するものである。
割当済みチャンク数(合計)903は、当該ノードで割当済みの物理チャンク数の合計を示したものである。割当済みチャンク数(SSD)904は、当該ノードのSSDドライブで割当済みの物理チャンク数を示したものである。割当済みチャンク数(SAS)905は、当該ノードのSASドライブで割当済みの物理チャンク数を示したものである。割当済みチャンク数(SATA)906は、当該ノードのSATAドライブで割当済みの物理チャンク数を示したものである。従って、割当済みチャンク数(合計)903の値は、各ドライブの割当済みチャンク数904、905、906を合計した値となる。
例えば、ノード番号901「1」は、ペア先フォールトセット番号902が「2」と「3」であり、ペア先フォールトセット番号902が「2」となる場合、割当済みチャンク数(合計)903は「20」、割当済みチャンク数(SSD)904は「10」、割当済みチャンク数(SAS)905は「5」、割当済みチャンク数(SATA)906は「5」であることを示している。
図10は、本実施例の空き物理チャンク(ノード)管理テーブルの一例を示す図である。
空き物理チャンク(ノード)管理テーブル406は、SODB110に格納される。空き物理チャンク(ノード)管理テーブル406のノード番号1001は、ストレージクラスタ102内で各ストレージノード101を一意に特定するための識別子であり、図5のノード番号501、図6のノード番号602、図9のノード番号901に相当する。
空き物理チャンク数(合計)1002は、ノード番号によって特定されるノードに含まれる物理チャンクの内、割当てられていない物理チャンク数の合計を表す。空き物理チャンク数(SSD)1003は、当該ノードのSSDドライブで割当に用いられていない物理チャンク数を示したものである。空き物理チャンク数(SAS)1004は、当該ノードのSASドライブで割当に使用されていない物理チャンク数を示したものである。空き物理チャンク数(SATA)1005は、当該ノードのSATAドライブで割当に使用されていない物理チャンク数を示したものである。従って、空き物理チャンク数(合計)1002の値は、各ドライブの空き物理チャンク数1003、1004、1005を合計した値となる。
例えば、ノード番号1001「1」は、空き物理チャンク数(合計)1002は「30」、空き物理チャンク数(SSD)1003は「10」、空き物理チャンク数(SAS)1004は「10」、空き物理チャンク数(SATA)1005は「10」であることを示している。
図11は、本実施例の割当済み物理チャンク(フォールトセット)管理テーブルの一例を示す図である。割当済み物理チャンク(フォールトセット)管理テーブル407は、SODB110に格納される。
割当済み物理チャンク(フォールトセット)管理テーブル407のフォールトセット番号1101は、ストレージクラスタ102内で各フォールトセット102を一意に特定するための識別子である。ペア先フォールトセット番号1102は、フォールトセット番号1101で示されたフォールトセットとペアとなり、冗長データを格納するフォールトセットを特定する識別子である。
割当済みチャンク数(合計)1103は、フォールトセット内において割当済みの物理チャンクの数の合計を示したものである。割当済みチャンク数(SSD)1104は、当該フォールトセット内のSSDドライブで割当済みの物理チャンク数を示したものである。割当済みチャンク数(SAS)1105は、当該フォールトセット内のSASドライブで割当済みの物理チャンク数を示したものである。割当済みチャンク数(SATA)1106は、当該フォールトセット内のSATAドライブで割当済みの物理チャンク数を示したものである。従って、割当済みチャンク数(合計)1103の値は、各ドライブの割当済み物理チャンク数1104、1105、1106を合計した値となる。
例えば、フォールトセット番号1101「1」は、ペア先フォールトセット番号1102が「2」と「3」である。ペア先フォールトセット番号1102が「2」の場合、割当済みチャンク数(合計)1103は「20」、割当済みチャンク数(SSD)1104は「10」、割当済みチャンク数(SAS)1105は「5」、割当済みチャンク数(SATA)1106は「5」であることを示している。
図12は、本実施例の空き物理チャンク(フォールトセット)管理テーブルの一例を示す図である。空き物理チャンク(フォールトセット)管理テーブル408は、SODB110に格納される。
空き物理チャンク(フォールトセット)管理テーブル408のフォールトセット番号1201は、ストレージクラスタ102内で各フォールトセット102を一意に特定するための識別子であり、図11のフォールトセット番号1101に相当する。
空き物理チャンク数(合計)1202は、フォールトセット番号1201によって特定されるフォールトセットに含まれる物理チャンクの内、割当てられていない物理チャンク数の合計を表す。空き物理チャンク数(SSD)1203は、当該フォールトセット内のSSDドライブで割当に用いられていない物理チャンク数を示したものである。空き物理チャンク数(SAS)1204は、当該フォールトセット内のSASドライブで割当に使用されていない物理チャンク数を示したものである。空き物理チャンク数(SATA)1205は、当該フォールトセットのSATAドライブで割当に使用されていない物理チャンク数を示したものである。従って、空き物理チャンク数(合計)1202の値は、各ドライブの空き物理チャンク数1203、1204、1205を合計した値となる。
例えば、フォールトセット番号1201「1」は、空き物理チャンク数(合計)1202は「30」、空き物理チャンク数(SSD)1203は「10」、空き物理チャンク数(SAS)1204は「10」、空き物理チャンク数(SATA)1205は「10」であることを示している。
図5から図12に示したノード番号等の番号で示した識別子は、数字に限らず記号や文字等、他の情報であっても構わない。
ここで、図19を用いて、図3で説明した物理チャンク118と、論理チャンク117と、DPプール116との割当の処理をSODB110に格納された各種管理テーブルを用いて説明する。
図19は、制御部201で実行される、DPプールへの物理チャンク割当処理を示したフローチャートである。ステップS1901で、DPプール116の容量の枯渇を検知する。例えば、DPプールの容量の80%をDPボリューム115に割当てた場合、枯渇状態と判断する。但し、80%は単なる例であって、これ以外の値を設定しても良い。
ステップS1902で、SODBを更新する。具体的には、物理チャンク管理テーブル403のNon allocatedの物理チャンクのステータス704をNon AllocatedからReservedに変更する。
ステップS1903で、ノード制御部112は、SODB110の論理チャンク管理テーブル404において、ステータスがReservedに変更された物理チャンクを論理チャンクに割当てる。物理チャンクが割当てられた論理チャンクをDPプールに割当てる。
ステップS1904で、ノード制御部はプロセスの完了通知を受領すると、SODBを更新する。SODBの管理や更新をクラスタ制御部111によって行わせても良い。その場合、ノード制御部からプロセスの完了通知を受信したクラスタ制御部111は、SODBを更新する。
例えば、ドライブ管理テーブル402の物理チャンク数(割当済み)604の数を増やし、物理チャンク数(空き)605の値を減少させる。空き物理チャンク(ノード)管理テーブル406、割当済み物理チャンク(ノード)管理テーブル405、空き物理チャンク(フォールトセット)管理テーブル408、割当済み物理チャンク(フォールトセット)管理テーブル407も同様に更新する。
つまり、本実施例において、物理チャンクの割当は、対応する論理チャンクに対する割当、または、DPプールへの割当、或いはその両方を意味する。
<制御フロー>
図13は、本実施例のクラスタ制御部の処理フローを示したフローチャートである。
ストレージクラスタの構成に変更があった場合、SODB110上の各種管理テーブルが更新される(ステップS1301)。
SODB110上の各種管理テーブルが更新される場合には、DPプール使用量増加やリバランスにより物理チャンクを新規割り当てする場合、フォールトセットの障害、ノードの障害、デバイスの障害が検出されたり、物理チャンクが使用不可となった場合、各ストレージノードからドライブが減設されたり、ストレージクラスタからストレージノードが減設され場合、が含まれる。
制御部201(例えば、クラスタ制御プログラムによる機能)は、図14に示す通知条件(1)の確認を行い(ステップS1302)、図15に示す通知条件(2)の確認を行い(ステップS1303)、図16に示す通知条件(3)の確認を行い(ステップS1303)、それぞれの通知条件を満たした場合アラート(1)−(3)を通知するよう制御する。クラスタ制御部111は詳細フローには示さないが、管理者の対処(物理空き容量の増強)などで条件を満たさなくなった場合は、アラート解除を通知する。また、詳細フローには示さないが、ドライブのTier、即ちSSD、SAS、SATA等のドライブの種類を考慮する場合は、条件に”メディアタイプが一致すること”が追加される。
図14は、本実施例の通知条件(1)の確認処理フローを示したフローチャートである。図14に示した処理は、クラスタ制御部111によって実行され、各ドライブの割当済み物理容量が、同じノード内のその他のドライブの空き物理容量の合計を上回った場合に、通知条件(1)を満たし、アラート(1)を発行するための処理である。
SODB110に各種管理情報が更新されると、処理を開始する。ステップS1401で、ノード番号n = 1とし、ステップS1401からステップ1408までをストレージノード数分だけループ処理を行う。
ステップS1402で、空き物理チャンク(ノード)管理テーブル406よりノード番号 n の空き物理チャンク数(合計) a を取得する。即ち、ノード番号が1の場合、物理チャンク数(合計) a「30」を、物理チャンク数(合計)1002から取得する。
ステップS1403で、ドライブ管理テーブル402よりノード番号nに接続するドライブ番号dを取得する。即ち、ドライブ管理テーブル402のノード番号「1」から、ドライブ番号「1、2、3」を取得する。ステップS1403からステップS1407までの処理をドライブ分繰り返すループ処理を行う。
ステップS1404で、ドライブ管理テーブル402よりドライブdの物理チャンク数(割当済み)b、物理チャンク数(空き)cを取得する。例えば、ステップS1403で取得したドライブ番号「1、2、3」の内、ドライブ番号「1」の処理を説明すると、ドライブ番号「1」の物理チャンク数(割当済み)bはドライブ管理テーブル402の列604から「5」、物理チャンク数(空き)cはドライブ管理テーブル402の列605から「5」を取得する。
ステップS1405で、a - c < bを判定する。即ち、ステップS1402で取得したノード番号 n の空き物理チャンク数(合計) aから、ステップS1404で取得したドライブの物理チャンク数(空き)cを減算した値が、ステップS1404で取得したドライブの物理チャンク数(割当済み)より小さいかを判定する。これは、各ドライブの割当済み物理容量が、同じノード内のその他のドライブの空き物理容量の合計を上回るかを判定することを意味する。つまり、複数のストレージノードの内の特定のストレージノードに属する特定のドライブの割当済み物理チャンクの数(物理容量)が、その特定のストレージノードの他のドライブの論理チャンクに割り当てられていない空き物理チャンクの数(物理容量)の合計を上回るか判定している。物理チャンクは所定のサイズであるため、物理チャンクの数は物理容量に置き換えることができる。
ステップS1405の判定の結果、否定的であればステップS1407に進み、肯定的であればステップS1406に進む。ステップS1406では、アラート(1)発行する。アラート(1)の内容については、図17Aで詳細に説明するが、簡単に説明すると、システムの管理者に対し、該当ノードの物理チャンクが不足しているため、ドライブの追加を促す警告を示す内容が含まれる。
該当ドライブの処理が終わると、次のドライブを選択し、ステップS1403からの処理を繰り返す。ここでは、ドライブ番号「1、2、3」の内、ドライブ番号「1」の処理が終了するとドライブ番号「2」を選択し、ドライブ番号「3」の処理までを繰り返す。全てのドライブについて処理が終了すると、ステップS1408に進み、次のノードが選択され、ステップS1401からの処理を繰り返す。
図15は、本実施例の通知条件(2)の確認処理フローを示したフローチャートである。図15に示した処理は、クラスタ制御部111によって実行され、各ノードの割当済み物理容量が、その他のノードの空き物理容量の合計を上回った場合に、通知条件(2)を満たし、アラート(2)を発行するための処理である。
ステップS1501で、ノード番号 n = 1とし、ストレージノード数だけステップS1501からステップS1512の処理を繰り返すループをスタートさせる。
ステップS1502で、ストレージノード管理テーブル401よりノード番号 n のフォールトセット番号 f を取得する。例えば、ノード番号n = 1の場合、ストレージノード管理テーブル401のフォールトセット番号502より、フォールトセット番号「1」を取得する。
ステップS1503で、割当済み物理チャンク(ノード)管理テーブル405よりノード番号 nの割当済み物理チャンク数(合計)の合計 a を取得する。ノード番号n = 1の場合、物理チャンク(ノード)管理テーブル405の割当済み物理チャンク数(合計)903より取得する。
ステップS1504で、空き物理チャンク(ノード)管理テーブル406よりノード番号 nの空き物理チャンク数(合計)の合計 b を取得する。ノード番号n = 1の場合空き物理チャンク(ノード)管理テーブル406の空き物理チャンク数(合計)1002から、空き物理チャンク数(合計)の合計 bとして取得する。
ステップS1505で、空き物理チャンク(フォールトセット)管理テーブル408よりフォールトセット番号 f の空き物理チャンク数(合計)の合計 c を取得する。例えば、フォールトセット番号が「1」の場合、空き物理チャンク(フォールトセット)管理テーブル408の空き物理チャンク合計1202から空き物理チャンク数(合計)の合計 c を取得する。
ステップS1506で、ステップS1503で取得したaと、ステップS1504で取得したbと、ステップS1505で取得したcから、a > c - bという条件を満たすか否か判定する。これは、あるフォールトセットに属するノードの割当済み物理容量が、その他のノードの空き物理容量の合計を上回っているかを判定する。つまり、あるフォールトセットに属する第1のストレージノードの割当済み物理チャンクの数が、あるフォールトセットに属し、第1のストレージノード以外のストレージノードで、論理チャンクに割り当てられていない物理チャンクの数(空き物理容量)の合計を上回るか判定する。物理チャンクは所定のサイズであるため、物理チャンクの数は物理容量に置き換えることができる。
ステップS1506の条件に否定的な場合には、ステップS1512に進み、次のノードを選択してステップS1501からの処理を繰り返す。ステップS1506の条件に肯定的な場合、ステップS1507に進む。
ステップS1507で、割り当て済み物理チャンク(ノード)管理テーブル405より、ノード番号 nのペア先フォールトセット番号 p と割り当て済みチャンク数合計 dを取得する。ペア先フォールトセット番号 pは、割り当て済み物理チャンク(ノード)管理テーブル405のペア先フォールトセット番号902から、割り当て済みチャンク数合計 dは、割り当て済みチャンク数合計903からそれぞれ取得する。該当するペア先フォールトセット分ループ(ステップS1507からステップS1511まで)を開始する。
ステップS1508で、空き物理チャンク(フォールトセット)管理テーブル408よりフォールトセット番号 f, p以外のフォールトセット番号の空き物理チャンク数(合計)の合計 e を取得する。
ステップS1509で、ステップS1507で取得した割り当て済みチャンク数合計 dと、ステップS1508で取得したフォールトセット番号の空き物理チャンク数(合計)の合計 eから、
d > eという条件を満たすか否か判定する。即ち、ステップS1509では、ペア先フォールトセットの各ノードの割当済み物理容量が、その他のノードの空き物理容量の合計を上回ったか否かを判定する。物理チャンクは所定のサイズであるため、物理チャンクの数は物理容量に置き換えることができる。ここで、その他のノードには、処理中のフォールトセットとペア先フォールトセットに属するノードは除くものである。
ステップS1509の条件を満たさない場合には、ステップS1511に進み、ノード番号nの次のペア先フォールトセットについて、ステップS1507からの処理を繰り返す。
ステップS1509の条件を満たす場合には、ステップS1510に進み、アラート(2)の発行を行う。アラート(2)の詳細は、図17Bを用いて説明するが、簡単に説明するとシステムの管理者に対し、当該フォールトセットの物理チャンクが不足しているため、物理容量の増加を促す警告や、フォールトセットとペアを組むフォールトセット以外のフォールトセットに物理容量を追加することを促す警告を通知する。尚、物理容量の追加は、ドライブやノードを追加することで行われる。さらに、追加すべき物理容量の最低容量も通知される。
次に、ステップS1511で、ステップS1507で取得した、ノード番号nのペア先フォールトセット番号pについて、処理が終了すると、次のフォールトセットが選択(ステップS1508)され、ループ処理を繰り返す。
ノード番号nの全てのペア先フォールトセット番号の処理が終了すると、ステップS1512で次のノードが選択され、ループ処理を繰り返す。
図16は、本実施例の通知条件(3)の確認処理フローを示したフローチャートである。図16に示した処理は、クラスタ制御部111によって実行され、各フォールトセットの割当済み物理容量が、その他のフォールトセットの空き物理容量の合計を上回った場合に、通知条件(3)を満たし、アラート(3)を発行するための処理である。ここで、その他のフォールトセットには、処理中のフォールトセットとペア先フォールトセットの双方が除かれる。
ステップS1601で、フォールトセット番号 f = 1を選択し、ステップS1607までのフォールトセット数分ループ処理を開始する。
ステップS1602で、割当済み物理チャンク(フォールトセット)管理テーブル407よりフォールトセット番号 fのペア先フォールトセット番号 p と割当済みチャンク数合計 aを取得する。ペア先フォールトセット番号 p は、割当済み物理チャンク(フォールトセット)管理テーブル407のペア先フォールトセット番号1102の値を用い、割当済みチャンク数合計 aは、割当済みチャンク数合計1103の値を用いる。該当するペア先フォールトセット分、ステップS1602からステップS1606までのループを実行する。
ステップS1603で、空き物理チャンク(フォールトセット)管理テーブル408よりフォールトセット番号 f, p以外のフォールトセット番号の空き物理チャンク数(合計)の合計 b を取得する。bの値は、空き物理チャンク(フォールトセット)管理テーブル408の1202の値を用いる。
ステップS1604で、a > bを判定する。つまり、ステップS1602で取得した割当済みチャンク数合計aが、ステップS1603で取得したフォールトセット番号f、p以外のフォールトセット番号の空き物理チャンク数(合計)の合計bより多いかを判定する。この処理は、フォールトセットの割当済み物理容量が、データのペア先フォールトセットを除くその他のフォールトセットの空き物理容量の合計を上回っているかを判定するものである。つまり、第2のフォールトセットに属するストレージノードの割当済み物理チャンクの数が、第2のフォールトセットと第2のフォールトセットとペアのフォールトセット以外のフォールトセットに属するストレージノードに属する、論理チャンクに割り当てられていない物理チャンクの数(空き物理容量)の合計を上回るか判定する。ここで、物理チャンクは所定のサイズであるため、物理チャンクの数は物理容量に置き換えることができる。
ステップS1604の判定が否定的である場合、ステップS1606に進み、ペア先フォールトセット番号 pをインクリメントし、次のペア先フォールトセット番号を選択して、ループ処理を実行する。
ステップS1604の判定が肯定的である場合、ステップS1605に進み、アラート(3)の発行を行う。アラート(3)の詳細は、図17Cを用いて説明するが、簡単に説明するとシステムの管理者に対し、他のフォールトセットの物理チャンクが不足しているため、ドライブの追加を促す警告を示す内容が含まれる。
図17Aは、本実施例の通知条件(1)によるアラート(1)の一例を示した図である。
各ドライブの割当済み物理容量が、同じノード内のその他のドライブの空き物理容量の合計を上回った場合という通知条件(1)を満たした場合に、図17Aに示すアラート(1)をシステム管理者に通知する。
アラート(1)の内容は、
「・ノード番号 n のノードに物理容量の合計が”b - (a - c)”以上のドライブを増設してください。
・ノード番号 n のノードでドライブの減設/障害予兆検知によるデータのリビルド時に通常時よりI/O性能が劣化する可能性があります。」
である。
つまり、通知条件の判定を行ったノードに対し、物理容量の追加に加え、ノードに格納されたデータのリビルドに必要となる最低限必要となる物理容量を通知することができる。尚、実際に追加される物理容量は、最低限必要となる物理容量より多い値、例えば、1.5倍程度の物理容量を追加するようにしても良い。最低限必要となる物理容量よりどの程度多い物理容量を追加するかは、管理者によって適宜設定される。
図17Aでは、ノード番号n上で実行されるデータのリビルドに伴うI/O性能へ影響も管理者に通知するようにしている。
図17Bは、本実施例の通知条件(2)によるアラート(2)の一例を示した図である。
あるフォールトセットに属する第1のストレージノードの割当済み物理チャンクの数が、あるフォールトセットに属し、第1のストレージノード以外のストレージノードで、論理チャンクに割り当てられていない物理チャンクの数(空き物理容量)の合計を上回る場合、ペア先フォールトセットの各ノードの割当済み物理容量が、その他のノードの空き物理容量の合計を上回った場合という通知条件(2)を満たした場合に、図17Bのようなアラート(2)をシステム管理者に通知する。
アラート(2)の内容は、
「・フォールトセット番号 f のフォールトセットに物理容量の合計が”a - (c - b)”以上のノードまたはドライブを増設してください。
・またはフォールトセット番号 f, p 以外のフォールトセット番号のフォールトセットに物理容量の合計が”d - e”以上のノードまたはドライブを増設してください。
・ノード番号 n のノードが閉塞した場合,ノードのデータがリビルド出来ない可能性があります。」
である。
つまり、通知条件の判定を行ったフォールトセットに対し、物理容量の追加と、ノードに格納されたデータのリビルドに必要となる最低限必要となる物理容量の追加を通知することができる。この物理容量の追加は、必要となる物理容量を有するノード或いはドライブの追加で達成することができることも通知する。
また、フォールトセットとペアを組むフォールトセット以外のフォールトセットに対し、物理容量の追加と、リビルドに必要となる物理容量を通知する。この物理容量の追加は、必要となる物理容量を有するノード或いはドライブの追加で達成することができることも通知する。
尚、実際に追加される物理容量は、最低限必要となる物理容量より多い値、例えば、1.5倍程度の物理容量を追加するようにしても良い。最低限必要となる物理容量よりどの程度多い物理容量を追加するかは、管理者によって適宜設定される。
図17Bでは、ノード番号nのノードが閉塞した場合、ノードのデータのリビルドができない可能性がある旨の警告も合わせて通知するようにしている。
図17Cは、本実施例の通知条件(3)によるアラート(3)の一例を示した図である。
各ノードの割当済み物理容量が、データのペア先フォールトセットに属するノードは除くその他のノーの空き物理容量の合計を上回った場合という通知条件(3)を満たした場合に、図17Cのようなアラート(3)をシステム管理者に通知する。
アラート(3)の内容は、
「・フォールトセット番号 f, p 以外のフォールトセット番号のフォールトセットに物理容量の合計が”a - b”以上のノードまたはドライブを増設してください。
・フォールトセット番号 f のフォールトセットが閉塞した場合,フォールトセットのデータがリビルド出来ない可能性があります。」
である。
つまり、通知条件の判定を行ったフォールトセット、ペアとなるフォールトセット以外のフォールトセットに対し、物理容量の追加と、フォールトセットに格納されたデータのリビルドに必要となる最低限必要となる物理容量の追加を通知することができる。この物理容量の追加は、必要となる物理容量を有するノード或いはドライブの追加で達成することができることも通知する。
尚、実際に追加される物理容量は、最低限必要となる物理容量より多い値、例えば、1.5倍程度の物理容量を追加するようにしても良い。最低限必要となる物理容量よりどの程度多い物理容量を追加するかは、管理者によって適宜設定される。
以上の通り、アラート(1)から(3)によって、システムの管理者は、リビルドのための物理容量が不足する場合、物理容量をどこに、どれだけ追加すればよいかを把握できる。
つまり、アラート(1)から(3)によって、システムの管理者は、(i)同一ノードに物理容量を追加するか、(ii)同一のフォールトセットに属するノードに物理容量を追加するか、或いは、同一フォールトセットにノードを追加するか、(iii)冗長データを格納しない他のフォールトセットに属するノードに物理容量を追加するか、あるいは、ノードを追加するか、といった物理容量を追加すべき場所を把握できる。
また、上記の物理容量を追加すべき場所に、どれだけの物理容量を追加すべきかを把握することできる。
図18は、本実施例のノード内優先割当処理を示したフローチャートである。
ステップS1801で、ドライブ d のデータのリビルド要求を受け付ける。
ステップS1802で、物理チャンク管理テーブル403よりドライブ番号 d から切り出された物理チャンク番号 pを取得する。ステップS1803からステップS1810までは、該当する物理チャンク番号分処理を繰り返すためのループである。
ステップS1803で、物理チャンク管理テーブル403より物理チャンク番号 p のステータス s を取得する。
ステップS1804では、ステップS1803で取得した物理チャンク番号のステータスが、割当(Allocated)の場合、ステップS1805に進み、閉塞(Blockade)の場合ステップS1812に進む。
ステップS1805では、ドライブ管理テーブル402より、ドライブ番号 d と同じノード番号のノードに接続し,かつ物理チャンク数(空き)が1以上のドライブ番号 e を取得する。
ステップS1805でドライブ番号eの取得に成功すると、ステップS1806に進み、取得に失敗するとステップS1811に進む。
ステップS1806では、物理チャンク管理テーブル403より、ドライブ番号 e のドライブから切り出されており、かつステータスが"Non_allocated"の物理チャンク番号 q を取得する。
ステップS1807では、物理チャンク番号 p の物理チャンクをリビルド元データとしてノード内のデータのリビルドを指示する。
ステップS1805でドライブ番号eの取得に失敗した場合、ステップS1811で、物理チャンク番号 p の物理チャンクをリビルド元データとしてノード間のデータのリビルドを指示する。
ステップS1804で閉塞(Blockade)と判定し、ステップS1812に進むと、論理チャンク管理テーブルより物理チャンク番号 pとペアを組んでいる物理チャンク番号 q を取得する。
次に、ステップS1813で、物理チャンク番号 q の物理チャンクをリビルド元データとしてノード間のデータのリビルドを指示する。
ステップS1808で、データのリビルドの完了通知を受けると、データリビルド後の内容を反映するため各種テーブル情報更新する(ステップS1810)。
図18の処理により、ドライブdに格納されたデータのリビルドデータを、同一ノードのドライブ上に格納することを優先して行うので、ノード間で発生するデータリビルドのためのデータ転送を抑止し、データリビルドの高速化とシステムのIO性能劣化を達成することができる。
以上、本実施の形態によれば、マルチストレージノードシステムにおいて、ドライブやノード障害、ドライブやノード減設時においても、データの冗長性を確保するためにデータ再構築を行うための容量管理を、ドライブ、ノード、フォールトセット単位で管理することができる。
また、システム管理者は、リオビルドされたデータの格納先の物理容量の不足を把握し、どこに、どれだけ物理容量を追加すればよいかを簡単に把握することができる。
101:ストレージノード(SN)、
101a:クラスタマスタープライマリ(プライマリノード)、
101b:クラスタマスターセカンダリ、
101c:クラスタワーカー
102:フォールトセット(FS)、
103:ストレージクラスタ(SC)、
104:ストレージノード間ネットワーク、
105:コンピュートネットワーク、
106:管理ネットワーク、
107:コンピュートノード(CN)、
108:管理ノード(MN)、
110:SODB、
111:クラスタ制御プログラム、
112:ノード制御プログラム、
113:IO制御アクティブプログラム、
114:IO制御スタンバイプログラム、
115:DPボリューム、
116:DPプール、
117:論理チャンク、
118:物理チャンク、
119:ドライブ、
301:CPU、
302:メモリ。

Claims (15)

  1. 複数のストレージノードから構成されるマルチストレージノードシステムにおいて、
    前記複数のストレージノードは、データを記憶する複数のドライブと、前記複数のドライブにデータの書き込みを制御する制御部とを有し、
    前記制御部は、前記複数のドライブの記憶領域を複数の物理チャンクに分割し、分割された物理チャンクを論理チャンクに割り当てることでデータを格納し、
    前記複数のストレージノードは、単一の障害で影響を受けるフォールトセットに分割され、
    前記マルチストレージノードシステムを管理する、前記複数のストレージノードの内の一つのプライマリノードの制御部は、前記複数のストレージノードの物理チャンクの論理チャンクに対する割り当てを、前記ドライブ毎、前記ストレージノード毎、前記フォールトセット毎に管理するデータベースを有する、
    ことを特徴とするマルチストレージノードシステム。
  2. 請求項1に記載のマルチストレージノードシステムにおいて、
    前記データベースは、前記ドライブ毎に、物理チャンクの数と、論理チャンクに割当済みの物理チャンクの数と、論理チャンクに割当されていない物理チャンクの数を管理するドライブ管理テーブルを含む、
    ことを特徴とするマルチストレージノードシステム。
  3. 請求項2に記載のマルチストレージノードシステムにおいて、
    前記データベースは、
    前記ストレージノード毎に、論理チャンクに割当てられた物理チャンクの数を割当済みチャンクの数として管理する割当済み物理チャンク(ノード)管理テーブルと、
    前記ストレージノード毎に、論理チャンクに割当てられていない物理チャンクの数を空き物理チャンクの数として管理する空き物理チャンク(ノード)管理テーブルとを含む
    ことを特徴とするマルチストレージノードシステム。
  4. 請求項3に記載のマルチストレージノードシステムにおいて、
    前記データベースは、
    前記フォールトセット毎に、論理チャンクに割当てられた物理チャンクの数を割当済みチャンクの数として管理する割当済み物理チャンク(フォールトセット)管理テーブルと、
    前記フォールトセット毎に、論理チャンクに割当てられていない物理チャンクの数を空き物理チャンクの数として管理する空き物理チャンク(フォールトセット)管理テーブルとを含む
    ことを特徴とするマルチストレージノードシステム。
  5. 請求項4に記載のマルチストレージノードシステムにおいて、
    前記割当済み物理チャンク(ノード)管理テーブルと、前記割当済み物理チャンク(フォールトセット)管理テーブルは、
    前記ドライブの種別ごとに、割当済み物理チャンクの数を管理し、
    前記空き物理チャンク(ノード)管理テーブルと、前記空き物理チャンク(フォールトセット)管理テーブルは、
    前記ドライブの種別ごとに、論理チャンクに割り当てられていない物理チャンクの数を管理する
    ことを特徴とするマルチストレージノードシステム。
  6. 請求項1に記載のマルチストレージノードシステムにおいて、
    前記プライマリノードの制御部は、
    前記複数のストレージノードの内の第1のストレージノードにおける第1のドライブの割当済み物理チャンクの数が、前記第1のストレージノードにおける前記第1のドライブ以外のドライブの、割り当てられていない空き物理チャンクの数の合計を上回るか判定し、
    上回る場合に、前記第1のストレージノードに対し、空き物理チャンクの数を追加する警告を通知する
    ことを特徴とするマルチストレージノードシステム。
  7. 請求項6に記載のマルチストレージノードシステムにおいて、
    前記プライマリノードの制御部は、
    前記複数のストレージノードの内の第1のフォールトセットに属する第1のストレージノードの割当済み物理チャンクの数が、前記第1のフォールトセットに属する前記第1のストレージノード以外のストレージノードの、論理チャンクに割り当てられていない物理チャンクの数の合計を上回るか判定し、
    上回る場合に、前記第1のフォールトセットに対し、空き物理チャンクの数を追加する警告を通知する
    ことを特徴とするマルチストレージノードシステム。
  8. 請求項7に記載のマルチストレージノードシステムにおいて、
    前記プライマリノードの制御部は、
    前記複数のストレージノードの内の第2のフォールトセットに属するストレージノードの割当済み物理チャンクの数が、前記第2のフォールトセット以外のフォールトセットに属するストレージノードの、論理チャンクに割り当てられていない物理チャンクの数の合計を上回るか判定し、
    上回る場合に、前記第2のフォールトセット以外のフォールセットに対し、空き物理チャンクの数を追加する警告を通知する
    ことを特徴とするマルチストレージノードシステム。
  9. 複数のストレージノードから構成されるマルチストレージノードシステムの容量管理方法において、
    前記複数のストレージノードは、データを記憶する複数のドライブと、前記複数のドライブにデータの書き込みを制御する制御部とを有し、
    前記制御部は、前記複数のドライブの記憶領域を複数の物理チャンクに分割し、分割された物理チャンクを論理チャンクに割り当てることでデータを格納し、
    前記複数のストレージノードは、単一の障害で影響を受けるフォールトセットに分割され、
    前記マルチストレージノードシステムを管理する、前記複数のストレージノードの内の一つのプライマリノードの制御部は、前記複数のストレージノードの物理チャンクの論理チャンクに対する割り当てを、前記ドライブ毎、前記ストレージノード毎、前記フォールトセット毎にデータベースで管理する、
    ことを特徴とするマルチストレージノードシステムの容量管理方法。
  10. 請求項9に記載のマルチストレージノードシステムの容量管理方法において、
    前記データベースは、前記ドライブ毎に、物理チャンクの数と、論理チャンクに割当済みの物理チャンクの数と、論理チャンクに割当されていない物理チャンクの数を管理するドライブ管理テーブルを含む、
    ことを特徴とするマルチストレージノードシステムの容量管理方法。
  11. 請求項10に記載のマルチストレージノードシステムの容量管理方法において、
    前記データベースは、
    前記ストレージノード毎に、論理チャンクに割当てられた物理チャンクの数を割当済みチャンクの数として管理する割当済み物理チャンク(ノード)管理テーブルと、
    前記ストレージノード毎に、論理チャンクに割当てられていない物理チャンクの数を空き物理チャンクの数として管理する空き物理チャンク(ノード)管理テーブルとを含む
    ことを特徴とするマルチストレージノードシステムの容量管理方法。
  12. 請求項11に記載のマルチストレージノードシステムの容量管理方法において、
    前記データベースは、
    前記フォールトセット毎に、論理チャンクに割当てられた物理チャンクの数を割当済みチャンクの数として管理する割当済み物理チャンク(フォールトセット)管理テーブルと、
    前記フォールトセット毎に、論理チャンクに割当てられていない物理チャンクの数を空き物理チャンクの数として管理する空き物理チャンク(フォールトセット)管理テーブルとを含む
    ことを特徴とするマルチストレージノードシステムの容量管理方法。
  13. 請求項9に記載のマルチストレージノードシステムの容量管理方法において、
    前記プライマリノードの制御部は、
    前記複数のストレージノードの内の第1のストレージノードにおける第1のドライブの割当済み物理チャンクの数が、前記第1のストレージノードにおける前記第1のドライブ以外のドライブの、割り当てられていない空き物理チャンクの数の合計を上回るか判定し、
    上回る場合に、前記第1のストレージノードに対し、空き物理チャンクの数を追加する警告を通知する
    ことを特徴とするマルチストレージノードシステムの容量管理方法。
  14. 請求項13に記載のマルチストレージノードシステムの容量管理方法において、
    前記プライマリノードの制御部は、
    前記複数のストレージノードの内の第1のフォールトセットに属する第1のストレージノードの割当済み物理チャンクの数が、前記第1のフォールトセットに属する前記第1のストレージノード以外のストレージノードの、論理チャンクに割り当てられていない物理チャンクの数の合計を上回るか判定し、
    上回る場合に、前記第1のフォールトセットに対し、空き物理チャンクの数を追加する警告を通知する
    ことを特徴とするマルチストレージノードシステムの容量管理方法。
  15. 請求項14に記載のマルチストレージノードシステムの容量管理方法において、
    前記プライマリノードの制御部は、
    前記複数のストレージノードの内の第2のフォールトセットに属するストレージノードの割当済み物理チャンクの数が、前記第2のフォールトセット以外のフォールトセットに属するストレージノードの、論理チャンクに割り当てられていない物理チャンクの数の合計を上回るか判定し、
    上回る場合に、前記第2のフォールトセット以外のフォールセットに対し、空き物理チャンクの数を追加する警告を通知する
    ことを特徴とするマルチストレージノードシステムの容量管理方法。
JP2019024772A 2019-02-14 2019-02-14 マルチストレージノードシステム、マルチストレージノードシステムの容量管理方法 Active JP6857673B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2019024772A JP6857673B2 (ja) 2019-02-14 2019-02-14 マルチストレージノードシステム、マルチストレージノードシステムの容量管理方法
CN201910777265.5A CN111562881B (zh) 2019-02-14 2019-08-22 多存储节点系统和多存储节点系统的容量管理方法
US16/563,724 US10990313B2 (en) 2019-02-14 2019-09-06 Multi-storage node system and capacity management method of multi-storage node system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019024772A JP6857673B2 (ja) 2019-02-14 2019-02-14 マルチストレージノードシステム、マルチストレージノードシステムの容量管理方法

Publications (2)

Publication Number Publication Date
JP2020135137A true JP2020135137A (ja) 2020-08-31
JP6857673B2 JP6857673B2 (ja) 2021-04-14

Family

ID=72042084

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019024772A Active JP6857673B2 (ja) 2019-02-14 2019-02-14 マルチストレージノードシステム、マルチストレージノードシステムの容量管理方法

Country Status (3)

Country Link
US (1) US10990313B2 (ja)
JP (1) JP6857673B2 (ja)
CN (1) CN111562881B (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113312328B (zh) * 2021-07-28 2022-01-25 阿里云计算有限公司 控制方法、数据处理方法、数据访问方法及计算设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012523594A (ja) * 2009-08-31 2012-10-04 株式会社日立製作所 複数のフラッシュパッケージを有するストレージシステム
US20170177248A1 (en) * 2015-12-18 2017-06-22 Emc Corporation Capacity exhaustion prevention for distributed storage
US20180150244A1 (en) * 2016-11-30 2018-05-31 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Selection of fabric-attached storage drives on which to provision drive volumes for realizing logical volume on client computing device within storage area network
WO2018131127A1 (ja) * 2017-01-12 2018-07-19 株式会社日立製作所 ストレージ装置及び分散ストレージシステム
US20180293018A1 (en) * 2015-02-20 2018-10-11 Netapp, Inc. Policy-based hierarchical data protection in distributed storage

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7010553B2 (en) * 2002-03-19 2006-03-07 Network Appliance, Inc. System and method for redirecting access to a remote mirrored snapshot
JP2005165702A (ja) * 2003-12-03 2005-06-23 Hitachi Ltd クラスタストレージのデバイス連結方法
US8234447B2 (en) * 2009-10-09 2012-07-31 Hitachi, Ltd. Storage control device for storage system provided with storage device coupled to switch network
US9442671B1 (en) * 2010-12-23 2016-09-13 Emc Corporation Distributed consumer cloud storage system
JP2013200741A (ja) * 2012-03-26 2013-10-03 Toshiba Corp 半導体記憶装置、その制御方法及び情報処理装置
WO2014108933A1 (en) * 2013-01-10 2014-07-17 Hitachi, Ltd. Resource management system and resource management method of a computer system
JP6222227B2 (ja) * 2013-05-20 2017-11-01 日本電気株式会社 ストレージノード、ストレージノード管理装置、ストレージノード論理容量設定方法、プログラム、記録媒体および分散データストレージシステム
US10346075B2 (en) * 2015-03-16 2019-07-09 Hitachi, Ltd. Distributed storage system and control method for distributed storage system
CN108701002B (zh) * 2016-02-29 2021-10-29 株式会社日立制作所 虚拟存储系统
JP6668309B2 (ja) * 2017-11-30 2020-03-18 株式会社日立製作所 記憶システム及びその制御方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012523594A (ja) * 2009-08-31 2012-10-04 株式会社日立製作所 複数のフラッシュパッケージを有するストレージシステム
US20180293018A1 (en) * 2015-02-20 2018-10-11 Netapp, Inc. Policy-based hierarchical data protection in distributed storage
US20170177248A1 (en) * 2015-12-18 2017-06-22 Emc Corporation Capacity exhaustion prevention for distributed storage
US20180150244A1 (en) * 2016-11-30 2018-05-31 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Selection of fabric-attached storage drives on which to provision drive volumes for realizing logical volume on client computing device within storage area network
WO2018131127A1 (ja) * 2017-01-12 2018-07-19 株式会社日立製作所 ストレージ装置及び分散ストレージシステム

Also Published As

Publication number Publication date
US10990313B2 (en) 2021-04-27
US20200264794A1 (en) 2020-08-20
CN111562881B (zh) 2024-06-07
JP6857673B2 (ja) 2021-04-14
CN111562881A (zh) 2020-08-21

Similar Documents

Publication Publication Date Title
JP6791834B2 (ja) 記憶システム及び制御ソフトウェア配置方法
US10496479B2 (en) Distributed storage system
JP5971354B2 (ja) ストレージシステム
JP2021012476A (ja) 分散ストレージシステム、分散ストレージシステムの制御方法及び記憶媒体
JP6434131B2 (ja) 分散処理システム、タスク処理方法、記憶媒体
JP4711688B2 (ja) ストレージシステム
US10296429B2 (en) Storage device
US20150347047A1 (en) Multilayered data storage methods and apparatus
US10705737B2 (en) Storage system and data arrangement method of storage system
JP2011076286A (ja) ボリューム割り当てを管理する計算機システム及びボリューム割り当て管理方法
JP6974281B2 (ja) ストレージシステム及びストレージ制御方法
JP2020021277A (ja) 情報処理システム、情報処理システムの管理方法及びプログラム
CN113448502B (zh) 分布式存储系统和存储控制方法
US11372557B2 (en) Extra-resilient cache for resilient storage array
US20230004464A1 (en) Snapshot commitment in a distributed system
CN104410531A (zh) 冗余的系统架构方法
US20190129979A1 (en) Systems and methods of providing data protection for hyper-converged infrastructures
JP6857673B2 (ja) マルチストレージノードシステム、マルチストレージノードシステムの容量管理方法
CN110674539B (zh) 一种硬盘保护设备、方法及系统
JP7179947B2 (ja) ストレージシステム及びストレージ制御方法
US11789613B2 (en) Storage system and data processing method
JP6905611B2 (ja) 記憶システム及びその制御方法
JP7057408B2 (ja) 記憶システム及びその制御方法
WO2014009994A1 (en) Disk subsystem and method for controlling memory access
JP2024077039A (ja) ストレージシステム及びストレージ制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190806

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201027

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201221

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210224

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210322

R150 Certificate of patent or registration of utility model

Ref document number: 6857673

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150