JP6965626B2 - ストレージ制御装置、および制御プログラム - Google Patents

ストレージ制御装置、および制御プログラム Download PDF

Info

Publication number
JP6965626B2
JP6965626B2 JP2017157531A JP2017157531A JP6965626B2 JP 6965626 B2 JP6965626 B2 JP 6965626B2 JP 2017157531 A JP2017157531 A JP 2017157531A JP 2017157531 A JP2017157531 A JP 2017157531A JP 6965626 B2 JP6965626 B2 JP 6965626B2
Authority
JP
Japan
Prior art keywords
storage
hdd
response
control device
threshold value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017157531A
Other languages
English (en)
Other versions
JP2019036163A (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 JP2017157531A priority Critical patent/JP6965626B2/ja
Priority to US16/039,578 priority patent/US10606490B2/en
Publication of JP2019036163A publication Critical patent/JP2019036163A/ja
Application granted granted Critical
Publication of JP6965626B2 publication Critical patent/JP6965626B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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/061Improving I/O performance
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • 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/0653Monitoring storage devices or systems
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Debugging And Monitoring (AREA)
  • Hardware Redundancy (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Description

本発明は、ストレージ制御装置、および制御プログラムに関する。
従来、リダンダントコピー(Redundant Copy)と呼ばれるリカバリ処理がある。リダンダントコピーでは、統計加点処理等を利用して故障の予兆を検知し、バックグラウンドで被疑ディスクから代替ディスク(ホットスペア)へのデータ移行を実施する。
先行技術としては、例えば、障害の発生時にポイントを減点し、障害に至らないがコマンド処理時間が処理時間基準値を超える応答遅延の時にポイントを減点し、ポイントが第1のポイント基準値を下回った場合に不良部品を縮退するディスクアレイ装置がある。また、被仮想化ストレージの障害を検知した場合、当該障害による波及範囲を調べ、対処が必要なデバイスを特定し、当該デバイスの性能や信頼性などの属性に適応する移行先デバイスを決定し、仮想化ストレージに対してデバイス移行を指示する技術がある。また、未割り当てのデータ記憶装置を用いて劣化したデータ記憶アレイを最良の信頼性、最良の性能及び最良の効率に復元することができると判定される場合に、未割り当てのデータ記憶装置を含むように劣化したデータ記憶アレイを再構成する技術がある。また、ホストからアクセスが無いディスクストレージ装置の待機状態において、ディスクストレージ装置の機能に関する所定の検査、好ましくはリードテスト、ライトサーボテスト、ライトテストのうちの少なくとも1つのテストを実施する技術がある。また、マスタディスク側のディスク装置と上位装置との間におけるデータバスを経由した入出力処理情報(イベント)の授受を、スレーブ側のディスク装置がモニタして自装置内に採取して記憶し、記憶したイベント情報を自装置内で再現する技術がある。
特開2004−252692号公報 特開2005−326935号公報 特開2007−200299号公報 特開2001−5616号公報 特開2003−150326号公報
しかしながら、従来技術では、レスポンスタイムアウトや媒体エラーは発生していないものの、動作がスローダウンしている潜在故障状態の記憶装置を発見することが難しい。
一つの側面では、本発明は、潜在故障状態の記憶装置を検出することを目的とする。
1つの実施態様では、上位装置からの要求に応じてアクセスされる1または複数の記憶装置を制御するストレージ制御装置であって、前記1または複数の記憶装置それぞれの負荷状況およびレスポンス状況を表す性能情報を取得し、取得した前記性能情報に基づいて、前記1または複数の記憶装置のうち、負荷が第1の閾値より低く、かつ、レスポンスタイムが第2の閾値以上の記憶装置を検出し、取得した前記性能情報に基づいて、前記1または複数の記憶装置のうち、アクセスがないと判断した記憶装置を抽出し、抽出した前記記憶装置に対して、負荷が前記第1の閾値を超えないように、規定量分のアクセスコマンドを発行した際のレスポンスタイムを計測し、抽出した前記記憶装置のうち、計測した前記レスポンスタイムが前記第2の閾値以上となる記憶装置を検出し、検出した前記記憶装置が、アクセスがないと判断した記憶装置のときは、代替記憶装置が複数存在する場合に、当該記憶装置に対してリダンダントコピーを実施するストレージ制御装置が提供される。
本発明の一側面によれば、潜在故障状態の記憶装置を検出することができる。
図1は、実施の形態にかかるストレージ制御装置101の一実施例を示す説明図である。 図2は、ストレージシステム200のシステム構成例を示す説明図である。 図3は、ストレージ制御装置101のハードウェア構成例を示すブロック図である。 図4は、性能情報テーブル220の記憶内容の一例を示す説明図である。 図5は、コンフィグテーブル230の記憶内容の一例を示す説明図である。 図6は、ストレージ制御装置101の機能的構成例を示すブロック図である。 図7は、リダンダントコピーの具体的な処理内容の一例を示す説明図である。 図8は、ストレージ制御装置101の第1の潜在故障検出処理手順の一例を示すフローチャート(その1)である。 図9は、ストレージ制御装置101の第1の潜在故障検出処理手順の一例を示すフローチャート(その2)である。 図10は、ストレージ制御装置101の第2の潜在故障検出処理手順の一例を示すフローチャートである。 図11は、新診断処理の具体的処理手順の一例を示すフローチャートである。
以下に図面を参照して、本発明にかかるストレージ制御装置、および制御プログラムの実施の形態を詳細に説明する。
(実施の形態)
図1は、実施の形態にかかるストレージ制御装置101の一実施例を示す説明図である。図1において、ストレージ制御装置101は、上位装置102からのストレージ103に対する要求を処理するコンピュータである。上位装置102は、情報処理を行うコンピュータであり、例えば、業務処理を行う業務サーバである。ストレージ103に対する要求は、例えば、ストレージ103に対するI/O(Input/Output)要求である。
ストレージ103は、データを記憶する1以上の記憶装置D(図1の例では、記憶装置D1〜D3)を含む。記憶装置Dは、例えば、ハードディスク、光ディスク、フラッシュメモリなどである。例えば、ストレージ制御装置101は、RAID(Redundant Arrays of Inexpensive Disks)構成のストレージ装置に適用される。
ここで、ストレージ装置内のディスク故障の予兆を検知した際のリカバリ処理として、リダンダントコピーがある。リダンダントコピーでは、ディスク故障の予兆を検知すると、バックグラウンドで被疑ディスクから代替ディスク(ホットスペア)へのデータ移行を実施する。
被疑ディスクの検出には、例えば、統計加点処理が利用される。統計加点処理は、各ディスク装置(例えば、記憶装置D)について、レスポンスタイムアウトや媒体エラーが発生するたびに加点していき、監視期間内に統計加点値が閾値を超えたディスク装置を被疑ディスクとして検出する処理である。
また、定期的にストレージ装置内のディスク装置を診断する機能として、パトロール診断処理と呼ばれるものがある。パトロール診断処理では、ホスト(例えば、上位装置102)からのI/O要求とは非同期に、全ディスク装置(ホットスペアを含む)に対してデータの入力/出力のためのI/Oコマンドを発行して故障診断を行う。
パトロール診断処理は、ディスク装置のエラーを早期に検出して故障ディスクの切り離しを行うことにより、二重故障によるデータロストやデータ化けを防ぐことを主な目的としている。ただし、パトロール診断処理には時間がかかる。例えば、4[TB]のディスクの場合、ディスク内の全領域を診断するために、2週間程度を要する。また、パトロール診断処理においても、被疑ディスクの検出には、例えば、統計加点処理が利用される。
しかしながら、統計加点処理では、レスポンスタイムアウトや媒体エラーなどの深刻度が高いエラーだけが統計加点の対象となっている。したがって、統計加点処理では、レスポンスタイムアウトや媒体エラーは発生していないものの、動作がスローダウンしている潜在故障状態(故障予防の交換対象)のディスク装置を発見することが難しい。
例えば、ホストからのI/O要求に応じたディスク装置へのアクセスのレスポンスが、通常数ミリセックで終わるところ、数十〜数百ミリセックかかることがある。数秒程度(例えば、5秒以上)かかるようであれば、統計加点の対象となるが、数十〜数百ミリセック程度(例えば、5秒未満)であれば、統計加点の対象とならない。しかし、統計加点の対象とならない遅延(例えば、5秒未満の遅延)であっても、それが日常的に発生すると、ディスク装置がスローダウンしてホストへの応答性能の低下を招いてしまう。
ディスク装置が潜在故障状態となる要因としては、ディスク装置の経年劣化、外的要因による損傷、ディスク上の微少な塵埃や潤滑油の轍などが挙げられる。例えば、ディスク上の微少な塵埃によって読み込みに失敗してリトライ動作が発生した場合、最終的に読み込むことができれば、レスポンスタイムアウトや媒体エラーは発生しないもののレスポンスに時間がかかることがある。
なお、スローダウンしているディスク装置を検出するために、統計加点の対象とする事象の条件を厳しくすることが考えられる。例えば、遅延のエラーを検出するための閾値を低く設定することで、スローダウンを引き起こすような遅延もエラーとして検出することが可能となる。ところが、エラーを検出するための閾値を低くしただけでは、アクセス集中による繁忙状態に起因するレスポンス低下と、潜在故障状態に起因するレスポンス低下とを区別することができない。
そこで、本実施の形態では、レスポンスタイムアウトや媒体エラーは発生していないものの、スローダウンしている潜在故障状態の記憶装置Dを検出するストレージ制御装置101について説明する。以下、ストレージ制御装置101の処理例について説明する。
(1)ストレージ制御装置101は、上位装置102からのI/O要求に応じてアクセスされる1または複数の記憶装置Dそれぞれの負荷状況およびレスポンス状況を表す性能情報を取得する。ここで、記憶装置Dの負荷状況は、アクセスにかかる負荷を表しており、例えば、ビジー率によって表される。ビジー率は、所定期間(例えば、直近1時間)での記憶装置Dの負荷状況を示す指標値である(単位:%)。
また、記憶装置Dのレスポンス状況は、記憶装置Dに対してアクセスコマンドを発行してから応答があるまでのレスポンスタイム(応答時間)によって表される(単位:秒)。図1の例では、ストレージ103内の各記憶装置D1〜D3の負荷状況およびレスポンス状況を表す性能情報110が取得される。
(2)ストレージ制御装置101は、取得した性能情報に基づいて、1または複数の記憶装置Dのうち、負荷が第1の閾値より低く、かつ、レスポンスタイムが第2の閾値以上の記憶装置Dを検出する。ここで、第1および第2の閾値は、任意に設定可能である。
第1の閾値は、記憶装置Dの負荷が第1の閾値以上となると、記憶装置Dが高負荷状態であると判断できる値に設定される。高負荷状態は、例えば、アクセス集中による繁忙状態である。より具体的には、例えば、記憶装置Dの負荷状況がビジー率によって表される場合、第1の閾値は、50%程度の値に設定される。
第2の閾値は、記憶装置Dについてのタイムアウト値よりも低い値である。タイムアウト値とは、レスポンスタイムアウト(I/Oタイムアウト)を判断するための値(応答時間)である。具体的には、例えば、第2の閾値は、記憶装置Dについての統計加点処理やパトロール診断処理において、レスポンスタイムアウトを判断する値よりも低い値である。一例として、レスポンスタイムアウトを判断する値が「5秒」の場合、第2の閾値は、例えば、2秒程度の値に設定される。
図1の例では、ストレージ制御装置101は、取得した性能情報110に基づいて、ストレージ103内の記憶装置D1〜D3のうち、負荷が第1の閾値より低く、かつ、レスポンスタイムが第2の閾値以上の記憶装置Dを検出する。ここでは、記憶装置D1〜D3のうち、記憶装置D3の負荷が第1の閾値より低く、かつ、記憶装置D3のレスポンスタイムが第2の閾値以上である場合を想定する。この場合、記憶装置D3が検出される。
このように、ストレージ制御装置101によれば、上位装置102からのI/O要求に応じてアクセスされる1または複数の記憶装置Dのうち、負荷が第1の閾値より低く、かつ、レスポンスタイムが第2の閾値以上の記憶装置Dを検出することができる。これにより、レスポンスタイムアウトや媒体エラーは発生していないものの、スローダウンしている潜在故障状態の記憶装置Dを早期に発見することができる。また、繁忙状態に起因してレスポンスが低下している記憶装置Dを、潜在故障状態の記憶装置Dとして誤検出するのを防ぐことができる。
図1の例では、潜在故障状態の記憶装置Dとして、記憶装置D3が検出される。このため、例えば、記憶装置D3に対してリダンダントコピーを実施することで、統計加点処理では検出できないような微妙な不具合により、運用に影響を与えるような不調を抱えている記憶装置D3を切り離すことができる。これにより、潜在故障状態である記憶装置D3の性能劣化の影響によるストレージ103全体の応答性能の低下を抑えることができる。
(ストレージシステム200のシステム構成例)
つぎに、図1に示したストレージ制御装置101をストレージシステム200に適用した場合について説明する。ストレージシステム200は、例えば、RAID5,6等の冗長化されたシステムである。
図2は、ストレージシステム200のシステム構成例を示す説明図である。図2において、ストレージシステム200は、ストレージ装置201と、ホスト装置202と、を含む。ストレージシステム200において、ストレージ装置201およびホスト装置202は、有線または無線のネットワーク210を介して接続される。ネットワーク210は、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどである。
ストレージ装置201は、ストレージ制御装置101とストレージSTを含む。ストレージSTは、複数のHDD(Hard Disk Drive)を含む。ただし、HDDの代わりに、SSD(Solid State Drive)を用いることにしてもよい。ストレージSTは、1以上のホットスペアHSを含む。ホットスペアHSは、代替用のHDDである。
ストレージSTにおいて、例えば、1以上のHDDからRAIDグループが作成される。図2の例では、HDD1〜HDD4からRAIDグループG1が作成されている。HDD5〜HDD8からRAIDグループG2が作成されている。なお、図1に示したストレージ103は、例えば、ストレージSTに対応する。
ストレージ制御装置101は、ストレージST内の各HDDにアクセス可能であり、ホスト装置202からのストレージSTに対するI/O要求を処理する。ストレージ制御装置101は、不図示の構成情報や割当情報を有する。構成情報には、例えば、ストレージシステム200において作成された論理ボリュームや、RAIDグループを構成するディスクについての種々の管理情報が格納される。割当情報には、例えば、シン・プロビジョニング構成における割り当て単位(チャンク)ごとの情報や、割り当て済みのチャンクに対する論理アドレスと物理アドレスの対応情報が格納される。
また、ストレージ制御装置101は、性能情報テーブル220およびコンフィグテーブル230を有する。性能情報テーブル220およびコンフィグテーブル230の記憶内容については、図4および図5を用いて後述する。ストレージシステム200において、ストレージ制御装置101とホスト装置202は、例えば、FC(Fibre Channel)やiSCSI(Internet Small Computer System Interface)で接続される。
ホスト装置202は、ストレージSTへのI/O要求を行うコンピュータである。具体的には、例えば、ホスト装置202は、ストレージシステム200により提供される論理ボリュームに対するデータのリード/ライトを要求する。例えば、ホスト装置202は、ストレージシステム200を利用する業務サーバである。図1に示した上位装置102は、例えば、ホスト装置202に対応する。
なお、図2の例では、ストレージ制御装置101およびホスト装置202をそれぞれ1台のみ表記したが、ストレージシステム200に複数のストレージ制御装置101やホスト装置202が含まれることにしてもよい。また、図2の例では、ストレージSTにおいて、RAIDグループG1,G2が作成されることにしたが、1あるいは3以上のRAIDグループが作成されることにしてもよい。
(ストレージ制御装置101のハードウェア構成例)
図3は、ストレージ制御装置101のハードウェア構成例を示すブロック図である。図3において、ストレージ制御装置101は、プロセッサであるCPU(Central Processing Unit)301と、メモリ302と、通信I/F(Interface)303と、I/Oコントローラ304と、を有する。また、各構成部は、バス300によってそれぞれ接続される。
ここで、CPU301は、ストレージ制御装置101の全体の制御を司る。メモリ302は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU301のワークエリアとして使用される。メモリ302に記憶されるプログラムは、CPU301にロードされることで、コーディングされている処理をCPU301に実行させる。
通信I/F303は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して外部装置(例えば、図2に示したホスト装置202)に接続される。そして、通信I/F303は、ネットワーク210と装置内部とのインターフェースを司り、外部装置からのデータの入出力を制御する。I/Oコントローラ304は、CPU301の制御にしたがって、ストレージST(図2参照)に対するアクセスを行う。
(性能情報テーブル220の記憶内容)
つぎに、ストレージ制御装置101が有する性能情報テーブル220の記憶内容について説明する。性能情報テーブル220は、例えば、図3に示したメモリ302により実現される。
図4は、性能情報テーブル220の記憶内容の一例を示す説明図である。図4において、性能情報テーブル220は、RAIDグループID、ディスクID、コマンド発行数、発行待ちコマンド数、ビジー率およびレスポンスタイムのフィールドを有する。各フィールドに情報を設定することで、性能情報400−1〜400−8がレコードとして記憶される。
ここで、RAIDグループIDは、ストレージST(図2参照)内のRAIDグループを一意に識別する識別子である。ディスクIDは、RAIDグループIDにより識別されるRAIDグループ内のHDD(ディスク装置)を一意に識別する識別子である。コマンド発行数(Que−in−proqは、ディスクIDにより識別されるHDDに発行中のアクセスコマンド(ライトコマンド、リードコマンド)の数である。なお、コマンド発行数の上限値は、例えば、30である。
発行待ちコマンド数(Que−wait)は、HDDに対する発行待ちのアクセスコマンドの数である。アクセスコマンドには優先度が設定される。優先度としては、例えば、High、Normal、Lowのいずれかが設定される。優先度は、「Low→Normal→High」の順に高くなる。優先度が高いアクセスコマンドほど優先して処理される。
ビジー率は、直近1時間でのHDDの負荷状況を示す指標値である(単位:%)。例えば、ビジー率は、HDDの発行待ちコマンド数とHDDの処理能力(回転スピードなど)を考慮して算出される。例えば、ビジー率が0%の場合、直近1時間でHDDへのアクセスがないことを示す。ビジー率が50%未満の場合、直近1時間でのHDDへのアクセスの負荷状況が通常状態であることを示す。ビジー率が50%以上の場合、直近1時間でのHDDへのアクセスの負荷状況が高負荷状態であることを示す。
レスポンスタイムは、HDDに対してアクセスコマンドを発行してから応答があるまでの応答時間である(単位:秒)。例えば、レスポンスタイムは、直近のアクセスコマンドについてのレスポンスタイムであってもよく、また、過去数回分のアクセスコマンドについてのレスポンスタイムの平均であってもよい。
なお、性能情報テーブル220は、直近数回分(例えば、3回分)のアクセスコマンドについて、発行時のコマンド発行数、発行待ちコマンド数、およびアクセスコマンドの優先度を保持することにしてもよい。性能情報テーブル220は、例えば、定期的または所定のタイミングで更新される。所定のタイミングは、例えば、ホスト装置202からのI/O要求が処理されたタイミングや、後述する診断用コマンドが実行されたタイミングである。
(コンフィグテーブル230の記憶内容)
つぎに、ストレージ制御装置101が有するコンフィグテーブル230の記憶内容について説明する。コンフィグテーブル230は、例えば、図3に示したメモリ302により実現される。
図5は、コンフィグテーブル230の記憶内容の一例を示す説明図である。図5において、コンフィグテーブル230は、RAIDグループID、RAIDステータス、ディスクIDおよびチェックフラグのフィールドを有し、各フィールドに情報を設定することで、コンフィグ情報500−1,500−2をレコードとして記憶する。
ここで、RAIDグループIDは、ストレージST(図2参照)内のRAIDグループを一意に識別する識別子である。RAIDステータスは、RAIDグループIDにより識別されるRAIDグループの状態を示す。RAIDステータスとしては、例えば、Available、Rebuild、Exposedのいずれかが設定される。RAIDステータス「Available」は、データの冗長性がある状態を示す。RAIDステータス「Rebuild」は、データの冗長性を復旧中の状態を示す。RAIDステータス「Exposed」は、データの冗長性がない状態を示す。
ディスクIDは、RAIDグループ内のHDDを一意に識別する識別子である。チェックフラグは、HDDが診断対象であるか否かを示す。診断対象とは、後述する新診断処理の処理対象となるHDDである。チェックフラグ「0」は、HDDが診断対象であることを示す。チェックフラグ「1」は、HDDが診断対象外であることを示す。チェックフラグは、初期状態では「0」である。
(ストレージ制御装置101の機能的構成例)
図6は、ストレージ制御装置101の機能的構成例を示すブロック図である。図6において、ストレージ制御装置101は、I/O処理部601と、取得部602と、検出部603と、診断部604と、復旧部605と、を含む。I/O処理部601〜復旧部605は制御部となる機能であり、具体的には、例えば、図3に示したメモリ302に記憶されたプログラムをCPU301に実行させることにより、または、通信I/F303、I/Oコントローラ304により、その機能を実現する。各機能部の処理結果は、例えば、メモリ302に記憶される。
I/O処理部601は、ホスト装置202からのストレージSTに対するI/O要求を処理する。I/O要求は、ライト要求またはリード要求である。ライト要求は、例えば、ストレージシステム200により提供される論理ボリュームに対してデータの書き込みを要求するものである。リード要求は、例えば、論理ボリュームに対してデータの読み込みを要求するものである。
具体的には、例えば、I/O処理部601は、ホスト装置202からのI/O要求に応じて、RAIDグループ内のHDDに対してアクセスコマンドを発行し、当該アクセスコマンドに対する応答コマンドを受け取る。アクセスコマンドは、リードコマンドまたはライトコマンドである。
また、I/O処理部601は、ホスト装置202からのI/O要求に対する応答を行う。具体的には、例えば、I/O処理部601は、ホスト装置202からのライト要求に対するライト完了応答や、リード要求に対するリードデータをホスト装置202に通知する。
取得部602は、ストレージST内のHDDの負荷状況およびレスポンス状況を表す性能情報を取得する。ここで、HDDの負荷状況は、アクセスにかかる負荷を表しており、例えば、ビジー率によって表される。HDDのレスポンス状況は、例えば、HDDに対してアクセスコマンドを発行してから応答があるまでのレスポンスタイムによって表される。
具体的には、例えば、取得部602は、ホスト装置202からのI/O要求が処理されたことに応じて、ストレージST内の各HDDの負荷状況およびレスポンス状況を表す性能情報を取得する。より詳細に説明すると、例えば、取得部602は、HDDのコマンド発行数とHDDの処理能力(回転スピードなど)を考慮してビジー率を算出することにより、HDDの負荷状況を表す性能情報を取得することにしてもよい。
また、取得部602は、HDDにアクセスコマンドを発行してから応答があるまでのレスポンスタイムを計測することにより、HDDのレスポンス状況を表す性能情報を取得することにしてもよい。この際、取得部602は、RAIDグループ全体のレスポンスタイムを計測することにしてもよい。RAIDグループ内のHDD間ではアクセスコマンドを発行してから応答があるまでの時間にはばらつきが生じる。RAIDグループ全体のレスポンスタイムは、RAIDグループ内のHDDにアクセスコマンドを発行してから、最も遅い応答があるまでの時間に相当する。
取得された性能情報は、例えば、図4に示した性能情報テーブル220に記憶される。これにより、ストレージ制御装置101は、ホスト装置202からのI/O要求に応じてアクセスされるRAIDグループ内のHDDの負荷状況およびレスポンス状況を監視することができる。
検出部603は、潜在故障ディスクを検出する。ここで、潜在故障ディスクとは、潜在故障状態のHDDである。具体的には、例えば、検出部603は、取得部602によって取得された性能情報に基づいて、ストレージST内のHDDのうち、負荷が閾値αより低く、かつ、レスポンスタイムが閾値β以上のHDDを、潜在故障ディスクとして検出する。
ここで、閾値α、閾値βは、任意に設定可能である。閾値αは、HDDの負荷が閾値α以上となると、HDDが高負荷(繁忙状態)であると判断できる値に設定される。例えば、HDDの負荷状況がビジー率によって表される場合、閾値αは、50%程度の値に設定される。閾値αは、図1で説明した「第1の閾値」に相当する。
閾値βは、HDDについての統計加点処理やパトロール診断処理において、レスポンスタイムアウトを判断する値よりも低い値である。例えば、HDDのレスポンスタイムアウトを判断する値が「5秒」の場合、閾値βは、2秒程度の値に設定される。閾値βは、図1で説明した「第2の閾値」に相当する。
より具体的には、例えば、検出部603は、性能情報テーブル220を参照して、RAIDグループ内のHDDのうち、ビジー率が閾値αより低く、かつ、レスポンスタイムが閾値β以上のHDDを、潜在故障ディスクとして検出する。RAIDグループは、例えば、ホスト装置202からのI/O要求に応じてアクセスされたRAIDグループである。
一例として、閾値αを「50%」とし、閾値βを「2秒」とする。また、ホスト装置202からのI/O要求に応じてRAIDグループG1へのアクセスがあった際のHDD1のビジー率b1を「30%」、レスポンスタイムt1を「2.2秒」とする。この場合、検出部603は、HDD1のビジー率b1が閾値αより低く、かつ、HDD1のレスポンスタイムt1が閾値β以上のため、HDD1を潜在故障ディスクとして検出する。また、HDD2のビジー率b2を「60%」、レスポンスタイムt1を「3.2秒」とする。この場合、検出部603は、HDD2のレスポンスタイムt2が閾値β以上であるものの、HDD2のビジー率b2が閾値α以上のため、HDD2を潜在故障ディスクとして検出しない。すなわち、HDD2は、繁忙状態に起因してレスポンスが低下していると判断される。
ただし、RAIDグループへのアクセスであっても、当該RAIDグループ内の一部のHDDへのアクセスが発生しないことがある。例えば、RAID5では、RAIDグループ内のHDDにデータが分散して格納される。しかし、例えば、データサイズが小さいデータの場合、分割データもパリティデータも格納されないHDD、すなわち、アクセスされないHDDが出てくることがある。このような事象は、RAIDグループ内のHDD数が多くなるほど生じる可能性は高い。
また、ホスト装置202のアクセス傾向によっては、ある期間全くアクセスされないRAIDグループが出てくることもある。このため、ホスト装置202からのI/O要求に応じて計測される性能だけでは、潜在故障状態となっているHDDを判断できない場合がある。
そこで、ストレージ制御装置101は、ストレージST内のHDDのうち、アクセスがないと判断されるHDDを診断対象ディスクとして抽出し、診断対象ディスクに対してダミーのアクセスを実行して性能診断を行う。以下の説明では、診断対象ディスクに対する診断処理を、既存のパトロール診断処理と区別するために、「新診断処理」と表記する場合がある。
診断部604は、取得された性能情報に基づいて、ストレージST内のHDDのうち、診断対象ディスクを抽出する。ここで、診断対象ディスクとは、アクセスがないと判断されるHDDである。具体的には、例えば、診断部604は、性能情報テーブル220を参照して、ストレージST内のHDDのうち、ビジー率が0%のHDDを、アクセスがないHDDと判断する。そして、診断部604は、アクセスがないと判断したHDDを診断対象ディスクとして抽出する。ただし、診断部604は、ストレージST内のHDDのうち、ビジー率が所定値以下(例えば、5%以下)のHDDを、アクセスがないHDDとして判断することにしてもよい。
一例として、HDD4のビジー率b4を「0%」とすると、診断部604は、ビジー率が0%のHDD4を、診断対象ディスクとして抽出する。なお、コンフィグテーブル230(図5参照)内の、診断対象ディスクとして抽出されなかったHDDのチェックフラグには「1」が設定される。
また、診断部604は、抽出した診断対象ディスクに対して、負荷が閾値αを超えないように、規定量分のアクセスコマンドを発行した際のレスポンスタイムを計測する。ここで、規定量分のアクセスコマンドは、高負荷状態とならないようにHDDに対して適度な負荷をかけるためのアクセスコマンドであり、HDDの性能に応じて適宜設定される。適度な負荷とは、例えば、ビジー率が40%程度の負荷である。規定量分のアクセスコマンドは、例えば、コマンド発行数によって指定される。
一例として、ビジー率が40%となるコマンド発行数を「30」とする。この場合、診断部604は、例えば、ホスト装置202からのI/O要求とは非同期に、診断対象ディスクに対して、コマンド発行数「30」を維持するように、リード/ライトコマンドを発行する。リード/ライトコマンドは、リードしたデータをそのまま書き戻す診断用コマンドである。なお、診断用コマンドの実行に応じて、性能情報テーブル220内の診断対象ディスクの性能情報が更新される。
また、診断部604は、パトロール診断処理が実行中の場合、診断対象ディスクのうち、パトロール診断済みの領域以外の領域を、診断領域として選定することにしてもよい。そして、診断部604は、リード/ライトを実施する範囲に偏りがでないように、診断用コマンドにより、選定した診断領域内をランダムアクセスすることにしてもよい。
また、診断対象ディスクは、アクセスがないと判断されたHDDではあるものの、診断用コマンドが、ホスト装置202からのI/O要求に応じて発行されるアクセスコマンドと競合する可能性がある。I/O要求と競合すると、I/O性能に影響を与えるおそれがある。さらに、診断中はCPU負荷が上がるため、I/O性能に影響を与えるおそれがある。
このため、診断部604は、診断コマンドに対して、ホスト装置202からのI/O要求に応じて発行されるアクセスコマンドよりも低い優先度(例えば、Low)を設定することにしてもよい。これにより、I/O要求と競合した場合に、I/O要求に応じて発行されるアクセスコマンドを優先させることができる。
また、診断部604は、診断領域のサイズに応じて診断処理時間Tを設定することにしてもよい。具体的には、例えば、診断部604は、診断領域のサイズが「100GB」の場合、診断処理時間Tを「5分」程度に設定する。これにより、新診断処理が行われる時間を制限して、I/O性能に与える影響を抑えることができる。
また、診断部604は、冗長性がないRAIDグループや、リカバリ処理中のRAIDグループについては、負荷が高く、かつ、データ復旧中のため、診断対象外とすることにしてもよい。また、ストレージ制御装置101は、診断対象ディスクに対する新診断処理を頻繁に実施させないために、1日に実施する回数を制限することにしてもよい(例えば、1日1回)。
また、検出部603は、診断部604によって抽出された診断対象ディスクのうち、診断部604によって計測されたレスポンスタイムが閾値β以上となるHDDを、潜在故障ディスクとして検出する。なお、負荷が閾値αを超えないように規定量分のアクセスコマンドを発行したとしても、ホスト装置202からのI/O要求に応じたアクセスが急激に増加して診断対象ディスクが高負荷状態となる場合がある。
このため、例えば、検出部603は、性能情報テーブル220を参照して、診断対象ディスクのうち、ビジー率が閾値αより低く、かつ、レスポンスタイムが閾値β以上のHDDを、潜在故障ディスクとして検出することにしてもよい。これにより、繁忙状態に起因してレスポンスが低下している診断対象ディスクを、潜在故障ディスクとして検出してしまうのを防ぐことができる。
例えば、診断対象ディスクとして抽出されたHDD4のビジー率b4を「40%」、レスポンスタイムt4を「3秒」とする。この場合、検出部603は、HDD4のビジー率b4が閾値αより低く、かつ、HDD4のレスポンスタイムt4が閾値β以上のため、HDD4を潜在故障ディスクとして検出する。
復旧部605は、検出部603によって検出された潜在故障ディスクに対してリダンダントコピーを実施する。リダンダントコピーは、バックグラウンドで潜在故障ディスクからホットスペアHSへのデータ移行を行い、データ移行後のホットスペアHSを、潜在故障ディスクに換えてRAIDグループに組み込む処理である。
なお、リダンダントコピーの具体的な処理内容については、図7を用いて後述する。
また、検出された潜在故障ディスクが、アクセスがないと判断された診断対象ディスクのときは、アクセスがある潜在故障ディスクに比べて、リダンダントコピーを実施する緊急性は低い。このため、復旧部605は、検出された潜在故障ディスクが、アクセスがないと判断された診断対象ディスクのときは、ホットスペアHSが複数存在する場合に、当該潜在故障ディスクに対してリダンダントコピーを実施することにしてもよい。
(リダンダントコピー)
つぎに、図7を用いて、潜在故障ディスクに対するリダンダントコピーの具体的な処理内容について説明する。
図7は、リダンダントコピーの具体的な処理内容の一例を示す説明図である。図7において、RAIDグループ$1内のHDD#1,HDD#2のうち、HDD#1が潜在故障ディスクとして検出される場合を想定する。また、ここでは、HDD#1,HDD#2において、データ2重化されているものとする。
(i)ストレージ制御装置101は、HDD#1を潜在故障ディスクとして検出する。なお、HDD#1は、潜在故障ディスクとして検出されたもののまだ使用可能な状態である。このため、ホスト装置202からのI/O要求に伴うHDD#1へのアクセスは実施される。ただし、リード要求やデータコピーは、正常状態であるHDD#2を主体として行われる。
(ii)ストレージ制御装置101は、バックグラウンドでHDD#2からホットスペア#3へのデータコピーを行う。このデータコピーは、HDD#1からホットスペア#3へのデータ移行に相当する。データコピー中において、ホスト装置202からのI/O要求に伴うアクセスは、ホットスペア#3にも実施される。すなわち、潜在故障ディスクであるHDD#1が切り離されるまでは、データ3重化の状態で運用される。なお、HDD#2へのアクセス時にエラーが発生した場合には、HDD#1に切り替えてアクセスが実施される。
(iii)ストレージ制御装置101は、バックグラウンドでHDD#2からホットスペア#3へのデータコピーが完了すると、HDD#1を切り離して、ホットスペア#3をRAIDグループ$1に組み込む。これにより、データの冗長性を確保しつつ、潜在故障状態であるHDD#1を切り離すことができる。
(ストレージ制御装置101の各種制御処理手順)
つぎに、ストレージ制御装置101の各種制御処理手順について説明する。以下の説明では、統計加点処理やパトロール診断処理でI/Oタイムアウトを判断するためのタイムアウト値を「5秒」とする。また、閾値αを「50%」とし、閾値βを「2秒」とする。また、アクセスがないHDDを判断するためのビジー率を「0%」とする。
まず、図8および図9を用いて、ストレージ制御装置101の第1の潜在故障検出処理手順について説明する。第1の潜在故障検出処理は、ホスト装置202からのI/O要求を処理する際に実行される。
図8および図9は、ストレージ制御装置101の第1の潜在故障検出処理手順の一例を示すフローチャートである。図8のフローチャートにおいて、まず、ストレージ制御装置101は、ホスト装置202からのI/O要求を処理する(ステップS801)。なお、I/O要求に対するホスト装置202への応答は適宜行われる。
そして、ストレージ制御装置101は、ストレージST内のHDDの負荷状況およびレスポンス状況を表す性能情報を取得する(ステップS802)。取得された性能情報は、性能情報テーブル220に記憶される。つぎに、ストレージ制御装置101は、ホスト装置202からのI/O要求に応じてアクセスされたRAIDグループ全体のレスポンスタイムが5秒以上であるか否かを判断する(ステップS803)。
ここで、RAIDグループ全体のレスポンスタイムが5秒未満の場合(ステップS803:No)、ストレージ制御装置101は、ステップS805に移行する。一方、RAIDグループ全体のレスポンスタイムが5秒以上の場合(ステップS803:Yes)、ストレージ制御装置101は、性能情報テーブル220を参照して、アクセスされたRAIDグループ内のHDDのレスポンスタイムが5秒以上であるか否かを判断する(ステップS804)。
ここで、HDDのレスポンスタイムが5秒未満の場合(ステップS804:No)、ストレージ制御装置101は、アクセスされたRAIDグループ全体のレスポンスタイムが2秒以上であるか否かを判断する(ステップS805)。ここで、RAIDグループ全体のレスポンスタイムが2秒未満の場合(ステップS805:No)、ストレージ制御装置101は、本フローチャートによる一連の処理を終了する。
一方、RAIDグループ全体のレスポンスタイムが2秒以上の場合(ステップS805:Yes)、ストレージ制御装置101は、図9に示すステップS901に移行する。
また、ステップS804において、HDDのレスポンスタイムが5秒以上の場合(ステップS804:Yes)、ストレージ制御装置101は、統計加点処理を実行して(ステップS806)、本フローチャートによる一連の処理を終了する。
統計加点処理は、アクセスされたRAIDグループ内のHDDのうちレスポンスタイムが5秒以上であるHDDに加点していき、統計加点値が閾値を超えたHDDを被疑ディスクとして検出する処理である。被疑ディスクとして検出されたHDDに対しては、例えば、リダンダントコピーが実施される。
図9のフローチャートにおいて、まず、ストレージ制御装置101は、アクセスされたRAIDグループ内のHDDのうち選択されていない未選択のHDDを選択する(ステップS901)。つぎに、ストレージ制御装置101は、コンフィグテーブル230を参照して、選択したHDDのチェックフラグが「0」であるか否かを判断する(ステップS902)。
ここで、チェックフラグが「0」ではない場合(ステップS902:No)、ストレージ制御装置101は、ステップS906に移行する。一方、チェックフラグが「0」の場合(ステップS902:Yes)、ストレージ制御装置101は、コンフィグテーブル230を参照して、アクセスされたRAIDグループのRAIDステータスが「Available」であるか否かを判断する(ステップS903)。
ここで、RAIDステータスが「Available」ではない場合(ステップS903:No)、ストレージ制御装置101は、ステップS906に移行する。一方、RAIDステータスが「Available」の場合(ステップS903:Yes)、ストレージ制御装置101は、性能情報テーブル220を参照して、選択したHDDのビジー率bが0%であるか否かを判断する(ステップS904)。
ここで、ビジー率が0%の場合(ステップS904:Yes)、ストレージ制御装置101は、ステップS908に移行する。一方、ビジー率が0%ではない場合(ステップS904:No)、ストレージ制御装置101は、性能情報テーブル220を参照して、選択したHDDのビジー率bが50%未満であり、かつ、レスポンスタイムtが2秒以上であるか否かを判断する(ステップS905)。
ここで、ビジー率bが50%未満であり、かつ、レスポンスタイムtが2秒以上ではない場合(ステップS905:No)、ストレージ制御装置101は、選択したHDDのチェックフラグに「1」を設定して(ステップS906)、ステップS908に移行する。
一方、ビジー率bが50%未満であり、かつ、レスポンスタイムtが2秒以上の場合(ステップS905:Yes)、ストレージ制御装置101は、選択したHDDに対してリダンダントコピーを実施する(ステップS907)。なお、HDDのリダンダントコピーを実施中は、当該HDDを含むRAIDグループのRAIDステータスは「Rebuild」となる。
そして、ストレージ制御装置101は、アクセスされたRAIDグループ内のHDDのうち選択されていない未選択のHDDがあるか否かを判断する(ステップS908)。ここで、未選択のHDDがある場合(ステップS908:Yes)、ストレージ制御装置101は、ステップS901に戻る。
一方、未選択のHDDがない場合(ステップS908:No)、ストレージ制御装置101は、本フローチャートによる一連の処理を終了する。これにより、レスポンスタイムアウト(I/Oタイムアウト)は発生していないものの、スローダウンしている潜在故障ディスクを検出してリダンダントコピーを実施することができる。
また、繁忙状態に起因してレスポンスが低下しているHDDを、潜在故障ディスクとして誤検出するのを防ぐことができる。また、RAIDグループが復旧中や冗長性を失っているときに潜在故障ディスクに対するリダンダントコピーが実施されないように制御することができる。また、アクセスがないと判断したHDD(チェックフラグ「0」のHDD)を、診断対象ディスクとして抽出することができる。
つぎに、図10を用いて、ストレージ制御装置101の第2の潜在故障検出処理手順について説明する。第2の潜在故障検出処理は、定期的(例えば、毎日24時)、または、所定のタイミング(例えば、ストレージシステム200の管理者により指定されるタイミング)で実行される。
図10は、ストレージ制御装置101の第2の潜在故障検出処理手順の一例を示すフローチャートである。図10のフローチャートにおいて、まず、ストレージ制御装置101は、ストレージST内のHDDのうち選択されていない未選択のHDDを選択する(ステップS1001)。
つぎに、ストレージ制御装置101は、コンフィグテーブル230を参照して、選択したHDDのチェックフラグが「0」であるか否かを判断する(ステップS1002)。ここで、チェックフラグが「0」ではない場合(ステップS1002:No)、ストレージ制御装置101は、ステップS1004に移行する。
一方、チェックフラグが「0」の場合(ステップS1002:Yes)、ストレージ制御装置101は、新診断処理を実行する(ステップS1003)。新診断処理の具体的な処理手順については、図11を用いて後述する。そして、ストレージ制御装置101は、選択したHDDのチェックフラグを「0」で初期化する(ステップS1004)。
つぎに、ストレージ制御装置101は、ストレージST内のHDDのうち選択されていない未選択のHDDがあるか否かを判断する(ステップS1005)。ここで、未選択のHDDがある場合(ステップS1005:Yes)、ストレージ制御装置101は、ステップS1001に戻る。
一方、未選択のHDDがない場合(ステップS1005:No)、ストレージ制御装置101は、本フローチャートによる一連の処理を終了する。これにより、ストレージST内の診断対象ディスク(チェックフラグ「0」のHDD)に対して新診断処理を実施することができる。
つぎに、図11を用いて、図10のステップS1003の新診断処理の具体的な処理手順について説明する。
図11は、新診断処理の具体的処理手順の一例を示すフローチャートである。図11のフローチャートにおいて、まず、ストレージ制御装置101は、コンフィグテーブル230を参照して、診断対象ディスクを含むRAIDグループのRAIDステータスが「Available」であるか否かを判断する(ステップS1101)。なお、診断対象ディスクは、図10のステップS1001において選択されたHDDである。
ここで、RAIDステータスが「Available」ではない場合(ステップS1101:No)、ストレージ制御装置101は、新診断処理を呼び出したステップに戻る。一方、RAIDステータスが「Available」の場合(ステップS1101:Yes)、ストレージ制御装置101は、診断対象ディスクのうち、パトロール診断済みの領域以外の領域を、診断領域として選定する(ステップS1102)。
つぎに、ストレージ制御装置101は、診断用コマンド(リード/ライトコマンド)に優先度「Low」を設定する(ステップS1103)。そして、ストレージ制御装置101は、規定量分の診断用コマンドにより、選定した診断領域をランダムアクセスする(ステップS1104)。この際、ストレージ制御装置101は、規定量分の診断用コマンドを発行した際のレスポンスタイムを計測し、性能情報テーブル220に性能情報を記憶する。
つぎに、ストレージ制御装置101は、性能情報テーブル220を参照して、診断対象ディスクのビジー率bが50%未満であり、かつ、レスポンスタイムtが2秒以上であるか否かを判断する(ステップS1105)。
ここで、ビジー率bが50%未満であり、かつ、レスポンスタイムtが2秒以上ではない場合(ステップS1105:No)、ストレージ制御装置101は、診断領域へのランダムアクセスを開始してから診断処理時間Tを経過したか否かを判断する(ステップS1106)。
ここで、診断処理時間Tを経過していない場合(ステップS1106:No)、ストレージ制御装置101は、ステップS1104に戻る。一方、診断処理時間Tを経過した場合(ステップS1106:Yes)、ストレージ制御装置101は、新診断処理を呼び出したステップに戻る。
また、ステップS1105において、ビジー率bが50%未満であり、かつ、レスポンスタイムtが2秒以上の場合(ステップS1105:Yes)、ストレージ制御装置101は、ホットスペアHSが2本以上あるか否かを判断する(ステップS1107)。ここで、ホットスペアHSが2本以上ない場合(ステップS1107:No)、ストレージ制御装置101は、新診断処理を呼び出したステップに戻る。
一方、ホットスペアHSが2本以上ある場合(ステップS1107:Yes)、ストレージ制御装置101は、診断対象ディスク(潜在故障ディスク)に対してリダンダントコピーを実施して(ステップS1108)、新診断処理を呼び出したステップに戻る。
これにより、アクセスがないと判断された診断対象ディスクのうち、潜在故障状態のHDDを検出してリダンダントコピーを実施することができる。また、RAIDグループが復旧中や冗長性を失っているときに新診断処理が実施されないように制御することができる。
以上説明したように、実施の形態にかかるストレージ制御装置101によれば、ホスト装置202からのI/O要求に応じてアクセスされるストレージST内のHDDの負荷状況およびレスポンス状況を表す性能情報を取得することができる。そして、ストレージ制御装置101によれば、取得した性能情報に基づいて、ストレージST内のHDDのうち、負荷が閾値αより低く、かつ、レスポンスタイムが閾値β以上のHDDを、潜在故障ディスクとして検出することができる。
これにより、レスポンスタイムアウト(I/Oタイムアウト)は発生していないものの、スローダウンしている潜在故障ディスクを検出することができる。また、レスポンスタイムだけでなく負荷も考慮するため、繁忙状態に起因してレスポンスが低下しているHDDを、潜在故障ディスクとして誤検出するのを防ぐことができる。
また、ストレージ制御装置101によれば、性能情報に基づいて、ストレージST内のHDDのうち、アクセスがないと判断したHDDを診断対象ディスクとして抽出することができる。また、ストレージ制御装置101によれば、抽出した診断対象ディスクに対して、負荷が閾値αを超えないように、規定量分の診断用コマンドを発行した際のレスポンスタイムを計測することができる。そして、ストレージ制御装置101によれば、抽出した診断対象ディスクのうち、計測したレスポンスタイムが閾値β以上となるHDDを、潜在故障ディスクとして検出することができる。
これにより、アクセスがない、あるいは、アクセスがほとんどないHDDについても、ホスト装置202からのI/O要求とは非同期に診断用コマンドを発行して性能診断することで、スローダウンしている潜在故障ディスクを検出することができる。
また、ストレージ制御装置101によれば、検出した潜在故障ディスクに対してリダンダントコピーを実施することができる。これにより、データの冗長性を確保しつつ、潜在故障状態であるHDDを切り離すリカバリ処理を自動で行うことができ、潜在故障状態であるHDDの性能劣化の影響によるRAIDグループ全体の応答性能の低下を抑えることができる。
また、ストレージ制御装置101によれば、検出した潜在故障ディスクが、アクセスがないと判断した診断対象ディスクのときは、ホットスペアHSが2本以上ある場合に、当該潜在故障ディスクに対してリダンダントコピーを実施することができる。
これにより、潜在故障ディスクが、アクセスがないと判断された診断対象ディスクのときは、ホットスペアHSが複数存在する場合に、リダンダントコピーを実施することができる。このため、頻繁にアクセスがあるような潜在故障ディスクに対するリダンダントコピーを実施する際にホットスペアHSがないという事態が生じる可能性を低減させることができる。
また、ストレージ制御装置101によれば、診断用コマンドに、ホスト装置202からのI/O要求に応じて発行されるアクセスコマンドよりも低い優先度を設定することができる。これにより、ホスト装置202からのI/O要求と競合した場合に、I/O要求に応じて発行されるアクセスコマンドを、診断用コマンドよりも優先して処理させることができ、I/O性能に与える影響を抑えることができる。
これらのことから、実施の形態にかかるストレージ制御装置101によれば、レスポンスタイムアウトや媒体エラーは発生していないものの、スローダウンしている潜在故障状態のHDDを早期に発見することができる。また、リダンダントコピーを利用した自動リカバリ処理により、潜在故障状態であるHDDの性能劣化の影響によるRAIDグループ全体の応答性能の低下を抑えることができる。
なお、本実施の形態で説明した制御方法は、予め用意されたプログラムをストレージ制御装置等のコンピュータで実行することにより実現することができる。本制御プログラムは、ハードディスク、フレキシブルディスク、CD(Compact Disc)−ROM、MO(Magneto−Optical disk)、DVD(Digital Versatile Disk)、USB(Universal Serial Bus)メモリ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本制御プログラムは、インターネット等のネットワークを介して配布してもよい。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)上位装置からの要求に応じてアクセスされる1または複数の記憶装置を制御するストレージ制御装置であって、
前記1または複数の記憶装置それぞれの負荷状況およびレスポンス状況を表す性能情報を取得し、
取得した前記性能情報に基づいて、前記1または複数の記憶装置のうち、負荷が第1の閾値より低く、かつ、レスポンスタイムが第2の閾値以上の記憶装置を検出する、
制御部を有することを特徴とするストレージ制御装置。
(付記2)前記制御部は、
取得した前記性能情報に基づいて、前記1または複数の記憶装置のうち、アクセスがないと判断した記憶装置を抽出し、
抽出した前記記憶装置に対して、負荷が前記第1の閾値を超えないように、規定量分のアクセスコマンドを発行した際のレスポンスタイムを計測し、
抽出した前記記憶装置のうち、計測した前記レスポンスタイムが前記第2の閾値以上となる記憶装置を検出する、
ことを特徴とする付記1に記載のストレージ制御装置。
(付記3)前記制御部は、
検出した前記記憶装置に対してリダンダントコピーを実施する、ことを特徴とする付記1または2に記載のストレージ制御装置。
(付記4)検出した前記記憶装置が、アクセスがないと判断した記憶装置のときは、代替記憶装置が複数存在する場合に、当該記憶装置に対してリダンダントコピーを実施する、ことを特徴とする付記2に記載のストレージ制御装置。
(付記5)前記アクセスコマンドには、前記上位装置からの要求に応じて発行されるアクセスコマンドよりも低い優先度が設定される、ことを特徴とする付記2に記載のストレージ制御装置。
(付記6)前記第2の閾値は、前記1または複数の記憶装置それぞれについてのタイムアウト値よりも低い値である、ことを特徴とする付記1〜5のいずれか一つに記載のストレージ制御装置。
(付記7)前記1または複数の記憶装置それぞれの負荷状況は、ビジー率によって表される、ことを特徴とする付記1〜6のいずれか一つに記載のストレージ制御装置。
(付記8)前記1または複数の記憶装置それぞれのレスポンス状況は、アクセスコマンドを発行してから応答があるまでのレスポンスタイムによって表される、ことを特徴とする付記1〜7のいずれか一つに記載のストレージ制御装置。
(付記9)上位装置からの要求に応じてアクセスされる1または複数の記憶装置を制御するコンピュータに、
前記1または複数の記憶装置それぞれの負荷状況およびレスポンス状況を表す性能情報を取得し、
取得した前記性能情報に基づいて、前記1または複数の記憶装置のうち、負荷が第1の閾値より低く、かつ、レスポンスタイムが第2の閾値以上の記憶装置を検出する、
処理を実行させることを特徴とする制御プログラム。
(付記10)前記コンピュータに、
取得した前記性能情報に基づいて、前記1または複数の記憶装置のうち、アクセスがないと判断した記憶装置を抽出し、
抽出した前記記憶装置に対して、負荷が前記第1の閾値を超えないように、規定量分のアクセスコマンドを発行した際のレスポンスタイムを計測し、
抽出した前記記憶装置のうち、計測した前記レスポンスタイムが前記第2の閾値以上となる記憶装置を検出する、
処理を実行させることを特徴とする付記9に記載の制御プログラム。
(付記11)前記コンピュータに、
検出した前記記憶装置に対してリダンダントコピーを実施する、処理を実行させることを特徴とする付記9または10に記載の制御プログラム。
(付記12)前記リダンダントコピーを実施する処理は、
検出した前記記憶装置が、アクセスがないと判断した記憶装置のときは、代替記憶装置が複数存在する場合に、当該記憶装置に対してリダンダントコピーを実施する、ことを特徴とする付記11に記載の制御プログラム。
101 ストレージ制御装置
102 上位装置
103,ST ストレージ
110 性能情報
200 ストレージシステム
201 ストレージ装置
202 ホスト装置
210 ネットワーク
220 性能情報テーブル
230 コンフィグテーブル
300 バス
301 CPU
302 メモリ
303 通信I/F
304 I/Oコントローラ
601 I/O処理部
602 取得部
603 検出部
604 診断部
605 復旧部

Claims (3)

  1. 上位装置からの要求に応じてアクセスされる1または複数の記憶装置を制御するストレージ制御装置であって、
    前記1または複数の記憶装置それぞれの負荷状況およびレスポンス状況を表す性能情報を取得し、
    取得した前記性能情報に基づいて、前記1または複数の記憶装置のうち、負荷が第1の閾値より低く、かつ、レスポンスタイムが第2の閾値以上の記憶装置を検出する制御部を有し、
    前記制御部は、
    取得した前記性能情報に基づいて、前記1または複数の記憶装置のうち、アクセスがないと判断した記憶装置を抽出し、
    抽出した前記記憶装置に対して、負荷が前記第1の閾値を超えないように、規定量分のアクセスコマンドを発行した際のレスポンスタイムを計測し、
    抽出した前記記憶装置のうち、計測した前記レスポンスタイムが前記第2の閾値以上となる記憶装置を検出し、
    検出した前記記憶装置が、アクセスがないと判断した記憶装置のときは、代替記憶装置が複数存在する場合に、当該記憶装置に対してリダンダントコピーを実施する、
    とを特徴とするストレージ制御装置。
  2. 前記アクセスコマンドには、前記上位装置からの要求に応じて発行されるアクセスコマンドよりも低い優先度が設定される、ことを特徴とする請求項1に記載のストレージ制御装置。
  3. 上位装置からの要求に応じてアクセスされる1または複数の記憶装置を制御するコンピュータに、
    前記1または複数の記憶装置それぞれの負荷状況およびレスポンス状況を表す性能情報を取得し、
    取得した前記性能情報に基づいて、前記1または複数の記憶装置のうち、負荷が第1の閾値より低く、かつ、レスポンスタイムが第2の閾値以上の記憶装置を検出し、
    取得した前記性能情報に基づいて、前記1または複数の記憶装置のうち、アクセスがないと判断した記憶装置を抽出し、
    抽出した前記記憶装置に対して、負荷が前記第1の閾値を超えないように、規定量分のアクセスコマンドを発行した際のレスポンスタイムを計測し、
    抽出した前記記憶装置のうち、計測した前記レスポンスタイムが前記第2の閾値以上となる記憶装置を検出し、
    検出した前記記憶装置が、アクセスがないと判断した記憶装置のときは、代替記憶装置が複数存在する場合に、当該記憶装置に対してリダンダントコピーを実施する、
    処理を実行させることを特徴とする制御プログラム。
JP2017157531A 2017-08-17 2017-08-17 ストレージ制御装置、および制御プログラム Active JP6965626B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017157531A JP6965626B2 (ja) 2017-08-17 2017-08-17 ストレージ制御装置、および制御プログラム
US16/039,578 US10606490B2 (en) 2017-08-17 2018-07-19 Storage control device and storage control method for detecting storage device in potential fault state

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017157531A JP6965626B2 (ja) 2017-08-17 2017-08-17 ストレージ制御装置、および制御プログラム

Publications (2)

Publication Number Publication Date
JP2019036163A JP2019036163A (ja) 2019-03-07
JP6965626B2 true JP6965626B2 (ja) 2021-11-10

Family

ID=65360442

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017157531A Active JP6965626B2 (ja) 2017-08-17 2017-08-17 ストレージ制御装置、および制御プログラム

Country Status (2)

Country Link
US (1) US10606490B2 (ja)
JP (1) JP6965626B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10360116B2 (en) * 2015-02-13 2019-07-23 International Business Machines Corporation Disk preservation and failure prevention in a raid array
US12026381B2 (en) 2018-10-26 2024-07-02 Pure Storage, Inc. Preserving identities and policies across replication
US10671302B1 (en) * 2018-10-26 2020-06-02 Pure Storage, Inc. Applying a rate limit across a plurality of storage systems
FR3103586B1 (fr) * 2019-11-22 2023-04-14 St Microelectronics Alps Sas Procédé de gestion du fonctionnement d’un système sur puce formant par exemple un microcontrôleur, et système sur puce correspondant
JP7491545B2 (ja) * 2019-12-27 2024-05-28 Necソリューションイノベータ株式会社 情報処理方法
CN112035262B (zh) * 2020-09-22 2024-07-26 中国建设银行股份有限公司 多主机动态管理调整的方法和装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3269817B2 (ja) * 1990-09-20 2002-04-02 富士通株式会社 入出力制御装置
JP3705957B2 (ja) 1999-06-11 2005-10-12 ヒタチグローバルストレージテクノロジーズネザーランドビーブイ ディスクストレージ装置における不良セクタ処理方法及びディスクストレージ装置
JP2003150326A (ja) 2001-11-15 2003-05-23 Hitachi Ltd 記憶装置の制御方法および記憶装置
JP3778171B2 (ja) 2003-02-20 2006-05-24 日本電気株式会社 ディスクアレイ装置
JP2005326935A (ja) 2004-05-12 2005-11-24 Hitachi Ltd 仮想化ストレージを備える計算機システムの管理サーバおよび障害回避復旧方法
US7574623B1 (en) * 2005-04-29 2009-08-11 Network Appliance, Inc. Method and system for rapidly recovering data from a “sick” disk in a RAID disk group
US7506200B2 (en) 2006-01-25 2009-03-17 International Business Machines Corporation Apparatus and method to reconfigure a storage array disposed in a data storage system
JP2008191819A (ja) * 2007-02-02 2008-08-21 Toshiba Corp オンライン取引システム
JP6094112B2 (ja) * 2012-09-20 2017-03-15 富士通株式会社 ストレージシステム、ストレージ制御装置、ストレージ制御方法、及びストレージ制御プログラム
GB2509505A (en) * 2013-01-04 2014-07-09 Ibm Issuing a write to a secondary storage device, when a write to a primary storage device takes too long
JP2014211849A (ja) * 2013-04-22 2014-11-13 富士通株式会社 ストレージ制御装置、ストレージ装置、および制御プログラム
JP6428231B2 (ja) * 2014-12-15 2018-11-28 富士通株式会社 ストレージ管理装置、性能調整方法及び性能調整プログラム

Also Published As

Publication number Publication date
US20190056875A1 (en) 2019-02-21
US10606490B2 (en) 2020-03-31
JP2019036163A (ja) 2019-03-07

Similar Documents

Publication Publication Date Title
JP6965626B2 (ja) ストレージ制御装置、および制御プログラム
US8930745B2 (en) Storage subsystem and data management method of storage subsystem
US8127182B2 (en) Storage utilization to improve reliability using impending failure triggers
CN111124264B (zh) 用于重建数据的方法、设备和计算机程序产品
JP2006146833A (ja) ディスク装置の整合性検査支援方法およびディスクアレイ装置の整合性検査方法
JP2017091456A (ja) 制御装置、制御プログラムおよび制御方法
JP2005322399A (ja) 磁気ディスク記憶装置におけるトラック・データ完全性の維持方法
JP2007334593A (ja) Raidコントローラおよびraid装置
CN104583930A (zh) 数据迁移的方法、控制器和数据迁移装置
JP2015052960A (ja) ストレージ制御装置、ディスクアレイ装置の制御方法及びディスクアレイ装置の制御プログラム
US8762771B2 (en) Method for completing write operations to a RAID drive pool with an abnormally slow drive in a timely fashion
US20070101188A1 (en) Method for establishing stable storage mechanism
JP5488709B2 (ja) ストレージ制御装置における基準時間設定方法
US8370688B2 (en) Identifying a storage device as faulty for a first storage volume without identifying the storage device as faulty for a second storage volume
US8843781B1 (en) Managing drive error information in data storage systems
JP2019003506A (ja) ストレージ制御装置、ストレージ制御方法およびストレージ制御プログラム
JP2010267037A (ja) ディスクアレイ装置
JP4775843B2 (ja) ストレージシステム及び記憶制御方法
US7529776B2 (en) Multiple copy track stage recovery in a data storage system
JP2880701B2 (ja) ディスクサブシステム
CN109343986B (zh) 处理内存故障的方法与计算机系统
JP4605374B2 (ja) 記憶装置の試験方法及び装置
JP5273185B2 (ja) 記録媒体制御システム、記録媒体制御方法、記録媒体制御プログラム
US10592349B2 (en) Storage control device and storage apparatus
JP5729043B2 (ja) ストレージ装置および制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200514

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210303

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210309

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210413

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210713

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210902

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211004

R150 Certificate of patent or registration of utility model

Ref document number: 6965626

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150