(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-01
(45)【発行日】2024-07-09
(54)【発明の名称】ストレージ装置、ストレージシステム、障害復旧方法、及びプログラム
(51)【国際特許分類】
G06F 3/06 20060101AFI20240702BHJP
G06F 3/08 20060101ALI20240702BHJP
G06F 13/14 20060101ALI20240702BHJP
【FI】
G06F3/06 306Z
G06F3/08 H
G06F13/14 330E
(21)【出願番号】P 2022109430
(22)【出願日】2022-07-07
【審査請求日】2022-07-07
【前置審査】
(73)【特許権者】
【識別番号】000227205
【氏名又は名称】NECプラットフォームズ株式会社
(74)【代理人】
【識別番号】100080816
【氏名又は名称】加藤 朝道
(74)【代理人】
【識別番号】100098648
【氏名又は名称】内田 潔人
(72)【発明者】
【氏名】藤原 武人
【審査官】吉田 歩
(56)【参考文献】
【文献】特開2017-138781(JP,A)
【文献】特開2020-149615(JP,A)
【文献】米国特許出願公開第2012/0239970(US,A1)
【文献】特開2022-048612(JP,A)
【文献】特開2018-026734(JP,A)
【文献】特開2019-198155(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/06
G06F 3/08
G06F 13/14
(57)【特許請求の範囲】
【請求項1】
ストレージの設定情報であるストレージ設定情報を保持する保持部と、
前記ストレージの障害時に通知されるストレージ障害通知に応じて、前記ストレージ設定情報と前記ストレージに設定されているストレージ固有情報とを照合する照合部と、
前記照合部
による照合の結果、前記ストレージ設定情報と、前記ストレージ固有情報と、が一致しない場合に、前記ストレージ設定情報を前記ストレージ固有情報として設定する設定部と、
前記照合部による照合の結果、前記ストレージ設定情報と、前記ストレージ固有情報と、が一致する場合に、ストレージ装置の交換が必要な旨を通知する交換通知部と、
を有するストレージ装置。
【請求項2】
前記ストレージ装置は、SSD(Solid State Drive)で構成されている、請求項1のストレージ装置。
【請求項3】
前記ストレージ設定情報及び前記ストレージ固有情報は、少なくともストレージ容量、発行コマンドキュー設定、キャッシュ有効又は無効設定、のうち一の情報を含む請求項2のストレージ装置。
【請求項4】
前記設定部は、前記照合部による照合の結果、前記ストレージ設定情報と、前記ストレージ固有情報と、が一致しない場合に、前記ストレージ設定情報を、前記ストレージ固有情報として設定する、
請求項3のストレージ装置。
【請求項5】
請求項1から
4のいずれか一に記載の複数のストレージ装置と、
前記複数のストレージ装置のいずれかにおいて障害が検出された場合に、前記ストレージ障害通知を、前記複数のストレージ装置のうち、障害発生に係るストレージ装置へ通知する障害通知部と、
前記障害に係るストレージ装置の前記設定部が、前記ストレージ設定情報を、前記ストレージ固有情報として設定した場合に、前記障害に係るストレージ装置を再構築するための制御を行う再構築部と、
を有する制御装置を含む、ストレージシステム。
【請求項6】
前記複数のストレージ装置は、ミラーリングを構成している、請求項
5のストレージシステム。
【請求項7】
前記複数のストレージ装置のうち、少なくとも一のストレージ装置にパリティ領域を有する、請求項
5のストレージシステム。
【請求項8】
以下の各ステップをコンピュータが実行する障害復旧方法であって、
複数のストレージ装置のいずれかにおいて障害が検出された場合に、ストレージ障害通知を、前記複数のストレージ装置のうち、障害発生に係るストレージ装置へ通知するステップと、
前記通知に応じて、ストレージの設定情報であるストレージ設定情報と、前記ストレージに設定されているストレージ固有情報とを照合するステップと、
照合の結果、前記ストレージ設定情報と、前記ストレージ固有情報と、が一致しない場合には、前記ストレージ設定情報を、前記ストレージ固有情報として設定するステップと、
照合の結果、前記ストレージ設定情報と、前記ストレージ固有情報と、が一致する場合に、ストレージ装置の交換が必要な旨を通知するステップと、
前記障害に係るストレージ装置を再構築するための制御を行うステップと、
を含む障害復旧方法。
【請求項9】
複数のストレージ装置のいずれかにおいて障害が検出された場合に、ストレージ障害通知を、前記複数のストレージ装置のうち、障害発生に係るストレージ装置へ通知する処理と、
前記通知に応じて、ストレージの設定情報であるストレージ設定情報と、前記ストレージに設定されているストレージ固有情報とを照合する処理と、
照合の結果、前記ストレージ設定情報と、前記ストレージ固有情報と、が一致しない場合には、前記ストレージ設定情報を、前記ストレージ固有情報として設定する処理と、
照合の結果、前記ストレージ設定情報と、前記ストレージ固有情報と、が一致する場合に、ストレージ装置の交換が必要な旨を通知する処理と、
前記障害に係るストレージ装置を再構築するための制御を行う処理と、
をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ストレージ装置、ストレージシステム、障害復旧方法、及びプログラムに関する。
【背景技術】
【0002】
従来、RAID(Redundant Array of Independent Disk)構成のストレージシステムにおいて、ハードディスク等のディスク障害により縮退状態になった場合は物理的なディスク交換による復旧手段しか無かった。ハードディスクにおける障害はたとえそれが一部分であっても、ディスク全体に波及する恐れがあるからである。この点、SSD(Solid State Drive)のようなフラッシュメモリ等の不揮発性の半導体記憶装置では、不良ブロックを使用せずに、他の領域を使用しながら運用を続けられるというメリットがある。
【0003】
特許文献1には以下のような不揮発性半導体記憶装置が開示されている。1つの不揮発性半導体記憶装置内でRAIDシステムを構築し、ブロック単位で故障箇所の置換を可能としている。障害が発生すると、記憶領域の置換を自動で実行することが可能である。これにより、複数のストレージ装置を用いてRAIDを構築した場合とは異なり、ストレージ装置の交換が不要となる。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
なお、上記先行技術文献の各開示を、本書に引用をもって繰り込むものとする。以下の分析は、本発明者らによってなされたものである。
【0006】
ところで、ディスク装置の障害にはデータの読み書きに関係する障害以外に、ディスク装置に設定するディスク固有情報の不一致により障害と判断される場合がある。例えば、32GBの容量設定値が故障により8GBに変更になってしまうケースなどである。この場合においてディスク固有設定情報はRAIDを構築済みのストレージシステムでは再設定できないため、ディスク装置を取り外して再設定用の別装置(RAID環境ではなく、ディスク単体をシステムが認識できる環境)で編集することになる。従ってディスク固有情報の修正に伴って装置の取り外し作業が発生し、結局のところディスクを物理的に交換するのと同等の手間がかかる事となる。
【0007】
本発明はストレージ装置(ディスク装置)のストレージ(ディスク)固有情報に起因する障害時において、装置を取り外すことなく障害の復旧が可能な、ストレージ装置、ストレージシステム、障害復旧方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明乃至開示の第一の視点によれば、ストレージの設定情報であるストレージ設定情報を保持する保持部と、ストレージの障害時に通知されるストレージ障害通知に応じて、ストレージ設定情報とストレージに設定されているストレージ固有情報とを照合する照合部と、照合部の照合結果に基づいてストレージ設定情報をストレージ固有情報として設定する設定部と、を有するストレージ装置が提供される。
【0009】
本発明乃至開示の第二の視点によれば、複数のストレージ装置と、複数のストレージ装置のいずれかにおいて障害が検出された場合に、ストレージ障害通知を、複数のストレージ装置のうち、障害発生に係るストレージ装置へ通知する障害通知部と、障害に係るストレージ装置の設定部が、ストレージ設定情報を、ストレージ固有情報として設定した場合に、障害に係るストレージ装置を再構築するための制御を行う再構築部と、を有する制御装置を含む、ストレージシステムが提供される。
【0010】
本発明乃至開示の第三の視点によれば、複数のストレージ装置のいずれかにおいて障害が検出された場合に、ストレージ障害通知を、複数のストレージ装置のうち、障害発生に係るストレージ装置へ通知するステップと、ストレージ障害通知に応じて、ストレージの設定情報であるストレージ設定情報と、ストレージに設定されているストレージ固有情報とを照合するステップと、照合の結果、ストレージ設定情報と、ストレージ固有情報と、が一致しない場合には、ストレージ設定情報を、ストレージ固有情報として設定するステップと、障害に係るストレージ装置を再構築するための制御を行うステップと、を含む障害復旧方法が提供される。
【0011】
本発明乃至開示の第四の視点によれば、複数のストレージ装置のいずれかにおいて障害が検出された場合に、ストレージ障害通知を、複数のストレージ装置のうち、障害発生に係るストレージ装置へ通知する処理と、ストレージ障害通知に応じて、ストレージの設定情報であるストレージ設定情報と、ストレージに設定されているストレージ固有情報とを照合する処理と、照合の結果、ストレージ設定情報と、ストレージ固有情報と、が一致しない場合には、ストレージ設定情報を、ストレージ固有情報として設定する処理と、障害に係るストレージ装置を再構築するための制御を行う処理と、をコンピュータに実行させるためのプログラムが提供される。
【発明の効果】
【0012】
本発明乃至開示の各視点によれば、本発明は、ストレージ装置(ディスク装置)のストレージ(ディスク)固有情報に起因する障害時において、装置を取り外すことなく障害の復旧が可能な、ストレージ装置、ストレージシステム、障害復旧方法及びプログラムが提供される。
【図面の簡単な説明】
【0013】
【
図1】一実施形態に係るストレージ装置の構成の一例を示すブロック図である。
【
図2】「ストレージ設定情報」及び「ストレージ固有情報」の項目の一例を示す図である。
【
図3】第1の実施形態にかかるストレージシステムの構成の概略を示す概念図である。
【
図4】第1の実施形態にかかるストレージシステムの構成の一例を示すブロック図である。
【
図5】第1の実施形態のストレージシステムの動作を示すためのフローチャートである。
【
図6】第1の実施形態に係るストレージシステムのハードウエア構成の一例を示す図である。
【発明を実施するための形態】
【0014】
初めに、一実施形態の概要について説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、この概要の記載はなんらの限定を意図するものではない。また、各図におけるブロック間の接続線は、双方向及び単方向の双方を含む。一方向矢印については、主たる信号(データ)の流れを模式的に示すものであり、双方向性を排除するものではない。更に、本願開示に示す回路図、ブロック図、内部構成図、接続図などにおいて、明示は省略するが、入力ポート及び出力ポートが各接続線の入力端及び出力端のそれぞれに存在する。入出力インタフェースも同様である。
【0015】
図1は一実施形態に係るストレージ装置の構成の一例を示すブロック図である。この図にあるように、一実施形態に係るストレージ装置10は、保持部11と、照合部12と、設定部13と、を有する。
【0016】
保持部11は、ストレージの設定情報であるストレージ設定情報を保持する。「ストレージ」とはSSD(Solid State Drive)、ハードディスク、その他の書き換え可能な記憶媒体を指す。「ストレージの設定情報」とは、少なくともストレージ容量、発行コマンドキュー設定、キャッシュの有効又は無効の設定のうちの一が含まれる情報であって、後述するストレージ固有情報と同一の項目が含まれる情報である。ストレージ設定情報は、SSDやハードディスク等においては、内蔵の基盤内のEPROM(Erasable Programmable Read Only Memory)などにリストとして保持される。
【0017】
照合部12は、ストレージの障害時に通知されるストレージ障害通知に応じて、ストレージ設定情報とストレージに設定されているストレージ固有情報とを照合する。「ストレージ障害通知」とは、障害を検出されたホストやコントローラから通知されるコマンドである。「ストレージ固有情報」とは、上述の「ストレージ設定情報」と同一の項目が含まれる情報である。「ストレージ固有情報」はそのストレージ装置に関する種々の設定情報が含まれる固有の情報である。工場出荷時に設定されているため、通常の運用時に書き換える必要はないので、専用のソフトウエアを用いて更新を行う必要がある。特に、RAID構成となっているストレージ装置について、一旦システムから取り外して単体の状態でPC等に接続し、変更する必要がある。
【0018】
図2に「ストレージ固有情報」の項目の一例を示す。なおこの項目は「ストレージ設定情報」と共通である。この図にある各項目に関して設定値が付与され、ストレージ装置内に格納されている。
【0019】
設定部13は、照合部の照合結果に基づいて前記ストレージ設定情報を前記ストレージ固有情報として設定する。照合部の照合結果である一致か不一致かの結果に応じて、保持されている設定情報をストレージ固有情報として書き換える。
【0020】
一実施形態のストレージ装置は、障害によりストレージ固有情報が失われたり、壊れたりした場合に、通常であればストレージ装置を交換したり、ストレージ装置を取り外してストレージ固有情報を修正する必要に迫られるが、障害通知のコマンドに応じて、保持されているストレージ設定情報をストレージ固有情報として書き込むことで、新たなディスクとして再構築が可能となる。つまり、ストレージ装置を取り外すことなく、ディスクの再構築が可能となる。
【0021】
以下に具体的な実施の形態について、図面を参照して更に詳しく説明する。なお、各実施形態において同一構成要素には同一の符号を付し、その説明を省略する。
【0022】
[第1の実施形態]
図3は、第1の実施形態にかかるストレージシステムの構成の概略を示す概念図である。この図にあるように、本実施形態のストレージシステム100は、コントローラ101に接続されているホスト装置104と、コントローラ101と、SSD#1(102)、SSD#2(103)とからなる。図のようにストレージシステム100はサーバ等のホスト装置104が含まれていても良い。SSD#1(102)とSSD#2(103)とはRAID構成をとっている。なお、SSDに関してはRAID構成の類型により2以上のSSDがコントローラに接続されることになるためSSDの台数は2台に限られない。
【0023】
図4は、第1の実施形態にかかるストレージシステムの構成の一例を示すブロック図である。この図にあるように、本実施形態のストレージシステム100は、制御装置14と、ストレージ装置#1(17)、#2(18)を含む。制御装置14は障害通知部15と、再構築部16と、を有する。この他ストレージシステム100はホスト装置を有していても良い。ストレージ装置#1、#2(17、18)は、図示していないが、上述の通り、保持部11と、照合部12と、設定部13と、を有する。なおこれらの構成については上記一実施形態で記載済みであるので説明は省略する。
【0024】
制御装置14は、一般的にはRAIDコントローラが該当する。ただし、制御装置14の機能は、ソフトウエアモジュールあるいはハードウエアモジュールによって実現されるが、これら機能については、ホスト装置側にソフトウエアモジュールを置き、これを実行することで実現されても良い。
【0025】
障害通知部15は、複数のストレージ装置のいずれかにおいて障害が検出された場合に、ストレージ障害通知を、複数のストレージ装置のうち、障害発生に係るストレージ装置へ通知する。障害の検出については、ストレージシステム100の制御装置14において検出しても良いし、ストレージシステム100が接続しているホスト装置104において検出しても良い。本実施形態における「障害」とは、ストレージ装置内のディスク固有情報が失われる、又は破壊される事態を含む。
【0026】
再構築部16は、障害に係るストレージ装置10の設定部13が、ストレージ設定情報を、ストレージ固有情報として設定した場合に、障害に係るストレージ装置を再構築するための制御を行う。失われた、又は壊れたディスク固有情報をストレージ設定情報により書き換えたストレージ装置を再び使用できるようにするために、再構築が行われる。再構築処理は、RAID構成でのリビルド動作の処理に該当する。
【0027】
上述の通り、ストレージ装置が有する照合部12は、ストレージ装置の障害時に通知されるストレージ障害通知に応じて、前記ストレージ設定情報と前記ストレージに設定されているストレージ固有情報とを照合するが、ストレージ設定情報と、ストレージ固有情報と、が一致する場合には、ストレージの交換が必要な旨を通知する交換通知部(図示せず)を有しても良い。
【0028】
また、本実施形態のストレージシステムのストレージ装置は、RAID構成をとっているが、RAID構成はRAID0を除くいずれの構成をとっても構わない。例えばミラーリングを構成するRAID1、RAID10や、パリティを用いたRAID5、RAID6の構成をとっていても構わない。
【0029】
[システムの動作]
図5は本実施形態のストレージシステムの動作を示すためのフローチャートである。この図にあるようにシステムの運用中に故障検知がなされた場合(ステップS01,Y)に、ストレージ設定情報がストレージ固有情報と一致しているか照合する(ステップS02)。これらの情報が一致している場合(ステップS02,Y)にはディスクドライブ等の故障の可能性があるため、ストレージ装置を交換する必要がある(ステップS07)。交換後に再構築処理を実行する(ステップS08)。
【0030】
次にストレージ設定情報がストレージ固有情報と一致していない場合(ステップS02,N)には、ストレージ固有情報に起因した故障であるとして、ストレージ設定情報をストレージ固有情報として設定する(ステップS03)。すると制御装置14(RAIDコントローラ)からは新規ストレージ装置として認識される(ステップS04)。この状態で通常RAID構成で行われている再構築(リビルド)処理を行う(ステップS05)ことで復旧することが可能である。
【0031】
再構築処理後、システムが復旧した場合には(ステップS06,Y)、再び通常の運用に戻ることができる。システムが復旧しない場合には(ステップS06,N)、故障箇所が他にも存在するということで、ストレージ装置の交換(ステップS07)となる。
【0032】
[ハードウエア構成]
本実施形態のストレージシステムは、
図6に例示する構成を備える。例えば、ストレージシステムはホスト装置104とRAIDコントローラ101、SSD#1(102)とSSD#2(103)と、を有し、SSDはそれぞれI/Oインタフェース(105、110)、EPROM(不揮発性メモリ)(106、111)、キャッシュメモリ(107、112)、プロセッサ(108、113)、フラッシュメモリ(109、114)を有する。
【0033】
ホスト装置104及びRAIDコントローラ101は図示していないがコンピュータを構成する要素であるCPU、メモリ、I/Oインタフェースを少なくとも有する。
【0034】
図6に示す構成は、ストレージシステムのハードウエア構成を限定する趣旨ではない。ストレージシステムは、図示しないハードウエアを含んでもよい。また、ストレージシステムに含まれるSSD等の数も
図6の例示に限定する趣旨ではなく、例えば、3以上のSSDがストレージ装置10に含まれていてもよい。
【0035】
ストレージシステムの機能は、SSD(102、103)のEPROM(106、111)に格納された設定プログラム、照合プログラム、RAIDコントローラ101又はホスト装置104の記憶域に格納された障害通知プログラムや再構築プログラム、交換通知プログラム等といったプログラム群(処理モジュール)と、設定プログラムが使用するストレージ設定情報やストレージ固有情報等のデータ群により実現される。当該処理モジュールは、例えば、EPROM(106、111)に格納された各プログラムをプロセッサ(108、113)が実行することで実現される。また、そのプログラムは、ネットワークを介してダウンロードするか、あるいは、プログラムを記憶した記憶媒体を用いて、更新することができる。更に、上記処理モジュールは、半導体チップにより実現されてもよい。即ち、上記処理モジュールが行う機能を何らかのハードウエア、及び/又は、ソフトウエアで実行する手段があればよい。
【0036】
[ハードウエアの動作]
ストレージシステムは動作中において、障害を検出すると、ホスト装置104又はRAIDコントローラ101のCPUにおいて障害通知プログラムが実行される。以下、一例としてSSD#1に障害が発生した場合を説明する。同プログラムはI/Oインタフェース105を介して、故障が検出されたストレージ装置に通知のメッセージを送る。メッセージを受けてEPROM106から読み出されプロセッサ108上で照合プログラムが実行状態となる。
【0037】
照合プログラムは、EPROM106又はフラッシュメモリ109にリストとして格納されているストレージ設定情報とストレージ固有情報とを照合する。その結果一致する場合には、交換通知プログラムがプロセッサ108において実行され、交換通知のメッセージをI/Oインタフェース105を介して送信する。ホスト装置104では交換通知のメッセージを受けて、ストレージ装置の交換が必要との情報を表示デバイス等により出力する。
【0038】
照合の結果一致しない場合には、設定プログラムがEPROM106から読み出されプロセッサ108上で実行状態となる。同プログラムはEPROM106又はフラッシュメモリ上に格納されているストレージ設定情報を読み出し、ストレージ固有情報が格納されているEPROM106等の記憶域に書き込む。
【0039】
書き込み後、ホスト装置104又はRAIDコントローラ101上で再構築プログラムがメモリから呼び出されCPUにて実行される。RAIDコントローラ101は故障が検出され、ストレージ設定情報が書き込まれればストレージ装置を新たに認識し、故障が発生していない他方のストレージ装置からデータを転送する等の再構築(リビルド)処理を実行する。
【0040】
[効果の説明]
上記第1の実施形態に係るストレージシステムにより、特にRAID構成をとっているストレージ装置であるSSDにおいて、ストレージ固有情報を修復することにより、機器の取り外しをすることなく、新たなストレージ装置として認識させることが可能であり、再構築(リビルド)処理をすることにより、故障によるシステムの障害を復旧することが可能である。
【0041】
前述の実施形態の一部又は全部は、以下の各付記のようにも記載することができる。しかしながら、以下の各付記は、あくまでも、本発明の単なる例示に過ぎず、本発明は、かかる場合のみに限るものではない。
[付記1]
上述の第一の視点に係るストレージ装置のとおりである。
[付記2]
ストレージ装置は、SSD(ソリッドステートドライブ)で構成されている、好ましくは付記1のストレージ装置。
[付記3]
ストレージ設定情報及びストレージ固有情報は、少なくともストレージ容量、発行コマンドキュー設定、キャッシュ有効又は無効設定、のうち一の情報を含む、好ましくは付記2のストレージ装置。
[付記4]
設定部は、照合部による照合の結果、ストレージ設定情報と、ストレージ固有情報と、が一致しない場合に、ストレージ設定情報を、ストレージ固有情報として設定する、好ましくは付記3のストレージ装置。
[付記5]
照合部による照合の結果、前記ストレージ設定情報と、前記ストレージ固有情報と、が一致する場合に、ストレージ装置の交換が必要な旨を通知する交換通知部と、を有する、好ましくは付記4のストレージ装置。
[付記6]
上述の第二の視点に係るストレージシステムのとおりである。
[付記7]
複数のストレージ装置は、ミラーリングを構成している、好ましくは付記6のストレージシステム。
[付記8]
複数のストレージ装置のうち、少なくとも一のストレージ装置にパリティ領域を有する、好ましくは付記6のストレージシステム。
[付記9]
上述の第三の視点に係る障害復旧方法のとおりである。
[付記10]
上述の第四の視点に係るプログラムのとおりである。
なお、付記9及び付記10は、付記1と同様に、付記2~付記5に展開することが可能である。
【0042】
なお、引用した上記の特許文献等の各開示は、本書に引用をもって繰り込むものとする。本発明の全開示(特許請求の範囲を含む)の枠内において、更にその基本的技術思想に基づいて、実施形態ないし実施形態の変更・調整が可能である。また、本発明の全開示の枠内において種々の開示要素(各請求項の各要素、各実施形態ないし実施形態の各要素、各図面の各要素等を含む)の多様な組み合わせ、ないし、選択(部分的削除を含む)が可能である。すなわち、本発明は、特許請求の範囲を含む全開示、技術的思想に従って当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
【符号の説明】
【0043】
10 :ストレージ装置
11 :保持部
12 :照合部
13 :設定部
14 :制御装置
15 :障害通知部
16 :再構築部
17 :ストレージ装置#1
18 :ストレージ装置#2
100 :ストレージシステム
101 :RAIDコントローラ、コントローラ
102 :SSD #1
103 :SSD #2
104 :ホスト装置
105、110 :I/Oインタフェース
106、111 :EPROM
107、112 :キャッシュメモリ
108、113 :プロセッサ
109、114 :フラッシュメモリ