JP7167078B2 - 分散ストレージシステム及び記憶制御方法 - Google Patents
分散ストレージシステム及び記憶制御方法 Download PDFInfo
- Publication number
- JP7167078B2 JP7167078B2 JP2020058088A JP2020058088A JP7167078B2 JP 7167078 B2 JP7167078 B2 JP 7167078B2 JP 2020058088 A JP2020058088 A JP 2020058088A JP 2020058088 A JP2020058088 A JP 2020058088A JP 7167078 B2 JP7167078 B2 JP 7167078B2
- Authority
- JP
- Japan
- Prior art keywords
- storage
- data
- logical unit
- control program
- storage control
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 27
- 238000013507 mapping Methods 0.000 claims description 39
- 238000004891 communication Methods 0.000 claims description 21
- 230000015654 memory Effects 0.000 claims description 16
- 230000005012 migration Effects 0.000 claims description 11
- 238000013508 migration Methods 0.000 claims description 11
- 238000007726 management method Methods 0.000 description 52
- 238000010586 diagram Methods 0.000 description 32
- 238000012545 processing Methods 0.000 description 25
- 238000011084 recovery Methods 0.000 description 19
- 230000008569 process Effects 0.000 description 10
- 238000012546 transfer Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000000052 comparative effect Effects 0.000 description 3
- 230000008439 repair process Effects 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 230000002085 persistent effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000004931 aggregating effect Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 238000007637 random forest analysis Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1464—Management of the backup or restore process for networked environments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/202—Error 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 processing functionality is redundant
- G06F11/2038—Error 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 processing functionality is redundant with a single idle spare processing component
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/202—Error 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 processing functionality is redundant
- G06F11/2041—Error 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 processing functionality is redundant with more than one idle spare processing component
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/202—Error 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 processing functionality is redundant
- G06F11/2043—Error 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 processing functionality is redundant where the redundant components share a common memory address space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/202—Error 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 processing functionality is redundant
- G06F11/2046—Error 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 processing functionality is redundant where the redundant components share persistent storage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2053—Error 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/2089—Redundant storage control functionality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0635—Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0653—Monitoring storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1469—Backup restoration techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2097—Error 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 maintaining the standby controller/processing unit updated
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)
- Computer Networks & Wireless Communication (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Hardware Redundancy (AREA)
Description
・図3には示されないが、ストレージ制御プログラム103Aが、当該復元したユーザデータ要素を含む冗長化データセットを、障害ドライブ204Aa以外の2つ以上のドライブ204に基づくチャンクグループに書き込む。このケースでは、チャンクグループの再構成は不要である。
・図3が示す通り、ストレージ制御プログラム103Aが、当該復元したユーザデータ要素を、ドライブ204Ac(ドライブ204Aa、204Ab、204Ad及び204Af以外のドライブの一例)のチャンクCcに書き込む。そして、ストレージ制御プログラム103Aは、当該ユーザデータ要素を含んだ冗長化データセットを保持するチャンクグループの構成を変更する、具体的には、当該チャンクグループのうち、チャンクCaをチャンクCcに差し替える。このように、このケースでは、チャンクグループの再構成は必要である。
・「チャンク」は、1つのドライブ204が提供する記憶領域全体の一部である。1つのドライブ204が、複数のチャンクを提供する。
・「チャンクグループ」は、異なる2つ以上のドライブ204がそれぞれ提供する異なる2つ以上のチャンクから構成された記憶領域である。1つのチャンクグループを提供する「異なる2つ以上のドライブ204」は、1つのドライブボックス106に閉じていてもよいし、2つ以上のドライブボックス106に跨っていてもよい。
・「ページ」は、チャンクグループを構成する2つ以上のチャンクの各々の一部から構成される記憶領域である。ページが、チャンクグループそれ自体でもよいが、本実施形態では、複数のページから1つのチャンクグループが構成されている。
・「ストリップ」は、1つのドライブ204が提供する記憶領全体の一部である。1つストリップは、1つのデータ要素(ユーザデータ要素又はパリティ)を格納する。ストリップは、1つのドライブ204が提供する最小単位の記憶領域でよい。すなわち、複数のストリップから1つのチャンクが構成されていてもよい。
・「ストライプ」は、異なる2つ以上のドライブ204が提供する異なる2つ以上のストリップ(例えば同一論理アドレスの2つ以上のストリップ)から構成された記憶領域である。1つのストライプに、1つの冗長化データセットが書き込まれてよい。すなわち、1つのストライプを構成する2つ以上のストリップに、1つの冗長化データセットを構成する2つ以上のデータ要素がそれぞれ書き込まれてよい。ストライプは、ページの全体又は一部でよい。また、ストライプは、チャンクグループの全体又は一部であってよい。本実施形態では、1つのチャンクグループが、複数のページから構成されていて、1つのページが、複数のストライプから構成されていてよい。チャンクグループを構成する複数のストライプは、当該チャンクグループのRAID構成と同一のRAID構成を持っていてよい。
・「冗長構成領域」は、ストライプ、ページ及びチャンクグループのいずれかの一例でよい。
・「ドライブ領域」は、デバイス領域の一例でよく、具体的には、例えば、ストリップ及びチャンクのいずれかの一例でよい。
・チャンク管理テーブルが用意されてよい。チャンク管理テーブルは、複数のストレージ制御プログラム103が共有してよい。チャンク管理グループは、チャンク毎に、当該チャンクを提供するドライブと、当該ドライブを有するドライブボックスと、チャンクの状態(例えば、いずれのチャンクグループの構成要素となっていない空きの状態であるか否か)を表してよい。
・ストレージ制御プログラム103(又は、管理プログラム51)が、チャンクグループを新たに作成する条件が満たされた場合(例えば、1つ以上の作成済みチャンクグループの空き容量が所定値未満になった場合)、異なる2つ以上のドライブ204がそれぞれ提供する異なる2つ以上の空きチャンクから構成されたチャンクグループを新たに作成してよい。ストレージ制御プログラム103(又は、管理プログラム51)は、当該チャンクグループの構成を表す情報をチャンクグループ管理テーブル600に追記してよい。ストレージ制御プログラム103が、新たに作成されたチャンクグループに、ライト対象のデータに従う1つ以上の冗長化データセットを書き込んでよい。これにより、チャンクグループの枯渇を回避しながら、最適なデータ冗長度のチャンクグループを作成することが期待される。
・ストレージ制御プログラム103(又は、管理プログラム51)は、作成するチャンクグループのデータ冗長度(RAIDレベル)を、所定のポリシーに従って決定してよい。例えば、ドライブボックスにおける空き容量が所定値以上であれば、ストレージ制御プログラム103(又は、管理プログラム51)は、新たに作成するチャンクグループのデータ冗長度を、RAID6(3D+2P)としてよい。ドライブボックスにおける空き容量が所定値未満であれば、ストレージ制御プログラム103(又は、管理プログラム51)は、新たに作成するチャンクグループのデータ冗長度を、ドライブボックスにおける空き容量が所定値以上の場合よりも少ないチャンクで実現可能なデータ冗長度(例えば、RAID5(3D+1P))としてよい。
・チャンクグループ管理テーブル600に、チャンク毎に、当該チャンクを提供するドライブ204と当該ドライブ204を有するドライブボックス106との情報が追加される。
・チャンクの識別子が、当該当該チャンクを提供するドライブ204の識別子と当該ドライブ204を有するドライブボックス106の識別子とを含む。
106:ドライブボックス
Claims (11)
- 複数の物理記憶デバイスを含んだ1つ又は複数のストレージユニットと、
前記1つ又は複数のストレージユニットに通信ネットワークを介して接続された複数の計算機と
を有し、
前記複数の計算機のうちの2つ以上の計算機が、それぞれ、ストレージ制御プログラムを実行し、
前記2つ以上の計算機の各々が、前記複数の物理記憶デバイスが提供する複数の記憶領域に関するメタデータを有し、前記2つ以上の計算機における2つ以上のストレージ制御プログラムが、前記2つ以上の計算機のうちの一の計算機におけるメタデータの更新があった場合には前記2つ以上の計算機のうちの他の計算機におけるメタデータに当該更新を反映し、
論理ユニット毎に、当該論理ユニットを構成する記憶領域と、2つ以上の物理記憶デバイスに基づく1つ以上の記憶領域との対応関係を表すデータであるマッピングデータを、当該論理ユニットのI/Oを担当する計算機であるオーナーサーバが有し、
前記2つ以上のストレージ制御プログラムの各々は、
当該ストレージ制御プログラムが提供する論理ユニットにおけるライト先領域を指定したライト要求を、当該論理ユニットを認識するアプリケーションから受け、
当該ライト要求に付随するデータを、前記メタデータを基に冗長化し、
当該冗長化されたデータである1つ以上の冗長化データセットを、当該ライト先領域の基になっている2つ以上の物理記憶デバイスが提供する1つ以上の記憶領域に書き込み、
前記ストレージ制御プログラムに障害が発生した場合、当該障害が発生したストレージ制御プログラムを有する計算機における論理ユニット毎に、
各計算機の負荷に基づいて、当該論理ユニットの移動先の計算機である新たなオーナーサーバを、それぞれ前記メタデータを有する2つ以上の計算機から選択し、
当該選択された新たなオーナーサーバに、当該論理ユニットのマッピングデータをコピーし、
当該論理ユニットについてのマッピングデータを基に、当該論理ユニットを前記新たなオーナーサーバに復旧し、当該復旧された論理ユニットを提供し、
前記新たなオーナーサーバおけるストレージ制御プログラムが、前記コピーされたマッピングデータ及び前記メタデータを用いて、前記復旧された論理ユニットの記憶領域に格納されたデータにアクセスし、
前記物理記憶デバイスに障害が発生した場合、障害の発生していない他の物理記憶デバイスに記憶された冗長化させたデータを用いて、前記ストレージ制御プログラムが前記障害の発生した物理記憶デバイスのデータを復元する
分散ストレージシステム。 - 前記複数の物理記憶デバイスの各々が、2つ以上の記憶領域である2つ以上のデバイス領域を提供し、
前記複数の記憶領域は、複数の冗長構成領域であり、
前記メタデータが、前記複数の冗長構成領域の各々について、当該冗長構成領域の構成とデータ保護方法とを表し、
前記複数の冗長構成領域の各々は、冗長化データセットが書き込まれる記憶領域であって、前記複数の物理記憶デバイスのうちの2つ以上の物理記憶デバイスがそれぞれ提供するデバイス領域で構成されている記憶領域である、
請求項1に記載の分散ストレージシステム。 - 1つ又は2つ以上の物理記憶デバイスが1つ以上のストレージユニットに追加されたこと、又は、1つ以上のストレージユニットが追加されたことを検出したストレージ制御プログラムが、
1つ以上の冗長構成領域の追加と、1つ以上の冗長構成領域の構成の変更とのうちの少なくとも1つである再構成を行い、
当該再構成後の冗長構成領域の構成を表すデータに前記メタデータを更新する、
請求項2に記載の分散ストレージシステム。 - いずれかの物理記憶デバイスに障害が生じた場合、当該障害が生じた物理記憶デバイスに格納されており1つ又は複数の冗長化データセットがそれぞれ有する1つ又は複数のデータ要素の各々について、当該データ要素を書き込んだストレージ制御プログラムが、前記メタデータを基に、当該データ要素を、当該データ要素を含む冗長化データセットのうち当該データ要素以外のデータ要素から復元し、当該復元したデータ要素を、当該冗長化データセットを格納した物理記憶デバイス以外のいずれかの物理記憶デバイスに書き込む、
請求項1に記載の分散ストレージシステム。 - 計算機が増設された場合、いずれか既存の計算機におけるストレージ制御プログラムが提供した少なくとも1つの論理ユニットについて、当該増設された計算機におけるストレージ制御プログラムが、
当該論理ユニットのマッピングデータを当該既存の計算機におけるストレージ制御プログラムから受けて、
当該マッピングデータを基に、当該論理ユニットを復旧し、
復旧した論理ユニットを提供する、
請求項1に記載の分散ストレージシステム。 - いずれかの計算機におけるストレージ制御プログラムが提供した少なくとも1つの論理ユニットについて、当該計算機とは別の計算機であって当該論理ユニットの提供を受けるアプリケーションを有する計算機である移動先の計算機におけるストレージ制御プログラムが、
当該論理ユニットのマッピングデータを、当該論理ユニットの移動元の計算機におけるストレージ制御プログラムから受けて、
当該マッピングデータを基に、当該論理ユニットの移動先としての論理ユニットを構築し、
当該構築した論理ユニットを、当該アプリケーションに提供する、
請求項1に記載の分散ストレージシステム。 - 複数のドメインがあり、
前記複数のドメインの各々が、1つ以上の計算機と1つ以上のストレージユニットを含み、
各ストレージ制御プログラムについて、当該ストレージ制御プログラムが生成した冗長化データセットのライト先は、当該ストレージ制御プログラムを含んだドメイン内の2つ以上の物理記憶デバイスである、
請求項1に記載の分散ストレージシステム。 - 前記通信ネットワークは、複数のサブ通信ネットワークを含み、
前記複数のドメインの各々は、
当該ドメインに対応したサブ通信ネットワークに接続された1つ以上の計算機及び1つ以上のストレージユニットを含み、
当該ドメインに対応したサブ通信ネットワークに別の1つ以上のサブ通信ネットワークを介して接続された1つ以上の計算機及び1つ以上のストレージユニットを含まない、
請求項7に記載の分散ストレージシステム。 - 前記2つ以上のストレージ制御プログラムの少なくとも1つが、
前記メタデータを基に、いずれの冗長化構成領域の構成要素になっていない2つ以上の空きのデバイス領域を特定し、
特定した2つ以上の空きのデバイス領域で冗長化構成領域を構成し、
構成された冗長化構成領域の情報を前記メタデータに追加する、
請求項1に記載の分散ストレージシステム。 - 前記2つ以上のストレージ制御プログラムの少なくとも1つが、前記メタデータから、1つ以上の構成済のチャンクグループの空き容量が閾値未満であることが特定された場合に、前記2つ以上の空きのデバイス領域を特定する、
請求項9に記載の分散ストレージシステム。 - 分散ストレージシステムを構成する複数の計算機のうちの2つ以上の計算機の各々が、前記複数の計算機に通信ネットワークを介して接続されている1つ又は複数のストレージユニットにおける複数の物理記憶デバイスが提供する複数の記憶領域に関するメタデータを有し、
論理ユニット毎に、当該論理ユニットを構成する記憶領域と、2つ以上の物理記憶デバイスに基づく1つ以上の記憶領域との対応関係を表すデータであるマッピングデータを、当該論理ユニットのI/Oを担当する計算機であるオーナーサーバが有し、
前記2つ以上の計算機における2つ以上のストレージ制御プログラムが、前記2つ以上の計算機のうちの一の計算機におけるメタデータの更新があった場合には前記2つ以上の計算機のうちの他の計算機におけるメタデータに当該更新を反映し、
論理ユニットにおけるライト先領域を指定したライト要求を、いずれかの計算機に存在し当該論理ユニットを認識するアプリケーションから、当該論理ユニットを提供するストレージ制御プログラムが受けた場合、当該ストレージ制御プログラムが、
当該ライト要求に付随するデータを、前記メタデータを基に冗長化し、
当該冗長化されたデータである1つ以上の冗長化データセットを、当該ライト先領域の基になっている2つ以上の物理記憶デバイスが提供する1つ以上の記憶領域に書き込み、
前記ストレージ制御プログラムに障害が発生した場合、当該障害が発生したストレージ制御プログラムを有する計算機における論理ユニット毎に、
各計算機の負荷に基づいて、当該論理ユニットの移動先の計算機である新たなオーナーサーバを、それぞれ前記メタデータを有する2つ以上の計算機から選択し、
当該選択された新たなオーナーサーバに、当該論理ユニットのマッピングデータをコピーし、
当該論理ユニットについてのマッピングデータを基に、当該論理ユニットを前記新たなオーナーサーバに復旧し、当該復旧された論理ユニットを提供し、
前記新たなオーナーサーバおけるストレージ制御プログラムが、前記コピーされたマッピングデータ及び前記メタデータを用いて、前記復旧された論理ユニットの記憶領域に格納されたデータにアクセスし、
前記物理記憶デバイスに障害が発生した場合、障害の発生していない他の物理記憶デバイスに記憶された冗長化させたデータを用いて、前記ストレージ制御プログラムが、前記障害の発生した物理記憶デバイスのデータを復元する、
記憶制御方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020058088A JP7167078B2 (ja) | 2020-03-27 | 2020-03-27 | 分散ストレージシステム及び記憶制御方法 |
CN202010883083.9A CN113448502B (zh) | 2020-03-27 | 2020-08-28 | 分布式存储系统和存储控制方法 |
US17/019,471 US20210303178A1 (en) | 2020-03-27 | 2020-09-14 | Distributed storage system and storage control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020058088A JP7167078B2 (ja) | 2020-03-27 | 2020-03-27 | 分散ストレージシステム及び記憶制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021157588A JP2021157588A (ja) | 2021-10-07 |
JP7167078B2 true JP7167078B2 (ja) | 2022-11-08 |
Family
ID=77808512
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020058088A Active JP7167078B2 (ja) | 2020-03-27 | 2020-03-27 | 分散ストレージシステム及び記憶制御方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20210303178A1 (ja) |
JP (1) | JP7167078B2 (ja) |
CN (1) | CN113448502B (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11461029B1 (en) * | 2021-03-18 | 2022-10-04 | EMC IP Holding Company LLC | Techniques for storage management |
US20230019814A1 (en) * | 2021-07-14 | 2023-01-19 | Vmware, Inc. | Migration of virtual compute instances using remote direct memory access |
US20230031872A1 (en) * | 2021-07-24 | 2023-02-02 | Vmware, Inc. | Enhanced platform and processes for scalability |
JP2023096958A (ja) | 2021-12-27 | 2023-07-07 | 株式会社日立製作所 | ストレージシステム及びストレージシステム制御方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016038767A (ja) | 2014-08-08 | 2016-03-22 | 富士通株式会社 | ストレージ制御装置、ストレージ制御プログラム、及びストレージ制御方法 |
JP2016510440A (ja) | 2013-03-18 | 2016-04-07 | 株式会社日立製作所 | 複合型ストレージシステム及び記憶制御方法 |
WO2019047834A1 (zh) | 2017-09-05 | 2019-03-14 | 华为技术有限公司 | 用于传输数据处理请求的方法和装置 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7328307B2 (en) * | 2004-01-22 | 2008-02-05 | Tquist, Llc | Method and apparatus for improving update performance of non-uniform access time persistent storage media |
US9170892B2 (en) * | 2010-04-19 | 2015-10-27 | Microsoft Technology Licensing, Llc | Server failure recovery |
US9116862B1 (en) * | 2012-01-17 | 2015-08-25 | Amazon Technologies, Inc. | System and method for data replication using a single master failover protocol |
US9077580B1 (en) * | 2012-04-09 | 2015-07-07 | Symantec Corporation | Selecting preferred nodes for specific functional roles in a cluster |
US8924656B1 (en) * | 2012-04-26 | 2014-12-30 | Netapp, Inc. | Storage environment with symmetric frontend and asymmetric backend |
JP5773446B2 (ja) * | 2012-11-28 | 2015-09-02 | Necソリューションイノベータ株式会社 | 記憶装置、冗長性回復方法、およびプログラム |
JP6273353B2 (ja) * | 2014-04-21 | 2018-01-31 | 株式会社日立製作所 | 計算機システム |
US10346245B2 (en) * | 2014-12-09 | 2019-07-09 | Tsinghua University | Data storage system and data storage method |
US9575853B2 (en) * | 2014-12-12 | 2017-02-21 | Intel Corporation | Accelerated data recovery in a storage system |
WO2019043717A1 (en) * | 2017-09-04 | 2019-03-07 | Kaminario Technologies Ltd. | SECURE ACCESS CONTROL IN A STORAGE SYSTEM |
CN110187999B (zh) * | 2019-05-09 | 2021-04-27 | 新华三技术有限公司 | 地址映射数据备份方法及装置 |
US11169723B2 (en) * | 2019-06-28 | 2021-11-09 | Amazon Technologies, Inc. | Data storage system with metadata check-pointing |
-
2020
- 2020-03-27 JP JP2020058088A patent/JP7167078B2/ja active Active
- 2020-08-28 CN CN202010883083.9A patent/CN113448502B/zh active Active
- 2020-09-14 US US17/019,471 patent/US20210303178A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016510440A (ja) | 2013-03-18 | 2016-04-07 | 株式会社日立製作所 | 複合型ストレージシステム及び記憶制御方法 |
JP2016038767A (ja) | 2014-08-08 | 2016-03-22 | 富士通株式会社 | ストレージ制御装置、ストレージ制御プログラム、及びストレージ制御方法 |
WO2019047834A1 (zh) | 2017-09-05 | 2019-03-14 | 华为技术有限公司 | 用于传输数据处理请求的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
JP2021157588A (ja) | 2021-10-07 |
CN113448502A (zh) | 2021-09-28 |
CN113448502B (zh) | 2024-04-12 |
US20210303178A1 (en) | 2021-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7167078B2 (ja) | 分散ストレージシステム及び記憶制御方法 | |
US9122410B2 (en) | Storage system comprising function for changing data storage mode using logical volume pair | |
US20200387479A1 (en) | Using data characteristics to optimize grouping of similar data for garbage collection | |
CN109857334B (zh) | 存储系统及其控制方法 | |
CN110383251B (zh) | 存储系统、计算机可读记录介质、系统的控制方法 | |
US10454810B1 (en) | Managing host definitions across a plurality of storage systems | |
US20230280910A1 (en) | Allocation Of Differing Erase Block Sizes | |
US12105979B2 (en) | Servicing input/output (‘I/O’) operations during a change in membership to a pod of storage systems synchronously replicating a dataset | |
US11861205B2 (en) | Distributed storage system and volume migration method | |
US11740823B2 (en) | Storage system and storage control method | |
CN113821298A (zh) | 使用底层卷标识符将存储操作请求中继到存储系统 | |
JP6974281B2 (ja) | ストレージシステム及びストレージ制御方法 | |
US20230004464A1 (en) | Snapshot commitment in a distributed system | |
US20220365692A1 (en) | Techniques for storage management | |
US12111730B2 (en) | Storage system and failure handling method | |
JP7179947B2 (ja) | ストレージシステム及びストレージ制御方法 | |
JP7142052B2 (ja) | ハイブリッドクラウドにおけるデータを保護する方法 | |
JP7137612B2 (ja) | 分散型ストレージシステム、データ復旧方法、及びデータ処理プログラム | |
US11544005B2 (en) | Storage system and processing method | |
JP6858812B2 (ja) | ストレージ制御システム及び方法 | |
US20240220378A1 (en) | Information processing system and information processing method | |
JP2023151189A (ja) | ストレージシステム及びその制御方法 | |
JP2023181818A (ja) | ストレージシステムおよびストレージシステムにおけるデータレイアウト変換方法 | |
JP2023096958A (ja) | ストレージシステム及びストレージシステム制御方法 | |
JP2024061460A (ja) | ストレージシステムおよびストレージ制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20201202 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220301 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220428 |
|
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: 20220927 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20221026 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7167078 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |