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

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

Info

Publication number
JP5245934B2
JP5245934B2 JP2009057306A JP2009057306A JP5245934B2 JP 5245934 B2 JP5245934 B2 JP 5245934B2 JP 2009057306 A JP2009057306 A JP 2009057306A JP 2009057306 A JP2009057306 A JP 2009057306A JP 5245934 B2 JP5245934 B2 JP 5245934B2
Authority
JP
Japan
Prior art keywords
load
storage
unit
node
logical volume
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
JP2009057306A
Other languages
English (en)
Other versions
JP2010211549A (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 JP2009057306A priority Critical patent/JP5245934B2/ja
Priority to US12/618,148 priority patent/US8281102B2/en
Publication of JP2010211549A publication Critical patent/JP2010211549A/ja
Application granted granted Critical
Publication of JP5245934B2 publication Critical patent/JP5245934B2/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
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • 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/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2206/00Indexing scheme related to dedicated interfaces for computers
    • G06F2206/10Indexing scheme related to storage interfaces for computers, indexing schema related to group G06F3/06
    • G06F2206/1012Load balancing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、ネットワークを介してストレージシステムを管理する管理装置の管理プログラム、管理装置、管理装置の管理方法およびストレージシステムに関する。
現在、コンピュータを用いたデータ処理が広く行われるようになり、データを保存・利用するためのストレージ技術が一層重要となっている。近年では、データ保存の高信頼化やデータ利用の高速化を図るため、分散ストレージシステムが構築されている。
分散ストレージシステムでは、複数のストレージノードとアクセスノードとがネットワークを介して接続される。ストレージノードは、記憶装置を備えており、データを記憶する。アクセスノードは、ストレージノードに記憶されたデータにアクセスする。アクセスノードは、複数のストレージノードにデータを分散して格納することができる。これにより、複数のストレージノードに負荷が分散されてシステムの高速化を図れる。また、アクセスノードは、データを冗長して複数のストレージノードに配置することもできる。これにより、データ保存の高信頼化を図れる。
なお、分散ストレージシステムでは、複数のストレージノードの記憶装置に跨って1つの論理的な記憶領域(論理ボリューム)を設けることもある。論理ボリュームは複数設けられ、例えば提供するサービスごとに使い分けることができる。このようにすると、複数のサービスで分散ストレージシステムの利点を享受できる。
ところで、システムの運用管理において、システムを構成するノードで発生する負荷の監視が行われる。負荷の監視により、負荷の集中しやすいノードや処理能力に余裕があるノードを特定することができる。その結果に基づき、システム全体のチューニング、ハードウェア資源の拡充および機能の追加などを各ノードの利用状況に応じて的確に行うことができる。
分散ストレージシステムでも、負荷の監視が行われる。特に、ストレージノードでは、データの読み出し/書き込みを頻繁に行うため、記憶装置の負荷の監視が重要となる。
監視対象としては、例えば記憶領域の使用量が考えられる。記憶領域の使用量を監視することで、記憶領域の不足が発生することを未然に防止できる。例えば、特定のストレージノードで使用容量が所定の水準を上回った場合には、該当のストレージノードに格納されたデータを記憶領域に余裕のあるストレージノードに再配置し、各ストレージノードの使用容量を平準化することが考えられる。
また、監視対象として、例えば論理ボリュームごとの使用量が考えられる。各ストレージノード内で論理ボリュームごとの使用量を監視することで、例えばサービスごとの利用状況を把握することができる。
特開2005−050303号公報 特開2003−296039号公報
しかし、各ストレージノードで論理ボリュームごとの使用量を取得するには、そのための機能が各ストレージノードに予め備えられている必要がある。このため、当機能を備えていないストレージノードでは、論理ボリュームごとの使用量を取得することができない。特に、分散ストレージシステムでは、ストレージノードを流動的に追加・更新でき、ストレージノードとして異なるベンダの様々な機種が接続され得る。この場合、各機種が備える特定の機能に依存した管理方法では、システム全体として統合的な管理を行うことが困難であるという問題がある。一方、この機能をストレージノードに付加する場合、そのためのコストが問題となる。
本発明はこのような点に鑑みてなされたものであり、ストレージノードの論理ボリューム管理機能の有無に関係なく、ストレージノードの論理ボリュームごとの負荷を容易に取得することが可能な管理装置の管理プログラム、管理装置、管理装置の管理方法およびストレージシステムを提供することを目的とする。
複数の論理ボリュームのいずれかに対応付けられた記憶領域を複数有するストレージノードと、前記ストレージノードの複数の記憶領域が記憶するデータを要求するアクセスノードとを管理するとともに、前記複数の記憶領域と前記複数の論理ボリュームとの対応関係を記憶する記憶部を有する管理装置の管理プログラムにおいて、前記管理装置が有する判定部に、前記対応関係に基づいて、前記アクセスノードが要求したデータが記憶された記憶領域に対応する論理ボリュームを判定させ、前記管理装置が有する算出部に、前記判定部による判定結果に基づいて、前記複数の論理ボリューム毎にデータが要求された要求回数を計数し、計数した要求回数の合計に対する各要求回数の割合を算出させることを特徴とする管理装置の管理プログラムが提供される。
また、複数の論理ボリュームのいずれかに対応付けられた記憶領域を複数有するストレージノードと、前記ストレージノードの複数の記憶領域が記憶するデータを要求するアクセスノードとを管理する管理装置において、前記複数の記憶領域と前記複数の論理ボリュームとの対応関係を記憶する記憶部と、前記対応関係に基づいて、前記アクセスノードが要求したデータが記憶された記憶領域に対応する論理ボリュームを判定する判定部と、前記判定部による判定結果に基づいて、前記複数の論理ボリューム毎にデータが要求された要求回数を計数し、計数した要求回数の合計に対する各要求回数の割合を算出する算出部を有することを特徴とする管理装置が提供される。
複数の論理ボリュームのいずれかに対応付けられた記憶領域を複数有するストレージノードと、前記ストレージノードの複数の記憶領域が記憶するデータを要求するアクセスノードとを管理するとともに、前記複数の記憶領域と前記複数の論理ボリュームとの対応関係を記憶する記憶部を有する管理装置の管理方法において、前記管理装置が有する判定部が、前記対応関係に基づいて、前記アクセスノードが要求したデータが記憶された記憶領域に対応する論理ボリュームを判定し、前記管理装置が有する算出部が、前記判定部による判定結果に基づいて、前記複数の論理ボリューム毎にデータが要求された要求回数を計数し、計数した要求回数の合計に対する各要求回数の割合を算出することを特徴とする管理装置の管理方法が提供される。
複数の論理ボリュームのいずれかに対応付けられた記憶領域を複数有するストレージノードと、前記ストレージノードの複数の記憶領域が記憶するデータを要求するアクセスノードと、前記ストレージノードと前記アクセスノードを管理する管理装置とを有するストレージシステムにおいて、前記管理装置は、前記複数の記憶領域と前記複数の論理ボリュームとの対応関係を記憶する記憶部と、前記対応関係に基づいて、前記アクセスノードが要求したデータが記憶された記憶領域に対応する論理ボリュームを判定する判定部と、前記判定部による判定結果に基づいて、前記複数の論理ボリューム毎にデータが要求された要求回数を計数し、計数した要求回数の合計に対する各要求回数の割合を算出する算出部を有することを特徴とするストレージシステムが提供される。
上記管理装置の管理プログラム、管理装置、管理装置の管理方法およびストレージシステムによれば、ストレージノードの論理ボリューム管理機能の有無に関係なく、ストレージノードの論理ボリュームごとの負荷を容易に取得することができる。
ストレージシステムを示す図である。 分散ストレージシステムの構成を示す図である。 管理ノードのハードウェア構成を示す図である。 ストレージノードのハードウェア構成を示す図である。 論理ボリュームの構成例を示す図である。 各ノードの機能構成を示す図である。 アクセス制御テーブルのデータ構造例を示す図である。 ストレージノード管理テーブルのデータ構造例を示す図である。 パケットの構造例を示す図である。 スライス単位集計テーブルのデータ構造例を示す図である。 ストレージノード単位集計テーブルのデータ構造例を示す図である。 ストレージノード単位集計テーブルのデータ構造例を示す図である。 計測負荷テーブルのデータ構造例を示す図である。 管理ノードの解析負荷情報取得処理の手順を示すフローチャートである。 ストレージノードの計測負荷情報取得処理の手順を示すフローチャートである。 管理ノードの論理ボリューム負荷算出処理の手順を示すフローチャートである。 論理ボリューム算出処理を示す模式図である。 負荷表示画面の第1の例を示す図である。 負荷表示画面の第2の例を示す図である。 負荷表示画面の第3の例を示す図である。
以下、本実施の形態を図面を参照して詳細に説明する。
図1は、ストレージシステムを示す図である。このストレージシステムは、管理ノード1、ストレージノード2およびアクセスノード3を有する。管理ノード1、ストレージノード2およびアクセスノード3は、有線または無線のネットワークにより通信可能に接続される。管理ノード1は、ストレージシステムを管理する運用管理用の端末装置である。ストレージノード2は、アクセスノード3が扱うデータを記憶する。アクセスノード3は、ストレージノード2に記憶されたデータにアクセスする。管理ノード1は、特にストレージノード2が備える記憶装置の負荷を監視する。記憶装置の負荷は、アクセスノード3のデータアクセスに起因する。記憶装置の物理領域は、記憶領域2a,2b,2cに分割され、それぞれ論理ボリュームA,B,Cに対応付けられている。アクセスノード3は、データアクセスのためにストレージノード2に処理要求4を送信する。ここで、処理要求4は、記憶領域2a,2b,2cのそれぞれに対して送信される。すなわち、アクセスノード3は、アクセスしたいデータが存在する記憶領域を指定して処理要求4を送信する。
管理ノード1は、論理ボリューム割当情報記憶手段1a、論理ボリューム判定手段1bおよび処理要求内訳計算手段1cを有する。
論理ボリューム割当情報記憶手段1aは、ストレージノード内の記憶領域2a,2b,2cと論理ボリュームA,B,Cとの対応関係を記憶する。
論理ボリューム判定手段1bは、記憶領域2a,2b,2cに対する複数の処理要求を取得する。論理ボリューム判定手段1bは、論理ボリューム割当情報記憶手段1aを参照して、各処理要求の処理対象となる記憶領域に対応する論理ボリュームを判定する。
処理要求内訳計算手段1cは、論理ボリューム判定手段1bによる判定結果に基づいて、論理ボリュームA,B,Cにつき各処理要求の取得数を計数し、各取得数の合計に対する各取得数の割合を算出する。この取得数は、論理ボリューム判定手段1bが取得した複数の処理要求に応じてストレージノード2の論理ボリュームA,B,Cで発生した負荷を示す値となる。また、取得数の割合は、論理ボリュームA,B,Cで発生した負荷の内訳を示す値となる。
管理ノード1によれば、論理ボリューム判定手段1bにより、記憶領域2a,2b,2cに対する複数の処理要求が取得される。次に、論理ボリューム判定手段1bにより、論理ボリューム割当情報記憶手段1aが参照されて、各処理要求の処理対象となる記憶領域に対応する論理ボリュームが判定される。そして、処理要求内訳計算手段1cにより、論理ボリュームA,B,Cにつき各処理要求の取得数が計数され、各取得数の合計に対する各取得数の割合が算出される。
例えば、上記の方法で論理ボリュームA,B,Cに対するピーク時の処理要求の取得数を予め求めておく。そして、負荷測定時に上記の方法で論理ボリュームA,B,Cに対する処理要求の取得数を求める。このようにすると、ピーク時に対する論理ボリュームA,B,Cの負荷を、例えばそれぞれ30%,25%,20%(25%が空き)などと求めることができる。また、負荷の内訳を算出することで、どの論理ボリュームに対する負荷が大きいかを判別することもできる。
これにより、ストレージノードの論理ボリューム管理機能の有無に関係なく、論理ボリュームごとの負荷を容易に取得することができる。具体的には、処理要求4を取得して、処理要求4で指定される記憶領域によって、ストレージノード2全体のうち、どの論理ボリュームで負荷が発生したかを評価する。このため、ストレージノード2において、論理ボリュームごとに負荷を収集する機能が不要となる。また、このための機能を付加する必要もなく、そのためのコストが不要である。
なお、管理ノード1がアクセスノード3から収集した処理要求4を用いて負荷を見積もっても、実際にストレージノード2で発生している負荷と誤差が生じる可能性がある。例えば、アクセスノード3からストレージノード2に処理要求4が送信されたとしても、処理要求4がネットワーク内を滞留してストレージノード2に到達するまでに時間が掛かる、あるいは、到達する前に破棄されてしまうことも考えられる。この場合、該当の処理要求4の処理は、ストレージノード2では実行されないので、この分だけ管理ノード1が求めた負荷は、実際に発生した負荷よりも大きな値を見積もってしまうことになる。
これに対し、例えば、ストレージノード2の実測された負荷を用いて処理要求内訳計算手段1cが求めた負荷を補正することが考えられる。具体的には、管理ノード1にストレージノード2で実測された負荷情報を取得し、この負荷情報と処理要求内訳計算手段1cが求めた負荷の内訳とに基づき論理ボリュームA,B,Cごとの負荷情報を取得する。ストレージノード2で発生した実測の負荷情報として、ハードウェアリソース全体の70%を使用中(30%が空き)である旨を取得したとする。この場合、処理要求内訳計算手段1cが求めた論理ボリュームA,B,Cの負荷の内訳が6:5:4であるので、実測の負荷情報から、論理ボリュームA,B,Cの負荷を28%、23.3%、18.7%(30%が空き)と再評価できる。
このようにして、論理ボリュームA,B,Cの負荷をより精度良く求めることも考えられる。
ところで、管理ノード1は、例えば複数のストレージノードを備えた分散ストレージシステムに適用できる。分散ストレージシステムでは、ストレージノードを流動的に追加・更新でき、ストレージノードとして異なるベンダの様々な機種が接続され得る。この場合、各機種が備える特定の機能に依存した管理方法では、統合的な管理が行えない。一方、管理ノード1は機種に依存しない方法で論理ボリュームの監視を可能とする。したがって、管理ノード1は分散ストレージシステムに適用する場合に特に有用である。
以下、分散ストレージシステムに管理ノード1を適用する場合を例に採り、更に具体的に説明する。
図2は、分散ストレージシステムの構成を示す図である。分散ストレージシステムは、同一内容の複数のデータをネットワークで接続された複数のストレージノードに分散して配置することで、信頼性と処理性能とを向上させたストレージシステムである。この分散ストレージシステムは、管理ノード100、ストレージノード200,300,400、コントロールノード500およびアクセスノード600,700,800を有する。管理ノード100、ストレージノード200,300,400、コントロールノード500およびアクセスノード600,700,800は、スイッチ装置10を介して相互にデータ通信可能に接続される。また、端末装置51,52がネットワーク50を介してアクセスノード600,700,800に接続されている。
管理ノード100は、分散ストレージシステムの管理者が操作する運用管理用の端末装置である。管理者は、管理ノード100を用いて、ストレージノード200,300,400、コントロールノード500およびアクセスノード600,700,800の利用状況を監視することができる。また、管理者は、管理ノード100を操作して、ストレージノード200,300,400、コントロールノード500およびアクセスノード600,700,800にアクセスし、運用に必要な各種設定を行うことができる。
なお、管理ノード100は、スイッチ装置10が備えるポートミラーリング機能などにより、アクセスノード600,700,800からストレージノード200,300,400に対するリクエストパケット(以下、単にパケットという)を受信する。
ストレージノード200,300,400には、それぞれストレージ装置210,310,410が接続されている。ストレージ装置210,310,410は、例えば、内蔵する複数のHDD(Hard disk Drive)を用いたRAID(Redundant Arrays of Independent Disks)システムである。ストレージノード200,300,400は、ストレージ装置210,310,410に格納されたデータをスイッチ装置10経由でアクセスノード600,700,800に提供する。
コントロールノード500は、ストレージノード200,300,400を管理する。具体的には、コントロールノード500は、データの配置状況を示す論理ボリュームを保持している。コントロールノード500は、ストレージノード200,300,400からデータの管理に関する情報を取得し、必要に応じて論理ボリュームを更新する。また、コントロールノード500は、論理ボリュームが更新されると、その影響を受けるストレージノードに対して更新内容を通知する。論理ボリュームの詳細は、後述する。
アクセスノード600,700,800は、端末装置51,52に対して、ストレージノード200,300,400が管理するデータを利用した情報処理のサービスを提供する。すなわち、アクセスノード600は、端末装置51,52からの要求に応答して所定のプログラムを実行し、必要に応じてストレージノード200,300,400にアクセスする。ここで、アクセスノード600,700,800は、コントロールノード500から論理ボリュームを取得し、取得した論理ボリュームに基づいてアクセスすべきストレージノードを特定する。
図3は、管理ノードのハードウェア構成を示す図である。管理ノード100は、CPU(Central Processing Unit)101、RAM(Random Access Memory)102、HDD103、グラフィック処理装置104、入力インタフェース105および通信インタフェース106を有する。
CPU101は、管理ノード100全体の動作を制御する。
RAM102は、CPU101に実行させるOS(Operating System)のプログラムやアプリケーションソフトウェア(以下、アプリケーションという)のプログラムの少なくとも一部を一時的に記憶する。また、RAM102は、CPU101による処理に必要な各種データを記憶する。
HDD103は、OSのプログラム、アプリケーションのプログラムを記憶する。また、HDD103は、CPU101による処理に必要な各種データを記憶する。なお、HDD103の代わりに例えばSSD(Solid State Drive)などの他の不揮発性の記憶装置を用いることもできる。
グラフィック処理装置104は、モニタ11と接続される。グラフィック処理装置104は、CPU101からの命令に従って画像をモニタ11の画面に表示させる。
入力インタフェース105は、キーボード12とマウス13と接続される。入力インタフェース105は、キーボード12やマウス13から送られてくる信号をCPU101に送信する。
通信インタフェース106は、スイッチ装置10と接続され、ストレージノード200,300,400、コントロールノード500およびアクセスノード600,700,800とデータの送受信を行う。
なお、コントロールノード500、アクセスノード600,700,800および端末装置51,52についても管理ノード100と同様のハードウェア構成により実現できる。ただし、アクセスノード600,700,800は、スイッチ装置10と接続するための通信インタフェースに加えて、ネットワーク50と接続するための通信インタフェースを更に備えている。
図4は、ストレージノードのハードウェア構成を示す図である。ストレージノード200は、CPU201、RAM202、HDDインタフェース203、グラフィック処理装置204、入力インタフェース205および通信インタフェース206を有する。
CPU201は、ストレージノード200全体の動作を制御する。
RAM202は、CPU201に実行させるOSのプログラムやアプリケーションのプログラムの少なくとも一部を一時的に記憶する。また、RAM202は、CPU201による処理に必要な各種データを記憶する。
HDDインタフェース203は、ストレージ装置210と接続される。HDDインタフェース203は、ストレージ装置210に内蔵されたRAIDコントローラと通信し、ストレージ装置210に対するデータの入出力を行う。ストレージ装置210内のRAIDコントローラは、例えばRAID0〜6の何れかの機能を有し、複数のHDDをまとめて1台の記憶装置として管理する。ストレージ装置210は、OSのプログラム、アプリケーションのプログラムを記憶する。OSのプログラム、アプリケーションのプログラムは、例えばストレージノード200に別個に設けられた他の記憶装置に格納されてもよい。また、ストレージ装置210は、アクセスノード600,700,800が扱うデータを記憶する。
グラフィック処理装置204は、モニタ21と接続される。グラフィック処理装置204は、CPU201からの命令に従って画像をモニタ21の画面に表示させる。
入力インタフェース205は、キーボード22とマウス23と接続される。入力インタフェース205は、キーボード22やマウス23から送られてくる信号をCPU201に送信する。
通信インタフェース206は、スイッチ装置10と接続され、管理ノード100、ストレージノード300,400、コントロールノード500およびアクセスノード600,700,800とデータの送受信を行う。
なお、ストレージノード300,400についてもストレージノード200と同様のハードウェア構成により実現できる。
次に、コントロールノード500がアクセスノード600,700,800に対して提供する論理ボリュームについて説明する。論理ボリュームは、ストレージノード200,300,400によって分散管理されているデータを、アクセスノード600,700,800から容易に利用できるようにするための仮想的なボリュームである。
図5は、論理ボリュームの構成例を示す図である。この分散ストレージシステムは、論理ボリューム910,920,930を有する。
論理ボリューム910には、“L0”という論理ボリュームIDが付与されている。論理ボリューム910は、6つのセグメント911〜916に分割されて、管理されている。セグメント911〜916には、それぞれ論理ボリュームID“L0”に対して、“0”〜“5”というセグメントIDが付与されている。
論理ボリューム920には、“L1”という論理ボリュームIDが付与されている。論理ボリューム920は、6つのセグメント921〜926に分割されて、管理されている。セグメント921〜926には、それぞれ論理ボリュームID“L1”に対して、“0”〜“5”というセグメントIDが付与されている。
論理ボリューム930には、“L2”という論理ボリュームIDが付与されている。論理ボリューム930は、6つのセグメント931〜936に分割されて、管理されている。セグメント931〜936には、それぞれ論理ボリュームID“L2”に対して、“0”〜“5”というセグメントIDが付与されている。
また、ストレージノード200には、“SN−A”というノードIDが付与されている。ストレージノード300には、“SN−B”というノードIDが付与されている。ストレージノード400には、“SN−C”というノードIDが付与されている。ストレージ装置210,310,410では、その物理的な記憶領域が6つのスライスに分割されて、管理されている。
ストレージ装置210内の記憶領域は、6つのスライス211〜216に分割されている。スライス211〜216には、ノードID“SN−A”に対して“1”〜“6”というスライスIDが付与されている。
ストレージ装置310内の記憶領域は、6つのスライス311〜316に分割されている。スライス311〜316には、ノードID“SN−B”に対して“1”〜“6”というスライスIDが付与されている。
ストレージ装置410内の記憶領域は、6つのスライス411〜416に分割されている。スライス411〜416には、ノードID“SN−C”に対して“1”〜“6”というスライスIDが付与されている。
論理ボリューム910,920,930の各セグメントは、ストレージ装置210,310,410の各スライスに分散して配置される。
例えば、セグメント911は、スライス211に配置される。セグメント912は、スライス311に配置される。セグメント913は、スライス411に配置される。セグメント914は、スライス212に配置される。セグメント915は、スライス312に配置される。セグメント916は、スライス412に配置される。
このように論理ボリューム910のセグメント911〜916は、ストレージ装置210,310,410のスライスID“1”、“2”のスライスに配置される。
また、論理ボリューム920のセグメント921〜926は、ストレージ装置210,310,410のスライスID“3”、“4”のスライスに配置される。また、論理ボリューム930のセグメント931〜936は、ストレージ装置210,310,410のスライスID“5”、“6”のスライスに配置される。
なお、論理ボリュームは、データの用途やアクセス元の権限などに応じて複数作成することができる。ここでは、論理ボリューム910は、アクセスノード600のみからのアクセスが可能である。論理ボリューム920は、アクセスノード700のみからのアクセスが可能である。論理ボリューム930は、アクセスノード800のみからのアクセスが可能である。論理ボリュームに現れないスライスは、アクセスノード600,700,800から認識することができない。例えば、アクセスノード600は、ストレージ装置210のスライスのうち論理ボリューム910のセグメント911,914に対応付けられたスライス211,212以外は認識することができない。このため、論理ボリュームを使い分けることはセキュリティの向上にも寄与する。
図6は、各ノードの機能構成を示す図である。管理ノード100は、アクセス情報受信部110、アクセス情報記憶部120、パケット収集部130、パケット記憶部140、パケット解析部150、解析負荷情報記憶部160、計測負荷情報受信部170、計測負荷情報記憶部180、論理ボリューム負荷算出部190および負荷表示部195を有する。これらの機能は、CPU101が所定のプログラムを実行することで実現される。ただし、これらの機能の一部または全部を専用のハードウェアで実現してもよい。
アクセス情報受信部110は、コントロールノード500からアクセスノード600,700,800がストレージノード200,300,400に対するデータアクセスに用いるアクセス情報を取得する。アクセス情報は、論理ボリュームとストレージノード200,300,400に設けられたスライスとの対応付けを定義したものである。アクセス情報受信部110は、取得したアクセス情報をアクセス情報記憶部120に格納する。アクセス情報受信部110は、アクセス情報記憶部120に記憶されたアクセス情報が最新のものとなるよう、例えば定期的にコントロールノード500からのアクセス情報の受信を試みる。
アクセス情報記憶部120は、アクセス情報受信部110が取得したアクセス情報を記憶する。
パケット収集部130は、アクセスノード600,700,800からストレージノード200,300,400へのパケットをスイッチ装置10から収集する。パケット収集部130は、収集したパケットをパケット記憶部140に格納する。
パケット記憶部140は、パケット収集部130が収集したパケットを記憶する。
パケット解析部150は、パケット記憶部140に記憶されたパケットを解析する。パケットには処理内容(read/write)や処理要求先のストレージノードのスライスを指定する情報が含まれる。このため、パケット解析部150は、これらの情報やアクセス情報記憶部120に記憶されたアクセス情報を参照し、各スライスに対するパケット数を計数することでスライス単位に発生する負荷を評価することができる。
なお、パケットを解析して求めた負荷をスライス単位の解析負荷情報と呼ぶこととする。パケット解析部150は、スライス単位の解析負荷情報を解析負荷情報記憶部160に格納する。また、パケット解析部150は、スライス単位の解析負荷情報を基に論理ボリューム単位に発生する解析負荷を評価することができる。パケット解析部150は、論理ボリューム単位の解析負荷情報を解析負荷情報記憶部160に格納する。
解析負荷情報記憶部160は、パケット解析部150が評価したパケット単位および論理ボリューム単位の解析負荷情報を記憶する。
計測負荷情報受信部170は、ストレージノード200,300,400で実測された負荷情報を受信する。ここで、このように実測された負荷情報を計測負荷情報と呼ぶこととする。
なお、パケット解析部150が求めた解析負荷と比較可能な負荷指標としては、例えばiops(Input Output Per Second)がある。iopsは、記憶装置の性能を評価するための代表的な指標であり、記憶装置が1秒間に実行したIO回数(単位時間当たりのデータの入出力数)を表す。iopsは、ストレージノード200,300,400に対する単位時間当たりのパケット数(すなわち、リクエスト数)に線形的に依存するものと考えられる。以下では、計測負荷情報受信部170が受信する負荷情報には、負荷指標としてiopsが含まれるものとする。
計測負荷情報受信部170は、取得した計測負荷情報を計測負荷情報記憶部180に格納する。
計測負荷情報記憶部180は、計測負荷情報受信部170が受信した計測負荷情報を記憶する。
論理ボリューム負荷算出部190は、解析負荷情報記憶部160に記憶された解析負荷情報および計測負荷情報記憶部180に記憶された計測負荷情報に基づいて、論理ボリューム910,920,930の負荷(論理ボリューム負荷)を算出する。論理ボリューム負荷算出部190は、論理ボリューム負荷の算出結果を負荷表示部195に出力する。
負荷表示部195は、論理ボリューム負荷算出部190が算出した論理ボリューム負荷の内容をモニタ11に表示する。論理ボリューム負荷の表示方法の詳細については、後述する。
ストレージノード200は、データアクセス部220および負荷計測部230を有する。なお、ストレージノード300,400に関しても同一の機能構成となる。
データアクセス部220は、アクセスノード600からのパケットを受け付けると、該当のパケットに含まれる処理内容と対象のスライスとを参照して、ストレージ装置210に格納されたデータを操作する。
具体的には、データアクセス部220は、アクセスノード600からスライスを指定したデータの読み出し要求(read要求)を受け付けると、指定されたスライスのデータを読み出す。そして、データアクセス部220は、読み出しの結果をアクセスノード600に送信する。また、データアクセス部220は、アクセスノードからスライスを指定したデータの書き込み要求(write要求)を受け付けると、ストレージ装置210内の指定されたスライスにデータを書き込む。そして、データアクセス部220は、書き込みの結果をアクセスノード600に送信する。
なお、データアクセス部220は、各スライスに対応するストレージ装置210の記憶領域の物理的なアドレスを管理した情報を参照することで、このようなデータ操作の実行が可能である。このような情報は、ストレージノード200で管理されている。
負荷計測部230は、read要求に応じて実行したデータ読み出し処理やwrite要求に応じて実行したデータ書き込み処理によってストレージ装置210に発生した負荷を計測し、計測負荷情報を生成する。負荷計測部230が計測する負荷には、上述したiopsが含まれる。負荷計測部230は、生成した計測負荷情報をストレージ装置210の所定の記憶領域に格納する。格納された計測負荷情報は、管理ノード100からの要求に応じてデータアクセス部220により管理ノード100に送信される。負荷計測部230の機能は、例えばストレージノード200のOSが標準的に備える機能により実現できる。
コントロールノード500は、アクセス情報記憶部510および論理ボリューム管理部520を有する。
アクセス情報記憶部510は、アクセス情報を記憶する。アクセス情報記憶部510が記憶するアクセス情報は、各ノードで参照されるアクセス情報のマスタである。
論理ボリューム管理部520は、ストレージノード200,300,400のスライス構成を管理する。論理ボリューム管理部520は、例えば管理ノード100からの指示に基づいて新たに論理ボリュームを作成する。また、論理ボリューム管理部520は、例えば管理ノード100からの指示に基づいてアクセス情報記憶部510に記憶されたアクセス情報を更新する。また、論理ボリューム管理部520は、管理ノード100からの要求に応じて、アクセス情報記憶部510に記憶されたアクセス情報を管理ノード100に送信する。
アクセスノード600は、アクセス情報記憶部610およびデータアクセス制御部620を有する。なお、アクセスノード700,800に関しても同一の機能構成となる。
アクセス情報記憶部610は、論理ボリュームとストレージノード200,300,400に設けられたスライスとの対応付けを定義したアクセス情報が格納される。
データアクセス制御部620は、アクセス情報記憶部610に記憶されたアクセス情報に基づいてアクセス先となるストレージノードを特定する。すなわち、利用するデータが属するセグメントを特定し、特定したセグメントのスライスを管理するストレージノードを特定する。その後、データアクセス制御部620は、特定したストレージノードにアクセスする。ここで、アクセスに失敗した場合、コントロールノード500から論理ボリュームを取得した後にデータの配置状況が変化したことが考えられる。この場合、データアクセス制御部620は、コントロールノード500から最新のアクセス情報を取得してアクセス情報記憶部610に記憶された内容を更新し、再びストレージノードへのアクセスを試みる。
図7は、アクセス制御テーブルのデータ構造例を示す図である。アクセス制御テーブル121はアクセス情報記憶部120に格納される。また、アクセス制御テーブル121と同じデータがアクセス情報記憶部510,610に格納される。このうち、アクセス情報記憶部510に記憶されたアクセス制御テーブルがマスタとなり、アクセス情報記憶部120,610に記憶されたアクセス制御テーブルが適宜更新される。
アクセス制御テーブル121には、論理ボリュームIDを示す項目、セグメントIDを示す項目、ノードIDを示す項目およびスライスIDを示す項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、1つのスライスに関する情報を示す。
論理ボリュームIDを示す項目には、論理ボリュームを識別する論理ボリュームIDが設定される。セグメントIDを示す項目には、セグメントを識別するセグメントIDが設定される。ノードIDを示す項目には、割当先のストレージノードを識別するノードIDが設定される。スライスIDを示す項目には、セグメントに対応するスライスを識別するスライスIDが設定される。
アクセス制御テーブル121には、例えば、論理ボリュームIDが“L0”、セグメントIDが“0”、ノードIDが“SN−A”、スライスIDが“1”という情報が設定される。これは、論理ボリューム910のセグメント911がストレージノード200のスライス211に配置されていることを示している。
図8は、ストレージノード管理テーブルのデータ構造例を示す図である。ストレージノード管理テーブル122は、アクセス情報記憶部120に格納される。また、ストレージノード管理テーブル122と同じデータがアクセス情報記憶部510,610に格納される。ストレージノード管理テーブル122には、ノードIDを示す項目およびIP(Internet Protocol)アドレスを示す項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、1つのストレージノードに関する情報を示す。
ノードIDを示す項目には、ストレージノードを識別するノードIDが設定される。IPアドレスを示す項目には、ストレージノードのIPアドレスが設定される。
ストレージノード管理テーブル122には、例えば、ノードIDが“SN−A”、IPアドレスが“192.168.0.1”という情報が設定される。これは、ストレージノード200のIPアドレスが“192.168.0.1”であることを示している。
図9は、パケットの構造例を示す図である。パケット収集部130により収集されたパケットはパケット保存ファイル141としてパケット記憶部140に格納される。パケット保存ファイル141は、例えばバイナリ形式のファイルである。パケット保存ファイル141には、複数のパケットの情報が格納されている。パケット収集部130は、例えば所定の時間帯T1で収集したパケットによりパケット保存ファイル141を生成する。
各パケットは、ヘッダ部141aおよびデータ部141bを有する。
ヘッダ部141aには、タイムスタンプを示す領域、プロトコル番号を示す領域および送信先IPアドレスを示す領域が含まれる。タイムスタンプを示す領域には、パケットが送信された時間を示す情報(例えば、年月日時分秒)が設定される。プロトコル番号を示す領域には、処理要求の種別(readおよびwrite)を示す情報が格納される。送信先IPアドレスを示す領域には、パケット送信先のIPアドレスが格納される。
データ部141bには、スライスIDを示す領域および処理対象データを示す領域が含まれる。スライスIDを示す領域には、処理要求の対象となるスライスIDが格納される。処理対象データを示す領域には、読み出し対象データを指定する情報や書き込み処理の対象となるデータが格納される。パケット解析部150は、処理対象データを示す領域を参照することで、各データのIOの単位サイズであるIOサイズを取得することができる。
図10は、スライス単位集計テーブルのデータ構造例を示す図である。スライス単位集計テーブル161,162,163,・・・は、各スライスに対応付けられて解析負荷情報記憶部160に格納される。スライス単位集計テーブル161,162,163,・・・は、パケット解析部150によりパケット記憶部140に記憶されたパケット保存ファイル141の内容がパケット収集対象の時間帯について解析されて生成される。スライス単位集計テーブル161は、スライス211(すなわちセグメント911)に対応する。スライス単位集計テーブル162は、スライス212(すなわちセグメント914)に対応する。スライス単位集計テーブル163は、スライス213(すなわちセグメント921)に対応する。以降、同様にしてスライス416までのスライス単位集計テーブルが生成される。また、スライス単位集計テーブル161,162,163,・・・は、パケット収集の時間帯T1に対応するものであり、各数値は時間帯T1における1秒当たりの平均値であるとする。なお、以下では、スライス単位集計テーブル161に関してのみ説明するが、スライス単位集計テーブル162,163,・・・に関しても同様である。
スライス単位集計テーブル161には、IOサイズ(バイト)示す項目、read数(測定時)を示す項目およびwrite数(測定時)を示す項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、1つのIOサイズのリクエストに関する情報を示す。
IOサイズ(バイト)を示す項目には、処理対象のデータのIOサイズを示す情報がバイト(byte)単位で設定される。read数(測定時)を示す項目には、パケット収集の時間帯T1で該当のIOサイズについて取得された読み出し要求の1秒当たりの平均数を示す値が設定される。write数(測定時)を示す項目には、パケット収集の時間帯T1で該当のIOサイズについて取得された書き込み要求の1秒当たりの平均数を示す値が設定される。
スライス単位集計テーブル161には、例えば、IOサイズ(バイト)が“4”、read数(測定時)が“14”、write数(測定時)が“3”という情報が設定される。これは、該当の時間帯T1において、スライス211に対し、IOサイズ“4”バイトの読み出し要求が平均“14”回/秒、IOサイズ“4”バイトの書き込み要求が平均“3”回/秒、送信されたことを示している。
なお、スライス単位集計テーブル161には、各IOサイズに関して計数した値をread数(測定時)およびwrite数(測定時)それぞれに関して合計した値も求められている。
図11および図12は、ストレージノード単位集計テーブルのデータ構造例を示す図である。ストレージノード単位集計テーブル161a,162a,163aは、それぞれストレージノード200,300,400およびパケット収集の時間帯T1に対応付けられて、解析負荷情報記憶部160に格納される。ストレージノード単位集計テーブル161a,162a,163aは、解析負荷情報記憶部160に記憶されたスライス単位集計テーブル161,162,163,・・・に基づいて、パケット解析部150により生成される。なお、以下ではストレージノード単位集計テーブル161aについてのみ説明するが、ストレージノード単位集計テーブル162a,163aに関しても同様の構成である。
ストレージノード単位集計テーブル161aには、IOサイズ(バイト)を示す項目、read数(ピーク時)を示す項目、L0 read数(測定時)を示す項目、L0 Load(read)を示す項目、L1 read数(測定時)を示す項目、L1 Load(read)を示す項目、L2 read数(測定時)を示す項目、L2 Load(read)を示す項目、write数(ピーク時)を示す項目、L0 write数(測定時)を示す項目、L0 Load(write)を示す項目、L1 write数(測定時)を示す項目、L1 Load(write)を示す項目、L2 write数(測定時)を示す項目、L2 Load(write)を示す項目、L0 Load(read+write)を示す項目、L1 Load(read+write)を示す項目およびL2 Load(read+write)を示す項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、1つのIOサイズのリクエストに関する情報を示す。
IOサイズ(バイト)を示す項目には、処理対象のデータのIOサイズを示す情報がバイト(byte)単位で設定される。
read数(ピーク時)を示す項目には、論理ボリューム910,920,930に対する該当IOサイズについてのread数のピーク値の1秒当たりの平均の合計が設定される。read数のピーク値は、例えばシステムの利便性を損なうほどの処理遅延がストレージノード200で発生しない最大の値が予め設定される。このようなピーク値は、例えばシステムの運用開始前にストレージノード200に最大負荷を与えて、パケット解析部150により予め測定される。
L0 read数(測定時)を示す項目には、時間帯T1で該当のIOサイズについての論理ボリューム910に対する読み出し要求の1秒当たりの平均数を示す値が設定される。L0 Load(read)を示す項目には、ピーク時に対する測定時の論理ボリューム910の該当IOサイズの読み出し負荷を示す情報が設定される。
L1 read数(測定時)を示す項目には、時間帯T1で該当のIOサイズについての論理ボリューム920に対する読み出し要求の1秒当たりの平均数を示す値が設定される。L1 Load(read)を示す項目には、ピーク時に対する測定時の論理ボリューム920の該当IOサイズの読み出し負荷を示す情報が設定される。
L2 read数(測定時)を示す項目には、時間帯T1で該当のIOサイズについての論理ボリューム930に対する読み出し要求の1秒当たりの平均数を示す値が設定される。L2 Load(read)を示す項目には、ピーク時に対する測定時の論理ボリューム930の該当IOサイズの読み出し負荷を示す情報が設定される。
write数(ピーク時)を示す項目には、論理ボリューム910,920,930に対する該当IOサイズについてのwrite数のピーク値の1秒当たりの平均の合計が設定される。write数のピーク値は、read数のピーク値と同様に、システムの運用開始前にパケット解析部150により予め測定される。
L0 write数(測定時)を示す項目には、時間帯T1で該当のIOサイズについての論理ボリューム910に対する書き込み要求の1秒当たりの平均数を示す値が設定される。L0 Load(write)を示す項目には、ピーク時に対する測定時の論理ボリューム910の該当IOサイズの書き込み負荷を示す情報が設定される。
L1 write数(測定時)を示す項目には、時間帯T1で該当のIOサイズについての論理ボリューム920に対する書き込み要求の1秒当たりの平均数を示す値が設定される。L1 Load(write)を示す項目には、ピーク時に対する測定時の論理ボリューム920の該当IOサイズの書き込み負荷を示す情報が設定される。
L2 write数(測定時)を示す項目には、時間帯T1で該当のIOサイズについての論理ボリューム930に対する書き込み要求の1秒当たりの平均数を示す値が設定される。L2 Load(write)を示す項目には、ピーク時に対する測定時の論理ボリューム930の該当IOサイズの書き込み負荷を示す情報が設定される。
L0 Load(read+write)を示す項目には、論理ボリューム910に関する測定時の該当IOサイズの読み出し負荷と書き込み負荷との合計を示す情報が設定される。L1 Load(read+write)を示す項目には、論理ボリューム920に関する測定時の該当IOサイズの読み出し負荷と書き込み負荷との合計を示す情報が設定される。L2 Load(read+write)を示す項目には、論理ボリューム930に関する測定時の該当IOサイズの読み出し負荷と書き込み負荷との合計を示す情報が設定される。
ここで、ストレージノード単位集計テーブル161aでは、論理ボリューム910,920,930について求めた各Load値を合計した値も求められている。
ストレージノード単位集計テーブル161aには、例えば、IOサイズ(バイト)が“4”バイトという情報が設定される。
また、read数(ピーク時)が“441”回/秒、L0 read数(測定時)が“22”回/秒、L0 Load(read)が(22/441)×100=“5%”、L1 read数(測定時)が“45”回/秒、L1 Load(read)が(45/441)×100=“10%”、L2 read数(測定時)が“18”回/秒、L2 Load(read)が(18/441)×100=“4%”という情報が設定される。
また、write数(ピーク時)が“320”回/秒、L0 write数(測定時)が“7”回/秒、L0 Load(write)が(7/320)×100=“2%”、L1 write数(測定時)が“20”回/秒、L1 Load(write)が(20/320)×100=“6%”、L2 write数(測定時)が“6”回/秒、L2 Load(write)が(6/320)×100=“2%”という情報が設定される。
その結果、L0 Load(read)の“5%”とL0 Load(write)の“2%”とを合計してL0 Load(read+write)に“7%”が設定される。
また、L1 Load(read)の“10%”とL1 Load(write)の“6%”とを合計して、L1 Load(read+write)に“16%”が設定される。
また、L2 Load(read)の“4%”とL2 Load(write)の“2%”とを合計して、L2 Load(read+write)に“6%”という情報が設定される。
このようにして、論理ボリューム910,920,930についてIOサイズごとのread+writeの負荷を算出し、更にこれらを合計する。これにより、論理ボリューム910,920,930のついての負荷の内訳を評価できる。
その結果、上記の例では、論理ボリューム910の負荷が“20%”、論理ボリューム920の負荷が“47%”、論理ボリューム930の負荷が“11%”と評価される。
なお、ストレージノード単位集計テーブル161aは、ストレージノード200に関する情報を示している。このため、ストレージノード単位集計テーブル161aが示す論理ボリューム910の負荷は、スライス211,212の負荷を示すことになる。同様に、ストレージノード単位集計テーブル161aが示す論理ボリューム920の負荷は、スライス213,214の負荷を示す。ストレージノード単位集計テーブル161aが示す論理ボリューム930の負荷は、スライス215,216の負荷を示す。
また、上記の例では後述のiopsと比較がし易いようにread/write数を単位時間当たりの平均値としたが、時間帯T1に発生した総数で論理ボリューム910,920,930に対して発生した負荷の内訳を求めてもよい。
図13は、計測負荷テーブルのデータ構造例を示す図である。計測負荷テーブル181,182,183は、それぞれストレージノード200,300,400および情報収集時間帯T1に対応付けられて、計測負荷情報記憶部180に格納される。なお、以下では計測負荷テーブル181についてのみ説明するが、計測負荷テーブル182,183に関しても同様の構成である。
計測負荷テーブル181には、IOサイズ(バイト)を示す項目、read iops(ピーク時)を示す項目、read iops(測定時)を示す項目、Load(read)を示す項目、write iops(ピーク時)を示す項目、write iops(測定時)を示す項目、Load(write)を示す項目、Load(read+write)を示す項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、1つのIOサイズのリクエストに関する情報を示す。
IOサイズ(バイト)を示す項目には、処理対象のデータのIOサイズを示す情報がバイト(byte)単位で設定される。
read iops(ピーク時)を示す項目には、ストレージ装置210における該当のIOサイズについてのread iopsのピーク値が設定される。read iopsのピーク値は、例えばシステムの利便性を損なうほどの処理遅延がストレージノード200で発生しない最大の値が予め設定される。このようなピーク値は、例えばシステムの運用開始前にストレージノード200に最大負荷を与えて、負荷計測部230により予め測定され、この測定結果が計測負荷情報受信部170により予め取得される。
read iops(測定時)を示す項目には、時間帯T1で該当のIOサイズについてストレージ装置210で測定した読み出し要求に対するiopsが設定される。Load(read)を示す項目には、ピーク時に対する測定時のストレージ装置210の読み出し負荷を示す情報が設定される。
write iops(ピーク時)を示す項目には、ストレージ装置210における該当のIOサイズについてのwrite iopsのピーク値が設定される。write iopsのピーク値は、read iopsのピーク値と同様に、システムの運用開始前に負荷計測部230により予め測定され、この測定結果が計測負荷情報受信部170により予め取得される。
write iops(測定時)を示す項目には、時間帯T1で該当のIOサイズについてストレージ装置210で測定した書き込み要求に対するiopsが設定される。Load(write)を示す項目には、ピーク時に対する測定時のストレージ装置210の書き込み負荷を示す情報が設定される。Load(read+write)を示す項目には、Load(read)の値とLoad(write)の値との合計が設定される。
計測負荷テーブル181には、例えば、IOサイズ(バイト)が“4”バイトという情報が設定される。
また、read iops(ピーク時)が“425”、read iops(測定時)が“83”、Load(read)が(83/425)×100=“20%”という情報が設定される。
また、write iops(ピーク時)が“315”、write iops(測定時)が“25”、Load(write)が(25/315)×100=“8%”という情報が設定される。
その結果、Load(read)の“20%”とLoad(write)の“8%”とを合計して、Load(read+write)に“28%”が設定される。
このようにして、ストレージノード200についてIOサイズごとのreadおよびwriteのiopsの測定結果から負荷を算出し、更にこれらを合計する。これにより、ストレージノード200で実際に発生した負荷を取得できる。
上記の例では、ストレージノード200で発生した負荷がピーク時の負荷に対して“72%”の負荷であると求めることができる。
なお、計測負荷テーブル181,182,183は、負荷計測部230により生成され、計測負荷情報受信部170で計測負荷情報として取得されたものが、計測負荷情報記憶部180に格納される。ただし、計測負荷情報受信部170がIOサイズごとのread iopsおよびwrite iopsをストレージノード200,300,400から取得して、計測負荷テーブル181,182,183を生成してもよい。
次に、以上のような構成およびデータ構造の分散ストレージシステムにおいて実行される処理の詳細を説明する。まず、管理ノード100による解析負荷情報の取得処理に関して説明する。
図14は、管理ノードの解析負荷情報取得処理の手順を示すフローチャートである。以下、図14に示す処理をステップ番号に沿って説明する。
[ステップS11]分散ストレージシステムの全体の初期化が行われる。その過程で、CPU101がHDD103に記憶された所定のプログラムをRAM102にロードし、管理ノード100の各機能が実現される。
[ステップS12]パケット解析部150は、論理ボリューム910,920,930の各IOサイズについてのread数およびwrite数のピーク値を取得する。ここで、各ピーク値は、運用開始前に、例えば負荷を与えるベンチマークソフトウェアによりストレージノード200,300,400に対する負荷(read/writeおよびIOサイズごとの負荷)を与え、それに応じてパケット解析部150により予め測定される。パケット解析部150は、予め測定したピーク値を解析負荷情報記憶部160に格納している。このため、パケット解析部150は、解析負荷情報記憶部160を参照することで各ピーク値を取得できる。パケット解析部150は取得した各ピーク値を解析負荷情報記憶部160に記憶されたストレージノード単位集計テーブル161a,162a,163aに設定する。
[ステップS13]パケット収集部130は、所定期間(ここでは、時間帯T1とする)の間、アクセスノード600,700,800からストレージノード200,300,400に対するパケットをスイッチ装置10から収集する。パケット収集部130は、収集したパケットによりパケット保存ファイル141を生成してパケット記憶部140に格納する。
[ステップS14]パケット解析部150は、アクセス情報記憶部120に記憶されたアクセス制御テーブル121およびパケット記憶部140に記憶されたパケット保存ファイル141に基づいて、スライス単位集計テーブル161,162,163,・・・を生成する。なお、パケット解析部150は、各パケットのヘッダ部141aを参照して、該当のパケットが送信された時間帯、read/write種別、対象のストレージノードを特定することができる。また、パケット解析部150は、各パケットのデータ部141bを参照して、処理対象のスライスやIOサイズを特定することができる。パケット解析部150は、パケットを解析して生成したスライス単位集計テーブル161,162,163,・・・を解析負荷情報記憶部160に格納する。
[ステップS15]パケット解析部150は、解析負荷情報記憶部160に記憶されたスライス単位集計テーブル161,162,163,・・・に基づいてストレージノード単位集計テーブル161a,162a,163aを生成する。
[ステップS16]パケット収集部130は、継続してパケット収集を行うか否かを判定する。継続してパケット収集を行う場合、処理がステップS17に移される。継続してパケット収集を行わない場合、処理が完了する。なお、パケット収集部130は、解析負荷情報の取得処理を継続的に実行することを管理者によって指定されたか否かにより、この判定を行うことができる。例えば、管理者により、一回だけパケット収集を行って解析負荷情報を取得する旨の操作入力があった場合、継続してパケット収集を行わないと判定する。また、管理者により、定期的(例えば、数分〜数時間の間隔)にパケット収集を行って解析負荷情報を取得する旨の操作入力があった場合、継続してパケット収集を行うと判定する。
[ステップS17]パケット収集部130は、所定時間(定期収集に対応する時間)待機する。そして、処理がステップS13に移される。
このようにして、パケット解析部150は、パケット収集部130が時間帯T1に収集したパケットを解析して、スライス単位集計テーブル161,162,163,・・・およびストレージノード単位集計テーブル161a,162a,163aを解析負荷情報として生成する。
解析負荷情報の取得は、管理者の所望の時間帯で一度または所定回数だけ行われてもよいし、システム稼動中に定期的に行われてもよい。定期的に行われる場合、解析負荷情報は、時間帯T1の次は、時間帯T2,T3,T4,・・・と各時間帯に対応付けて順次生成される。また、ステップS12におけるピーク値の取得は、定期的に行われてもよい。
次に、ストレージノード200,300,400による計測負荷情報の取得処理について説明する。なお、以下ではストレージノード200に関して説明するが、ストレージノード300,400に関しても同様の処理となる。
図15は、ストレージノードの計測負荷情報取得処理の手順を示すフローチャートである。以下、図15に示す処理をステップ番号に沿って説明する。
[ステップS21]分散ストレージシステムの全体の初期化が行われる。その過程で、CPU201がストレージ装置210または他の記憶装置に記憶されたOSや所定のプログラムをRAM202にロードし、ストレージノード200の各機能が実現される。
[ステップS22]負荷計測部230は、ストレージ装置210の各IOサイズについてのread iopsおよびwrite iopsのピーク負荷を取得する。ここで、各ピーク値は、運用開始前に、例えば負荷を与えるベンチマークソフトウェアによりストレージノード200,300,400に対する負荷(read/writeおよびIOサイズごとの負荷)を与え、それに応じて負荷計測部230により予め測定される。そして、負荷計測部230は、測定したピーク負荷をストレージ装置210に格納する。このため、負荷計測部230は、ストレージ装置210を参照することでピーク負荷を取得できる。
[ステップS23]負荷計測部230は、時間帯T1の間、ストレージ装置210におけるread iopsおよびwrite iopsを測定する。そして、負荷計測部230は、計測負荷テーブル181を生成する。なお、計測負荷テーブル181は、負荷を測定した時間帯ごとに生成されて、例えばストレージ装置210の所定の記憶領域に格納される。なお、負荷計測部230による負荷の計測は、パケット収集部130がパケットを収集する時間帯T1と同じ時間帯で行われる。
[ステップS24]負荷計測部230は、継続して負荷を測定するか否かを判定する。継続して負荷を測定する場合、処理がステップS25に移される。継続して負荷を測定しない場合、処理が完了する。なお、負荷計測部230は、負荷の計測を定期的に取得することを管理者によって指定されたか否かにより、この判定を行うことができる。例えば、管理者により、一回だけ測定を行った計測負荷情報を取得する旨の操作入力が管理ノード100で行われた場合、管理ノード100からその旨の通知を受けて、一回だけ計測負荷情報を取得する。また、管理者により、定期的に(例えば、数分〜数時間の間隔)に計測負荷情報を取得する旨の操作入力が管理ノード100で行われた場合、管理ノード100からその旨の通知を受けて、継続してパケット収集を行うと判定する。
[ステップS25]負荷計測部230は、所定時間(定期測定に対応する時間)待機する。そして、処理がステップS23に移される。
このようにして、負荷計測部230は、ストレージ装置210に発生した負荷を測定して、計測負荷テーブル181を計測負荷情報として生成し、ストレージ装置210の所定の記憶領域に格納する。同様に、ストレージノード300では、計測負荷テーブル182が生成される。また、ストレージノード400では、計測負荷テーブル183が生成される。
計測負荷情報の取得は、解析負荷情報の取得の時間帯に合わせて、管理者の所望の時間帯で一度または所定回数だけ行われてもよいし、システム稼動中に定期的に行われてもよい。定期的に行われる場合、計測負荷情報は、時間帯T1の次は、時間帯T2,T3,T4,・・・と各時間帯に対応付けて順次生成される。また、ステップS22におけるピーク値の取得は、定期的に行われてもよい。
図16は、管理ノードの論理ボリューム負荷算出処理の手順を示すフローチャートである。以下、図16に示す処理をステップ番号に沿って説明する。
[ステップS31]計測負荷情報受信部170は、管理者の所定の操作入力によって指定される計算対象とするストレージノードを示す情報と対象の時間帯とを取得する。ここでは、計算対象とするストレージノードとしてストレージノード200が指定され、対象の時間帯として時間帯T1が指定されたものとする。
[ステップS32]計測負荷情報受信部170は、指定されたストレージノード200から指定された時間帯T1の計測負荷テーブル181を取得し、計測負荷情報記憶部180に格納する。なお、計測負荷情報受信部170は、定期的にストレージノード200,300,400から計測負荷テーブルを受信して、計測負荷情報記憶部180に格納するようにしてもよい。
[ステップS33]論理ボリューム負荷算出部190は、計測負荷情報記憶部180に記憶された計測負荷テーブル181から計測負荷の合計値X=“72%”を取得する。
[ステップS34]論理ボリューム負荷算出部190は、解析負荷情報記憶部160を参照して、ストレージノード200の時間帯T1における解析負荷情報であるストレージノード単位集計テーブル161aを取得する。
[ステップS35]論理ボリューム負荷算出部190は、ストレージノード単位集計テーブル161aから論理ボリューム910の解析負荷値として、Z0=“20%”を取得する。また、論理ボリューム910の解析負荷値として、Z1=“47%”を取得する。また、論理ボリューム930の解析負荷値として、Z2=“11%”を取得する。
[ステップS36]論理ボリューム負荷算出部190は、取得した解析負荷値Zn(n=0,1,2)の合計Y(=Z0+Z1+Z2)を算出する。具体的には、Y=“20%”+“47%”+“11%”=“78%”となる。
[ステップS37]論理ボリューム負荷算出部190は、上記ステップS33で得た計測負荷値Xと上記ステップS36で得た解析負荷値の合計Yとに基づいて、解析負荷値Znを補正して、論理ボリュームごとの負荷値Pn(n=0,1,2)を算出する。具体的には、Pn=Zn×(X/Y)の計算を行う。これにより、上記の例では、論理ボリューム910,920,930の負荷値として、それぞれP0=“18.5%”、P1=“43.4%”、P2=“10.2%”と求めることができる。
[ステップS38]論理ボリューム負荷算出部190は、継続して論理ボリュームごとの負荷値を算出するか否かを判定する。継続して負荷値を算出する場合、処理がステップS39に移される。継続して負荷値を算出しない場合、処理が完了する。論理ボリューム負荷算出部190は、例えば継続的に負荷値を算出するか否かの設定を予め受け付けているか否かによって、この判定を行うことができる。例えば、管理者の所定の操作入力により、一回だけ負荷値を算出するよう指示された場合は、継続して負荷値を算出しないと判定する。また、例えば、管理者の所定の操作入力により、予め継続して負荷値を算出するよう指示されている場合は、継続して負荷値を算出すると判定する。
[ステップS39]計測負荷情報受信部170は、管理者の所定の操作入力を受け付け、計算対象とするストレージノードを示す情報と対象の時間帯とを更新する。そして、処理がステップS32に移される。
このようにして、論理ボリューム負荷算出部190は、解析負荷情報記憶部160に記憶された解析負荷情報と、計測負荷情報記憶部180に記憶された計測負荷情報とに基づいて論理ボリュームごとの負荷値を算出する。論理ボリューム負荷算出部190は、算出結果を負荷表示部195に出力する。
なお、負荷値Pnの算出は、システムの稼動中に継続的に実行させることもできる。この場合、計測負荷情報受信部170は、上記ステップS39において、ストレージノード200,300,400について計算対象の時間帯を自動的に次の時間帯に更新するようにする。
図17は、論理ボリューム算出処理を示す模式図である。図17では、ストレージノード200の時間帯T1のピーク時に対する負荷を例示している。なお、図17に示す負荷は、ストレージノード200のread/writeを合計したiopsに相当するものである。
グラフ61は、パケット解析部150がパケット記憶部140に記憶されたパケット保存ファイル141のパケットの内容を解析して得られた論理ボリューム910,920,930についての負荷の内訳である。これは、ストレージノード単位集計テーブル161aに示したデータから求めた結果に対応する。グラフ61では、論理ボリューム910,920,930について、それぞれの解析負荷値が“20%”、“47%”、“11%”となっている。
グラフ62は、負荷計測部230が計測したストレージ装置210の実測の負荷である。これは、計測負荷テーブル181に示したデータから求めた結果に対応する。グラフ62では、ストレージ装置210における負荷値が“72%”となっている。
ここで、スイッチ装置10から収集したパケットを用いて負荷を見積もっても、実際にストレージノード200,300,400で発生している負荷と誤差が生じる可能性がある。例えば、アクセスノード600,700,800からストレージノード200,300,400にパケットが送信されたとしても、このパケットがネットワーク内を滞留してストレージノード側に到達するまでに時間が掛かる、あるいは、到達する前に破棄されてしまうことも考えられる。この場合、該当のパケットの処理は、ストレージノード200,300,400では実行されないので、この分だけ解析負荷値は、実際に発生した負荷よりも大きな値を見積もってしまうことになる。
これに対し、論理ボリューム負荷算出部190は、パケット解析部150が求めた解析負荷値を負荷計測部230によって実測された負荷値を用いて補正する。具体的には、測定負荷値をストレージ装置210で実際に発生した負荷として採用し、その内訳を解析負荷値として求めた論理ボリューム910,920,930の各負荷の比を用いて求める。
具体的には、グラフ61,62の各負荷値からグラフ63を求める。グラフ63では、論理ボリューム910,920,930について、それぞれの補正後の負荷値(以下、補正負荷値という)が“19%”、“43%”、“10%”となる。
このようにして、論理ボリューム負荷算出部190は、論理ボリューム910,920,930の負荷を精度良く求めることができる。
論理ボリューム負荷算出部190は、このようにして求めた負荷値を負荷表示部195に出力する。負荷表示部195は、論理ボリューム負荷算出部190から取得した情報を基にストレージノード200,300,400の負荷を示す画像を生成してモニタ11に表示する。管理者は、モニタ11に表示された画像の内容を閲覧して、論理ボリューム910,920,930の負荷を監視できる。
図18は、負荷表示画面の第1の例を示す図である。負荷表示ウィンドウ70は、負荷表示部195によって生成されてモニタ11に表示される。負荷表示ウィンドウ70には、グラフ71,72,73および表示切換ボタン74,75,76,77が設けられている。
グラフ71,72,73は、それぞれストレージノード200,300,400の論理ボリュームごとの最新の補正負荷値を示している。
表示切換ボタン74,75,76,77は、後述する他の負荷表示ウィンドウに表示内容を切り換えるためのボタンである。負荷表示部195は、管理者のマウス13などを用いた操作入力により、表示切換ボタン74,75,76,77の何れかが操作されたことを検知する。負荷表示部195は、表示切換ボタン74,75,76が操作されると、それぞれストレージノード200,300,400の時間経過に伴う負荷値の変化を示す内容に負荷表示ウィンドウを切り換える。また、負荷表示部195は、表示切換ボタン77が操作されると、論理ボリューム910,920,930それぞれの負荷指標を示す内容に負荷表示ウィンドウを切り換える。なお、表示切換ボタン77の“LVOL”の表示は、論理ボリューム(Logical Volume)を意味する。
負荷表示ウィンドウ70により、管理者は、ストレージノード200,300,400で発生している負荷を各論理ボリュームの内訳と共に監視できる。
図19は、負荷表示画面の第2の例を示す図である。負荷表示ウィンドウ80は、表示切換ボタン74が操作されると、負荷表示部195により生成されてモニタ11に表示される。負荷表示ウィンドウ80は、ストレージノード200に関する情報を表示するものである。表示切換ボタン75,76が操作された場合にも、ストレージノード300,400に関して、負荷表示ウィンドウ80と同様の内容のウィンドウが表示される。負荷表示ウィンドウ80には、グラフ81,82,83,84および戻るボタン85が設けられている。
グラフ81,82,83,84の横軸は時間(時刻)、縦軸は負荷(%単位)である。グラフ81,82,83は、論理ボリューム910,920,930の補正負荷値の時間遷移を示している。グラフ84は、グラフ81,82,83で示される負荷値の各時間における合計である。
戻るボタン85は、表示内容を負荷表示ウィンドウ70の内容に切り換えるためのボタンである。
負荷表示ウィンドウ80により、管理者は、ストレージノード200,300,400で発生した負荷の時間遷移を監視し、論理ボリュームごとに負荷の大きな時間帯や小さな時間帯などを的確に監視できる。
図20は、負荷表示画面の第3の例を示す図である。負荷表示ウィンドウ90は、表示切換ボタン77が操作されると、負荷表示部195により生成されてモニタ11に表示される。負荷表示ウィンドウ90には、グラフ91,92,93および戻るボタン94が設けられている。
グラフ91,92,93の横軸は論理ボリュームIDに対応し、縦軸は負荷(%単位)である。グラフ91,92,93は、論理ボリューム910,920,930それぞれの最新の負荷指標を示す。
この負荷指標は、例えば、負荷表示部195によって次のように決定される。
(1)負荷表示部195は、負荷表示ウィンドウ70に表示した内容を参照する。
(2)負荷表示部195は、ストレージノード200,300,400において論理ボリューム910,920,930の計測負荷値(補正後負荷値の合計に相当する)を抽出する。負荷表示ウィンドウ70の例では、ストレージノード200,300,400の計測負荷値が、それぞれ“72%”、“45%”、“85%”である。
(3)負荷表示部195は、該当の論理ボリュームに対する負荷が発生しているストレージノードのうち、計測負荷値が最も大きいものを該当の論理ボリュームの負荷指標とする。例えば、ストレージノード200,300,400の負荷が負荷表示ウィンドウ70のように求められた場合、論理ボリューム910の負荷指標が、ストレージノード400の計測負荷値である“85%”と決定される(グラフ91が該当する)。また、論理ボリューム920の負荷指標がストレージノード400の計測負荷値である“85%”と決定される(グラフ92が該当する)。また、論理ボリューム930の負荷指標が、ストレージノード200の計測負荷値である“72%”と決定される(グラフ93が該当する)。
このように、負荷表示部195は、論理ボリューム910,920,930の負荷指標をボトルネックとなっているストレージノードの負荷により決定する。
戻るボタン94は、表示内容を負荷表示ウィンドウ70の内容に切り換えるためのボタンである。
ここで、論理ボリュームごとの負荷を監視しようとする場合、従来では、ストレージノードごとに多数の負荷指標を測定し、その中から必要な情報を管理者が取捨しなければならず、管理者の負担となっていた。
一方、負荷表示部195は、論理ボリュームごとの負荷指標を単一の指標に集約して負荷表示ウィンドウ90を生成し、モニタ11に表示する。すなわち、負荷表示ウィンドウ90により、管理者は、論理ボリューム910,920,930で発生している負荷を容易に判断することができる。
以上で説明したように、管理ノード100は、アクセスノード600,700,800からストレージノード200,300,400に対する処理要求のパケットをスイッチ装置10から収集する。そして、処理要求先の論理ボリューム910,920,930単位で収集したパケットを集計し、各論理ボリュームで発生する負荷の内訳を算出する。更に、管理ノード100は、ストレージノード200,300,400で測定された負荷を取得し、取得した負荷と算出した内訳とに基づき論理ボリューム910,920,930それぞれの負荷を評価する。
これにより、論理ボリュームごとの負荷を容易に取得することができる。すなわち、ストレージノード200,300,400において、論理ボリュームごとに負荷を収集する機能が不要となる。また、このための機能を付加する必要もなく、そのためのコストも不要となる。
特に、管理ノード100は、論理ボリューム910,920,930に対するデータのread/writeの要求を区別して取得し、これらを合計したものを負荷の評価対象とする。このような情報に対応する負荷は、ストレージノード200,300,400のOSなどが提供する機能により容易に取得することが可能である。例えば、ストレージノード200,300,400において、read/writeの要求に応じて発生したiopsを対応付けることができる。
このように、スイッチ装置10から収集したパケットとストレージノード200,300,400から取得可能な負荷の情報とを用いて管理ノード100で演算するのみなので、ストレージノード200,300,400などに生じるシステム変更も最小限で済む。
また、管理ノード100は、パケットに設けられた所定のヘッダ部やデータ部の情報を分析することでパケットの送信先や処理対象の論理ボリュームの物理的なアドレス(スライス)を特定できるので、導入も容易である。
なお、ストレージノード200,300,400から取得する負荷情報は、iopsに限らず、処理要求(read/write等)のパケットの数と比例関係などの対応付けが可能な負荷情報であればよい。
なお、上記の管理ノード100の機能は、その機能の処理内容を記述したプログラムをコンピュータに実行させることで実現できる。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。光磁気記録媒体には、MO(Magneto-Optical disc)などがある。
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
以上、本件の管理プログラム、管理装置および管理方法を図示の実施の形態に基づいて説明したが、これらに限定されるものではなく、各部の構成は同様の機能を有する任意の構成のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。更に、前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。
説明した実施の形態の主な技術的特徴は、以下の付記の通りである。
(付記1) アクセスノードとストレージノードとがネットワークを介して接続され、前記ストレージノード内の複数の論理ボリュームの何れかに対応付けられた複数の記憶領域に前記アクセスノードが扱うデータを格納するストレージシステムを、前記ストレージノードに前記ネットワークを介して接続されたコンピュータに管理させる管理プログラムであって、
前記コンピュータを、
前記複数の記憶領域それぞれに対する複数の処理要求を取得し、前記ストレージノード内の前記複数の記憶領域と前記複数の論理ボリュームとの対応関係を記憶する論理ボリューム割当情報記憶手段を参照し、前記各処理要求の処理対象となる記憶領域に対応する論理ボリュームを判定する論理ボリューム判定手段、
前記論理ボリューム判定手段による判定結果に基づいて、前記各論理ボリュームにつき前記各処理要求の取得数を計数し、前記各取得数の合計に対する前記各取得数の割合を算出する処理要求内訳計算手段、
として機能させることを特徴とする管理プログラム。
(付記2) 前記処理要求内訳計算手段は、前記各割合を前記各論理ボリュームに対応付けて管理情報記憶手段に格納しており、
前記コンピュータを、更に、
前記複数の処理要求に応じて前記ストレージノードで発生した負荷を示す負荷情報を取得し、取得した前記負荷情報を前記管理情報記憶手段に格納する負荷情報取得手段、
前記管理情報記憶手段に記憶された前記各割合と前記負荷情報とに基づいて、前記各論理ボリュームの負荷を示す論理ボリューム負荷値を算出する論理ボリューム負荷算出手段、
として機能させることを特徴とする付記1記載の管理プログラム。
(付記3) 前記論理ボリューム判定手段は、前記各論理ボリュームに対するデータの読み出し要求とデータの書き込み要求とに区別して前記論理ボリュームの判定を行い、
前記処理要求内訳計算手段は、取得した前記読み出し要求の数と前記書き込み要求の数とを合計して前記各取得数を計数する、
ことを特徴とする付記2記載の管理プログラム。
(付記4) 前記負荷情報取得手段は、前記ストレージノードで取得され、当該ストレージノードに対するデータの読み出し要求とデータの書き込み要求とに応じて発生した単位時間当たりのデータの入出力数に基づく負荷を示す値を含む前記負荷情報を取得することを特徴とする付記3記載の管理プログラム。
(付記5) 前記論理ボリューム負荷算出手段は、前記負荷情報に含まれる前記単位時間当たりのデータの入出力数に基づく負荷を示す値を前記各割合の比で割ることで前記各論理ボリュームの前記論理ボリューム負荷値を算出することを特徴とする付記4記載の管理プログラム。
(付記6) 前記論理ボリューム判定手段は、前記処理要求のヘッダ部に含まれる当該処理要求の送信先の所定のアドレス情報に基づいて当該処理要求の送信先の前記ストレージノードを特定し、当該処理要求のデータ部に含まれる前記記憶領域の所定の物理アドレス情報に基づいて、当該処理要求による処理対象の前記論理ボリュームを特定することを特徴とする付記1乃至5の何れか1つに記載の管理プログラム。
(付記7) 前記処理要求内訳計算手段は、更に前記複数の処理要求を取得した第1の時間帯を示す情報と前記各割合とを対応付けて前記管理情報記憶手段に格納し、
前記負荷情報取得手段は、前記負荷情報を当該負荷情報が取得された第2の時間帯を示す情報に対応付けて前記管理情報記憶手段に格納し、
前記論理ボリューム負荷算出手段は、前記管理情報記憶手段に記憶された前記第1の時間帯と前記第2の時間帯とが一致する前記各割合と前記負荷情報とを抽出して、前記各論理ボリュームの前記論理ボリューム負荷値を算出する、
ことを特徴とする付記2乃至6の何れか1つに記載の管理プログラム。
(付記8) 前記ストレージシステムには、複数のストレージノードが接続され、
前記論理ボリューム判定手段は、前記複数の処理要求に基づいて、前記各ストレージノードの前記各論理ボリュームの判定を行い、
前記処理要求内訳計算手段は、前記各論理ボリュームにつき前記各割合を算出し、算出した前記各割合を前記各ストレージノードの前記各論理ボリュームに対応付けて前記管理情報記憶手段に格納し、
前記負荷情報取得手段は、前記各ストレージノードから前記負荷情報を取得し、取得した前記負荷情報を前記管理情報記憶手段に格納し、
前記論理ボリューム負荷算出手段は、前記管理情報記憶手段に記憶された前記各割合と前記各負荷情報とに基づいて、前記各ストレージノードの各論理ボリュームの前記論理ボリューム負荷値を算出する、
ことを特徴とする付記2乃至7の何れか1つに記載の管理プログラム。
(付記9) 前記論理ボリュームは、前記複数のストレージノードに跨って設けられており、
前記コンピュータを、更に、
前記各ストレージノードの前記各論理ボリュームの負荷値の合計を求め、負荷算出対象の論理ボリュームの負荷が内訳として含まれる前記各合計のうちの最大値を当該論理ボリュームの負荷指標と決定し、決定した前記各論理ボリュームの負荷指標を表示装置に表示させる負荷表示手段、
として機能させることを特徴とする付記8記載の管理プログラム。
(付記10) アクセスノードとストレージノードとがネットワークを介して接続され、前記ストレージノード内の複数の論理ボリュームの何れかに対応付けられた複数の記憶領域に前記アクセスノードが扱うデータを格納するストレージシステムと前記ネットワークを介して接続され、前記ストレージシステムを管理する管理装置であって、
前記複数の記憶領域それぞれに対する複数の処理要求を取得し、前記ストレージノード内の前記複数の記憶領域と前記複数の論理ボリュームとの対応関係を記憶する論理ボリューム割当情報記憶部を参照し、前記各処理要求の処理対象となる記憶領域に対応する論理ボリュームを判定する論理ボリューム判定部と、
前記論理ボリューム判定部による判定結果に基づいて、前記各論理ボリュームにつき前記各処理要求の取得数を計数し、前記各取得数の合計に対する前記各取得数の割合を算出する処理要求内訳計算部と、
を有することを特徴とする管理装置。
(付記11) アクセスノードとストレージノードとがネットワークを介して接続され、前記ストレージノード内の複数の論理ボリュームの何れかに対応付けられた複数の記憶領域に前記アクセスノードが扱うデータを格納するストレージシステムと前記ネットワークを介して接続され、前記ストレージシステムを管理するコンピュータの管理方法であって、
論理ボリューム判定手段が、前記複数の記憶領域それぞれに対する複数の処理要求を取得し、前記ストレージノード内の前記複数の記憶領域と前記複数の論理ボリュームとの対応関係を記憶する論理ボリューム割当情報記憶手段を参照し、前記各処理要求の処理対象となる記憶領域に対応する論理ボリュームを判定し、
処理要求内訳計算手段が、前記論理ボリューム判定手段による判定結果に基づいて、前記各論理ボリュームにつき前記各処理要求の取得数を計数し、前記各取得数の合計に対する前記各取得数の割合を算出する、
ことを特徴とする管理方法。
1 管理ノード
1a 論理ボリューム割当情報記憶手段
1b 論理ボリューム判定手段
1c 処理要求内訳計算手段
2 ストレージノード
2a,2b,2c 記憶領域
3 アクセスノード
4 処理要求

Claims (8)

  1. 複数の論理ボリュームのいずれかに対応付けられた記憶領域を複数有するストレージノードと、前記ストレージノードの複数の記憶領域が記憶するデータを要求するアクセスノードとを管理するとともに、前記複数の記憶領域と前記複数の論理ボリュームとの対応関係を記憶する記憶部を有する管理装置の管理プログラムにおいて
    前記管理装置が有する判定部に、前記対応関係に基づいて、前記アクセスノードが要求したデータが記憶された記憶領域に対応する論理ボリュームを判定させ、
    前記管理装置が有する算出部に、前記判定部による判定結果に基づいて、前記複数の論理ボリューム毎にデータが要求された要求回数を計数し、計数した要求回数の合計に対する各要求回数の割合を算出させることを特徴とする管理装置の管理プログラム。
  2. 前記管理装置が有する取得部に、前記複数の論理ボリュームへのデータの要求に応じて前記ストレージノードで発生した負荷を示す負荷情報を取得させ、
    前記管理装置が有する負荷算出部に、前記複数の論理ボリューム毎に算出された前記各割合と前記負荷情報とに基づいて、前記各論理ボリュームの負荷を示す論理ボリューム負荷値を算出させる
    とを特徴とする請求項1記載の管理プログラム。
  3. 前記判定部に、前記各論理ボリュームに対するデータの読み出し要求とデータの書き込み要求とを区別して前記論理ボリュームを判定させ
    前記算出部に、取得した前記読み出し要求の数と前記書き込み要求の数とを合計して前記複数の論理ボリューム毎にデータが要求された要求回数を計数させる
    ことを特徴とする請求項2記載の管理プログラム。
  4. 前記取得部に、前記ストレージノードで取得され、当該ストレージノードに対するデータの読み出し要求とデータの書き込み要求とに応じて発生した単位時間当たりのデータの入出力数に基づく負荷を示す値を含む前記負荷情報を取得させることを特徴とする請求項3記載の管理プログラム。
  5. 前記負荷算出部に、前記負荷情報に含まれる前記単位時間当たりのデータの入出力数に基づく負荷を示す値を前記各割合の比で割ることで前記各論理ボリュームの前記論理ボリューム負荷値を算出させることを特徴とする請求項4記載の管理プログラム。
  6. 複数の論理ボリュームのいずれかに対応付けられた記憶領域を複数有するストレージノードと、前記ストレージノードの複数の記憶領域が記憶するデータを要求するアクセスノードとを管理する管理装置において
    前記複数の記憶領域と前記複数の論理ボリュームとの対応関係を記憶する記憶部と、
    前記対応関係に基づいて、前記アクセスノードが要求したデータが記憶された記憶領域に対応する論理ボリュームを判定する判定部と、
    記判定部による判定結果に基づいて、前記複数の論理ボリューム毎にデータが要求された要求回数を計数し、計数した要求回数の合計に対する各要求回数の割合を算出する算出部を有することを特徴とする管理装置。
  7. 複数の論理ボリュームのいずれかに対応付けられた記憶領域を複数有するストレージノードと、前記ストレージノードの複数の記憶領域が記憶するデータを要求するアクセスノードとを管理するとともに、前記複数の記憶領域と前記複数の論理ボリュームとの対応関係を記憶する記憶部を有する管理装置の管理方法において
    前記管理装置が有する判定部が、前記対応関係に基づいて、前記アクセスノードが要求したデータが記憶された記憶領域に対応する論理ボリュームを判定し、
    前記管理装置が有する算出部が前記判定部による判定結果に基づいて、前記複数の論理ボリューム毎にデータが要求された要求回数を計数し、計数した要求回数の合計に対する各要求回数の割合を算出することを特徴とする管理装置の管理方法。
  8. 複数の論理ボリュームのいずれかに対応付けられた記憶領域を複数有するストレージノードと、前記ストレージノードの複数の記憶領域が記憶するデータを要求するアクセスノードと、前記ストレージノードと前記アクセスノードを管理する管理装置とを有するストレージシステムにおいて、
    前記管理装置は、
    前記複数の記憶領域と前記複数の論理ボリュームとの対応関係を記憶する記憶部と、
    前記対応関係に基づいて、前記アクセスノードが要求したデータが記憶された記憶領域に対応する論理ボリュームを判定する判定部と、
    前記判定部による判定結果に基づいて、前記複数の論理ボリューム毎にデータが要求された要求回数を計数し、計数した要求回数の合計に対する各要求回数の割合を算出する算出部を有することを特徴とするストレージシステム。
JP2009057306A 2009-03-11 2009-03-11 管理装置の管理プログラム、管理装置、管理装置の管理方法およびストレージシステム Expired - Fee Related JP5245934B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009057306A JP5245934B2 (ja) 2009-03-11 2009-03-11 管理装置の管理プログラム、管理装置、管理装置の管理方法およびストレージシステム
US12/618,148 US8281102B2 (en) 2009-03-11 2009-11-13 Computer-readable recording medium storing management program, management apparatus, and management method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009057306A JP5245934B2 (ja) 2009-03-11 2009-03-11 管理装置の管理プログラム、管理装置、管理装置の管理方法およびストレージシステム

Publications (2)

Publication Number Publication Date
JP2010211549A JP2010211549A (ja) 2010-09-24
JP5245934B2 true JP5245934B2 (ja) 2013-07-24

Family

ID=42731636

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009057306A Expired - Fee Related JP5245934B2 (ja) 2009-03-11 2009-03-11 管理装置の管理プログラム、管理装置、管理装置の管理方法およびストレージシステム

Country Status (2)

Country Link
US (1) US8281102B2 (ja)
JP (1) JP5245934B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9135115B2 (en) * 2010-02-27 2015-09-15 Cleversafe, Inc. Storing data in multiple formats including a dispersed storage format
US9348515B2 (en) * 2011-01-17 2016-05-24 Hitachi, Ltd. Computer system, management computer and storage management method for managing data configuration based on statistical information
EP3783485A1 (en) * 2011-12-27 2021-02-24 Netapp, Inc. Proportional quality of service based on client usage and system metrics
KR102581479B1 (ko) 2016-05-31 2023-09-21 삼성전자주식회사 스토리지 시스템 및 그의 볼륨 관리 방법
JP6974706B2 (ja) * 2017-08-14 2021-12-01 富士通株式会社 情報処理装置、ストレージシステムおよびプログラム
US10592340B2 (en) * 2018-02-28 2020-03-17 International Business Machines Corporation Dynamic authorization batching in a dispersed storage network
CN111124283A (zh) * 2019-11-29 2020-05-08 浪潮(北京)电子信息产业有限公司 一种存储空间管理方法、系统、电子设备及存储介质
US11163496B1 (en) * 2020-07-01 2021-11-02 EMC IP Holding Company LLC Systems and methods of updating persistent statistics on a multi-transactional and multi-node storage system
US12086409B2 (en) * 2022-08-31 2024-09-10 Pure Storage, Inc. Optimizing data deletion in a storage system

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1145203A (ja) * 1997-07-28 1999-02-16 Matsushita Electric Ind Co Ltd ファイル管理装置
JP2000242434A (ja) * 1998-12-22 2000-09-08 Hitachi Ltd 記憶装置システム
EP1260061A2 (en) * 2000-02-22 2002-11-27 Top Layer Networks, Inc. System and method for flow mirroring in a network switch
JP4041284B2 (ja) * 2001-01-23 2008-01-30 株式会社日立製作所 記憶装置システム
JP4009434B2 (ja) * 2001-04-18 2007-11-14 株式会社日立製作所 磁気ディスク装置間結合装置
JP2003296039A (ja) 2002-04-02 2003-10-17 Hitachi Ltd クラスタ構成記憶システム及び制御方法
JP4418286B2 (ja) 2003-07-14 2010-02-17 富士通株式会社 分散型ストレージシステム
JP4421230B2 (ja) * 2003-08-12 2010-02-24 株式会社日立製作所 性能情報分析方法
JP4690783B2 (ja) * 2005-06-08 2011-06-01 株式会社日立製作所 ボリューム管理システムおよびその方法
JP4749140B2 (ja) * 2005-12-05 2011-08-17 株式会社日立製作所 データマイグレーション方法及びシステム
JP4414409B2 (ja) * 2006-04-24 2010-02-10 富士通株式会社 ディスク装置、ディスク制御方法及びプログラム
US8069191B2 (en) * 2006-07-13 2011-11-29 International Business Machines Corporation Method, an apparatus and a system for managing a snapshot storage pool
JP2008186211A (ja) * 2007-01-30 2008-08-14 Hitachi Ltd 計算機システム
WO2008136075A1 (ja) * 2007-04-20 2008-11-13 Fujitsu Limited ストレージ管理プログラム、ストレージ管理装置およびストレージ管理方法
JP5104529B2 (ja) * 2008-05-08 2012-12-19 富士通株式会社 分析支援プログラム、分析支援方法および分析支援装置
JP5192932B2 (ja) * 2008-07-23 2013-05-08 株式会社日立製作所 ストレージシステム内の論理ユニットを論理ボリュームに割り当てる方法及び記憶制御装置

Also Published As

Publication number Publication date
US20100235604A1 (en) 2010-09-16
US8281102B2 (en) 2012-10-02
JP2010211549A (ja) 2010-09-24

Similar Documents

Publication Publication Date Title
JP5245934B2 (ja) 管理装置の管理プログラム、管理装置、管理装置の管理方法およびストレージシステム
JP6248560B2 (ja) 管理プログラム、管理方法、および管理装置
US9477407B1 (en) Intelligent migration of a virtual storage unit to another data storage system
US8527238B2 (en) Storage input/output utilization associated with a software application
JP4723925B2 (ja) ボリューム活動に従ってストレージポリシーをコントロールするための方法
JP4343578B2 (ja) ストレージ運用管理システム
JP4516306B2 (ja) ストレージネットワークの性能情報を収集する方法
US10013170B1 (en) Intelligent data compression
JP4749140B2 (ja) データマイグレーション方法及びシステム
US7647450B2 (en) Method, computer and computer system for monitoring performance
JP5546686B2 (ja) 監視システム、及び監視方法
US20110320754A1 (en) Management system for storage system and method for managing storage system
US9146793B2 (en) Management system and management method
US20070078961A1 (en) Method for distributing data input/output load
WO2012020471A1 (ja) 計算機システムの管理方法、及び管理システム
JP5222876B2 (ja) 計算機システムにおけるシステム管理方法、及び管理システム
US8467281B1 (en) Techniques for identifying devices having slow response times
KR20120102664A (ko) 미래 사용 추정에 기반한 저장 메모리 할당
JP2006107126A (ja) ストレージネットワーク性能情報の収集・保存方法及び計算機システム並びにプログラム
US8656012B2 (en) Management computer, storage system management method, and storage system
WO2010099992A1 (en) Method, system and computer program product for managing the placement of storage data in a multi tier virtualized storage infrastructure
US9317224B1 (en) Quantifying utilization of a data storage system by a virtual storage unit
US10579433B2 (en) Storage system and information management method having a representative node and a plurality of general nodes including a plurality of resources
US20140058717A1 (en) Simulation system for simulating i/o performance of volume and simulation method
JP2011197804A (ja) 負荷解析プログラム、負荷解析方法、および負荷解析装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111107

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120928

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121030

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121228

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130325

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

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees