[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

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

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

Info

Publication number
JP5099128B2
JP5099128B2 JP2009512810A JP2009512810A JP5099128B2 JP 5099128 B2 JP5099128 B2 JP 5099128B2 JP 2009512810 A JP2009512810 A JP 2009512810A JP 2009512810 A JP2009512810 A JP 2009512810A JP 5099128 B2 JP5099128 B2 JP 5099128B2
Authority
JP
Japan
Prior art keywords
data
storage
node
load
management information
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
JP2009512810A
Other languages
English (en)
Other versions
JPWO2008136075A1 (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
Publication of JPWO2008136075A1 publication Critical patent/JPWO2008136075A1/ja
Application granted granted Critical
Publication of JP5099128B2 publication Critical patent/JP5099128B2/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/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Exchange Systems With Centralized Control (AREA)

Description

本発明はストレージシステムのデータ配置状況を管理するストレージ管理プログラム、ストレージ管理装置およびストレージ管理方法に関し、特に複数のストレージノードに分散してデータを配置する分散ストレージシステムのデータ配置状況を管理するストレージ管理プログラム、ストレージ管理装置およびストレージ管理方法に関する。
現在、コンピュータによる情報処理が普及するに伴い、データを蓄積するストレージシステムの高機能化の要求が一層高まっている。例えば、大量のデータを読み書きする処理が高速であること、すなわち、高性能化が求められている。また、ストレージシステムを構成するハードウェアの一部に障害が発生しても蓄積したデータが消失しないこと、すなわち、高信頼化が求められている。
このような高性能化・高信頼化の要求に応えるストレージシステムとして、分散ストレージシステムが知られている。分散ストレージシステムでは、ネットワークで接続された複数のストレージノードにデータが分散して配置される。また、分散ストレージシステムでは、同一内容のデータが複数のストレージノードに重複して配置されることが多い。すなわち、複数のストレージノードを用いて、負荷の分散化およびデータの冗長化が行われる。これにより、ストレージシステムの応答性能および信頼性を高めることができる。
ところで、分散ストレージシステムの運用時には、データの追加や削除に伴って、データの配置状況が絶えず変化する。ここで、頻繁にアクセス要求があるデータが特定のストレージノードに集中して配置されると、負荷の分散が不十分となり、応答性能が低下する。従って、分散ストレージシステムの応答性能を高く維持するためには、運用時に個々のストレージノードの負荷を考慮してデータの配置を管理する必要がある。
具体的には、分散ストレージシステムの応答性能を高く維持する管理方法として、以下の方法が知られている。第1の方法は、アクセス要求を受け付けたときに、動的にアクセス先のストレージノードを判定する方法である。すなわち、分散ストレージシステムは、アクセス要求があったデータが複数のストレージノードに重複して配置されている場合、アクセス要求時に最も負荷が小さいストレージノードをアクセス先とする(例えば、特許文献1,2参照)。一方、第2の方法は、ストレージノード間でアクセス要求の量ができる限り均等になるように、データ自体を自動的に移動する方法である(例えば、特許文献3参照)。これにより、特定のストレージノードに負荷が集中することを防止できる。
特開昭63−56873号公報 特開平11−161555号公報 特開2005−276017号公報
しかし、上記特許文献1〜3に記載の技術には以下のような問題がある。特許文献1,2に記載の動的な負荷分散の技術では、アクセス要求元とストレージノードとの間で、アクセス要求毎に必ずアクセス先を判定する処理が実行される。このため、データの配置管理を実現する仕組みが複雑になると共に、アクセス先を判定する処理だけ応答が遅くなる。また、特許文献3に記載のデータの自動移動の技術では、データの移動自体がストレージノードに負荷を与える。このため、データ移動中の応答が遅くなる。また、データの移動を繰り返すと、ディスク装置などのハードウェアへの負担が大きくなり、故障の原因ともなる。
本発明はこのような点に鑑みてなされたものであり、データの冗長化がなされている分散ストレージシステムにおいて、ストレージノード間の負荷分散を容易に実現するストレージ管理プログラム、ストレージ管理装置およびストレージ管理方法を提供することを目的とする。
本発明では、上記課題を解決するために、図1に示すストレージ管理プログラムが提供される。本発明に係るストレージ管理プログラムは、同一内容の複数のデータをネットワークで接続された複数のストレージノードに分散して配置する分散ストレージシステムのデータ配置状況を管理するものである。ストレージ管理プログラムを実行するコンピュータ1は、管理情報記憶手段1a、負荷情報収集手段1b、交換対象検出手段1c、管理情報更新手段1dおよび管理情報を提供する手段を有する。管理情報記憶手段1aは、同一内容の複数のデータから、アクセス要求時にアクセス先として使用する主データとバックアップとして使用する副データとを示しており主データおよび副データそれぞれの配置先のストレージノードを登録した管理情報を記憶する。負荷情報収集手段1bは、ストレージノード2,3,4の負荷情報を継続的に収集する。交換対象検出手段1cは、管理情報記憶手段1aが記憶する管理情報と負荷情報収集手段1bが収集した負荷情報とに基づいて、主データの配置先のストレージノードと副データの配置先のストレージノードとの間で各配置先のストレージノードの負荷の差が所定の許容量を超える、同一内容の主データと副データとの組を交換対象として検出する。管理情報更新手段1dは、交換対象検出手段1cが検出した1組のデータの間で主データと副データとの役割を交換するように、管理情報記憶手段1aが記憶する管理情報を更新する。管理情報を提供する手段は、複数のストレージノードのうちアクセス先のストレージノードを管理情報に基づいて選択し当該アクセス先のストレージノードに格納されたアクセス先のデータが副データであるために当該アクセス先のストレージノードにより当該データへのアクセスが拒否されると管理情報の参照要求を送信し当該参照要求に応じて取得した管理情報に基づいてアクセス先のストレージノードを再選択するアクセスノードから、参照要求を受信すると、アクセスノードに、更新後の管理情報を提供する。
このようなストレージ管理プログラムを実行するコンピュータ1によれば、負荷情報収集手段1bにより、ストレージノード2,3,4の負荷情報が継続的に収集される。交換対象検出手段1cにより、主データの配置先の負荷と副データの配置先の負荷との差が所定の許容量を超えるような、同一内容の主データと副データとの組が検出される。そして、管理情報更新手段1dにより、検出された1組のデータの間で主データと副データの役割が交換される。すなわち、交換前にバックアップ用であったデータがアクセス用のデータとなり、交換前にアクセス用であったデータがバックアップ用のデータとなる。更に、管理情報を提供する手段により、複数のストレージノードのうちアクセス先のストレージノードを管理情報に基づいて選択し当該アクセス先のストレージノードに格納されたアクセス先のデータが副データであるために当該アクセス先のストレージノードにより当該データへのアクセスが拒否されると管理情報の参照要求を送信し当該参照要求に応じて取得した管理情報に基づいてアクセス先のストレージノードを再選択するアクセスノードから、参照要求が受信されると、アクセスノードに、更新後の管理情報が提供される。
また、上記課題を解決するために、同一内容の複数のデータをネットワークで接続された複数のストレージノードに分散して配置する分散ストレージシステムのデータ配置状況を管理するストレージ管理装置において、同一内容の複数のデータから、アクセス要求時にアクセス先として使用する主データとバックアップとして使用する副データとを示しており主データおよび副データそれぞれの配置先のストレージノードを登録した管理情報を記憶する管理情報記憶手段と、ストレージノードの負荷情報を継続的に収集する負荷情報収集手段と、管理情報記憶手段が記憶する管理情報と負荷情報収集手段が収集した負荷情報とに基づいて、主データの配置先のストレージノードと副データの配置先のストレージノードとの間で各配置先のストレージノードの負荷の差が所定の許容量を超える、同一内容の主データと副データとの組を交換対象として検出する交換対象検出手段と、交換対象検出手段が検出した1組のデータの間で主データと副データとの役割を交換するように、管理情報記憶手段が記憶する管理情報を更新する管理情報更新手段と、複数のストレージノードのうちアクセス先のストレージノードを管理情報に基づいて選択し当該アクセス先のストレージノードに格納されたアクセス先のデータが副データであるために当該アクセス先のストレージノードにより当該データへのアクセスが拒否されると管理情報の参照要求を送信し当該参照要求に応じて取得した管理情報に基づいてアクセス先のストレージノードを再選択するアクセスノードから、参照要求を受信すると、アクセスノードに、更新後の管理情報を提供する手段と、を有することを特徴とするストレージ管理装置が提供される。
このようなストレージ管理装置によれば、負荷情報収集手段により、ストレージノードの負荷情報が継続的に収集される。交換対象検出手段により、主データの配置先のストレージノードの負荷と副データの配置先のストレージノードの負荷との差が所定の許容量を超えるような、同一内容の主データと副データとの組が検出される。そして、管理情報更新手段により、検出された1組のデータの間で主データと副データの役割が交換される。すなわち、交換前にバックアップ用であったデータがアクセス用のデータとなり、交換前にアクセス用であったデータがバックアップ用のデータとなる。更に、複数のストレージノードのうちアクセス先のストレージノードを管理情報に基づいて選択し当該アクセス先のストレージノードに格納されたアクセス先のデータが副データであるために当該アクセス先のストレージノードにより当該データへのアクセスが拒否されると管理情報の参照要求を送信し当該参照要求に応じて取得した管理情報に基づいてアクセス先のストレージノードを再選択するアクセスノードから、参照要求が受信されると、アクセスノードに、更新後の管理情報が提供される。
また、上記課題を解決するために、同一内容の複数のデータをネットワークで接続された複数のストレージノードに分散して配置する分散ストレージシステムのデータ配置状況を管理するコンピュータによるストレージ管理方法において、コンピュータが、ストレージノードの負荷情報を継続的に収集し、同一内容の複数のデータからアクセス要求時にアクセス先として使用する主データとバックアップとして使用する副データとを示しており主データおよび副データそれぞれの配置先のストレージノードを登録した管理情報記憶手段が記憶する管理情報と、収集した負荷情報とに基づいて、主データの配置先のストレージノードと副データの配置先のストレージノードとの間で各配置先のストレージノードの負荷の差が所定の許容量を超える、同一内容の主データと副データとの組を交換対象として検出し、検出した1組のデータの間で主データと副データとの役割を交換するように、管理情報記憶手段が記憶する管理情報を更新し、複数のストレージノードのうちアクセス先のストレージノードを管理情報に基づいて選択し当該アクセス先のストレージノードに格納されたアクセス先のデータが副データであるために当該アクセス先のストレージノードにより当該データへのアクセスが拒否されると管理情報の参照要求を送信し当該参照要求に応じて取得した管理情報に基づいてアクセス先のストレージノードを再選択するアクセスノードから、参照要求を受信すると、アクセスノードに、更新後の管理情報を提供することを特徴とするストレージ管理方法が提供される。
このようなストレージ管理方法によれば、まずストレージノードの負荷情報が継続的に収集される。次に、主データの配置先のストレージノードの負荷と副データの配置先のストレージノードの負荷との差が所定の許容量を超えるような、同一内容の主データと副データとの組が検出される。そして、検出された1組のデータの間で主データと副データの役割が交換される。すなわち、交換前にバックアップ用であったデータがアクセス用のデータとなり、交換前にアクセス用であったデータがバックアップ用のデータとなる。更に、複数のストレージノードのうちアクセス先のストレージノードを管理情報に基づいて選択し当該アクセス先のストレージノードに格納されたアクセス先のデータが副データであるために当該アクセス先のストレージノードにより当該データへのアクセスが拒否されると管理情報の参照要求を送信し当該参照要求に応じて取得した管理情報に基づいてアクセス先のストレージノードを再選択するアクセスノードから、参照要求が受信されると、アクセスノードに、更新後の管理情報が提供される。
本発明では、アクセス用の主データが配置されたストレージノードとバックアップ用の副データが配置されたストレージノードとの間で負荷が所定の許容値を超えると、設定を変更し、主データと副データの役割を交換することとした。これにより、データを移動することなく、当該データのアクセス先のストレージノードが変更される。このとき、アクセス要求単位でアクセス先が判定されるわけではない。従って、負荷分散の処理自体が原因で応答が遅くなることを防止し、分散ストレージシステムの応答性能を確実に高めることができる。
本発明の上記および他の目的、特徴および利点は本発明の例として好ましい実施の形態を表す添付の図面と関連した以下の説明により明らかになるであろう。
本実施の形態の概要を示す図である。 本実施の形態のシステム構成を示す図である。 ストレージノードのハードウェア構成を示す図である。 コントロールノードのハードウェア構成を示す図である。 論理ボリュームのデータ構造を示す第1の模式図である。 ストレージノードの機能を示すブロック図である。 コントロールノードおよびアクセスノードの機能を示すブロック図である。 スライス情報テーブルのデータ構造例を示す図である。 ボリューム情報テーブルのデータ構造例を示す図である。 負荷情報テーブルのデータ構造例を示す図である。 第1の種別変更処理の手順を示すフローチャートである。 第2の種別変更処理の手順を示すフローチャートである。 論理ボリュームのデータ構造を示す第2の模式図である。 種別一斉変更処理の手順を示すフローチャートである。 アクセスノードからのデータアクセスの流れを示すシーケンス図である。
以下、本発明の実施の形態を図面を参照して説明する。まず、本実施の形態の概要について説明し、その後、本実施の形態の具体的な内容を説明する。
図1は、本実施の形態の概要を示す図である。図1に示す分散ストレージシステムは、コンピュータ1、ストレージノード2,3,4、コンピュータ5およびネットワーク6から構成される。コンピュータ1、ストレージノード2,3,4およびコンピュータ5は、ネットワーク6に接続されている。
コンピュータ1は、ストレージノード2,3,4に配置されたデータの配置状況を管理する。コンピュータ1は、管理情報記憶手段1a、負荷情報収集手段1b、交換対象検出手段1cおよび管理情報更新手段1dを有する。
管理情報記憶手段1aには、管理情報が格納されている。管理情報は、データの配置状況を管理する情報である。具体的には、管理情報には、データそれぞれの配置先のストレージノードが登録されている。また、同一内容の複数のデータがストレージノード2,3,4に分散されて配置されている場合、アクセス要求時にアクセス先として使用する主データとバックアップとして使用する副データとが指定されている。
負荷情報収集手段1bは、ストレージノード2,3,4の負荷情報を収集する。負荷情報には、例えば、CPU(Central Processing Unit)の負荷、受け付けたアクセス要求の数、ネットワーク使用率などが含まれる。負荷情報収集手段1bは、最新の負荷情報を継続的に収集する。
交換対象検出手段1cは、管理情報記憶手段1aに格納された管理情報と、負荷情報収集手段1bによって収集された負荷情報とに基づいて、所定の条件を具備する同一内容の主データと副データとの組を検出する。所定の条件とは、主データの配置先のストレージノードの負荷と、副データの配置先のストレージノードの負荷との差が、所定の許容量を超えることである。交換対象検出手段1cは、上記条件を具備する主データと副データとの組が存在するか否かを調べる処理を継続的に実行する。
管理情報更新手段1dは、交換対象検出手段1cによって上記条件を具備する主データと副データとの組が検出されると、管理情報記憶手段1aに格納された管理情報を更新する。具体的には、管理情報更新手段1dは、検出された1組のデータの間で、主データと副データとの役割を交換する。すなわち、交換前にバックアップ用であったデータがアクセス用のデータとなり、交換前にアクセス用であったデータがバックアップ用のデータとなる。
コンピュータ5は、コンピュータ1から管理情報を取得し、管理情報に基づいてストレージノード2,3,4に配置されたデータにアクセスする。例えば、利用しようとするデータの主データがストレージノード2に配置され副データがストレージノード3に配置されているとき、コンピュータ5はストレージノード2にアクセスする。アクセスによって主データが更新されたときは、ストレージノード間で通信が行われ、更新内容が自動的に副データに反映される。ただし、コンピュータ5が主データと副データとを同時に更新するようにしてもよい。
ここで、データ#1の主データがストレージノード2(管理情報では“A”と表記)に副データがストレージ3(管理情報では“B”と表記)に配置され、データ#2の主データがストレージノード3に副データがストレージノード4(管理情報では“C”と表記)に配置され、データ#3の主データがストレージノード2に副データがストレージノード4に配置されているとする。また、ストレージノード2,3,4のうち、ストレージノード2の負荷が最も高くストレージノード4の負荷が最も低く、両者の負荷の差が所定の許容量を超えているとする。
このとき、コンピュータ1は、管理情報を更新して、データ#3の主データと副データとの役割を交換する。すなわち、交換後は、データ#3の主データがストレージノード4に副データがストレージノード2に配置されることになる。これによって、コンピュータ5はデータ#3を利用するとき、ストレージノード4にアクセスすることになる。
このようなストレージ管理プログラムを実行するコンピュータ1によれば、負荷情報収集手段1bにより、ストレージノード2,3,4の負荷情報が継続的に収集される。交換対象検出手段1cにより、主データの配置先の負荷と副データの配置先の負荷との差が所定の許容量を超えるような、同一内容の主データと副データとの組が検出される。そして、管理情報更新手段1dにより、検出された1組のデータの間で主データと副データの役割が交換される。すなわち、交換前にバックアップ用であったデータがアクセス用のデータとなり、交換前にアクセス用であったデータがバックアップ用のデータとなる。
これにより、データを移動することなく、当該データのアクセス先のストレージノードが変更される。このとき、アクセス要求単位でアクセス先が判定されるわけではない。従って、負荷分散の処理自体が原因で応答が遅くなることを防止し、分散ストレージシステムの応答性能を確実に高めることができる。
以下、本実施の形態を図面を参照して詳細に説明する。
図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(Redundant Array of Independent Disks)システムである。本実施の形態では、各ストレージ装置110,210,310,410は、RAID5のディスク管理サービスを提供する。
コントロールノード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にアクセスし、運用時に必要な各種設定を行うことができる。
次に、ストレージノード100,200,300,400、コントロールノード500、アクセスノード600、管理ノード30および端末装置21,22,23のハードウェア構成について説明する。
図3は、ストレージノードのハードウェア構成を示す図である。ストレージノード100は、CPU101によって装置全体が制御されている。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〜RAID5の機能を有し、複数のHDD111〜114をまとめて1台のハードディスクとして管理する。
グラフィック処理装置104には、モニタ11が接続されている。グラフィック処理装置104は、CPU101からの命令に従って、画像をモニタ11の画面に表示させる。入力インタフェース105には、キーボード12とマウス13とが接続されている。入力インタフェース105は、キーボード12やマウス13から送られてくる信号を、バス107を介してCPU101に送信する。
通信インタフェース106は、ネットワーク10に接続されている。通信インタフェース106は、ネットワーク10を介して、他のコンピュータとの間でデータの送受信を行う。
ストレージノード200,300,400も、ストレージノード100と同様のハードウェア構成によって実現できる。
図4は、コントロールノードのハードウェア構成を示す図である。コントロールノード500は、CPU501によって装置全体が制御されている。CPU501には、バス507を介してRAM502、HDD503、グラフィック処理装置504、入力インタフェース505および通信インタフェース506が接続されている。
RAM502には、CPU501に実行させるOSのプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM502には、CPU501による処理に必要な各種データが格納される。HDD503には、OSやアプリケーションのプログラムが格納される。
グラフィック処理装置504には、モニタ51が接続されている。グラフィック処理装置504は、CPU501からの命令に従って、画像をモニタ51の画面に表示させる。入力インタフェース505には、キーボード52とマウス53とが接続されている。入力インタフェース505は、キーボード52やマウス53から送られてくる信号を、バス507を介してCPU501に送信する。通信インタフェース506は、ネットワーク10に接続されている。通信インタフェース506は、ネットワーク10を介して、他のコンピュータとの間でデータの送受信を行う。
アクセスノード600、管理ノード30および端末装置21,22,23も、コントロールノード500と同様のハードウェア構成によって実現できる。ただし、アクセスノード600は、ネットワーク10と接続するための通信インタフェースに加えて、ネットワーク20と接続するための通信インタフェースを更に備えている。
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。
ここで、コントロールノード500がアクセスノード600に対して提供する論理ボリュームについて説明する。論理ボリュームは、ストレージノード100,200,300,400によって分散管理されているデータを、アクセスノード600から容易に利用できるようにするための仮想的なボリュームである。
図5は、論理ボリュームのデータ構造を示す第1の模式図である。論理ボリューム700には、“VV−A”という論理ボリュームIDが付与されている。また、ストレージノード100,200,300,400には、それぞれ“SN−A”、“SN−B”、“SN−C”、“SN−D”というノードIDが付与されている。
各ストレージノード100,200,300,400に接続されたストレージ装置110,210,310,410それぞれにおいてRAID5の論理ディスクが構成されている。この論理ディスクは6つのスライスに分割されて、個々のストレージノード内で管理されている。
図5の例では、ストレージ装置110内の記憶領域は、6つのスライス121〜126に分割されている。ストレージ装置210内の記憶領域は、6つのスライス221〜226に分割されている。ストレージ装置310内の記憶領域は、6つのスライス321〜326に分割されている。ストレージ装置410内の記憶領域は、6つのスライス421〜426に分割されている。
論理ボリューム700は、セグメント710,720,730,740,750,760という単位で構成される。セグメント710,720,730,740,750,760は、それぞれプライマリスライス711,721,731,741,751,761とセカンダリスライス712,722,732,742,752,762との組で構成される。同じセグメントに属するスライスは別々のストレージノードに属するように配置を行う。
図5の例では、スライスIDを、“P”または“S”のアルファベットと数字との組み合わせで示している。“P”はプライマリスライスであることを示している。“S”はセカンダリスライスであることを示している。アルファベットに続く数字は、何番目のセグメントに属するのかを表している。例えば、1番目のセグメント710のプライマリスライスが“P1”で示され、セカンダリスライスが“S1”で示される。
このような構造の論理ボリューム700の各プライマリスライスおよびセカンダリスライスが、ストレージ装置110,210,310,410内のいずれかのスライスに対応付けられる。例えば、セグメント710のプライマリスライス711は、ストレージ装置110のスライス121に対応付けられ、セカンダリスライス712は、ストレージ装置310のスライス322に対応付けられている。
そして、ストレージ装置110,210,310,410には、自己のスライスに対応付けられたプライマリスライスまたはセカンダリスライスのデータが格納される。
次に、ストレージノード100,200,300,400、コントロールノード500およびアクセスノード600のモジュール構成について説明する。
図6は、ストレージノードの機能を示すブロック図である。ストレージノード100は、スライス情報記憶部130、データアクセス部140、スライス情報管理部150および負荷監視部160を有する。
スライス情報記憶部130には、ストレージ装置110が有するスライスについてのスライス情報が格納される。スライス情報には、スライスを特定するためのアドレスやスライスへの割り当ての種別(プライマリスライスまたはセカンダリスライスのいずれか)などの情報が含まれている。また、プライマリスライスについては、対応するセカンダリスライスを管理しているストレージノードに関する情報も含まれている。
データアクセス部140は、アクセスノード600からのアクセスを受け付けると、スライス情報記憶部130に格納されたスライス情報を参照して、ストレージ装置110に格納されたデータを操作する。
具体的には、データアクセス部140は、アクセスノード600からアドレスを指定したデータの読み込み要求(Read要求)を受け付けると、指定されたアドレスが属するスライスがプライマリスライスであるか否か判断する。プライマリスライスである場合には、データアクセス部140は、指定されたアドレスに対応するデータをストレージ装置110から取得し、アクセスノード600に送信する。プライマリスライスでない場合には、データアクセス部140は、アドレスの指定が不適切である旨をアクセスノード600に通知する。
また、データアクセス部140は、アクセスノード600からアドレスおよび書き込み内容を指定したデータの書き込み要求(Write要求)を受け付けると、ストレージ装置110内の指定されたアドレスに対応する位置にデータの書き込みを試みる。そして、データアクセス部140は、書き込みの結果を、アクセスノード600に通知する。ここで、指定されたアドレスが属するスライスがプライマリスライスである場合には、対応するセカンダリスライスを管理するストレージノードに対して、同様の書き込みを行うよう指示する。これによって、プライマリスライスとセカンダリスライスとの内容が一致するように維持される。
スライス情報管理部150は、ストレージノード100の稼働状態を定期的にコントロールノード500に通知する。また、スライス情報管理部150は、コントロールノード500からスライス情報の取得要求があると、スライス情報記憶部130に格納されたスライス情報を送信する。また、スライス情報管理部150は、スライス情報の更新の指示を受け付けると、指示された更新内容を、スライス情報記憶部130に格納されたスライス情報に反映させる。
また、スライス情報管理部150は、ストレージ装置110がHDDへのアクセスを効率化するためにデータ格納位置の再編成を開始すると、その旨をコントロールノード500に通知する。再編成が終了すると、再編成後の各スライスのアドレスを、スライス情報記憶部130に格納されたスライス情報に反映させると共に、更新後のスライス情報をコントロールノード500に対して送信する。
負荷監視部160は、ストレージノード100の負荷を継続的に監視する。例えば、負荷監視部160は、CPU101の稼働率、HDDインタフェース103に対するI/O(Input / Output)要求の回数、通信インタフェース106の使用率などを監視する。そして、負荷監視部160は、ストレージノード100の負荷を示す負荷情報を、定期的にコントロールノード500に対して送信する。なお、スライス情報管理部150による稼働状態の通知と負荷監視部160による負荷情報の送信とを兼ねるように、コントロールノード500に対して通信を行うことも可能である。
ストレージノード200,300,400も、ストレージノード100と同様のモジュール構成によって実現できる。
図7は、コントロールノードおよびアクセスノードの機能を示すブロック図である。
コントロールノード500は、論理ボリューム記憶部510、負荷情報記憶部520、論理ボリューム管理部530、負荷情報収集部540および種別変更部550を有する。
論理ボリューム記憶部510には、1つ以上の論理ボリュームが格納される。論理ボリュームでは、ストレージ装置110,210,310,410が管理する記憶領域を一元的に扱うために、仮想的なアドレスである論理アドレスによって各セグメントが管理されている。論理ボリュームには、セグメントを特定するための論理アドレスやセグメントに属するプライマリスライスおよびセカンダリスライスを特定するための情報などが含まれている。
負荷情報記憶部520には、ストレージノード100,200,300,400それぞれの最新の負荷を示す負荷情報が格納される。負荷情報記憶部520に格納される負荷情報は、ストレージノード100,200,300,400から取得したものである。
論理ボリューム管理部530は、ストレージノード100,200,300,400から稼働状態を示す通知をネットワーク10経由で受信する。これにより、論理ボリューム管理部530は、ストレージノード100,200,300,400が正常に稼働しているか否かを知る。また、論理ボリューム管理部530は、必要に応じてストレージノード100,200,300,400からスライス情報を取得し、論理ボリューム記憶部510に格納された論理ボリュームを更新する。また、論理ボリューム管理部530は、論理ボリューム記憶部510が更新されると、更新によって影響を受けるストレージノードに対して更新内容を通知する。
また、論理ボリューム管理部530は、ストレージノード100,200,300,400から再編成の開始の通知を受け付けると、負荷情報記憶部520に再編成中であることを示す情報を格納する。これは、再編成が開始されると、そのストレージ装置の負荷が高くなり、アクセスに対する応答性能が極端に低下することを考慮したものである。そして、論理ボリューム管理部530は、再編成後のスライス情報をストレージノード100,200,300,400から受信すると、受信したスライス情報を論理ボリューム記憶部510に反映させると共に、負荷情報記憶部520から再編成中であることを示す情報を削除する。
また、論理ボリューム管理部530は、アクセスノード600から論理ボリュームの参照要求を受け付けると、論理ボリューム記憶部510に格納された論理ボリュームを、アクセスノード600に対して送信する。
負荷情報収集部540は、ストレージノード100,200,300,400が定期的に送信する負荷情報を、ネットワーク10経由で受信する。そして、負荷情報収集部540は、受信した負荷情報を負荷情報記憶部520に格納する。
種別変更部550は、論理ボリューム記憶部510に格納された論理ボリュームと負荷情報記憶部520に格納された負荷情報とを継続的に監視し、プライマリスライスとセカンダリスライスとを交換すべきセグメントを判定する。具体的には、種別変更部550は、プライマリスライスを割り当てたストレージノードの負荷とセカンダリスライスを割り当てたストレージノードの負荷との差が所定の許容量を超える場合に、そのプライマリスライスとセカンダリスライスとを交換すべきと判定する。そして、種別変更部550は、判定結果に応じて論理ボリューム記憶部510に格納された論理ボリュームを更新する。判定方法の詳細については、後で詳細に説明する。
なお、論理ボリューム管理部530および負荷情報収集部540は、ストレージノード100,200,300,400から各種情報が送られてくるのを待つ代わりに、定期的にストレージノード100,200,300,400にアクセスして各種情報を収集するようにしてもよい。
アクセスノード600は、論理ボリューム記憶部610およびデータアクセス制御部620を有する。
論理ボリューム記憶部610には、コントロールノード500の論理ボリューム記憶部510に格納されている論理ボリュームと同じ情報が格納される。
データアクセス制御部620は、実行中のプログラムからデータへのアクセス要求があると、まず論理ボリューム記憶部610に論理ボリュームが格納されているか否か確認する。論理ボリュームが格納されていない場合、データアクセス制御部620は、コントロールノード500から論理ボリュームを取得し、取得した論理ボリュームを論理ボリューム記憶部610に格納する。
そして、データアクセス制御部620は、論理ボリュームに基づいてアクセス先のストレージノードを特定する。すなわち、利用するデータが属するセグメントを特定し、特定したセグメントのプライマリスライスを管理するストレージノードを特定する。その後、データアクセス制御部620は、特定したストレージノードにアクセスする。ここで、アクセスに失敗した場合、コントロールノード500から論理ボリュームを取得した後にデータの配置状況が変化したことが考えられるため、データアクセス制御部620は、コントロールノード500から最新の論理ボリュームを取得して、再びストレージノードへのアクセスを試みる。
図8は、スライス情報テーブルのデータ構造例を示す図である。図8に示すスライス情報テーブル131は、ストレージノード100のスライス情報記憶部130に格納されている。スライス情報テーブル131には、ディスクを示す項目、物理アドレスを示す項目、ブロック数を示す項目、ボリュームを示す項目、論理アドレスを示す項目、種別を示す項目およびセカンダリを示す項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、1つのスライスについてのスライス情報を構成する。
ディスクを示す項目には、HDDを識別するディスクIDが設定される。物理アドレスを示す項目には、スライスの先頭ブロックを示す物理的なアドレスが設定される。ブロック数を示す項目には、スライスに含まれるブロックの数が設定される。
ボリュームを示す項目には、スライスに対応付けられたセグメントが属する論理ボリュームの論理ボリュームIDが設定される。論理アドレスを示す項目には、スライスに対応付けられたセグメントの先頭の論理アドレスが設定される。種別を示す項目には、“P”または“S”のいずれかの値が設定される。“P”はプライマリスライスを意味し、“S”はセカンダリスライスを意味する。
セカンダリを示す項目には、種別がプライマリスライスである場合、対応するセカンダリスライスの割り当て先の情報が設定される。具体的には、ストレージノードのノードID、HDDのディスクID、スライスの先頭ブロックを示す物理アドレスが設定される。種別がセカンダリスライスである場合、セカンダリを示す項目は空欄となる。
スライス情報テーブル131に格納されるスライス情報は、スライス情報管理部150によって適宜更新される。例えば、ディスクが“sd−a”、物理アドレスが“3072”、ブロック数が“512”、ボリュームが“VV−1”、論理アドレスが“4096”、種別が“S”という情報が格納される。これは、ディスクID“sd−a”のディスクの3072ブロックから3583ブロックまでの記憶領域が1つのスライスを構成し、そのスライスに、論理アドレスが4096ブロックから4607ブロックまでのセグメントがセカンダリスライスとして割り当てられていることを示している。
図9は、ボリューム情報テーブルのデータ構造例を示す図である。図9に示す論理ボリュームテーブル511は、論理ボリュームIDが“VV−1”の論理ボリュームについてのテーブルである。論理ボリュームテーブル511は、コントロールノード500の論理ボリューム記憶部510に格納されている。論理ボリュームテーブル511には、セグメントを示す項目、論理アドレスを示す項目、ブロック数を示す項目、種別を示す項目、ノードを示す項目、ディスクを示す項目および物理アドレスを示す項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられている。
セグメントを示す項目には、セグメントを識別するセグメントIDが設定される。論理アドレスを示す項目には、セグメントの先頭の論理アドレスが設定される。ブロック数を示す項目には、セグメントに含まれるブロックの数が設定される。
種別を示す項目には、“P”または“S”のいずれかの値が設定される。ノードを示す項目には、割り当て先のストレージノードを識別するノードIDが設定される。ディスクを示す項目には、ストレージノード内でHDDを識別するディスクIDが設定される。物理アドレスを示す項目には、割り当て先のスライスの先頭ブロックを示す物理的なアドレスが設定される。
論理ボリュームテーブル511に格納される情報は、ストレージノード100,200,300,400から取得したスライス情報に基づいて、論理ボリューム管理部530によって生成される。
図10は、負荷情報テーブルのデータ構造例を示す図である。図10に示す負荷情報テーブル521は、コントロールノード500の負荷情報記憶部520に格納されている。負荷情報テーブル521には、ノードを示す項目、CPU負荷を示す項目、I/O数を示す項目、期間I/O数を示す項目およびI/F使用率を示す項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、1つのストレージノードについての負荷情報を構成する。
ノードを示す項目には、ストレージノードを識別するノードIDが設定される。CPU負荷を示す項目には、CPUの現在の稼働率が設定される。I/O数を示す項目には、過去に発生したI/Oの総回数が設定される。期間I/O数を示す項目には、所定期間内に発生したI/Oの回数が設定される。例えば、直近24時間に発生したI/Oの回数が設定される。I/F使用率を示す項目には、ネットワークの現在の使用率が設定される。
負荷情報テーブル521に格納される負荷情報は、負荷情報収集部540によって適宜更新される。例えば、ノードが“SN−A”、CPU負荷が“75%”、I/O数が“10000”、期間I/O数が“1000”、I/F使用率が“66%”という情報が格納される。
次に、以上のような構成およびデータ構造のシステムにおいて実行される処理の詳細を説明する。最初に、コントロールノード500の種別変更部550が、ストレージノードの負荷に応じてプライマリスライスとセカンダリスライスとを交換する処理について説明する。
図11は、第1の種別変更処理の手順を示すフローチャートである。この種別変更処理は、種別変更部550によって定期的に実行される。以下、図11に示す処理をステップ番号に沿って説明する。
[ステップS11]種別変更部550は、負荷情報記憶部520に格納された負荷情報テーブル521を参照して、負荷が最も高いストレージノードを特定する。
[ステップS12]種別変更部550は、負荷情報テーブル521を参照して、負荷が最も低いストレージノードを特定する。
[ステップS13]種別変更部550は、ステップS11で特定した最高負荷のストレージノードの負荷と、ステップS12で特定した最低負荷のストレージノードの負荷との差が、所定の閾値を超えるか否か判断する。閾値を超える場合には、処理がステップS14に進められる。閾値以下である場合には、処理が終了する。
[ステップS14]種別変更部550は、論理ボリューム記憶部510に格納された論理ボリュームテーブル511を参照して、ステップS11で特定した最高負荷のストレージノードにプライマリスライスが割り当てられ、ステップS12で特定した最低負荷のストレージノードのセカンダリスライスが割り当てられている、セグメントが存在するか否か判断する。存在する場合には、処理がステップS15に進められる。存在しない場合には、処理が終了する。
[ステップS15]種別変更部550は、論理ボリュームテーブル511を更新して、ステップS14の判断条件を具備するプライマリスライスとセカンダリスライスとの間で種別を交換する。
[ステップS16]論理ボリューム管理部530は、論理ボリュームテーブル511が更新されたことを検知し、ステップS15で交換されたプライマリスライスおよびセカンダリスライスそれぞれを管理する2つのストレージノードに対して更新内容を通知する。
ここで、負荷を比較する際に、CPU負荷、I/O数、期間I/O数およびI/F使用率のいずれの指標を用いるかは、分散ストレージシステムの管理者によって予め種別変更部550に設定されている。管理者は、いずれか1つの指標を用いて比較を行うように設定してもよいし、2つ以上の指標から所定の計算式によって計算される値を用いて比較を行うように設定してもよい。
なお、図11に示した方法では、プライマリスライスを最高負荷のストレージノードから選択し、セカンダリスライスを最低負荷のストレージノードから選択することとしたが、セカンダリスライスを、最低負荷のストレージノード以外のストレージノードからも選択できるようにすることも考えられる。すなわち、プライマリスライスを最高負荷のストレージノードから選択し、セカンダリスライスを最高負荷のストレージノードとの負荷の差が許容量を超えている全てのストレージノードから選択できるようにしてもよい。このとき、複数のセカンダリスライスの候補がある場合には、最高負荷のストレージノードとの負荷の差ができる限り大きいストレージノードから選択するようにすればよい。
このようにして、種別変更部550は、最高負荷のストレージノードと最低負荷のストレージノードとの負荷の差が許容量を超えており、最高負荷のストレージノードにプライマリスライスが割り当てられ最低負荷のストレージノードにセカンダリスライスが割り当てられているセグメントが存在する場合には、両者の種別を交換する。これにより、最高負荷のストレージノードに対するアクセスの少なくとも一部が、最低負荷のストレージノードに振り向けられる。このとき、プライマリスライスとセカンダリスライスの内容は同一であるため、論理ボリュームを更新するのみでよく、ストレージ装置110,210,310,410に格納されたデータ自体を移動する必要はない。
交換対象となるプライマリスライスとセカンダリスライスとを検出する方法は、上記の方法以外にも、さまざまな方法が考えられる。次に、他の検出方法の例を示す。
図12は、第2の種別変更処理の手順を示すフローチャートである。この種別変更処理は、種別変更部550によって定期的に実行される。以下、図12に示す処理をステップ番号に沿って説明する。
[ステップS21]種別変更部550は、論理ボリューム記憶部510に格納された論理ボリュームテーブル511を参照して、ストレージノードを1つ選択する。
[ステップS22]種別変更部550は、論理ボリュームを参照して、ステップS21で選択したストレージノードにプライマリスライスまたはセカンダリスライスを割り当てているセグメントを1つ選択する。
[ステップS23]種別変更部550は、負荷情報記憶部520に格納された負荷情報テーブル521を参照して、ステップS22で選択したセグメントのプライマリスライスの割り当て先のストレージノードとセカンダリスライスの割り当て先のストレージノードとの間で負荷の差を計算する。なお、セカンダリスライスの割り当て先のストレージノードの方が負荷が高い場合には、負荷の差は0とする。
[ステップS24]種別変更部550は、ステップS22で条件を具備する全てのセグメントを選択したか否か判断する。全てのセグメントを選択した場合には、処理がステップS25に進められる。未選択のセグメントが存在する場合には、処理がステップS22に進められる。
[ステップS25]種別変更部550は、ステップS23で計算した負荷の差の最大値が、所定の閾値を超えるか否か判断する。閾値を超える場合には、処理がステップS26に進められる。閾値以下である場合には、処理がステップS28に進められる。
[ステップS26]種別変更部550は、論理ボリュームテーブル511を更新して、ステップS23で計算した負荷の差が最大となったセグメントのプライマリスライスとセカンダリスライスとの間で種別を交換する。
[ステップS27]論理ボリューム管理部530は、論理ボリュームテーブル511が更新されたことを検知し、ステップS26で交換されたプライマリスライスおよびセカンダリスライスそれぞれを管理する2つのストレージノードに対して更新内容を通知する。
[ステップS28]種別変更部550は、ステップS21で全てのストレージノードを選択したか否か判断する。全てのストレージノードを選択した場合には、処理が終了する。未選択のストレージノードが存在する場合には、処理がステップS29に進められる。
[ステップS29]種別変更部550は、一定時間待機する。その後、処理がステップS21に進められる。
なお、上記ステップS21では、ストレージノードを選択する順序を、負荷が高い順または負荷が低い順とすることも考えられる。
このようにして、種別変更部550は、ストレージノードを順次確認し、プライマリスライスが割り当てられているストレージノードとセカンダリスライスが割り当てられているストレージノードとの負荷の差が許容量を超えているセグメントが存在する場合には、両者の種別を交換する。これにより、最高負荷のストレージノードにプライマリスライスが割り当てられ最低負荷のストレージノードにセカンダリスライスが割り当てられているセグメントが存在しない場合でも、負荷を分散させることができる。
図13は、論理ボリュームのデータ構造を示す第2の模式図である。図13に示すセグメントの割り当て状況は、上記の種別変更処理が実行されることで、図5に示したセグメントの割り当て状況が変化したものである。図13の例では、セグメント750のプライマリスライスとセカンダリスライスとが交換されている。すなわち、交換前は、プライマリスライス751がストレージ装置110に割り当てられ、セカンダリスライス752がストレージ装置410に割り当てられていたが、交換後は、プライマリスライス751がストレージ装置410に割り当てられ、セカンダリスライス752がストレージ装置110に割り当てられている。これにより、ストレージノード100の負荷が軽減される。
次に、再編成中のストレージ装置にプライマリスライスを割り当てないようにして、応答性能の低下を避ける処理について説明する。
図14は、種別一斉変更処理の手順を示すフローチャートである。以下、図14に示す処理をステップ番号に沿って説明する。
[ステップS31]論理ボリューム管理部530は、ストレージノード100,200,300,400のいずれかから再編成の開始を示す通知を受け付けると、負荷情報記憶部520に再編成の開始を示す情報を格納する。
[ステップS32]種別変更部550は、論理ボリューム記憶部510に格納された論理ボリュームテーブル511を参照して、再編成中のストレージノードにプライマリスライスを割り当てているセグメントを1つ選択する。
[ステップS33]種別変更部550は、論理ボリュームテーブル511を更新して、ステップS32で選択したセグメントのプライマリスライスとセカンダリスライスとの間で種別を交換する。
[ステップS34]論理ボリューム管理部530は、論理ボリュームテーブル511が更新されたことを検知し、ステップS33で交換されたプライマリスライスおよびセカンダリスライスそれぞれを管理する2つのストレージノードに対して更新内容を通知する。
[ステップS35]種別変更部550は、ステップS32で条件を具備する全てのセグメントを選択したか否か判断する。全てのセグメントを選択した場合には、処理が終了する。未選択のセグメントが存在する場合には、処理がステップS32に進められる。
このようにして、種別変更部550は、再編成中のストレージノードに割り当てられたプライマリスライスを全てセカンダリスライスに変更する。これにより、再編成を行うことによる応答性能の低下を避けることができる。また、再編成が終了すると、その後は負荷状態に応じてプライマリスライスとセカンダリスライスとの交換が行われ、再編成が終了したストレージノードに再びアクセスの一部が振り向けられる。
次に、アクセスノード600がストレージノード100,200,300,400にアクセスする際の通信の流れの例について説明する。
図15は、アクセスノードからのデータアクセスの流れを示すシーケンス図である。以下、図15に示す処理をステップ番号に沿って説明する。
[ステップS41]アクセスノード600は、コントロールノード500に参照要求を送信する。
[ステップS42]コントロールノード500は、参照要求に応答して、最新の論理ボリュームをアクセスノード600に送信する。
[ステップS43]アクセスノード600は、ステップS42で取得した論理ボリュームに基づいてストレージノードにアクセスする。ここでは、アクセスノード600は、ストレージノード100にRead要求を送信する。
[ステップS44]ストレージノード100は、Read要求に応答して、ストレージ装置110からデータを取得し、取得したデータをアクセスノード600に送信する。
[ステップS45]コントロールノード500は、ストレージノードの負荷を分散させるために、一部のセグメントのプライマリスライスとセカンダリスライスとを交換する。ここでは、コントロールノード500は、ステップS43でアクセスノード600が読み込みを行ったデータが属するセグメントのプライマリスライスとセカンダリスライスとを交換するものとする。
[ステップS46a]コントロールノード500は、交換前にプライマリスライスが割り当てられていたストレージノード100に対して、セカンダリスライスに種別が変更された旨を通知する。
[ステップS46b]コントロールノード500は、交換前にセカンダリスライスが割り当てられていたストレージノードに対して、プライマリスライスに種別が変更された旨を通知する。ここでは、交換前にセカンダリスライスが割り当てられていたストレージノードは、ストレージノード400であるとする。
[ステップS47]アクセスノード600は、ステップS42で取得した論理ボリュームに基づいて、ステップS43で読み込みを行ったデータを再度読み込む。すなわち、アクセスノード600は、ストレージノード100にRead要求を送信する。
[ステップS48]ストレージノード100は、Read要求で示されるデータが属するスライスがセカンダリスライスであるため、要求を拒否する旨をアクセスノード600に応答する。
[ステップS49]アクセスノード600は、コントロールノード500に参照要求を送信する。
[ステップS50]コントロールノード500は、参照要求に応答して、最新の論理ボリュームをアクセスノード600に送信する。
[ステップS51]アクセスノード600は、ステップS50で取得した論理ボリュームに基づいて、ストレージノード400にRead要求を送信する。
[ステップS52]ストレージノード400は、Read要求に応答して、ストレージ装置410からデータを取得し、取得したデータをアクセスノード600に送信する。
このようにして、アクセスノード600は、コントロールノード500から論理ボリュームを取得し、取得した論理ボリュームに基づいてアクセス先のストレージノードを特定する。ここで、コントロールノード500がプライマリスライスとセカンダリスライスとの交換を行うと、アクセスノード600はストレージノードへのアクセスに失敗する場合がある。この場合、アクセスノード600は、コントロールノード500から最新の論理ボリュームを取得し直し、ストレージノードへのアクセスを再度試みる。
このような分散ストレージシステムによれば、アクセス用のプライマリスライスが割り当てられたストレージノードとバックアップ用のセカンダリスライスが割り当てられたストレージノードとの間で負荷が許容値を超えると、プライマリスライスとセカンダリスライスとが自動的に交換される。
これにより、データを移動することなく、当該データのアクセス先のストレージノードが変更される。このとき、アクセス単位でアクセス先が判定されるわけではない。従って、負荷分散の処理自体が原因で応答が遅くなることを防止し、分散ストレージシステムの応答性能を確実に高めることができる。また、データの配置管理は、ファイル単位で行われるのではなく、記憶領域の大きさに応じて分割したスライス単位で行われるため、配置管理の機構が簡潔になる。
また、再編成中のストレージ装置に対しては、プライマリスライスを割り当てないようにすることで、アクセスができる限り発生しないようにすることができる。これにより、応答性能の低下を防止できる。
以上、本発明のストレージ管理プログラム、ストレージ管理装置およびストレージ管理方法を図示の実施の形態に基づいて説明したが、本発明はこれに限定されるものではなく、各部の構成は同様の機能を有する任意の構成のものに置換することができる。また、本発明に他の任意の構成物や工程が付加されていてもよい。また、本発明は前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、ストレージノード100,200,300,400、コントロールノード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,5 コンピュータ
1a 管理情報記憶手段
1b 負荷情報収集手段
1c 交換対象検出手段
1d 管理情報更新手段
2,3,4 ストレージノード
6 ネットワーク

Claims (18)

  1. 同一内容の複数のデータをネットワークで接続された複数のストレージノードに分散して配置する分散ストレージシステムのデータ配置状況を管理するストレージ管理プログラムにおいて、
    コンピュータを、
    前記同一内容の複数のデータから、アクセス要求時にアクセス先として使用する主データとバックアップとして使用する副データとを示しており前記主データおよび前記副データそれぞれの配置先の前記ストレージノードを登録した管理情報を記憶する管理情報記憶手段、
    前記ストレージノードの負荷情報を継続的に収集する負荷情報収集手段、
    前記管理情報記憶手段が記憶する前記管理情報と前記負荷情報収集手段が収集した前記負荷情報とに基づいて、前記主データの配置先のストレージノードと前記副データの配置先のストレージノードとの間で各配置先のストレージノードの負荷の差が所定の許容量を超える、同一内容の前記主データと前記副データとの組を交換対象として検出する交換対象検出手段、
    前記交換対象検出手段が検出した1組のデータの間で前記主データと前記副データとの役割を交換するように、前記管理情報記憶手段が記憶する前記管理情報を更新する管理情報更新手段、
    前記複数のストレージノードのうちアクセス先のストレージノードを前記管理情報に基づいて選択し当該アクセス先のストレージノードに格納されたアクセス先のデータが前記副データであるために当該アクセス先のストレージノードにより当該データへのアクセスが拒否されると前記管理情報の参照要求を送信し当該参照要求に応じて取得した前記管理情報に基づいてアクセス先のストレージノードを再選択するアクセスノードから、前記参照要求を受信すると、前記アクセスノードに更新後の前記管理情報を提供する手段、
    として機能させることを特徴とするストレージ管理プログラム。
  2. 前記交換対象検出手段は、前記ストレージノードのうち負荷最大ノードと負荷最小ノードとの間で負荷の差が前記所定の許容量を超えるか否か判断し、前記所定の許容量を超える場合、前記負荷最大ノードに配置された前記主データと前記負荷最小ノードに配置された前記副データとを交換対象の候補とすることを特徴とする請求項1記載のストレージ管理プログラム。
  3. 前記交換対象検出手段は、交換対象の検出処理を所定の時間間隔で継続して実行することを特徴とする請求項1記載のストレージ管理プログラム。
  4. 前記管理情報では、データの特定に用いる論理ボリュームのアドレス空間が複数の論理セグメントに分割され、前記論理セグメント単位で前記同一内容の複数のデータが管理されており、
    前記管理情報更新手段は、前記論理セグメント単位で前記主データと前記副データとの役割を交換する、
    ことを特徴とする請求項1記載のストレージ管理プログラム。
  5. 前記コンピュータを、更に、前記ストレージノードから当該ストレージノードに配置されたデータの格納位置の再編成を開始する通知を受け付ける通知受付手段として機能させ、
    前記交換対象検出手段は、前記通知受付手段が通知を受け付けると、通知元の前記ストレージノードに配置された全ての前記主データを特定し、負荷の大きさに拘わらず、特定した前記主データと当該主データと同一内容の前記副データとの組を交換対象とする、
    ことを特徴とする請求項1記載のストレージ管理プログラム。
  6. 前記コンピュータを、更に、前記管理情報更新手段が前記管理情報を更新した後、役割が変更されたデータが配置されている前記ストレージノードに対して変更内容を通知する更新内容通知手段として機能させることを特徴とする請求項1記載のストレージ管理プログラム。
  7. 同一内容の複数のデータをネットワークで接続された複数のストレージノードに分散して配置する分散ストレージシステムのデータ配置状況を管理するストレージ管理装置において、
    前記同一内容の複数のデータから、アクセス要求時にアクセス先として使用する主データとバックアップとして使用する副データとを示しており前記主データおよび前記副データそれぞれの配置先の前記ストレージノードを登録した管理情報を記憶する管理情報記憶手段と、
    前記ストレージノードの負荷情報を継続的に収集する負荷情報収集手段と、
    前記管理情報記憶手段が記憶する前記管理情報と前記負荷情報収集手段が収集した前記負荷情報とに基づいて、前記主データの配置先のストレージノードと前記副データの配置先のストレージノードとの間で各配置先のストレージノードの負荷の差が所定の許容量を超える、同一内容の前記主データと前記副データとの組を交換対象として検出する交換対象検出手段と、
    前記交換対象検出手段が検出した1組のデータの間で前記主データと前記副データとの役割を交換するように、前記管理情報記憶手段が記憶する前記管理情報を更新する管理情報更新手段と、
    前記複数のストレージノードのうちアクセス先のストレージノードを前記管理情報に基づいて選択し当該アクセス先のストレージノードに格納されたアクセス先のデータが前記副データであるために当該アクセス先のストレージノードにより当該データへのアクセスが拒否されると前記管理情報の参照要求を送信し当該参照要求に応じて取得した前記管理情報に基づいてアクセス先のストレージノードを再選択するアクセスノードから、前記参照要求を受信すると、前記アクセスノードに更新後の前記管理情報を提供する手段と、
    を有することを特徴とするストレージ管理装置。
  8. 前記交換対象検出手段は、前記ストレージノートのうち負荷最大ノードと負荷最小ノードとの間で負荷の差が前記所定の許容量を超えるか否か判断し、前記所定の許容量を超える場合、前記負荷最大ノードに配置された前記主データと前記負荷最小ノードに配置された前記副データとを交換対象の候補とすることを特徴とする請求項7記載のストレージ管理装置。
  9. 前記交換対象検出手段は、交換対象の検出処理を所定の時間間隔で継続して実行することを特徴とする請求項7記載のストレージ管理装置。
  10. 前記管理情報では、データの特定に用いる論理ボリュームのアドレス空間が複数の論理セグメントに分割され、前記論理セグメント単位で前記同一内容の複数のデータが管理されており、
    前記管理情報更新手段は、前記論理セグメント単位で前記主データと前記副データとの役割を交換する、
    ことを特徴とする請求項7記載のストレージ管理装置。
  11. 前記ストレージノードから当該ストレージノードに配置されたデータの格納位置の再編成を開始する通知を受け付ける通知受付手段を更に有し、
    前記交換対象検出手段は、前記通知受付手段が通知を受け付けると、通知元の前記ストレージノードに配置された全ての前記主データを特定し、負荷の大きさに拘わらず、特定した前記主データと当該主データと同一内容の前記副データとの組を交換対象とする、
    ことを特徴とする請求項7記載のストレージ管理装置。
  12. 前記管理情報更新手段が前記管理情報を更新した後、役割が変更されたデータが配置されている前記ストレージノードに対して変更内容を通知する更新内容通知手段を更に有することを特徴とする請求項7記載のストレージ管理装置。
  13. 同一内容の複数のデータをネットワークで接続された複数のストレージノードに分散して配置する分散ストレージシステムのデータ配置状況を管理するコンピュータによるストレージ管理方法において、前記コンピュータが、
    前記ストレージノードの負荷情報を継続的に収集し、
    前記同一内容の複数のデータからアクセス要求時にアクセス先として使用する主データとバックアップとして使用する副データとを示しており前記主データおよび前記副データそれぞれの配置先の前記ストレージノードを登録した管理情報記憶手段が記憶する管理情報と、収集した前記負荷情報とに基づいて、前記主データの配置先のストレージノードと前記副データの配置先のストレージノードとの間で各配置先のストレージノードの負荷の差が所定の許容量を超える、同一内容の前記主データと前記副データとの組を交換対象として検出し、
    検出した1組のデータの間で前記主データと前記副データとの役割を交換するように、前記管理情報記憶手段が記憶する前記管理情報を更新し、
    前記複数のストレージノードのうちアクセス先のストレージノードを前記管理情報に基づいて選択し当該アクセス先のストレージノードに格納されたアクセス先のデータが前記副データであるために当該アクセス先のストレージノードにより当該データへのアクセスが拒否されると前記管理情報の参照要求を送信し当該参照要求に応じて取得した前記管理情報に基づいてアクセス先のストレージノードを再選択するアクセスノードから、前記参照要求を受信すると、前記アクセスノードに更新後の前記管理情報を提供する、
    ことを特徴とするストレージ管理方法。
  14. 交換対象の検出処理では、前記ストレージノードのうち負荷最大ノードと負荷最小ノードとの間で負荷の差が前記所定の許容量を超えるか否か判断し、前記所定の許容量を超える場合、前記負荷最大ノードに配置された前記主データと前記負荷最小ノードに配置された前記副データとを交換対象の候補とすることを特徴とする請求項13記載のストレージ管理方法。
  15. 交換対象の検出処理は所定の時間間隔で継続して実行することを特徴とする請求項13記載のストレージ管理方法。
  16. 前記管理情報では、データの特定に用いる論理ボリュームのアドレス空間が複数の論理セグメントに分割され、前記論理セグメント単位で前記同一内容の複数のデータが管理されており、
    前記管理情報の更新処理では、前記論理セグメント単位で前記主データと前記副データとの役割を交換する、
    ことを特徴とする請求項13記載のストレージ管理方法。
  17. 交換対象の検出処理では、前記ストレージノードから当該ストレージノードに配置されたデータの格納位置の再編成を開始する通知を受け付けていたときは、通知元の前記ストレージノードに配置された全ての前記主データを特定し、負荷の大きさに拘わらず、特定した前記主データと当該主データと同一内容の前記副データとの組を交換対象とすることを特徴とする請求項13記載のストレージ管理方法。
  18. 前記管理情報の更新処理の後、役割が変更されたデータが配置されている前記ストレージノードに対して変更内容を通知することを特徴とする請求項13記載のストレージ管理方法。
JP2009512810A 2007-04-20 2007-04-20 ストレージ管理プログラム、ストレージ管理装置およびストレージ管理方法 Expired - Fee Related JP5099128B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2007/058633 WO2008136075A1 (ja) 2007-04-20 2007-04-20 ストレージ管理プログラム、ストレージ管理装置およびストレージ管理方法

Publications (2)

Publication Number Publication Date
JPWO2008136075A1 JPWO2008136075A1 (ja) 2010-07-29
JP5099128B2 true JP5099128B2 (ja) 2012-12-12

Family

ID=39943199

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009512810A Expired - Fee Related JP5099128B2 (ja) 2007-04-20 2007-04-20 ストレージ管理プログラム、ストレージ管理装置およびストレージ管理方法

Country Status (3)

Country Link
US (1) US8521983B2 (ja)
JP (1) JP5099128B2 (ja)
WO (1) WO2008136075A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014191773A (ja) * 2013-03-28 2014-10-06 Fujitsu Ltd ストレージシステム、分配装置、分配装置の制御プログラム、およびストレージシステムの制御方法

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008310685A (ja) * 2007-06-15 2008-12-25 Hitachi Ltd 冗長性を維持した性能最適化を行うストレージシステム
JP5217966B2 (ja) * 2008-11-28 2013-06-19 富士通株式会社 ストレージシステムのアップデート処理プログラム、アップデート処理方法及びストレージシステム
JP5412882B2 (ja) * 2009-03-04 2014-02-12 富士通株式会社 論理ボリューム構成情報提供プログラム、論理ボリューム構成情報提供方法、および論理ボリューム構成情報提供装置
JP5245934B2 (ja) * 2009-03-11 2013-07-24 富士通株式会社 管理装置の管理プログラム、管理装置、管理装置の管理方法およびストレージシステム
JP2010244130A (ja) * 2009-04-01 2010-10-28 Toshiba Corp ディスクアレイ装置及びディスクアレイ制御方法
JP5278254B2 (ja) * 2009-09-02 2013-09-04 日本電気株式会社 ストレージシステム、データ記憶方法及びプログラム
US9946582B2 (en) * 2010-10-14 2018-04-17 Nec Corporation Distributed processing device and distributed processing system
US9176670B2 (en) * 2011-04-26 2015-11-03 Taejin Info Tech Co., Ltd. System architecture based on asymmetric raid storage
US20120278527A1 (en) * 2011-04-26 2012-11-01 Byungcheol Cho System architecture based on hybrid raid storage
US20120278550A1 (en) * 2011-04-26 2012-11-01 Byungcheol Cho System architecture based on raid controller collaboration
US9542321B2 (en) * 2014-04-24 2017-01-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Slice-based random access buffer for data interleaving
US9779110B2 (en) * 2014-07-11 2017-10-03 Nec Corporation Placement device, placement method and recording medium, that stores placement program information processing device
US10389165B2 (en) * 2014-11-25 2019-08-20 Nec Corporation Energy management apparatus, energy management method and program recording medium
US10977124B2 (en) * 2016-01-07 2021-04-13 Hitachi, Ltd. Distributed storage system, data storage method, and software program
JP6315000B2 (ja) * 2016-02-01 2018-04-25 日本電気株式会社 ストレージ管理システムおよびストレージ管理方法
WO2018067471A1 (en) 2016-10-03 2018-04-12 Ocient Llc Payload store and index store in highly parallel database management system
US10809920B1 (en) 2016-12-20 2020-10-20 Amazon Technologies, Inc. Block store management for remote storage systems
US10185507B1 (en) * 2016-12-20 2019-01-22 Amazon Technologies, Inc. Stateless block store manager volume reconstruction
US11507283B1 (en) 2016-12-20 2022-11-22 Amazon Technologies, Inc. Enabling host computer systems to access logical volumes by dynamic updates to data structure rules
US10268593B1 (en) 2016-12-20 2019-04-23 Amazon Technologies, Inc. Block store managamement using a virtual computing system service
US10921991B1 (en) 2016-12-20 2021-02-16 Amazon Technologies, Inc. Rule invalidation for a block store management system
US11036401B2 (en) * 2017-07-14 2021-06-15 Hitachi Vantara Llc Method, apparatus, and system for controlling user access to a data storage system
JP6974706B2 (ja) * 2017-08-14 2021-12-01 富士通株式会社 情報処理装置、ストレージシステムおよびプログラム
CN114244855B (zh) * 2020-09-08 2024-01-02 腾讯科技(深圳)有限公司 指纹文件的存储方法、装置、设备及可读存储介质
US12035350B2 (en) * 2021-10-27 2024-07-09 At&T Intellectual Property I, L.P. Service differentiation at an access point device

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06332782A (ja) * 1993-03-22 1994-12-02 Hitachi Ltd ファイルサーバシステム及びそのファイルアクセス制御方法
JPH11161555A (ja) * 1997-11-25 1999-06-18 Nec Corp 二重化ファイルi/o装置及びその方法及びそれを使用 した情報処理装置
JP2001051963A (ja) * 1999-08-05 2001-02-23 Matsushita Electric Ind Co Ltd 並列サーバシステム
JP2003296167A (ja) * 2002-03-29 2003-10-17 Fujitsu Social Science Laboratory Ltd ファイル管理システムおよびファイル管理方法
JP2004199264A (ja) * 2002-12-17 2004-07-15 Hitachi Ltd データベース処理方法及びその実施装置並びにその処理プログラム
JP2006012005A (ja) * 2004-06-29 2006-01-12 Tokyo Institute Of Technology 自律ストレージ装置、自律ストレージシステム、ネットワーク負荷分散プログラム及びネットワーク負荷分散方法
JP2006185413A (ja) * 2004-12-03 2006-07-13 Tokyo Institute Of Technology 自律ストレージ装置、自律ストレージシステム、分散ストレージシステム、負荷分散プログラム及び負荷分散方法
JP2006228188A (ja) * 2005-02-14 2006-08-31 Hitachi Ltd ストレージシステムの負荷を動的にバランスさせる方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6356873A (ja) 1986-08-27 1988-03-11 Nec Corp 二重化フアイルの読込方式
US5548724A (en) * 1993-03-22 1996-08-20 Hitachi, Ltd. File server system and file access control method of the same
JP3696901B2 (ja) * 1994-07-19 2005-09-21 キヤノン株式会社 負荷分散方法
US6233607B1 (en) * 1999-04-01 2001-05-15 Diva Systems Corp. Modular storage server architecture with dynamic data management
JP2005107928A (ja) * 2003-09-30 2005-04-21 Fujitsu Ltd データファイルシステム、データアクセスノード、ブレインノード、データアクセスプログラム、およびブレインプログラム。
JP2005276017A (ja) 2004-03-26 2005-10-06 Hitachi Ltd ストレージシステム
US7886299B2 (en) 2004-06-01 2011-02-08 Hitachi, Ltd. Method of dynamically balancing workload of a storage system

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06332782A (ja) * 1993-03-22 1994-12-02 Hitachi Ltd ファイルサーバシステム及びそのファイルアクセス制御方法
JPH11161555A (ja) * 1997-11-25 1999-06-18 Nec Corp 二重化ファイルi/o装置及びその方法及びそれを使用 した情報処理装置
JP2001051963A (ja) * 1999-08-05 2001-02-23 Matsushita Electric Ind Co Ltd 並列サーバシステム
JP2003296167A (ja) * 2002-03-29 2003-10-17 Fujitsu Social Science Laboratory Ltd ファイル管理システムおよびファイル管理方法
JP2004199264A (ja) * 2002-12-17 2004-07-15 Hitachi Ltd データベース処理方法及びその実施装置並びにその処理プログラム
JP2006012005A (ja) * 2004-06-29 2006-01-12 Tokyo Institute Of Technology 自律ストレージ装置、自律ストレージシステム、ネットワーク負荷分散プログラム及びネットワーク負荷分散方法
JP2006185413A (ja) * 2004-12-03 2006-07-13 Tokyo Institute Of Technology 自律ストレージ装置、自律ストレージシステム、分散ストレージシステム、負荷分散プログラム及び負荷分散方法
JP2006228188A (ja) * 2005-02-14 2006-08-31 Hitachi Ltd ストレージシステムの負荷を動的にバランスさせる方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014191773A (ja) * 2013-03-28 2014-10-06 Fujitsu Ltd ストレージシステム、分配装置、分配装置の制御プログラム、およびストレージシステムの制御方法

Also Published As

Publication number Publication date
US20090319749A1 (en) 2009-12-24
US8521983B2 (en) 2013-08-27
WO2008136075A1 (ja) 2008-11-13
JPWO2008136075A1 (ja) 2010-07-29

Similar Documents

Publication Publication Date Title
JP5099128B2 (ja) ストレージ管理プログラム、ストレージ管理装置およびストレージ管理方法
JP5381336B2 (ja) 管理プログラム、管理装置および管理方法
US8234467B2 (en) Storage management device, storage system control device, storage medium storing storage management program, and storage system
JP3541744B2 (ja) ストレージサブシステム及びその制御方法
JP5158074B2 (ja) ストレージ管理プログラム、ストレージ管理方法、ストレージ管理装置およびストレージシステム
JP5427630B2 (ja) 動的ページ再割当てストレージシステムにおけるアプリケーション及び階層構成の管理
US7650480B2 (en) Storage system and write distribution method
JP4606455B2 (ja) ストレージ管理装置、ストレージ管理プログラムおよびストレージシステム
JP4386932B2 (ja) ストレージ管理プログラム、ストレージ管理装置およびストレージ管理方法
US9658779B2 (en) Computer system and control method for computer system
JP4519179B2 (ja) 論理ボリューム管理プログラム、論理ボリューム管理装置、論理ボリューム管理方法、および分散ストレージシステム
US8484413B2 (en) Recording medium storing control program for decentralized data, storage management program, control node, and disk node
JP4229626B2 (ja) ファイル管理システム
US20090300283A1 (en) Method and apparatus for dissolving hot spots in storage systems
US8386707B2 (en) Virtual disk management program, storage device management program, multinode storage system, and virtual disk managing method
US20120297156A1 (en) Storage system and controlling method of the same
JP5131271B2 (ja) 組み合わせ決定プログラム、組み合わせ決定装置、および組み合わせ決定方法
CN101223498A (zh) 用于管理数据存储的方法、系统和计算机程序产品以及虚拟化引擎
JP2007249729A (ja) マイクロプロセッサの負荷分散機能を備えたストレージシステム
JP2011159241A (ja) ストレージ装置、ストレージ装置のコントローラおよびストレージ装置の記憶領域割当方法
WO2014162586A1 (ja) ストレージシステムおよびストレージシステム制御方法
JP2009122873A (ja) ストレージシステム間でのリモートコピーを管理する装置
JP5104855B2 (ja) 負荷分散プログラム、負荷分散方法、及びストレージ管理装置
JP2007115019A (ja) ストレージのアクセス負荷を分散する計算機システム及びその制御方法
US20090024768A1 (en) Connection management program, connection management method and information processing apparatus

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120206

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120424

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120724

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20120731

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

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

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

Free format text: PAYMENT UNTIL: 20151005

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees