JP4606455B2 - ストレージ管理装置、ストレージ管理プログラムおよびストレージシステム - Google Patents

ストレージ管理装置、ストレージ管理プログラムおよびストレージシステム Download PDF

Info

Publication number
JP4606455B2
JP4606455B2 JP2007328396A JP2007328396A JP4606455B2 JP 4606455 B2 JP4606455 B2 JP 4606455B2 JP 2007328396 A JP2007328396 A JP 2007328396A JP 2007328396 A JP2007328396 A JP 2007328396A JP 4606455 B2 JP4606455 B2 JP 4606455B2
Authority
JP
Japan
Prior art keywords
patrol
storage
performance
data
redundant
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
JP2007328396A
Other languages
English (en)
Other versions
JP2009151519A (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 JP2007328396A priority Critical patent/JP4606455B2/ja
Priority to US12/331,662 priority patent/US8156381B2/en
Priority to EP08171536A priority patent/EP2093670A3/en
Publication of JP2009151519A publication Critical patent/JP2009151519A/ja
Application granted granted Critical
Publication of JP4606455B2 publication Critical patent/JP4606455B2/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/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2069Management of state, configuration or failover
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3034Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • G06F11/3072Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2087Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring with a common controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/1088Scrubbing in RAID systems with parity
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

本発明はストレージ管理装置、ストレージ管理プログラム、およびストレージシステムに関し、特にデータを複数のストレージノードで分散管理するストレージ管理装置、ストレージ管理プログラム、およびストレージシステムに関する。
現在、コンピュータを用いたデータ処理が広く行われるようになり、データを蓄積・利用するためのストレージ技術が一層重要となっている。この点、データアクセスの高速化およびデータ保管に対する高信頼化を実現するストレージ技術として、従来はRAID(Redundant Arrays of Independent Disks)が一般的に利用されてきた。RAIDでは、データを必要に応じて分割・複製して、複数のストレージ装置に分散して配置する。これにより、複数のストレージ装置間で負荷が分散されることによる高速化、データが冗長化されることによる高信頼化が実現されている。
そして近年では、さらに高速化・高信頼化を図るため、RAIDの考え方を応用した分散ストレージシステムが構築されるようになっている。分散ストレージシステムは、複数のストレージノードと、ストレージノード間を接続するネットワークを備えている。各ストレージノードは、内部に備えた、または外部に設けられて対応付けられたストレージ装置を管理しているとともに、ネットワーク通信機能を備えている。分散ストレージシステムは、この複数のストレージノードにデータを分散して記憶することで、システム全体として一層の高速化・高信頼化を実現している。
このようなストレージシステムの有するストレージ装置が正常であるか否かを診断するためには、一般に、稼働しているかどうかの診断(いわゆる生存確認)が行われる。この生存確認による診断は、処理が比較的短時間で可能であるとともに、処理の負荷が小さいため、処理によるシステムの通常の業務のアクセスに対する影響も比較的小さいというメリットがある。
このようなストレージシステムを始めとする、コンピュータシステムの性能の監視に関して、ストレージネットワークの構成要素から収集した性能情報に基づいて、以降の情報収集の対象範囲や程度を自動調整するシステムが知られている(例えば、特許文献1参照)。
また、ネットワークノードの負荷に応じて監視トラフィックの発生間隔を自動調整するネットワーク管理装置が知られている(例えば、特許文献2参照)。
また、管理対象である計算機の監視項目ごとの稼働性能値に基づいて、採取すべき監視項目を特定する管理システムが知られている(例えば、特許文献3参照)。
特開2005−157933号公報 特開平09−270794号公報 特開2004−206495号公報
しかし、上記の稼働しているかどうかの診断を行ったのみでは、ストレージ装置自体が稼動していることは確認できるが、ストレージ装置内部の特定の領域のみに発生した障害を検出することは不可能である。
特に、例えばストレージ装置がRAID5によって構成されている場合のように、ストレージ装置間で冗長構成がとられている場合には、一つの領域の障害が検出されれば、これを復旧することが可能である。しかし、冗長構成によって対応付けられている二つの領域について、障害が同時に発生した場合には、障害によって失われたデータを復旧することが不可能である。これにより、ストレージ装置が稼働しているかどうかの診断だけでなく、ストレージ装置の全領域にわたって、障害が発生しているかどうかについても診断することが重要である。
しかし、ストレージ装置が有する記憶領域の全領域について診断することは、ストレージシステムに与える負荷が大きい上に、処理の終了まで長時間を要する。このため、ストレージ装置の記憶領域の診断は、通常の業務によるアクセスへの影響が無視できなくなるという問題点がある。
また、分散ストレージシステムにおいては、多種多様なストレージ装置が存在する場合もある。このような場合には、同じ内容の診断処理を行っても、ストレージ装置の種類によって、その所要時間や通常の業務によるアクセスへの影響が異なる場合がある。このため、ストレージ装置の全領域の診断を行った場合の通常の業務に対する影響の評価が困難であるという問題点がある。
また、分散ストレージシステムにおいては、ストレージノード間で冗長構成がとられる場合もある。データが正常かどうかを診断するためには、冗長構成をとっている各ストレージノードのデータが正しく冗長構成を保持できているかどうかの診断を行う必要がある。ここで、この分散ストレージシステムは、多種多様な構成のストレージノードが混在することによってシステムが構築されている場合もある。この場合、ストレージ装置と同様に、同じ内容の診断処理を行っても、各ストレージノードの構成によって、その所要時間や通常の業務によるアクセスへの影響が異なる場合がある。このため、ストレージ装置の全領域の診断を行った場合の通常の業務に対する影響の評価が困難であるという問題点がある。
しかし、特許文献1〜3に記載されている技術では、システムを構成するコンピュータに対するアクセス頻度などの、システムの様々な性能情報を収集することが可能であるが、それ自体では、ストレージ装置の各領域の異常を診断することはできず、また、直接的に診断の負荷を軽減することもできない。
本発明はこのような点に鑑みてなされたものであり、ストレージ装置へのアクセスに対する、パトロール処理の実行に基づく負荷による影響を抑えつつ、ストレージシステムの信頼性を高めることができるストレージ管理装置、ストレージ管理プログラムおよびストレージシステムを提供することを目的とする。
この、データをネットワークで接続された複数のストレージ装置に分散して記憶するストレージシステムにおけるストレージ装置を管理するストレージ管理装置は、前記ストレージ装置の記憶領域が正常に稼動していることを確認するパトロール処理を実行するパトロール処理実行手段と、前記パトロール処理実行手段によって実行されている前記パトロール処理の速さであるパトロール流量を規制するパトロール流量規制手段と、を有することを要件とする。
このようなストレージ管理装置によれば、パトロール処理実行手段により、ストレージ装置の記憶領域が正常に稼動していることを確認するパトロール処理が実行される。また、パトロール流量規制手段により、パトロール処理実行手段によって実行されているパトロール処理の速さであるパトロール流量が規制される。
また、コンピュータに、データをネットワークで接続された複数のストレージ装置に分散して記憶するストレージシステムにおけるストレージ装置の管理処理を実行させるストレージ管理プログラムは、前記コンピュータを、前記ストレージ装置の記憶領域が正常に稼動していることを確認するパトロール処理を実行するパトロール処理実行手段、前記パトロール処理実行手段によって実行されている前記パトロール処理の速さであるパトロール流量を規制するパトロール流量規制手段、として機能させることを要件とする。
このようなストレージ管理プログラムを実行するコンピュータによれば、パトロール処理実行手段により、ストレージ装置の記憶領域が正常に稼動していることを確認するパトロール処理が実行される。また、パトロール流量規制手段により、パトロール処理実行手段によって実行されているパトロール処理の速さであるパトロール流量が規制される。
また、データをネットワークで接続された複数のストレージ装置に分散して記憶し、前記ストレージ装置を管理するストレージ管理装置を有するストレージシステムは、前記ストレージ装置と、当該ストレージ装置に記憶されている前記データと同一内容の冗長データを記憶している二重化ストレージ装置とを対応付ける管理情報を記憶する管理情報記憶手段を有し、前記ストレージ管理装置は、前記ストレージ装置の記憶領域が正常に稼動していることを確認するパトロール処理を実行するパトロール処理実行手段と、前記パトロール処理実行手段によって実行されている前記パトロール処理の速さであるパトロール流量を規制するパトロール流量規制手段と、を有し、前記パトロール処理実行手段は、さらに、前記パトロール処理において、前記管理情報記憶手段に記憶されている前記管理情報を参照して、前記ストレージ装置に記憶されている前記データと、前記二重化ストレージ装置に記憶されている前記データと同一内容の前記冗長データとを読み出し、読み出した前記データと前記冗長データとを比較することによって、比較した前記データと前記冗長データとが一致することを確認することを要件とする。
このようなストレージシステムによれば、管理情報記憶手段により、当該ストレージ装置に記憶されているデータと同一内容の冗長データを記憶している二重化ストレージ装置とを対応付ける管理情報が記憶されている。そして、パトロール処理実行手段により、ストレージ装置の記憶領域が正常に稼動していることを確認するパトロール処理が実行される。また、パトロール流量規制手段により、パトロール処理実行手段によって実行されているパトロール処理の速さであるパトロール流量が規制される。さらに、パトロール処理実行手段により、パトロール処理において、管理情報記憶手段に記憶されている管理情報が参照され、ストレージ装置に記憶されているデータと、二重化ストレージ装置に記憶されているデータと同一内容の冗長データとが読み出され、読み出されたデータと冗長データとを比較することによって、比較されたデータと冗長データとが一致することが確認される。
開示のストレージ管理装置、ストレージ管理プログラムおよびストレージシステムによれば、パトロール処理の実行に基づく負荷による、ストレージ装置へのアクセスに対する影響を抑えつつ、ストレージシステムの信頼性を高めることができる。
以下、本発明の実施の形態について、図面を参照して説明する。
本実施の形態のストレージ管理装置1は、多種多様なストレージ装置を管理する多種多様なストレージノードがネットワークでつながれているマルチノードストレージシステムにおいて、ストレージ装置の各記憶領域へのデータの読み書きが正常に行えるかを診断するパトロール処理を、自律的に調整して実行することで、アクセスへの影響を抑えつつ、ストレージシステムの信頼性を向上させるものである。
図1は、本実施の形態の概要を示す図である。図1に示すストレージシステムは、データをネットワークで接続された複数のストレージ装置に分散して記憶するストレージシステムである。このストレージシステムは、ストレージ管理装置1、ストレージ装置2から構成される。
ストレージ管理装置1は、ストレージ装置2を管理する装置である。ストレージ管理装置1は、ストレージ装置2を管理するために、パトロール処理実行手段1a、およびパトロール流量規制手段1bを有している。
パトロール処理実行手段1aは、ストレージ装置2の記憶領域2aが正常に稼動していることを確認するパトロール処理を実行する。ここで、記憶領域2aは、ストレージ装置2においてデータを記憶する領域である。このパトロール処理は、具体的には、パトロール処理実行手段1aが、ストレージ装置2の記憶領域2aに記憶されているデータを一旦読み出した後、この読み出したデータを、そのデータが記憶されていた領域に対して書き込み、これを記憶領域2aを区分した領域ごとに順次繰り返すことで行われる。
パトロール流量規制手段1bは、パトロール処理実行手段1aによって実行されているパトロール処理の速さであるパトロール流量を規制する。このパトロール流量の規制は、具体的には、例えば、パトロール流量規制手段1bが、パトロール処理実行手段1aによって実行されるパトロール処理のパトロール流量を監視し、パトロール流量が速過ぎる場合には、パトロール処理実行手段1aによるパトロール処理の実行を待機させることによって行われる。
このようなストレージ管理装置1によれば、パトロール処理実行手段1aにより、ストレージ装置2の記憶領域2aが正常に稼動していることが確認される。パトロール流量規制手段1bにより、パトロール処理実行手段1aで実行されるパトロール処理の速さが規制される。
これによって、パトロール処理の実行に基づく負荷による、ストレージ装置へのアクセスに対する影響を抑えつつ、ストレージシステムの信頼性を高めることができる。
以下、本実施の形態について図面を参照して詳細に説明する。
図2は、本実施の形態のシステム構成を示す図である。図2に示すストレージシステムは、データをネットワークで接続された複数のストレージ装置で分散して記憶する。本実施の形態に係るストレージシステムでは、ストレージノード100,200,300,400、コントロールノード500、アクセスノード600および管理ノード30がネットワーク10を介して相互に接続されている。また、端末装置21,22,23が、ネットワーク20を介してアクセスノード600に接続されている。
ストレージノード100,200,300,400には、それぞれストレージ装置110,210,310,410が接続されている。ストレージノード100,200,300,400は、接続されたストレージ装置110,210,310,410に格納されたデータを管理し、管理しているデータをネットワーク10経由でアクセスノード600に提供する。また、ストレージノード100,200,300,400は、データに冗長性をもたせて管理している。すなわち、同一内容のデータが、少なくとも2つのストレージノードで管理されている。
ストレージ装置110には、ハードディスク装置(HDD)111,112,113,114が実装されている。ストレージ装置210には、HDD211,212,213,214が実装されている。ストレージ装置310には、HDD311,312,313,314が実装されている。ストレージ装置410には、HDD411,412,413,414が実装されている。ストレージ装置110,210,310,410は、内蔵する複数のHDDを用いたRAIDシステムである。本実施の形態では、ストレージ装置110,210,310,410は、RAID5のディスク管理サービスを提供する。
なお、ストレージ装置110,210,310,410は、RAID5に限らず、他のRAIDを用いて構成してもよく、RAID以外の技術を用いてディスクアレイを構成してもよい。さらに、ストレージ装置110,210,310,410は、ディスクアレイを用いずにハードディスク単体で構成してもよく、その他の記憶装置を用いてもよい。
ストレージノード100,200,300,400は、接続されたストレージ装置110,210,310,410に格納されたデータを管理し、管理しているデータをネットワーク10経由で端末装置21,22,23に提供する。また、ストレージノード100,200,300,400は、冗長性を有するデータを管理している。すなわち、同一のデータが、少なくとも2つのストレージノードで管理されている。
さらに、ストレージノード100,200,300,400は、パトロール処理において、二重化されたデータの整合性をチェックする。なお、ストレージノード100,200,300,400は個々の判断に基づいてデータの整合性をチェックしてもよいし、外部からの指示によりデータの整合性をチェックしてもよい。本実施の形態では、各ストレージノード100,200,300,400が、自発的に二重化されたデータの整合性をチェックする。
パトロール処理における二重化されたデータの整合性のチェックでは、二重化されたそれぞれのデータを保持するストレージノード同士が互いに通信し合い、冗長性のあるデータの整合性がチェックされる。その際、二重化されたデータを保持する一方のストレージノードで管理されているデータで不具合が検出されれば、他方のストレージノードの対応するデータを用いてデータの復旧が行われる。
コントロールノード500は、ストレージノード100,200,300,400を管理する。具体的には、コントロールノード500は、データの配置状況を示す論理ボリュームを保持している。コントロールノード500は、ストレージノード100,200,300,400からデータの管理に関する情報を取得し、必要に応じて論理ボリュームを更新する。また、コントロールノード500は、論理ボリュームが更新されると、その影響を受けるストレージノードに対して更新内容を通知する。論理ボリュームに関しては、後述する。
アクセスノード600は、端末装置21,22,23に対して、ストレージノード100,200,300,400が管理するデータを利用した情報処理のサービスを提供する。すなわち、アクセスノード600は、端末装置21,22,23からの要求に応答して所定のプログラムを実行し、必要に応じてストレージノード100,200,300,400にアクセスする。ここで、アクセスノード600は、コントロールノード500から論理ボリュームを取得し、取得した論理ボリュームに基づいてアクセスすべきストレージノードを特定する。
管理ノード30は、分散ストレージシステムの管理者が操作する端末装置である。分散ストレージシステムの管理者は、管理ノード30を操作して、ストレージノード100,200,300,400、コントロールノード500およびアクセスノード600にアクセスし、運用に必要な各種設定を行うことができる。
端末装置21,22,23は、ストレージシステムのユーザが操作するコンピュータである。ストレージシステムのユーザは、端末装置21,22,23を操作して、ストレージノード100にアクセスする。これに基づいて、ストレージノード100は、ユーザの要求に応じて、ストレージ装置110に記憶されているデータの読み書きを行う。
次に、ストレージノード100,200,300,400、コントロールノード500、アクセスノード600、端末装置21,22,23および管理ノード30のハードウェア構成について説明する。
図3は、ストレージノードのハードウェア構成例を示す図である。ストレージノード100は、CPU(Central Processing Unit)101によって装置全体が制御されている。CPU101には、バス107を介してRAM(Random Access Memory)102、HDDインタフェース103、グラフィック処理装置104、入力インタフェース105、および通信インタフェース106が接続されている。
RAM102には、CPU101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、CPU101による処理に必要な各種データが格納される。
HDDインタフェース103には、ストレージ装置110が接続されている。HDDインタフェース103は、ストレージ装置110に内蔵されたRAIDコントローラ115と通信し、ストレージ装置110に対するデータの入出力を行う。ストレージ装置110内のRAIDコントローラ115は、RAID0〜5の機能を有し、複数のHDD111〜114をまとめて1台のハードディスクとして管理する。
グラフィック処理装置104には、モニタ11が接続されている。グラフィック処理装置104は、CPU101からの命令に従って、画像をモニタ11の画面に表示させる。入力インタフェース105には、キーボード12とマウス13とが接続されている。入力インタフェース105は、キーボード12やマウス13から送られてくる信号を、バス107を介してCPU101に送信する。
通信インタフェース106は、ネットワーク10に接続されている。通信インタフェース106は、ネットワーク10を介して、他のコンピュータとの間でデータの送受信を行う。
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。なお、図3には、ストレージノード100およびストレージ装置110の構成のみを示したが、他のストレージノード200,300,400や他のストレージ装置210,310,410も同様のハードウェア構成で実現できる。
さらに、コントロールノード500、アクセスノード600、および端末装置21,22,23も、ストレージノード100とストレージ装置110との組合せと同様のハードウェア構成で実現できる。ただし、コントロールノード500、アクセスノード600、および端末装置21,22,23については、ストレージ装置110のようなRAIDシステムではなく、単体のHDDがHDDコントローラに接続されていてもよい。
図2に示すように、複数のストレージノード100,200,300,400がネットワーク10に接続され、それぞれのストレージノード100,200,300,400は他のストレージノードとの間で通信を行う。この分散ストレージシステムは、端末装置21,22,23に対して、仮想的なボリューム(以下、論理ボリュームと呼ぶ)として機能する。
図4は、論理ボリュームのデータ構造を示す図である。論理ボリューム700には、「LVOL−A」という識別子(論理ボリューム識別子)が付与されている。また、ネットワーク経由で接続された4台のストレージ装置110,210,310,410には、それぞれのストレージ装置を管理するストレージノードの識別のためにそれぞれ「SN−A」、「SN−B」、「SN−C」、「SN−D」というノード識別子が付与されている。
各ストレージノード100,200,300,400が有するストレージ装置110,210,310,410それぞれにおいてRAID5の論理ディスクが構成されている。この論理ディスクは、5つのスライスに分割され、個々のストレージノード内で管理されている。
図4の例では、ストレージ装置110内の記憶領域は、5つのスライス121〜125に分けられている。ストレージ装置210内の記憶領域は、5つのスライス221〜225に分けられている。ストレージ装置310内の記憶領域は、5つのスライス321〜325に分けられている。ストレージ装置410内の記憶領域は、5つのスライス421〜425に分けられている。
なお、論理ボリューム700は、セグメント710,720,730,740という単位で構成される。セグメント710,720,730,740の記憶容量は、ストレージ装置110,210,310,410における管理単位であるスライスの記憶容量と同じである。例えば、スライスの記憶容量が1ギガバイトとするとセグメントの記憶容量も1ギガバイトである。論理ボリューム700の記憶容量はセグメント1つ当りの記憶容量の整数倍である。セグメントの記憶容量が1ギガバイトならば、論理ボリューム700の記憶容量は4ギガバイトといったものになる。
セグメント710,720,730,740は、それぞれプライマリスライス711,721,731,741とセカンダリスライス712,722,732,742との組から構成される。同じセグメントに属するスライスは別々のストレージノードに属する。個々のスライスを管理する領域には論理ボリューム識別子やセグメント情報や同じセグメントを構成するスライス情報の他にフラグがあり、そのフラグにはプライマリあるいはセカンダリなどを表す値が格納される。
図4の例では、スライスの識別子を、「P」または「S」のアルファベットと数字との組合せで示している。「P」はプライマリスライスであることを示している。「S」はセカンダリスライスであることを示している。アルファベットに続く数字は、何番目のセグメントに属するのかを表している。例えば、1番目のセグメント710のプライマリスライスが「P1」で示され、セカンダリスライスが「S1」で示される。
このような構造の論理ボリューム700の各プライマリスライスおよびセカンダリスライスが、ストレージ装置110,210,310,410内のいずれかのスライスに対応付けられる。例えば、セグメント710のプライマリスライス711は、ストレージ装置410のスライス424に対応付けられ、セカンダリスライス712は、ストレージ装置210のスライス222に対応付けられている。
そして、各ストレージ装置110,210,310,410では、自己のスライスに対応するプライマリスライスまたはセカンダリスライスのデータを記憶する。
次に、ストレージノード100,200,300,400のモジュール構成について説明する。
図5は、ストレージノードの機能を示すブロック図である。なお、図5ではストレージノード100のモジュール構成を示しているが、他のストレージノード200,300,400もストレージノード100と同様のモジュール構成によって実現できる。
ストレージノード100は、ストレージ装置110を管理する装置である。ストレージノード100は、ストレージ装置110を管理するために、パトロール処理実行部131、パトロール流量規制部132、管理情報記憶部133、パトロール性能測定部134、および時刻情報取得部135を有している。同様に、ストレージノード200は、ストレージ装置210を管理する装置である。ストレージノード200は、ストレージ装置210を管理するために、ストレージノード100と同様の機能を有している。
ここで、ストレージ装置110は、ストレージ装置210と二重化されているものとする。すなわち、ストレージ装置110に記憶されているデータには、ストレージ装置210に記憶されている同一の内容の冗長データが存在するものとする。このようにして、ストレージ装置110のデータはストレージ装置210の冗長データによりバックアップされている。
パトロール処理実行部131は、ストレージ装置110の記憶領域110aが正常に稼動していることを確認するパトロール処理を実行する。具体的には、パトロール処理実行部131は、パトロール処理として、ストレージ装置110の記憶領域110aに記憶されているデータを読み出し、データが正常か否かを判断する処理を実行する。ここで、記憶領域110aは、ストレージ装置110においてデータを記憶する領域である。
パトロール処理実行部131は、さらに、ストレージ装置110の記憶領域110aに記憶されているデータの冗長構成が正しく保持されていることを確認する冗長パトロール処理を実行する。具体的には、パトロール処理実行部131は、管理情報記憶部133に記憶されている管理情報を参照して、ストレージ装置210に記憶されている冗長データから、ストレージ装置110に記憶されているデータと同一の内容の冗長データを特定する。次に、パトロール処理実行部131は、ストレージ装置110に記憶されているデータと、ストレージ装置210に記憶されている上記の特定した冗長データとを読み出す。次に、パトロール処理実行部131は、読み出したデータと冗長データとを比較することによって、比較したデータと冗長データとが一致することを確認する。
ここで、パトロール処理実行部131は、パトロール処理および冗長パトロール処理を、ストレージ装置110の記憶領域110aが測定単位領域からさらに複数に区分された領域である実行単位領域ごとにパトロールする。
また、パトロール処理実行部131は、パトロール処理として、ストレージ装置110との間で二重化されたストレージ装置210に記憶されているデータと同一の内容の冗長データをストレージ装置110内のデータの記憶領域110aに対して、上書きで書き込む処理を実行する。このとき、パトロール処理実行部131は、管理情報記憶部133に記憶されている管理情報を参照して、ストレージ装置110に記憶されているデータと同一の内容の冗長データを特定する。次に、パトロール処理実行部131は、ストレージ装置110に記憶されているデータと同一の内容であって、ストレージ装置210に記憶されている、上記の特定した冗長データを読み出す。次に、パトロール処理実行部131は、読み出した冗長データをストレージ装置110内のデータの記憶領域110aに対して、上書きで書き込む処理を実行する。
パトロール流量規制部132は、パトロール処理実行部131によって実行されているパトロール処理および冗長パトロール処理の速さであるパトロール流量を規制する。具体的には、パトロール流量規制部132は、パトロール性能測定部134によって測定されたパトロール性能に基づいてパトロール流量設定値を決定し、決定した当該パトロール流量設定値を超えないようにパトロール流量を規制する。このとき、パトロール流量規制部132は、ストレージ装置110の記憶領域をパトロール処理が実行される単位に区分した領域である、実行単位領域ごとにパトロール処理のパトロール流量を規制する。
また、パトロール流量規制部132は、時間帯に応じたパトロール流量の規制を行うこともできる。この場合、パトロール流量規制部132は、時刻情報取得部135によって取得された時刻情報が示す現在の時刻に基づいて、パトロール性能測定部134が保持するパトロール性能から現在の時刻が属する時間帯に対応するパトロール性能を選択する。次に、パトロール流量規制部132は、選択した当該パトロール性能に基づいてパトロール流量設定値を決定する。次に、パトロール流量規制部132は、決定したパトロール流量設定値を超えないようにパトロール流量を規制する。
管理情報記憶部133は、ストレージ装置110と、当該ストレージ装置110に記憶されているデータと同一内容の冗長データを記憶しているストレージ装置210とを対応付ける管理情報を記憶する。ストレージノード100は、この管理情報に基づいて記憶しているデータの冗長データおよび冗長データが記憶されているストレージ装置を特定する。
パトロール性能測定部134は、ストレージ装置110における読み出し処理と書き込み処理との処理性能を示すパトロール性能を測定する。ここで、パトロール性能測定部134は、ストレージ装置110の記憶領域110aが複数に区分された領域である測定単位領域ごとに、パトロール性能を測定する。
また、パトロール性能測定部134は、時刻情報取得部135によって取得された時刻情報が示す時刻が属する時間帯ごとに、測定したパトロール性能を複数種類保持する。
時刻情報取得部135は、現在の時刻を示す時刻情報を取得する。この時刻情報は、ストレージノード100のCPU101が有するタイマによって生成されるが、これに限らず、ネットワーク10に接続されたネットワーク時計、または他のノードから取得してもよい。
このようなストレージノード100によれば、パトロール処理実行部131により、ストレージ装置110の記憶領域が正常に稼動していることが確認される。このとき、パトロール流量規制部132により、パトロール処理実行部131によって実行されるパトロール処理の速さが規制される。この結果、パトロール処理で生じるストレージシステムへの負荷をコントロールすることによって、ストレージシステムに対するパトロール処理の影響を最小限に留めることができる。
次に、本実施の形態のパトロール性能の測定について説明する。
図6は、パトロール性能の測定の様子を示す図である。以下、図6に従って、本実施の形態のストレージノード100によるパトロール性能の取得について説明する。
本実施の形態におけるパトロール処理の目的は、ストレージ装置110の記憶領域が正常に稼動していること、すなわち、ストレージ装置110の記憶領域に対して正常にアクセスできることを確認することである。そのため、本実施の形態のストレージノードは、パトロール処理において、ストレージ装置110内の記憶領域全体にわたってデータを読み出し、さらにそのデータを書き込む処理を実行する。
また、このパトロール処理がストレージシステムに与える負荷をコントロールするために、そのコントロールの基準とするべく、各ストレージ装置におけるパトロール処理の処理性能を示すパトロール性能を測定する。各ストレージノードでは、ストレージノードの起動時または定期的に、ストレージ装置全体またはストレージ装置の記憶領域のうちの特定の領域について、パトロール性能を測定する。また、各ストレージノードは、測定により得られたパトロール性能を、それぞれのストレージノードが有するRAM(例えば、RAM102など)に格納する。
まず、ストレージノード100によって管理されるHDD111およびストレージノード200によって管理されるストレージ装置210を構成するHDD211の、それぞれの記憶領域全体のパトロール性能である、全体パトロール性能111p,211pを測定する場合について説明する。この場合、ストレージノード100は、例えば、ストレージシステムの起動時に、HDD111の全体パトロール性能111pを測定する。ストレージノード200は、同様に、HDD211の全体パトロール性能211pを測定する。ストレージノード100,200は、全体パトロール性能111p,211pのように、それぞれHDD111,211全体について一つのパトロール性能を保持する。そして、ストレージノード100,200は、それぞれのHDD111,211に対するパトロール処理の実行時において、この全体パトロール性能111p,211pをパトロール流量の調整に用いる。
次に、ストレージ装置110を構成するHDD112の記憶領域を複数に分割した、それぞれの領域ごとのパトロール性能である領域別パトロール性能112pを測定する場合について説明する。この場合、ストレージノード100は、例えば、ストレージシステムの起動時に、HDD112の領域別パトロール性能112pを測定する。ストレージノード100は、HDD112について、領域別パトロール性能112pのように、複数に分割されたその領域ごとにパトロール性能を保持する。そして、ストレージノード100は、HDD112における各領域に対するパトロール処理の実行時において、この領域別パトロール性能112pを、パトロール流量の調整に用いる。
次に、ストレージ装置110を構成するHDD113の全体の時間帯ごとのパトロール性能である、時間帯別パトロール性能113pを測定する場合について説明する。この場合、ストレージノード100は、HDD113全体についてのパトロール性能を、時間帯別パトロール性能113pのように、時間帯ごとに保持する。そして、ストレージノード100は、HDD113に対するパトロール処理の実行時の時間帯に合わせて、この時間帯別パトロール性能113pを、パトロール流量の調整に用いる。
次に、本実施の形態のストレージノード100,200,300,400で用いられるパトロール性能テーブルについて説明する。図7は、ストレージ装置ごとのパトロール性能の測定結果を格納したパトロール性能テーブルのデータ構造を示す図である。図8は、分割された領域ごとのストレージ装置のパトロール性能の測定結果を格納したパトロール性能テーブルのデータ構造を示す図である。図9は、時間帯ごとのストレージ装置のパトロール性能の測定結果を格納したパトロール性能テーブルのデータ構造を示す図である。
図7〜図9に示すパトロール性能テーブルは、パトロール処理を行う際の処理を進める速さであるパトロール流量を調整するためのパトロール性能を示す情報である。パトロール情報は、ストレージ装置110,210,310,410が備える各HDDのデータ読み書きの性能特性を示す情報である。図6に示すように取得されたパトロール情報は、パトロール性能テーブル191,192,193としてテーブル化されて、ストレージノード100のRAM102およびストレージノード200,300,400のRAM(図示省略)に格納されている。
図7に示すパトロール性能テーブル191は、ストレージ装置ごとのパトロール性能である、全体パトロール性能(図6の全体パトロール性能111pを参照)の測定結果を格納するテーブルである。このパトロール性能テーブル191には、装置191a、シーケンシャル・アクセスの場合の読み出し処理191eおよび書き込み処理191f、ならびにランダム・アクセスの場合の読み出し処理191gおよび書き込み処理191hの欄が設けられており、各欄の横方向に並べられた情報同士が互いに関連づけられている。
装置191aの欄には、ストレージ装置110,210,310,および410に対して、それぞれが識別可能になるように割り当てられたストレージ装置の名称が格納される。
シーケンシャル・アクセスの場合の読み出し処理191eおよび書き込み処理191fの欄には、それぞれ、各ストレージ装置におけるシーケンシャル・アクセスによる読み出し処理および書き込み処理の際の全体パトロール性能を示す情報が格納される。シーケンシャル・アクセスによる読み出し処理および書き込み処理の際のパトロール性能は、データ転送速度、すなわち1秒間当りのデータ転送量(MB/s:MegaByte per second)によって示される。MB/sは、大きい値の方が高評価となる。
ランダム・アクセスの場合の読み出し処理191gおよび書き込み処理191hの欄には、それぞれ、各ストレージ装置におけるランダム・アクセスによる読み出し処理および書き込み処理の際の全体パトロール性能を示す情報が格納される。ランダム・アクセスによる読み出し処理および書き込み処理のパトロール性能は、処理能力、すなわち、1秒間当りの書き込み処理および読み出し処理の実行回数(IOPS:Input Output Per Second)によって示される。IOPSは、大きい値の方が高評価となる。
図8に示すパトロール性能テーブル192は、ストレージ装置における分割された領域ごとのパトロール性能である、領域別パトロール性能(図6の領域別パトロール性能112pを参照)の測定結果を格納するテーブルである。このパトロール性能テーブル192には、装置192a、領域192b、シーケンシャル・アクセスの場合の読み出し処理192eおよび書き込み処理192f、ならびにランダム・アクセスの場合の読み出し処理192gおよび書き込み処理192hの欄が設けられており、各欄の横方向に並べられた情報同士が互いに関連づけられている。
装置192aの欄には、パトロール性能テーブル191と同様、ストレージ装置110,210,310,および410に対して、それぞれが識別可能になるように割り当てられたストレージ装置の名称が格納される。
領域192bの欄には、各ストレージ装置における分割された領域の範囲を特定可能な情報が格納される。例えば、図8のパトロール性能テーブル192の一番上の行のように、領域192bが「0〜100[block]」である場合には、その行には、ストレージ装置の領域0〜100[block]の領域別パトロール性能が格納されることを示す。ここで、blockは、各HDDにおけるデータの管理単位であり、ここでは、1block=1MBを用いるが、必ずしもこれに限られない。
シーケンシャル・アクセスの場合の読み出し処理192eおよび書き込み処理192fの欄には、それぞれ、各ストレージ装置におけるシーケンシャル・アクセスによる読み出し処理および書き込み処理の際の領域別パトロール性能を示す情報が格納される。ランダム・アクセスの場合の読み出し処理192gおよび書き込み処理192hの欄には、それぞれ、各ストレージ装置におけるランダム・アクセスによる読み出し処理および書き込み処理の際の領域別パトロール性能を示す情報が格納される。
図9に示すパトロール性能テーブル193は、各ストレージ装置における時間帯ごとのパトロール性能である、時間帯別パトロール性能(図6の時間帯別パトロール性能113pを参照)の測定結果を格納するテーブルである。このパトロール性能テーブル193には、装置193a、対象時間193c、測定日193d、シーケンシャル・アクセスの場合の読み出し処理193eおよび書き込み処理193f、ならびにランダム・アクセスの場合の読み出し処理193gおよび書き込み処理193hの欄が設けられており、各欄の横方向に並べられた情報同士が互いに関連づけられている。
装置193aの欄には、パトロール性能テーブル191と同様、ストレージ装置110,210,310,および410に対して、それぞれが識別可能になるように割り当てられたストレージ装置の名称が格納される。
対象時間193cの欄には、各ストレージ装置の時間帯別パトロール性能が測定された時間帯を特定可能な情報が格納される。例えば、図9のパトロール性能テーブル193の一番上の行のように、対象時間193cが「0〜3時」である場合には、その行には、0時から3時に測定されたパトロール性能が格納されることを示す。
測定日193dの欄には、各ストレージ装置の時間帯別パトロール性能が測定された日付を特定可能な情報が格納される。例えば、図9のパトロール性能テーブル193の一番上の行のように、測定日193dが「10/1」である場合には、その行の時間帯別パトロール性能は、10月1日に測定されたものであることを示す。
シーケンシャル・アクセスの場合の読み出し処理193eおよび書き込み処理193fの欄には、それぞれ、各ストレージ装置におけるシーケンシャル・アクセスによる読み出し処理および書き込み処理の際の時間帯別パトロール性能を示す情報が格納される。ランダム・アクセスの場合の読み出し処理193gおよび書き込み処理193hの欄には、それぞれ、各ストレージ装置におけるランダム・アクセスによる読み出し処理および書き込み処理の際の時間帯別パトロール性能を示す情報が格納される。
ストレージノード100,200,300,400は、図11に示すパトロール処理の実行時、および図13に示す冗長パトロール処理の実行時に、対応付けられているストレージ装置110,210,310,410からパトロール性能を収集し、それぞれが備えるRAMのパトロール性能テーブル191,192,193に格納する。
また、ストレージ装置110,210,310,410のパトロール性能として、例えば、応答時間など、その他の性能を用いてもよい。
ここで、パトロール性能とパトロール流量との関係について説明する。図7〜図9に示すパトロール性能テーブル191,192,193に格納されているパトロール性能に基づいて、例えば、以下の(例1)〜(例3)に示すようなポリシーに従い、ストレージノード100により、パトロール流量が決定される。ここでは、“Seq-R”は、シーケンシャル・アクセスによる読み出しであり、“Seq-W”は、シーケンシャル・アクセスによる書き込みである。また、“Ran-R”は、ランダム・アクセスによる読み出しであり、“Ran-W”は、ランダム・アクセスによる書き込みである。
(例1)「アクセスに影響を与えない範囲で可能なかぎりパトロールを行う」場合
パトロール処理の実行開始前の1分間の平均アクセスが、
Seq-R 10[MB/s]
Seq-W 0[MB/s]
Ran-R 100[IOPS]
Ran-W 0[IOPS]
であり、ストレージ装置110の最大性能が、
Seq-R 50[MB/s]
Seq-W 50[MB/s]
Ran-R 500[IOPS]
Ran-W 500[IOPS]
である場合、シーケンシャル・アクセスの読み出しで、ストレージ装置110の最大性能の20%を占めており、ランダム・アクセスの読み出しで、最大性能の20%を占めている。このため、パトロール処理に対しては、ストレージ装置110の最大性能の60%を割り当てることができる。
ここで、パトロール処理では、シーケンシャル・アクセスの読み出しおよび書き込みが平行して行われる。このため、パトロール流量は、それぞれ、シーケンシャル・アクセスの読み出しおよび書き込みに対して割り当て可能な60%の二分の一となり、15[MB/s]となる。
(例2)「ランダム・アクセスが性能の50%を超えているときには、アクセスに影響を与えない範囲で可能なかぎりパトロールを行い、50%以下の場合にはパトロール処理に性能の20%を費やすようにする」場合
パトロール処理の実行開始前の1分間の平均アクセスが、
Seq-R 20[MB/s]
Seq-W 0[MB/s]
Ran-R 100[IOPS]
Ran-W 100[IOPS]
であり、性能値が、
Seq-R 50[MB/s]
Seq-W 50[MB/s]
Ran-R 500[IOPS]
Ran-W 500[IOPS]
である場合、ランダム・アクセスは、読み出しおよび書き込みにおいて、それぞれパトロール性能の20%を占めている。このランダム・アクセスの読み出しおよび書き込みは、合わせてストレージ装置110の最大性能の40%を占めている。すなわち、この時点のランダム・アクセスは、ストレージ装置110の最大性能の50%以下である。
ここで、パトロール処理では、シーケンシャル・アクセスの読み出しおよび書き込みが平行して行われる。このため、ディスク性能の20%を割り当てると、10[MB/s]となることから、パトロール流量は、その二分の一の[MB/s] となる。
(例3)「アクセス状況に関係なく、常に1[MB/s]でパトロール処理を行う」場合
パトロール流量は、常に1[MB/s]となる。
次に、ストレージ装置の記憶領域において、パトロール性能が測定される分割単位およびパトロール処理が実行される分割単位の関係について説明する。図10は、パトロール処理の実行時におけるストレージ装置の領域の分割を示す図である。ここでは、ストレージ装置110の有する記憶領域を一体として、記憶領域116として説明する。
図10に示す、ストレージ装置110の記憶領域116は、パトロール性能の測定の際の分割単位である複数の測定単位116a,116b,116c,116d,・・・,116nに分割されている。図8に示す領域別パトロール性能は、この測定単位116a,116b,116c,116d,・・・,116nごとに測定される。
また、記憶領域116は、さらに、パトロール処理が実行される際の分割単位である複数の実行単位116a1,116a2,・・・,116anに分割されている。後述する図11に示すパトロール処理および図14に示す冗長パトロール処理は、この実行単位116a1,116a2,・・・,116anごとに処理が進められ、パトロール流量の規制が行われる。
次に、本実施の形態のストレージノードにおいて実行される処理の手順について説明する。まず、本実施の形態のストレージノードにおいて実行されるパトロール処理について説明する。図11は、パトロール処理の手順を示すフローチャートである。
本実施の形態のストレージノード100では、例えば、ストレージシステムの起動時、ストレージノードまたはストレージ装置の起動時、所定の時間の経過時などに、このパトロール処理の実行が開始される。なお、パトロール処理は、ストレージ装置について記憶領域に異常がないかチェックするためにパトロールを行う処理である。
以下に、図11に従って、ストレージノード100が、ストレージ装置110についてパトロールを行う場合について説明する。ここでは、ストレージノード100の起動時において、ストレージ装置110の全領域についてパトロールが行われる場合に基づいて説明する。ストレージノード100の起動時において、ストレージノード100は、ストレージ装置110の全領域が正常に読み書き可能であるか否かを診断するパトロール処理を実行するために、パトロール処理を呼び出す。
[ステップS11]ストレージノード100は、パトロール流量を設定する。このパトロール流量(図6参照)は、上記のように、パトロール処理が行われる速さを調整するための条件である。ここで、ストレージノード100は、パトロール性能として、全体パトロール性能(例えば、図6に示す全体パトロール性能111p,211p)、領域別パトロール性能(例えば、図6に示す領域別パトロール性能112p)、および時間帯別パトロール性能(例えば、図6に示す時間帯別パトロール性能113p)を用いることができる。ストレージノード100が各ストレージ装置に対していずれのパトロール性能を用いるかについては、各ストレージ装置のハードウェア特性、使用状況に合わせて予め管理者などにより設定される。
例えば、記憶領域によってパトロール性能が大きく異なるストレージ装置については、各領域ごとのパトロール性能を示す領域別パトロール性能を用いる。また、時間帯によって使用状況に偏りがあるストレージ装置については、時間帯ごとのパトロール性能を示す時間帯別パトロール性能を用いる。また、パトロール性能が変化しないストレージ装置については、全体パトロール性能を用いる。ストレージノード100は、これらのパトロール性能を予め測定しておき、パトロール処理の実行時に処理の実行対象のストレージ装置が有するHDDのパトロール性能を取得する。そして、ストレージノード100は、取得したパトロール性能を、そのストレージ装置における各HDDのパトロール流量として設定する。
[ステップS12]ストレージノード100は、ストレージ装置110について記憶領域の実行単位ごとにパトロールするパトロール単位実行処理を実行する。詳しくは、図12に示すパトロール単位実行処理において後述する。また、ストレージノード100は、後述する指定時間の起算点とするために、パトロール単位実行処理の実行開始時に、時刻情報を取得する。
[ステップS13]ストレージノード100は、ステップS11において設定されたパトロール流量以下でパトロールが実行されているか否かを判定する。ストレージノード100は、設定されたパトロール流量を超えていれば、ステップS14に処理を進める一方、設定されたパトロール流量以下であれば、ステップS15に処理を進める。
ステップS13において、具体的には、ストレージノード100は、実行単位(図10参照)ごとのパトロール処理の時間間隔が、設定された指定時間以下であるか否かを判定する。
ここで、指定時間は、パトロール処理がストレージシステムに与える負荷を調整するべく、実行単位ごとのパトロール処理の時間間隔が一定時間以上になるように規制するための値である。この指定時間は、HDDのパトロール性能が高ければパトロール流量を増加(パトロール処理の速さの制限を緩和)させ、パトロール性能が低ければパトロール流量を低下(パトロール処理の速さの制限を強化)させるものを用いることができる。
本実施の形態では、指定時間を、以下の関係式を用いて算出する。
指定時間[s]=実行単位[MB]/パトロール性能[MB/s] (1)
具体的には、例えば、あるHDDの全体パトロール性能が10[MB/s]の場合において、このHDDの実行単位が1[MB]のときは、指定時間は、1[MB]/10[MB/s]=0.1[s]となる。
本実施の形態のストレージノード100は、以上のように指定時間をこのように算出する。そして、ストレージノード100は、直近のパトロール単位実行処理(S12)の開始時点から起算して指定時間が経過していれば、「設定流量以下である」と判定する一方、前回のパトロール処理の開始時点から指定時間が経過していなければ、「設定流量を超えた」と判定する。
[ステップS14]ストレージノード100は、直近のパトロール単位実行処理の開始時点から起算して指定時間が経過するまでステップS14において処理を待機する。ストレージノード100は、指定時間が経過した後、ステップS15に処理を進める。
具体的には、ストレージノード100は、前回のパトロール処理が終了してから一定時間(例えば、0.1秒)経過するまで、ステップS14において処理を待機する。
[ステップS15]ストレージノード100は、ステップS12のパトロール単位実行処理が、ストレージ装置110のすべての実行単位について実行されたか否かを判定する。ストレージノード100は、すべての実行単位について実行されていなければ、ステップS12に処理を進める一方、すべての実行単位について実行されていれば、処理を終了する。
次に、上記のパトロール処理(図11参照)のステップS12において実行されるパトロール単位実行処理の詳細について説明する。図12は、パトロール単位実行処理の手順を示すフローチャートである。ここでは、図11に示すパトロール処理と同様、ストレージノード100の起動時において、ストレージ装置110の全領域についてパトロールが行われる場合に基づいて説明する。
[ステップS21]ストレージノード100は、ストレージ装置110の記憶領域における現在のパトロール対象の実行単位に格納されているデータを読み出す。
[ステップS22]ストレージノード100は、ステップS21における読み出しに成功したか否かを判定する。ストレージノード100は、読み出しに成功していれば、ステップS23に処理を進める一方、読み出しに失敗していれば、ステップS24に処理を進める。
[ステップS23]ストレージノード100は、ステップS21において読み出したデータを、ステップS21においてデータを読み出した記憶領域に書き込む。その後、ストレージノード100は、パトロール単位実行処理を終了してパトロール処理に復帰する。
[ステップS24]ストレージノード100は、ステップS21において読み出したデータと対応する冗長データを、冗長データが記憶されているストレージ装置から読み出して、ステップS21においてデータを読み出した記憶領域に書き込む。その後、ストレージノード100は、パトロール単位実行処理を終了してパトロール処理に復帰する。
以上のようにして、本実施の形態のストレージノード100は、パトロール処理を実行することにより、ストレージ装置110の記憶領域が正常に稼動していること、すなわち、ストレージ装置110の記憶領域に正常に読み書きできることを確認する。また、パトロール処理を自律的に調整して実行することで、パトロール処理に基づくストレージシステムの負荷を規制する。この結果、パトロール処理の実行に基づく負荷による、ストレージ装置へのアクセスに対する影響を抑えつつ、ストレージシステムの信頼性を高めることができる。
次に、本実施の形態のストレージノード100で実行される冗長パトロールについて説明する。本実施の形態のストレージノード100では、上記のパトロール処理に加えて、冗長パトロール処理が実行される。この冗長パトロール処理は、ストレージ装置110に記憶されているデータをバックアップするためにそのデータと同一の内容である冗長データがストレージ装置110と二重化されている他のストレージ装置(例えば、ストレージ装置210)に記憶されている場合には、ストレージ装置110に記憶されているデータと、そのデータに対応する冗長データの整合性について確認する処理である。
本実施の形態のストレージノード100では、冗長パトロール処理をストレージノード100の起動時および定期的に実行する。このとき、冗長パトロール処理は、ストレージシステムに対する負荷を調整するために、冗長パトロール性能に基づいて実行される。
次に、本実施の形態の冗長パトロール性能の測定について説明する。
図13は、冗長パトロール性能の測定の様子を示す図である。以下、図13に従って、本実施の形態のストレージノード100による冗長パトロール性能の取得について説明する。
本実施の形態における冗長パトロール処理の目的は、ストレージ装置110の記憶領域に記憶されているデータが、対応する冗長データと整合し、冗長構成が維持されていること、すなわち、ストレージ装置110の記憶されているデータが二重化されているストレージ装置によって正常にバックアップされていることを確認することである。そのため、本実施の形態のストレージノードは、冗長パトロール処理によって、ストレージ装置110内の記憶領域全体にわたってデータを読み出し、さらにそのデータを書き込む処理を実行する。
また、パトロール処理と同様、この冗長パトロール処理がストレージシステムに与える負荷をコントロールするために、そのコントロールの基準とするべく、冗長パトロール処理の処理性能を示すパトロール性能である冗長パトロール性能を測定する。このとき、冗長構成をとるストレージ装置を管理するストレージノード間で、協調して冗長パトロール処理を進める必要があるため、パトロール性能としてノード間の冗長構成も考慮に入れた値である冗長パトロール性能を測定し、それを冗長パトロール処理における処理の速さ(冗長パトロール流量)の調整に用いる。
各ストレージノードでは、ストレージノードの起動時または定期的に、ストレージ装置全体またはストレージ装置の記憶領域のうちの特定の領域について、二重化された他方のストレージ装置を管理するストレージノードと協調して、冗長パトロール性能を測定する。また、各ストレージノードは、測定により得られた冗長パトロール性能を、それぞれのストレージノードが有するRAM(例えば、RAM102など)に格納する。
図13は、ストレージノード100が管理するストレージ装置110のHDD111とストレージノード200が管理するストレージ装置210のHDD211とが二重化(RAID1)構成となっているときの冗長パトロール性能511pを測定する場合の測定の様子について図示したものである。この場合、ストレージノード100,200は、冗長パトロール性能511pのように、HDD111,211の二つのHDDの組ごとに一つの冗長パトロール性能値を保持する。
次に、本実施の形態のストレージノードにおいて実行される冗長パトロール処理について説明する。冗長パトロール処理は、ストレージ装置に記憶されているデータと、冗長構成のストレージ装置に記憶されている冗長データとの整合性をチェックするためにパトロールを行う処理である。図14は、冗長パトロール処理の手順を示すフローチャートである。
以下に、図14に従って、ストレージノード100が、ストレージノード200とともに、ストレージ装置110および冗長構成のストレージ装置210について冗長パトロールを行う場合について説明する。この冗長パトロール処理は、二重化されたストレージ装置のうちの一方のストレージ装置(例えば、ストレージ装置110)を管理するストレージノード(例えば、ストレージノード100)が主導して実行するが、他方のストレージ装置(例えば、ストレージ装置210)を管理するストレージノード(例えば、ストレージノード200)と協調して処理が進められる。ここでは、ストレージノード100の起動時におけるパトロール処理が実行された後、ストレージ装置110の全領域、およびこれに冗長構成として関係付けられているストレージ装置210の全領域についてパトロールが行われる場合に基づいて説明する。
ストレージノード100の起動時においてパトロール処理が実行された後、ストレージノード100は、ストレージ装置110の全領域が、ストレージ装置110のデータと冗長構成として関係付けられたストレージ装置210のデータとの間で、整合性を有しているか否かを診断する冗長パトロール処理を実行するために、冗長パトロール処理を呼び出す。
[ステップS31]ストレージノード100は、パトロール処理を実行する二重化されたHDDの組に対応する冗長パトロール流量(図13参照)を設定する。
[ステップS32]ストレージノード100は、ストレージ装置110について記憶領域の実行単位ごとにパトロールするとともに、ストレージ装置210を管理するストレージノードがストレージ装置210をパトロールしたパトロール結果を受信して、両者の整合性をチェックする冗長パトロール単位実行処理を実行する。詳しくは、図15に示す冗長パトロール単位実行処理において後述する。また、ストレージノード100は、後述する指定時間の起算点とするために、冗長パトロール単位実行処理の実行開始時に、時刻情報を取得する。
[ステップS33]ストレージノード100は、パトロール処理のステップS13と同様に、ステップS31において設定されたパトロール流量以下で冗長パトロールが実行されているか否かを判定する。ストレージノード100は、設定されたパトロール流量を超えていれば、ステップS34に処理を進める一方、設定されたパトロール流量以下であれば、ステップS35に処理を進める。
[ステップS34]ストレージノード100は、直近の冗長パトロール単位実行処理(ステップS32)の開始時点から起算して指定時間が経過するまでステップS34において処理を待機する。ストレージノード100は、指定時間が経過した後、ステップS35に処理を進める。
[ステップS35]ストレージノード100は、ステップS32の冗長パトロール単位実行処理が、ストレージ装置110のすべての実行単位について実行されたか否かを判定する。ストレージノード100は、すべての実行単位について実行されていなければ、ステップS32に処理を進める一方、すべての実行単位について実行されていれば、処理を終了する。
次に、上記の冗長パトロール処理(図14参照)のステップS32において実行される冗長パトロール単位実行処理の詳細について説明する。図15は、冗長パトロール単位実行処理の手順を示すシーケンス図である。ここでは、ストレージノード100の起動時におけるパトロール処理が実行された後、ストレージ装置110の全領域、およびこれに冗長構成として関係付けられているストレージ装置210の全領域についてパトロールが行われる場合に基づいて説明する。
[ステップS41]ストレージノード100は、冗長構成としてストレージ装置110と関係付けられたストレージ装置210を管理するストレージノード200に対して、ストレージ装置210に対する冗長パトロール処理の開始を要求する冗長パトロール要求を送信する。このとき、ストレージノード100は、併せて、ストレージノード200に対して、冗長パトロール処理の対象であるストレージ装置210の実行単位を特定するための情報を送信する。
[ステップS42]ストレージノード100は、ストレージ装置110の記憶領域における現在のパトロール対象の実行単位に格納されているデータを読み出す。
[ステップS43]ストレージノード100は、ストレージノード200から送信された、ストレージ装置210に記憶されていた冗長データを受信する。
[ステップS44]ストレージノード100は、ステップS42において読み出したデータとステップS43で受信したデータの整合性をチェックする。
[ステップS45]ストレージノード100は、ステップS44において行った整合性のチェック結果を、ストレージノード200に送信する。
[ステップS46]ストレージノード100は、ステップS44において行った整合性のチェック結果を、ストレージノード100のRAM102に保存する。その後、ストレージノード100は、冗長パトロール単位実行処理を終了して冗長パトロール処理に復帰する。
[ステップS51]ストレージノード200は、ステップS41においてストレージノード100から送信された冗長パトロール要求を受信する。このとき、ストレージノード200は、併せて送信された情報から、冗長パトロール処理の対象であるストレージ装置210の実行単位を特定する。
[ステップS52]ストレージノード200は、ストレージ装置210の記憶領域におけるステップS51において特定された実行単位に格納されているデータを読み出す。このデータは、ストレージ装置110に記憶されている、冗長パトロールの対象であるデータの冗長データである。
[ステップS53]ストレージノード200は、ステップS52においてストレージ装置210から読み出した冗長データを、ストレージノード100に対して送信する。
[ステップS54]ストレージノード200は、ステップS45においてストレージノード100から送信された整合性のチェック結果を受信する。
[ステップS55]ストレージノード200は、ステップS54において受信した整合性のチェック結果を、ストレージノード200のRAM(図示省略)に保存する。その後、ストレージノード200は、処理を終了する。
以上のようにして、本実施の形態のストレージノードは、冗長パトロール処理を実行することにより、ストレージノード間で冗長構成をとっている場合に、各ノードのデータが正しく冗長構成を保持しているか否かを診断することができる。
以上、本発明のストレージ管理装置、ストレージ管理プログラムおよびストレージシステムを、図示の実施の形態に基づいて説明したが、上記については単に本発明の原理を示すものである。本発明は上記に示し、説明した正確な構成および応用例に限定されるものではなく、さらに、多数の変形、変更が当業者にとって可能であり、対応するすべての変形例および均等物は、添付の請求項およびその均等物による本発明の範囲とみなされ、各部の構成は同様の機能を有する任意の構成のものに置換することができる。また、本発明に他の任意の構成物や行程が付加されてもよい。また、本発明は前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、ストレージノード100,200,300,400、管理ノード30、端末装置21,22,23、コントロールノード500およびアクセスノード600が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体には、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、HDD、フレキシブルディスク(FD)、磁気テープ(MT)などがある。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc - Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。光磁気記録媒体には、MO(Magneto - Optical disk)などがある。
上記プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータに格納しておき、ネットワークを通じて、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
上記プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラム若しくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
以上の実施の形態に関し、さらに以下の付記を開示する。
(付記1) データをネットワークで接続された複数のストレージ装置に分散して記憶するストレージシステムにおけるストレージ装置を管理するストレージ管理装置において、
前記ストレージ装置の記憶領域が正常に稼動していることを確認するパトロール処理を実行するパトロール処理実行手段と、
前記パトロール処理実行手段によって実行されている前記パトロール処理の速さであるパトロール流量を規制するパトロール流量規制手段と、
を有することを特徴とするストレージ管理装置。
(付記2) 前記ストレージ装置と、当該ストレージ装置に記憶されている前記データと同一内容の冗長データを記憶している二重化ストレージ装置とを対応付ける管理情報を記憶する管理情報記憶手段を有し、
前記パトロール処理実行手段は、さらに、前記パトロール処理において、前記管理情報記憶手段に記憶されている前記管理情報を参照して、前記ストレージ装置に記憶されている前記データと、前記二重化ストレージ装置に記憶されている前記データと同一内容の前記冗長データとを読み出し、読み出した前記データと前記冗長データとを比較することによって、比較した前記データと前記冗長データとが一致することを確認することを特徴とする付記1記載のストレージ管理装置。
(付記3) 前記ストレージ装置における読み出し処理と書き込み処理との処理性能を示すパトロール性能を測定するパトロール性能測定手段を有し、
前記パトロール流量規制手段は、前記パトロール性能測定手段によって測定された前記パトロール性能に基づいて前記パトロール流量設定値を決定し、決定した当該パトロール流量設定値を超えないように前記パトロール流量を規制することを特徴とする付記1記載のストレージ管理装置。
(付記4) 前記パトロール性能測定手段は、前記ストレージ装置の記憶領域が複数に区分された領域である測定単位領域ごとに、前記パトロール性能を測定し、
前記パトロール処理実行手段は、前記パトロール処理を、前記ストレージ装置の記憶領域が前記測定単位領域からさらに複数に区分された領域である実行単位領域ごとに実行し、
前記パトロール流量規制手段は、前記実行単位領域ごとに前記パトロール処理の前記パトロール流量を規制することを特徴とする付記1記載のストレージ管理装置。
(付記5) 現在の時刻を示す時刻情報を取得する時刻情報取得手段を有し、
前記パトロール性能測定手段は、前記時刻情報取得手段によって取得された前記時刻情報が示す時刻が属する時間帯ごとに、測定した前記パトロール性能を複数種類保持し、
前記パトロール流量規制手段は、前記時刻情報取得手段によって取得された前記時刻情報が示す前記現在の時刻に基づいて、前記パトロール性能測定手段が保持する前記パトロール性能から前記現在の時刻が属する時間帯に対応する前記パトロール性能を選択し、選択した当該パトロール性能に基づいて前記パトロール流量設定値を決定し、決定した当該パトロール流量設定値を超えないように前記パトロール流量を規制することを特徴とする付記3記載のストレージ管理装置。
(付記6) 前記ストレージ装置と、当該ストレージ装置に記憶されている前記データと同一内容の冗長データを記憶している二重化ストレージ装置とを対応付ける管理情報を記憶する管理情報記憶手段を有し、
前記パトロール処理実行手段は、前記パトロール処理として、前記管理情報記憶手段に記憶されている前記管理情報を参照して、前記二重化ストレージ装置に記憶されている前記データと同一内容の前記冗長データとを読み出し、読み出した前記冗長データを前記ストレージ装置内の前記データの記憶領域に対して上書きで書き込む処理を実行することを特徴とする付記1記載のストレージ管理装置。
(付記7) コンピュータに、データをネットワークで接続された複数のストレージ装置に分散して記憶するストレージシステムにおけるストレージ装置の管理処理を実行させるストレージ管理プログラムにおいて、
前記コンピュータを、
前記ストレージ装置の記憶領域が正常に稼動していることを確認するパトロール処理を実行するパトロール処理実行手段、
前記パトロール処理実行手段によって実行されている前記パトロール処理の速さであるパトロール流量を規制するパトロール流量規制手段、
として機能させることを特徴とするストレージ管理プログラム。
(付記8) データをネットワークで接続された複数のストレージ装置に分散して記憶し、前記ストレージ装置を管理するストレージ管理装置を有するストレージシステムにおいて、
前記ストレージ装置と、当該ストレージ装置に記憶されている前記データと同一内容の冗長データを記憶している二重化ストレージ装置とを対応付ける管理情報を記憶する管理情報記憶手段を有し、
前記ストレージ管理装置は、
前記ストレージ装置の記憶領域が正常に稼動していることを確認するパトロール処理を実行するパトロール処理実行手段と、
前記パトロール処理実行手段によって実行されている前記パトロール処理の速さであるパトロール流量を規制するパトロール流量規制手段と、
を有し、
前記パトロール処理実行手段は、さらに、前記パトロール処理において、前記管理情報記憶手段に記憶されている前記管理情報を参照して、前記ストレージ装置に記憶されている前記データと、前記二重化ストレージ装置に記憶されている前記データと同一内容の前記冗長データとを読み出し、読み出した前記データと前記冗長データとを比較することによって、比較した前記データと前記冗長データとが一致することを確認することを特徴とするストレージシステム。
本実施の形態の概要を示す図である。 本実施の形態のシステム構成を示す図である。 ストレージノードのハードウェア構成を示す図である。 論理ボリュームのデータ構造を示す図である。 ストレージノードの機能を示すブロック図である。 パトロール性能の測定の様子を示す図である。 ストレージ装置ごとのパトロール性能の測定結果を格納したパトロール性能テーブルのデータ構造を示す図である。 分割された領域ごとのストレージ装置のパトロール性能の測定結果を格納したパトロール性能テーブルのデータ構造を示す図である。 時間帯ごとのストレージ装置のパトロール性能の測定結果を格納したパトロール性能テーブルのデータ構造を示す図である。 パトロール処理の実行時におけるストレージ装置の領域の分割を示す図である。 パトロール処理の手順を示すフローチャートである。 パトロール単位実行処理の手順を示すフローチャートである。 冗長パトロール性能の測定の様子を示す図である。 冗長パトロール処理の手順を示すフローチャートである。 冗長パトロール単位実行処理の手順を示すシーケンス図である。
符号の説明
1 ストレージ管理装置
1a パトロール処理実行手段
1b パトロール流量規制手段
2 ストレージ装置
2a 記憶領域

Claims (7)

  1. データをネットワークで接続された複数のストレージ装置に分散して記憶するストレージシステムにおけるストレージ装置を管理するストレージ管理装置において、
    前記ストレージ装置の記憶領域が正常に稼動していることを確認するパトロール処理を実行するパトロール処理実行手段と、
    前記ストレージ装置における読み出し処理と書き込み処理との処理性能を示すパトロール性能を測定するパトロール性能測定手段と、
    前記パトロール性能測定手段によって測定された前記パトロール性能に基づいてパトロール流量設定値を決定し、決定した当該パトロール流量設定値を超えないように、前記パトロール処理実行手段によって実行されている前記パトロール処理の速さであるパトロール流量を規制するパトロール流量規制手段と、
    を有することを特徴とするストレージ管理装置。
  2. 前記ストレージ装置と、当該ストレージ装置に記憶されている前記データと同一内容の冗長データを記憶している二重化ストレージ装置とを対応付ける管理情報を記憶する管理情報記憶手段を有し、
    前記パトロール処理実行手段は、さらに、前記パトロール処理において、前記管理情報記憶手段に記憶されている前記管理情報を参照して、前記ストレージ装置に記憶されている前記データと、前記二重化ストレージ装置に記憶されている前記データと同一内容の前記冗長データとを読み出し、読み出した前記データと前記冗長データとを比較することによって、比較した前記データと前記冗長データとが一致することを確認することを特徴とする請求項1記載のストレージ管理装置。
  3. 前記パトロール性能測定手段は、前記ストレージ装置の記憶領域が複数に区分された領域である測定単位領域ごとに、前記パトロール性能を測定し、
    前記パトロール処理実行手段は、前記パトロール処理を、前記ストレージ装置の記憶領域が前記測定単位領域からさらに複数に区分された領域である実行単位領域ごとに実行し、
    前記パトロール流量規制手段は、前記実行単位領域ごとに前記パトロール処理の前記パトロール流量を規制することを特徴とする請求項1記載のストレージ管理装置。
  4. 現在の時刻を示す時刻情報を取得する時刻情報取得手段を有し、
    前記パトロール性能測定手段は、前記時刻情報取得手段によって取得された前記時刻情報が示す時刻が属する時間帯ごとに、測定した前記パトロール性能を複数種類保持し、
    前記パトロール流量規制手段は、前記時刻情報取得手段によって取得された前記時刻情報が示す前記現在の時刻に基づいて、前記パトロール性能測定手段が保持する前記パトロール性能から前記現在の時刻が属する時間帯に対応する前記パトロール性能を選択し、選択した当該パトロール性能に基づいて前記パトロール流量設定値を決定し、決定した当該パトロール流量設定値を超えないように前記パトロール流量を規制することを特徴とする請求項1記載のストレージ管理装置。
  5. 前記ストレージ装置と、当該ストレージ装置に記憶されている前記データと同一内容の冗長データを記憶している二重化ストレージ装置とを対応付ける管理情報を記憶する管理情報記憶手段を有し、
    前記パトロール処理実行手段は、前記パトロール処理として、前記管理情報記憶手段に記憶されている前記管理情報を参照して、前記二重化ストレージ装置に記憶されている前記データと同一内容の前記冗長データとを読み出し、読み出した前記冗長データを前記ストレージ装置内の前記データの記憶領域に対して上書きで書き込む処理を実行することを特徴とする請求項記載のストレージ管理装置。
  6. コンピュータに、データをネットワークで接続された複数のストレージ装置に分散して記憶するストレージシステムにおけるストレージ装置の管理処理を実行させるストレージ管理プログラムにおいて、
    前記コンピュータを、
    前記ストレージ装置の記憶領域が正常に稼動していることを確認するパトロール処理を実行するパトロール処理実行手段、
    前記ストレージ装置における読み出し処理と書き込み処理との処理性能を示すパトロール性能を測定するパトロール性能測定手段、
    前記パトロール性能測定手段によって測定された前記パトロール性能に基づいてパトロール流量設定値を決定し、決定した当該パトロール流量設定値を超えないように、前記パトロール処理実行手段によって実行されている前記パトロール処理の速さであるパトロール流量を規制するパトロール流量規制手段、
    として機能させることを特徴とするストレージ管理プログラム。
  7. データをネットワークで接続された複数のストレージ装置に分散して記憶し、前記ストレージ装置を管理するストレージ管理装置を有するストレージシステムにおいて、
    前記ストレージ装置と、当該ストレージ装置に記憶されている前記データと同一内容の冗長データを記憶している二重化ストレージ装置とを対応付ける管理情報を記憶する管理情報記憶手段を有し、
    前記ストレージ管理装置は、
    前記ストレージ装置の記憶領域が正常に稼動していることを確認するパトロール処理を実行するパトロール処理実行手段と、
    前記ストレージ装置における読み出し処理と書き込み処理との処理性能を示すパトロール性能を測定するパトロール性能測定手段と、
    前記パトロール性能測定手段によって測定された前記パトロール性能に基づいてパトロール流量設定値を決定し、決定した当該パトロール流量設定値を超えないように、前記パトロール処理実行手段によって実行されている前記パトロール処理の速さであるパトロール流量を規制するパトロール流量規制手段と、
    を有し、
    前記パトロール処理実行手段は、さらに、前記パトロール処理において、前記管理情報記憶手段に記憶されている前記管理情報を参照して、前記ストレージ装置に記憶されている前記データと、前記二重化ストレージ装置に記憶されている前記データと同一内容の前記冗長データとを読み出し、読み出した前記データと前記冗長データとを比較することによって、比較した前記データと前記冗長データとが一致することを確認することを特徴とするストレージシステム。
JP2007328396A 2007-12-20 2007-12-20 ストレージ管理装置、ストレージ管理プログラムおよびストレージシステム Expired - Fee Related JP4606455B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2007328396A JP4606455B2 (ja) 2007-12-20 2007-12-20 ストレージ管理装置、ストレージ管理プログラムおよびストレージシステム
US12/331,662 US8156381B2 (en) 2007-12-20 2008-12-10 Storage management apparatus and storage system
EP08171536A EP2093670A3 (en) 2007-12-20 2008-12-12 Storage management apparatus and storage system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007328396A JP4606455B2 (ja) 2007-12-20 2007-12-20 ストレージ管理装置、ストレージ管理プログラムおよびストレージシステム

Publications (2)

Publication Number Publication Date
JP2009151519A JP2009151519A (ja) 2009-07-09
JP4606455B2 true JP4606455B2 (ja) 2011-01-05

Family

ID=40790112

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007328396A Expired - Fee Related JP4606455B2 (ja) 2007-12-20 2007-12-20 ストレージ管理装置、ストレージ管理プログラムおよびストレージシステム

Country Status (3)

Country Link
US (1) US8156381B2 (ja)
EP (1) EP2093670A3 (ja)
JP (1) JP4606455B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10529730B2 (en) 2017-09-07 2020-01-07 Toshiba Memory Corporation Memory system

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5531656B2 (ja) * 2010-02-08 2014-06-25 富士通株式会社 ストレージ装置、パトロール方法、パトロールプログラム及びストレージシステム
US9767098B2 (en) 2012-08-08 2017-09-19 Amazon Technologies, Inc. Archival data storage system
US9251097B1 (en) 2011-03-22 2016-02-02 Amazon Technologies, Inc. Redundant key management
US9213709B2 (en) 2012-08-08 2015-12-15 Amazon Technologies, Inc. Archival data identification
US9563681B1 (en) 2012-08-08 2017-02-07 Amazon Technologies, Inc. Archival data flow management
JP2012247817A (ja) * 2011-05-25 2012-12-13 Fujitsu Ltd ストレージ制御装置、ストレージ装置及びパトロール診断方法
JP5821445B2 (ja) * 2011-09-09 2015-11-24 富士通株式会社 ディスクアレイ装置及びディスクアレイ装置制御方法
JP5938965B2 (ja) 2012-03-19 2016-06-22 富士通株式会社 マルチノードストレージシステムのノード装置および処理速度管理方法
JP6191604B2 (ja) * 2012-07-04 2017-09-06 富士通株式会社 情報処理装置、アクセス制御プログラム、およびアクセス制御方法
US9354683B2 (en) 2012-08-08 2016-05-31 Amazon Technologies, Inc. Data storage power management
US10120579B1 (en) 2012-08-08 2018-11-06 Amazon Technologies, Inc. Data storage management for sequentially written media
US8959067B1 (en) 2012-08-08 2015-02-17 Amazon Technologies, Inc. Data storage inventory indexing
US9779035B1 (en) 2012-08-08 2017-10-03 Amazon Technologies, Inc. Log-based data storage on sequentially written media
US9250811B1 (en) 2012-08-08 2016-02-02 Amazon Technologies, Inc. Data write caching for sequentially written media
US9092441B1 (en) * 2012-08-08 2015-07-28 Amazon Technologies, Inc. Archival data organization and management
US8805793B2 (en) 2012-08-08 2014-08-12 Amazon Technologies, Inc. Data storage integrity validation
US9652487B1 (en) 2012-08-08 2017-05-16 Amazon Technologies, Inc. Programmable checksum calculations on data storage devices
US9904788B2 (en) 2012-08-08 2018-02-27 Amazon Technologies, Inc. Redundant key management
US9830111B1 (en) 2012-08-08 2017-11-28 Amazon Technologies, Inc. Data storage space management
US9225675B2 (en) 2012-08-08 2015-12-29 Amazon Technologies, Inc. Data storage application programming interface
US10558581B1 (en) 2013-02-19 2020-02-11 Amazon Technologies, Inc. Systems and techniques for data recovery in a keymapless data storage system
JP6222227B2 (ja) 2013-05-20 2017-11-01 日本電気株式会社 ストレージノード、ストレージノード管理装置、ストレージノード論理容量設定方法、プログラム、記録媒体および分散データストレージシステム
US9081828B1 (en) 2014-04-30 2015-07-14 Igneous Systems, Inc. Network addressable storage controller with storage drive profile comparison
US8935567B1 (en) * 2014-04-30 2015-01-13 Igneous Systems, Inc. Network addressable storage controller with storage drive profile comparison
EP3113028B1 (en) * 2014-04-30 2018-10-31 Huawei Technologies Co., Ltd. Method, device, and system for interaction between hard disk drives
USRE48835E1 (en) 2014-04-30 2021-11-30 Rubrik, Inc. Network addressable storage controller with storage drive profile comparison
US9116833B1 (en) 2014-12-18 2015-08-25 Igneous Systems, Inc. Efficiency for erasure encoding
US9361046B1 (en) 2015-05-11 2016-06-07 Igneous Systems, Inc. Wireless data storage chassis
US11386060B1 (en) 2015-09-23 2022-07-12 Amazon Technologies, Inc. Techniques for verifiably processing data in distributed computing systems
JP6224186B1 (ja) * 2016-08-01 2017-11-01 株式会社東芝 Raidストレージシステム、ストレージコントローラ及びraidアレイパトロール方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004104845A1 (ja) * 2003-05-21 2004-12-02 Fujitsu Limited ストレージシステム
JP2005157933A (ja) * 2003-11-28 2005-06-16 Hitachi Ltd ストレージネットワークの性能情報を収集する方法およびプログラム

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2905373B2 (ja) 1993-10-01 1999-06-14 富士通株式会社 ディスク制御装置及びその制御方法
US5632012A (en) * 1993-11-24 1997-05-20 Storage Technology Corporation Disk scrubbing system
JPH07210325A (ja) * 1994-01-24 1995-08-11 Hitachi Ltd 二重化補助記憶装置の運用方式
JPH0962461A (ja) * 1995-08-29 1997-03-07 Shikoku Nippon Denki Software Kk ディスクアレイ装置における自動データ復旧方法
US6484269B1 (en) * 1995-11-09 2002-11-19 Emc Corporation Data storage system and method with improved data integrity value calculation
JPH09270794A (ja) 1996-03-29 1997-10-14 Mitsubishi Electric Corp ネットワーク管理装置
US5953352A (en) * 1997-06-23 1999-09-14 Micron Electronics, Inc. Method of checking data integrity for a raid 1 system
US7149935B1 (en) * 2002-12-17 2006-12-12 Ncr Corp. Method and system for managing detected corruption in stored data
JP4089427B2 (ja) 2002-12-26 2008-05-28 株式会社日立製作所 管理システム、管理計算機、管理方法及びプログラム
US7454569B2 (en) 2003-06-25 2008-11-18 Commvault Systems, Inc. Hierarchical system and method for performing storage operations in a computer network
US7137038B2 (en) * 2003-07-29 2006-11-14 Hitachi Global Storage Technologies Netherlands, B.V. System and method for autonomous data scrubbing in a hard disk drive
US7278067B1 (en) * 2004-04-30 2007-10-02 Network Appliance, Inc. Method and an apparatus for aggressively detecting media errors on storage devices with negligible performance impact
JP4837445B2 (ja) 2006-06-06 2011-12-14 株式会社日立製作所 記憶システム並びに管理装置及び方法
JP4767139B2 (ja) 2006-09-15 2011-09-07 富士通株式会社 ストレージ管理プログラム、ストレージ管理装置、およびストレージ管理方法
US7882323B2 (en) * 2007-09-07 2011-02-01 International Business Machines Corporation Scheduling of background scrub commands to reduce high workload memory request latency

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004104845A1 (ja) * 2003-05-21 2004-12-02 Fujitsu Limited ストレージシステム
JP2005157933A (ja) * 2003-11-28 2005-06-16 Hitachi Ltd ストレージネットワークの性能情報を収集する方法およびプログラム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10529730B2 (en) 2017-09-07 2020-01-07 Toshiba Memory Corporation Memory system
US10964712B2 (en) 2017-09-07 2021-03-30 Toshiba Memory Corporation Memory system
US11348934B2 (en) 2017-09-07 2022-05-31 Kioxia Corporation Memory system
US11696441B2 (en) 2017-09-07 2023-07-04 Kioxia Corporation Memory system
US12029031B2 (en) 2017-09-07 2024-07-02 Kioxia Corporation Memory system

Also Published As

Publication number Publication date
EP2093670A3 (en) 2010-09-29
EP2093670A2 (en) 2009-08-26
JP2009151519A (ja) 2009-07-09
US8156381B2 (en) 2012-04-10
US20090164844A1 (en) 2009-06-25

Similar Documents

Publication Publication Date Title
JP4606455B2 (ja) ストレージ管理装置、ストレージ管理プログラムおよびストレージシステム
US8234467B2 (en) Storage management device, storage system control device, storage medium storing storage management program, and storage system
JP5381336B2 (ja) 管理プログラム、管理装置および管理方法
US8464094B2 (en) Disk array system and control method thereof
US9348724B2 (en) Method and apparatus for maintaining a workload service level on a converged platform
JP5158074B2 (ja) ストレージ管理プログラム、ストレージ管理方法、ストレージ管理装置およびストレージシステム
US7457916B2 (en) Storage system, management server, and method of managing application thereof
JP5099128B2 (ja) ストレージ管理プログラム、ストレージ管理装置およびストレージ管理方法
US8458398B2 (en) Computer-readable medium storing data management program, computer-readable medium storing storage diagnosis program, and multinode storage system
JP5807458B2 (ja) ストレージシステム、ストレージ制御装置およびストレージ制御方法
US8601312B2 (en) Storage apparatus, controller, and method for allocating storage area in storage apparatus
JP5938965B2 (ja) マルチノードストレージシステムのノード装置および処理速度管理方法
US11221935B2 (en) Information processing system, information processing system management method, and program thereof
US8386837B2 (en) Storage control device, storage control method and storage control program
US8782465B1 (en) Managing drive problems in data storage systems by tracking overall retry time
CN111240903A (zh) 数据恢复方法及相关设备
JP5773446B2 (ja) 記憶装置、冗長性回復方法、およびプログラム
US11675514B2 (en) Method and system for tracking storage utilization
JP2009020703A (ja) ストレージ装置、ストレージ管理装置、ストレージ管理方法、およびストレージ管理プログラム
US20090319834A1 (en) Computer-readable storage medium storing storage management program, storage management method,and storage management apparatus
US11586516B2 (en) Storage system, storage device, and storage device management method
JP2023134170A (ja) 記憶媒体管理装置、記憶媒体管理方法および記憶媒体管理プログラム
US9189350B2 (en) Disk array control apparatus, disk array apparatus, and disk array control method

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091120

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091208

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100208

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20131015

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees