JP4620722B2 - データ配置制御プログラム、データ配置制御装置、データ配置制御方法、およびマルチノードストレージシステム - Google Patents

データ配置制御プログラム、データ配置制御装置、データ配置制御方法、およびマルチノードストレージシステム Download PDF

Info

Publication number
JP4620722B2
JP4620722B2 JP2007333969A JP2007333969A JP4620722B2 JP 4620722 B2 JP4620722 B2 JP 4620722B2 JP 2007333969 A JP2007333969 A JP 2007333969A JP 2007333969 A JP2007333969 A JP 2007333969A JP 4620722 B2 JP4620722 B2 JP 4620722B2
Authority
JP
Japan
Prior art keywords
data
access
arrangement pattern
node
disk
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
JP2007333969A
Other languages
English (en)
Other versions
JP2009157571A (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 JP2007333969A priority Critical patent/JP4620722B2/ja
Priority to US12/343,486 priority patent/US8141095B2/en
Publication of JP2009157571A publication Critical patent/JP2009157571A/ja
Application granted granted Critical
Publication of JP4620722B2 publication Critical patent/JP4620722B2/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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0625Power saving in storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3215Monitoring of peripheral devices
    • G06F1/3221Monitoring of peripheral devices of disk drive devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3268Power saving in hard disk drive
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • 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/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]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Power Sources (AREA)

Description

