JP2020021277A - 情報処理システム、情報処理システムの管理方法及びプログラム - Google Patents

情報処理システム、情報処理システムの管理方法及びプログラム Download PDF

Info

Publication number
JP2020021277A
JP2020021277A JP2018144411A JP2018144411A JP2020021277A JP 2020021277 A JP2020021277 A JP 2020021277A JP 2018144411 A JP2018144411 A JP 2018144411A JP 2018144411 A JP2018144411 A JP 2018144411A JP 2020021277 A JP2020021277 A JP 2020021277A
Authority
JP
Japan
Prior art keywords
processing system
information processing
failure
storage node
storage
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
JP2018144411A
Other languages
English (en)
Other versions
JP6850771B2 (ja
Inventor
里山 愛
Ai Satoyama
愛 里山
智大 川口
Tomohiro Kawaguchi
智大 川口
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 JP2018144411A priority Critical patent/JP6850771B2/ja
Priority to US16/295,692 priority patent/US11221935B2/en
Publication of JP2020021277A publication Critical patent/JP2020021277A/ja
Application granted granted Critical
Publication of JP6850771B2 publication Critical patent/JP6850771B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/1092Rebuilding, e.g. when physically replacing a failing disk
    • 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/202Error 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/2023Failover techniques
    • G06F11/2028Failover techniques eliminating a faulty processor or activating a spare
    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3433Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3452Performance evaluation by statistical 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/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold

Abstract

【課題】冗長化された情報処理システムを極力停止させることなく継続して稼働させる。【解決手段】プロセッサと、メモリと、記憶装置と、を有する複数のストレージノードと、前記複数のストレージノードを接続するネットワークを有する情報処理システムであって、少なくとも一つのストレージノードの前記プロセッサは、前記情報処理システムの構成情報を取得し、前記情報処理システムに発生した第1の障害にかかる第1の障害情報を取得し、前記構成情報と前記第1の障害情報とに基づいて、さらに第2の障害が発生した場合の前記情報処理システムの可用性レベルを算出し、前記可用性レベルに基づいて制御を行う。【選択図】図1

Description

本発明は、SDS(Software Defined Storage)が実装された複数のストレージノードを含む情報処理システムに関する。
従来型のシングルノードであるストレージシステムでは、障害が発生すると障害が発生したことを示す障害情報をストレージ管理者へ通知する。ストレージ管理者は前記通知を受信すると即座に保守員へ指示を出す。保守員は前記指示を受け付けると、前記障害情報を基に保守作業を開始する。
障害が発生するごとに保守作業を実施している。一方、サーバクラスタ技術では、全サーバ台数のうち故障台数が閾値を越えるまではフェイルオーバを繰り返しながらシステムの運用を継続し、前記サーバ故障台数が閾値を超えた時点でシステム全体を一時停止してサーバ交換等の保守作業を実施している。
SDS等の情報処理システムでは、可用性及び信頼性向上のため異なるサーバ筐体にデータの複製を格納する冗長化構成での運用を行っている。なお、以下において、SDSとは、ストレージ機能を有するソフトウェアを汎用のサーバ装置に実装することにより構築されるストレージ装置を指す。
複数のストレージデバイスを利用するストレージシステムとしては、例えば、物理デバイスを仮想容量プールとして管理するシンプロビジョニングが知られている(例えば、特許文献1)。
特開2003−015915号公報
1000台規模の複数ノードから構成されるSDSシステムにおいて、SDSシステム内の1ノードに障害が発生する度に保守作業を行うと、保守作業の頻度が高くなり稼働時間に対する保守時間も長くなるため、現実的なシステム運用ができない。
また、SDSシステムの場合、SDSシステム内でデータを冗長に保持する運用をしており、この冗長化構成が保たれているか否かによってSDSシステムの運用を継続するか否かを判断できる。しかしながら、障害が発生したノードの台数を監視しても、冗長化構成が維持されているか否かを容易に判定することができない、という問題があった。
本発明の目的は、冗長化された情報処理システムを極力停止させることなく継続して稼働させることである。
本発明は、プロセッサと、メモリと、記憶装置と、を有する複数のストレージノードと、前記複数のストレージノードを接続するネットワークを有する情報処理システムであって、少なくとも一つのストレージノードの前記プロセッサは、前記情報処理システムの構成情報を取得し、前記情報処理システムに発生した第1の障害にかかる第1の障害情報を取得し、前記構成情報と前記第1の障害情報とに基づいて、さらに第2の障害が発生した場合の前記情報処理システムの可用性レベルを算出し、前記可用性レベルに基づいて制御を行う。
したがって、本発明は、情報処理システムの構成と障害情報から、データの冗長度も考慮した将来の可用性レベルを算出し、情報処理システムがすぐに保守作業をする必要性があるかを通知することができる。前記通知に基づいて本当に必要な時だけ情報処理システムを停止させて保守作業を行い、それ以外は極力情報処理システムを停止することなくI/O処理を継続できる。これにより、システム運用の経費(OPEX:Operating Expense)を低減できる。
本発明の実施例1を示し、本発明の概要を示すフローチャートである。 本発明の実施例1を示し、情報処理システムの全体構成を示すブロック図である。 本発明の実施例1を示し、ストレージノードの概略構成を示すブロック図である。 本発明の実施例1を示し、ストレージノードのメモリに格納されたプログラムやデータの一例を示すブロック図である。 本発明の実施例1を示し、ストレージノード管理表の構成の一例を示す図である。 本発明の実施例1を示し、システム状態管理表の構成の一例を示す図表である。 本発明の実施例1を示し、冗長化構成の一例を示すブロック図である。 本発明の実施例1を示し、冗長化回復処理が完了した後の構成の一例を示すブロック図である。 本発明の実施例1を示し、情報処理システムの障害に伴う状態遷移図の例を示す。 本発明の実施例1を示し、情報処理システムの障害に伴う状態遷移図の例を示す。 本発明の実施例1を示し、パラメータ設定値表の構成の一例を示す図である。 本発明の実施例1を示し、ストレージノードに障害が発生した場合の処理の一例を示すフローチャートである。 本発明の実施例1を示し、保守作業処理の一例を示すフローチャートである。 本発明の実施例2を示し、情報処理システムの全体構成を示すブロック図である。
以下、本発明の実施形態を添付図面に基づいて説明する。
以下、図面を参照して、本発明の実施例1を詳述する。以下の記載及び図面は、本発明を説明するための例示であって、説明の明確化のため、適宜、省略及び簡略化がなされている。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
本発明が実施形態に制限されることは無く、本発明の思想に合致するあらゆる応用例が本発明の技術的範囲に含まれる。本発明は、当業者であれば本発明の範囲内で様々な追加や変更等を行うことができる。本発明は、他の種々の形態でも実施する事が可能である。特に限定しない限り、各構成要素は複数でも単数でも構わない。
以下の説明では、「テーブル」、「表」、「リスト」、「キュー」等の表現にて各種情報を説明することがあるが、各種情報は、これら以外のデータ構造で表現されていてもよい。データ構造に依存しないことを示すために「XXテーブル」、「XXリスト」等を「XX情報」と呼ぶことがある。各情報の内容を説明する際に、「識別情報」、「識別子」、「名」、「ID」、「番号」等の表現を用いるが、これらについてはお互いに置換が可能である。
また、以下の説明では、同種の要素を区別しないで説明する場合には、参照符号又は参照符号における共通番号を使用し、同種の要素を区別して説明する場合は、その要素の参照符号を使用又は参照符号に代えてその要素に割り振られたIDを使用することがある。
また、以下の説明では、プログラムを実行して行う処理を説明する場合があるが、プログラムは、少なくとも1以上のプロセッサ(例えばCPU)によって実行されることで、定められた処理を、適宜に記憶資源(例えばメモリ)及び/又はインターフェースデバイス(例えば通信ポート)等を用いながら行うため、処理の主体がプロセッサとされてもよい。
同様に、プログラムを実行して行う処理の主体が、プロセッサを有するコントローラ、装置、システム、計算機、ノード、ストレージシステム、ストレージ装置、サーバ、管理計算機、クライアント、又は、ホストであってもよい。プログラムを実行して行う処理の主体(例えばプロセッサ)は、処理の一部又は全部を行うハードウェア回路を含んでもよい。例えば、プログラムを実行して行う処理の主体は、暗号化及び復号化、又は圧縮及び伸張を実行するハードウェア回路を含んでもよい。プロセッサは、プログラムに従って処理することによって、所定の機能を実現する機能部として動作する。プロセッサを含む装置及びシステムは、これらの機能部を含む装置及びシステムである。
プログラムは、プログラムソースから計算機のような装置にインストールされてもよい。プログラムソースは、例えば、プログラム配布サーバ又は計算機が読み取り可能な記憶メディアであってもよい。プログラムソースがプログラム配布サーバの場合、プログラム配布サーバはプロセッサ(例えばCPU)と記憶資源を含み、記憶資源はさらに配布プログラムと配布対象であるプログラムとを記憶してよい。そして、プログラム配布サーバのプロセッサが配布プログラムを実行することで、プログラム配布サーバのプロセッサは配布対象のプログラムを他の計算機に配布してよい。また、以下の説明において、2以上のプログラムが1つのプログラムとして実現されてもよいし、1つのプログラムが2以上のプログラムとして実現されてもよい。
図1は、本発明の実施例1を示し、本発明の概要を示すフローチャートである。ストレージノードのクラスタ制御部は、情報処理システム1の「可用性レベル」を算出する(S10)。可用性レベルとは、ある状態から、次に障害が発生して情報処理システムが停止となる状態へ遷移する確率を算出した値で示される。
ストレージノードは、前記可用性レベルと予め設定した閾値とを比較する(S20)。ストレージノードは、前記可用性レベルが前記閾値より大きい場合にはシステムの運用を継続し(S30)、前記閾値以下の場合には保守作業を要求する通知(アラート)を出力する(S40)。なお、ストレージノードは、管理者が使用する端末(図示省略)などに通知を出力すればよい。
ストレージノードが、管理者にアラートをあげるということは、何らかの保守作業を要求することを意味する。ストレージノードは、可用性レベルが一定以上の場合、即ちシステムの可用性が高くすぐにシステム停止とならないと判定した場合は、障害が発生してすぐのタイミングで保守作業を行わなくても良いと判断できる。
保守作業はストレージノードを増減するために一旦システムを停止させる必要があるため極力行いたくない。可用性レベルの算出方法は後述する。
本処理のフローチャートは、イベントが発生したタイミング及び定期的にストレージノードで起動される。イベントはストレージノード3に障害が発生したときや、ストレージノード3の増減など情報処理システム内のコンポーネントの状態が変化した時に発行される。
なお、上記の処理をストレージノードのクラスタ制御部で実施する例を示したが、これに限定されるものではなく、管理計算機が実施する構成としても良い。
<1.本実施例1による情報処理システムの構成>
図2は、本実施の形態による情報処理システム1の構成を示す図である。この情報処理システム1は、複数のコンピュートノード2−A〜2−Cと、複数のストレージノード3−A〜3−Cから構成される。なお、コンピュートノード2−A〜2−Cは、個々を特定しない場合には「−」以降を省略した符号「2」を用いる。その他の構成要素の符号についても同様である。
各コンピュートノード2及び各ストレージノード3間は、例えばファイバーチャネル(Fibre Channel)、イーサネット(登録商標)、InfiniBand又は無線LAN(Local Area Network)などから構成されるストレージサービスネットワーク4を介して接続される。
各ストレージノード3間は、LAN、イーサネット(登録商標)、InfiniBand又は無線LANなどから構成されるバックエンドネットワーク5を介して接続されている。
ただし、ストレージサービスネットワーク4及びバックエンドネットワーク5が同一のネットワークにより構成されていてもよく、また各コンピュートノード2及び各ストレージノード3がストレージサービスネットワーク4やバックエンドネットワーク5以外の管理用ネットワークに接続されていてもよい。
コンピュートノード2は、ストレージノード3に対してホスト(上位装置)として機能する汎用のコンピュータ装置である。なお、コンピュートノード2は仮想マシンのような仮想的なコンピュータ装置であってもよい。コンピュートノード2は、ユーザの操作や実装されたアプリケーションプログラムからの要求に応じて、ストレージサービスネットワーク4を介してストレージノード3にデータを読み書きする。
ストレージノード3は、コンピュートノード2に対してデータを読み書きするための記憶領域を提供するサーバ装置である。ストレージノード3は、仮想マシンであってもよい。またストレージノード3がコンピュートノード2と同一の物理ノードに同居する構成であってもよい。
本実施例の場合、各ストレージノード3は、図2に示すように、他の1又は複数のストレージノード3と共にクラスタ6と呼ぶグループにまとめられて管理される。図2の例では、クラスタ6が1つのみ設定された場合について例示しているが、情報処理システム1内に複数のクラスタ6を設けるようにしてもよい。クラスタ6は、分散ストレージシステムと呼ばれてもよい。
図3は、ストレージノードの概略構成を示すブロック図である。ストレージノード3は、図3に示すように、1以上のCPU(Central Processing Unit)10と、1以上のメモリ11及び複数の記憶装置12と、第1及び第2の通信装置13、14とを含む。ストレージノード3は、CPU10及び記憶装置12と、第1及び第2の通信装置13、14とが内部ネットワーク15を介して接続された汎用の物理サーバ装置から構成される。
CPU10は、ストレージノード3全体の制御を司るプロセッサである。またメモリ11は、SRAM(Static RAM(Random Access Memory))やDRAM(Dynamic RAM)などの揮発性の半導体メモリや、不揮発性の半導体メモリから構成され、CPU10のワークメモリとして各種プログラムや必要なデータを一時的に保持するために利用される。メモリ11に格納されたプログラムを、少なくとも1以上のCPU10が実行することにより、後述のようなストレージノード3全体としての各種処理が実行される。
記憶装置12は、HDD(Hard Disk Drive)、SSD(Solid State Drive)又はSCM(Storage Class Memory)などの大容量の不揮発性の記憶装置から構成され、NVMe(Non−Volatile Memory Express)やSAS(Serial Attached SCSI(Small Computer System Interface))、SATA(Serial ATA(Advanced Technology Attachment))などのインタフェースで接続され、コンピュートノード2からのリード要求やライト要求に応じてデータを読み書きするための記憶領域を提供する。
第1の通信装置13は、ストレージノード3がストレージサービスネットワーク4を介してコンピュートノード2と通信を行うためのインタフェースであり、例えばファイバーチャネルカードやイーサネット(登録商標)カード、InfiniBandカード、無線LANカードなどから構成される。第1の通信装置13は、コンピュートノード2との通信時におけるプロトコル制御を行う。
第2の通信装置14は、ストレージノード3がバックエンドネットワーク5を介して他のストレージノード3と通信を行うためのインタフェースであり、例えばファイバーチャネルカードやイーサネット(登録商標)カード、InfiniBandカード、無線LANカード、PCIeホストアダプタなどから構成される。第2の通信装置14は、他のストレージノード3との通信時におけるプロトコル制御を行う。
なお本実施例1の場合、各ストレージノード3は、図2に示すように、他の1又は複数のストレージノード3と共にクラスタ6と呼ぶグループにまとめられて管理される。図2の例では、クラスタ6が1つのみ設定された場合について例示しているが、情報処理システム1内に複数のクラスタ6を設けるようにしてもよい。
<2.各ストレージノードのメモリに格納されたプログラム及び情報>
次に、本情報処理システム1における各種処理の一例について説明する。まず、かかる各種機能に関連して各ストレージノード3のメモリ11(図3)に格納されるプログラム及び情報について、図4〜5を参照して説明する。
図4は、ストレージノード3のメモリ11に格納されたプログラムやデータの一例を示すブロック図である。図4に示すように、各ストレージノード3のメモリ11には、複数の制御ソフトウェア(以下、これを制御ソフトと呼ぶ)20及びこれら制御ソフト(第1の制御部)20にそれぞれ対応させて用意された複数の構成情報21と、クラスタ制御部(第2の制御部)23、ストレージノード管理表24がそれぞれ格納される。
制御ソフト20は、SDS(Software Defined Storage)のストレージコントローラとして機能するソフトウェアである。制御ソフト20は、コンピュートノード2からのリード要求やライト要求を受け付けて、対応する記憶装置12(図3)のデータを読み書きする機能を有する。制御ソフト20は、ストレージ制御部や、ストレージ制御プログラムと呼ばれてもよい。
また、サーバ上でハイパーバイザが稼働し、ハイパーバイザ上で1または複数の仮想計算機が稼働し、当該仮想計算機上で、図4に示す各種プログラムが稼働してもよい。すなわち、各種プログラム(制御ソフト20、クラスタ制御部23)は、物理計算機のハードウェア上で稼働することもあれば、仮想計算機上で稼働しても良い。
同様に、コンピュートノード2は、仮想計算機上で稼働するアプリケーションプログラム(ホストプログラム)であってもよいし、物理的なホスト計算機(ホストコンピュータ)であっても良い。情報処理システム1が複数のサーバを有するとき、サーバの一部が異なるサイトにあっても良い。また、情報処理システム1のサーバの一部または全部がクラウド上にあって、ネットワークを介して、ユーザにサービスが提供されても良い。
各種プログラム(制御ソフト20、クラスタ制御部23)が稼働する仮想計算機と、ホストプログラムが稼働する仮想計算機とが、同一のサーバ(ノード)上にある構成(ハイパーコンバージドインフラストラクチャ)であっても、ネットワークを介して接続する異なるサーバ上にある構成であってもよい。
システム状態管理表25は、クラスタ制御部23内に格納し、本情報処理システム1を構成する各ストレージノード3の状態から情報処理システム全体の状態を管理する。
本実施例による冗長化構成の一例を図7に示す。ストレージノード3に実装された各制御ソフト20は、それぞれ互いに異なる他のストレージノード3にそれぞれ実装された1又は複数の他の制御ソフト20と冗長化グループ26を構成する。
なお、図7では2つの制御ソフト20により冗長化グループ26が構成される場合を示しており、以下においても、2つの制御ソフト20により冗長化グループ26が構成されるものとして説明を進めるが、3つ以上の制御ソフト20により冗長化グループ26が構成されてもよい。
冗長化グループ26では、少なくとも1つの制御ソフト20がコンピュートノード2からのリード要求やライト要求を受け付けることができる状態(現用系の状態であり、以下、これをアクティブモードと呼ぶ)に設定され、残りの制御ソフト20がコンピュートノード2からのリード要求やライト要求を受け付けない状態(待機系の状態であり、以下、これをパッシブモードと呼ぶ)に設定される。
従って、2つの制御ソフト20から構成される冗長化グループ26は、当該2つの制御ソフト20の双方がアクティブモードに設定された構成(以下、これをアクティブ−アクティブ構成と呼ぶ)と、一方の制御ソフト20がアクティブモードに設定され、他方の制御ソフト20が、バックアップとしてパッシブモードに設定された構成(以下、これをアクティブ−パッシブ構成と呼ぶ)とのうちのいずれかの構成となる。
そしてアクティブ−パッシブ構成が採用された冗長化グループ26では、アクティブモードに設定された制御ソフト20又は当該制御ソフト20が稼働するストレージノード3に障害が発生した場合や、アクティブモードのストレージノード3がクラスタ6から撤去(ストレージノード3が削減)された場合に、それまでパッシブモードに設定されていた制御ソフト20の状態がアクティブモードに切り替えられる。
これにより、アクティブモードに設定された制御ソフト20が稼働し得なくなった場合に、当該制御ソフト20が実行していたI/O(Input/Output)処理を、それまでパッシブモードに設定されていた制御ソフト20により引き継ぐことができる(フェイルオーバ機能)。
このようなフェイルオーバ機能を実現するため、同じ冗長化グループ26に属する制御ソフト20は、常に同一内容の構成情報21を保持している。
そして、冗長化グループ26を構成するアクティブモードの制御ソフト20の構成情報21が更新された場合、更新前後の構成情報21の差分が差分データとして、当該冗長化グループ26を構成する他方の制御ソフト20に転送され、この差分データに基づいて当該他方の制御ソフト20により当該制御ソフト20が保持する構成情報21が更新される。これにより冗長化グループ26を構成する各制御ソフト20がそれぞれ保持する構成情報21が常に同期した状態に維持される。
このように冗長化グループ26を構成する2つの制御ソフト20同士が常に同じ内容の構成情報21を保持する。これにより、アクティブモードに設定された制御ソフト20や、当該制御ソフト20が配置されたストレージノード3に障害が発生し又は当該ストレージノード3が撤去された場合にも、それまで当該制御ソフト20が実行していた処理を、当該制御ソフト20と同じ冗長化グループ26内の他の制御ソフト20が直ちに引き継ぐことが可能となる。
クラスタ制御部23は、コンピュートノード2から受信したライト要求又はリード要求からなるI/O要求を、バックエンドネットワーク5を介して、対応するストレージノード3のクラスタ制御部23に転送したり、他のクラスタ制御部23から転送されてきたかかるI/O要求を、対応する冗長化グループ26の制御ソフト20に引き渡す機能を有するプログラムである。クラスタ制御部23は、クラスタ制御ソフトウェアや、クラスタ制御プログラムと呼ばれてもよい。
このような一連の処理を実行するための手段として、クラスタ制御部23は、クラスタ6内に存在する各制御ソフト20が、それぞれどのストレージノード3に配置され、どの冗長化グループ26に所属し、アクティブモード及びパッシブモードのいずれの状態に設定されているかといった情報を共有しており、これらの情報を制御情報テーブル(図示省略)に格納して管理している。
一方、構成情報21は、上述のように制御ソフト20が容量の仮想化機能や、階層記憶制御機能や、Snapshot機能や、リモートコピー機能や、重複排除機能、及び、圧縮機能などの各種機能を実現するために必要な情報から構成される。
ストレージノード管理表24は、同じクラスタ6内の各ストレージノード3の負荷状況等を管理するために利用されるテーブルである。図5は、ストレージノード管理表24の構成の一例を示す図である。
図5に示すように、ストレージノード管理表24は、ノードID欄24A、状態欄24B、容量欄24C、使用容量欄24D、CPU負荷欄24E、メモリ量欄24F、使用メモリ量欄24G、通信帯域欄24H、使用通信帯域欄24I及び障害グループID欄24Jからひとつのエントリが構成される。ストレージノード管理表24では、1つの行(エントリ)が1つのストレージノード3に対応する。
そしてノードID欄24Aには、当該クラスタ6を構成する各ストレージノード3のノードIDがそれぞれ格納され、状態欄24Bには、対応するストレージノード3の現在の状態(「正常」又は「異常(又は障害)」)が格納される。
また、容量欄24Cには、対応するストレージノード3の全ての記憶装置12の容量が格納され、使用容量欄24Dには、対応するストレージノード3における現在の記憶装置12の使用容量が格納される。
さらにCPU負荷欄24Eには、対応するストレージノード3におけるCPU10(図3)の現在の使用率が格納され、メモリ量欄24Fには、当該ストレージノード3におけるメモリ11(図3)の容量が格納され、使用メモリ量欄24Gには、対応するストレージノード3における現在のメモリ11の使用量が格納される。
さらに通信帯域欄24Hには、対応するストレージノード3が使用可能なバックエンドネットワーク5の通信帯域の大きさが格納され、使用通信帯域欄24Iには、当該ストレージノード3が他のストレージノード3との通信のために現在使用しているバックエンドネットワーク5の帯域量が格納される。
さらに障害グループID欄24Jには、対応するストレージノード3が属する障害グループ7(図7)のグループIDが格納される。ここで、障害グループ7とは、後述するように、同一の電源8を共用(電力の供給を受ける)するなど、当該電源8等に障害が発生した場合に、これに起因する同様の障害が発生するストレージノード3のグループをいう。
このストレージノード管理表24に格納される情報は、同一クラスタ6を構成するすべてのストレージノード3のクラスタ制御部23により共有される情報である。このように同一クラスタ6内で、各ストレージノード3のクラスタ制御部23により同一の情報を共有するための手段として、クラスタ6を構成する各ストレージノード3にそれぞれ搭載されたクラスタ制御部23の中から所定の方法により1つのクラスタ制御部23が代表クラスタ制御部23として選定される。
そして代表クラスタ制御部23は、定期的に他のストレージノード3のクラスタ制御部23から必要な情報を収集し、収集した情報に基づいて自己が管理するストレージノード管理表24を更新する。
また、代表クラスタ制御部23は、これら収集した情報を当該クラスタ6内の各ストレージノード3のクラスタ制御部23に転送することにより、これらクラスタ制御部23に当該クラスタ制御部23がそれぞれ管理するストレージノード管理表24を最新の状態に更新させる。
ただし、各ストレージノード3のクラスタ制御部23が、定期的に必要な情報を同じクラスタ6内の他のすべてのストレージノード3のクラスタ制御部23にそれぞれ送信し、この情報に基づいて各ストレージノード3のクラスタ制御部23が、それぞれ自ノード内のストレージノード管理表24を更新するようにしてもよい。
図7においては、障害グループ7(7−A〜7−D)の一例も示す。ストレージノードAとストレージノードA1とストレージノードA2は同一の電源8−Aを共有するストレージノードグループである。このように同一の電源8(8−A〜8−D)等を共用し、当該電源8等に障害が発生した場合に、これに起因する同様の障害が発生したストレージノード3のグループを障害グループ7とする。ストレージノードB、ストレージノードC、ストレージノードDについても同様に障害グループ7がある。
図6は、システム状態管理表25の構成の一例を示す図表である。システム状態管理表25は、本情報処理システム1を構成する各ストレージノード3の状態に基づいて情報処理システム全体の状態を管理するために利用されるテーブルである。
システム状態管理表25は、図6に示すように、状態欄25Aと、初期稼働ストレージノード数欄25Bと、稼働ストレージノード数欄25Cと、正常ストレージノード数欄25D、及び障害ストレージノード数25Eからひとつのエントリが構成される。システム状態管理表25は、クラスタ制御部23内に格納される。
そして状態欄25Aには、本情報処理システム1の状態が格納される。例えば、システム起動時に情報処理システム1内の稼働すべきストレージノード3が全て正常な状態で稼働している状態を「正常」とし、情報処理システム1内のストレージノード3の中で障害ストレージノード3がある状態を「xノード障害発生中」とし、障害ストレージノードに格納されたデータを別のデータへ再度複製し冗長化構成を修正した状態を「冗長化構成」とし、データロストした状態または冗長化構成不可な状態を「データロスト」とする。
初期稼働ストレージノード数欄25Bには、システム起動時に正常に稼働していたストレージノード数が格納される。稼働ストレージノード数欄25Cには、現在の状態において稼働しているストレージノード数が格納される。正常ストレージノード数欄25Cには、稼働ストレージノードのうち正常に稼働しているノード数が格納される。障害ストレージノード数25Dには、稼働ストレージノードのうち障害状態のノード数が格納される。
<3.ストレージノード正常時の処理>
本情報処理システム1において、通常時にコンピュートノード2からクラスタ6内のいずれかのストレージノード3にライト要求が与えられた場合の処理の一例を図7に示す。
この図7では、「ストレージノードA」〜「ストレージノードD」はそれぞれストレージノード3を示し、「制御ソフトA」〜「制御ソフトH」はそれぞれ制御ソフト20を示している。
そして図7では、「ストレージノードA」上で稼働する「制御ソフトA」と、「ストレージノードB」上で稼働する「制御ソフトB」とが冗長化グループ26−1を構成し、「ストレージノードB」上で稼働する「制御ソフトC」と、「ストレージノードC」上で稼働する「制御ソフトD」とが冗長化グループ26−2を構成し、「ストレージノードC」上で稼働する「制御ソフトE」と、「ストレージノードD」上で稼働する「制御ソフトF」とが冗長化グループ26−3を構成し、「ストレージノードD」上で稼働する「制御ソフトG」と、「ストレージノードA」上で稼働する「制御ソフトH」が、同じ冗長化グループ26−4を構成している例を示している。
また、図7の例では、制御ソフト20の冗長化により生成される各冗長化グループ26の構成がアクティブ−パッシブ構成であるものとする。
そして、コンピュートノード2からライト要求がクラスタ6内のいずれかのストレージノード3に与えられると、アクティブモードに設定された制御ソフト20によりライト処理が実行される。
そして、このようなライト処理が実行されると、当該ライト処理を実行した「制御ソフトA」が配置された「ストレージノードA」は、かかるライト処理の処理内容に応じて「制御ソフトA」が保持する構成情報21を更新する。「ストレージノードA」は、当該構成情報21の更新前後の差分を表す差分データを同じストレージノード3(「ストレージノードA」)内のクラスタ制御部23から、ライト処理を実行した「制御ソフトA」と同一の冗長化グループ26−1を構成する制御ソフト20(「制御ソフトB」)に送信する。
「ストレージノードB」は、この差分データに基づいて、「制御ソフトB」が保持する構成情報21を、「制御ソフトA」が保持する構成情報21と同様に更新して同期させる。
以上により、同じ冗長化グループ26を構成する2つの制御ソフト20(「制御ソフトA」及び「制御ソフトB」)がそれぞれ保持する2つの構成情報21が同じ内容に同期される。
<4.ストレージノード障害発生時の処理>
SDSシステムである情報処理システム1は、情報処理システム1内のストレージノード3に障害が発生した場合、冗長化構成を保ちつつ極力システムを停止せずに運用を継続して行きたい。
但し、あるストレージノード3に障害が発生し、データの冗長化回復を(リビルド)処理完了前に、更に異なるストレージノード3で障害が発生することがありうる。このようなケースでは、データロストまたはデータの冗長化構成を回復できない状態となってシステム停止となる場合がある。
最初にストレージノード3で障害が発生した時、「次に障害が起こって情報処理システムが停止となる可能性」が高ければ、リビルド処理ではなく、情報処理システム1を一時停止してでも障害ストレージノードを正常なストレージノードに交換するなどの保守作業を優先して行うべきである。データロストは起こってはならない状態である。
従って、クラスタ制御部23は、ある状態から前記「次に障害が起こって情報処理システムが停止となる可能性」を算出し、前記算出した値と予め設定した閾値を比較することで判定し、運用を継続するか、又は、発生中の障害に対する保守作業を即実施すべきかを決定する。
本実施例では、ある状態から「前記次に障害が起こってシステムが停止となる可能性」を可用性レベルと呼ぶ。
<4.1 ストレージノード障害時の状態遷移>
図9を用いて、ストレージノード3に障害が発生した場合の情報処理システムの状態の遷移を説明する。
図9に、上記図7の構成例を用いた情報処理システム1に障害が発生して状態が遷移していく様子を状態遷移図に示す。情報処理システム1は、ストレージノード3が4台で構成され、それぞれに格納されたデータを異なるストレージノード3間で二重に保持することでデータを冗長化している。
情報処理システム1の全体の状態は、全てのストレージノード3が正常に稼働している「正常nノード構成」状態か、システム内のストレージノードがいくつか障害となってアクセスできない状態の「xノード障害発生中」状態か、前記障害ストレージノードを撤去した残りの正常なストレージノードにデータを複製することで冗長化構成を回復した状態である「正常nノード構成」状態か、情報処理システム1が停止する「データロスト」状態のいずれかの状態である。図9ではn=4である。
図9の円ではシステムの状態が表現されている。円の中には情報処理システム1の状態と、情報処理システム1内で正常に稼働している正常ストレージノード台数と、障害ストレージノードのデータが冗長化構成を保てなくなるストレージノード台数(以下、未冗長化構成ストレージノード台数)が「正常ストレージノード台数/未冗長化構成ストレージノード台数」で表されている。
未冗長化構成ストレージノード台数は、正常ストレージノードの一部であるため、未冗長化構成ストレージノード台数が正常ストレージノード台数を超えた場合は正常ストレージノード台数とする。正常ストレージノード数が1となった場合は、冗長化構成が構築できないためシステム停止となる。
情報処理システム1を起動した初期状態及び全てのストレージノード3が正常に稼働している状態が正常状態である。正常なストレージノード3は、図示の例では、4台であり、未冗長化構成ストレージノードは0台であるため、「正常4ノード構成」「4/0」と円C1内に明記される。
ストレージノード3のノード内の個々の障害(例えば、CPU、メモリ、ディスク装置のうち一部が故障した)は、ストレージノード3内で各ハードウェアリソースが冗長化されていれば縮退して稼働する。このとき、クラスタ制御部23には縮退中であることが通知され、詳細な障害情報は通知されなくてもよい。ストレージノード3内の障害はストレージノード3内で解決する方針であるためである。ストレージノード3そのものが稼働できなくなった場合、ストレージノード3に障害が発生したと、他のストレージノード3に認識される。
正常状態からストレージノード3のうち1台に障害が発生したら次の状態へ遷移する(S110)。遷移先の円C2は「1ノード障害」で、正常ストレージノード台数と未冗長化構成ストレージノード台数は「3/2」となる。これは、ストレージノードが1台障害となると、当該障害ストレージノード内にあるデータを冗長化している先のデータが格納されている可能性があるストレージノードは2台であることを示している。
図7のストレージノードAに障害が発生した場合、クラスタ制御部23は、ストレージノードAに格納された制御ソフトAが管理するデータと、制御ソフトHが管理するデータをコピーする。それぞれのコピー先はストレージノードBとストレージノードDであり、ストレージノードBとストレージノードDが次に障害となった場合はデータロストとなりシステム停止となる。
4台のストレージノード3のうち、1台のストレージノード3に障害が発生した状態では、冗長化されていないデータがあるため、クラスタ制御部23は、冗長化構成を回復するためのリビルド処理を実施する。リビルド処理を完了した場合、円C3で示す「正常 3ノード構成」「3/0」に状態が遷移する(S120)。図8がその一例である。
4台のストレージノード3のうち、1台のストレージノード3に障害が発生した状態からリビルド処理を完了できず、当該ストレージノード3が障害発生のまま、更にストレージノード3の1台に障害が発生した場合で、前回の障害ストレージノードに格納されたデータを冗長化したデータを格納しているストレージノード3の障害であれば、円C4のデータロストとなりシステム停止となる(S150)。
4台のストレージノード3のうち、1台のストレージノード3に障害が発生した状態(円C2)「1ノード障害」「3/2」からリビルド処理を完了できず、当該ストレージノード3が障害発生のまま、更にストレージノード3の1台に障害が発生した場合をステップS112で示す。
ステップS112では、前回の障害ストレージノードに格納されたデータを冗長化したデータを格納しているストレージノード以外の障害発生であれば、データロストではないためシステムは運用継続可能である。この状態を円C5の「2ノード障害」「2/2」で表す。
4台のストレージノード3のうち、2台のストレージノード3に障害が発生している状態で、障害ストレージノードで1台分のリビルド処理を行い、データの冗長化構成を回復させると、円C6で示す「1ノード障害1ノード冗長化構成回復」「2/2」に遷移する(S124)。
障害が発生した2台のストレージノード3のうち1台に格納されていたデータの複製処理を、クラスタ制御部23が実行し1台分のストレージノード3の冗長化構成を回復させる。正常ストレージノード台数が増えたわけではないので、正常ストレージノード台数は2台のまま、未冗長化構成ストレージノード台数は2のままである。さらに障害ストレージノードの残りの1台について冗長化構成を回復させた場合には、円C7で示す「正常 2ノード構成」「2/0」へ状態遷移する(S122)。
4台のストレージノード3のうち、2台のストレージノード3に障害が発生している状態で、更にストレージノード3の1台に障害が発生した場合は、円C8で示すデータロストによりシステムを停止させる(S152)。
次に、前記情報処理システム1のストレージノード3が、3台構成となった情報処理システムを考える。
「正常 3ノード構成」「3/0」の状態(円C9)は、正常なストレージノード3のみが3台で稼働している状態である。この状態からストレージノード3のうち1台に障害が発生した場合、「1ノード障害1ノード冗長化構成回復」「2/2」状態(円C6)へ遷移する(S130)。
「1ノード障害1ノード冗長化構成回復」「2/2」の状態(円C6)は、ストレージノード3が3台構成のうちストレージノード3の1台に障害が発生した状態である。又は前記ストレージノード3の2台に障害が発生した状態から遷移した場合もある。障害が発生したストレージノード3内に格納されたデータの冗長化構成を回復させるため、クラスタ制御部23がリビルド処理を行って完了すると「正常 2ノード構成」「2/0」(円C7)へ状態遷移する(S122)。
前記リビルド処理が完了する前に「1ノード障害1ノード冗長化構成回復」「2/2」の状態(円C6)からストレージノードの1台に障害が発生すると、データロスト(円C10)となり情報処理システム1を停止させる(S156)。
「正常 2ノード構成」「2/0」の状態(円C7)は、正常なストレージノード3のみが2台で稼働している状態である。ストレージノード3のうち1台に障害が発生したら正常なストレージノードが1台となりデータを冗長化構成で保持することができなくなるため、円C8に遷移してシステムを停止させる(S158)。
ストレージノード3のリプレースなどで、正常なストレージノード3の台数を増設する場合がある(S140、S142)。増設されたストレージノード3には格納されているデータは無い。このため、クラスタ制御部23は、各ストレージノード3の負荷を平準化するために、既存のストレージノード3内に格納されたデータを、増設したストレージノード3に再配置する処理を行うことがある。この処理は、例えば、CPU負荷、空きメモリ量、バックエンドネットワーク5の空き帯域の大きさに基づいて負荷を平準化する。
正常な状態から複数台のストレージノード3に同時に障害が発生するケースもあるが、厳密に考えると1ノードずつの障害の発生を経由して次のノードの障害が発生するように状態が遷移していると考えられることから、同時に2つ以上の部位の障害発生または障害回復が起こる確率は0に近似できると考えられる。したがって、本実施例では、正常状態から複数台のストレージノードの障害発生への遷移は無いとする。他の状態からの状態遷移に関しても同様の考え方とする。
<4.2 状態遷移確率の計算方法>
上記図9の状態遷移を踏まえて、図10に一般化した状態遷移図を示し、各状態から次の状態へ遷移する確率を算出した実施例を示す。
状態遷移の確率を算出するために必要な情報として、ストレージノード3で障害が発生する確率と、リビルドが完了する確率がある。
障害が発生する確率(故障率)は、例えば、既存の情報処理システム1をモニタリングした結果からや、シミュレーションした結果等を用いて算出した値を事前に管理者またはユーザが入力して設定する。また、障害ストレージノードを復旧させるリビルド処理が完了する確率に関しては、後述するように、ストレージノード3を増設するための調達時間や、データを移行する処理時間や、データを配置するポリシーなど考慮して算出することができる。
ストレージノード3が障害となる確率、即ち、故障率λは、説明を簡易化するために、ストレージノード3の全てにおいて同等な値であるとする。ストレージノード3は前述したとおり、ノード内で障害が発生した場合はノード内で個別に対応する。
従ってストレージノード3によっては縮退運転中の場合もある。縮退運転中のストレージノード3と正常なストレージノード3では、障害が発生する確率が異なり、実際は個々に対応して計算する必要がある。故障率λがストレージノード3によって異なることが発明の本質に依存しないため、ストレージノード3の故障率は同じ値を用いて計算する前提で以下説明する。
リビルド処理が完了する確率は、リビルドにかかる時間から、単位時間当たりにリビルドが完了する確率として算出される。リビルド処理は障害によって冗長化構成が維持できなくなった障害ストレージノードに格納されたデータを、正常なストレージノード3へコピーして冗長化構成を構築するための処理である。
本実施例では、二重に冗長化する例で説明する。前記ストレージノード3へのデータコピー処理にかかる時間は、コピーするデータ量を単位時間あたりの処理数(スループット)で割ることで算出される。
コピーするデータ量は情報処理システム1全体のデータ量を初期のストレージノード数で割った量となる。ここでは各ストレージノード3でデータ量が一定量と仮定する。リビルド処理は対象データを読み出し、書き込む処理であるが、読み出し処理に支配されるため、リードスループットを用いる。
情報処理システム1のストレージノード数をn、n台の中で障害のあるストレージノード数をjとする。情報処理システム1内で正常に稼働している正常ストレージノード数はn−jと表せる。初期状態では正常ストレージノード数はnである。
情報処理システム1内のストレージノード3に障害が発生したことによって、データロストではないが少なくとも一部のデータの冗長化構成を保てなくなる状態になることがある。
いずれかのストレージノード3に障害が発生した影響によりデータ冗長化構成が保てない可能性があるストレージノード数(以下、未冗長化構成ストレージノード数)をmとする。例えば、図7のようにデータを複製する構成の場合、いずれかのストレージノード3に障害が発生すると、前記障害ストレージノードの左右に位置するストレージノード3に対してデータの複製を実施しているため、未冗長化構成ストレージノードは2台となる。
更に、障害ストレージノードが2台発生すると、未冗長化構成ストレージノードは4台となる(3台であるケースも考えられるが障害の影響が大きい場合に合わせる)。未冗長化構成ストレージノード数は、正常ストレージノード数でもあるため、未冗長化構成ストレージノード数は正常ストレージノード数を越えることはありえない。
計算上、未冗長化構成ストレージノード数が正常ストレージノード数を超えた場合、未冗長化構成ストレージノード数は正常ストレージノード数と同じとする。
以上のことから、未冗長化構成ストレージノード数mは、
m=min(j*r、n−j)
n:ストレージノード数
j:障害ストレージノード数
r:冗長度
と表せる。rは冗長度であり、図7のようにデータの複製を二重に実施する場合はr=2である。
未冗長化構成ストレージノードで障害が発生した場合は、データロストとなりシステム停止となる。また、情報処理システム1内で正常ストレージノード数が1となった場合は、冗長化構成が構築できないため同様にシステム停止となる。
個々のストレージノード3の故障率をλとすると、
1台のストレージノードが正常に稼働する確率は(1−λ)
n台のストレージノードが全て同時に正常に稼働する確率は(1−λ)
ストレージノード3が正常に稼働する正常な状態及び冗長化構成を回復して正常な状態である「正常」状態から、1つのストレージノードに障害が発生した「1ノード障害」の状態へ遷移する確率は、「全てのノードが正常に稼働している状態」以外と考える。S210の遷移に進む確率は、
1ノード障害の状態へ遷移する確率は1−(1−λ)
で表すことができる。
前述のとおり、同時に複数台のストレージノード3に障害が発生した場合も過渡的には1台ずつの障害の間隔が極端に短い場合と同じであると考え状態遷移は1つにまとめる。
図10において、障害ストレージノードが発生した場合にステップS210及びS212に状態遷移する確率は、搭載されるストレージノード数nから障害ストレージ数jと冗長化構成ストレージノード数mを除いた(n−j−m)台のストレージノード3が全て同時に正常に稼働しない確率に等しいため、
「ノード障害中に更なる1ノードが障害」である状態へ遷移する確率は
1−(1−λ)n−j−m
で表すことができる。
1台のストレージノード3に障害が発生した状態からは、リビルド処理を開始するか、別のストレージノード3に障害が発生するか、そのままの状態にとどまる。
リビルド処理は、障害が発生したストレージノード3に格納された全データを他の正常なストレージノード3に複製する処理である。ストレージノード3の単位時間当たりの処理性能スループットをTとし、情報処理システム1内の全データ量C、初期状態の正常状態のストレージノード数N(例えば、ノード数=6から障害ノードを撤去しても全体のデータ量は変わらないため、Nは6)とすると、
N台のストレージノードのうち1台あたりの冗長化データ量cはC/N
リビルド率は、c/T
で表すことができる。
リビルド率c/Tは、1台のストレージノード3に障害が発生した状態からリビルド処理をして正常状態にするステップS220の状態遷移が行われる確率である。
障害ストレージノード数がj台の場合、障害ストレージノードから1台ずつ選択し、前記選択した障害ストレージノードに格納されたデータの冗長化構成を回復する(S224)。これを障害ストレージノードの全てに対して行うことで、全てのデータの冗長化構成を回復することができる。
リビルド処理を実施するには、データを複製して格納する分の正常なストレージノード3側の空き記憶容量が必要である。この空き容量が無ければリビルド処理はできないため、障害ストレージノード数が増えるといずれはリビルド処理が実施できなくなり冗長化構成が保てない構成に行き着く。
また、前記リビルド処理が完了する前に、次のストレージノード障害が発生した場合は、複数障害となり、この場合も繰り返しているといずれはデータロストまたは冗長化構成が保てない構成に行き着く。
いずれの場合も、情報処理システム1を停止させて即時に保守作業を行い、極力速くシステムを回復させる必要がある。これは、リビルド処理を行って冗長化が保てさえすれば、障害が発生後即保守作業を実施する必要がないということでもある。次の障害が発生するまでの時間がリビルドにかかる時間より長ければ、次の障害が発生する前にリビルドが終了できるため、同様に即刻保守作業を実施する必要がない。
クラスタ制御部23では、ある状態からシステム停止になる状態になるまでの確率を算出し、前記算出した確率と予め設定した閾値を比較し、現在障害が発生してその障害に対する保守作業を即座に行うべきか否かを判定する。
また、1台のストレージノードに障害が発生した状態のときに、障害ストレージノードに格納されたデータの複製先の2つのストレージノード3のうち少なくともどちらかに障害が発生する状態へ遷移する確率は、2つのストレージノード3が正常に稼働している状態以外と考える。図10のステップS250の状態遷移がこれに該当し、この状態はデータロストによるシステム停止状態であるため、
ノード障害からシステム停止状態へ遷移する確率は1−(1−λ)
これらを一般的に表すとステップS252に状態遷移する確率は、
ノード障害からシステム停止状態へ遷移する確率は1−(1−λ)
となる。
リプレースなどで、正常なストレージノード3の台数を増設する場合がある(S240、S242)。リプレースにかかる時間は、リセットなどストレージノード3を準備する時間、及び、ストレージノード3の負荷を平準化するため既存のストレージノード3内の格納済みデータを、増設したストレージノード3に再配置する処理時間を合わせた時間である。リプレース所要時間をRとし、障害ストレージノード台数分実施すると考えると、
リプレース率はj/R
で表すことができる。
上記故障率λ、システム全体の記憶容量C、スループットT、リプレース時間Rは予め設定された値とする。例えばクラスタ制御部23内でパラメータ設定値表36のような形でデータを保持する(図11)。
図10に示すとおり、状態遷移図が完成する。情報システム全体の状態をストレージノードの状態から表記できる。
なお、図11は、パラメータ設定値表36の一例を示す図である。パラメータ設定値表36は、故障率36Aと、情報処理システム1全体の記憶容量36Bと、スループット36Cと、リプレース時間36Dをひとつのエントリに含む。
<5.可用性の判定処理>
<5.1 可用性レベルの算出方法(S10)>
上記の状態遷移の確率から、クラスタ制御部23では、それぞれの状態からデータロスト、即ちシステム停止になる確率を算出する。情報処理システム1の記憶信頼性は、マルコフ連鎖を使用して算出することができる。
図10に示したとおり、状態遷移表現のうちデータロストとならずにストレージノード3の障害や回復のイベント発生によって起こりうる状態がX個ある。X個の状態から所定の2つの状態を選択し、当該2つの状態の間をシステム停止とならずに状態遷移できる確率(または時間)は、周知または公知のマルコフ連鎖の式より算出できる。この値を本発明で言う可用性レベルとする。
マルコフ連鎖によるシステムの信頼性を算出した例として、例えば、参考文献1(研究報告システムソフトウェアとオペレーティング・システム(OS)、2015−OS−133、Markov連鎖を用いたデータセンタHigh Availabilityシステムの信頼性評価方法、(https://ipsj.ixsq.nii.ac.jp/ej/?action=pages_view_main&active_action=repository_view_main_item_detail&item_id=142121&item_no=1&page_id=13&block_id=8))が知られている。
<5.2 可用性レベルの判定(S20)>
クラスタ制御部23では、上記で算出した可用性レベルに対し、情報処理システム1の運用を継続するか保守作業を行うかを判定する。ある状態から最終的にシステム停止になるまでの確率を算出し、当該確率が閾値以上であれば保守作業を行う。
クラスタ制御部23では、可用性レベルが閾値よりも高い、即ち、次に障害が起こってシステム停止する可能性が極めて低いと判定された場合は、現在正常に稼働しているストレージノード3によって運用を継続することを決定する。
障害が発生したストレージノード3は、冗長化先のストレージノード3内の制御ソフト20を稼働させることで、上位の装置から要求されたI/O処理を継続する。障害が発生したストレージノード3内に格納されたデータは冗長化されていないため、正常なストレージノード3内にデータの複製を生成するリビルド処理を行う。リビルド処理中もI/O処理は継続される。
リビルド処理する際は、クラスタ制御部23が、複製先のストレージノード3に十分な空き領域があることを判定する。
情報処理システム1に対するユーザの要求は、ダウンタイムが数十分以内または可用性99.999%という指定であることが多く、本発明の方法は現実的である。
クラスタ制御部23は、ストレージノード3の障害発生や、ストレージノード3の増減等のイベントが起こったタイミングで、現在の状態を判定してその状態から次の状態になってからシステム停止になる確率、すなわち、可用性レベルを算出し、可用性レベルを閾値で判定して保守作業を即刻実施するか否かを決定する。
<5.3 運用継続処理(S30)>
上記可用性レベルの判定により、クラスタ制御部23は、運用を継続すると決定したら、冗長化グループ26を構成している制御ソフト20のパッシブモードをアクティブノードへ切り替える。さらに、データの冗長化回復処理を行う。
図12のフローチャートに従って情報処理システム1において、クラスタ6を構成するいずれかのストレージノード3に障害が発生した場合の処理について説明する。なお、本実施例では、図7の「ストレージノードA」に障害が発生し、当該「ストレージノードA」に実装された「制御ソフトA」及び「制御ソフトH」がダウンした場合の処理について説明する。
この場合、かかる障害をいずれかのクラスタ制御部23が検知し、当該障害を代表クラスタ制御部23に通知する。
この通知を受信した「ストレージノードB」のクラスタ制御部23は、それまでパッシブモードに設定されていた「制御ソフトB」の状態をアクティブモードに変更する(S310)。これによりそれまで「制御ソフトA」が実行していたI/O処理が「制御ソフトB」に引き継がれることになる。
続いて、代表クラスタ制御部23は、「制御ソフトB」の冗長化構成を回復させるため、「制御ソフトA」の新たな配置先とすべきストレージノード3をそれぞれ決定し、決定結果を各ストレージノード3内のクラスタ制御部23にそれぞれ通知する。
この際、代表クラスタ制御部23は、「制御ソフトA」の新たな配置先として、ストレージノード管理表24(図5)を参照して、同じ冗長化グループ26を構成する他の制御ソフト20が既に配置されているストレージノード3とは異なるストレージノード3であって、冗長化グループ26を構成する他の制御ソフト20が既に配置されているストレージノード3とは異なる障害グループに属するストレージノード3を選択する。
また、代表クラスタ制御部23は、選択可能なストレージノード3(「制御ソフトA」の新たな配置先の候補となり得るストレージノード3)が複数存在する場合には、ストレージノード管理表24を参照して、CPU負荷24Eが低いストレージノード3を「制御ソフトA」の新たな配置先としてそれぞれ決定する(S312)。
前記配置先の候補となり得るストレージノード3とは、CPU負荷24Eが低いストレージノード3であり、例えば、候補となり得るストレージノード3の中で、制御ソフト20を配置してもストレージノード3が有する記憶装置の容量、CPU負荷、メモリ量、バックエンドネットワーク5の通信帯域の許容範囲を超えないストレージノード3の中で最もCPU負荷が低いものを指す。
本実施例では、「制御ソフトA」の新たな配置先が「ストレージノードC」、「制御ソフトH」の新たな配置先が「ストレージノードB」にそれぞれ決定されたものとする。なお、上記「許容範囲」とは、容量及びメモリ量であればストレージノード3が有する記憶装置の容量やメモリ量の範囲内、CPU負荷であれば100%以下、バックエンドネットワーク5であれば使用可能な通信帯域の範囲内、あるいは、これらの容量、CPU負荷、メモリ容量及び又はバックエンドネットワーク5の通信帯域について事前にそれぞれ設定された閾値があれば当該閾値の範囲内を指す。
配置先の通知を受信した「ストレージノードB」のクラスタ制御部23は、自ストレージノード3に対して「制御ソフトB」が保持する構成情報21を「制御ソフトA」の新たな配置先である「ストレージノードC」にフルコピーするよう指示を与える。
また、配置先の指示を受領すると、クラスタ制御部23は、構成情報21を、バックエンドネットワーク5を介して、「ストレージノードC」に転送する(S314)。そして、この構成情報21を受信した「ストレージノードC」のクラスタ制御部23は、この構成情報21を「制御ソフトA」と対応付けてメモリ11(図3)に格納する。
なお、「制御ソフトB」が保持する構成情報21の「ストレージノードC」へのフルコピーが完了すると、この後、「ストレージノードB」は、「制御ソフトB」が保持する構成情報21が更新されるごとに元の構成情報21との差分データを「ストレージノードC」に転送し始めるようになり、これにより「制御ソフトB」が保持する構成情報21と、「ストレージノードC」にコピーされた構成情報21とが同期して更新されるようになる。
この後、「ストレージノードC」のクラスタ制御部23は、「ストレージノードC」にインストールされている制御ソフト20を新たな「制御ソフトA」としてパッシブモードで起動する。これにより「制御ソフトB」の冗長化構成が回復される。
そして代表クラスタ制御部23は、この後、上述のような構成変更に応じて自己が管理する制御ソフトが稼働するノードID情報を更新する(S316)。
「制御ソフトH」に対しても「制御ソフトA」と同様の処理を行う。
以上により「ストレージノードA」に障害が発生した場合の一連の処理が終了する。冗長化回復処理が完了した後の構成例を図8に示す。図9の状態遷移では「正常」状態から「正常 3ノード構成」状態へ遷移するところである。
<4.4 保守作業(S40)>
上記可用性レベルの判定により、クラスタ制御部23で運用が継続できないと判定された場合は、管理者にアラートを通知して保守作業を実行するように指示を出す(図13)。
図13のフローチャートに従って情報処理システム1において、クラスタ6を構成するいずれかのストレージノード3に障害が発生して保守作業を実施する処理について説明する。保守作業中は、情報処理システム1は一時停止し、コンピュートノード2からのI/O要求は受け付けないようにする(S410)。
保守作業は、まず情報処理システム1から障害ストレージノードを撤去する。クラスタ制御部23は障害ストレージノードを認識しないように他のクラスタ制御部23に通知する。クラスタ制御部23は、ストレージノード管理表24から撤去予定のストレージノードを削除する(S412)。障害ストレージノードの撤去処理S412に、障害ストレージノードを別の場所へ物理的に移動する処理を含んでもよい。
正常な新たなストレージノード3を情報処理システムに組み込む(S414)。クラスタ制御部23は、新たなストレージノード3をストレージノード管理表24に登録する。クラスタ制御部23は、新たなストレージノード3を既存の障害グループ7とクラスタ構成(障害グループ)を組む。
また、クラスタ制御部23は、冗長化構成がとれていないデータの冗長化回復処理を行う。障害ストレージノードに格納されていたデータと複製を格納していたストレージノード3及びデータを検索し、複製先のストレージノード3として、前記検索したデータを前記検索したストレージノードとは異なるストレージノード3を選択し、前記選択したストレージノード3へ前記データをフルコピーし(S416)、コピー先の制御ソフトの構成情報を更新する(S418)。
図1に示した処理は、各ストレージノード3のクラスタ制御部23とかかる定期的な通信を行うことができたか否かに基づいて、いずれかのストレージノード3に障害が発生したか否かを監視し、又は、いずれかのストレージノード3を撤去する旨の所定指示が与えられるのをされたか否かを監視して、起動される。
さらに、図1の処理は、ストレージノード3の記憶領域のうち空き容量が変化した際に起動する。冗長化構成を回復するためには、複製を格納する分の空き容量が対応するストレージノード3に確保できることが前提であるため、プール(ストレージプール)の空き容量を常に監視し、プールの空き容量が閾値を下回った場合は、ストレージノードを追加する。情報処理システム1内にプールが複数ある場合はプール毎に判定する。
他の例として、状態遷移して情報処理システム1が、稼働を継続しつづける確率を算出する際、以下の項目を考慮する。
(1)使用可能な空き容量の監視
記憶装置12で使用可能な空き記憶容量が閾値より多いことを監視し、使用可能な空き記憶容量が閾値より少なくなったら、冗長化構成回復処理をする際の複製先の容量が確保できない。このような時は「xノード障害」状態から「yノード冗長化構成」状態へ状態遷移する確率が減る。
ストレージノード3の障害発生により使用不可となった容量を差し引いても、使用可能な記憶容量(プール容量)をコンピュートノード2へ提供可能であれば正常な状態として稼働できる。
(2)プール内のTier毎の空き容量の監視
プール内にTierが存在する場合では、上記(1)の使用可能な空き容量の監視をプール内のTier毎に監視する。
(3)障害グループを設けた容量の監視
障害グループ7は、同一の電源8等を共用するなど、電源8等に障害が発生した場合に、当該電源8に起因する同様の障害が発生するストレージノード3のグループをいう。
障害グループ7を設け、障害グループ7毎に上記(1)の使用可能な空き容量の監視を行い、異なる障害グループ7にリビルド先を選択する。選択可能なリビルド先の使用可能な容量が確保できるかを監視する。
(4)性能の監視
コンピュートノード2で稼働するアプリケーションに要求される性能が確保できるかを監視する。性能は例えば、記憶装置12やプールの使用容量で判断してもよいし、ストレージノード3のスループット及びCPU10の稼働率をモニタし、アプリケーションで使用するデータを格納するストレージノード3を選択してもよい。
なお、コンピュートノード2のアプリケーションに要求される性能が不明な場合は、ストレージノード3のリソース毎に予め設定した性能の閾値と、クラスタ制御部23が取得したリソース毎の性能値を比較して、性能値が性能の閾値を超えるストレージノード3を冗長化構成のストレージノード3として選択しても良い。リソース毎の性能値は、上述のようにスループットや、CPU10の稼働率や、空き記憶容量等を用いることができる。
以上のように本実施例では、現在の情報処理システム1の状況と、次に発生しうる障害の部位及び当該障害が発生する確率から可用性レベルを算出し、前記可用性が閾値より低ければ障害であると判定しシステムを停止してノード交換または増設処理を促し、前記可用性が閾値よりも高ければI/O処理を継続する。
情報処理システム1が即時に部位交換する必要性を判断できる。また、クラスタ制御部23は、情報処理システム1の可用性レベルが低い時のみ即時にノード交換または増設等の保守作業を実施し、それ以外は情報処理システム1の稼働状況を参照してI/O処理頻度が高いときは保守処理を行わず、I/O処理頻度が低いときに保守作業を実施できる。
したがって、情報処理システム1の運用の経費(OPEX:Operating Expense)を低減でき、大規模構成の情報処理システム1の運用に有効である。前記I/O処理頻度の高いか否かは予め閾値を決めておき、単位時間あたりのI/O数によって判断することができる。
また本情報処理システム1では、ストレージノード3の削減又は障害発生により冗長化グループ26のいずれかの制御ソフト20が稼働し得なくなった場合においても、代替となる制御ソフト20や当該制御ソフト20が利用する構成情報21が適切なストレージノード3上に直ちに再現されるため、制御ソフト20の冗長構成を常にかつ確実に維持することができ、その分、情報処理システム1全体としての可用性及び信頼性を向上させることができる。
さらに本情報処理システム1では、ストレージノード3の増設時にはクラスタ6内のいずれかの制御ソフト20がそのストレージノード3に再配置されるため、本情報処理システム1の管理者の手を煩わせることなくストレージノード3の負荷分散を行うことができ、その分、システム全体としての管理を容易化させることができる。
図14は、本発明の実施例2を示し、情報処理システム1の全体構成を示すブロック図である。本実施例2では、記憶装置12をHDDとSSDで構成し、ストレージノード3毎に記憶領域のプール28−A〜28−Cを設定し、さらに各プール28を記憶装置12の性能に応じたTier1とTier2で管理する。そして、バックエンドネットワーク5には、管理計算機9を接続して、各ストレージノード3のクラスタ制御部23と連携する代表クラスタ制御部23Aを稼働させる。その他の構成は、前記実施例1と同様である。
ストレージノード3の各プール28は、SSDの記憶領域を管理するTier1(27−1)と、HDDの記憶領域を管理するTier2(27−2)と、を含む。管理計算機9の代表クラスタ制御部23Aは、各ストレージノード3のプール28とTier27毎に記憶容量を管理する。
代表クラスタ制御部23Aは、ストレージノード3のプール28と、記憶装置12の性能差に応じたTier1、Tier2の単位で記憶容量を管理することで、冗長化グループ26に割り当てる記憶容量の性能を制御することが可能となる。
なお、図示の例では、ストレージノード3毎にプール28を設定する例を示したが、図示はしないが、複数のストレージノード3を跨がるプールを設定しても良い。また、管理計算機9は、代表クラスタ制御部23Aに代わって、クラスタ管理ソフトウェアを稼働させてクラスタ管理部として機能させても良い。
<まとめ>
なお、前記実施例1、2では、SDSを実装した情報処理システムについて本発明を適用する例を示したが、これに限定されるものではなく、冗長化構成を含むストレージシステムに適用しても良い。
また、前記実施例1、2では、ストレージノードの障害の発生を検知したが、障害には、ストレージノードの性能が予め設定された値を下回ったときにも障害の発生として検知しても良い。
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に記載したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加、削除、又は置換のいずれもが、単独で、又は組み合わせても適用可能である。
また、上記の各構成、機能、処理部、及び処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、及び機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
1 情報処理システム
2 コンピュートノード
3 ストレージノード、
4 ストレージサービスネットワーク
5 バックエンドネットワーク
6 クラスタ
10 CPU
11 メモリ
12 記憶装置
20 制御ソフト
21 構成情報
23 クラスタ制御部
24 ストレージノード管理表
25 システム状態管理
26 冗長化グループ

Claims (14)

  1. プロセッサと、メモリと、記憶装置と、を有する複数のストレージノードと、
    前記複数のストレージノードを接続するネットワークを有する情報処理システムであって、
    少なくとも一つのストレージノードの前記プロセッサは、
    前記情報処理システムの構成情報を取得し、
    前記情報処理システムに発生した第1の障害にかかる第1の障害情報を取得し、
    前記構成情報と前記第1の障害情報とに基づいて、さらに第2の障害が発生した場合の前記情報処理システムの可用性レベルを算出し、
    前記可用性レベルに基づいて制御を行うことを特徴とする情報処理システム。
  2. 請求項1に記載の情報処理システムであって、
    前記プロセッサは、前記第1の障害情報に対する前記情報処理システムの構成のリビルド時間と、前記第2の障害が発生する障害発生確率と、を用いて、前記可用性レベルを算出することを特徴とする情報処理システム。
  3. 請求項2に記載の情報処理システムであって、
    前記プロセッサは、前記第1の障害が発生してリビルドを行っている間に、前記第2の障害が発生する障害発生確率を計算することで、前記可用性レベルを算出することを特徴とする情報処理システム。
  4. 請求項1に記載の情報処理システムであって、
    前記プロセッサは、
    前記記憶装置に対する読み書きを制御する第1の制御部と、
    他のノードと連携してストレージノードのクラスタ構成を行うとともに、前記可用性レベルを算出する第2の制御部と、
    を有することを特徴とする情報処理システム。
  5. 請求項3に記載の情報処理システムであって、
    前記リビルド時間には、前記第1の障害が発生したストレージノードが格納しているデータを、他のストレージノード内に再配置する時間を含む
    ことを特徴とする情報処理システム。
  6. 請求項5に記載の情報処理システムであって、
    前記リビルド時間には、前記データの再配置を行うストレージノードを増設する時間を含む
    ことを特徴とする情報処理システム。
  7. 請求項2に記載の情報処理システムであって、
    障害が連鎖する前記ストレージノードのグループを障害グループとして設定し、前記可用性レベルの算出に用いる障害発生確率では、障害発生時には前記障害グループ内の複数のストレージノードに同時期に障害が発生することを特徴とする情報処理システム。
  8. 請求項2に記載の情報処理システムであって、
    前記可用性レベルは、前記第2の障害が発生する障害発生確率と、前記第2の障害が発生した場合の前記情報処理システムの稼働継続性とに基づいて算出されることを特徴とする情報処理システム。
  9. 請求項8において、
    前記稼働継続性は、所定の冗長度を有すること、または所定のI/O性能有すること、を条件とすることを特徴とする情報処理システム。
  10. 請求項1において、
    前記可用性レベルに基づいて、保守作業の要否を報知することを特徴とする情報処理システム。
  11. プロセッサと、メモリと、記憶装置と、を有する複数のストレージノードと、前記複数のストレージノードを接続するネットワークを有する情報処理システムの管理方法であって、
    少なくとも一つのストレージノードの前記プロセッサは、
    前記情報処理システムの構成情報を取得し、
    前記情報処理システムに発生した第1の障害にかかる第1の障害情報を取得し、
    前記構成情報と前記第1の障害情報とに基づいて、さらに第2の障害が発生した場合の前記情報処理システムの可用性レベルを算出し、
    前記可用性レベルに基づいて制御を行うことを特徴とする情報処理システムの管理方法。
  12. 請求項11に記載の情報処理システムの管理方法であって、
    前記プロセッサは、前記第1の障害情報に対する前記情報処理システムの構成のリビルド時間と、前記第2の障害が発生する障害発生確率と、を用いて、前記可用性レベルを算出することを特徴とする情報処理システムの管理方法。
  13. 請求項12に記載の情報処理システムの管理方法であって、
    前記プロセッサは、前記第1の障害が発生してリビルドを行っている間に、前記第2の障害が発生する障害発生確率を計算することで、前記可用性レベルを算出することを特徴とする情報処理システムの管理方法。
  14. プロセッサと、メモリと、記憶装置と、を有するストレージノードを制御させるためのプログラムであって、
    前記ストレージノードの構成情報を取得するステップと、
    前記ストレージノードに発生した第1の障害にかかる第1の障害情報を取得するステップと、
    前記構成情報と前記第1の障害情報とに基づいて、さらに第2の障害が発生した場合の前記ストレージノードの可用性レベルを算出するステップと、
    前記可用性レベルに基づいて制御を行うするステップと、
    を前記ストレージノードに実行させるためのプログラム。
JP2018144411A 2018-07-31 2018-07-31 情報処理システム、情報処理システムの管理方法及びプログラム Active JP6850771B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018144411A JP6850771B2 (ja) 2018-07-31 2018-07-31 情報処理システム、情報処理システムの管理方法及びプログラム
US16/295,692 US11221935B2 (en) 2018-07-31 2019-03-07 Information processing system, information processing system management method, and program thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018144411A JP6850771B2 (ja) 2018-07-31 2018-07-31 情報処理システム、情報処理システムの管理方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2020021277A true JP2020021277A (ja) 2020-02-06
JP6850771B2 JP6850771B2 (ja) 2021-03-31

Family

ID=69228714

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018144411A Active JP6850771B2 (ja) 2018-07-31 2018-07-31 情報処理システム、情報処理システムの管理方法及びプログラム

Country Status (2)

Country Link
US (1) US11221935B2 (ja)
JP (1) JP6850771B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022127506A (ja) * 2021-02-19 2022-08-31 株式会社日立製作所 スケールアウト型ストレージシステム及び記憶制御方法
JP2022145964A (ja) * 2020-09-28 2022-10-04 株式会社日立製作所 記憶システム及びその制御方法

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11271804B2 (en) * 2019-01-25 2022-03-08 Dell Products L.P. Hyper-converged infrastructure component expansion/replacement system
US11489736B2 (en) 2019-07-23 2022-11-01 Core Scientific, Inc. System and method for managing computing devices
US11748674B2 (en) * 2019-07-23 2023-09-05 Core Scientific Operating Company System and method for health reporting in a data center
US20220317898A1 (en) * 2021-04-03 2022-10-06 EMC IP Holding Company LLC Managing Application Storage Resource Allocations Based on Application Specific Storage Policies
US20230216733A1 (en) * 2021-12-31 2023-07-06 Fortinet, Inc. Distributed node discovery and overlay path management on a data communication network

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08249132A (ja) * 1995-03-13 1996-09-27 Hitachi Ltd ディスクアレイ装置
JP2001147785A (ja) * 1999-10-29 2001-05-29 Hewlett Packard Co <Hp> データを管理する方法
JP2005326935A (ja) * 2004-05-12 2005-11-24 Hitachi Ltd 仮想化ストレージを備える計算機システムの管理サーバおよび障害回避復旧方法
JP2010277241A (ja) * 2009-05-27 2010-12-09 Mitsubishi Electric Corp 情報処理装置及び情報処理方法及びプログラム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4175788B2 (ja) 2001-07-05 2008-11-05 株式会社日立製作所 ボリューム制御装置
US7139925B2 (en) * 2002-04-29 2006-11-21 Sun Microsystems, Inc. System and method for dynamic cluster adjustment to node failures in a distributed data system
US7451210B2 (en) * 2003-11-24 2008-11-11 International Business Machines Corporation Hybrid method for event prediction and system control
US7730363B2 (en) * 2004-09-30 2010-06-01 Toshiba Solutions Corporation Reliability evaluation system, reliability evaluating method, and reliability evaluation program for information system
US7539907B1 (en) * 2006-05-05 2009-05-26 Sun Microsystems, Inc. Method and apparatus for determining a predicted failure rate
WO2011108027A1 (ja) * 2010-03-04 2011-09-09 株式会社日立製作所 計算機システム及びその制御方法
US8880801B1 (en) * 2011-09-28 2014-11-04 Emc Corporation Techniques for reliability and availability assessment of data storage configurations
US20130317780A1 (en) * 2012-05-23 2013-11-28 General Electric Company Probability of failure on demand calculation using fault tree approach for safety integrity level analysis
US20140336791A1 (en) * 2013-05-09 2014-11-13 Rockwell Automation Technologies, Inc. Predictive maintenance for industrial products using big data
US9678824B2 (en) * 2015-11-05 2017-06-13 International Business Machines Corporation Durability and availability evaluation for distributed storage systems
US10013321B1 (en) * 2016-06-22 2018-07-03 EMC IP Holding Company LLC Early raid rebuild to improve reliability
US10547673B2 (en) * 2017-02-09 2020-01-28 International Business Machines Corporation Data and task reallocation in distributed computing platforms
US11436023B2 (en) * 2018-05-31 2022-09-06 Pure Storage, Inc. Mechanism for updating host file system and flash translation layer based on underlying NAND technology
US10942807B2 (en) * 2018-06-12 2021-03-09 Weka.IO Ltd. Storage system spanning multiple failure domains

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08249132A (ja) * 1995-03-13 1996-09-27 Hitachi Ltd ディスクアレイ装置
JP2001147785A (ja) * 1999-10-29 2001-05-29 Hewlett Packard Co <Hp> データを管理する方法
JP2005326935A (ja) * 2004-05-12 2005-11-24 Hitachi Ltd 仮想化ストレージを備える計算機システムの管理サーバおよび障害回避復旧方法
JP2010277241A (ja) * 2009-05-27 2010-12-09 Mitsubishi Electric Corp 情報処理装置及び情報処理方法及びプログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022145964A (ja) * 2020-09-28 2022-10-04 株式会社日立製作所 記憶システム及びその制御方法
JP7419456B2 (ja) 2020-09-28 2024-01-22 株式会社日立製作所 記憶システム及びその制御方法
JP2022127506A (ja) * 2021-02-19 2022-08-31 株式会社日立製作所 スケールアウト型ストレージシステム及び記憶制御方法
JP7331027B2 (ja) 2021-02-19 2023-08-22 株式会社日立製作所 スケールアウト型ストレージシステム及び記憶制御方法

Also Published As

Publication number Publication date
JP6850771B2 (ja) 2021-03-31
US20200042416A1 (en) 2020-02-06
US11221935B2 (en) 2022-01-11

Similar Documents

Publication Publication Date Title
JP6850771B2 (ja) 情報処理システム、情報処理システムの管理方法及びプログラム
CN109857445B (zh) 存储系统和控制软件配置方法
CN109729129B (zh) 存储集群系统的配置修改方法、存储集群及计算机系统
US10082985B2 (en) Data striping across storage nodes that are assigned to multiple logical arrays
KR100326982B1 (ko) 높은 크기 조정 가능성을 갖는 고 가용성 클러스터 시스템 및 그 관리 방법
JP4920248B2 (ja) サーバの障害回復方法及びデータベースシステム
US11144212B2 (en) Independent partitions within an array
US20200341646A1 (en) Parallel update to maintain coherency
AU2015268889A1 (en) Storage cluster
JP2010097385A (ja) データ管理プログラム、ストレージ装置診断プログラム、およびマルチノードストレージシステム
JP6212934B2 (ja) ストレージシステム、情報処理装置の制御プログラム、およびストレージシステムの制御方法
CN110912991A (zh) 一种基于超融合双节点高可用的实现方法
US9971537B1 (en) Hardware support to track and transition flash LUNs into SLC mode
WO2016179423A1 (en) Logical arrays running on physical hardware where reserve physical capacity is available
US10719265B1 (en) Centralized, quorum-aware handling of device reservation requests in a storage system
JP6335336B2 (ja) ストレージシステムおよびその制御方法
JP5348300B2 (ja) データ管理プログラム、およびマルチノードストレージシステム
CN111367711A (zh) 一种基于超融合数据安全容灾方法
JP2008276281A (ja) データ同期システム、方法、及び、プログラム
JP7057408B2 (ja) 記憶システム及びその制御方法
JP2019174875A (ja) 記憶システム及び記憶制御方法
US20230350753A1 (en) Storage system and failure handling method
JP2023151189A (ja) ストレージシステム及びその制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190422

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200625

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200901

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200918

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: 20210308

R150 Certificate of patent or registration of utility model

Ref document number: 6850771

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150