JP4456626B2 - ディスクアレイ装置、ディスクアレイ装置制御プログラムおよびディスクアレイ装置制御方法 - Google Patents

ディスクアレイ装置、ディスクアレイ装置制御プログラムおよびディスクアレイ装置制御方法 Download PDF

Info

Publication number
JP4456626B2
JP4456626B2 JP2007255197A JP2007255197A JP4456626B2 JP 4456626 B2 JP4456626 B2 JP 4456626B2 JP 2007255197 A JP2007255197 A JP 2007255197A JP 2007255197 A JP2007255197 A JP 2007255197A JP 4456626 B2 JP4456626 B2 JP 4456626B2
Authority
JP
Japan
Prior art keywords
disk
predetermined
disks
suspicious
array device
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.)
Expired - Fee Related
Application number
JP2007255197A
Other languages
English (en)
Other versions
JP2009086971A (ja
Inventor
雅裕 吉田
保仁 有川
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2007255197A priority Critical patent/JP4456626B2/ja
Priority to US12/204,315 priority patent/US7925926B2/en
Publication of JP2009086971A publication Critical patent/JP2009086971A/ja
Application granted granted Critical
Publication of JP4456626B2 publication Critical patent/JP4456626B2/ja
Expired - Fee Related 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/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • 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
    • 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/3466Performance evaluation by tracing or monitoring
    • G06F11/3485Performance evaluation by tracing or monitoring for I/O devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)

Description

