説明

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

【課題】性能異常を適切に検出することを課題とする。
【解決手段】複数のディスクを搭載し、上位装置から当該ディスク各々に対して行われるアクセスを制御するディスクアレイ装置であって、ディスクへのアクセス経路を制御するDA(Device Adapter)各々の性能に関する情報を収集し、DA各々について収集した情報を、同一のアクセス経路を制御しているDA間で相対的に比較し、当該比較の結果に基づいて性能に異常があると疑われる被疑DAを検出する。また、ディスクアレイ装置は、被疑DAを検出すると、当該被疑DAについて当該検出の情報を加点形式で蓄積し、蓄積した情報の点数が所定の閾値を超過したことを条件として、通知情報を出力もしくは送信、あるいは、当該被疑DAを排除するなどする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ディスクアレイ装置、ディスクアレイ装置制御プログラム及びディスクアレイ装置制御方法に関する。
【背景技術】
【0002】
従来、データ入出力装置として、複数のディスクを搭載するディスクアレイ装置が用いられることがある。データ入出力装置の中でも、ディスクアレイ装置は、ディスクが冗長化されており、所定の数のディスクが故障したとしてもデータをロストしない。また、ディスクアレイ装置は、ディスクへのアクセス経路も冗長化されており、所定の数のアクセス経路が故障したとしてもディスクにアクセスすることができる。
【0003】
ここで、アクセス経路の冗長化について具体的に説明する。ディスクアレイ装置は、リード処理等の各種処理を制御する制御モジュールを有する。かかる制御モジュールは、ディスクへのアクセス経路を制御するDA(Device Adapter:デバイス アダプタ)を経由してディスクと接続される。具体的には、制御モジュールは、複数のDAを経由してディスクと接続されており、ディスクへのアクセス経路が冗長化されている。制御モジュールは、上位装置からアクセス要求を受け付けた場合に、アクセス経路を選択して、ディスクにアクセスすることになる。
【0004】
このようなことから、ディスクアレイ装置が搭載するディスク数が増大すると、これに比例するように、DAの数も増大する。特に、近年では、ディスクアレイ装置の最大記憶容量はペタバイトオーダーまで増大していることに伴って、ディスク数が増大しているので、DAの数も増大している。DAの数が増大すると、DAが故障する可能性も増大する。このため、一般的には、ディスクアレイ装置が搭載するDAについて、定期的に動作チェック等のステータス監視を行い、常にDAの状態を監視することで、異常が発生したDAの早期検出、状態の正常化を図っている。
【0005】
なお、近年では、コマンド処理時間が所定の閾値を超えているか否かを判定することで、ディスクアレイ装置を構成する構成部品を縮退する技術も提案されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2004−252692号公報
【特許文献2】特開2000−89984号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、上記した従来の技術では、性能異常を適切に検出することができないという問題があった。具体的には、上記従来技術は、動作異常や処理異常を検出することができるものの、DAの性能値が異常を示すような性能異常を検出することができなかった。これは、性能異常が発生しているDAは、性能が通常状態より低下するものの、異常と認識されない程度の性能で動作可能であるからである。しかし、いわゆる異常にはならない程度で動作するとは言うものの、性能異常によるデータアクセス遅延が発生すると、従来規定時間内に完了していた処理が規定時間内に完了しなくなる等、システムとして成り立たない事象も想定される。そのため、性能異常が発生しているDAを検出することは重要な課題となる。
【0008】
なお、上述したコマンド処理時間が閾値を超えているか否かを判定して、構成部品であるDAを縮退する技術を用いたとしても、DAの性能異常を適切に検出することができなかった。具体的には、本来、DAに性能異常が発生しているか否かは、外部要因などにより一時的にDAが高負荷状態になっているかどうかといった他の点を併せて判断しなければならないはずである。しかし、かかる判断が複雑かつ困難である以上、上述した技術では、性能異常のDAを適切に検出するとは言い難い。
【0009】
そこで、開示の技術は、上記に鑑みてなされたものであって、性能異常を適切に検出することが可能なディスクアレイ装置、ディスクアレイ装置制御プログラム及びディスクアレイ装置制御方法を提供することを目的とする。
【課題を解決するための手段】
【0010】
本願の開示するディスクアレイ装置は、一つの態様において、ディスクへのアクセス経路を制御しているアダプタ各々の性能に関する情報を収集する性能情報収集部と、前記性能情報収集部によって前記アダプタ各々について収集された情報を、同一の経路を制御しているアダプタ間で相対的に比較し、当該比較の結果に基づいて性能に異常があると疑われる被疑アダプタを検出する被疑アダプタ検出部とを備える。
【発明の効果】
【0011】
本願の開示するディスクアレイ装置の一つの態様によれば、性能異常を適切に検出することができるという効果を奏する。
【図面の簡単な説明】
【0012】
【図1】図1は、実施例1に係るディスクアレイ装置の概要を説明するための図である。
【図2】図2は、ディスクアレイ装置の全体構成の一例を示すブロック図である。
【図3】図3は、ディスクアレイ装置の全体構成の一例を示すブロック図である。
【図4】図4は、ディスクアレイ装置の全体構成の一例を示すブロック図である。
【図5】図5は、実施例1に係るディスクアレイ装置の構成を示すブロック図である。
【図6】図6は、アクセス監視部を説明するための図である。
【図7】図7は、性能情報収集部を説明するための図である。
【図8】図8は、被疑DA検出部を説明するための図である。
【図9】図9は、運用判定・全体フローを示すフローチャートである。
【図10】図10は、性能情報収集開始処理を示すフローチャートである。
【図11】図11は、性能情報値収集処理を示すフローチャートである。
【図12】図12は、性能情報値チェック処理を示すフローチャートである。
【図13】図13は、DA性能異常チェック処理を示すフローチャートである。
【図14】図14は、異常検出後処理を示すフローチャートである。
【図15】図15は、同一経路DA異常検出処理を示すフローチャートである。
【図16】図16は、ディスクアレイ装置制御プログラムを実行するコンピュータを示す図である。
【発明を実施するための形態】
【0013】
以下に、本願の開示するディスクアレイ装置、ディスクアレイ装置制御プログラム及びディスクアレイ装置制御方法の実施例を図面に基づいて詳細に説明する。なお、この実施例により本願に開示するディスクアレイ装置、ディスクアレイ装置制御プログラム及びディスクアレイ装置制御方法が限定されるものではない。
【実施例1】
【0014】
[用語の説明]
まず、以下の実施例で用いる主要な用語を説明する。「ディスクアレイ装置」とは、RAID(Redundant Arrays of Inexpensive Disks)グループを構成する複数のディスクを搭載し、上位装置であるホストからディスク各々に対して行われるアクセスを制御する装置である。また、「RAID」とは、複数のディスクをまとめて1台のディスクとして管理する技術のことであり、「ディスクアレイ装置」がRAIDグループを構成する複数のディスクを制御することで、高速性や耐障害性などが向上される。
【0015】
このような「ディスクアレイ装置」は、ディスクへのアクセス経路を制御するDAを経由してディスクにアクセスする。そして、「ディスクアレイ装置」は、一般に、複数のDAによりディスクと接続され、所定の数のDAが故障したとしてもディスクへのアクセスを可能にしている。
【0016】
ところで、「ディスクアレイ装置」は、高速性や耐障害性を要求されるシステムに適していると言える一方で、「ディスクアレイ装置」が搭載するDA数が増大することで、DAが故障する可能性も増大するという事態が生じている。このため、DA故障を早期に検出し、「ディスクアレイ装置」の状態の正常化を図る仕組みが必要となるが、DA故障の中でも、性能異常を早期に検出することが難しい。
【0017】
この点について簡単に説明すると、性能異常とは、動作異常や処理異常とは異なり、DAの性能値が異常を示すような異常であり、いわゆる異常にはならない程度で動作してしまう異常である。具体的に例を挙げて説明すると、DAにハード異常などの何らかの異常が発生していたとする。かかるハード異常がDAを動作不可能にするまでに至らない異常である場合、DAは、性能が劣化するものの正常に動作することがある。このようなケースでは、結果としてはDAが正常に動作しているように見えてしまう。そのため、上述したようなハード異常に起因する性能異常を早期に検出することは難しい。
【0018】
しかしながら、正常動作しているとは言うものの、高い確率で性能異常が再発するのであれば、高速性や耐障害性を要求されるシステムにとっては、いずれ致命的な故障となるおそれもある。このようなことから、このような性能異常も、動作異常や処理異常と同様、早期に検出しなければならない異常であることにかわりない。
【0019】
[実施例1に係るディスクアレイ装置の概要]
次に、図1を用いて、実施例1に係るディスクアレイ装置の概要を説明する。図1は、実施例1に係るディスクアレイ装置の概要を説明するための図である。
【0020】
図1に示したディスクアレイ装置10は、CM(Controller Module:コントローラ モジュール)100a〜100dと、DA121a〜121d及び122a〜122dと、DE(Device Enclosure:デバイス エンクロージャ)部300とを有する。CM100a〜100dは、リード処理やライト処理等を制御する制御モジュールである。なお、CM100a〜100dは、それぞれ同様の処理を行うので、以下では、CM100a〜100dのうち、CM100aを中心に説明する。DE部300は、複数のディスクを搭載するDE310〜340を有する。
【0021】
図1に示した例において、CM100aは、DA121a〜121d及び122a〜122dを経由してDE部300と接続されている。具体的には、CM100aは、DA121a及び122aを経由してDE310と接続されており、DA121b及び122bを経由してDE320と接続されている。同様に、CM100aは、DA121c及び122cを経由してDE330と接続されており、DA121d及び122dを経由してDE340と接続されている。
【0022】
すなわち、図1に示したディスクアレイ装置10は、ディスクへのアクセス経路が二重化されており、1個のDAが故障したとしてもディスクへのアクセスを可能にしている。1例を挙げて説明すると、DA121a又はDA122aのいずれか一方が故障した場合であっても、ディスクアレイ装置10は、DE310に搭載されるディスクにアクセス可能である。
【0023】
このような構成の下、実施例1におけるDAは、自身の性能に関する情報を計上する。実施例1では、DAが、性能に関する情報の一例として、アイドルである時間(アイドル時間)を累積計上するものとして説明する。
【0024】
図1の例で説明すると、DA121aは、Total Time:1000[ミリ秒]のうち、Idle Time:50[ミリ秒]を累積計上している。これは、DA121aがアイドル時間の計測を開始してから1000[ミリ秒]経過するまでの間に、アイドル時間の累計が50[ミリ秒]であったことを示している。同様にして、DA121a以外の他のDA121b〜121d及び122a〜122dも、自身のアイドル時間を累積計上する。
【0025】
そして、ディスクアレイ装置10は、DA121a〜121d及び122a〜122dから、DA各々の性能に関する情報(実施例1では、アイドル時間)を収集する(図1の(1)を参照)。図1に示した例では、ディスクアレイ装置10のCM100aは、DA121a〜121d及び122a〜122dに対して、「Total Time」及び「Idle Time」を送信するよう指示を行う。そして、CM100aは、DA121a〜121d及び122a〜122dから、「Total Time」及び「Idle Time」を取得する。
【0026】
続いて、CM100aは、取得した「Total Time」及び「Idle Time」を元に、DA121a〜121d及び122a〜122dの稼働率(Busy率)をDA毎に算出する。図1の例で説明すると、CM100aは、表1に示すように、DA121aの稼働率として『95』を算出し、DA122aの稼働率として『10』を算出し、DA121bの稼働率として『5』を算出している。同様にして、CM100aは、DA121c、121d及び122b〜122dの稼働率も算出する。なお、図1中の表1に示した「DA No」は、DA121a〜121d及び122a〜122dに付した符号に対応する。例えば、「DA No」が121aであるDAは、DA121aである。
【0027】
続いて、CM100aは、算出した稼働率を、同一のアクセス経路を制御しているDA間で相対的に比較する(図1の(2)を参照)。なお、ここで言う「同一のアクセス経路を制御しているDA」とは、CM100aが所定のDEへアクセスを行う場合に、アクセス経路になり得るDAを示す。以下では、同一のアクセス経路を制御している複数のDAを総称して「同一経路DA」と呼ぶこととする。例えば、図1に示した例では、DA121a及び122aは、共に、CM100aからDE310へのアクセス経路を制御しているため、「同一経路DA」である。同様に、DA121bと122bは、「同一経路DA」であり、DA121cと122cは、「同一経路DA」であり、DA121dと122dは、「同一経路DA」である。
【0028】
ここで、稼働率を相対的に比較する処理の例について説明する。例えば、CM100aは、同一経路DAである2個のDAの稼働率を比較し、n倍(nは、別途設定される所定の値、例えば、2〜5の値など)以上の差分(差分比)があるか否かを判定する。そして、CM100aは、比較の結果、双方の稼働率にn倍以上の差がある場合に、稼働率の高いDAを、性能に異常があると疑われる被疑DAとして検出する(図1の(3)を参照)。
【0029】
図1の例を用いて説明する。なお、ここでは、上述したnの値は「5」であるものとする。図1に示した例において、CM100aは、例えば、同一経路DAであるDA121aの稼働率と、DA122aの稼働率とを比較する。続いて、CM100aは、DA121aの稼働率『95』が、DA122aの稼働率『10』の5倍以上であると判定する。そして、CM100aは、比較の結果に基づいて、DA121aを、被疑DAとして検出する。
【0030】
このように、実施例1に係るディスクアレイ装置10は、同一経路DAであるDA間で、性能に関する情報を相対的に比較するので、性能異常が発生しているDAを適切に検出することができる。
【0031】
性能異常が発生しているDAを適切に検出することができる点について具体的に説明する。複数のDAによってアクセス経路が冗長化されている場合、本来、かかる複数のDAの稼働率は、ほぼ均等になるはずである。これは、一般に、CM100aは、各DAの稼働率がほぼ均等になるように、アクセス経路を選択するからである。このため、顕著に稼働率が高いDAは、何らかの異常(ハード異常等)が発生しており、通常処理以外の余分な処理(リトライ処理など)を行っていると考えられる。かかる余分な処理が繰り返し行われると、性能異常の要因になると考えられる。このようなことから、実施例1に係るディスクアレイ装置10は、同一のアクセス経路を制御しているDA間の稼働率を相対的に比較し、顕著に稼働率が高いDAを被疑DAとして検出する。これにより、実施例1に係るディスクアレイ装置10は、性能異常が発生しているDAを適切に検出することが可能になるのである。
【0032】
なお、上記では、アクセス経路が二重化されている場合を前提として説明したが、本願に係るディスクアレイ装置はこれに限定されず、アクセス経路が三重化以上されている場合であっても適用することができる。以下では、アクセス経路が三重化以上されている場合も含めて説明する。
【0033】
[実施例1に係るディスクアレイ装置の全体構成]
次に、図2〜図4を用いて、実施例1に係るディスクアレイ装置の全体構成について説明する。図2〜図4は、ディスクアレイ装置の全体構成の一例を示すブロック図である。
【0034】
図2に示したディスクアレイ装置10は、CM100a、100b、・・・を有する。ここでは、ディスクアレイ装置10は、運用に使用するCMが2CM以上あり、冗長が確保されている構成であるものとする。CM100aや100bは、ディスクアレイ装置10を制御する各部(CPU111a等)や、図示しない上位装置(HOST)との間の通信モジュール等を主に搭載する。
【0035】
また、ディスクアレイ装置10は、図2に示すように、ルータ(Router)11aを経由してDE310と接続され、ルータ11bを経由してDE320と接続されている。ルータ11aは、DA121a及び122aを有し、ルータ11bは、DA121b及び122bを有する。
【0036】
すなわち、CM100aや100bは、DE310へアクセスする場合、DA121a又は122aのいずれかを経由する。また、CM100aや100bは、DE320へアクセスする場合、DA121b又は122bのいずれかを経由する。このように、図2に示したディスクアレイ装置10は、ディスクへのアクセス経路が二重化されている。
【0037】
なお、本願に開示するディスクアレイ装置の構成は、図2に示した構成例に限られず、他の構成にも適用することができる。そこで、図3及び図4に、ディスクアレイ装置の他の全体構成例を示す。
【0038】
まず、図3に示したディスクアレイ装置20の全体構成について説明する。図3に示したディスクアレイ装置20は、CE(Controller Enclosure:コントローラ エンクロージャ)部21と、DE部300とに、筐体が分けられる。CE部21は、CM100e及び100fを有する。
【0039】
図3に示すように、ディスクアレイ装置20は、HOST12とCA(Channel adapter:チャネル アダプタ)131e等を経由して接続され、DE部300とDA121e等を経由して接続される。ここで、CAとは、チャネル側のアダプタの意味であり、DAとは、デバイス側のアダプタという意味である。
【0040】
また、CM100eとCM100fとは相互に接続され、互いに通信可能である。つまり、図3に示した例において、CM100eは、DA121e又はDA122eを経由してDE部300にアクセスすることが可能である上に、DA121f又はDA122fを経由してDE部300にアクセスすることも可能である。同様に、CM100fは、DA121e、122e、121f又は122fのいずれかを経由してDE部300にアクセスすることが可能である。すなわち、図3に示したディスクアレイ装置20は、ディスクへのアクセス経路が四重化されていることになる。
【0041】
なお、ディスクアレイ装置によっては、CM100eとCM100fとが相互に接続されていない場合もある。かかる場合、CM100eは、DA121e又はDA122eのいずれかを経由してDE部300へアクセスし、CM100fは、DA121f又は122fのいずれかを経由してDE部300にアクセスする。すなわち、図3に示した例において、CM100eとCM100fとが相互に接続されていない場合、ディスクへのアクセス経路は、二重化されていることになる。
【0042】
また、ディスクアレイ装置20が、複数のディスクを外付けで搭載する場合には、DA121e等はハードウェアであり、複数のディスクを内部に搭載する場合には、DA121e等はソフトウェアである。実施例1においては、前者の場合を想定して説明するが、本願に係るディスクアレイ装置はこれに限られるものではなく、ディスクアレイ装置20がディスクを搭載する形態については、いずれでもよい。
【0043】
次に、図4に示したディスクアレイ装置30の全体構成について説明する。図4に示したディスクアレイ装置30は、DA121g、122g、121h、・・・、122jから直接、もしくは、ルータを経由するなどして、複数のDE310〜340と接続されている。また、CM100g〜100jは、FC(Fibre Channel)スイッチ13を介してHOST12と接続されている。
【0044】
図4に示したCM100g〜100jは、相互に接続され、互いに通信可能である。つまり、図4に示した例において、CM100gは、DA121g〜121j、122g〜122jのいずれかを経由してDE310〜340にアクセスすることが可能である。同様に、CM100h〜100jは、DA121g〜121j、122g〜122jのいずれかを経由してDE310〜340にアクセスすることが可能である。すなわち、図4に示したディスクアレイ装置30は、ディスクへのアクセス経路が八重化されていることになる。
【0045】
[CMの構成]
次に、図5を用いて、実施例1に係るディスクアレイ装置10が有するCMの構成について説明する。図5は、実施例1に係るディスクアレイ装置10の構成を示すブロック図である。図5に示したCM100は、図1に示したCM100a〜100dに対応する。図5に示すように、CM100は、DA121a〜121d又は122a〜122dのいずれかを経由して、図示しないDE部300へアクセスする。
【0046】
DA121a〜121d及び122a〜122dは、それぞれ、アクセス監視部221a〜221d、222a〜222dを有する。アクセス監視部221a〜221d、222a〜222dは、それぞれ、DA121a〜121d、122a〜122dのアイドル時間を累積計上する。例えば、アクセス監視部221aは、DA121aのアイドル時間を累積計上する。
【0047】
図6を用いて具体的に説明する。図6は、アクセス監視部221aを説明するための図である。図6に示した例では、アクセス監視部221aは、1000[ミリ秒]のうち、DA121aのアイドル時間が50[ミリ秒]であったことを累積計上している。
【0048】
図5の説明に戻って、CM100は、CPU111a及び112aに、IO制御部111と、System制御部112と、装置監視部113と、性能情報格納領域部120と、制御部130とを有する。なお、図5では、CPUについて冗長が確保されているものとして、2個のCPU111a及び112aを示しているが、CPU111a及び112aは、同様の構成となる。
【0049】
IO制御部111は、上位装置(HOST)12からのI/O(入出力)を制御する。System制御部112は、ディスクアレイ装置10を制御する。装置監視部113は、ディスクアレイ装置10の装置状態を監視する。これらの各部は、ディスクアレイ装置10が一般的に有する部である。
【0050】
実施例1に係るディスクアレイ装置10は、上述したIO制御部111、System制御部112、及び装置監視部113の他に、制御部130を有する。制御部130は、ディスクに対するアクセス状況を、記憶、管理、判断等する。具体的には、制御部130は、図5に示すように、性能情報収集部131と、被疑DA検出部132と、異常通知・排除部133とを有する。
【0051】
性能情報収集部131は、DA各々の性能に関する情報を収集する。例えば、性能情報収集部131は、DA毎や、同一経路DA毎に、DA各々の性能に関する情報を定期的に収集し、収集した性能に関する情報を、性能情報格納領域部120に格納する。性能情報格納領域部120に格納された性能に関する情報は、被疑DA検出部132による処理に利用されるなどする。
【0052】
具体的には、性能情報収集部131は、DA121a〜121d及び122a〜122dに対して、アイドル時間等を送信するよう指示を行い、アクセス監視部221a〜221d、222a〜222dによって累積計上されたアイドル時間等を取得する。続いて、性能情報収集部131は、取得したアイドル時間等を元に、DA121a〜121d及び122a〜122dについて、稼働率を算出する。
【0053】
図7を用いて具体的に説明する。図7は、性能情報収集部131を説明するための図である。なお、ここでは、性能情報収集部131は、アクセス監視部221aから図6に示した情報を取得したものとする。図7に示した例のように、性能情報収集部131は、DA121aの稼働率(Busy率)として、『95』を算出する。具体的には、性能情報収集部131は、アクセス監視部221aから取得したTotal Time『1000』からIdle Time『50』を減算する。そして、性能情報収集部131は、減算した値『950』を、Total Time『1000』によって除算した後に、『100』を乗算することにより、稼働率(Busy率)『95』を算出する。同様にして、性能情報収集部131は、DA122a、121b、・・・、122dについて、稼働率(Busy率)『10』、『5』、・・・、『5』を算出する。
【0054】
なお、実施例1においては、各DAが有するアクセス監視部221a等がアイドル時間を累積計上し、性能情報収集部131がアクセス監視部221a等から取得したアイドル時間等を元に、各DAの稼働率を算出する手法について説明した。しかし、本願に開示するディスクアレイ装置はこれに限られるものではない。例えば、本願に開示するディスクアレイ装置は、アクセス監視部221a等が、アイドル時間を累積計上するのみならず、稼働率の算出まで行い、性能情報収集部131が、アクセス監視部221a等から直接稼働率を取得してもよい。また、例えば、本願に開示するディスクアレイ装置は、性能情報収集部131が、各DAのアイドル時間を直接収集してもよい。
【0055】
被疑DA検出部132は、性能情報収集部131によってDA各々について収集された情報を、同一経路DAに該当する複数のDA間で相対的に比較し、比較の結果に基づいて、性能に異常があると疑われる被疑DAを検出する。
【0056】
例えば、被疑DA検出部132は、性能情報収集部131によってDA各々について収集された情報(実施例1においては、稼働率)を、性能情報格納領域部120から取得する。続いて、被疑DA検出部132は、同一経路DAに該当する複数のDA間で、稼働率が最も高い値と二番目に高い値とを比較し、n倍(nは、別途設定される所定の値、例えば、2〜5の値など)以上の差分(差分比)がある場合に、稼働率が最も高いDAを、被疑DAとして検出する。
【0057】
また、例えば、被疑DA検出部132は、性能情報収集部131によってDA各々について収集された情報(実施例1においては、稼働率)を、性能情報格納領域部120から取得し、同一経路DAに該当する複数のDAについて、所定のDAの稼働率と、かかる複数のDAの平均稼働率とを比較し、一定値以上の差分がある場合に、所定のDAを、被疑DAとして検出してもよい。
【0058】
図8を用いて具体的に説明する。図8は、被疑DA検出部132を説明するための図である。図8に示した例において、DA121aと122aとが同一経路DAであり、DA121bと122bとが同一経路DAであり、DA121cと122cとが同一経路DAであり、DA121dと122dとが同一経路DAである。かかる場合に、被疑DA検出部132は、DA121aの稼働率と、DA122aの稼働率を比較する。同様に、被疑DA検出部132は、DA121bと122bの稼働率を比較し、DA121cと122cの稼働率を比較し、DA121dと122dの稼働率を比較する。
【0059】
そして、被疑DA検出部132は、図8に示した例において、DA121aの稼働率『95』が、DA122aの稼働率『10』の5倍以上であるので、稼働率『95』のDA121aを、被疑DAとして算出する。
【0060】
続いて、被疑DA検出部132は、検出した被疑DAについて、検出の情報を加点形式で蓄積する。図8の例で説明すると、被疑DA検出部132は、被疑DAとしてDA121aを検出した場合に、DA No『121a』について、検出の情報を『1』と加点形式で、性能情報格納領域部120に蓄積する。
【0061】
ここで、アクセス経路が三重化以上されている場合を例に挙げて、被疑DA検出部132による比較処理を説明する。例えば、図8に示した例において、8個のDA121a、122a、・・・、122dが同一経路DAであるものとする。かかる場合、被疑DA検出部132は、例えば、稼働率が最も高い『95』と、二番目に高い値『15』とを比較する。そして、被疑DA検出部132は、比較の結果、双方の稼働率の差分(差分比)が5倍以上であるので、稼働率『95』のDA121aを、被疑DAとして検出する。
【0062】
異常通知・排除部133は、被疑DA検出部132によって蓄積された情報の点数が所定の閾値を超過したことを条件として、被疑DAが検出されたことを示す通知情報を通知したり、被疑DAをアクセス経路の対象から排除したりする。例えば、異常通知・排除部133は、通知情報を所定の出力部(例えば、ディスプレイやスピーカなど)に出力したり、所定の宛先(例えば、システム管理者)に送信したりする。
【0063】
言い換えると、異常通知・排除部133は、被疑DA検出部132によって検出された被疑DAについて、一定時間内監視を継続し、真に異常であると判断できる状態となった場合に、アラーム通知や被疑DAの切り離しを実行する。例えば、異常通知・排除部133は、被疑DA検出部132によって性能情報格納領域部120に蓄積された情報の点数をDA毎に確認し、確認回数と異常加点との割合から異常と判断できる閾値を超過した場合に、通知情報の出力送信や、被疑DAの切り離しなどを実行する。なお、前述した「異常と判断できる閾値」とは、予め設定された所定の値であり、例えば、『100回中50回』などの値である。この例の場合、異常通知・排除部133は、確認回数『100回』に対して、異常加点を『50回』検出した場合に、通知情報の出力送信や、被疑DAの切り離しなどを実行する。
【0064】
なお、異常通知・排除部133は、別途設定される設定に従い、通知情報の出力送信のみを行ったり、これと併せて被疑DAの切り離しを行ったり、あるいは、通知情報の出力送信も切り離しも無効にするなど、様々な対応をとることができる。また、異常通知・排除部133は、通知情報とともに、snmp trapをあげてもよい。
【0065】
性能情報格納領域部120は、図5に示すように、例えば、Disk性能情報や、RAIDグループ性能情報や、Hostアクセス性能情報や、DA性能情報などを格納する。ここで、Disk性能情報は、ディスク各々に関する性能の情報である。
【0066】
RAIDグループ性能情報は、RAIDグループを構成しているディスクの組合せに関する情報や、RAIDグループに対するリードアクセスが、シーケンシャルアクセス又はランダムアクセスのいずれであるかといった情報である。
【0067】
Hostアクセス性能情報は、上位装置からディスクに対して行われるアクセスの状況に関する情報等である。DA性能情報は、性能情報収集部131によって算出された各DAの稼働率等である。なお、性能情報格納領域部120が格納する情報は、上記のものに限られず、運用の形態に応じて適宜変更されるものである。
【0068】
[実施例1に係るディスクアレイ装置10による処理の手順]
次に、図9〜図15を用いて、実施例1に係るディスクアレイ装置10による処理を説明する。図9は、運用判定・全体フローを示すフローチャートである。図10は、性能情報収集開始処理を示すフローチャートである。図11は、性能情報値収集処理を示すフローチャートである。図12は、性能情報値チェック処理を示すフローチャートである。図13は、DA性能異常チェック処理を示すフローチャートである。図14は、異常検出後処理を示すフローチャートである。図15は、同一経路DA異常検出処理を示すフローチャートである。
【0069】
[運用判定・全体フロー(図9)]
まず、ディスアレイ装置10は、被疑DAを検出するための処理を行うか否かが予め決められているので、CM100は、DAの異常検出(性能に異常があると疑われる被疑DAの検出)の論理が、運用状態にあるか否かのチェックを行う(ステップS101)。すなわち、CM100は、ステップS101において、被疑DAを検出するための処理を行う運用状態であるか否かをチェックする。
【0070】
運用状態にない場合には(ステップS102否定)、すなわち、運用設定がなされていない場合には、DAの異常検出の論理が未動作であるので、CM100は処理を終了する。一方、運用状態にある場合には(ステップS102肯定)、CM100は、DAの異常検出の論理について、運用を開始する(ステップS103)。
【0071】
DAの異常検出の論理について、運用を開始すると、CM100は、まず、性能情報収集開始処理を行う(ステップS104)。具体的には、CM100は、性能情報収集部131に対して、DA各々の性能情報収集の開始を依頼する。なお、性能情報収集開始処理については、後に、図10を用いて詳述する。
【0072】
性能情報収集部131による性能情報収集処理が開始されると、CM100は、図9のループで示される処理の手順を、一定時間間隔で繰り返し実行する。具体的には、まず、性能情報収集部131が、DA各々の性能情報値を収集する(ステップS105)。ここで、性能情報値とは、DA各々におけるアイドル時間や、アイドル時間等を元に算出された稼働率(DA性能情報)、その他、上述した性能情報格納領域部120に格納されているRAIDグループ性能情報などのことである。なお、性能情報値の収集処理については、後に、図11を用いて詳述する。
【0073】
続いて、被疑DA検出部132が、性能情報値をチェックする(ステップS106)。すなわち、被疑DA検出部132は、性能情報収集部131によってDA各々について収集された情報に基づいて、同一経路DAである複数のDA間で動作状況を相対的に比較する。そして、被疑DA検出部132は、比較の結果に基づいて、性能に異常があると疑われる被疑DAを検出し、検出した被疑DAについて異常検出加点を行う。なお、性能情報値のチェック処理については、後に、図12を用いて詳述する。
【0074】
続いて、異常通知・排除部133が、DAの性能異常をチェックする(ステップS107)。すなわち、異常通知・排除部133は、被疑DA検出部132によって蓄積されている異常検出加点に基づいて、異常判定(性能異常が疑われる被疑DAとして検出されたDAが、真に異常であるか否かの絞込み判定)を実施する。なお、DA性能異常のチェック処理については、後に、図13を用いて詳述する。
【0075】
そして、異常通知・排除部133は、被疑DA検出部132によって性能異常が検出されたか否かを判定する(ステップS108)。ここで言う「性能異常」とは、被疑DAとして検出されたDAが真に異常であるとさらに判定された場合を示す。性能異常が検出された場合には(ステップS108肯定)、異常通知・排除部133は、異常検出後処理を行う(ステップS109)。
【0076】
すなわち、異常通知・排除部133は、ステップS108における判定の結果に基づいて、障害通知、または、リカバリ処理を実施する。ここで言う「障害通知」とは、被疑DAが検出されたことを示す通知情報を所定の出力部に出力したり、所定の宛先に送信したりすることを示す。また、「リカバリ処理」とは、被疑DAをアクセス経路の対象から排除することを示す。なお、異常検出後処理については、後に、図14を用いて詳述する。
【0077】
ステップS108において、性能異常が検出されなかった場合には(ステップS108否定)、異常通知・排除部133は、上述したステップS109の処理を行わない。
【0078】
続いて、CM100は、検出回数をチェックし(ステップS110)、一定周期チェックしたかを判定し(ステップS111)、一定周期チェックしている場合には(ステップS111肯定)、検出カウンタを初期化する(ステップS112)。一方、一定周期チェックしていない場合には(ステップS111否定)、検出カウンタを初期化しない。
【0079】
続いて、CM100は、DAの異常検出の論理が、運用状態にあるか否かのチェックを行う(ステップS113)。運用状態にない場合には(ステップS114否定)、すなわち、運用設定が解除された場合には、CM100は、各動作処理を終了し(ステップS115)、処理を終了する。一方、運用状態にある場合には(ステップS114肯定)、CM100は、図9のループで示される処理の手順を繰り返し実行する。
【0080】
[性能情報収集開始処理(図10)]
次に、図9のステップS104における性能情報収集開始処理について詳細に説明する。まず、性能情報収集部131が、性能情報収集開始処理を開始し(ステップS201)、性能情報収集の対象となるDAをチェックする(ステップS202)。
【0081】
対象となるDAのチェックが開始されると、CM100は、図10のループで示される処理の手順を、DAの数分繰り返し実行する。具体的には、まず、性能情報収集部131は、DAの実装状態や動作状態等をチェックする(ステップS203)。
【0082】
チェックの結果、状態が良好であれば(ステップS204肯定)、性能情報収集部131は、性能情報収集開始の指示を行う(ステップS205)。すなわち、性能情報収集部131は、モジュールごとに、DA各々の性能情報収集を開始するよう指示を行う。ステップS204において、状態が良好でない場合には(ステップS204否定)、性能情報収集部131は、上述したステップS205の処理を行わない。
【0083】
続いて、性能情報収集部131は、性能情報収集の対象となるDAの残数をチェックし(ステップS206)、残数がなければ(ステップS207肯定)、性能情報収集開始処理を終了する(ステップS208)。
【0084】
[性能情報値収集処理(図11)]
次に、図9のステップS105における性能情報値収集処理について詳細に説明する。まず、性能情報収集部131が、性能情報収集処理を開始し(ステップS301)、性能情報収集の対象となるDAをチェックする(ステップS302)。
【0085】
対象となるDAのチェックが開始されると、CM100は、図11のループで示される処理の手順を、DAの数分繰り返し実行する。具体的には、まず、性能情報収集部131は、DAの実装状態や動作状態等をチェックする(ステップS303)。
【0086】
チェックの結果、状態が良好でない場合には(ステップS304否定)、すなわち、DAが未実装である場合や、DAが故障している場合や、DAの電源がオフである場合などには、性能情報収集部131は、かかるDAを対象外のDAであると判定して(ステップS305)、スキップする。
【0087】
一方、状態が良好である場合には(ステップS304肯定)、性能情報収集部131は、性能情報収集状態をチェックする(ステップS306)。すなわち、性能情報収集部131は、未実装状態から実装状態になった場合や、故障状態から復帰状態になった場合の再起動処理を行う。
【0088】
ここで、性能情報収集が動作中となっていない場合には(ステップS307否定)、性能情報収集部131は、性能情報収集開始の指示を行い(ステップS308)、初期値を設定する(ステップS309)。一方、性能情報収集がすでに動作中となっている場合には(ステップS307肯定)、性能情報収集部131は、性能情報値を送信するよう指示を行う(ステップS310)。すなわち、性能情報収集部131は、対象となるDAに対して、性能情報値を送信するよう指示を行う。ここで、性能情報値とは、DA各々におけるアイドル時間等のことである。
【0089】
そして、性能情報収集部131は、性能情報値を管理メモリに格納する(ステップS311)。すなわち、性能情報収集部131は、性能情報値を、CM100内のキャッシュメモリや、その他性能情報格納領域部120などに格納する。
【0090】
続いて、性能情報収集部131は、性能情報収集の対象となるDAの残数をチェックし(ステップS312)、残数がなければ(ステップS313肯定)、性能情報収集処理を終了する(ステップS314)。なお、性能情報収集部131は、性能情報値として、DAから送信されたアイドル時間の他に、アイドル時間等を元に算出された稼働率、その他、上述した性能情報格納領域部120に格納されているRAIDグループ性能情報などを、適宜格納する。これらの性能情報値は、必要に応じて適宜組み合わせるなどして利用される。
【0091】
[性能情報値チェック処理(図12)]
次に、図9のステップS106における性能情報値チェック処理について詳細に説明する。まず、被疑DA検出部132が、性能情報値チェック処理を開始する(ステップS401)。
【0092】
性能情報値チェック処理が開始されると、被疑DA検出部132は、図12のループで示される処理の手順を、同一経路DAに該当するDAの数分繰り返し実行する。具体的には、被疑DA検出部132は、同一経路DA異常検出処理を行う(ステップS402)。すなわち、被疑DA検出部132は、同一のアクセス経路を制御している複数のDAについて、異常DA検出のチェックを行う。なお、同一経路DA異常検出処理については、後に、図15を用いて詳述する。
【0093】
続いて、被疑DA検出部132は、検出結果を確認し(ステップS403)、異常DAが検出されていた場合には(ステップS404肯定)、対象となる異常DAの検出情報を加点する(ステップS405)。すなわち、被疑DA検出部132は、異常が検出されたDAについて、検出の情報を加点形式で蓄積する。
【0094】
その後、被疑DA検出部132は、性能情報値のチェック処理を終了する(ステップS406)。
【0095】
[DA性能異常チェック処理(図13)]
次に、図9のステップS107におけるDA性能異常チェック処理について詳細に説明する。まず、異常通知・排除部133が、DA性能異常チェック処理を開始する(ステップS501)。
【0096】
DA性能異常チェック処理が開始されると、異常通知・排除部133は、図13のループで示される処理の手順を、DAの数分繰り返し実行する。具体的には、まず、異常通知・排除部133は、DA性能異常検出の加点をチェックする(ステップS502)。すなわち、異常通知・排除部133は、被疑DA検出部132によって検出された異常DAについて、検出の情報を加点形式で蓄積した点数をチェックする。
【0097】
そして、異常通知・排除部133は、チェックした点数が所定の閾値以上である場合には(ステップS503肯定)、対象となるDAについて、異常検出フラグをオンにする(ステップS504)。閾値以上でない場合には(ステップS503否定)、異常通知・排除部133は、上述したステップS504の処理を行わない。
【0098】
その後、異常通知・排除部133は、DA性能異常のチェック処理を終了する(ステップS505)。
【0099】
[異常検出後処理(図14)]
次に、図9のステップS109における異常検出後処理について詳細に説明する。まず、異常通知・排除部133は、異常検出後処理を開始する(ステップS601)。
【0100】
異常検出後処理が開始されると、異常通知・排除部133は、図14のループでしめされる処理の手順を、異常DAとして検出したDAの数分繰り返し実行する。なお、ここで言う「異常DAとして検出したDA」とは、被疑DA検出部132によって被疑DAとして検出されたDAのうち、異常通知・排除部133によって異常検出フラグがオンにされたDAを示す。
【0101】
具体的には、まず、異常通知・排除部133は、ディスクアレイ装置10の設定状態に依存することから、処理モードをチェックする(ステップS602)。状態が、縮退優先であれば、切り離し処理を行う(ステップS603〜S604)。すなわち、異常通知・排除部133は、異常検出フラグがオンにされた被疑DAを、アクセス経路の対象から排除する。
【0102】
また、異常通知・排除部133は、状態が、通報優先であれば、障害通報処理を行う(ステップS605)。すなわち、異常通知・排除部133は、異常検出フラグがオンにされた被疑DAが検出されたことを示す通知情報を、所定の出力部に出力したり、所定の宛先に送信したりする。例えば、異常通知・排除部133は、通知情報をディスプレイに表示したり、スピーカに音声出力したり、ディスクアレイ装置10の監視システムにメール送信したりする。
【0103】
また、異常通知・排除部133は、状態が、縮退優先や通報優先以外であれば、内部情報として保持する(ステップS606)。すなわち、異常通知・排除部133は、異常検出フラグがオンにされた被疑DAについて、内部情報として保持する。
【0104】
その後、異常通知・排除部133は、異常検出後処理を終了する(ステップS607)。
【0105】
[同一経路DA異常検出処理(図15)]
次に、図12のステップS402における同一経路DA異常検出処理について詳細に説明する。まず、被疑DA検出部132は、同一のアクセス経路を制御しているDAについて、異常DA検出のチェック処理を開始する(ステップS701)。
【0106】
続いて、被疑DA検出部132は、同一経路DA(構成DA)の稼働率(Busy率)をチェックし(ステップS702)、稼働率(Busy率)が所定の値を超過しているか否かを判定する(ステップS703)。具体的には、被疑DA検出部132は、処理対象の同一経路DAに該当する複数のDAのうち、1個でも稼働率が所定の値を超過しているか否かを判定する。
【0107】
なお、被疑DA検出部132は、ステップS702において、同一経路DAに該当するDAが2個以上である場合に、稼働率(Busy率)をチェックする。すなわち、被疑DA検出部132は、同一経路DAに該当するDAが1個である場合には、稼働率(Busy率)のチェックを行わず、処理を終了する。これは、アクセス経路が冗長化されていない場合には、DAの稼働率が高くなることもあるからである。また、かかるDAがアクセス経路の対象から排除されることを防止するためでもある。
【0108】
図2の例を用いて説明する。図2の例において、DA121aとDA122aは同一経路DAである。したがって、DA121aとDA122aとが処理対象の同一経路DAである場合、被疑DA検出部132は、DA121aの稼働率、又は、DA122aの稼働率のいずれかが、所定の値を超過しているか否かを判定する。
【0109】
そして、同一経路DAに該当する全てのDAについて、稼働率が所定の値を超過していない場合(ステップS703否定)、被疑DA検出部132は、かかる同一経路DAに該当するDAに対して異常なしと判断する(ステップS704)。そして、被疑DA検出部132は、異常DA検出のチェック処理を終了する(ステップS705)。
【0110】
このように判断する理由について説明する。例えば、図2に示した例のように、DA121bとDA122bとが同一経路DAであるものとする。そして、DA121bの稼働率が『5』であり、DA122bの稼働率が『1』であるものとする。かかる場合、DA121bの稼働率『5』は、DA122bの稼働率『1』の5倍である。したがって、DA121bの性能が異常とも考えられる。しかし、稼働率が『5』である状態は、一般に、DAの性能が異常であると言い難い。また、DAの稼働率が『5』と『1』とであれば、同一経路DAの稼働率は十分に分散されていると考えられる。このようなことから、被疑DA検出部132は、同一経路DAに該当する全てのDAについて、稼働率が所定の値を超過していない場合には、DAに性能異常が発生してないと判断する。
【0111】
一方、同一経路DAに該当する複数のDAのうち、1個でも稼働率が所定の値を超過している場合(ステップS703肯定)、被疑DA検出部132は、かかる同一経路DAに該当するDA間で、稼働率(Busy率)を相対的に比較する(ステップS706)。
【0112】
比較の結果、差分がない場合には(ステップS707否定)、被疑DA検出部132は、異常なしと判断して(ステップS704)、異常DA検出のチェック処理を終了する(ステップS705)。すなわち、被疑DA検出部132は、DA間で稼働率を相対的に比較し、双方の稼働率にn倍(nは、別途設定される所定の値、例えば、2〜5の値など)以上の差がない場合には、被疑DAはなしと判断して、チェックを終了する。
【0113】
このように判断する理由について説明する。稼働率にn倍以上の差がない場合、同一経路DAの稼働率は十分に分散されているからである。例えば、図2に示した例のように、DA121bとDA122bとが同一経路DAであるものとする。そして、DA121bの稼働率が『90』であり、DA122bの稼働率が『91』であるものとする。かかる場合、DA121b及びDA122bの稼働率が高いため、DA121b及びDA122bに性能異常が発生しているとも考えられる。しかし、DA121b及びDA122bの稼働率には、ほとんど差がないので、同一経路DAの稼働率は十分に分散されている。したがって、双方のDAの稼働率が高い場合であっても、一時的に高負荷状態になっていると考えられるので、双方のDAに性能異常は発生していないと判断する。
【0114】
一方、差分がある場合には(ステップS707肯定)、被疑DA検出部132は、アクセス状況をチェックする(ステップS708)。すなわち、被疑DA検出部132は、DA間で稼働率を相対的に比較し、双方の稼働率にn倍以上の差がある場合には、ReadやWriteのアクセス比率等をチェックする。
【0115】
そして、被疑DA検出部132は、Readアクセスが過多である場合には(ステップS709肯定)、異常なしと判断して(ステップS704)、異常DA検出のチェック処理を終了する(ステップS705)。一方、Readアクセスが過多でない場合には(ステップS709否定)、被疑DA検出部132は、異常ありと判断して(ステップS710)、異常DA検出のチェック処理を終了する(ステップS705)。
【0116】
ここで、上記ステップS708において、アクセス状況をチェックした理由について説明する。ディスアレイ装置10は、アクセス経路が冗長化されている場合であっても、特定のアクセス経路に偏ってディスクアクセスを行うことがある。例えば、サイズの大きいデータに対して、単一のリードシーケンシャルアクセスが発生している場合、ディスアレイ装置10は、アクセス経路を分散させずに、特定のアクセス経路を用いてReadアクセスを行うことがある。このため、同一経路DA異常検出処理においては、稼働率をDA間で相対的に比較するのみならず、上述したように、Readアクセスの状況も併せて検討した上で、性能に異常があると疑われる被疑DAであるか否かを検出する。なお、被疑DA検出部132は、例えば、性能情報格納領域部120に格納されているRAIDグループ性能情報などに基づいて、単一のリードシーケンシャルアクセスが発生しているか否かを判断する。
【0117】
[実施例1の効果]
上述してきたように、実施例1に係るディスクアレイ装置10は、ディスクへのアクセス経路となるDA各々の性能に関する情報を収集する。そして、ディスクアレイ装置10は、収集した情報を、同一のアクセス経路を制御しているDA間で相対的に比較し、比較の結果に基づいて性能に異常があると疑われる被疑DAを検出する。これにより、実施例1に係るディスクアレイ装置10は、性能異常が発生しているDAを適切に検出することが可能になる。
【0118】
また、実施例1によれば、性能に関する情報として、所定の時間内に行われたDAのアイドル時間から導出されるDA各々の稼働率を収集し、稼働率を相対的に比較して被疑DAを検出するので、性能異常を適切に検出することが可能になる。
【0119】
また、実施例1によれば、被疑DAを検出すると、被疑DAが検出されたことを通知する通知情報を所定の出力部に出力もしくは通信部を経由して所定の宛先に送信するので、性能異常に対する対処を適切に行うことが可能になる。
【0120】
また、実施例1によれば、被疑DAを検出すると、当該被疑DAをアクセス経路の対象から排除するので、性能異常に対する対処を適切に行うことが可能になる。
【0121】
また、実施例1によれば、被疑DAを検出すると、被疑DAについて検出の情報を加点形式で蓄積し、蓄積された情報の点数が所定の閾値を超過したことを条件として、通知情報を出力もしくは送信、あるいは、被疑DAを排除するなどするので、性能異常をより正確に検出した上で、性能異常に対する対処を適切に行うことが可能になる。
【実施例2】
【0122】
[他の実施例]
ところで、本願に開示するディスクアレイ装置は、上述した実施例以外にも、種々の異なる形態にて実施されてよい。そこで、実施例2では、本願に開示するディスクアレイ装置の他の実施例について説明する。
【0123】
上記実施例1においては、ディスクアレイ装置が、被疑DAを検出した後に、検出の情報を加点形式で蓄積し、蓄積した情報の点数が所定の閾値を超過したことを条件として、通報や切り離しが行われる事例について説明した。具体的には、実施例1では、性能異常が疑われる被疑DAとして検出されたDAが真に異常であるか否かをさらに判定する事例について説明した。しかし、本願に開示するディスクアレイ装置はこれに限られるものではない。例えば、ディスクアレイ装置は、蓄積した情報の点数が所定の閾値を超過するか否かに関係なく、被疑DAを検出した際に、当該被疑DAが性能異常のDAであるとして、直ちに、通報や切り離しを行ってもよい。また、例えば、ディスクアレイ装置は、通報や切り離しを行わずに、被疑DAを検出し、その情報を内部情報として保持してもよい。
【0124】
[比較処理]
また、上記実施例1においては、同一経路DAの稼働率はほぼ均等になることが望ましいという立場から説明した。具体的には、上記実施例1では、本来、同一経路DAの稼働率は均等であるはずなので、同一経路DAの稼働率にn倍以上の差があった場合に、稼働率が高いDAを被疑DAとして検出する例を説明した。しかし、ディスクアレイ装置によっては、同一経路DAであっても、稼働率が均等にならないように設計される場合もあり得る。例えば、DA121とDA122とが同一経路DAである場合に、DA121とDA122との稼働率が2:1になるように設計される場合もあり得る。このようなディスクアレイ装置では、DA121とDA122との稼働率に差があっても性能異常が発生しているとは言い切れない。
【0125】
そこで、稼働率が均等にならないように設計されている場合、ディスクアレイ装置は、稼働率を補正した後に、比較処理を行ってもよい。例えば、上記例のように、同一経路DAであるDA121とDA122との稼働率が2:1になるように設計されているものとする。そして、DA121の稼働率が『70』であり、DA122の稼働率が『40』であったものとする。かかる場合、ディスクアレイ装置は、DA121の稼働率『70』を『2』で除算し、除算後の値『35』と、DA122の稼働率『40』とを比較してもよい。そして、ディスクアレイ装置は、比較の結果、双方の稼働率にn倍以上の差があった場合に、稼働率の高いDAを被疑DAとして検出すればよい。
【0126】
[システム構成等]
また、上記実施例1において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる(例えば、異常通知・排除部によって利用される閾値は、ディスクアレイ装置の内部処理で自動生成されても、あるいは、ディスクアレイ装置の運用管理者によって入力されてもよい)。この他、上記文書中や図面中で示した処理手順、制御手順(図8〜15)、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【0127】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示(図2〜図5)のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPU及び当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【0128】
[プログラム]
また、上記実施例1で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図16を用いて、上記の実施例1と同様の機能を有するディスクアレイ装置制御プログラムを実行するコンピュータの一例を説明する。図16は、ディスクアレイ装置制御プログラムを実行するコンピュータを示す図である。
【0129】
図16に示すように、コンピュータ1000は、キャッシュ1001、RAM1002、HDD1003、ROM1004、及びCPU1005が、バス1006によって接続されている。ここで、ROM1004には、上記の実施例1と同様の機能を発揮するディスクアレイ装置制御プログラム、つまり、図16に示すように、IO制御プログラム1004aと、System制御プログラム1004bと、装置監視プログラム1004cと、性能情報収集プログラム1004dと、被疑DA検出プログラム1004eと、異常通知・排除プログラム1004fとが予め記憶されている。
【0130】
そして、CPU1005は、これらのプログラム1004a〜1004f各々を読み出して実行することで、図16に示すように、各プログラム1004a〜1004f各々は、IO制御プロセス1005aと、System制御プロセス1005bと、装置監視プロセス1005cと、性能情報収集プロセス1005dと、被疑DA検出プロセス1005eと、異常通知・排除プロセス1005fとなる。なお、各プロセス1005a〜1005f各々は、図5に示した、IO制御部111、System制御部112、装置監視部113、性能情報収集部131、被疑DA検出部132、及び異常通知・排除部133に各々対応する。
【0131】
また、HDD1003には、図16に示すように、性能情報格納テーブル1003aが設けられる。なお、性能情報格納テーブル1003aは、図5に示した、性能情報格納領域部120に対応する。
【0132】
ところで、上記した各プログラム1004a〜1004fについては、必ずしもROM1004に記憶させておく必要はなく、例えば、コンピュータ1000に挿入されるフレキシブルディスク(FD)、CD−ROM、MOディスク、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」、または、コンピュータ1000の内外に備えられるハードディスクドライブ(HDD)などの「固定用の物理媒体」、さらには、公衆回線、インターネット、LAN、WANなどを介してコンピュータ1000に接続される「他のコンピュータ(またはサーバ)」に記憶させておき、コンピュータ1000がこれらからプログラムを読み出して実行するようにしてもよい。
【符号の説明】
【0133】
10、20、30 ディスクアレイ装置
11a、11b ルータ
12 HOST
13 FCスイッチ
21 CE部
100、100a〜100j CM
111 IO制御部
111a、111b CPU
112 System制御部
113 装置監視部
120 性能情報格納領域部
121、121a〜121j DA
122、122a〜122j DA
130 制御部
131 性能情報収集部
132 被疑DA検出部
133 異常通知・排除部
221a アクセス監視部
300 DE部
310〜340 DE

【特許請求の範囲】
【請求項1】
ディスクへのアクセス経路を制御しているアダプタ各々の性能に関する情報を収集する性能情報収集部と、
前記性能情報収集部によって前記アダプタ各々について収集された情報を、同一の経路を制御しているアダプタ間で相対的に比較し、当該比較の結果に基づいて性能に異常があると疑われる被疑アダプタを検出する被疑アダプタ検出部と
を備えたことを特徴とするディスクアレイ装置。
【請求項2】
前記性能情報収集部は、前記性能に関する情報として、所定の時間内における前記アダプタのアイドル時間から導出される前記アダプタ各々の稼働率を収集し、
前記被疑アダプタ検出部は、前記稼働率を相対的に比較して前記被疑アダプタを検出することを特徴とする請求項1に記載のディスクアレイ装置。
【請求項3】
前記被疑アダプタ検出部によって被疑アダプタが検出されると、被疑アダプタが検出されたことを通知する通知情報を所定の出力部に出力もしくは通信部を経由して所定の宛先に送信する通知部をさらに備えたことを特徴とする請求項1または2に記載のディスクアレイ装置。
【請求項4】
前記被疑アダプタ検出部によって被疑アダプタが検出されると、当該被疑アダプタをアクセス経路の対象から排除する排除部をさらに備えたことを特徴とする請求項1〜3のいずれか一つに記載のディスクアレイ装置。
【請求項5】
前記被疑アダプタ検出部は、被疑アダプタが検出されると、当該被疑アダプタについて当該検出の情報を加点形式で蓄積し、
前記通知部は、前記被疑アダプタ検出部によって蓄積された情報の点数が所定の閾値を超過したことを条件として、前記通知情報を出力もしくは送信することを特徴とする請求項3に記載のディスクアレイ装置。
【請求項6】
前記被疑アダプタ検出部は、被疑アダプタが検出されると、当該被疑アダプタについて当該検出の情報を加点形式で蓄積し、
前記排除部は、前記被疑アダプタ検出部によって蓄積された情報の点数が所定の閾値を超過したことを条件として、当該アダプタを排除することを特徴とする請求項4に記載のディスクアレイ装置。
【請求項7】
ディスクへのアクセス経路を制御しているアダプタ各々の性能に関する情報を収集する性能情報収集手順と、
前記性能情報収集手順によって前記アダプタ各々について収集された情報を、同一の経路を制御しているアダプタ間で相対的に比較し、当該比較の結果に基づいて性能に異常があると疑われる被疑アダプタを検出する被疑アダプタ検出手順と
をコンピュータに実行させることを特徴とするディスクアレイ装置制御プログラム。
【請求項8】
ディスクを搭載するディスクアレイ装置によるディスクアレイ装置制御方法であって、
前記ディスクアレイ装置が、
ディスクへのアクセス経路を制御しているアダプタ各々の性能に関する情報を収集する性能情報収集ステップと、
前記性能情報収集ステップによって前記アダプタ各々について収集された情報を、同一の経路を制御しているアダプタ間で相対的に比較し、当該比較の結果に基づいて性能に異常があると疑われる被疑アダプタを検出する被疑アダプタ検出ステップと
を含んだことを特徴とするディスクアレイ装置制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate


【公開番号】特開2010−176513(P2010−176513A)
【公開日】平成22年8月12日(2010.8.12)
【国際特許分類】
【出願番号】特願2009−20005(P2009−20005)
【出願日】平成21年1月30日(2009.1.30)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】