本発明はデータ配置制御プログラム、データ配置制御装置、データ配置制御方法、およびマルチノードストレージシステムに関し、特に複数のディスクノードに分散配置するデータのデータ配置を制御するデータ配置制御プログラム、データ配置制御装置、データ配置制御方法、およびマルチノードストレージシステムに関する。
近年、コンピュータが高速および高機能化している。また、コンピュータシステムを用いた業務の多様化に伴い、コンピュータシステム全体の規模が大規模化している。大規模なコンピュータシステムでは、複数のストレージ装置に対してデータが分散して配置される。このような分散ストレージシステムでは、ストレージ装置は論理ボリュームに対応付けられる。ストレージ装置に対するデータアクセスを行う場合、アクセスを行うノードからは論理ボリュームにおけるデータの位置が指定される。すると、ストレージ装置を管理しているノードにより、そのデータの論理ボリューム上での位置に対応するストレージ装置内のデータが判断され、該当データへのアクセスが行われる。
このような分散ストレージシステムでは、データをどのようにストレージ装置に配置するかが、コンピュータシステム全体の各種性能に影響を及ぼす。例えば、特定のストレージ装置に対してアクセスが集中してしまうと、データアクセスの遅延等が発生する。そこで、効率の良いデータアクセスを行うために、各ノードのリソース量や負荷に基づいて、適当なデータ配置となるように論理ボリュームを移動する技術がある(例えば、特許文献1参照)。このような技術を用いれば、大規模な分散ストレージシステムにおいて、処理効率の良い複数のストレージ装置へデータ配置が可能となる。
ところで、分散ストレージシステムの大規模化は、システムの処理能力を向上させることができる一方で、電力消費量の増大を招いてしまう。ここで、コンピュータにおける省電力化の機能としては、一定時間ストレージにアクセスがないときに省電力モードに移行させる技術がある(例えば、特許文献2参照)。このような省電力モードによって磁気ディスクの電源をオフにすれば、消費電力を抑えることができる。
特開2003−296039号公報 特開2000−293314号公報
しかし、従来の性能向上のためのデータ再配置は、データ処理性能の向上が目的であり、消費電力の低減といった環境性能の向上は考えられていなかった。そのため、システム全体での電力消費量を抑えることができなかった。
なお、特許文献2の技術を用いれば、ストレージ単体での電力消費量を低減させることができる。ところが、分散ストレージシステムでは、データアクセスの高速化および信頼性の向上のため、一連のデータを分散して配置することが多い。この場合、複数のストレージ装置にほぼ均等にデータアクセスが発生する。すると、このようなコンピュータシステムにおける各ストレージ装置に対して特許文献2の技術をそのまま採用したとしても、電源をオフできる時間帯が生じ難く、効果的な電力消費量の削減は期待できない。
本発明はこのような点に鑑みてなされたものであり、消費電力の低減に適したデータ配置を行うことができるデータ配置制御プログラム、データ配置制御装置、データ配置制御方法、およびマルチノードストレージシステムを提供することを目的とする。
本発明では上記課題を解決するために、一定時間アクセスがなければ省電力モードに移行する複数のディスクノードに対してデータを分散格納する際のデータ配置を管理するデータ配置制御装置が提供される。
データ配置制御装置は、前記ディスクノードが管理するデータそれぞれに対して所定の時間帯内に行われたアクセス数を示すアクセス統計情報が格納されたアクセス統計情報記憶手段から、前記アクセス統計情報を収集するアクセス統計情報収集手段と、前記アクセス統計情報を参照し、前記所定の時間帯内のアクセス数が少ないデータほど大きくなる値を、各データのデータ無アクセス確率とする無アクセス確率計算手段と、データの格納先となる前記ディスクノードを示す配置パターン候補を複数生成する配置パターン候補生成手段と、前記配置パターン候補生成手段によって生成された前記配置パターン候補それぞれについて、前記配置パターン候補に従ってデータを配置した場合に前記ディスクノードそれぞれに配置されるデータの前記データ無アクセス確率を集計して、前記ディスクノードそれぞれにアクセスがない確率を示すノード無アクセス確率を算出し、前記ディスクノードそれぞれの前記ノード無アクセス確率を集計して、いずれかの前記ディスクノードに対して発生するアクセスがない時間の期待値を示す無アクセス時間期待値を算出する期待値計算手段と、前記配置パターン候補生成手段で生成された複数の前記配置パターン候補のうち、前記期待値計算手段で計算された前記無アクセス時間期待値が最も大きくなる前記配置パターン候補を、データ再配置のための配置パターンに決定する配置パターン決定手段と、前記ディスクノードに対して、前記配置パターン決定手段で決定された前記配置パターンに従ったデータの再配置を指示するデータ再配置指示手段とを有する。
このようなデータ配置制御装置によれば、ディスクノードからアクセス統計情報が収集され、所定の時間帯内のアクセス数が少ないデータほど大きくなる値が、各データのデータ無アクセス確率とされる。次に、データの格納先となるディスクノードを示す配置パターン候補が複数生成される。さらに、生成された配置パターン候補それぞれについて、ディスクノードそれぞれにアクセスがない確率を示すノード無アクセス確率が算出され、いずれかのディスクノードに対して発生するアクセスがない時間の期待値を示す無アクセス時間期待値が算出される。そして、無アクセス時間期待値が最も大きくなる配置パターン候補がデータ再配置のための配置パターンに決定され、ディスクノードに対して、決定された配置パターンに従ったデータの再配置が指示される。
また、本発明では、コンピュータを上記データ配置制御装置と同様に機能させるためのデータ配置制御プログラム、上記データ制御装置と同様の処理をコンピュータで行うためのデータ配置制御方法、および上記データ制御装置の機能を具備する制御ノードと複数のディスクノードとを有するマルチノードストレージシステムが提供される。
本発明では、無アクセス時間期待値が高くなるようにデータが複数のディスクノードに分散配置され、ディスクノードが省電力モードである時間の長期化が図れる。その結果、システムの省電力化が可能となる。
以下、本発明の実施の形態を図面を参照して説明する。
図1は、実施の形態の概要を示す図である。本実施の形態では、マルチノードストレージシステムの省電力化が図られる。
なお、マルチノードストレージシステムは、複数のストレージ装置を有する分散ストレージシステムの一種である。分散ストレージシステムとしては、1つのノードに接続された複数のストレージ装置にデータを分散させるシステムと、ネットワークを介して接続された複数のノードそれぞれが有するストレージ装置にデータを分散させるシステム(マルチノードストレージシステム)とが考えられる。マルチノードストレージシステムでは、ディスクノード単位でシステムの増強が可能となり、システム構成の変更が容易である。ただし、マルチノードストレージシステムでは、ネットワークを介した複数のノード(コンピュータ)を用いて運用されるため、消費電力の増大を招いてしまう。そこで、システム全体としての省電力化が特に必要となっている。
図1に示すマルチノードストレージシステムは、制御ノード1と複数のディスクノード2,3,・・・とで構成される。ディスクノード2,3,・・・には、それぞれストレージ装置2a,3a,・・・が接続されている。ディスクノード2は、アクセス統計情報記憶手段2b、アクセス統計情報更新手段2c、データ再配置手段2d、および動作モード制御手段2eを有している。
アクセス統計情報記憶手段2bは、ストレージ装置2aに格納されたデータそれぞれに対して所定の時間帯内に行われたアクセス数を示すアクセス統計情報が格納さている。アクセス統計情報更新手段2cは、所定の時間帯内にストレージ装置2aに格納されたデータに対してアクセスがあるごとにアクセス統計情報を更新する。データ再配置手段2dは、データの再配置の指示を受けた場合、指示に従ってストレージ装置2aに格納されたデータの転送を行う。
動作モード制御手段2eは、ストレージ装置2aに格納したデータへのアクセスが一定時間ない場合、少なくとも一部の機能を停止させる省電力モードに移行させる。例えば、動作モード制御手段2eは、ストレージ装置2aに格納したデータへのアクセスが一定時間ない場合、ストレージ装置2a内のディスクの回転を停止させる。また、動作モード制御手段2eは、ストレージ装置2aに格納したデータへのアクセスが一定時間ない場合、ディスクノード2自身のデータ処理を停止することもできる。ディスクノード2のデータ処理を停止させる機能としては、例えば、ディスクノード2のサスペンド機能(電源を切る直前の状態を保存して、次に電源を入れたときに電源を切る直前の状態から作業を再開させる機能)がある。
他のディスクノード3,・・・もディスクノード2と同様の機能を有している。
制御ノード1は、複数のディスクノード2,3,・・・に対してデータを分散格納する際のデータ配置を管理するために、アクセス統計情報収集手段1a、無アクセス確率計算手段1b、配置パターン候補生成手段1c、期待値計算手段1d、配置パターン決定手段1e、およびデータ再配置指示手段1fを有している。アクセス統計情報収集手段1aは、ディスクノード2内のアクセス統計情報記憶手段2bからアクセス統計情報を収集する。同様に、アクセス統計情報収集手段1aは、他のディスクノード3,・・・からもアクセス統計情報を収集する。
無アクセス確率計算手段1bは、収集したアクセス統計情報を参照し、所定の時間帯内のアクセス数が少ないデータほど大きくなる値を、各データのデータ無アクセス確率とする。例えば、無アクセス確率計算手段1bは、所定の時間帯内のアクセス数に負の数を乗算した値を乗数としたべき乗(2のべき乗など)の値を、無アクセス確率とする。
配置パターン候補生成手段1cは、データの格納先となるディスクノードを示す配置パターン候補を複数生成する。
期待値計算手段1dは、配置パターン候補生成手段1cによって生成された配置パターン候補それぞれについて、配置パターン候補に従ってデータを配置した場合にディスクノード2,3,・・・それぞれに配置されるデータのデータ無アクセス確率を集計して、ディスクノードそれぞれにアクセスがない確率を示すノード無アクセス確率を算出する。さらに期待値計算手段1dは、ディスクノード2,3,・・・それぞれのノード無アクセス確率を集計して、いずれかのディスクノードに対して発生するアクセスがない時間の期待値を示す無アクセス時間期待値を算出する。例えば、期待値計算手段1dは、配置パターン候補に従ってデータを配置した場合にディスクノード2,3,・・・それぞれに配置されるデータのデータ無アクセス確率を互いに乗算してディスクノード2,3,・・・にアクセスがない確率とし、算出した確率に応じた値をディスクノードの無アクセス時間期待値とする。
配置パターン決定手段1eは、配置パターン候補生成手段1cで生成された複数の配置パターン候補のうち、期待値計算手段1dで計算された無アクセス時間期待値が最も大きくなる配置パターン候補を、データ再配置のための配置パターンに決定する。
データ再配置指示手段1fは、ディスクノード2,3,・・・に対して、配置パターン決定手段1eで決定された配置パターンに従ったデータの再配置を指示する。
このようなマルチノードストレージシステムによれば、ディスクノード2に接続されたストレージ装置2aに格納されたデータがアクセスされるごとに、アクセス統計情報更新手段2cによりアクセス統計情報記憶手段2b内のアクセス統計情報が更新される。そして、制御ノード1のアクセス統計情報収集手段1aにより、ディスクノード2,3,・・・からアクセス統計情報が収集される。次に、無アクセス確率計算手段1bにより、所定の時間帯内のアクセス数が少ないデータほど大きくなる値が、各データのデータ無アクセス確率とされる。また、配置パターン候補生成手段1cにより、データの格納先となるディスクノードを示す配置パターン候補が複数生成される。
さらに、期待値計算手段1dにより、生成された配置パターン候補それぞれについて、ディスクノードそれぞれにアクセスがない確率を示すノード無アクセス確率が算出され、いずれかのディスクノードに対して発生するアクセスがない時間の期待値を示す無アクセス時間期待値が算出される。そして、配置パターン決定手段1eにより、無アクセス時間期待値が最も大きくなる配置パターン候補がデータ再配置のための配置パターンに決定され、ディスクノード2,3,・・・に対して、決定された配置パターンに従ったデータの再配置が指示される。ディスクノード2では、データ再配置手段2dが、データの再配置の指示に従ってストレージ装置2aに格納されたデータの転送を行う。このデータの再配置は、複数のディスクノード2,3,・・・が協働して実行される。
また、各ディスクノード2,3,・・・の動作モード制御手段2eは、ストレージ装置2aに格納したデータへのアクセスが一定時間ない場合、少なくとも一部の機能を停止させる省電力モードに移行させる。
このようにして、いずれかのディスクノード2,3,・・・に対してアクセスのない時間が長期化するようにデータの再配置を行うことができる。その結果、ディスクノード2,3,・・・が省電力モードの状態となる時間が長期化し、システム全体として消費電力を減らすことができる。
ところで、マルチノードストレージシステムでは、データを二重化させ、プライマリとセカンダリとの属性を与えることができる。プライマリのデータは、優先的にアクセス対象となるデータである。セカンダリのデータは、プライマリのデータにアクセスできないときに使用されるデータである。このようにデータを二重化させた場合、省電力モードに状態が変更されるディスクノードが管理するデータをすべてセカンダリのデータとすることで、そのディスクノードに対してアクセスが発生する可能性をさらに低下させることができる。すなわち、省電力モードを長時間維持できるようになり、消費電力の削減効果を高めることができる。そこで、二重化されたデータを取り扱うマルチノードストレージシステムの例を用いて、本発明の実施の形態について具体的に説明する。
図2は、本実施の形態のマルチノードストレージシステム構成例を示す図である。本実施の形態では、ネットワーク10を介して、複数のディスクノード100,200,300,400、制御ノード500、およびアクセスノード600が接続されている。ディスクノード100,200,300,400それぞれには、ストレージ装置110,210,310,410が接続されている。
ストレージ装置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 Arrays of Inexpensive Disks)システムである。本実施の形態では、各ストレージ装置110,210,310,410は、RAID5のディスク管理サービスを提供する。
ディスクノード100,200,300,400は、例えば、IA(Intel Architecture)と呼ばれるアーキテクチャのコンピュータである。ディスクノード100,200,300,400は、接続されたストレージ装置110,210,310,410に格納されたデータを管理し、管理しているデータをネットワーク10経由で端末装置21〜23に提供する。また、ディスクノード100,200,300,400は、冗長性を有するデータを管理している。すなわち、同一のデータが、少なくとも2つのディスクノードで管理されている。
制御ノード500は、ディスクノード100,200,300,400を管理する。例えば、制御ノード500は、所定のタイミングで省電力化に適したデータ配置を決定し、ディスクノード100,200,300,400に対してデータの再配置を指示する。
アクセスノード600には、ネットワーク20を介して複数の端末装置21〜23が接続されている。アクセスノード600は、ディスクノード100,200,300,400それぞれが管理しているデータの格納場所を認識しており、端末装置21〜23からの要求に応答して、ディスクノード100,200,300,400へデータアクセスを行う。
図3は、本実施の形態に用いるディスクノードのハードウェア構成例を示す図である。ディスクノード100は、CPU(Central Processing Unit)101によって装置全体が制御されている。CPU101には、バス107を介してRAM(Random Access Memory)102、HDDインタフェース103、グラフィック処理装置104、入力インタフェース105、および通信インタフェース106が接続されている。
RAM102には、CPU101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、CPU101による処理に必要な各種データが格納される。
HDDインタフェース103には、ストレージ装置110が接続されている。HDDインタフェース103は、ストレージ装置110に内蔵されたRAIDコントローラ115と通信し、ストレージ装置110に対するデータの入出力を行う。ストレージ装置110内のRAIDコントローラ115は、RAID0〜5の機能を有し、複数のHDD111〜114をまとめて1台のハードディスクとして管理する。
グラフィック処理装置104には、モニタ11が接続されている。グラフィック処理装置104は、CPU101からの命令に従って、画像をモニタ11の画面に表示させる。入力インタフェース105には、キーボード12とマウス13とが接続されている。入力インタフェース105は、キーボード12やマウス13から送られてくる信号を、バス107を介してCPU101に送信する。
通信インタフェース106は、ネットワーク10に接続されている。通信インタフェース106は、ネットワーク10を介して、他のコンピュータとの間でデータの送受信を行う。なお、通信インタフェース106は、WakeOnLAN機能と呼ばれる機能を搭載している。WakeOnLAN機能は、CPU101の動作が停止した状態でもネットワーク10経由でシステムの起動要求を示す信号を受け付けることができる。そして、その信号を受け取ると、通信インタフェース106は、WakeOnLAN機能によってシステムを起動させることができる。
図4は、本実施の形態に用いる制御ノードのハードウェア構成例を示す図である。制御ノード500は、CPU501によって装置全体が制御されている。CPU501には、バス507を介してRAM502、HDD503、グラフィック処理装置504、入力インタフェース505、および通信インタフェース506が接続されている。
RAM502には、CPU501に実行させるOSのプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM502には、CPU501による処理に必要な各種データが格納される。HDD503には、OSやアプリケーションプログラムが格納される。
グラフィック処理装置504には、モニタ31が接続されている。グラフィック処理装置504は、CPU501からの命令に従って、画像をモニタ31の画面に表示させる。入力インタフェース505には、キーボード32とマウス33とが接続されている。入力インタフェース505は、キーボード32やマウス33から送られてくる信号を、バス507を介してCPU501に送信する。
通信インタフェース506は、ネットワーク10に接続されている。通信インタフェース506は、ネットワーク10を介して、他のコンピュータとの間でデータの送受信を行う。
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。なお、図3には、ディスクノード100とストレージ装置110との構成のみを示したが、他のディスクノード200,300,400や他のストレージ装置210,310,410も同様のハードウェア構成で実現できる。さらに、アクセスノード600、および端末装置21〜23も、図4に示した制御ノード500と同様のハードウェア構成で実現できる。
図2に示すように、複数のディスクノード100,200,300,400がネットワーク10に接続され、それぞれのディスクノード100,200,300,400は他のディスクノードとの間で通信を行う。このマルチノードストレージシステムは、端末装置21〜23に対して、仮想的なボリューム(以下、論理ボリュームと呼ぶ)として機能する。
図5は、論理ボリュームのデータ構造を示す図である。論理ボリューム700には、「LVOL−A」という識別子(論理ボリューム識別子)が付与されている。また、ネットワーク経由で接続された4台のディスクノード100,200,300,400には、個々のディスクノードの識別のためにそれぞれ「SN−A」、「SN−B」、「SN−C」、「SN−D」というノード識別子が付与されている。
各ディスクノード100,200,300,400が有するストレージ装置110,210,310,410それぞれにおいてRAID5の論理ディスクが構成されている。この論理ディスクは5つのスライスに分割され個々のディスクノード内で管理されている。
図5の例では、ストレージ装置110内の記憶領域は、5つのスライス121〜125に分けられている。ストレージ装置210内の記憶領域は、5つのスライス221〜225に分けられている。ストレージ装置310内の記憶領域は、5つのスライス321〜325に分けられている。ストレージ装置410内の記憶領域は、5つのスライス421〜425に分けられている。
なお、論理ボリューム700は、セグメント710,720,730,740という単位で構成される。セグメント710,720,730,740の記憶容量は、ストレージ装置110,210,310,410における管理単位であるスライスの記憶容量と同じである。例えば、スライスの記憶容量が1ギガバイトとするとセグメントの記憶容量も1ギガバイトである。論理ボリューム700の記憶容量はセグメント1つ当たりの記憶容量の整数倍である。例えば、セグメントの記憶容量が1ギガバイトならば、論理ボリューム700の記憶容量は4ギガバイトといったものになる。
セグメント710,720,730,740は、それぞれプライマリスライス711,721,731,741とセカンダリスライス712,722,732,742との組から構成される。同じセグメントに属するスライスは別々のディスクノードに属する。各スライスは、スライス管理情報によって管理される。スライス管理情報には、論理ボリューム識別子、セグメント情報、同じセグメントを構成するスライス情報、プライマリスライスかセカンダリスライスかを示すフラグなどが含まれる。
図5の例では、スライスの属性を識別するための識別子を、「P」または「S」のアルファベットと数字との組合せで示している。「P」はプライマリスライスであることを示している。「S」はセカンダリスライスであることを示している。アルファベットに続く数字は、何番目のセグメントに属するのかを表している。例えば、1番目のセグメント710のプライマリスライスが「P1」で示され、セカンダリスライスが「S1」で示される。
このような構造の論理ボリューム700の各プライマリスライスおよびセカンダリスライスが、ストレージ装置110,210,310,410内のいずれかのスライスに対応付けられる。例えば、セグメント710のプライマリスライス711は、ストレージ装置410のスライス424に対応付けられ、セカンダリスライス712は、ストレージ装置210のスライス222に対応付けられている。
そして、各ストレージ装置110,210,310,410では、自己のスライスに対応するプライマリスライスまたはセカンダリスライスのデータを記憶する。
図6は、マルチノードストレージシステムの各装置の機能を示すブロック図である。アクセスノード600は、論理ボリュームアクセス制御部610を有している。論理ボリュームアクセス制御部610は、端末装置21〜23からの論理ボリューム700内のデータを指定したアクセス要求に応じて、対応するデータを管理するディスクノードに対してデータアクセスを行う。具体的には、論理ボリュームアクセス制御部610は、論理ボリューム700の各セグメントのプライマリスライスまたはセカンダリスライスと、ストレージ装置110,210,310,410内のスライスとの対応関係を記憶している。そして、論理ボリュームアクセス制御部610は、端末装置21〜23からセグメント内のデータアクセスの要求を受け取ると、該当するセグメントのプライマリスライスに対応するスライスを有するストレージ装置に対してデータアクセスを行う。
制御ノード500は、論理ボリューム管理部510、スライス管理情報群記憶部520、およびデータ再配置制御部530を有している。
論理ボリューム管理部510は、ディスクノード100,200,300,400が有するストレージ装置110,210,310,410内のスライスを管理する。例えば、論理ボリューム管理部510は、システム起動時に、ディスクノード100,200,300,400に対してスライス管理情報取得要求を送信する。そして、論理ボリューム管理部510は、スライス管理情報取得要求に対して返信されたスライス管理情報を、スライス管理情報群記憶部520に格納する。
また、論理ボリューム管理部510は、データ再配置制御部530からデータの再配置の指示を受け取ると、指示に応じてデータの再配置を行う。具体的には、データの再配置の指示では、セグメントへのスライスの割当の変更が指示される。その指示を受け取った論理ボリューム管理部510は、各ディスクノード100,200,300,400に対して、スライス管理情報の更新とスライス内のデータのコピーを指示する。これにより、ディスクノード100,200,300,400では、データの再配置における再配置元のスライスから再配置先のスライスへデータがコピーされる。なお、再配置先のスライスに対して別のセグメントが割り当てられていた場合、例えば、再配置先のスライス内のデータを一旦空き領域に退避した後、コピーが行われる。ディスクノード100,200,300,400でのコピーが終了すると、論理ボリューム管理部510は、スライス管理情報群記憶部520内のスライス管理情報を更新し、その内容をアクセスノード600に通知する。
さらに、論理ボリューム管理部510は、いずれかのディスクノードからスライスの属性変更要求を受け取ると、その属性変更要求に示されるスライスをプライマリスライスからセカンダリスライスに変更する。具体的には、属性変更要求を受け取った論理ボリューム管理部510は、属性変更要求に示されるスライスが割り当てられたセグメントのプライマリとセカンダリを入れ替えるように、スライス管理情報群記憶部520内のスライス管理情報を更新する。次に、論理ボリューム管理部510は、更新対象となったスライスを有する2つのディスクノードに対して、属性変更要求を送信する。この属性変更要求に応じて、ディスクノードでは、自己の有するスライス管理情報が更新される。そして、論理ボリューム管理部510は、スライス管理情報群記憶部520内のスライス管理情報の内容をアクセスノード600に通知する。
スライス管理情報群記憶部520は、ディスクノード100,200,300,400から収集されたスライス管理情報を記憶する記憶機能である。例えば、制御ノード500内のRAMの記憶領域の一部がスライス管理情報群記憶部520として使用される。
データ再配置制御部530は、定期的にストレージ装置110,210,310,410へのデータの再配置(セグメントへのスライスの再割り当て)を行う。具体的には、データ再配置制御部530は、所定のタイミングになると、各ディスクノード100,200,300,400からアクセス統計情報を収集する。アクセス統計情報は、ディスクノード100,200,300,400それぞれが管理する各スライスに対する時間帯毎のアクセス数を示す情報である。
収集したデータアクセス統計情報に基づいて、適当なデータ配置を決定することができる。ここで、データの再配置は、処理効率の向上させるために行われる場合と、消費電力の省力化(環境性能の向上)を図るために行われる場合とがある。処理効率の向上のための再配置では、データ再配置制御部530は、各ディスクノード100,200,300,400へのアクセスが均等となるように、データを再配置する。すなわち、データ再配置制御部530は、時間帯毎に、ディスクノード100,200,300,400それぞれへのアクセス数が均等となるようにデータの再配置を行う。
消費電力の省力化のためのデータの再配置では、データ再配置制御部530は、収集したアクセス統計情報に基づいて、データの再配置を行ったときに各ディスクノード100,200,300,400に対して、所定の時間帯内にアクセスがない確率を計算する。そして、データ再配置制御部530は、データの配置パターン(セグメントへのスライスの割当パターン)のうち、所定の時間帯内にいずれかのディスクノードにアクセスが発生しない期待値が最も大きくなる配置パターンを決定する。配置パターンが決定すると、データ再配置制御部530は、決定した配置パターンでのデータの再配置を論理ボリューム管理部510に指示する。
ディスクノード100は、データアクセス部130、データ管理部140、スライス管理情報記憶部150、および動作モード制御部160を有している。
データアクセス部130は、アクセスノード600からの要求に応答して、ストレージ装置110内のデータにアクセスする。具体的には、データアクセス部130は、アクセスノード600からデータのリード要求を受け取った場合、リード要求で指定されたデータをストレージ装置110から取得し、アクセスノード600に送信する。また、データアクセス部130は、アクセスノード600からデータのライト要求を受け取った場合、ライト要求に含まれるデータをストレージ装置110内に格納する。
データ管理部140は、ストレージ装置110内のデータを管理する。例えば、データ管理部140は、データアクセス部130によるデータアクセスを監視し、ストレージ装置110内のプライマリスライスに対してデータの書き込みが行われた場合、そのプライマリスライスと同じセグメントに属するセカンダリスライスを管理しているディスクノードに対して書き込まれたデータを送信する。このデータを受け取ったディスクノードのデータ管理部によって、セカンダリスライス内のデータが更新される。これにより、プライマリスライスとセカンダリスライスとの同一性が保たれる。
また、データ管理部140は、データアクセス部130によるデータアクセスを監視し、スライス管理情報記憶部250に格納されたアクセス統計情報の内容と、最終アクセス時刻の値を更新する。具体的には、データ管理部140は、アクセスされたスライスに対する現在の時間帯におけるアクセス数の値をカウントアップすると共に、ディスクノード100への最終アクセス時刻を示す情報に現在の時刻を設定する。
さらに、データ管理部140は、論理ボリューム管理部510からのスライス管理情報取得要求に応答して、スライス管理情報記憶部150に記憶されたスライス管理情報を論理ボリューム管理部510に対して送信する。
スライス管理情報記憶部150は、スライス管理情報を記憶する記憶機能である。例えば、RAM102内の記憶領域の一部がスライス管理情報記憶部150として使用される。なお、スライス管理情報記憶部150に格納されるスライス管理情報は、システム停止時にはストレージ装置110内に格納され、システム起動時にスライス管理情報記憶部150に読み込まれる。
また、スライス管理情報記憶部150には、アクセス統計情報も格納される。アクセス統計情報は、ストレージ装置110内の各スライスに対するアクセス数を、時間帯毎に集計したものである。
動作モード制御部160は、ストレージ装置110へのアクセス状況に応じたディスクノード100およびストレージ装置110の省電力モードへの移行、および省電力モードからの復帰を制御する。具体的には、動作モード制御部160は、ストレージ装置110に対するアクセスが所定時間(ストレージ省電力移行時間)以上なかった場合、ストレージ装置110を省電力モードにする。具体的には、動作モード制御部160は、ストレージ省電力移行時間以上データアクセスが無いことを検出すると、自己の管理するスライスのうちプライマリスライスをセカンダリスライスに変更する属性変更要求を制御ノード500に送信する。そして、動作モード制御部160は、制御ノードから属性変更指示を受け取ると、指定されたスライスを、同一セグメントのセカンダリスライスに変更する。その後、動作モード制御部160は、ストレージ装置110に対して省電力モードへのモードの切り換え指示を出力する。すると、ストレージ装置110は、省電力モードに切り換えられる。省電力モードとなったストレージ装置110では、HDD111〜114のディスクの回転が停止(スピンダウン)する。
また、動作モード制御部160は、ストレージ装置110に対するアクセスが所定時間(ノード省電力移行時間)以上なかった場合、ディスクノード100を省電力モードにする。具体的には、動作モード制御部160は、ノード省電力移行時間以上データアクセスが無いことを検出すると、自己の管理するスライスのうちプライマリスライスをセカンダリスライスに変更する属性変更要求を制御ノード500に送信する。そして、動作モード制御部160は、制御ノードから属性変更指示を受け取ると、指定されたスライスを、同一セグメントのセカンダリスライスに変更する。その後、動作モード制御部160は、ディスクノード100を省電力モードへ移行させる。省電力モードとなったディスクノード100は、CPU101の動作が停止する。
さらに、動作モード制御部160は、ディスクノード100またはストレージ装置110が省電力モードの状態のときに、ストレージ装置110へのアクセスが行われると、省電力モードから通常の運用モードに切り換える。具体的には、ストレージ装置110が省電力モードであれば、動作モード制御部160は、ストレージ装置110のディスクの回転を開始させる(スピンアップ)。また、ディスクノード100が省電力モードの場合、動作モード制御部160は、ディスクノード100のデータ処理を開始させる。例えば、動作モード制御部160は、ディスクノード100をサスペンド状態から復帰させる。なお、ディスクノード100が省電力モードの場合、動作モード制御部160は、通信インタフェース106に内蔵されたWakeOnLAN機能によってストレージ装置110へのアクセスを検知できる。
他のディスクノード200,300,400は、ディスクノード100と同様の機能を有している。すなわち、ディスクノード200は、データアクセス部230、データ管理部240、スライス管理情報記憶部250、および動作モード制御部260を有している。ディスクノード300は、データアクセス部330、データ管理部340、スライス管理情報記憶部350、および動作モード制御部360を有している。ディスクノード400は、データアクセス部430、データ管理部440、スライス管理情報記憶部450、および動作モード制御部460を有している。ディスクノード200,300,400内の各要素は、ディスクノード100内の同名の要素と同じ機能を有している。
なお、図1に示した制御ノード1内の各要素の機能は、基本的に図6の制御ノード500のデータ再配置制御部530に含まれる。ただし、データ再配置指示手段1fによるデータの再配置の指示は、データ再配置制御部530からの指示に基づいて、論理ボリューム管理部510が実行する。また、図1に示したディスクノード2内のアクセス統計情報記憶手段2bの機能はスライス管理情報記憶部150,250,350,450に含まれ、アクセス統計情報更新手段2cとデータ再配置手段2dとの機能はデータ管理部140,240,340,440に含まれ、動作モード制御手段2eの機能は動作モード制御部160,260,360,460に含まれる。
図7は、スライス管理情報のデータ構造例を示す図である。スライス管理情報記憶部150には、スライス管理情報151、アクセス統計情報152、および最終アクセス時刻153が格納されている。スライス管理情報151の構成要素は、左側の要素から順に以下の通りである。
・スライス番号
・開始ブロック位置(該当スライスの先頭に当たるブロックの番号)
・ブロック数(スライス内のブロック数)
・フラグ(プライマリ/セカンダリ)
・論理ボリューム識別子
・セグメント番号
・論理ボリューム開始ブロック位置
・論理ボリューム内でのブロック数
・ペアを組むディスクノード識別子
・ペアを組むスライス番号
図7で示したスライス管理情報151は、図5で示した論理ボリューム700の一部を構成している。例えば、ノード識別子「SN−A」のスライス管理情報151におけるスライス番号「4」のスライスは「LVOL−A」のセグメント番号「4」のプライマリスライスであり、ペアを組んでいるのは「SN−D」のセグメント番号「1」のスライスである、ということを意味する。
アクセス統計情報152には、スライス番号とアクセス回数との欄が設けられている。スライス番号の欄には、ストレージ装置110に設けられた各スライスのスライス番号が設定される。
アクセス回数の欄は、時間帯ごとの複数の欄に細分割されている。図7の例では、0時〜5時台、6時〜11時台、12時〜17時台、18時〜23時台の欄が設けられている。ここで、0時〜5時台は、0時以後(0時丁度を含む)であり6時前(6時丁度は含まない)の時間帯を意味する。各時間帯の欄には、該当する時間帯に各スライスに対してアクセスが行われた回数(アクセス回数)が設定される。アクセス統計情報152は、各スライスにアクセスが行われる度に、アクセスが行われた時刻を含む時間帯のアクセス回数が更新される。
最終アクセス時刻153は、最後にストレージ装置110にアクセスが行われた時刻を示している。最終アクセス時刻153は、ストレージ装置110にアクセスが行われる度に更新される。
図7に示したスライス管理情報151と同様のスライス管理情報が、他のディスクノード200,300,400のスライス管理情報記憶部250,350,450にも格納されている。そして、制御ノード500が、システム起動時に各ディスクノード100,200,300,400からスライス管理情報を収集し、スライス管理情報群記憶部520に格納する。
図8は、スライス管理情報群記憶部のデータ構造例を示す図である。スライス管理情報群記憶部520には、収集したスライス管理情報151,251,351,451が格納されている。スライス管理情報151はディスクノード100(ノード識別子を「SN−A」とする)から取得したものである。スライス管理情報251はディスクノード200(ノード識別子を「SN−B」とする)から取得したものである。スライス管理情報351はディスクノード300(ノード識別子を「SN−C」とする)から取得したものである。スライス管理情報451はディスクノード400(ノード識別子を「SN−D」とする)から取得したものである。
以上のような構成のマルチノードストレージシステムにおいて、定期的にデータの再配置が行われる。データの再配置には、処理能力を向上させるための再配置(ディスクノード100,200,300,400へのアクセスが均等となるような再配置)と、省電力化を図るための再配置(アクセス頻度が低いディスクノードの数を増やすような再配置)がある。以下、省電力化を図るためのデータ再配置処理について詳細に説明する。
ここで、省電力化を図るためのデータ再配置処理としては、2通りの処理が可能である。
第1のデータ再配置処理は、2つのスライスをランダムに選択して、セグメントへの割当を相互に変更することの適否を検討する。そして、スライスの選択処理を所定回数行い、その中で最も省電力化が期待できるデータ配置となるように、データを再配置する処理である。この処理は、ディスクノード数やセグメント数が膨大であり、すべてのデータ配置パターン(セグメントへのスライス割当パターン)を検証することができない場合に有効である。
第2のデータ再配置処理は、セグメントへ割当可能なすべてのスライス割当パターンのうち、最も省電力化が期待できるデータ配置となるように、データを再配置する処理である。この処理は、ディスクノード数やセグメント数が膨大ではなく、すべてのデータ配置パターンの検証可能な場合に有効である。
なお、第1のデータ再配置処理を行うのか第2のデータ再配置処理を行うのかは、管理者によって予めデータ再配置制御部530に設定されているものとする。管理者は、データ再配置の実行間隔、制御ノード500が1つのスライス割当パターンの検証に要する時間などを考慮して、いずれのデータ再配置処理を実行するべきかを決定する。なお、データ再配置処理は、所定のタイミングでデータ再配置制御部530によって実行される。データ再配置処理の実行時刻(あるいは実行間隔)は、管理者の操作入力によって予めデータ再配置制御部530が管理するメモリ(RAM502)に設定されている。
図9は、第1のデータ再配置処理の手順を示すフローチャートである。以下、図9に示す処理をステップ番号に沿って説明する。
[ステップS11]データ再配置制御部530は、全ノードからアクセス統計を収集する。具体的には、データ再配置制御部530は、各ディスクノード100,200,300,400のデータ管理部140,240,340,440に対して、アクセス統計情報の取得要求を送信する。その取得要求に応じて、データ管理部140,240,340,440それぞれが、スライス管理情報記憶部150,250,350,450からアクセス統計情報を取得し、制御ノード500に送信する。データ再配置制御部530は、各ディスクノード100,200,300,400から送信されたアクセス統計情報を取得する。
この際、データ再配置制御部530は、論理ボリューム管理部510を介して、スライス管理情報群記憶部520に格納されているスライス管理情報を取得する。取得したスライス管理情報により、データ再配置制御部530は、論理ボリューム700に設けられたセグメント710,720,730,740と、そのセグメントに割り当てられたスライスを認識できる。
[ステップS12]データ再配置制御部530は、時間帯ごとにディスクノード100,200,300,400それぞれにアクセスがない確率を計算する。具体的には、以下の計算が行われる。
まず、スライスごとに、そのスライスにアクセスがない確率p(データ無アクセス確率)を求める。ここで、i番目のスライスにアクセスがない確率をp(iは、自然数)とすると、各スライスのアクセスがない確率は、以下の式で求めることができる。
= 2−u (u=α×c) ・・・(1)
ここで、αは予め設定された正数である。cは、i番目のスライスに対して、判断対象の時間帯内に行われたアクセス数である。この式(1)によれば、アクセス数が多くなるほどアクセスがない確率は小さくなる。このような確率pが、スライスごとおよび時間帯ごとに算出される。
[ステップS13]データ再配置制御部530は、異なるディスクノードからスライスの組をランダムに選択する。このとき選択するスライスは、現在セグメントに割り当てられていないスライスも含まれる。
[ステップS14]データ再配置制御部530は、現在のセグメントへのスライスの割当状況から、ステップS13で選択したスライスの割当を相互に入れ替えた場合の配置パターン候補を生成する。具体的には、データ再配置制御部530は、ステップS13で選択したスライスをそれぞれ「スライスa」、「スライスb」としたとき、「スライスa」が割り当てられていたセグメントに対しては「スライスb」を割り当て、「スライスb」が割り当てられていたセグメントに対しては「スライスa」を割り当てる。スライスの入れ替えの際には、スライスの属性(プライマリスライスかセカンダリスライスか)についても、入れ替え相手のスライスの属性が引き継がれる。
[ステップS15]データ再配置制御部530は、ステップS14で生成された配置パターン候補において、すべてのセグメントに関して、プライマリスライスとセカンダリスライスとが別のディスクノードにあるか否かを判断する。プライマリスライスとセカンダリスライスとが別のディスクノードにある場合、処理がステップS16に進められる。プライマリスライスとセカンダリスライスとが同一のディスクノードに配置されるセグメントがある場合、処理がステップS19に進められる。
[ステップS16]データ再配置制御部530は、配置パターン候補におけるアクセスがない時間の期待値tの和を計算する。そのために、データ再配置制御部530は、まず、各スライスのアクセスがない確率に基づいて、各ディスクノードにアクセスがない確率q(ノード無アクセス確率)を、以下の式で求める。
q = p×p×... ・・・(2)
この確率qが時間帯ごとに算出される。ここで、k番目(kは自然数)の時間帯におけるディスクノードにアクセスがない確率をqkとする。このとき、該当ディスクノードにアクセスがない時間の期待値tは、以下の式で計算できる。
t = (q+q+…)×β ・・・(3)
ここでβは、予め設定された定数(正数)である。なお、βの値は、ディスクノードごとに異なる値としてもよい。例えば、通常運用時の消費電力が大きいディスクノードのβの値を他のディスクノードよりも大きくすることで、消費電力が大きいディスクノードにアクセスがない時間の影響度を高めることができる。
この期待値tは、ディスクノードごとに算出される。そこで、データ再配置制御部530は、ディスクノードごとの期待値tの和を計算する。
[ステップS17]データ再配置制御部530は、配置パターン候補に従ったデータ配置をしたときに、アクセスがない時間の期待値の和が、現在の最良の配置パターン候補よりも大きくなるか否かを判断する。期待値の和が大きくなる場合、処理がステップS18に進められる。期待値の和が大きくならなければ、処理がステップS19に進められる。
[ステップS18]データ再配置制御部530は、ステップS13で選択したスライスの入れ替えを決定し、ステップS14で生成した配置パターン候補を、最良の配置パターン候補とする。
[ステップS19]データ再配置制御部530は、ステップS13〜S18の処理を、所定回数実行したか否かを判断する。なお、このときの所定回数は、予めデータ再配置制御部530に設定されている。所定回数実行した場合、処理がステップS20に進められる。実行回数が所定回数まで達していない場合、処理がステップS13に進められる。
[ステップS20]データ再配置制御部530は、現在の最良の配置パターン候補の採用を決定し、その配置パターン候補に従ったデータの入れ替えを各ディスクノード100,200,300,400に指示する。その後、処理が終了する。
このようにして、時間帯ごとに計算したアクセスがない時間の期待値を、すべての時間帯について合算した値(期待値の和)が大きくなるように、データの再配置を行うことができる。なお、データの再配置には、セグメントに対して割り当てるスライスの変更処理、および変更内容に従ったスライス内のデータの移動処理が含まれる。
次に第2のデータ再配置処理について説明する。
図10は、第2のデータ再配置処理の手順を示すフローチャートである。以下、図10に示す処理をステップ番号に沿って説明する。
[ステップS31]データ再配置制御部530は、全ノードからアクセス統計を収集する。この処理の詳細は、図9のステップS11と同様である。
[ステップS32]データ再配置制御部530は、時間帯ごとにディスクノード100,200,300,400それぞれにアクセスがない確率を計算する。この処理の詳細は、図9のステップS12と同様である。
[ステップS33]データ再配置制御部530は、異なる2つのディスクノードから1つずつ選択することで生成可能なスライスの組を、すべて列挙する。
[ステップS34]データ再配置制御部530は、ステップS33で列挙したスライスの組のうち、未選択の組を1つ選択する。
[ステップS35]データ再配置制御部530は、現在のセグメントへのスライスの割当状況から、ステップS34で選択したスライスを相互に入れ替えた場合の配置パターン候補を生成する。この処理の詳細は、図9のステップS14と同様である。
[ステップS36]データ再配置制御部530は、ステップS35で生成された配置パターン候補において、全てのセグメントに関して、プライマリスライスとセカンダリスライスとが別のディスクノードにあるか否かを判断する。プライマリスライスとセカンダリスライスとが別のディスクノードにある場合、処理がステップS37に進められる。プライマリスライスとセカンダリスライスとが同一のディスクノードにされるセグメントがある場合、処理がステップS40に進められる。
[ステップS37]データ再配置制御部530は、配置パターン候補におけるアクセスがない時間の期待値tの和を計算する。この処理の詳細は、図9のステップS36と同様である。
[ステップS38]データ再配置制御部530は、配置パターン候補に従ったデータ配置をしたときに、アクセスがない時間の期待値の和が、現在の最良の配置パターン候補よりも大きくなるか否かを判断する。期待値の和が大きくなる場合、処理がステップS39に進められる。期待値の和が大きくならなければ、処理がステップS40に進められる。
[ステップS39]データ再配置制御部530は、ステップS34で選択したスライスの入れ替えを決定し、ステップS35で生成した配置パターン候補を、最良の配置パターン候補とする。
[ステップS40]データ再配置制御部530は、ステップS34においてステップS33で列挙したすべての組を選択したか否かを判断する。すべての組を選択した場合、処理がステップS41に進められる。未選択の組がある場合、処理がステップS34に進められる。
[ステップS41]データ再配置制御部530は、現在の最良の配置パターン候補の採用を決定し、その配置パターン候補に従ったデータの入れ替えを各ディスクノード100,200,300,400に指示する。その後、処理が終了する。
このようにして、時間帯ごとに計算したアクセスがない時間の期待値を、すべての時間帯について合算した値(期待値の和)が大きくなるように、データの再配置を行うことができる。
次に、各ディスクノード100,200,300,400における省電力モードへの移行処理について説明する。なお、省電力モードへの移行処理には、HDDを省電力モードへ移行させる処理と、ディスクノード自身を省電力モードへ移行させる処理とがある。以下に、ディスクノード100を省電力モードへ移行させる場合を例に採り、省電力モードへの移行処理を詳細に説明する。
図11は、HDDの省電力モードへの移行処理の手順を示す図である。以下、図11に示す処理をステップ番号に沿って説明する。なお、この処理は、ディスクノード100,200,300,400の運用中は継続して実行される。
[ステップS51]動作モード制御部160は、選択したHDDのディスクが回転しているか否かを判断する。ディスクが回転している場合、処理がステップS52に進められる。ディスクが回転していなければ、ステップS51の処理が繰り返される。なお、選択したHDDのディスクが回転していない場合とは、そのHDDが省電力モードになっているときである。
本実施の形態では、複数のHDD111〜114は、RAID5によって実質的に1つのHDDとして動作している。すなわち、ストレージ装置110にアクセスが発生すれば、各HDD111〜114に分散して格納されたデータに対するアクセスが行われる。そのため、省電力モードへの移行も4台のHDD111〜114で同時に行われる。従って、ディスクが回転しているか否かは、動作モード制御部160がストレージ装置に対して動作状態の通知を指示する命令を送信し、ストレージ装置からの応答によって判断する。
[ステップS52]動作モード制御部160は、ディスクノード100に対してアクセスがないまま一定時間(ディスク省電力モード移行時間)経過したか否かを判断する。具体的には、動作モード制御部160は、スライス管理情報記憶部150内の最終アクセス時刻153を参照し、その時刻から現在の時刻までの経過時間を計算する。次に、動作モード制御部160は、予め設定されているディスク省電力モード移行時間と、最後のアクセスからの経過時間を比較する。経過時間がディスク省電力モード移行時間以上であれば、動作モード制御部160は、一定時間経過したと判断する。経過時間がディスク省電力モード移行時間未満であれば、動作モード制御部160は、一定時間経過していないと判断する。
[ステップS53]動作モード制御部160は、ディスクノード100自身が管理するプライマリスライスをセカンダリスライスに変更するように、制御ノード500に要求する。具体的には、動作モード制御部160は、スライス管理情報記憶部150内のスライス管理情報151を参照する。そして、動作モード制御部160は、そのスライスのスライス番号を取得する。例えば、図7に示されたスライス管理情報151であれば、スライス番号「4」のスライスが、プライマリスライスであることが分かる。
プライマリスライスのスライス番号を取得した動作モード制御部160は、取得したスライス番号を指定して、該当するスライスのセカンダリスライスへの属性変更を制御ノード500に要求する。すると、制御ノード500の論理ボリューム管理部510において、指定されたスライスが割り当てられたセグメントに関して、プライマリスライスとセカンダリスライスとの入れ替えを決定する。そして、論理ボリューム管理部510から、プライマリスライスとセカンダリスライスとのそれぞれを有しているディスクノードに対して、スライスの属性変更が指示される。
[ステップS54]動作モード制御部160は、制御ノード100からの指示に従って、プライマリスライスをセカンダリスライスに変更する。具体的には、動作モード制御部160は、スライス管理情報151内の「フラグ」の項目に「P(プライマリ)」の値が設定されているスライスの「フラグ」の項目の値を「S(セカンダリ)」に変更する。
[ステップS55]動作モード制御部160は、ストレージ装置110に対して、省電力モードへの移行を指示する。すると、ストレージ装置110は、HDD111から114のディスクの回転を停止(スピンダウン)し、省電力モードに移行する。その後、処理がステップS51に進められる。
次に、ディスクノードの省電力モードへの移行処理を説明する。
図12は、ディスクノードの省電力モードへの移行処理の手順を示す図である。以下、図12に示す処理をステップ番号に沿って説明する。なお、この処理は、ディスクノード100,200,300,400の運用中は継続して実行される。
[ステップS61]動作モード制御部160は、ディスクノード100に対してアクセスがないまま一定時間(ノード省電力モード移行時間)経過したか否かを判断する。この処理の詳細は、ディスク省電力モード移行時間がノード省電力モード移行時間に変わったこと以外、図11のステップS52と同様である。なお、ノード省電力モード移行時間には、ディスク省電力モード移行時間以上の値が設定される。
[ステップS62]動作モード制御部160は、ディスクノード100自身が管理するプライマリスライスをセカンダリスライスに変更するように、制御ノード500に要求する。この処理の詳細は、図11のステップS53と同様である。
[ステップS63]動作モード制御部160は、制御ノード100からの指示に従って、プライマリスライスをセカンダリスライスに変更する。この処理の詳細は、図11のステップS54と同様である。
[ステップS64]動作モード制御部160は、ディスクノード100自身を省電力モードへ移行する。具体的には、動作モード制御部160は、ディスクノード100のOSに対して、省電力モードへの移行を指示する。すると、ディスクノード100のOSは、RAM102内のデータをHDD103に退避し、ディスクノード100の電源を切る。なお、ディスクノード100の電源が切れた状態でも、通信インタフェース108には、ネットワーク10経由での起動要求を受け付けるために必要な最低限の電源が供給されている。その後、処理がステップS61に進められる。
図11,図12に示した処理により、一定時間アクセスが無い場合、ストレージ装置やディスクノードが省電力モードに移行し、消費電力が抑えられる。なお、省電力モードのストレージ装置やディスクノードは、外部からのアクセスをきっかけにして通常モードに復帰する。
図13は、ストレージ装置を通常モードに復帰させる処理を示すフローチャートである。以下、図13に示す処理をステップ番号に沿って説明する。この処理は、ディスクノード100にアクセス要求が入力されたときに実行される。
[ステップS71]動作モード制御部160は、ストレージ装置110が省電力モードか否かを判断する。省電力モードであれば、処理がステップS72に進められる。省電力モードでなければ、処理が終了する。
[ステップS72]動作モード制御部160は、ストレージ装置110を省電力モードから通常モードへ復帰させる。具体的には、動作モード制御部160は、ストレージ装置110に対してディスク回転開始(スピンアップ)要求を送信する。すると、ストレージ装置110は、HDD111〜114のディスクの回転を開始させる。その後、処理が終了する。
次に、ディスクノード100が省電力モードのときに、ディスクノード100を通常モードに復帰させる手順について説明する。なお、ディスクノード100の復帰処理は、アクセスノード600からディスクノード100へデータアクセスが生じた際に、アクセスノード600、制御ノード500、およびディスクノード100が連携して行う処理である。
図14は、ディスクノードが省電力モードのときのデータアクセス手順を示すシーケンス図である。以下、図14に示す処理をステップ番号に沿って説明する。
[ステップS81]アクセスノード600は、ディスクノード100に対してディスクアクセスを要求する。このとき、ディスクノード100が省電力モードとなっているものとする。
[ステップS82]アクセスノード600は、ディスクノード100からの応答が無いことから、接続に失敗したことを認識する。
[ステップS83]アクセスノード600は、制御ノード500に対してスライス情報の問い合わせを行う。この問い合わせには、ディスクノード100へのデータアクセスに失敗したことが示されている。
すなわち、アクセスノード600は、システム運用開始時に制御ノード500からスライス管理情報を受け取っている。制御ノード500は、このスライス管理情報が更新されたときは、更新後のスライス管理情報をアクセスノード600に送信する。これにより、アクセスノード600は、最新のスライス管理情報に基づいてデータアクセスが可能である。しかし、何らかの理由でスライス管理情報が最新の状態に更新されていない場合、アクセスノード600からのデータアクセスが失敗することがある。そのため、アクセスノード600は、ディスクノード100へのデータアクセスに失敗した場合、まず、最新のスライス管理情報を制御ノード500から取得し、取得したスライス管理情報に基づいて再アクセスするように構成されている。
[ステップS84]制御ノード500は、スライス情報の問い合わせに基づいてディスクノード100へのアクセスが発生したことを認識し、ディスクノード100に対して起動要求を送信する。この起動要求に応じて、ディスクノード100が起動する。
[ステップS85]制御ノード500は、アクセスノード600に対してスライス情報を応答する。
[ステップS86]アクセスノード600は、ディスクノード100に対して再度データアクセスを行う。
[ステップS87]ディスクノード100は、アクセスノード600に対してデータを応答する。
次に、ディスクノード100を復帰させる際の制御ノード500の処理を詳細に説明する。
図15は、ディスクノードを通常モードに復帰させる処理を示すフローチャートである。以下、図15に示す処理をステップ番号に沿って説明する。この処理は、アクセスノード600から制御ノード500に、ディスクノード100へのアクセスに失敗した旨の情報が通知されたときに実行される。
[ステップS91]論理ボリューム管理部510は、アクセスに失敗したディスクノード100が起動しているか否かを判断する。なお、ディスクノード100が起動しているか否かは、例えば、論理ボリューム管理部510からディスクノード100に対して、定期的に疎通確認コマンド(ping)を送信することで常時認識しておくことができる。ディスクノード100が起動している場合、処理が終了する。ディスクノード100が起動していない場合、処理がステップS92に進められる。
[ステップS92]論理ボリューム管理部510は、ディスクノード100に対して省電力モードからの復帰を指示する。具体的には、論理ボリューム管理部510は、ディスクノード100にシステムの起動要求を示す信号を送信する。この信号は、ディスクノード100の通信インタフェース106で受信される。すると、通信インタフェース106は起動要求を認識し、ディスクノード100を起動させる。
なお、ディスクノード100が起動しているにも拘わらずアクセスに失敗した場合、制御ノード500において通常のエラー処理が行われる。例えば、ディスクノード100の障害であれば、論理ボリューム管理部510は、ストレージ装置110内のスライスを割り当てていたセグメントに対して、別のストレージ装置内のスライスを割り当て、データの再配置を行う。
以上のようにして、一定時間以上アクセスのないディスクノードが生じるように、データの再配置を行うことができる。以下、データ再配置例を具体的に説明する。
データの再配置を行う場合、データ再配置制御部530は、各ディスクノード100,200,300,400からアクセス統計情報を収集する。
図16は、収集したアクセス統計情報の例を示す図である。データ再配置制御部530は、収集元であるディスクノードのノード識別子を付与したアクセス統計情報531,532,・・・を、メモリ(RAM502)内に格納する。そして、データ再配置制御部530は、各スライスに関して、アクセスがない確率pを計算する。本実施の形態では、前述の式(1)によって、スライスへの時間帯ごとのアクセス数に基づいて、そのスライスにアクセスがない確率pを時間帯ごとに求めている。
図17は、アクセス数とアクセスがない確率の関係を示す図である。図17では、横軸にアクセス数c、縦軸にアクセスがない確率pを採っている。式(1)は2のべき乗であり、その乗数として、アクセス数cに負の数(−α)を乗算した値が用いられる。これにより、図17に示すように、アクセスがない確率pは、アクセス数cが0のときに最大値「1」となり、アクセス数cが増加するほど小さくなる。
次に、式(2)を用いて、各スレッドにアクセスがない確率に基づいて、各ディスクノードに対してアクセスがない確率が時間帯ごとに求められる。
図18は、現況の配置パターンによるスライスとディスクノードとの時間帯ごとのアクセスがない確率を示す図である。この例は、式(1)の定数αを「1」、式(2)の定数βを「1」とした場合である。また、スライスのアクセスがない確率は小数点第2位を四捨五入している。
図18に示すように、各スライスに関して、時間帯ごとのアクセスがない確率が算出される。算出された値は、各ディスクノードノード識別子とスライスのスライス番号との組に対応付けて、データ再配置制御部530が管理するメモリ(RAM502)内に格納される。なお、図18では省略しているが、セグメントに割り当てられていないスライスにはアクセスがない(アクセス数「0」)ため、そのスライスのアクセスがない確率は「1」である。
そして、式(2)を用いて、ディスクノードの時間帯ごとのアクセスがない確率が算出される。算出された値は、各ディスクノードノード識別子に対応付けて、データ再配置制御部530が管理するメモリ(RAM502)内に格納される。
ディスクノードの時間帯ごとのアクセスがない確率に基づいて、式(3)を用いて、ディスクノードごとにアクセスがない時間の期待値が計算される。図18の例では、ノード識別子「SN−A」のディスクノード100のアクセスがない時間の期待値は「0.4」であり、ノード識別子「SN−B」のディスクノード200のアクセスがない時間の期待値は「1.33」である。
各ディスクノードのアクセスがない時間の期待値の和が、システム全体としてのアクセスがない時間の期待値となる。ここで、説明を簡単にするために、ノード識別子「SN−A」のディスクノード100とノード識別子「SN−B」のディスクノード200とについて着目してみる。2つのディスクノード100,200のアクセスがない時間の期待値の和は「1.73」である。
このような状態から、ノード識別子「SN−A」のスライス番号「5」とノード識別子「SN−B」のスライス番号「2」とを選択し、相互に入れ替えた配置パターン候補を生成してみる。すなわち、図5を参照すると分かるように、現在は、ノード識別子「SN−A」のスライス番号「5」のスライスは、2番目のセグメントのセカンダリスライスであり、ノード識別子「SN−B」のスライス番号「2」のスライスは、1番目のセグメントのセカンダリスライスである。これらの相互に入れ替える場合とは、ノード識別子「SN−A」のスライス番号「5」のスライスを、1番目のセグメントのセカンダリスライスとし、ノード識別子「SN−B」のスライス番号「2」のスライスを、2番目のセグメントのセカンダリスライスとすることを意味する。
このとき、データ再配置制御部530は、同一のセグメントに割り当てたプライマリスライスとセカンダリスライスとが、同一のディスクノードで管理されていないことを確認する。今回の例では問題ないため、生成した配置パターン候補によるアクセスがない時間の期待値の和が計算される。
図19は、データ入れ替え後の配置パターン候補によるスライスとディスクノードとの時間帯ごとのアクセスがない確率を示す図である。データを入れ替えれば、入れ替え対象となった各スライスへのアクセス数も入れ替わることとなる。すると、スライスのアクセスがない確率も相互に入れ替わる。
そこで、データ入れ替え後の配置パターン候補の各スライスのアクセスがない確率に基づいて、ディスクノードの時間帯ごとのアクセスがない確率が算出される。さらに、ディスクノードの時間帯ごとのアクセスがない確率に基づいて、ディスクノードごとにアクセスがない時間の期待値が計算される。
図19の例では、ノード識別子「SN−A」のディスクノード100のアクセスがない時間の期待値は「1.18」であり、ノード識別子「SN−B」のディスクノード200のアクセスがない時間の期待値は「2.05」である。すると、2つのディスクノード100,200のアクセスがない時間の期待値の和は「3.23」となる。
今回のデータの入れ替えでは、「SN−A」のディスクノード100とノード識別子「SN−B」のディスクノード200しか関係していない。そのため、他のディスクノード300,400のアクセスがない時間の期待値は変化しない。従って、今回のデータ入れ替えによって、アクセスがない時間の期待値の和が大きくなることが分かる。すなわち、ディスクノードやストレージ装置が省電力モードにしておく時間を長くとれる可能性が高まる。そこで、今回のデータの入れ替え(セグメントへのスライスの割当の変更)を決定する。
同様なデータの入れ替えの検討を何度も繰り返し行うことにより、アクセスがない時間の期待値の和がより大きくなるような配置パターンを見つけ出すことができる。その結果、データアクセスが一定時間発生しないディスクノードを生じさせることができ、システム全体としての省電力化を図ることができる。
図20は、データ再配置前後における各ディスクノードへのアクセス頻度を示す図である。この例では、データ再配置前は、各ディスクノードに対してほぼ均等にデータアクセスが行われている。一方、データ再配置後は、2台のディスクノード(「SN−A」と「SN−B」)には頻繁にデータアクセスがあるが、他の2台のディスクノード(「SN−C」と「SN−D」)には、一定の時間帯を除きほとんどデータアクセスがない。すると、「SN−C」と「SN−D」とは、データアクセスがない時間は省電力モードに移行させ、機能を停止しておくことができる。その結果、システム全体としての消費電力が削減できる。
しかも、本実施の形態では、ディスクノードを省電力モードに移行させる際に、そのディスクノードが管理するスライスを、プライマリスライスからセカンダリスライスに変更している。これにより、アクセスノード600からのリードアクセスであれば、そのとき省電力モードとなっているディスクノードを起動させる必要がなくなる。すなわち、アクセスノード600からデータアクセスが行われるとき、原則としてプライマリスライスに対してデータアクセスが行われる。データアクセスがリードアクセスであれば、セカンダリスライスのデータ更新等は発生しないため、セカンダリスライスを管理しているディスクノードを起動する必要なない。
なお、データアクセスがライトアクセスであれば、プライマリスライスに書き込んだデータをセカンダリスライスにも書き込む必要がある。そのため、セカンダリスライスを管理しているディスクノードが省電力モードとなっていれば、そのディスクノードを起動する必要がある。
このように、本実施の形態によってマルチノードストレージシステムの消費電力を削減できる。ただし、図20に示すように、データ再配置後は、いくつかのディスクノードにアクセスが集中することとなる。そのため、全体のデータアクセス量が過大でない環境下で本実施の形態のデータ再配置を行うことが適当である。例えば、ある一定期間(月末など)にのみデータアクセスが増加するようなシステムの場合、データアクセス量が多量となる期間は、処理効率を優先したデータ配置を行えばよい。そして、データアクセスが多くない期間は、本実施の形態に示した環境性能を優先したデータ配置を行う。これにより、システムに要求される処理性能を必要に応じて最大限発揮した上で、処理性能に余裕のある期間は消費電力を削減することができる。
なお、上記の実施の形態では、配置パターン候補を生成する際には、各スライスに対するアクセスがない時間の確率を参照していないが、各スライスにアクセスがない時間の確率を考慮して配置パターン候補を生成することもできる。例えば、アクセス頻度の高いスライス(アクセスがない時間の確率が低いスライス)を同じディスクノードに集める。また、アクセス頻度の低いスライス(アクセスがない時間の確率が高いスライス)を同じディスクノードに集める。このように、先に計算されている各スライスのアクセスがない時間の確率を利用すれば、アクセスのない時間の期待値が高い配置パターン候補を、効率的に生成できる。
また、アクセスパターンの類似しているデータを同じディスクノードに集めるようにすれば、アクセスのない時間の期待値が高い配置パターン候補を生成できる。例えば、アクセス統計情報には、各スライスのアクセス数が時間帯ごと示されている。そこで、アクセス数が「0」である時間帯が共通するスライスを検索する。そのような複数のスライスが見つかった場合、それらのスライスに含まれるデータをまとめて管理するべきディスクノードを選択する。さらに、選択されたディスクノードが管理する複数のスライスと、アクセスパターンが類似する複数のスライスとのそれぞれからスライスを選択して組とする。そして、組としたスライスが割り当てられたセグメントを相互に入れ替える。これにより、アクセスパターンが類似するスライスを1つのディスクノードにまとめた配置パターン候補を生成できる。
さらに、各スライスに対する1日の間での最終アクセス時刻を収集しておけば、最終アクセス時刻の近いスライスのデータを、1つのディスクノードにまとめるような配置パターン候補を生成することもできる。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、ディスクノード100,200,300,400や制御ノード500が有するべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置(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などの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
なお、本発明は、上述の実施の形態にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変更を加えることができる。
以上説明した実施の形態の主な技術的特徴は、以下の付記の通りである。
(付記1) 一定時間アクセスがなければ省電力モードに移行する複数のディスクノードに対してデータを分散格納する際のデータ配置を管理させるデータ配置制御プログラムにおいて、
コンピュータを、
前記ディスクノードが管理するデータそれぞれに対して所定の時間帯内に行われたアクセス数を示すアクセス統計情報が格納されたアクセス統計情報記憶手段から、前記アクセス統計情報を収集するアクセス統計情報収集手段、
前記アクセス統計情報を参照し、前記所定の時間帯内のアクセス数が少ないデータほど大きくなる値を、各データのデータ無アクセス確率とする無アクセス確率計算手段、
データの格納先となる前記ディスクノードを示す配置パターン候補を複数生成する配置パターン候補生成手段、
前記配置パターン候補生成手段によって生成された前記配置パターン候補それぞれについて、前記配置パターン候補に従ってデータを配置した場合に前記ディスクノードそれぞれに配置されるデータの前記データ無アクセス確率を集計して、前記ディスクノードそれぞれにアクセスがない確率を示すノード無アクセス確率を算出し、前記ディスクノードそれぞれの前記ノード無アクセス確率を集計して、いずれかの前記ディスクノードに対して発生するアクセスがない時間の期待値を示す無アクセス時間期待値を算出する期待値計算手段、
前記配置パターン候補生成手段で生成された複数の前記配置パターン候補のうち、前記期待値計算手段で計算された前記無アクセス時間期待値が最も大きくなる前記配置パターン候補を、データ再配置のための配置パターンに決定する配置パターン決定手段、
前記ディスクノードに対して、前記配置パターン決定手段で決定された前記配置パターンに従ったデータの再配置を指示するデータ再配置指示手段、
として機能させることを特徴とするデータ配置制御プログラム。
(付記2) 前記無アクセス確率計算手段は、前記所定の時間帯内のアクセス数に負の数を乗算した値を乗数としたべき乗の値を、前記無アクセス確率とすることを特徴とする付記1記載のデータ配置制御プログラム。
(付記3) 前記期待値計算手段は、前記配置パターン候補に従ってデータを配置した場合に前記ディスクノードそれぞれに配置されるデータの前記データ無アクセス確率を互いに乗算して前記ディスクノードにアクセスがない確率とし、算出した確率に応じた値を前記ディスクノードの前記無アクセス時間期待値とすることを特徴とする付記1記載のデータ配置制御プログラム。
(付記4) 前記アクセス統計情報記憶手段には、一日を複数の時間帯に分割したときの時間帯ごとの前記アクセス数を示す前記アクセス統計情報が格納されており、
前記アクセス統計情報収集手段は、時間帯ごとの前記アクセス数を示す前記アクセス統計情報を収集し、
前記無アクセス確率計算手段は、各データの前記無アクセス確率を時間帯ごと算出し、
前記期待値計算手段は、前記配置パターン候補に従ってデータを配置した場合に前記ディスクノードそれぞれに配置されるデータの同一の時間帯の前記無アクセス確率を互いに乗算して前記ノード無アクセス確率を時間帯ごとに算出し、前記ディスクノードそれぞれについて、時間帯ごとの前記ノード無アクセス確率の和に応じた値を、ノードにアクセスがない時間の期待値を示すノード別期待値とし、前記ディスクノードごとの前記ノード別期待値の和を前記無アクセス時間期待値とすることを特徴とする付記1記載のデータ配置制御プログラム。
(付記5) 前記配置パターン候補生成手段は、前記ディスクノードそれぞれに設けられたデータの格納領域から、異なる前記ディスクノードの属する2つの前記格納領域の組を繰り返し選択し、現在の配置パターンを基準として、選択した2つの前記格納領域に格納するデータを相互に入れ替えた前記配置パターン候補を生成し、
前記期待値計算手段は、前記配置パターン決定手段によって前記配置パターン候補が生成されるごとに、生成された前記配置パターン候補の前記無アクセス時間期待値を算出し、
前記配置パターン決定手段は、前記現在の配置パターンおよび複数の前記配置パターン候補の中で前記無アクセス時間期待値が最も大きくなるものをデータ再配置のための配置パターンに決定することを特徴とする付記1記載のデータ配置制御プログラム。
(付記6) 前記配置パターン候補生成手段は、2つの前記格納領域の組の選択を、予め設定された所定回数だけ繰り返し、前記配置パターン候補を生成することを特徴とする付記5記載のデータ配置制御プログラム。
(付記7) 前記配置パターン候補生成手段は、前記ディスクノードそれぞれに設けられたデータの格納領域から選択可能な、異なる前記ディスクノードの属する2つの前記格納領域の組のすべてについて順次選択し、前記配置パターン候補を生成することを特徴とする付記5記載のデータ配置制御プログラム。
(付記8) 一定時間アクセスがなければ省電力モードに移行する複数のディスクノードに対してデータを分散格納する際のデータ配置を管理するデータ配置制御装置において、
前記ディスクノードが管理するデータそれぞれに対して所定の時間帯内に行われたアクセス数を示すアクセス統計情報が格納されたアクセス統計情報記憶手段から、前記アクセス統計情報を収集するアクセス統計情報収集手段と、
前記アクセス統計情報を参照し、前記所定の時間帯内のアクセス数が少ないデータほど大きくなる値を、各データのデータ無アクセス確率とする無アクセス確率計算手段と、
データの格納先となる前記ディスクノードを示す配置パターン候補を複数生成する配置パターン候補生成手段と、
前記配置パターン候補生成手段によって生成された前記配置パターン候補それぞれについて、前記配置パターン候補に従ってデータを配置した場合に前記ディスクノードそれぞれに配置されるデータの前記データ無アクセス確率を集計して、前記ディスクノードそれぞれにアクセスがない確率を示すノード無アクセス確率を算出し、前記ディスクノードそれぞれの前記ノード無アクセス確率を集計して、いずれかの前記ディスクノードに対して発生するアクセスがない時間の期待値を示す無アクセス時間期待値を算出する期待値計算手段と、
前記配置パターン候補生成手段で生成された複数の前記配置パターン候補のうち、前記期待値計算手段で計算された前記無アクセス時間期待値が最も大きくなる前記配置パターン候補を、データ再配置のための配置パターンに決定する配置パターン決定手段と、
前記ディスクノードに対して、前記配置パターン決定手段で決定された前記配置パターンに従ったデータの再配置を指示するデータ再配置指示手段と、
を有することを特徴とするデータ配置制御装置。
(付記9) 一定時間アクセスがなければ省電力モードに移行する複数のディスクノードに対してデータを分散格納する際のデータ配置をコンピュータで管理するためのデータ配置制御方法において、
コンピュータが、
前記ディスクノードが管理するデータそれぞれに対して所定の時間帯内に行われたアクセス数を示すアクセス統計情報が格納されたアクセス統計情報記憶手段から、前記アクセス統計情報を収集し、
前記アクセス統計情報を参照し、前記所定の時間帯内のアクセス数が少ないデータほど大きくなる値を、各データのデータ無アクセス確率とし、
データの格納先となる前記ディスクノードを示す配置パターン候補を複数生成し、
生成された前記配置パターン候補それぞれについて、前記配置パターン候補に従ってデータを配置した場合に前記ディスクノードそれぞれに配置されるデータの前記データ無アクセス確率を集計して、前記ディスクノードそれぞれにアクセスがない確率を示すノード無アクセス確率を算出し、前記ディスクノードそれぞれの前記ノード無アクセス確率を集計して、いずれかの前記ディスクノードに対して発生するアクセスがない時間の期待値を示す無アクセス時間期待値を算出し、
生成された複数の前記配置パターン候補のうち前記無アクセス時間期待値が最も大きくなる前記配置パターン候補を、データ再配置のための配置パターンに決定し、
前記ディスクノードに対して、決定された前記配置パターンに従ったデータの再配置を指示する、
ことを特徴とするデータ配置制御方法。
(付記10) データをネットワーク上で分散管理するマルチノードストレージシステムにおいて、
データを格納するストレージ装置と、
前記ストレージ装置に格納されたデータに対して所定の時間帯内に行われたアクセス数を示すアクセス統計情報が格納されたアクセス統計情報記憶手段と、
前記所定の時間帯内に前記ストレージ装置に格納されたデータに対してアクセスがあるごとに前記アクセス統計情報を更新するアクセス統計情報更新手段と、
データの再配置の指示を受けた場合、指示に従って前記ストレージ装置に格納されたデータの転送を行うデータ再配置手段と、
前記ストレージ装置に格納したデータへのアクセスが一定時間ない場合、少なくとも一部の機能を停止させる省電力モードに移行させる動作モード制御手段と、
を具備する複数のディスクノードと、
前記ディスクノードそれぞれが有する前記アクセス統計情報記憶手段から、前記アクセス統計情報を収集するアクセス統計情報収集手段と、
前記アクセス統計情報を参照し、前記所定の時間帯内のアクセス数が少ないデータほど大きくなる値を、各データのデータ無アクセス確率とする無アクセス確率計算手段と、
データの格納先となる前記ディスクノードを示す配置パターン候補を複数生成する配置パターン候補生成手段と、
前記配置パターン候補生成手段によって生成された前記配置パターン候補それぞれについて、前記配置パターン候補に従ってデータを配置した場合に前記ディスクノードそれぞれに配置されるデータの前記データ無アクセス確率を集計して、前記ディスクノードそれぞれにアクセスがない確率を示すノード無アクセス確率を算出し、前記ディスクノードそれぞれの前記ノード無アクセス確率を集計して、いずれかの前記ディスクノードに対して発生するアクセスがない時間の期待値を示す無アクセス時間期待値を算出する期待値計算手段と、
前記配置パターン候補生成手段で生成された複数の前記配置パターン候補のうち、前記期待値計算手段で計算された前記無アクセス時間期待値が最も大きくなる前記配置パターン候補を、データ再配置のための配置パターンに決定する配置パターン決定手段と、
前記ディスクノードに対して、前記配置パターン決定手段で決定された前記配置パターンに従ったデータの再配置を指示するデータ再配置指示手段と、
を具備する制御ノードと、
を有することを特徴とするマルチノードストレージシステム。
(付記11) 前記ディスクノードの前記動作モード制御手段は、前記ストレージ装置に格納したデータへのアクセスが一定時間ない場合、前記ストレージ装置内のディスクの回転を停止させることを特徴とする付記10記載のマルチストレージシステム。
(付記12) 前記ディスクノードの前記動作モード制御手段は、前記ストレージ装置に格納したデータへのアクセスが一定時間ない場合、前記ディスクノード自身のデータ処理を停止することを特徴とする付記10記載のマルチストレージシステム。
(付記13) 前記ディスクノードの前記ストレージ装置には二重化されたデータの一方が格納されており、
前記ディスクノードは、前記ストレージ装置に格納されたデータの属性が、優先的にアクセス対象となるデータであることを示すプライマリか、プライマリのデータにアクセスできないときに使用されるセカンダリかを管理するデータ管理情報を記憶するデータ管理情報記憶手段をさらに有し、
前記ディスクノードの前記動作モード制御手段は、前記ストレージ装置に格納したデータへのアクセスが一定時間ない場合、前記ストレージ装置に格納されているプライマリのデータの属性をセカンダリに変更させた後、省電力モードに移行させることを特徴とする付記10記載のマルチストレージシステム。
(付記14) 前記ディスクノードの前記動作モード制御手段は、前記ストレージ装置に格納されているプライマリのデータの属性をセカンダリに変更さる場合、プライマリのデータの属性をセカンダリに変更することを要求する属性変更要求を前記制御ノードに送信し、
前記制御ノードは、前記ディスクノードが管理するデータの属性を管理しており、前記ディスクノードからの前記属性変更要求に応答して、前記属性変更要求で指定されたデータの属性をプライマリからセカンダリに変更し、前記属性変更要求で指定されたデータに対応するセカンダリのデータの属性をセカンダリからプライマリに変更することを特徴とする付記13記載のマルチストレージシステム。
実施の形態の概要を示す図である。 本実施の形態のマルチノードストレージシステム構成例を示す図である。 本実施の形態に用いるディスクノードのハードウェア構成例を示す図である。 本実施の形態に用いる制御ノードのハードウェア構成例を示す図である。 論理ボリュームのデータ構造を示す図である。 マルチノードストレージシステムの各装置の機能を示すブロック図である。 スライス管理情報のデータ構造例を示す図である。 スライス管理情報群記憶部のデータ構造例を示す図である。 第1のデータ再配置処理の手順を示すフローチャートである。 第2のデータ再配置処理の手順を示すフローチャートである。 HDDの省電力モードへの移行処理の手順を示す図である。 ディスクノードの省電力モードへの移行処理の手順を示す図である。 ストレージ装置を通常モードに復帰させる処理を示すフローチャートである。 ディスクノードが省電力モードのときのデータアクセス手順を示すシーケンス図である。 ディスクノードを通常モードに復帰させる処理を示すフローチャートである。 収集したアクセス統計情報の例を示す図である。 アクセス数とアクセスがない確率の関係を示す図である。 現況の配置パターンによるスライスとディスクノードとの時間帯ごとのアクセスがない確率を示す図である。 データ入れ替え後の配置パターン候補によるスライスとディスクノードとの時間帯ごとのアクセスがない確率を示す図である。 データ再配置前後における各ディスクノードへのアクセス頻度を示す図である。
符号の説明
1 制御ノード
1a アクセス統計情報収集手段
1b 無アクセス確率計算手段
1c 配置パターン候補生成手段
1d 期待値計算手段
1e 配置パターン決定手段
1f データ再配置指示手段
2,3 ディスクノード
2a,3a ストレージ装置
2b アクセス統計情報記憶手段
2c アクセス統計情報更新手段
2d データ再配置手段
2e 動作モード制御手段

Claims (8)

  1. コンピュータに一定時間アクセスがなければ省電力モードに移行する複数のディスクノードに対してデータを分散格納する際のデータ配置を管理させるデータ配置制御プログラムにおいて、
    前記コンピュータを、
    前記ディスクノードが管理するデータそれぞれに対して所定の時間帯内に行われたアクセス数を示すアクセス統計情報が格納されたアクセス統計情報記憶手段から、前記アクセス統計情報を収集するアクセス統計情報収集手段、
    前記アクセス統計情報を参照し、前記所定の時間帯内のアクセス数に負の数を乗算した値を乗数としたべき乗の値を、各データのデータ無アクセス確率とする無アクセス確率計算手段、
    データの格納先となる前記ディスクノードを示す配置パターン候補を複数生成する配置パターン候補生成手段、
    前記配置パターン候補生成手段によって生成された前記配置パターン候補それぞれについて、前記配置パターン候補に従ってデータを配置した場合に前記ディスクノードそれぞれに配置されるデータの前記データ無アクセス確率を集計して、前記ディスクノードそれぞれにアクセスがない確率を示すノード無アクセス確率を算出し、前記ディスクノードそれぞれの前記ノード無アクセス確率を集計して、いずれかの前記ディスクノードに対して発生するアクセスがない時間の期待値を示す無アクセス時間期待値を算出する期待値計算手段、
    前記配置パターン候補生成手段で生成された複数の前記配置パターン候補のうち、前記期待値計算手段で計算された前記無アクセス時間期待値が最も大きくなる前記配置パターン候補を、データ再配置のための配置パターンに決定する配置パターン決定手段、
    前記ディスクノードに対して、前記配置パターン決定手段で決定された前記配置パターンに従ったデータの再配置を指示するデータ再配置指示手段、
    として機能させることを特徴とするデータ配置制御プログラム。
  2. コンピュータに一定時間アクセスがなければ省電力モードに移行する複数のディスクノードに対してデータを分散格納する際のデータ配置を管理させるデータ配置制御プログラムにおいて、
    前記コンピュータを、
    一日を複数の時間帯に分割したときの時間帯ごとの、前記ディスクノードが管理するデータそれぞれに対するアクセス数を示すアクセス統計情報が格納されたアクセス統計情報記憶手段から、時間帯ごとの前記アクセス数を示す前記アクセス統計情報を収集するアクセス統計情報収集手段、
    前記アクセス統計情報を参照し、時間帯内のアクセス数が少ないデータほど大きくなる値を各データのデータ無アクセス確率とし、各データの前記無アクセス確率を時間帯ごとに算出する無アクセス確率計算手段、
    データの格納先となる前記ディスクノードを示す配置パターン候補を複数生成する配置パターン候補生成手段、
    前記配置パターン候補生成手段によって生成された前記配置パターン候補それぞれについて、前記配置パターン候補に従ってデータを配置した場合に前記ディスクノードそれぞれに配置されるデータの同一の時間帯の前記無アクセス確率を互いに乗算して前記ノード無アクセス確率を時間帯ごとに算出し、前記ディスクノードそれぞれについて、時間帯ごとの前記ノード無アクセス確率の和に応じた値を、ノードにアクセスがない時間の期待値を示すノード別期待値とし、前記ディスクノードごとの前記ノード別期待値の和を無アクセス時間期待値とする期待値計算手段、
    前記配置パターン候補生成手段で生成された複数の前記配置パターン候補のうち、前記期待値計算手段で計算された前記無アクセス時間期待値が最も大きくなる前記配置パターン候補を、データ再配置のための配置パターンに決定する配置パターン決定手段、
    前記ディスクノードに対して、前記配置パターン決定手段で決定された前記配置パターンに従ったデータの再配置を指示するデータ再配置指示手段、
    として機能させることを特徴とするデータ配置制御プログラム。
  3. コンピュータに一定時間アクセスがなければ省電力モードに移行する複数のディスクノードに対してデータを分散格納する際のデータ配置を管理させるデータ配置制御プログラムにおいて、
    前記コンピュータを、
    前記ディスクノードが管理するデータそれぞれに対して所定の時間帯内に行われたアクセス数を示すアクセス統計情報が格納されたアクセス統計情報記憶手段から、前記アクセス統計情報を収集するアクセス統計情報収集手段、
    前記アクセス統計情報を参照し、前記所定の時間帯内のアクセス数が少ないデータほど大きくなる値を、各データのデータ無アクセス確率とする無アクセス確率計算手段、
    前記ディスクノードそれぞれに設けられたデータの格納領域から、異なる前記ディスクノードの属する2つの前記格納領域の組を、所定回数だけ繰り返し選択し、前記格納領域の組を選択するごとに、現在の配置パターンを基準として、選択した2つの前記格納領域に格納するデータを相互に入れ替えた前記配置パターン候補を生成する配置パターン候補生成手段、
    前記配置パターン候補生成手段によって生成された前記配置パターン候補それぞれについて、前記配置パターン候補に従ってデータを配置した場合に前記ディスクノードそれぞれに配置されるデータの前記データ無アクセス確率を集計して、前記ディスクノードそれぞれにアクセスがない確率を示すノード無アクセス確率を算出し、前記ディスクノードそれぞれの前記ノード無アクセス確率を集計して、いずれかの前記ディスクノードに対して発生するアクセスがない時間の期待値を示す無アクセス時間期待値を算出する期待値計算手段、
    前記現在の配置パターンおよび前記配置パターン候補生成手段で生成された複数の前記配置パターン候補のうち、前記期待値計算手段で計算された前記無アクセス時間期待値が最も大きくなる前記現在の配置パターンまたは前記配置パターン候補を、データ再配置のための配置パターンに決定する配置パターン決定手段、
    前記ディスクノードに対して、前記配置パターン決定手段で決定された前記配置パターンに従ったデータの再配置を指示するデータ再配置指示手段、
    として機能させることを特徴とするデータ配置制御プログラム。
  4. 一定時間アクセスがなければ省電力モードに移行する複数のディスクノードに対してデータを分散格納する際のデータ配置を管理するデータ配置制御装置において、
    前記ディスクノードが管理するデータそれぞれに対して所定の時間帯内に行われたアクセス数を示すアクセス統計情報が格納されたアクセス統計情報記憶手段から、前記アクセス統計情報を収集するアクセス統計情報収集手段と、
    前記アクセス統計情報を参照し、前記所定の時間帯内のアクセス数に負の数を乗算した値を乗数としたべき乗の値を、各データのデータ無アクセス確率とする無アクセス確率計算手段と、
    データの格納先となる前記ディスクノードを示す配置パターン候補を複数生成する配置パターン候補生成手段と、
    前記配置パターン候補生成手段によって生成された前記配置パターン候補それぞれについて、前記配置パターン候補に従ってデータを配置した場合に前記ディスクノードそれぞれに配置されるデータの前記データ無アクセス確率を集計して、前記ディスクノードそれぞれにアクセスがない確率を示すノード無アクセス確率を算出し、前記ディスクノードそれぞれの前記ノード無アクセス確率を集計して、いずれかの前記ディスクノードに対して発生するアクセスがない時間の期待値を示す無アクセス時間期待値を算出する期待値計算手段と、
    前記配置パターン候補生成手段で生成された複数の前記配置パターン候補のうち、前記期待値計算手段で計算された前記無アクセス時間期待値が最も大きくなる前記配置パターン候補を、データ再配置のための配置パターンに決定する配置パターン決定手段と、
    前記ディスクノードに対して、前記配置パターン決定手段で決定された前記配置パターンに従ったデータの再配置を指示するデータ再配置指示手段と、
    を有することを特徴とするデータ配置制御装置。
  5. 一定時間アクセスがなければ省電力モードに移行する複数のディスクノードに対してデータを分散格納する際のデータ配置を管理するデータ配置制御装置において、
    一日を複数の時間帯に分割したときの時間帯ごとの、前記ディスクノードが管理するデータそれぞれに対するアクセス数を示すアクセス統計情報が格納されたアクセス統計情報記憶手段から、時間帯ごとの前記アクセス数を示す前記アクセス統計情報を収集するアクセス統計情報収集手段と、
    前記アクセス統計情報を参照し、時間帯内のアクセス数が少ないデータほど大きくなる値を、各データのデータ無アクセス確率とし、各データの前記無アクセス確率を時間帯ごとに算出する無アクセス確率計算手段と、
    データの格納先となる前記ディスクノードを示す配置パターン候補を複数生成する配置パターン候補生成手段と、
    前記配置パターン候補生成手段によって生成された前記配置パターン候補それぞれについて、前記配置パターン候補に従ってデータを配置した場合に前記ディスクノードそれぞれに配置されるデータの同一の時間帯の前記無アクセス確率を互いに乗算して前記ノード無アクセス確率を時間帯ごとに算出し、前記ディスクノードそれぞれについて、時間帯ごとの前記ノード無アクセス確率の和に応じた値を、ノードにアクセスがない時間の期待値を示すノード別期待値とし、前記ディスクノードごとの前記ノード別期待値の和を無アクセス時間期待値とする期待値計算手段と、
    前記配置パターン候補生成手段で生成された複数の前記配置パターン候補のうち、前記期待値計算手段で計算された前記無アクセス時間期待値が最も大きくなる前記配置パターン候補を、データ再配置のための配置パターンに決定する配置パターン決定手段と、
    前記ディスクノードに対して、前記配置パターン決定手段で決定された前記配置パターンに従ったデータの再配置を指示するデータ再配置指示手段と、
    を有することを特徴とするデータ配置制御装置。
  6. 一定時間アクセスがなければ省電力モードに移行する複数のディスクノードに対してデータを分散格納する際のデータ配置をコンピュータで管理するためのデータ配置制御方法において、
    コンピュータが、
    前記ディスクノードが管理するデータそれぞれに対して所定の時間帯内に行われたアクセス数を示すアクセス統計情報が格納されたアクセス統計情報記憶手段から、前記アクセス統計情報を収集し、
    前記アクセス統計情報を参照し、前記所定の時間帯内のアクセス数に負の数を乗算した値を乗数としたべき乗の値を、各データのデータ無アクセス確率とし、
    データの格納先となる前記ディスクノードを示す配置パターン候補を複数生成し、
    生成された前記配置パターン候補それぞれについて、前記配置パターン候補に従ってデータを配置した場合に前記ディスクノードそれぞれに配置されるデータの前記データ無アクセス確率を集計して、前記ディスクノードそれぞれにアクセスがない確率を示すノード無アクセス確率を算出し、前記ディスクノードそれぞれの前記ノード無アクセス確率を集計して、いずれかの前記ディスクノードに対して発生するアクセスがない時間の期待値を示す無アクセス時間期待値を算出し、
    生成された複数の前記配置パターン候補のうち前記無アクセス時間期待値が最も大きくなる前記配置パターン候補を、データ再配置のための配置パターンに決定し、
    前記ディスクノードに対して、決定された前記配置パターンに従ったデータの再配置を指示する、
    ことを特徴とするデータ配置制御方法。
  7. 一定時間アクセスがなければ省電力モードに移行する複数のディスクノードに対してデータを分散格納する際のデータ配置をコンピュータで管理するためのデータ配置制御方法において、
    コンピュータが、
    一日を複数の時間帯に分割したときの時間帯ごとの、前記ディスクノードが管理するデータそれぞれに対するアクセス数を示すアクセス統計情報が格納されたアクセス統計情報記憶手段から、時間帯ごとの前記アクセス数を示す前記アクセス統計情報を収集し、
    前記アクセス統計情報を参照し、時間帯内のアクセス数が少ないデータほど大きくなる値を各データのデータ無アクセス確率とし、各データの前記無アクセス確率を時間帯ごとに算出し、
    データの格納先となる前記ディスクノードを示す配置パターン候補を複数生成し、
    生成された前記配置パターン候補それぞれについて、前記配置パターン候補に従ってデータを配置した場合に前記ディスクノードそれぞれに配置されるデータの同一の時間帯の前記無アクセス確率を互いに乗算して前記ノード無アクセス確率を時間帯ごとに算出し、前記ディスクノードそれぞれについて、時間帯ごとの前記ノード無アクセス確率の和に応じた値を、ノードにアクセスがない時間の期待値を示すノード別期待値とし、前記ディスクノードごとの前記ノード別期待値の和を無アクセス時間期待値とし、
    生成された複数の前記配置パターン候補のうち、前記期待値計算手段で計算された前記無アクセス時間期待値が最も大きくなる前記配置パターン候補を、データ再配置のための配置パターンに決定し、
    前記ディスクノードに対して、決定された前記配置パターンに従ったデータの再配置を指示する、
    ことを特徴とするデータ配置制御方法。
  8. データをネットワーク上で分散管理するマルチノードストレージシステムにおいて、
    複数のディスクノードと制御ノードとを有し、
    前記複数のディスクノードは、それぞれ、
    二重化されたデータの一方を格納するストレージ装置と、
    前記ストレージ装置に格納されたデータの属性が、優先的にアクセス対象となるデータであることを示すプライマリか、プライマリのデータにアクセスできないときに使用されるセカンダリかを管理するデータ管理情報を記憶するデータ管理情報記憶手段と、
    前記ストレージ装置に格納されたデータに対して所定の時間帯内に行われたアクセス数を示すアクセス統計情報が格納されたアクセス統計情報記憶手段と、
    前記所定の時間帯内に前記ストレージ装置に格納されたデータに対してアクセスがあるごとに前記アクセス統計情報を更新するアクセス統計情報更新手段と、
    データの再配置の指示を受けた場合、指示に従って前記ストレージ装置に格納されたデータの転送を行うデータ再配置手段と、
    前記ストレージ装置に格納したデータへのアクセスが一定時間ない場合、前記ストレージ装置に格納されているプライマリのデータの属性をセカンダリに変更させた後、少なくとも一部の機能を停止させる省電力モードに移行させる動作モード制御手段と、
    を具備し、
    前記制御ノードは、
    前記複数のディスクノードそれぞれが有する前記アクセス統計情報記憶手段から、前記アクセス統計情報を収集するアクセス統計情報収集手段と、
    前記アクセス統計情報を参照し、前記所定の時間帯内のアクセス数が少ないデータほど大きくなる値を、各データのデータ無アクセス確率とする無アクセス確率計算手段と、
    データの格納先となる前記ディスクノードを示す配置パターン候補を複数生成する配置パターン候補生成手段と、
    前記配置パターン候補生成手段によって生成された前記配置パターン候補それぞれについて、前記配置パターン候補に従ってデータを配置した場合に前記ディスクノードそれぞれに配置されるデータの前記データ無アクセス確率を集計して、前記ディスクノードそれぞれにアクセスがない確率を示すノード無アクセス確率を算出し、前記ディスクノードそれぞれの前記ノード無アクセス確率を集計して、いずれかの前記ディスクノードに対して発生するアクセスがない時間の期待値を示す無アクセス時間期待値を算出する期待値計算手段と、
    前記配置パターン候補生成手段で生成された複数の前記配置パターン候補のうち、前記期待値計算手段で計算された前記無アクセス時間期待値が最も大きくなる前記配置パターン候補を、データ再配置のための配置パターンに決定する配置パターン決定手段と、
    前記ディスクノードに対して、前記配置パターン決定手段で決定された前記配置パターンに従ったデータの再配置を指示するデータ再配置指示手段と、
    を具備することを特徴とするマルチノードストレージシステム。
JP2007333969A 2007-12-26 2007-12-26 データ配置制御プログラム、データ配置制御装置、データ配置制御方法、およびマルチノードストレージシステム Expired - Fee Related JP4620722B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007333969A JP4620722B2 (ja) 2007-12-26 2007-12-26 データ配置制御プログラム、データ配置制御装置、データ配置制御方法、およびマルチノードストレージシステム
US12/343,486 US8141095B2 (en) 2007-12-26 2008-12-24 Recording medium storing data allocation control program, data allocation control device, data allocation control method, and multi-node storage-system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007333969A JP4620722B2 (ja) 2007-12-26 2007-12-26 データ配置制御プログラム、データ配置制御装置、データ配置制御方法、およびマルチノードストレージシステム

Publications (2)

Publication Number Publication Date
JP2009157571A JP2009157571A (ja) 2009-07-16
JP4620722B2 true JP4620722B2 (ja) 2011-01-26

Family

ID=40961546

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007333969A Expired - Fee Related JP4620722B2 (ja) 2007-12-26 2007-12-26 データ配置制御プログラム、データ配置制御装置、データ配置制御方法、およびマルチノードストレージシステム

Country Status (2)

Country Link
US (1) US8141095B2 (ja)
JP (1) JP4620722B2 (ja)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9026758B2 (en) * 2005-09-30 2015-05-05 Cleversafe, Inc. Memory device utilization in a dispersed storage network
CN104750434B (zh) 2009-07-20 2018-01-26 卡林戈公司 存储集群中的自适应功率保存
JP5621246B2 (ja) * 2009-11-26 2014-11-12 日本電気株式会社 ディスクエンクロージャ及びストレージシステムの制御方法
WO2011121869A1 (ja) * 2010-03-29 2011-10-06 日本電気株式会社 データアクセス場所選択システム、方法およびプログラム
JP5807942B2 (ja) * 2010-04-02 2015-11-10 日本電気株式会社 ディスクアレイ装置及びその制御方法
JP5585235B2 (ja) * 2010-06-21 2014-09-10 富士通株式会社 ストレージ制御装置、ストレージ制御方法、ストレージシステム
US8838932B2 (en) 2010-11-09 2014-09-16 International Business Machines Corporation Power economizing by powering down hub partitions
JP2013196546A (ja) * 2012-03-22 2013-09-30 Nec Corp ストレージシステム、ストレージ消費電力削減方法、プログラム
DE102012108103B4 (de) * 2012-08-31 2014-12-04 Fujitsu Technology Solutions Intellectual Property Gmbh Arbeitsverfahren für ein Massenspeichersystem, Massenspeichersystem und Computerprogrammprodukt
US20150039660A1 (en) 2013-07-31 2015-02-05 Cleversafe, Inc. Co-locate objects request
US9442668B1 (en) * 2013-08-29 2016-09-13 Western Digital Technologies, Inc. Adaptive power management control with performance feedback
US9513692B2 (en) * 2013-09-18 2016-12-06 Intel Corporation Heterogenous memory access
CN104516471B (zh) * 2013-09-27 2017-04-12 国际商业机器公司 一种管理存储器系统的电源的方法和装置
CN104679439B (zh) * 2013-11-29 2018-06-26 英业达科技有限公司 数据存取管理装置及方法
JP6252285B2 (ja) * 2014-03-24 2017-12-27 富士通株式会社 ストレージ制御装置、制御方法、及びプログラム
JP6394231B2 (ja) 2014-09-25 2018-09-26 富士通株式会社 データ配置制御プログラム、データ配置制御装置およびデータ配置制御方法
CN105739909A (zh) 2014-12-11 2016-07-06 国际商业机器公司 分布式存储系统中基于时间的数据放置方法和装置
JP6500505B2 (ja) * 2015-03-05 2019-04-17 富士通株式会社 制御装置、制御方法、および制御プログラム
US10089180B2 (en) * 2015-07-31 2018-10-02 International Business Machines Corporation Unfavorable storage growth rate abatement
KR20170027922A (ko) * 2015-09-02 2017-03-13 삼성전자주식회사 복수의 랭크들을 형성하는 복수의 메모리 장치들 및 복수의 메모리 랭크들을 액세스하는 메모리 컨트롤러를 포함하는 메모리 시스템 및 메모리 시스템의 동작 방법
JP6540409B2 (ja) 2015-09-14 2019-07-10 富士通株式会社 ストレージ制御装置、ストレージ制御プログラムおよびストレージ制御方法
CN105727550B (zh) * 2016-01-27 2019-10-25 安徽大学 基于uct算法的点格棋游戏系统
US10771550B2 (en) 2016-12-28 2020-09-08 Amazon Technologies, Inc. Data storage system with redundant internal networks
US10514847B2 (en) 2016-12-28 2019-12-24 Amazon Technologies, Inc. Data storage system with multiple durability levels
US10484015B2 (en) * 2016-12-28 2019-11-19 Amazon Technologies, Inc. Data storage system with enforced fencing
US11301144B2 (en) 2016-12-28 2022-04-12 Amazon Technologies, Inc. Data storage system
US11169723B2 (en) 2019-06-28 2021-11-09 Amazon Technologies, Inc. Data storage system with metadata check-pointing

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003005920A (ja) * 2001-06-22 2003-01-10 Nec Corp ストレージシステム、データ再配置方法及びデータ再配置プログラム
JP2007079754A (ja) * 2005-09-13 2007-03-29 Hitachi Ltd 管理装置及び管理方法並びにストレージシステム

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58203558A (ja) * 1982-05-21 1983-11-28 Hitachi Ltd 計算機・記憶装置へのフアイル割り当て方式
US6711649B1 (en) * 1997-10-06 2004-03-23 Emc Corporation Load balancing on disk array storage device
US6085216A (en) * 1997-12-31 2000-07-04 Xerox Corporation Method and system for efficiently allocating resources for solving computationally hard problems
JP4325817B2 (ja) 1999-04-05 2009-09-02 株式会社日立製作所 ディスクアレイ装置
US6470344B1 (en) * 1999-05-29 2002-10-22 Oracle Corporation Buffering a hierarchical index of multi-dimensional data
US7155722B1 (en) * 2001-07-10 2006-12-26 Cisco Technology, Inc. System and method for process load balancing in a multi-processor environment
JP2003296039A (ja) 2002-04-02 2003-10-17 Hitachi Ltd クラスタ構成記憶システム及び制御方法
US7035972B2 (en) 2002-09-03 2006-04-25 Copan Systems, Inc. Method and apparatus for power-efficient high-capacity scalable storage system
US8051420B2 (en) * 2003-10-31 2011-11-01 Hewlett-Packard Development Company, L.P. Method and system for governing access to computing utilities
US7631023B1 (en) * 2004-11-24 2009-12-08 Symantec Operating Corporation Performance-adjusted data allocation in a multi-device file system
WO2006098036A1 (ja) * 2005-03-17 2006-09-21 Fujitsu Limited 省電力制御装置、省電力制御方法および省電力制御プログラム
JP4634268B2 (ja) * 2005-10-03 2011-02-16 株式会社日立製作所 ストレージシステムの省電力化方法及びストレージシステム
JP4129988B2 (ja) * 2005-11-10 2008-08-06 インターナショナル・ビジネス・マシーンズ・コーポレーション リソースのプロビジョニング方法
EP1862955A1 (en) * 2006-02-10 2007-12-05 Microsoft Corporation Determining relative skills of players
US7647289B2 (en) * 2006-06-02 2010-01-12 Microsoft Corporation Learning belief distributions for game moves
US8141089B2 (en) * 2007-01-11 2012-03-20 International Business Machines Corporation Method and apparatus for reducing contention for computer system resources using soft locks
US8185906B2 (en) * 2007-05-23 2012-05-22 Sap Ag Method and apparatus for dynamically adjusting thread pool
US8027972B2 (en) * 2007-09-26 2011-09-27 International Business Machines Corporation Nodal data normalization
US8010519B2 (en) * 2008-07-29 2011-08-30 International Business Machines Corporation Method and system for mitigating impact of user errors in data stores
WO2010099071A2 (en) * 2009-02-24 2010-09-02 David Ryan Usage-based radio resource management of self-optimizing network cells
US8656397B2 (en) * 2010-03-30 2014-02-18 Red Hat Israel, Ltd. Migrating groups of threads across NUMA nodes based on remote page access frequency

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003005920A (ja) * 2001-06-22 2003-01-10 Nec Corp ストレージシステム、データ再配置方法及びデータ再配置プログラム
JP2007079754A (ja) * 2005-09-13 2007-03-29 Hitachi Ltd 管理装置及び管理方法並びにストレージシステム

Also Published As

Publication number Publication date
JP2009157571A (ja) 2009-07-16
US20090254702A1 (en) 2009-10-08
US8141095B2 (en) 2012-03-20

Similar Documents

Publication Publication Date Title
JP4620722B2 (ja) データ配置制御プログラム、データ配置制御装置、データ配置制御方法、およびマルチノードストレージシステム
JP4386932B2 (ja) ストレージ管理プログラム、ストレージ管理装置およびストレージ管理方法
JP6791834B2 (ja) 記憶システム及び制御ソフトウェア配置方法
US10073641B2 (en) Cluster families for cluster selection and cooperative replication
JP5099128B2 (ja) ストレージ管理プログラム、ストレージ管理装置およびストレージ管理方法
US9201751B1 (en) Data migration between multiple tiers in a storage system using policy based ILM for QOS
JP4229626B2 (ja) ファイル管理システム
JP2010015446A (ja) ストレージ装置及び電源の制御方法
CN101223498A (zh) 用于管理数据存储的方法、系统和计算机程序产品以及虚拟化引擎
JP5131271B2 (ja) 組み合わせ決定プログラム、組み合わせ決定装置、および組み合わせ決定方法
JP2005222539A (ja) 複数のコントローラ間に仮想ストレージセグメントを割り当てる能力を有するストレージシステム
JP2003330762A (ja) ストレージシステムの制御方法、ストレージシステム、スイッチ、及びプログラム
JP5385458B2 (ja) 計算機システムおよびその更改方法
US20100100677A1 (en) Power and performance management using MAIDx and adaptive data placement
JP2016118821A (ja) ストレージ管理装置、ストレージ管理方法およびストレージ管理プログラム
JP5104855B2 (ja) 負荷分散プログラム、負荷分散方法、及びストレージ管理装置
JP2021135703A (ja) 情報処理システム及び方法
JP2020004186A (ja) 情報処理システム、管理装置および制御方法
JP2005539303A (ja) 電力効率高容量なスケーラブルな記憶システムのための方法および装置
JP2018197933A (ja) ストレージ制御装置、情報処理システムおよびプログラム
JP6019940B2 (ja) 情報処理装置、コピー制御プログラム、およびコピー制御方法
JP5287414B2 (ja) ストレージシステム、ストレージ消費電力削減方法、プログラム
JP2021124952A (ja) 情報処理装置、情報処理システムおよびアクセス制御方法
JP5130764B2 (ja) ストレージシステムおよびその省電力化方法ならびにプログラム
JP2021124951A (ja) 情報処理システム、情報処理装置およびアクセス制御方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091224

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100105

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100304

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

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

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

Free format text: PAYMENT UNTIL: 20131105

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