この発明は、ディスクアレイ装置、ディスクアレイ装置制御プログラムおよびディスクアレイ装置制御方法に関する。
従来より、データ入出力装置は、ディスクを搭載し、上位装置から当該ディスクに対して行われるアクセスを制御するものである。具体的には、データ入出力装置は、上位装置からデータの読み出しを要求されると、要求されたデータをディスクから読み出し、データの書き込みを要求されると、データをディスクに書き込む。また、データ入出力装置の中でも、ディスクアレイ装置は、ディスクを冗長化することで、一つのディスクが故障したとしてもデータをロストしない仕組みとなっている。
具体的には、ディスクアレイ装置は、RAID(Redundant Arrays of Inexpensive Disks)グループを構成する複数のディスクを搭載し、上位装置から当該ディスク各々に対して行われるアクセスを制御する。近年では、ディスクの記憶容量の増大に伴い、ディスクアレイ装置の最大記憶容量はペタバイトオーダーまで増大し、これに比例するように、RAIDグループを構成するディスク数も増大している。
このように、ディスクアレイ装置が搭載するディスク数が増大すると、ディスク故障が発生する可能性も増大する。このため、一般的には、ディスクアレイ装置が搭載するディスクについて、定期的に媒体チェックやステータス監視を行い、常にディスクの状態を監視することで、媒体異常や駆動系異常が発生したディスクの早期検出、状態の正常化を図っている。
また、例えば、特許文献1には、データの読み出し動作や書き込み動作などのI/O要求が実行されるにあたり必要とされた経過時間の変化が、閾値を超えているか否かを判定することで、『今にも発生しそうなデータ完全性エラー』を検出する技術が開示されている。
特開2005−322399号公報
ところで、上記した従来の技術では、性能異常を適切に検出することができないという課題があった。すなわち、上記したように、媒体異常や駆動系異常の場合は従来の技術で検出することができるが、性能異常(ディスクの性能値が異常を示すような障害)の場合、ディスクは、通常状態よりは性能が低下するものの、処理のタイムアウト等は発生しないため上位装置からは異常と認識されない程度の性能で動作可能なため、従来の技術で検出することはできない。しかしながら、いわゆる異常にはならない程度で動作するとは言うものの、性能異常によるデータアクセス遅延が発生すると、従来規定時間内に完了していた処理が規定時間内に完了しなくなる等、システムとして成り立たない事象も想定される。そのため、性能異常のディスクを検出することが必要である。
なお、特許文献1の技術のように、I/O要求の経過時間の変化を閾値と比較したとしても、当該変化がディスクの性能異常により発生しているかどうかは、当該ディスクに外部要因などにより一時的に高負荷が発生しているのかどうかといった他の点を併せて判断しなければならないはずであり、かかる判断が複雑かつ困難である以上、性能異常のディスクを適切に検出するとは言い難い。
そこで、この発明は、上記した従来技術の課題を解決するためになされたものであり、性能異常を適切に検出することが可能なディスクアレイ装置、ディスクアレイ装置制御プログラムおよびディスクアレイ装置制御方法を提供することを目的とする。
上述した課題を解決し、目的を達成するため、本発明は、RAIDグループを構成する複数のディスクを搭載し、上位装置から当該ディスク各々に対して行われるアクセスを制御するディスクアレイ装置であって、前記ディスク各々の性能に関する情報を収集する性能情報収集手段と、前記性能情報収集手段によって前記ディスク各々について収集された情報を、同一のRAIDグループを構成しているディスク間で相対的に比較し、当該比較の結果に基づいて性能に異常があると疑われる被疑ディスクを検出する被疑ディスク検出手段と、を備えたことを特徴とする。
また、本発明は、上記の発明において、前記性能情報収集手段は、前記性能に関する情報として、所定の時間内に行われた前記アクセスから導出される前記ディスク各々の稼働率を収集し、前記被疑ディスク検出手段は、前記稼働率を相対的に比較して前記被疑ディスクを検出することを特徴とする。
また、本発明は、上記の発明において、前記被疑ディスク検出手段は、前記RAIDグループの種別を判断し、前記種別に応じて相対的に比較を行うことを特徴とする。
また、本発明は、上記の発明において、前記被疑ディスク検出手段によって被疑ディスクが検出されると、被疑ディスクが検出されたことを通知する通知情報を所定の出力部に出力もしくは通信部を経由して所定の宛先に送信する通知手段をさらに備えたことを特徴とする。
また、本発明は、上記の発明において、前記被疑ディスク検出手段によって被疑ディスクが検出されると、当該被疑ディスクを前記アクセスの対象から排除する排除手段をさらに備えたことを特徴とする。
また、本発明は、上記の発明において、前記被疑ディスク検出手段は、被疑ディスクが検出されると、当該被疑ディスクについて当該検出の情報を加点形式で蓄積し、通知手段および排除手段は、前記被疑ディスク検出手段によって蓄積された情報の点数が所定の閾値を超過したことを条件として、前記通知情報を出力もしくは送信する、および/または、当該被疑ディスクを排除することを特徴とする。
また、本発明は、上記の発明において、RAIDグループを構成する複数のディスクを搭載し、上位装置から当該ディスク各々に対して行われるアクセスを制御する方法を、コンピュータとしてのディスクアレイ装置に実行させるディスクアレイ装置制御プログラムであって、前記ディスク各々の性能に関する情報を収集する性能情報収集手順と、前記性能情報収集手順によって前記ディスク各々について収集された情報を、同一のRAIDグループを構成しているディスク間で相対的に比較し、当該比較の結果に基づいて性能に異常があると疑われる被疑ディスクを検出する被疑ディスク検出手順と、をコンピュータに実行させることを特徴とする。
また、本発明は、上記の発明において、RAIDグループを構成する複数のディスクを搭載し、上位装置から当該ディスク各々に対して行われるアクセスを制御するディスクアレイ装置制御方法であって、前記ディスク各々の性能に関する情報を収集する性能情報収集ステップと、前記性能情報収集ステップによって前記ディスク各々について収集された情報を、同一のRAIDグループを構成しているディスク間で相対的に比較し、当該比較の結果に基づいて性能に異常があると疑われる被疑ディスクを検出する被疑ディスク検出ステップと、を含んだことを特徴とする。
本発明によれば、性能異常を適切に検出することが可能になる。
また、本発明によれば、性能異常に対する対処を適切に行うことが可能になる。
また、本発明によれば、性能異常をより正確に検出した上で、性能異常に対する対処を適切に行うことが可能になる。
以下に添付図面を参照して、この発明に係るディスクアレイ装置、ディスクアレイ装置制御プログラムおよびディスクアレイ装置制御方法の実施例を詳細に説明する。なお、以下では、以下の実施例で用いる主要な用語、実施例1に係るディスクアレイ装置の概要および特徴、実施例1に係るディスクアレイ装置の構成、実施例1に係るディスクアレイ装置の処理の手順、実施例1の効果を順に説明し、最後に、他の実施例について説明する。
[用語の説明]
まず最初に、以下の実施例で用いる主要な用語を説明する。「ディスクアレイ装置」とは、RAID(Redundant Arrays of Inexpensive Disks)グループを構成する複数のディスクを搭載し、上位装置であるホストから当該ディスク各々に対して行われるアクセスを制御する装置である。また、「RAID」とは、複数のディスクをまとめて1台のディスクとして管理する技術のことであり、「ディスクアレイ装置」がRAIDグループを構成する複数のディスクを制御することで、高速性や耐障害性などが向上される。
ここで、「RAID」は、高速性や耐障害性のレベルによって、レベル分けがなされている。例えば、『RAID0』は、ストライピング構成のRAIDであり、複数のディスクに均等にデータを振り分けるものである。また、例えば、『RAID1』は、ミラーリング構成のRAIDであり、同一データを2台のディスクに同時にWriteするものである。また、例えば、『RAID1+0』は、ミラーリング構成およびストライピング構成のRAIDである。また、例えば、『RAID3』や『RAID4』、あるいは『RAID5』は、複数のディスクの内の1台をパリティと呼ばれる誤り訂正符号の記録に割り当て、他のディスクにデータを振り分けるものである。また、例えば、『RAID6』は、複数のディスクの内の2台をパリティの記録に割り当て(ダブルパリティ)、他のディスクにデータを振り分けるものである。
ところで、「ディスクアレイ装置」は、高速性や耐障害性を要求されるシステムに適していると言える一方で、「ディスクアレイ装置」が制御しなければならないディスク数が増大することで、ディスク故障が発生する可能性も増大するという事態が生じている。このため、ディスク故障を早期に検出し、「ディスクアレイ装置」の状態の正常化を図る仕組みが必要となるが、ディスク故障の中でも、性能異常を早期に検出することが難しい。
この点について簡単に説明すると、性能異常とは、媒体異常や駆動系異常とは異なり、ディスクの性能値が異常を示すような異常であり、いわゆる異常にはならない程度で動作してしまう異常である。具体的に例を挙げて説明すると、ディスクの内部構造において、ディスク(円盤)がわずかに傾いていたとする。回転するディスクに対し、磁気ヘッドがシーク動作によって位置決めをするが、この際、ディスクがわずかに傾いていたとしても、一般に、補正が行われ、結果として、正しい位置決めが行われる。このようなリトライ動作を繰り返すことによって正しいReadアクセスやWriteアクセスが行われてしまうので結果として正常動作しているように見えてしまう。そのため、ディスクのわずかな傾きに起因する性能異常を早期に検出することが難しくなるのである。
しかしながら、このディスクのわずかな傾きのようなディスク内部の要因に起因して、高い確率で性能異常が再発するのであれば、高速性や耐障害性を要求されるシステムにとっては、いずれ致命的な故障となるおそれもあることから、このような性能異常も、媒体異常や駆動系異常と同様、早期に検出しなければならない異常であることにかわりない。
[実施例1に係るディスクアレイ装置の概要および特徴]
続いて、図1を用いて、実施例1に係るディスクアレイ装置の概要および特徴を説明する。図1は、実施例1に係るディスクアレイ装置の概要および特徴を説明するための図である。
実施例1に係るディスクアレイ装置は、上記したように、RAIDグループを構成する複数のディスクを搭載し、上位装置から当該ディスク各々に対して行われるアクセスを制御することを概要とし、性能異常のディスクを適切に検出することを主たる特徴とする。
この主たる特徴について簡単に説明する。ここで、図1は、ディスクアレイ装置の構成を説明の便宜上から簡略化して示すものであり、ディスクアレイ装置のCM(Controller Module:コントローラ モジュール)が、DA(Device Adapter:デバイス アダプタ)を経由して複数のディスクと接続することを示すものである。また、図1に示すように、実施例1においては、各DAが、当該DAに接続する複数のディスク各々についてアクセス時間を累積計上している。
このような構成の下、実施例1に係るディスクアレイ装置は、ディスク各々の性能に関する情報を収集する(図1の(1)を参照)。例えば、ディスクアレイ装置のCMは、各DAに対して、DAが収集しているアクセス時間を送信するよう指示を行い、当該DAに接続する複数のディスク各々について、アクセス時間を取得する。次に、CMは、取得したアクセス時間等を元に、ディスク各々について、稼働率(Busy率)を算出する。
次に、ディスクアレイ装置は、ディスク各々について収集された情報を、同一のRAIDグループを構成しているディスク間で相対的に比較する(図1の(2)を参照)。例えば、ディスクアレイ装置のCMは、ディスク各々について収集された稼働率を、同一のRAIDグループを構成しているディスク間で、稼動率が最も高い値と二番目に高い値とを比較し、n倍(nは、別途設定される所定の値、例えば、2〜5の値など)以上の差分(差分比)があるか否かを判定する。
図1の例で説明すると、ディスクアレイ装置のCMは、例えば、RAIDグループNo.8が、ディスクNo.『0x008』、『0x108』、『0x208』および『0x308』で構成されている場合に、これらのディスク間で稼働率を比較し、最も高い稼働率『95』が、二番目に高い稼働率『22』の4倍以上であると判定する。
そして、ディスクアレイ装置は、比較の結果に基づいて、被疑ディスクを検出する(図1の(3)を参照)。例えば、ディスクアレイ装置のCMは、最も高い値の稼働率のディスク、すなわち、稼働率『95』のディスク『0x208』を、被疑ディスクとして検出する。
このように、実施例1に係るディスクアレイ装置によれば、同一のRAIDグループを構成しているディスク間で性能に関する情報を相対的に比較することで、性能異常のディスクを適切に検出することが可能になる。
本来、RAIDグループを構成するディスクアレイ装置であれば、各ディスクの稼動率(Busy率)は、ほぼ均等になるはずである(RAIDグループの種別にも拠るが、各ディスクの稼働率がほぼ均等になるようにディスクは選択されるものである)。このため、顕著に稼働率が高いディスクは、通常処理以外の余分な処理(例えば、ディスクの傾き等に起因するリトライ動作など)を行っているはずであり、この様な余分な処理が繰り返されることが、性能異常の要因となるのである。このようなことから、実施例1に係るディスクアレイ装置によれば、同一のRAIDグループを構成しているディスク間で各ディスクの稼働率を相対的に比較し、顕著に稼働率が高いディスクを検出することで、性能異常のディスクを適切に検出することが可能になるのである。
[実施例1に係るディスクアレイ装置の構成]
次に、図2〜7を用いて、実施例1に係るディスクアレイ装置の構成を説明する。図2は、ディスクアレイ装置の全体構成(概略図)を示すブロック図であり、図3は、ディスクアレイ装置の全体構成を示すブロック図であり、図4は、実施例1に係るディスクアレイ装置の構成を示すブロック図であり、図5は、アクセス監視部を説明するための図であり、図6は、性能情報収集部を説明するための図であり、図7は、被疑ディスク検出部を説明するための図である。
[ディスクアレイ装置の全体構成]
まず、ディスクアレイ装置の全体構成について説明すると、実施例1に係るディスクアレイ装置は、図2に示すように、ディスクアレイ装置を制御する各部や、ディスクアレイ装置と上位装置(HOST)との間の通信モジュールなどを主に搭載するCE(Controller Enclosure:コントローラ エンクロージャ)部と、ディスクを搭載するDE(Device Enclosure:デバイス エンクロージャ)部とに、筐体が分けられている。また、ディスクアレイ装置は、図2に示すように、上位装置であるHOSTとCA(Channel Adapter:チャネル アダプタ)経由で接続し、DE部とDA(Device Adapter:デバイス アダプタ)経由で接続している。ここで、CAとは、チャネル側のアダプタの意味であり、DAとは、デバイス側のアダプタという意味である。
なお、ディスクアレイ装置が、複数のディスクを外付けで搭載する場合には、DAはハードウェアで構成され、複数のディスクを内部に搭載する場合には、DAはソフトウェアで構成される。実施例1においては、前者の場合を想定して説明するが、本発明はこれに限られるものではなく、ディスクアレイ装置がディスクを搭載する形態については、いずれでもよい。
また、実施例1に係るディスクアレイ装置は、図2に示すように、運用に使用するCM(Controller Module:コントローラ モジュール)が2CM以上あり、冗長が確保されている構成であるとする。また、図3に示すように、実施例1におけるDE部は、DAから直接、もしくは、ルータ(Router)を経由するなどして、複数個接続することが可能であるとする。
[CMの構成]
次に、実施例1に係るディスクアレイ装置のCMについて説明すると、図4に示すように、CM100は、CPU110(図4では、CPU0として説明されているが、CPUについて冗長が確保されている場合には、CPU1もほぼ同様に構成されることになる)に、IO制御部111と、System制御部112と、装置監視部113と、性能情報格納領域部120と、制御部130とを備える。
IO制御部111は、上位装置(HOST)からのI/O(入出力)を制御する。System制御部112は、ディスクアレイ装置を制御する。装置監視部113は、ディスクアレイ装置の装置状態を監視する。これらの各部は、ディスクアレイ装置に一般的に備えられている部である。
実施例1に係るディスクアレイ装置は、上記したIO制御部111、System制御部112、および装置監視部113の他に、制御部130を備える。制御部130は、ディスクに対するアクセス状況を、記憶、管理、判断等する。具体的には、制御部130は、図4に示すように、性能情報収集部131と、被疑ディスク検出部132と、異常通知・排除部133とを備える。
性能情報収集部131は、ディスク各々の性能に関する情報を収集する。例えば、性能情報収集部131は、ディスクごとや、RAIDグループごとに、ディスク各々の性能に関する情報(実施例1においては、所定の時間内に行われたアクセスから導出されるディスク各々の稼働率)を定期的に収集し、収集した性能に関する情報は、性能情報格納領域部120に格納された上、被疑ディスク検出部132による処理に利用されるなどする。
具体的に例を挙げて説明すると、実施例1においては、図4に示すように、各DA200が、アクセス監視部230を備え、アクセス監視部230が、当該DA200に接続する複数のディスクについて、アクセスを監視し、アクセス時間を累積計上している。図5の例で説明すると、各DA200のアクセス監視部230は、当該DA200に接続する複数のディスク『Disk 0x200』、『Disk 0x201』、・・、『Disk 0x208』、・・、各々について、アクセス時間『9』、『13』、・・、『52』、・・、を累積計上している。
性能情報収集部131は、各DA200に対して、アクセス時間を送信するよう指示を行い、アクセス監視部230から、当該DA200に接続する複数のディスク各々について、アクセス時間を取得する。次に、性能情報収集部131は、アクセス監視部230から取得したアクセス時間等を元に、ディスク各々について、稼働率を算出する。図6の例で説明すると、性能情報収集部131は、複数のディスク『Disk 0x200』、『Disk 0x201』、・・、『Disk 0x208』、・・、各々について、稼働率(Busy率)『22』、『21』、・・、『95』、・・、を算出する。このようにして、性能情報収集部131は、ディスク各々の稼働率を収集する。
なお、実施例1においては、各DA200のアクセス監視部230が、ディスク各々についてアクセス時間を累積計上し、性能情報収集部131が、アクセス監視部230から取得したアクセス時間等を元に、ディスク各々について稼働率を算出する手法について説明したが、本発明はこれに限られるものではない。例えば、各DA200のアクセス監視部230が、ディスク各々についてアクセス時間を累積計上するのみならず、稼働率の算出まで行い、性能情報収集部131が、アクセス監視部230から直接稼働率を取得する手法にも、本発明を同様に適用することができる。また、例えば、ディスク各々のアクセス時間を性能情報収集部131が直接収集する手法にも、本発明を同様に適用することができる。後者の手法は、例えば、ディスクアレイ装置が複数のディスクを内部に搭載する場合などに適用される。
被疑ディスク検出部132は、性能情報収集部131によってディスク各々について収集された情報を、同一のRAIDグループを構成しているディスク間で相対的に比較し、比較の結果に基づいて、性能に異常があると疑われる被疑ディスクを検出する。
例えば、被疑ディスク検出部132は、性能情報収集部131によってディスク各々について収集された情報(実施例1においては、稼働率)を、性能情報格納領域部120から取得し、同一のRAIDグループを構成しているディスク間で、稼動率が最も高い値と二番目に高い値とを比較し、n倍(nは、別途設定される所定の値、例えば、2〜5の値など)以上の差分(差分比)がある場合に、最も高い値の稼働率のディスクを、被疑ディスクとして検出する。
図7の例で説明すると、被疑ディスク検出部132は、例えば、RAIDグループNo.8が、ディスクNo.『0x008』、『0x108』、『0x208』および『0x308』で構成されている場合に、これらのディスク間で稼働率を比較すると、最も高い稼働率『95』が、二番目に高い稼働率『22』の4倍以上であるので、稼働率『95』のディスク『0x208』を、被疑ディスクとして検出する。
また、例えば、被疑ディスク検出部132は、性能情報収集部131によってディスク各々について収集された情報(実施例1においては、稼働率)を、性能情報格納領域部120から取得し、同一のRAIDグループを構成しているディスク各々について、所定のディスクの稼働率と、当該RAIDグループを構成するディスクの平均稼働率とを比較し、一定値以上の差分がある場合に、当該ディスクを、被疑ディスクとして検出してもよい。
ところで、この比較は、RAIDのレベルを意識して実施される。例えば、RAID1で構成されているRAIDグループは、ミラーリング構成のみのRAIDグループであるといえる。ミラーリング構成のみのRAIDグループを考えると、同一のRAIDグループを構成するディスク間で、一方のミラー側のディスク群に対してのみアクセスが発生する可能性があり、Readアクセスが偏ってしまうおそれがある(適宜Readアクセスを分散させているシステムでは、このような偏りは生じないと思われるが、一般的には、Readアクセスが偏ると考えられる)。このため、RAID1の異常ディスク検出のチェック処理においては、被疑ディスク検出部132は、稼働率をディスク間で相対的に比較するのみならず、Readアクセスの状況も併せて検討した上で、性能に異常があると疑われる被疑ディスクであるか否かを検出することになる。
また、例えば、RAID1+0で構成されているRAIDグループは、ミラーリング構成およびストライピング構成のRAIDグループであるといえる。このため、被疑ディスク検出部132は、RAID1+0で構成されているRAIDグループについては、ストライプグループごとに、稼働率をディスク間で相対的に比較(同一ストライプのディスク群を構成する全ディスクの稼働率を比較)する。
また、例えば、RAID5で構成されているRAIDグループは、パリティ構成のRAIDグループであるといえる。パリティ構成のRAIDグループについて考えると、ほぼ全ディスクにアクセスが均等に発生するはずである。このため、被疑ディスク検出部132は、RAID5で構成されているRAIDグループについては、稼働率をディスク間で相対的に比較する。
次に、被疑ディスク検出部132は、被疑ディスクが検出されると、被疑ディスクについて、検出の情報を加点形式で蓄積する。図7の例で説明すると、被疑ディスク検出部132は、被疑ディスクとしてディスク『0x208』が検出されると、ディスク『0x208』について、検出の情報を『1』と加点形式で、性能情報格納領域部120に蓄積する。
異常通知・排除部133は、被疑ディスク検出部132によって蓄積された情報の点数が所定の閾値を超過したことを条件として、通知情報(被疑ディスクが検出されたことを通知する通知情報)を所定の出力部に出力(例えば、ディスプレイに出力するなど)もしくは通信部を経由して所定の宛先に送信したり(例えば、ディスクアレイ装置の監視システムにメール送信するなど)、被疑ディスクをアクセスの対象から排除する。言い換えると、異常通知・排除部133は、被疑ディスク検出部132によって検出された被疑ディスクについて、一定時間内監視を継続し、真に異常であると判断できる状態となった場合に、アラーム通知や被疑ディスクの切り離しを実行するものである。
例えば、異常通知・排除部133は、被疑ディスク検出部132によって性能情報格納領域部120に蓄積された情報の点数をディスクごとに確認し、確認回数と異常加点との割合から異常と判断できる閾値(予め設定された所定の値、例えば、100回中50回検出など)を超過した場合に、通知情報の出力送信や、被疑ディスクの切り離しなどを実施する。
なお、異常通知・排除部133は、別途設定される設定に従い、通知情報の出力送信のみを行ったり、これと併せて被疑ディスクの切り離しを行う、あるいは、通知情報の出力送信も切り離しも無効にするなど、様々な対応をとることができる。ここで、ディスクアレイ装置においては、一般的に、ディスクの切り離しにあたり、リダンダントコピー処理を行う設定になっている場合がある。しかしながら、ディスクアレイ装置が、被疑ディスクについてのディスクの切り離しにおいてリダンダントコピー処理を行うとすると、性能劣化状態を加速するおそれがある。このようなことから、ディスクアレイ装置が被疑ディスクについてのディスクの切り離しを行う際には、即時に当該ディスクを切り離し、リビルド処理を行うなどするのが好ましい。また、異常通知・排除部133は、通知情報とともに、snmp trapをあげてもよい。
性能情報格納領域部120は、図4に示すように、例えば、ディスク各々について収集された稼働率(Disk性能情報)や、同一のRAIDグループを構成しているディスクについて収集された稼働率(RAIDグループ性能情報)、上位装置からディスク各々に対して行われるアクセス状況(Hostアクセス性能情報)などを格納する。なお、性能情報格納領域部120が格納する情報は、上記のものに限られず、運用の形態に応じて適宜変更されるものである。
[実施例1に係るディスクアレイ装置による処理の手順]
次に、図8〜16を用いて、実施例1に係るディスクアレイ装置による処理を説明する。図8は、運用判定・全体フローを示すフローチャートであり、図9は、性能情報収集開始処理を示すフローチャートであり、図10は、性能情報値収集処理を示すフローチャートであり、図11は、性能情報値チェック処理を示すフローチャートであり、図12は、ディスク性能異常チェック処理を示すフローチャートであり、図13は、異常検出後処理を示すフローチャートであり、図14は、RAID1異常ディスク検出処理(ミラーリング構成)を示すフローチャートであり、図15は、RAID1+0異常ディスク検出処理(ミラーリング+ストライピング構成)を示すフローチャートであり、図16は、RAID5異常ディスク検出処理(パリティ構成)を示すフローチャートである。
[運用判定・全体フロー(図8)]
まず、CM100は、ディスク(Disk)の異常検出(性能に異常があると疑われる被疑ディスクの検出)の論理が、運用状態にあるか否かのチェックを行う(ステップS801)。運用状態にない場合には(ステップS802否定)、すなわち、運用設定がなされていない場合には、ディスクの異常検出の論理が未動作であるので、CM100は処理を終了する。一方、運用状態にある場合には(ステップS802肯定)、CM100は、ディスクの異常検出の論理について、運用を開始する(ステップS803)。
ディスクの異常検出の論理について、運用を開始すると、CM100は、まず、性能情報収集開始処理を行う(ステップS804)。具体的には、CM100は、性能情報収集部131に対して、ディスク各々の性能情報収集の開始を依頼する。なお、性能情報収集開始処理については、後に、図9を用いて詳述する。
性能情報収集部131による性能情報収集処理が開始されると、CM100は、図8のループで示される処理の手順を、一定時間間隔で繰り返し実行する。具体的には、まず、性能情報収集部131が、ディスク各々の性能情報値を収集する(ステップS805)。ここで、性能情報値とは、ディスク各々におけるアクセス時間や、アクセス時間等を元に算出された稼働率(Disk性能情報)、その他、同一のRAIDグループを構成しているディスクについて収集された稼働率(RAIDグループ性能情報)、上位装置からディスク各々に対して行われるアクセス状況(Hostアクセス性能情報)などのことである。なお、性能情報値の収集処理については、後に、図10を用いて詳述する。
次に、被疑ディスク検出部132が、性能情報値をチェックする(ステップS806)。すなわち、被疑ディスク検出部132は、性能情報収集部131によってディスク各々について収集された情報に基づいて、同一のRAIDグループを構成しているディスク間で動作状況を相対的に比較し、比較の結果に基づいて、性能に異常があると疑われる被疑ディスクを検出し、当該被疑ディスクについて異常検出加点を行う。なお、性能情報値のチェック処理については、後に、図11を用いて詳述する。
続いて、異常通知・排除部133が、ディスクの性能異常をチェックする(ステップS807)。すなわち、異常通知・排除部133は、被疑ディスク検出部132によって蓄積されている異常検出加点に基づいて、異常判定(性能異常が疑われる被疑ディスクとして検出されたディスクが、真に異常であるか否かの絞込み判定)を実施する。なお、ディスク性能異常のチェック処理については、後に、図12を用いて詳述する。
そして、異常通知・排除部133は、性能異常(実施例1においては、被疑ディスクとして検出されたディスクが真に異常であるとさらに判定された場合を指す)を検出したか否かを判定し(ステップS808)、検出した場合には(ステップS808肯定)、異常検出後処理を行う(ステップS809)。すなわち、異常通知・排除部133は、ステップS808における判定の結果に基づいて、障害通知(被疑ディスクが検出されたことを通知する通知情報を所定の出力部に出力もしくは通信部を経由して所定の宛先に送信)、または、リカバリ処理(被疑ディスクをアクセスの対象から排除)を実施する。なお、異常検出後処理については、後に、図13を用いて詳述する。ステップS808において、性能異常を検出しない場合には(ステップS808否定)、異常通知・排除部133は、上記したステップS809の処理を行わない。
次に、CM100は、検出回数をチェックし(ステップS810)、一定周期チェックしたかを判定し(ステップS811)、一定周期チェックしている場合には(ステップS811肯定)、検出カウンタを初期化する(ステップS812)。一方、一定周期チェックしていない場合には(ステップS811否定)、検出カウンタを初期化しない。
続いて、CM100は、ディスクの異常検出の論理が、運用状態にあるか否かのチェックを行う(ステップS813)。運用状態にない場合には(ステップS814否定)、すなわち、運用設定が解除された場合には、CM100は、各動作処理を終了し(ステップS815)、処理を終了する。一方、運用状態にある場合には(ステップS814肯定)、CM100は、図8のループで示される処理の手順を繰り返し実行する。
[性能情報収集開始処理(図9)]
次に、図8のステップS804における性能情報収集開始処理について詳細に説明する。まず、性能情報収集部131が、性能情報収集開始処理を開始し(ステップS901)、性能情報収集の対象となるディスクをチェックする(ステップS902)。
対象となるディスクのチェックが開始されると、CM100は、図9のループで示される処理の手順を、ディスクの数分繰り返し実行する。具体的には、まず、性能情報収集部131は、状態をチェックする(ステップS903)。すなわち、性能情報収集部131は、ディスクの実装状態や動作状態等をチェックする。
チェックの結果、状態が良好であれば(ステップS904肯定)、性能情報収集部131は、性能情報収集開始の指示を行う(ステップS905)。すなわち、性能情報収集部131は、モジュールごとに、ディスク各々の性能情報収集を開始するよう指示を行う。ステップS904において、状態が良好でない場合には(ステップS904否定)、性能情報収集部131は、上記したステップS905の処理を行わない。
続いて、性能情報収集部131は、性能情報収集の対象となるディスクの残数をチェックし(ステップS906)、残数がなければ(ステップS907肯定)、性能情報収集開始処理を終了する(ステップS908)。
[性能情報値収集処理(図10)]
次に、図8のステップS805における性能情報値収集処理について詳細に説明する。まず、性能情報収集部131が、性能情報収集処理を開始し(ステップS1001)、性能情報収集の対象となるディスクをチェックする(ステップS1002)。
対象となるディスクのチェックが開始されると、CM100は、図10のループで示される処理の手順を、ディスクの数分繰り返し実行する。具体的には、まず、性能情報収集部131は、状態をチェックする(ステップS1003)。すなわち、性能情報収集部131は、ディスクの実装状態や動作状態等をチェックする。
チェックの結果、状態が良好でない場合には(ステップS1004否定)、すなわち、未実装や故障、電源オフ時などには、性能情報収集部131は、対象外のディスクであるとして(ステップS1005)、スキップする。
一方、状態が良好である場合には(ステップS1004肯定)、性能情報収集部131は、性能情報収集状態をチェックする(ステップS1006)。すなわち、性能情報収集部131は、未実装状態から実装状態になった場合や、故障状態から復帰状態になった場合の再起動処理を行う。
ここで、性能情報収集が動作中となっていない場合には(ステップS1007否定)、性能情報収集部131は、性能情報収集開始の指示を行い(ステップS1008)、初期値を設定する(ステップS1009)。一方、性能情報収集がすでに動作中となっている場合には(ステップS1007肯定)、性能情報収集部131は、性能情報値を送信するよう指示を行う(ステップS1010)。すなわち、対象となるディスクについて、性能情報値を性能情報収集部131に送信するよう、指示を行う。ここで、性能情報値とは、ディスク各々におけるアクセス時間のことである。
そして、性能情報収集部131は、性能情報値を管理メモリに格納する(ステップS1011)。すなわち、性能情報収集部131は、性能情報値を、CM100内のキャッシュメモリやその他性能情報格納領域部120などに格納する。
続いて、性能情報収集部131は、性能情報収集の対象となるディスクの残数をチェックし(ステップS1012)、残数がなければ(ステップS1013肯定)、性能情報収集処理を終了する(ステップS1014)。なお、性能情報収集部131は、性能情報値として、性能情報収集部131から送信されたアクセス時間の他に、アクセス時間等を元に算出された稼働率(Disk性能情報)、その他、同一のRAIDグループを構成しているディスクについて収集された稼働率(RAIDグループ性能情報)や、上位装置からディスク各々に対して行われるアクセス状況(Hostアクセス性能情報)などを、適宜格納する。これらの性能情報値は、必要に応じて適宜組み合わせるなどして利用される。
[性能情報値チェック処理(図11)]
次に、図8のステップS806における性能情報値チェック処理について詳細に説明する。まず、被疑ディスク検出部132が、性能情報値チェック処理を開始する(ステップS1101)。
性能情報値チェック処理が開始されると、被疑ディスク検出部132は、図11のループで示される処理の手順を、RAIDグループの数分繰り返し実行する。具体的には、まず、被疑ディスク検出部132は、RAIDグループをレベル別にチェックし(ステップS1102)、状態が良好であれば(ステップS1103肯定)、RAIDグループのレベル別に、異常ディスク検出のチェック処理を行う。すなわち、RAIDグループが『RAID1』であれば、RAID1で構成されているRAIDグループについて、異常ディスク検出のチェック処理を行い(ステップS1104)、RAIDグループが『RAID1+0』であれば、RAID1+0で構成されているRAIDグループについて、異常ディスク検出のチェック処理を行い(ステップS1105)、RAIDグループが『RAID5』であれば、RAID5で構成されているRAIDグループについて、異常ディスク検出のチェック処理を行い(ステップS1106)。なお、各々のチェック処理については、後に、図14〜16を用いて詳述する。
続いて、被疑ディスク検出部132は、検出結果を確認し(ステップS1107)、異常ディスクが検出されていた場合には(ステップS1108肯定)、対象となる異常ディスクの検出情報を加点する(ステップS1109)。すなわち、被疑ディスク検出部132は、異常が検出されたディスクについて、検出の情報を加点形式で蓄積する。
その後、被疑ディスク検出部132は、性能情報値のチェック処理を終了する(ステップS1110)。
[ディスク性能異常チェック処理(図12)]
次に、図8のステップ807におけるディスク性能異常チェック処理について詳細に説明する。まず、異常通知・排除部133が、ディスク性能異常チェック処理を開始する(ステップS1201)。
ディスク性能異常チェック処理が開始されると、異常通知・排除部133は、図12のループで示される処理の手順を、ディスクの数分繰り返し実行する。具体的には、まず、異常通知・排除部133は、ディスク性能異常検出の加点をチェックする(ステップS1202)。すなわち、被疑ディスク検出部132によって検出された異常ディスクについて、検出の情報を加点形式で蓄積した点数をチェックする。
そして、異常通知・排除部133は、チェックした点数が所定の閾値以上である場合には(ステップS1203肯定)、対象となるディスクについて、異常検出フラグをオンにする(ステップS1204)。閾値以上でない場合には(ステップS1203否定)、異常通知・排除部133は、上記したステップS1204の処理を行わない。
その後、異常通知・排除部133は、ディスク性能異常のチェック処理を終了する(ステップS1205)。
[異常検出後処理(図13)]
次に、図8のステップS809における異常検出後処理について詳細に説明する。まず、異常通知・排除部133は、異常検出後処理を開始する(ステップS1301)。
異常検出後処理が開始されると、異常通知・排除部133は、図13のループで示される処理の手順を、異常ディスクとして検出したディスク(被疑ディスク検出部132によって被疑ディスクとして検出されたディスクの内、異常通知・排除部133によって異常検出フラグがオンにされたディスク)の数分繰り返し実行する。
具体的には、まず、異常通知・排除部133は、ディスクアレイ装置の設定状態に依存することから、処理モードをチェックし(ステップS1302)、状態が、縮退優先であれば、切り離し処理を行う(ステップS1303〜1304)。すなわち、異常通知・排除部133は、異常検出フラグがオンにされた被疑ディスクを、アクセスの対象から排除する。
また、異常通知・排除部133は、状態が、通報優先であれば、障害通報処理を行う(ステップS1305)。すなわち、異常通知・排除部133は、異常検出フラグがオンにされた被疑ディスクが検出されたことを通知する通知情報を、所定の出力部に出力したり(例えば、ディスプレイに表示、スピーカに音声出力など)、所定の宛先に送信する(例えば、ディスクアレイ装置の監視システムにメール送信など)。
また、異常通知・排除部133は、状態が、縮退優先や通報優先以外であれば、内部情報として保持する(ステップS1306)。すなわち、異常通知・排除部133は、異常検出フラグがオンにされた被疑ディスクについて、内部情報として保持する。
その後、異常通知・排除部133は、異常検出後処理を終了する(ステップS1307)。
[RAID1異常ディスク検出処理(図14)]
次に、図11のステップS1104におけるRAID1の異常ディスク検出のチェック処理について詳細に説明する。まず、被疑ディスク検出部132は、RAID1で構成されているRAIDグループについて、異常ディスク検出のチェック処理を開始する(ステップS1401)。
ここで、RAID1で構成されているRAIDグループは、ミラーリング構成のみのRAIDグループであるといえる。ミラーリング構成のみのRAIDグループを考えると、同一のRAIDグループを構成するディスク間で、一方のミラー側のディスク群に対してのみアクセスが発生する可能性があり、Readアクセスが偏ってしまうおそれがある(適宜Readアクセスを分散させているシステムでは、このような偏りは生じないと思われるが、一般的には、Readアクセスが偏ると考えられる)。このため、以下に説明するように、RAID1の異常ディスク検出のチェック処理においては、稼働率をディスク間で相対的に比較するのみならず、Readアクセスの状況も併せて検討した上で、性能に異常があると疑われる被疑ディスクであるか否かを検出することになる。
すなわち、被疑ディスク検出部132は、まず、RAIDグループを構成しているディスク間で、稼働率(Busy率)を相対的に比較し(ステップS1402)、差分がない場合には(ステップS1403否定)、異常なしと判断して(ステップS1407)、RAID1の異常ディスク検出のチェック処理を終了する(ステップS1408)。すなわち、被疑ディスク検出部132は、ディスク間で稼働率を相対的に比較し、例えば、稼働率が最も高い値と二番目に高い値とを比較し、n倍以上の差がない場合には(nは、別途設定される所定の値)、被疑ディスクはなしと判断して、チェック処理を終了する。
一方、差分がある場合には(ステップS1403肯定)、次に、被疑ディスク検出部132は、アクセス状況をチェックする(ステップS1404)。すなわち、被疑ディスク検出部132は、稼働率が最も高い値と二番目に高い値とを比較し、n倍以上の差がある場合には、次に、ReadやWriteのアクセス比率等をチェックする。
そして、被疑ディスク検出部132は、Readアクセスが過多である場合には(ステップS1405肯定)、異常なしと判断して(ステップS1407)、RAID1の異常ディスク検出のチェック処理を終了する(ステップS1408)。一方、Readアクセスが過多でない場合には(ステップS1405否定)、異常ありと判断して(ステップS1406)、RAID1の異常ディスク検出のチェック処理を終了する(ステップS1408)。すなわち、被疑ディスク検出部132は、稼働率が最も高い値を示すディスクが、被疑ディスクであると判断して、チェック処理を終了する。
[RAID1+0異常ディスク検出処理(図15)]
次に、図11のステップS1105におけるRAID1+0の異常ディスク検出のチェック処理について詳細に説明する。まず、被疑ディスク検出部132は、RAID1+0で構成されているRAIDグループについて、異常ディスク検出のチェック処理を開始する(ステップS1501)。
ここで、RAID1+0で構成されているRAIDグループは、ミラーリング構成およびストライピング構成のRAIDグループであるといえる。このため、以下に説明するように、RAID1+0で構成されているRAIDグループについては、ストライプグループごとに、稼働率をディスク間で相対的に比較する。
すなわち、被疑ディスク検出部132は、異常ディスク検出のチェック処理が開始されると、図15に示すループ(二重ループの外側ループ)の処理の手順を、ストライプグループ分、繰り返し実行する。具体的には、まず、被疑ディスク検出部132は、同一のRAIDグループを構成しているディスク間で、稼動率を相対的に比較する(ステップS1502)。すなわち、被疑ディスク検出部132は、例えば、所定のディスクの稼働率と同一のRAIDグループを構成するディスクの平均稼動率とを比較する。
次に、被疑ディスク検出部132は、図15に示すループ(二重ループの内側ループ)の処理の手順を、ストライプグループを構成するディスクの数分、繰り返し実行する。具体的には、被疑ディスク検出部132は、差分があるか否かを判定し(ステップS1503)、差分がない場合には(ステップS1503否定)、異常なしと判断する(ステップS1505)。すなわち、被疑ディスク検出部132は、所定のディスクの稼働率と同一のRAIDグループを構成するディスクの平均稼動率とを比較した結果、一定値以上の差分がない場合には、被疑ディスクはなしと判断する。
一方、差分がある場合には(ステップS1503肯定)、異常ありと判断する(ステップS1504)。すなわち、被疑ディスク検出部132は、所定のディスクの稼働率と同一のRAIDグループを構成するディスクの平均稼動率とを比較した結果、一定値以上の差分がある場合には、当該差分があるディスクが被疑ディスクであると判断する。
その後、被疑ディスク検出部132は、RAID1+0の異常ディスク検出のチェック処理を終了する(ステップS1506)。
[RAID5異常ディスク検出処理(図16)]
次に、図11のステップS1106におけるRAID5の異常ディスク検出のチェック処理について詳細に説明する。まず、被疑ディスク検出部132は、RAID5で構成されているRAIDグループについて、異常ディスク検出のチェック処理を開始する(ステップS1601)。
ここで、RAID5で構成されているRAIDグループは、パリティ構成のRAIDグループであるといえる。パリティ構成のRAIDグループについて考えると、ほぼ全ディスクにアクセスが均等に発生するはずである。このため、以下に説明するように、RAID5で構成されているRAIDグループについては、単に、稼働率をディスク間で相対的に比較する。
すなわち、被疑ディスク検出部132は、異常ディスク検出のチェック処理が開始されると、まず、同一のRAIDグループを構成しているディスク間で、稼動率を相対的に比較する(ステップS1602)。すなわち、被疑ディスク検出部132は、例えば、稼働率が最も高い値と二番目に高い値とを比較する。
次に、被疑ディスク検出部132は、図16に示すループの処理の手順を、RAIDグループを構成するディスクの数分、繰り返し実行する。具体的には、被疑ディスク検出部132は、差分があるか否かを判定し(ステップS1603)、差分がない場合には(ステップS1603否定)、異常なしと判断する(ステップS1605)。すなわち、被疑ディスク検出部132は、稼働率が最も高い値と二番目に高い値とを比較し、n倍以上の差がない場合には(nは、別途設定される所定の値)、被疑ディスクはなしと判断する。
一方、差分がある場合には(ステップS1603肯定)、異常ありと判断する(ステップS1604)。すなわち、被疑ディスク検出部132は、稼働率が最も高い値と二番目に高い値とを比較し、n倍以上の差がある場合には、被疑ディスクはありと判断する。
その後、被疑ディスク検出部132は、RAID5の異常ディスク検出のチェック処理を終了する(ステップS1606)。
[実施例1の効果]
上記してきたように、実施例1によれば、RAIDグループを構成する複数のディスクを搭載し、上位装置から当該ディスク各々に対して行われるアクセスを制御するディスクアレイ装置であって、ディスク各々の性能に関する情報を収集し、ディスク各々について収集した情報を、同一のRAIDグループを構成しているディスク間で相対的に比較し、当該比較の結果に基づいて性能に異常があると疑われる被疑ディスクを検出するので、性能異常を適切に検出することが可能になる。
また、実施例1によれば、性能に関する情報として、所定の時間内に行われた前記アクセスから導出されるディスク各々の稼働率を収集し、稼働率を相対的に比較して被疑ディスクを検出するので、性能異常を適切に検出することが可能になる。
本来、RAIDグループを構成するディスクアレイ装置であれば、各ディスクの稼動率(Busy率)は、ほぼ均等になるはずである(RAIDグループの種別にも拠るが、各ディスクの稼働率がほぼ均等になるようにディスクは選択されるものである)。このため、顕著に稼働率が高いディスクは、通常処理以外の余分な処理(例えば、ディスクの傾き等に起因するリトライ動作など)を行っているはずであり、この様な余分な処理が繰り返されることが、性能異常の要因となるのである。このようなことから、実施例1によれば、同一のRAIDグループを構成しているディスク間で各ディスクの稼働率を相対的に比較し、顕著に稼働率が高いディスクを検出することで、性能異常のディスクを適切に検出することが可能になるのである。
また、実施例1によれば、RAIDグループの種別を判断し、種別に応じて相対的に比較を行うので、RAIDグループごとに、性能異常を適切に検出することが可能になる。
また、実施例1によれば、被疑ディスクを検出すると、被疑ディスクが検出されたことを通知する通知情報を所定の出力部に出力もしくは通信部を経由して所定の宛先に送信するので、性能異常に対する対処を適切に行うことが可能になる。
また、実施例1によれば、被疑ディスクを検出すると、当該被疑ディスクをアクセスの対象から排除するので、性能異常に対する対処を適切に行うことが可能になる。
また、実施例1によれば、被疑ディスクを検出すると、当該被疑ディスクについて当該検出の情報を加点形式で蓄積し、蓄積された情報の点数が所定の閾値を超過したことを条件として、通知情報を出力もしくは送信、あるいは、当該被疑ディスクを排除するなどするので、性能異常をより正確に検出した上で、性能異常に対する対処を適切に行うことが可能になる。
[他の実施例]
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。
実施例1においては、ディスクアレイ装置が、被疑ディスクを検出した後に、検出の情報を加点形式で蓄積し、蓄積した情報の点数が所定の閾値を超過したことを条件として、通報や切り離しが行われる事例(性能異常が疑われる被疑ディスクとして検出されたディスクが真に異常であるか否かをさらに判定する事例)について説明したが、本発明はこれに限られるものではない。例えば、所定の閾値を超過するか否かに関係なく、被疑ディスクを検出した際に、当該被疑ディスクが性能異常のディスクであるとして、直ちに、通報や切り離しを行ってもよい。また、例えば、通報や切り離しを行わずに、被疑ディスクを検出し、その情報を内部情報として保持するのみでもよい。
[RAID]
また、実施例1においては、ディスクアレイ装置が搭載する複数のディスクが構成しているRAIDグループとして、『RAID1』のグループ、『RAID1+0』のグループ、『RAID5』のグループについて説明したが、本発明はこれに限られるものではない。『RAID1』のグループは、ミラーリング構成のみのグループを例示するものであり、『RAID1+0』のグループは、ミラーリング構成およびストライピング構成のグループを例示するものであり、『RAID5』は、パリティ構成のグループを例示するものであるにすぎず、本発明は、RAIDが、ミラーリング構成のグループであるのか、ストライピング構成のグループであるのか、パリティ構成のグループであるのか、あるいは、これらの組み合わせのグループであるのか、等に応じて、適宜、同様に適用することができるものである。
[性能異常の検出単位]
また、実施例1においては、ディスクアレイ装置が、ディスク各々の性能情報を収集し、被疑ディスクを検出する手法について説明したが、本発明はこれに限られるものではない。例えば、DAがディスク各々のヘッダを監視することで、アクセス時間をディスクごとかつセクタごとに取得し、ディスクアレイ装置が、ディスク各々かつセクタ各々の性能情報として、セクタごとのアクセス時間を収集すれば、性能に異常があると疑われる被疑セクタを検出することも可能である。すなわち、本発明に係るディスクアレイ装置は、所定の単位の対象ごとに性能情報を収集し、収集した性能情報を、比較に適する対象間で相対的に比較することで、性能に異常があると疑われる対象を検出するものである。
[システム構成等]
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる(例えば、異常通知・排除部によって利用される閾値は、ディスクアレイ装置の内部処理で自動生成されても、あるいは、ディスクアレイ装置の運用管理者によって入力されてもよい)。この他、上記文書中や図面中で示した処理手順、制御手順(図8〜15)、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示(図2〜4)のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
[プログラム]
また、上記の実施例1で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図17を用いて、上記の実施例1と同様の機能を有するディスクアレイ装置制御プログラムを実行するコンピュータの一例を説明する。図17は、ディスクアレイ装置制御プログラムを実行するコンピュータを示す図である。
図17に示すように、コンピュータ300は、キャッシュ301、RAM302、HDD303、ROM304、およびCPU305をバス306で接続して構成される。ここで、ROM304には、上記の実施例1と同様の機能を発揮するディスクアレイ装置制御プログラム、つまり、図17に示すように、IO制御プログラム304aと、System制御プログラム304bと、装置監視プログラム304cと、性能情報収集プログラム304dと、被疑ディスク検出プログラム304eと、異常通知・排除プログラム304fとが予め記憶されている。
そして、CPU305は、これらのプログラム304a〜304f各々を読み出して実行することで、図17に示すように、各プログラム304a〜304f各々は、IO制御プロセス305aと、System制御プロセス305bと、装置監視プロセス305cと、性能情報収集プロセス305dと、被疑ディスク検出プロセス305eと、異常通知・排除プロセス305fとなる。なお、各プロセス305a〜305f各々は、図4に示した、IO制御部111、System制御部112、装置監視部113、性能情報収集部131、被疑ディスク検出部132、および異常通知・排除部133に各々対応する。
また、HDD303には、図17に示すように、性能情報格納テーブル303aが設けられる。なお、テーブル303aは、図4に示した、性能情報格納領域部120に対応する。
ところで、上記した各プログラム304a〜304fについては、必ずしもROM304に記憶させておく必要はなく、例えば、コンピュータ300に挿入されるフレキシブルディスク(FD)、CD−ROM、MOディスク、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」、または、コンピュータ300の内外に備えられるハードディスクドライブ(HDD)などの「固定用の物理媒体」、さらには、公衆回線、インターネット、LAN、WANなどを介してコンピュータ300に接続される「他のコンピュータ(またはサーバ)」に記憶させておき、コンピュータ300がこれらからプログラムを読み出して実行するようにしてもよい。
以上のように、本発明に係るディスクアレイ装置、ディスクアレイ装置制御プログラムおよびディスクアレイ装置制御方法は、RAIDグループを構成する複数のディスクを搭載し、上位装置から当該ディスク各々に対して行われるアクセスを制御することに有用であり、特に、性能異常を適切に検出することに適する。
実施例1に係るディスクアレイ装置の概要および特徴を説明するための図である。 ディスクアレイ装置の全体構成(概略図)を示すブロック図である。 ディスクアレイ装置の全体構成を示すブロック図である。 実施例1に係るディスクアレイ装置の構成を示すブロック図である。 アクセス監視部を説明するための図である。 性能情報収集部を説明するための図である。 被疑ディスク検出部を説明するための図である。 運用判定・全体フローを示すフローチャートである。 性能情報収集開始処理を示すフローチャートである。 性能情報値収集処理を示すフローチャートである。 性能情報値チェック処理を示すフローチャートである。 ディスク性能異常チェック処理を示すフローチャートである。 異常検出後処理を示すフローチャートである。 RAID1異常ディスク検出処理(ミラーリング構成)を示すフローチャートである。 RAID1+0異常ディスク検出処理(ミラーリング+ストライピング構成)を示すフローチャートである。 RAID5異常ディスク検出処理(パリティ構成)を示すフローチャートである。 ディスクアレイ装置制御プログラムを実行するコンピュータを示す図である。
符号の説明
100 CM
110 CPU
111 IO制御部
112 System制御部
113 装置監視部
120 性能情報格納領域部
130 制御部
131 性能情報収集部
132 被疑ディスク検出部
133 異常通知・排除部
200 DA
230 アクセス監視部

Claims (7)

  1. RAIDグループを構成する複数のディスクを搭載し、上位装置から当該ディスク各々に対して行われるアクセスを制御するディスクアレイ装置であって、
    前記ディスク各々の性能に関する情報として、所定の時間内に行われた前記アクセスから導出される当該ディスク各々の稼働率を収集する性能情報収集手段と、
    前記性能情報収集手段によって収集されたディスク各々の稼働率を用いて、所定ディスクの稼働率と当該所定ディスクと同一のRAIDグループを構成している他のディスクの稼働率とを比較し、当該所定ディスクの稼働率と他のディスクの稼動率との差が所定閾値を超える場合に、当該所定ディスクを、性能に異常があると疑われる被疑ディスクとして検出する被疑ディスク検出手段と、
    を備えたことを特徴とするディスクアレイ装置。
  2. 前記被疑ディスク検出手段は、前記RAIDグループの種別を判断し、判断した種別が、パリティ構成のRAIDグループである場合には、前記性能情報収集手段によって収集されたディスク各々の稼働率を用いて、所定ディスクの稼働率と当該所定ディスクと同一のRAIDグループを構成している他のディスクの稼働率とを比較し、当該所定ディスクの稼働率と他のディスクの稼動率との差が所定閾値を超える場合に、当該所定ディスクを被疑ディスクとして検出し、前記判断した種別が、ミラーリング構成およびストライピング構成のRAIDグループである場合には、同一のRAIDグループを構成しているディスクのうちストライプグループを構成するグループごとに、前記性能情報収集手段によって収集されたディスク各々の稼働率を用いて、所定ディスクの稼働率と当該所定ディスクと同一のRAIDグループを構成している他のディスクの稼働率とを比較し、当該所定ディスクの稼働率と他のディスクの稼動率との差が所定閾値を超える場合に、当該所定ディスクを被疑ディスクとして検出し、前記判断した種別が、ミラーリング構成のRAIDグループである場合には、前記性能情報収集手段によって収集されたディスク各々の稼働率を用いて、所定ディスクの稼働率と当該所定ディスクと同一のRAIDグループを構成している他のディスクの稼働率とを比較し、当該所定ディスクの稼働率と他のディスクの稼動率との差が所定閾値を超える場合には、リードアクセスとライトアクセスとの比率をさらに判定し、リードアクセスが過多でないと判定した場合に、当該所定ディスクを被疑ディスクとして検出することを特徴とする請求項に記載のディスクアレイ装置。
  3. 前記被疑ディスク検出手段によって被疑ディスクが検出されると、被疑ディスクが検出されたことを通知する通知情報を所定の出力部に出力もしくは通信部を経由して所定の宛先に送信する通知手段をさらに備えたことを特徴とする請求項1または2に記載のディスクアレイ装置。
  4. 前記被疑ディスク検出手段によって被疑ディスクが検出されると、当該被疑ディスクを前記アクセスの対象から排除する排除手段をさらに備えたことを特徴とする請求項1〜3のいずれか一つに記載のディスクアレイ装置。
  5. 前記被疑ディスク検出手段は、被疑ディスクが検出されると、当該被疑ディスクについて当該検出の情報を加点形式で蓄積し、
    請求項の通知手段および請求項の排除手段は、前記被疑ディスク検出手段によって蓄積された情報の点数が所定の閾値を超過したことを条件として、前記通知情報を出力もしくは送信する、および/または、当該被疑ディスクを排除することを特徴とする請求項3または4に記載のディスクアレイ装置。
  6. RAIDグループを構成する複数のディスクを搭載し、上位装置から当該ディスク各々に対して行われるアクセスを制御する方法を、コンピュータとしてのディスクアレイ装置に実行させるディスクアレイ装置制御プログラムであって、
    前記ディスク各々の性能に関する情報として、所定の時間内に行われた前記アクセスから導出される当該ディスク各々の稼働率を収集する性能情報収集手順と、
    前記性能情報収集手順によって収集されたディスク各々の稼働率を用いて、所定ディスクの稼働率と当該所定ディスクと同一のRAIDグループを構成している他のディスクの稼働率とを比較し、当該所定ディスクの稼働率と他のディスクの稼動率との差が所定閾値を超える場合に、当該所定ディスクを、性能に異常があると疑われる被疑ディスクとして検出する被疑ディスク検出手順と、
    をコンピュータに実行させることを特徴とするディスクアレイ装置制御プログラム。
  7. RAIDグループを構成する複数のディスクを搭載し、上位装置から当該ディスク各々に対して行われるアクセスを制御するディスクアレイ装置制御方法であって、
    前記ディスク各々の性能に関する情報として、所定の時間内に行われた前記アクセスから導出される当該ディスク各々の稼働率を収集する性能情報収集ステップと、
    前記性能情報収集ステップによって収集されたディスク各々の稼働率を用いて、所定ディスクの稼働率と当該所定ディスクと同一のRAIDグループを構成している他のディスクの稼働率とを比較し、当該所定ディスクの稼働率と他のディスクの稼動率との差が所定閾値を超える場合に、当該所定ディスクを、性能に異常があると疑われる被疑ディスクとして検出する被疑ディスク検出ステップと、
    を含んだことを特徴とするディスクアレイ装置制御方法。
JP2007255197A 2007-09-28 2007-09-28 ディスクアレイ装置、ディスクアレイ装置制御プログラムおよびディスクアレイ装置制御方法 Expired - Fee Related JP4456626B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007255197A JP4456626B2 (ja) 2007-09-28 2007-09-28 ディスクアレイ装置、ディスクアレイ装置制御プログラムおよびディスクアレイ装置制御方法
US12/204,315 US7925926B2 (en) 2007-09-28 2008-09-04 Disk array apparatus, computer-readable recording medium having disk array apparatus control program recorded thereon, and disk array apparatus control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007255197A JP4456626B2 (ja) 2007-09-28 2007-09-28 ディスクアレイ装置、ディスクアレイ装置制御プログラムおよびディスクアレイ装置制御方法

Publications (2)

Publication Number Publication Date
JP2009086971A JP2009086971A (ja) 2009-04-23
JP4456626B2 true JP4456626B2 (ja) 2010-04-28

Family

ID=40509686

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007255197A Expired - Fee Related JP4456626B2 (ja) 2007-09-28 2007-09-28 ディスクアレイ装置、ディスクアレイ装置制御プログラムおよびディスクアレイ装置制御方法

Country Status (2)

Country Link
US (1) US7925926B2 (ja)
JP (1) JP4456626B2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4456626B2 (ja) * 2007-09-28 2010-04-28 富士通株式会社 ディスクアレイ装置、ディスクアレイ装置制御プログラムおよびディスクアレイ装置制御方法
US8483854B2 (en) * 2008-01-28 2013-07-09 Qualcomm Incorporated Systems, methods, and apparatus for context processing using multiple microphones
EP2416504A1 (en) 2009-03-31 2012-02-08 Panasonic Corporation Relay apparatus and relay method
US9086970B2 (en) 2010-10-07 2015-07-21 International Business Machines Corporation Diagnosing entities associated with software components
JP2012221340A (ja) * 2011-04-12 2012-11-12 Fujitsu Ltd 制御方法及びプログラム、並びにコンピュータ
JP5849491B2 (ja) * 2011-07-22 2016-01-27 富士通株式会社 ディスク制御装置、ディスク装置異常検出方法、及びプログラム
JP5691969B2 (ja) * 2011-09-26 2015-04-01 オムロン株式会社 データ処理装置、データ処理システム、およびデータ処理方法
US8839046B2 (en) 2012-07-10 2014-09-16 International Business Machines Corporation Arranging data handling in a computer-implemented system in accordance with reliability ratings based on reverse predictive failure analysis in response to changes
US9892014B1 (en) * 2014-09-29 2018-02-13 EMC IP Holding Company LLC Automated identification of the source of RAID performance degradation
US10983855B2 (en) 2019-02-12 2021-04-20 Microsoft Technology Licensing, Llc Interface for fault prediction and detection using time-based distributed data

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6035306A (en) * 1997-11-24 2000-03-07 Terascape Software Inc. Method for improving performance of large databases
US7171668B2 (en) * 2001-12-17 2007-01-30 International Business Machines Corporation Automatic data interpretation and implementation using performance capacity management framework over many servers
JP4345313B2 (ja) * 2003-01-24 2009-10-14 株式会社日立製作所 ポリシーに基づいたストレージシステムの運用管理方法
US7286967B2 (en) * 2003-10-20 2007-10-23 Hewlett-Packard Development Company, L.P. Retrieving performance data from devices in a storage area network
JP2005275829A (ja) * 2004-03-25 2005-10-06 Hitachi Ltd ストレージシステム
US7475276B2 (en) 2004-05-07 2009-01-06 Equallogic, Inc. Method for maintaining track data integrity in magnetic disk storage devices
JP2006092070A (ja) 2004-09-22 2006-04-06 Nec Corp ディスクアレイ装置及びその制御方法並びに制御プログラム
US7356643B2 (en) * 2005-10-26 2008-04-08 International Business Machines Corporation System, method and program for managing storage
JP2008123132A (ja) * 2006-11-09 2008-05-29 Hitachi Ltd 記憶制御装置及び記憶制御装置の論理ボリューム形成方法
JP4456626B2 (ja) * 2007-09-28 2010-04-28 富士通株式会社 ディスクアレイ装置、ディスクアレイ装置制御プログラムおよびディスクアレイ装置制御方法

Also Published As

Publication number Publication date
US7925926B2 (en) 2011-04-12
US20090089503A1 (en) 2009-04-02
JP2009086971A (ja) 2009-04-23

Similar Documents

Publication Publication Date Title
JP4456626B2 (ja) ディスクアレイ装置、ディスクアレイ装置制御プログラムおよびディスクアレイ装置制御方法
JP5887757B2 (ja) ストレージシステム、ストレージ制御装置およびストレージ制御方法
US8127182B2 (en) Storage utilization to improve reliability using impending failure triggers
US7409582B2 (en) Low cost raid with seamless disk failure recovery
US8234467B2 (en) Storage management device, storage system control device, storage medium storing storage management program, and storage system
JP5768587B2 (ja) ストレージシステム、ストレージ制御装置およびストレージ制御方法
US7761660B1 (en) Identifying suspect disks
JP6191346B2 (ja) ストレージ制御装置、ディスクアレイ装置の制御方法及びディスクアレイ装置の制御プログラム
US20100077252A1 (en) Systems and Methods for Detection, Isolation, and Recovery of Faults in a Fail-in-Place Storage Array
EP1589426A2 (en) Redundant disk storage system
JP2005322399A (ja) 磁気ディスク記憶装置におけるトラック・データ完全性の維持方法
US20070101188A1 (en) Method for establishing stable storage mechanism
US20060215456A1 (en) Disk array data protective system and method
US7730370B2 (en) Apparatus and method for disk read checking
JP2000200157A (ja) ディスクアレイ装置およびディスクアレイ装置におけるデ―タ復旧方法
JP2006079219A (ja) ディスクアレイ制御装置およびディスクアレイ制御方法
US20030163757A1 (en) RAID subsystem and data input/output and recovery method in disk error mode
US7457990B2 (en) Information processing apparatus and information processing recovery method
JP4968078B2 (ja) 故障診断装置及び故障診断方法
JP4143040B2 (ja) ディスクアレイ制御装置、同装置に適用されるデータ欠損検出時の処理方法及びプログラム
JP2016057876A (ja) 情報処理装置、入出力制御プログラム、及び入出力制御方法
JP2012018481A (ja) ディスクアレイ装置およびディスクアレイ制御方法
JP4947062B2 (ja) 記憶装置、記録復旧方法、記録復旧プログラム
US8930748B2 (en) Storage apparatus and controller
JP4605374B2 (ja) 記憶装置の試験方法及び装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090319

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091007

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091013

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091214

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100205

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130212

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4456626

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140212

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees