JP6747018B2 - 記憶システム、記憶システム制御装置、記憶システム制御方法及びプログラム - Google Patents

記憶システム、記憶システム制御装置、記憶システム制御方法及びプログラム Download PDF

Info

Publication number
JP6747018B2
JP6747018B2 JP2016073660A JP2016073660A JP6747018B2 JP 6747018 B2 JP6747018 B2 JP 6747018B2 JP 2016073660 A JP2016073660 A JP 2016073660A JP 2016073660 A JP2016073660 A JP 2016073660A JP 6747018 B2 JP6747018 B2 JP 6747018B2
Authority
JP
Japan
Prior art keywords
data
volume
copy
link
master
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016073660A
Other languages
English (en)
Other versions
JP2017187815A (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2016073660A priority Critical patent/JP6747018B2/ja
Priority to US15/471,112 priority patent/US20170285983A1/en
Publication of JP2017187815A publication Critical patent/JP2017187815A/ja
Application granted granted Critical
Publication of JP6747018B2 publication Critical patent/JP6747018B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

Description

本発明は、記憶システム、記憶システム制御装置、記憶システム制御方法及びプログラムに関する。
ディスクアレイ装置などの記憶システムにおける負荷を分散させるための幾つかの技術が提案されている。
例えば、特許文献1には、ディレクトリツリー形式のファイルシステムに対する負荷分散方法が記載されている。この負荷分散方法では、ディスク装置上の負荷の高い局所を含むディレクトリとディレクトリ下のすべての情報を別のディスクに移動し、移動元と移動先のディレクトリを関連付ける。
特開2005−215715号公報
記憶システムにおける負荷分散のために、記憶システムの一部が高負荷になっているか否かを判定する必要がある。この判定の対象が多ければ多いほど、判定を行う装置の負荷が高くなる。また、この判定を逐次的に行う場合、判定対象が多ければ高負荷の部分を検出するまでに時間を要する可能性がある。高負荷の部分の検出に時間を要すると、高負荷の解消が遅くなる。
これに対し、特許文献1には、高負荷か否かの判定対象の限定については記載されていない。
本発明は、上述の課題を解決することのできる記憶システム、記憶システム制御装置、記憶システム制御方法及びプログラムを提供することを目的としている。
本発明の第1の態様によれば、記憶システムは、データを使用する複数の装置に共用のデータを記憶するマスターボリュームと、データを使用する装置毎に設けられるリンクボリュームであって、対応する前記データを使用する装置に個別のデータを記憶する1つ以上のリンクボリュームと、前記マスターボリュームが記憶しているデータの各々の読出頻度を検出するマスターデータ読出し頻度検出部と、前記マスターボリュームの負荷状態及び前記リンクボリュームそれぞれの負荷状態を判定する負荷状態判定部と、前記マスターボリュームが高負荷状態にあると前記負荷状態判定部が判定した場合、前記マスターボリュームが記憶しているデータの中からコピー対象データを前記読出頻度に基づいて決定するコピー対象決定部と、前記コピー対象データのコピー先のリンクボリュームを、前記リンクボリュームの負荷状態に基づいて決定するコピー先決定部と、前記コピー対象データを前記コピー先のリンクボリュームへコピーするコピー制御部と、を備える。
本発明の第2の態様によれば、記憶システム制御装置は、データを使用する複数の装置に共用のデータを記憶するマスターボリュームが記憶しているデータの各々の読出頻度を検出するマスターデータ読出し頻度検出部と、前記マスターボリュームの負荷状態、及び、データを使用する装置毎に設けられるリンクボリュームであって、対応する前記データを使用する装置に個別のデータを記憶する1つ以上のリンクボリュームそれぞれの負荷状態を判定する負荷状態判定部と、前記マスターボリュームが高負荷状態にあると前記負荷状態判定部が判定した場合、前記マスターボリュームが記憶しているデータの中からコピー対象データを前記読出頻度に基づいて決定するコピー対象決定部と、前記コピー対象データのコピー先のリンクボリュームを、前記リンクボリュームの負荷状態に基づいて決定するコピー先決定部と、前記コピー対象データを前記コピー先のリンクボリュームへコピーするコピー制御部と、を備える。
本発明の第3の態様によれば、記憶システム制御装置が、記憶システム制御方法は、データを使用する複数の装置に共用のデータを記憶するマスターボリュームが記憶しているデータの各々の読出頻度を検出するマスターデータ読出し頻度検出ステップと、前記記憶システム制御装置が、前記マスターボリュームの負荷状態、及び、データを使用する装置毎に設けられるリンクボリュームであって、対応する前記データを使用する装置に個別のデータを記憶する1つ以上のリンクボリュームそれぞれの負荷状態を判定する負荷状態判定ステップと、前記記憶システム制御装置が、前記マスターボリュームが高負荷状態にあると前記負荷状態判定ステップで判定した場合、前記マスターボリュームが記憶しているデータの中からコピー対象データを前記読出頻度に基づいて決定するコピー対象決定ステップと、前記記憶システム制御装置が、前記コピー対象データのコピー先のリンクボリュームを、前記リンクボリュームの負荷状態に基づいて決定するコピー先決定ステップと、前記記憶システム制御装置が、前記コピー対象データを前記コピー先のリンクボリュームへコピーするコピー制御ステップと、を含む。
本発明の第4の態様によれば、プログラムは、コンピュータに、データを使用する複数の装置に共用のデータを記憶するマスターボリュームが記憶しているデータの各々の読出頻度を検出するマスターデータ読出し頻度検出ステップと、前記マスターボリュームの負荷状態、及び、データを使用する装置毎に設けられるリンクボリュームであって、対応する前記データを使用する装置に個別のデータを記憶する1つ以上のリンクボリュームそれぞれの負荷状態を判定する負荷状態判定ステップと、前記マスターボリュームが高負荷状態にあると前記負荷状態判定ステップで判定した場合、前記マスターボリュームが記憶しているデータの中からコピー対象データを前記読出頻度に基づいて決定するコピー対象決定ステップと、前記コピー対象データのコピー先のリンクボリュームを、前記リンクボリュームの負荷状態に基づいて決定するコピー先決定ステップと、前記コピー対象データを前記コピー先のリンクボリュームへコピーするコピー制御ステップと、を実行させるためのプログラムである。
この発明によれば、記憶システムにおける負荷分散のためにデータコピーを行うか否かを判定する負荷を、より小さくすることができる。
本発明の第1の実施形態に係るコンピュータシステムの装置構成を示す概略構成図である。 同実施形態に係る記憶システム制御装置の機能構成を示す概略ブロック図である。 同実施形態に係るアクセス頻度テーブル記憶部が記憶するアクセス頻度テーブルのデータ構造の例を示す説明図である。 同実施形態に係るプールビジー監視テーブル記憶部が記憶するプールビジー監視テーブルのデータ構造の例を示す説明図である。 同実施形態におけるコピーされていないマスターデータの参照先の例を示す説明図である。 同実施形態におけるコピー済みデータの参照先の例を示す説明図である。 同実施形態で、マスターデータに含まれる単位データをコピーする際の記憶システム制御装置の処理手順の例を示すフローチャートである。 本発明の第2の実施形態に係る記憶システム制御装置の機能構成を示す概略ブロック図である。 同実施形態に係るボリュームデータ管理テーブル記憶部が記憶するボリュームデータ管理テーブルのデータ構造の例を示す説明図である。 同実施形態で、コピーされたデータの参照先が固定の場合のデータ参照先の例を示す説明図である。 同実施形態に係るデータアクセス制御部が参照先候補ボリュームの中からデータの読出先を決定する場合のデータ参照先の例を示す説明図である。 同実施形態に係る記憶システム制御装置がコピー済みデータの参照先を変更する処理手順の例を示すフローチャートである。 本発明の第3の実施形態に係る記憶システム制御装置の機能構成を示す概略ブロック図である。 同実施形態に係るボリュームデータ管理テーブル記憶部が記憶するボリュームデータ管理テーブルのデータ構造の例を示す説明図である。 同実施形態に係る削除制御部によるコピー済みデータの削除の例を示す説明図である。 同実施形態に係る記憶システム制御装置がコピー済みデータを削除する処理手順の例を示すフローチャートである。 本発明に係る記憶システムの最小構成を示す概略構成図である。 本発明に係る記憶システム制御装置の最小構成を示す概略構成図である。
以下、本発明の実施形態を説明するが、以下の実施形態は請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
<第1の実施形態>
図1は、本発明の第1の実施形態に係るコンピュータシステムの装置構成を示す概略構成図である。同図に示すように、コンピュータシステム1は、記憶システム2と、ホストコンピュータ30a〜30cとを備える。記憶システム2は、ディスクアレイ(Disk Array)装置3と、記憶システム制御装置100とを備える。ディスクアレイ装置3は、マスターボリューム5と、リンクボリューム6a〜6cとを備える。
以下では、ホストコンピュータ30a〜30cを総称してホストコンピュータ30と表記する。また、リンクボリューム6a〜6cを総称してリンクボリューム6と表記する。また、マスターボリュームとリンクボリュームとを総称してボリュームと表記する。
記憶システム2は、ホストコンピュータ30に対する外部記憶装置として機能する。
ディスクアレイ装置3は、リンクドクローン(Linked Clone)を構成する。ここで、ディスクアレイ装置とは、複数のハードディスク装置を備えた記憶デバイスである。また、リンクドクローンとは、クライアントに共通のマスターデータを記憶する共通の記憶領域と、クライアント毎に個別のデータを記憶する個別の記憶領域との組み合わせにて、各クライアント(データを使用する装置)用のデータを記憶する記憶方式である。ここでいうクライアントは、ディスクアレイ装置3が記憶しているデータを使用する装置である。図1の例では、ホストコンピュータ30の各々がクライアントの例に該当する。
但し、本実施形態でリンクドクローンを構成する装置はディスクアレイ装置に限らず、リンクドクローンを構成可能な記憶容量を有し、かつ、記憶領域全体が、負荷の異なり得る複数の記憶領域から構成されている記憶装置であればよい。
マスターボリューム5は、マスターデータを記憶する。ここでいうマスターデータは、ホストコンピュータ30a〜30cに共通のデータ(すなわち、ホストコンピュータ30a〜30cに共用のデータ)である。また、ここでいうボリュームとは、外部記憶装置の管理単位である。例えば1つのハードディスク装置が1つのボリュームを構成していてもよいが、これに限らない。複数のハードディスク装置が1つのボリュームを構成していてもよいし、1つのハードディスク装置が複数のボリュームを構成していてもよい。
図1の線L12a〜L12cは、ホストコンピュータ30の各々によるマスターデータの参照先がマスターボリューム5であることを示している。
リンクボリューム6の各々は、ホストコンピュータ30毎に個別のデータを記憶する。具体的には、リンクボリューム6aは、ディスクアレイ装置3がホストコンピュータ30aに提供するデータからマスターデータを除いた差分データを記憶する。同様に、リンクボリューム6bは、ディスクアレイ装置3がホストコンピュータ30bに提供するデータからマスターデータを除いた差分データを記憶する。リンクボリューム6cは、ディスクアレイ装置3がホストコンピュータ30cに提供するデータからマスターデータを除いた差分データを記憶する。以下では、ディスクアレイ装置3がホストコンピュータ30に提供するデータからマスターデータを除いた差分データを単に差分データと称する。
図1の線L11aは、ホストコンピュータ30aによる差分データの参照先がリンクボリューム6aであることを示している。同様に、線L11bは、ホストコンピュータ30bによる差分データの参照先がリンクボリューム6bであることを示している。線L11cは、ホストコンピュータ30cによる差分データの参照先がリンクボリューム6cであることを示している。
このように、ホストコンピュータ30の各々は、マスターデータを参照する場合、マスターボリューム5にアクセスする。一方、ホストコンピュータ30a〜30cは、差分データを参照する場合、それぞれリンクボリューム6a〜6cにアクセスする。これにより、ディスクアレイ装置3は、リンクドクローンを構成している。
また、マスターボリューム5は、プール(Pool)4aに含まれている。リンクボリューム6a及び6bは、プール4bに含まれている。リンクボリューム6cは、プール4cに含まれている。以下では、プール4a〜4cを総称してプール4と表記する。
ここでいうプールとは、ディスクアレイ装置3が備える1つ以上のボリュームで構成した記憶領域である。例えば、プール4の各々は、ディスクアレイ装置3が備える1つ以上の物理ディスクを束ねてRAID(Redundant Arrays Of Inexpensive Disks、又は、Redundant Arrays Of Independent Disks)を構成した記憶領域の各々であってもよいが、これに限らない。
また、以下では、ディスクアレイ装置3における負荷の測定単位がプール4である場合を例に説明するが、これに限らず、ディスクアレイ装置3が備えるボリューム間で負荷が異なり得るものであればよい。例えば、負荷の測定単位がボリュームであってもよい。すなわち、ボリューム毎に負荷を測定可能であってもよい。
ホストコンピュータ30は、それぞれディスクアレイ装置3が記憶しているデータを使用する装置である。上記のように、ホストコンピュータ30の各々は、マスターデータを参照する場合、マスターボリューム5にアクセスする。一方、ホストコンピュータ30a〜30cは、差分データを参照する場合、それぞれリンクボリューム6a〜6cにアクセスする。
ホストコンピュータ30の各々は、例えばコンピュータを用いて構成される。
記憶システム制御装置100は、ディスクアレイ装置3を制御する。記憶システム制御装置100が、ディスクアレイ装置3の一部として構成されていてもよいし、ディスクアレイ装置3とは別の装置として構成されていてもよい。以下では、記憶システム制御装置100がディスクアレイ装置3とは別の装置として構成されている場合を例に説明する。
図2は、記憶システム制御装置100の機能構成を示す概略ブロック図である。同図に示すように、記憶システム制御装置100は、通信部110と、記憶部140と、制御部160とを備える。記憶部140は、アクセス頻度テーブル記憶部151と、プールビジー監視テーブル記憶部152とを備える。制御部160は、マスターデータ読出頻度検出部171と、負荷状態判定部172と、コピー対象決定部173と、コピー先決定部174と、コピー制御部175と、データアクセス制御部176とを備える。
通信部110は、他の装置と通信を行う。特に、通信部110は、ディスクアレイ装置3と通信を行って、ディスクアレイ装置3の状態を示す情報を受信する。また、通信部110は、ディスクアレイ装置3に対する制御信号を送信する。なお、記憶システム制御装置100がディスクアレイ装置3の一部として構成されている場合、通信部110は、ディスクアレイ装置3が備えるハードディスク装置の各々と信号のやり取りを行うインタフェースとして構成される。
記憶部140は、各種データを記憶する。記憶部140は、記憶システム制御装置100が内蔵している記憶デバイスを用いて構成されていてもよいし、記憶システム制御装置100に外付けの記憶デバイスを用いて構成されていてもよい。あるいは、記憶部140が、記憶システム制御装置100が内蔵している記憶デバイスと、記憶システム制御装置100に外付けの記憶デバイスとの組み合わせにて構成されていてもよい。
アクセス頻度テーブル記憶部151は、アクセス頻度テーブルを記憶する。アクセス頻度テーブルは、マスターボリューム5が記憶しているデータ毎のアクセス頻度の高さを示すデータである。ここで、各ボリュームが記憶しているデータは、例えば一定の記憶容量毎、或いはファイル毎など、何らかの纏まりを単位として扱われる。この単位毎にマスターデータ読出頻度検出部171がマスターボリューム5におけるデータアクセス頻度を測定して、アクセス頻度テーブルを生成し更新する。以下では、この単位毎のデータを単にデータとも称する。また、単位毎のデータであることを明示する必要がある場合、単位データとも称する。
図3は、アクセス頻度テーブル記憶部151が記憶するアクセス頻度テーブルのデータ構造の例を示す説明図である。同図の例では、アクセス頻度テーブルは、表形式(テーブル形式)のデータとして構成され、行毎に、1つの番号と1つのデータ識別情報とが対応付けられている。
アクセス頻度テーブルの「データ識別情報」は、マスターボリューム5が記憶しているデータ(特に、マスターデータ)に対して上記の単位毎に(従って、単位データ毎に)付される識別情報である。
また、アクセス頻度テーブルの「番号」は、単位データ毎のアクセス頻度の高い順を示す通し番号である。図3の例では、マスターボリューム5が記憶している単位データのうちデータAが最もアクセス頻度が高い。
なお、アクセス頻度テーブル記憶部151が記憶するデータは表形式のデータに限らず、単位データ毎のアクセス頻度の高さを示すものであればよい。
プールビジー監視テーブル記憶部152は、プールビジー監視テーブルを記憶する。プールビジー監視テーブルは、プール毎にビジー(Busy)か否かを示すデータである。ここでいうビジーは、プール4のアクセス能力の上限に達してアクセスに待ちが生じている状態である。負荷状態判定部172がプール4の各々の負荷情報を取得しビジー状態か否かを判定して、プールビジー監視テーブルを生成し更新する。
なお、ここでのビジーは高負荷の一例でありこれに限らない。例えば負荷状態判定部172が、プール4がビジーか否かに代えて、プール4の負荷が所定の負荷以上に高負荷か否かを監視するようにしてもよい。
図4は、プールビジー監視テーブル記憶部152が記憶するプールビジー監視テーブルのデータ構造の例を示す説明図である。同図の例では、プールビジー監視テーブルは、表形式のデータとして構成され、行毎に、1つのボリューム番号と、1つのプール番号と、1つの負荷状態とが対応付けられている。
プールビジー監視テーブルの「ボリューム番号」は、ボリューム毎に付された識別情報である。図4の例でボリューム番号「5」はマスターボリューム5を示す。また、ボリューム番号「6a」、「6b」、「6c」は、それぞれリンクボリューム6a、6b、6cを示す。
プールビジー監視テーブルの「プール番号」は、プール4の各々に付された識別情報である。図4の例でプール番号「4a」、「4b」、「4c」は、それぞれプール4a、4b、4cを示す。特に、プールビジー監視テーブルのプール番号は、対応付けられたボリューム番号が示すボリュームを含むプール4を示す。図4の例では、マスターボリューム5がプール4aに含まれることから、ボリューム番号「5」とプール番号「4a」とが対応付けられている。また、リンクボリューム6a、6bがいずれもプール4bに含まれることから、ボリューム番号「6a」、「6b」が、それぞれプール番号「4b」と対応付けられている。また、リンクボリューム6cがプール4cに含まれることから、ボリューム番号「6c」とプール番号「4c」とが対応付けられている。
プールビジー監視テーブルの「負荷状態」は、プール4の各々の負荷の状態を示すデータである。負荷状態の値「高」は、対応付けられたプール4がビジー状態(従って、高負荷な状態)にあることを示す。また、負荷状態の値「低」は、対応付けられたプール4がビジーではない状態(従って、比較的低負荷な状態)にあることを示す。
制御部160は、記憶システム制御装置100の各部を制御して各種処理を実行する。制御部160は、例えば記憶システム制御装置100が備えるCPU(Central Processing Unit)が、記憶部140からプログラムを読み出して実行することで構成される。
マスターデータ読出頻度検出部171は、マスターボリューム5が記憶しているデータ(単位データ)の各々の読出頻度を検出する。
負荷状態判定部172は、マスターボリューム5の負荷状態及びリンクボリューム6それぞれの負荷状態を判定する。具体的には、負荷状態判定部172は、プール4の各々の負荷を示す情報を取得して、ビジー状態か否かを判定する。上記のように、負荷状態判定部172は、プールビジー監視テーブルを生成し更新する。
コピー対象決定部173は、マスターボリューム5がビジー状態にあると負荷状態判定部172が判定した場合、マスターボリューム5が記憶しているデータの中からコピー対象データを読出頻度に基づいて決定する。ここでいうコピー対象データは、マスターボリューム5からいずれか1つ以上のリンクボリューム6へコピーするデータ(単位データ)である。コピー対象決定部173は、例えばマスターデータのうち読出頻度が最も高い単位データをコピー対象データに決定する。あるいは、コピー対象決定部173が、所定の読出頻度以上の単位データをコピー対象データに決定するなど、複数の単位データをコピー対象データに決定するようにしてもよい。
コピー対象データのコピーにより、記憶システム2は負荷分散を行う。具体的には、ホストコンピュータ30の各々がマスターボリューム5にリードアクセス(読出)していたデータをリンクボリューム6にリードアクセスするようにすることで、マスターボリューム5の負荷を軽減させる。
コピー先決定部174は、コピー対象決定部173が決定したコピー対象データのコピー先のリンクボリューム6を、リンクボリューム6の各々の負荷に基づいて決定する。具体的には、コピー先決定部174は、プールビジー監視テーブルを参照し、ビジーでないプールに属するリンクボリューム6のいずれか1つをコピー対象データのコピー先に決定する。
なお、コピー先決定部174が、1つのコピー対象データのコピー先を2つ以上のリンクボリューム6に決定するようにしてもよい。例えば、コピー先決定部174が、ビジーでない全てのリンクボリューム6をコピー先のリンクボリューム6に決定するようにしてもよい。
コピー制御部175は、コピー対象決定部173が決定したコピー対象データを、コピー先決定部174が決定したコピー先のリンクボリューム6へコピーする。以下では、コピー済みのコピー対象データをコピー済みデータと称する。
データアクセス制御部176は、ホストコンピュータ30による記憶システム制御装置100へのアクセスを制御する。特に、データアクセス制御部176は、ホストコンピュータ30が記憶システム制御装置100からコピー済みデータを読み出す際、データの読出先を、マスターボリューム5、又は、コピー先のリンクボリューム6のいずれかに決定する。例えば、データアクセス制御部176は、コピー済みデータの読出先を、コピー先のリンクボリューム6に決定する。
また、データアクセス制御部176は、コピーされていないマスターデータの参照先をマスターボリューム5に決定する。ここでいうコピーされていないマスターデータとは、マスターデータのうちコピーされていない単位データである。
また、データアクセス制御部176は、ホストコンピュータ30に個別のデータの参照先を、ホストコンピュータ30に対応付けて決定されているリンクボリューム6に決定する。図1に示す例の場合、データアクセス制御部176は、ホストコンピュータ30a、30b、30cに個別のデータの参照先を、それぞれリンクボリューム6a、6b、6cに決定する。
次に、図5〜図7を参照して記憶システム制御装置100の動作について説明する。
図5は、コピーされていないマスターデータの参照先の例を示す説明図である。図5では、図1に示す装置構成において、ホストコンピュータ30がコピーされていないマスターデータを読み出す際の読出先を示している。
図5の例ではデータAは、コピーされていないマスターデータである。また、ホストコンピュータ30a、30b、30cがデータAを読み出す際の読出先を、それぞれ線L22a、L22b、L22cで示している。
ホストコンピュータ30a、30b、30cのいずれがデータAを読み出す際も、マスターボリューム5にアクセスする。このため、複数のホストコンピュータ30によるデータAの読出が同時に行われると、マスターボリューム5の負荷が上昇する。
そこで、上記のようにコピー制御部175が、マスターデータのうちコピー対象決定部173がコピー対象データに決定した単位データを、コピー先決定部174が決定したコピー先のリンクボリューム6にコピーする。
図6は、コピー済みデータの参照先の例を示す説明図である。図6では、図5の状態からデータAがリンクボリューム6bにコピーされた場合の、データAの読出先の例を示している。線L33a、33bは、それぞれホストコンピュータ30a、30bがデータAを読み出す際の読出先を示す。ホストコンピュータ30a、30bのいずれも、リンクボリューム6bからデータAを読み出す。
なお、図6の例では、ホストコンピュータ30cがデータAを参照する際はマスターボリューム5にアクセスする。データアクセス制御部176は、例えば、データをコピーされたリンクボリューム6と同一のプール4に属している全てのリンクボリューム6を検出する。そして、データアクセス制御部176は、検出したリンクボリューム6に対応付けられているホストコンピュータ30について、このホストコンピュータ30が当該データを読み出す際の読出先を、データをコピーされた当該リンクボリューム6に決定する。
ただし、データアクセス制御部176が決定するデータの読出先はこれに限らない。例えば、データアクセス制御部176が、いずれのホストコンピュータ30がコピー済みデータを読み出す際も、コピー済みデータのコピー先のリンクボリューム6を読出先に決定するようにしてもよい。
このように、マスターデータの一部の読出先をリンクボリューム6に分散することで、マスターボリューム5の負荷を軽減させることができる。
図7は、マスターデータに含まれる単位データをコピーする際の記憶システム制御装置100の処理手順の例を示すフローチャートである。記憶システム制御装置100は、例えば定期的に図7の処理を行う。
図7の処理で、負荷状態判定部172は、マスターボリューム5の負荷の状態を示す情報(負荷情報)を取得する(ステップS101)。例えば負荷状態判定部172は、負荷状態判定部172自らが生成し更新しているプールビジー監視テーブルからマスターボリューム5の負荷情報を読み出す。
そして、負荷状態判定部172は、マスターボリューム5が高負荷の状態にあるか否かを判定する(ステップS102)。本実施形態では、負荷状態判定部172は、マスターボリューム5がビジー状態にあるか否かを判定する。
マスターボリューム5が高負荷の状態にあると判定した場合(ステップS102:YES)、コピー対象決定部173がコピー対象データを決定する(ステップS103)。コピー対象決定部173は、アクセス頻度テーブルを参照し、マスターデータに含まれる単位データへのアクセス頻度に基づいて、例えばアクセス頻度が最も高い単位データをコピー対象データに決定する。
次に、コピー先決定部174は、リンクボリューム6の各々の負荷情報を取得する(ステップS104)。コピー先決定部174は、プールビジー監視テーブルからリンクボリューム6の各々の負荷情報を読み出す。
そして、コピー先決定部174は、ステップS104で読み出した負荷情報に基づいて、コピー対象データのコピー先を決定する(ステップS105)。例えば、コピー先決定部174は、ビジーでないリンクボリューム6のうち、予め定められている順番が最も早いリンクボリューム6を、コピー先に決定する。
次に、コピー制御部175は、コピー対象決定部173が決定したコピー対象データを、コピー先決定部174が決定したコピー先のリンクボリューム6へコピーする(ステップS106)
そして、データアクセス制御部176は、データの参照先を設定(更新)する(ステップS107)。例えば、データアクセス制御部176は、データをコピーされたリンクボリューム6と同一のプール4に属している全てのリンクボリューム6を検出する。そして、データアクセス制御部176は、検出したリンクボリューム6に対応付けられているホストコンピュータ30について、このホストコンピュータ30が当該データを読み出す際の読出先を、データをコピーされた当該リンクボリューム6に決定する。
ステップS107の後、図7の処理を終了する。
一方、ステップS102で、マスターボリューム5が高負荷の状態ではないと判定した場合(ステップS102:NO)、図7の処理を終了する。この場合は、記憶システム制御装置100は、マスターデータのコピー(マスターデータに含まれる単位データのコピー)を行わない。
以上のように、マスターボリューム5は、ホストコンピュータ30の各々に共用のデータを記憶する。リンクボリューム6の各々は、ホストコンピュータ30毎に個別のデータを記憶する。
また、マスターデータ読出頻度検出部171は、マスターボリューム5が記憶しているデータの各々の読出頻度を検出する。負荷状態判定部172は、マスターボリューム5の負荷状態及びリンクボリューム6それぞれの負荷状態を判定する。
また、コピー対象決定部173は、マスターボリューム5が高負荷状態にあるとマスターデータ読出頻度検出部171が判定した場合、マスターボリューム5が記憶しているデータの中からコピー対象データを読出頻度に基づいて決定する。コピー先決定部174は、コピー対象データのコピー先のリンクボリュームを、リンクボリューム6の負荷状態に基づいて決定する。
そして、コピー制御部175は、コピー対象データをコピー先のリンクボリューム6へコピーする。
これにより、記憶システム制御装置100(負荷状態判定部172)は、マスターデータの一部をコピーするか否かを判定するために、マスターボリューム5の負荷状態のみを参照すればよく、他の装置の負荷状態を参照する必要がない。記憶システム制御装置100によれば、この点で、記憶システムにおける負荷分散のためにデータコピーを行うか否かを判定する負荷を、より小さくすることができる。
特に、記憶システム2が備えるリンクボリューム6の数が多い場合でも、記憶システム2における負荷分散のためにデータコピーを行うか否かを記憶システム制御装置100が判定する負荷が増大しない。
<第2の実施形態>
第2の実施形態では、記憶システム制御装置が、コピー済みデータの参照先を、当該データを記憶しているボリュームの負荷状態に基づいて決定する場合について説明する。
第2の実施形態における装置構成は、図1を参照して説明したのと同様であり、ここでは図示及び説明を省略する。第2の実施形態では、図1の記憶システム制御装置100を記憶システム制御装置101と読み替える。
図8は、記憶システム制御装置101の機能構成を示す概略ブロック図である。同図に示すように、記憶システム制御装置101は、通信部110と、記憶部141と、制御部161とを備える。記憶部141は、アクセス頻度テーブル記憶部151と、プールビジー監視テーブル記憶部152と、ボリュームデータ管理テーブル記憶部153とを備える。制御部161は、マスターデータ読出頻度検出部171と、負荷状態判定部172と、コピー対象決定部173と、コピー先決定部174と、コピー制御部175と、参照先候補検出部181と、データアクセス制御部182とを備える。
図8に示す各部のうち、図2の各部に対応して同様の機能を有する部分には、同一の符号(151〜152、171〜175)を付して説明を省略する。図8では、記憶部141が、ボリュームデータ管理テーブル記憶部153を備える点で、図2の記憶部140と異なる。また、制御部161が、参照先候補検出部181を備える点、及び、データアクセス制御部182の動作が、図2の制御部160と異なる。それ以外は、記憶システム制御装置101、記憶部141、制御部161は、それぞれ図2の記憶システム制御装置100、記憶部140、制御部160と同様である。
ボリュームデータ管理テーブル記憶部153は、ボリュームデータ管理テーブルを記憶する。ボリュームデータ管理テーブルは、ボリューム毎に当該ボリュームが記憶しているコピー済みデータを示す情報である。ボリュームデータ管理テーブルの生成及び更新は、例えば参照先候補検出部181が行う。コピー制御部175がコピー対象データをコピーした場合、参照先候補検出部181は、行われたコピーをボリュームデータ管理テーブルに反映させるように、ボリュームデータ管理テーブルを生成し更新する。
図9は、ボリュームデータ管理テーブル記憶部153が記憶するボリュームデータ管理テーブルのデータ構造の例を示す説明図である。同図の例では、ボリュームデータ管理テーブルは、表形式のデータとして構成され、行毎に、1つのボリューム番号と、0個以上のデータ識別情報とが対応付けられている。すなわち、1つのボリューム番号に複数のデータ識別情報が対応付けられていてもよいし、データ識別情報が1つも対応付けられていないボリューム番号があってもよい。
ボリュームデータ管理テーブルの「ボリューム番号」は、図4の場合と同様、ボリューム毎に付された識別情報である。
ボリュームデータ管理テーブルの「データ識別情報」は、ボリュームが記憶しているコピー済みデータに対して単位データ毎に付されている識別情報である。
ボリュームデータ管理テーブルは、各ボリュームが記憶しているコピー済みデータを、コピーデータに付されているデータ識別情報にて示している。図9の例では、マスターボリューム5、リンクボリューム6b及び6cが、いずれもデータAを記憶しており、リンクボリューム6aは、コピー済みデータを記憶していない場合の例を示している。ボリュームが複数のコピー済みデータを記憶している場合は、1つのボリューム番号と複数のデータ識別情報とが対応付けられる。
参照先候補検出部181は、コピー済みデータのコピー先のリンクボリューム6が高負荷状態にあると負荷状態判定部172が判定した場合、当該リンクボリューム6が記憶しているコピー済みデータを参照先変更対象データとして検出する。例えば、リンクボリューム6のいずれかが高負荷状態にあることを検出すると、参照先候補検出部181は、ボリュームデータ管理テーブルを参照して、当該リンクボリューム6が記憶しているコピー済みデータを参照先変更対象データとして検出する。
そして、参照先候補検出部181は、検出した参照先変更対象データと同じデータを記憶しているボリュームを参照先候補ボリュームとして検出する。参照先候補検出部181は、ボリュームデータ管理テーブルを参照して、参照先変更対象データと同じデータを記憶しているボリュームを検出する。
参照先候補検出部181は、記憶システム2が備える全てのボリューム(マスターボリューム5、及び、リンクボリューム6a〜6c)のうち、検出した参照先変更対象データと同じデータを記憶している全てのボリュームを参照先候補ボリュームとして検出する。あるいは、参照先候補検出部181が、マスターボリューム5を参照先候補ボリュームの対象から除外するなど、記憶システム2が備えるボリュームのうち一部のボリュームの中から参照先候補ボリュームを検出するようにしてもよい。
データアクセス制御部182は、図2のデータアクセス制御部176と同様、ホストコンピュータ30による記憶システム制御装置101へのアクセスを制御する。但し、データアクセス制御部182は、ホストコンピュータ30から参照先変更対象データの読出要求があった場合、参照先候補ボリュームの中から読出先を決定する点で、データアクセス制御部176と異なる。それ以外の点では、データアクセス制御部182はデータアクセス制御部176と同様である。
ホストコンピュータ30から参照先変更対象データの読出要求があった場合、データアクセス制御部182は、参照先候補検出部181が検出した参照先候補ボリュームの負荷状態を、プールビジー監視テーブルから読み出す。そして、データアクセス制御部182は、読み出した負荷状態に基づいて、参照先変更対象データの読出要求に対する読出先のボリュームを参照先候補ボリュームのいずれかに決定する。例えば、データアクセス制御部182は、参照先候補ボリューム、かつ、ビジー状態でないボリュームのうち、予め設定されている順番が最も早いボリュームを読出先のボリュームに決定する。
あるいは、データアクセス制御部182が、参照先候補ボリュームのうち最も負荷の低いボリュームを読出先のボリュームに決定するようにしてもよい。この場合、プールビジー監視テーブルが各ボリュームの負荷の高さを定量的に示す情報を記憶しておくようにしてもよい。データアクセス制御部182は、プールビジー監視テーブルを参照して、参照先候補ボリュームのうち最も負荷の低いボリュームを検出する。
次に、図10〜図12を参照して記憶システム制御装置101の動作について説明する。
図10は、コピーされたデータの参照先が固定の場合のデータ参照先の例を示す説明図である。図10では、図1に示す装置構成において、ホストコンピュータ30bがコピー済みデータをリンクボリューム6bから読み出す場合の例を示している。
図10の例ではデータAは、マスターデータに含まれる単位データであり、リンクボリューム6b、6cにそれぞれコピーされている。ホストコンピュータ30bは、このデータAを記憶システム2から読み出す際、データアクセス制御部182の制御に従ってリンクボリューム6bにアクセスしてデータAを読み出す。ホストコンピュータ30bがデータAを読み出す際の読出先を線L43bで示している。
データ読出先のボリュームの負荷が低い場合(本実施形態では、ビジーでない場合)、データアクセス制御部182は、データ読出先を固定する。図10の例では、データアクセス制御部182は、ホストコンピュータ30bがデータAを読み出す読出先をリンクボリューム6bに固定している。この場合、データアクセス制御部182がデータの読出要求の度に読出先を決定する必要が無い点で、データアクセス制御部182の負荷が比較的低くて済む。また、データ要求元のホストコンピュータ30は、データ読出先の決定を待つ必要が無い点で、比較的速やかにデータを読み出すことができる。
図11は、データアクセス制御部176が参照先候補ボリュームの中からデータの読出先を決定する場合のデータ参照先の例を示す説明図である。図11では、図10の状態からリンクボリューム6bがビジー状態になった場合に、ホストコンピュータ30bがデータAを記憶システム2から読み出す場合の例を示している。
リンクボリューム6bがビジー状態になったため、データアクセス制御部176は、リンクボリューム6bと同じくデータAを有しているマスターボリューム5又はリンクボリューム6cのいずれかを、データAの読出先に決定する。線L53bは、リンクボリューム6bがビジー状態になる前のデータAの読出先を示している。線L53c及びL53dは、図11の状態でホストコンピュータ30bがデータAを読み出す先の候補がリンクボリューム6c及びマスターボリューム5であることを示している。リンクボリューム6bは、データAを記憶しているものの、ビジー状態にあるため、データアクセス制御部176はリンクボリューム6bをデータAの読出先の候補から除外する。
このように、データアクセス制御部176がコピー済みデータの参照先を切り替えることで、いずれかのボリュームの負荷が高い場合に、コピー済みデータの参照先を当該ボリュームから他のボリュームに切り替えることができる。これにより、負荷が高い当該ボリュームの負荷を低減させることができる。
図12は、記憶システム制御装置101がコピー済みデータの参照先を変更する処理手順の例を示すフローチャートである。記憶システム制御装置101は、例えば定期的に図12の処理を行う。
図12の処理で、負荷状態判定部172は、リンクボリューム6の各々の負荷状態を示す情報(負荷情報)を取得する(ステップS201)。負荷状態判定部172は、プールビジー監視テーブルからリンクボリューム6の各々の負荷情報を読み出す。
次に、負荷状態判定部172は、ステップS201で読み出した負荷状態情報に基づいて、高負荷のリンクボリューム6の有無を判定する(ステップS202)。本実施形態では、負荷状態判定部172は、ビジー状態のリンクボリューム6の有無を判定する。
高負荷のリンクボリューム6が無いと判定した場合(ステップS202:NO)、図12の処理を終了する。この場合、データアクセス制御部182は、データのアクセス先を変更しない。
一方、高負荷のリンクボリューム6が有ると判定した場合(ステップS202:YES)、参照先候補検出部181は、負荷状態判定部172が検出した高負荷のリンクボリューム6よりも低負荷のボリュームを検出する(ステップS203)。本実施形態では、参照先候補検出部181は、ビジー状態でないボリュームを検出する。
次に、参照先候補検出部181は、ステップS203で検出したボリュームのうち、負荷状態判定部172が検出した高負荷のリンクボリューム6と同じコピー済みデータを記憶しているボリュームを検出する(ステップS204)。ステップS204で参照先候補検出部181が検出したボリュームは、参照先候補ボリュームの例に該当する。負荷状態判定部172が検出したリンクボリューム6が複数のコピー済みデータを記憶している場合、参照先候補検出部181は、コピー済みデータ毎に参照先候補ボリュームを検出する。
次に、データアクセス制御部182は、ステップS204で検出したボリュームのいずれかを、コピー済みデータの新たな読出先に決定する(ステップS205)。上述したように、データアクセス制御部182は、例えば、予め設定されている順番が最も早いボリュームをコピー済みデータの新たな読出先のボリュームに決定する。あるいは、データアクセス制御部182が、最も負荷の低いボリュームを読出先のボリュームに決定するようにしてもよい。
負荷状態判定部172が検出したリンクボリューム6が複数のコピー済みデータを記憶している場合、データアクセス制御部182は、コピー済みデータ毎に当該コピー済みデータの新たな読出先を決定する。
そして、データアクセス制御部182は、ステップS205の決定に基づいて、ホストコンピュータ30からデータ読出要求があった際のデータ読出先を予め変更しておく(ステップS206)。
ステップS206の後、図12の処理を終了する。
なお、ホストコンピュータ30からデータ読出要求があったタイミングで、データアクセス制御部182がデータ読出先を決定するようにしてもよい。この場合、負荷状態判定部172も、ホストコンピュータ30からデータ読出要求があったタイミングで、参照先候補を検出するようにしてもよい。あるいは、負荷状態判定部172が予め参照先候補を検出しておき、ホストコンピュータ30からデータ読出要求があったタイミングで、データアクセス制御部182が、参照先候補の中からデータ読出先を決定するようにしてもよい。
以上のように、参照先候補検出部181は、コピー済みデータのコピー先のリンクボリューム6が高負荷状態にあると負荷状態判定部172が判定した場合、当該リンクボリューム6が記憶しているデータのうちコピー制御部175がコピーしたデータ(コピー済みデータ)である参照先変更対象データと同じデータを記憶している参照先候補ボリュームを、マスターボリューム5及びリンクボリューム6の中から検出する。
そして、データアクセス制御部182は、参照先候補ボリュームの負荷に基づいて、参照先変更対象データの読出要求に対する読出先のボリュームを参照先候補ボリュームのいずれかに決定する。
これにより、リンクボリューム6の負荷が上昇した場合に負荷を低減させることができる。特に、第1の実施形態で説明したように、マスターデータの一部をリンクボリューム6にコピーして負荷分散を行ったことでリンクボリューム6の負荷が上昇した場合に、当該リンクボリューム6の負荷を低減させ、アクセス遅延を回避することができる。
<第3の実施形態>
第3の実施形態では、記憶システム制御装置が、アクセス頻度の低いコピー済みデータを削除する場合について説明する。
第3の実施形態における装置構成は、図1を参照して説明したのと同様であり、ここでは図示及び説明を省略する。第3の実施形態では、図1の記憶システム制御装置100を記憶システム制御装置102と読み替える。
図13は、記憶システム制御装置102の機能構成を示す概略ブロック図である。同図に示すように、記憶システム制御装置102は、通信部110と、記憶部141と、制御部162とを備える。記憶部141は、アクセス頻度テーブル記憶部151と、プールビジー監視テーブル記憶部152と、ボリュームデータ管理テーブル記憶部153とを備える。制御部162は、マスターデータ読出頻度検出部171と、負荷状態判定部172と、コピー対象決定部173と、コピー先決定部174と、コピー制御部175と、参照先候補検出部181と、データアクセス制御部182と、コピーデータ読出頻度検出部191と、読出頻度判定部192と、削除制御部193とを備える。
図13に示す各部のうち、図8の各部に対応して同様の機能を有する部分には、同一の符号(141、151〜153、171〜175、181〜182)を付して説明を省略する。図13では、制御部162が、コピーデータ読出頻度検出部191と、読出頻度判定部192と、削除制御部193とを備える点で、図8の制御部161と異なる。また、後述するように、記憶システム制御装置102では、ボリュームデータテーブルにアクセス頻度の情報が含まれる点で、記憶システム制御装置101の場合と異なる。それ以外は、記憶システム制御装置102、制御部162は、それぞれ図8の記憶システム制御装置101、制御部161と同様である。
なお、記憶システム制御装置102にとって第2の実施形態で説明した機能は必須ではない。例えば、記憶システム制御装置102が、参照先候補検出部181を備えず、データアクセス制御部182に代えてデータアクセス制御部176を備えるようにしてもよい。
記憶システム制御装置102では、ボリュームデータ管理テーブル記憶部153は、ボリュームデータ管理テーブルにアクセス頻度の情報を含んで記憶しておく。このアクセス頻度の情報は、読出頻度判定部192がボリュームデータ管理テーブルに書き込む。
図14は、ボリュームデータ管理テーブル記憶部153が記憶するボリュームデータ管理テーブルのデータ構造の例を示す説明図である。同図の例では、ボリュームデータ管理テーブルは、表形式のデータとして構成され、行毎に、1つのボリューム番号と、1つ以上のデータ識別情報と、データ識別情報毎のアクセス頻度情報とが対応付けられている。
ボリュームデータ管理テーブルの「ボリューム番号」、「データ識別情報」は、いずれも図9の場合と同様である。
ボリュームデータ管理テーブルの「アクセス頻度」は、データ識別情報が示すコピー済みデータに対するアクセス頻度が高いか否かをリンクボリューム6毎に示す。1つのリンクボリューム6が複数のコピー済みデータを記憶している場合、読出頻度判定部192は、リンクボリューム6毎、かつ、コピー済みデータ毎に、アクセス頻度をボリュームデータ管理テーブルに書き込む。読出頻度判定部192は、コピー済みデータのデータ識別情報と、当該コピー済みデータに対するアクセス頻度とを1対1に対応付けてボリュームデータ管理テーブルに書き込む。
なお、マスターボリューム5は、削除制御部193によるデータ削除の対象外である。このため、ボリュームデータ管理テーブルでは、マスターボリューム5が記憶しているコピー済みデータに対するアクセス頻度は示されない。
コピーデータ読出頻度検出部191は、コピー済みデータ(リンクボリューム6へコピーされたコピー対象データ)の読出頻度をリンクボリューム6毎且つコピー済みデータ毎に検出する。
読出頻度判定部192は、コピーデータ読出頻度検出部191が検出したコピー済みデータの読出頻度が低いか否かをリンクボリューム毎且つコピー済みデータ毎に判定する。例えば、読出頻度判定部192は、コピーデータ読出頻度検出部191がリンクボリューム6毎かつコピー済みデータに検出した読出頻度と所定の閾値とを比較し、読出頻度が閾値よりも低い場合に読出頻度低(読出頻度が低い)と判定する。
削除制御部193は、読出頻度判定部192が読出頻度低と判定したコピー済みデータを削除する。読出頻度判定部192は、リンクボリューム6毎且つコピー済みデータ毎に読出頻度が低いか否かの判定を行う。そして、削除制御部193は、読出頻度判定部192が読出頻度低と判定したコピー済みデータを、読出頻度低と判定したリンクボリューム6から削除する。
次に、図15及び図16を参照して記憶システム制御装置102の動作について説明する。
図15は、削除制御部193によるコピー済みデータの削除の例を示す説明図である。図15では、図1に示す装置構成において、図14に示すように、マスターボリューム5、リンクボリューム6a〜6cのいずれもデータAを記憶しており、かつ、リンクボリューム6cにおけるデータAのアクセス頻度が低い場合の例を示している。ここでのデータAは、コピー済みデータの例に該当する。
リンクボリューム6cにおけるデータAのアクセス頻度が低いことから、削除制御部193は、リンクボリューム6からデータAを削除する。図15では、削除制御部193によるリンクボリューム6からのデータAの削除を「×」印にて示している。
図16は、記憶システム制御装置102がコピー済みデータを削除する処理手順の例を示すフローチャートである。記憶システム制御装置102は、例えば定期的に、リンクボリューム6毎、かつ、当該リンクボリューム6が記憶しているコピー済みデータ毎に図16の処理を行う。
図16の処理で、制御部162は、リンクボリューム6の各々に対して処理を行うループL11を開始する(ステップS301)。以下では、ループL11で処理対象になっているリンクボリューム6を対象リンクボリュームと称する。
次に、マスターデータ読出頻度検出部171は、対象リンクボリュームが記憶しているコピー済みデータを記憶する(ステップS302)。例えば、マスターデータ読出頻度検出部171はボリュームデータ管理テーブルを参照して、対象リンクボリュームに対応付けられているデータ識別情報を全て読み出す。
次に、制御部162は、ステップS302でマスターデータ読出頻度検出部171が検出してコピー済みデータの各々に対して処理を行うループL12を開始する(ステップS303)。以下では、ループL12で処理対象になっているコピー済みデータを対象データと称する。
次に、読出頻度判定部192は、対象データのアクセス頻度情報を取得する(ステップS304)。具体的には、読出頻度判定部192は、対象リンクボリュームの対象データに対するアクセス頻度の高低をボリュームデータ管理テーブルから読み出す。
そして、読出頻度判定部192は、対象リンクボリュームの対象データに対するアクセス頻度が低いか否かを判定する(ステップS305)。具体的には、読出頻度判定部192は、ステップS304で読み出した情報が、アクセス頻度低を示しているか否かを判定する。
アクセス頻度低と判定した場合(ステップS305:YES)、削除制御部193は、アクセス頻度低のデータを削除する(ステップS306)。すなわち、削除制御部193は、対象データを対象リンクボリュームから削除する。
そして、データアクセス制御部182は、ステップS306で削除制御部193が削除したデータの参照先を変更する(ステップS307)。例えば、データアクセス制御部182は、当該データの参照先をマスターボリューム5に決定する。
次に、制御部162は、ループL12の終端処理を行う(ステップS308)。具体的には、制御部162は、ステップS302で得られた全てのコピー済みデータに対してループL12の処理を完了したか否かを判定する。完了したと判定した場合、ループL12を終了する。一方、未処理のコピー済みデータがあると判定した場合、ステップS303へ戻り、未処理のコピー済みデータに対して引き続きループL12の処理を行う。
ステップS308でループL12を終了した場合、制御部162は、ループL11の終端処理を行う(ステップS308)。具体的には、制御部162は、全てのリンクボリューム6に対してループL11の処理を完了したか否かを判定する。完了したと判定した場合、ループL11を終了する。一方、未処理のリンクボリューム6があると判定した場合、ステップS301へ戻り、未処理のリンクボリューム6に対して引き続きループL11の処理を行う。
ステップS309でループL11を終了した場合、制御部162は図16の処理を終了する。
一方、ステップS305でアクセス頻度が低くないと判定した場合(ステップS305:NO)、ステップS308へ進む。
以上のように、コピーデータ読出頻度検出部191は、コピー済みデータの読出頻度をリンクボリューム6毎且つコピー済みデータ毎に検出する。そして、読出頻度判定部192は、コピー済みデータの読出頻度が低いか否かをリンクボリューム6毎且つコピー済みデータ毎に判定する。削除制御部193は、読出頻度判定部192が読出頻度低と判定したコピー済みデータを、当該リンクボリューム6から削除する。
これにより、記憶システム制御装置102では、アクセス頻度が低下したコピー済みデータを削除することで、リンクボリューム6の容量の肥大化を抑えることができる。
次に、図17及び図18を参照して、本発明の最小構成について説明する。
図17は、本発明に係る記憶システムの最小構成を示す概略構成図である。同図に示す記憶システム200は、マスターボリューム201と、リンクボリューム202と、マスターデータ読出頻度検出部203と、負荷状態判定部204と、コピー対象決定部と205と、コピー先決定部206と、コピー制御部207とを備える。
かかる構成にて、マスターボリューム201は、データを使用する複数の装置に共用のデータを記憶する。リンクボリューム202は、データを使用する装置毎に個別のデータを記憶する。マスターデータ読出頻度検出部203は、マスターボリューム201が記憶しているデータの各々の読出頻度を検出する。負荷状態判定部204は、マスターボリューム201の負荷状態及びリンクボリューム202それぞれの負荷状態を判定する。
コピー対象決定部と205は、マスターボリューム201が高負荷状態にあると負荷状態判定部204が判定した場合、マスターボリューム201が記憶しているデータの中からコピー対象データを読出頻度に基づいて決定する。コピー先決定部206は、コピー対象データのコピー先のリンクボリューム202を、リンクボリューム202の負荷状態に基づいて決定する。コピー制御部207は、コピー対象データをコピー先のリンクボリューム202へコピーする。
これにより、記憶システム200は、マスターデータの一部をコピーするか否かを判定するために、マスターボリューム201の負荷状態のみを参照すればよく、他の装置の負荷状態を参照する必要がない。記憶システム200によれば、この点で、記憶システム200自らにおける負荷分散のためにデータコピーを行うか否かを判定する負荷を、より小さくすることができる。
図18は、本発明に係る記憶システム制御装置の最小構成を示す概略構成図である。同図に示す記憶システム制御装置300は、マスターデータ読出頻度検出部303と、負荷状態判定部304と、コピー対象決定部305と、コピー先決定部306と、コピー制御部307とを備える。
かかる構成にて、マスターデータ読出頻度検出部303は、データを使用する複数の装置に共用のデータを記憶するマスターボリュームが記憶しているデータの各々の読出頻度を検出する。負荷状態判定部304は、マスターボリュームの負荷状態、及び、データを使用する装置毎に個別のデータを記憶する1つ以上のリンクボリュームそれぞれの負荷状態を判定する。
コピー対象決定部305は、マスターボリュームが高負荷状態にあると負荷状態判定部304が判定した場合、マスターボリュームが記憶しているデータの中からコピー対象データを読出頻度に基づいて決定する。コピー先決定部306は、コピー対象データのコピー先のリンクボリュームを、リンクボリュームの負荷状態に基づいて決定する。コピー制御部307は、コピー対象データをコピー先のリンクボリュームへコピーする。
これにより、記憶システム制御装置300は、マスターデータの一部をコピーするか否かを判定するために、マスターボリュームの負荷状態のみを参照すればよく、他の装置の負荷状態を参照する必要がない。記憶システム制御装置300によれば、この点で、記憶システムにおける負荷分散のためにデータコピーを行うか否かを判定する負荷を、より小さくすることができる。
なお、制御部160、161、及び、162と、マスターデータ読出頻度検出部203及び303と、負荷状態判定部204及び304と、コピー対象決定部と205及び305と、コピー先決定部206及び306と、コピー制御部207及び307との機能の全部または一部を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各部の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
1 コンピュータシステム
2、200 記憶システム
3 ディスクアレイ装置
4、4a、4b、4c プール
5、201 マスターボリューム
6、6a、6b、6c、202 リンクボリューム
30、30a、30b、30c ホストコンピュータ
100、101、102、300 記憶システム制御装置
110 通信部
140、141 記憶部
151 アクセス頻度テーブル記憶部
152 プールビジー監視テーブル記憶部
153 ボリュームデータ管理テーブル記憶部
160、161、162 制御部
171、203、303 マスターデータ読出頻度検出部
172、204、304 負荷状態判定部
173、205、305 コピー対象決定部
174、206、306 コピー先決定部
175、207、307 コピー制御部
176、182 データアクセス制御部
181 参照先候補検出部
191 コピーデータ読出頻度検出部
192 読出頻度判定部
193 削除制御部

Claims (6)

  1. データを使用する複数の装置に共用のデータを記憶するマスターボリュームと、
    データを使用する装置毎に設けられるリンクボリュームであって、対応する前記データを使用する装置に個別のデータを記憶する1つ以上のリンクボリュームと、
    前記マスターボリュームが記憶しているデータの各々の読出頻度を検出するマスターデータ読出し頻度検出部と、
    前記マスターボリュームの負荷状態及び前記リンクボリュームそれぞれの負荷状態を判定する負荷状態判定部と、
    前記マスターボリュームが高負荷状態にあると前記負荷状態判定部が判定した場合、前記マスターボリュームが記憶しているデータの中からコピー対象データを前記読出頻度に基づいて決定するコピー対象決定部と、
    前記コピー対象データのコピー先のリンクボリュームを、前記リンクボリュームの負荷状態に基づいて決定するコピー先決定部と、
    前記コピー対象データを前記コピー先のリンクボリュームへコピーするコピー制御部と、
    を備える記憶システム。
  2. 前記コピー先のリンクボリュームが高負荷状態にあると負荷状態判定部が判定した場合、当該リンクボリュームが記憶しているデータのうち前記コピー制御部がコピーしたデータである参照先変更対象データと同じデータを記憶している参照先候補ボリュームを、マスターボリューム及びリンクボリュームの中から検出する参照先候補検出部と、
    前記参照先候補ボリュームの負荷に基づいて、前記参照先変更対象データの読出要求に対する読出先のボリュームを前記参照先候補ボリュームのいずれかに決定するデータアクセス制御部と、
    を備える請求項1に記載の記憶システム。
  3. 前記リンクボリュームへコピーされた前記コピー対象データの読出頻度をリンクボリューム毎且つコピー対象データ毎に検出するコピーデータ読出頻度検出部と、
    前記リンクボリュームへコピーされた前記コピー対象データの読出頻度が低いか否かをリンクボリューム毎且つコピー対象データ毎に判定する読出頻度判定部と、
    前記読出頻度判定部が読出頻度低と判定したコピー対象データを削除する削除制御部と、
    を備える請求項1または請求項2に記載の記憶システム。
  4. データを使用する複数の装置に共用のデータを記憶するマスターボリュームが記憶しているデータの各々の読出頻度を検出するマスターデータ読出し頻度検出部と、
    前記マスターボリュームの負荷状態、及び、データを使用する装置毎に設けられるリンクボリュームであって、対応する前記データを使用する装置に個別のデータを記憶する1つ以上のリンクボリュームそれぞれの負荷状態を判定する負荷状態判定部と、
    前記マスターボリュームが高負荷状態にあると前記負荷状態判定部が判定した場合、前記マスターボリュームが記憶しているデータの中からコピー対象データを前記読出頻度に基づいて決定するコピー対象決定部と、
    前記コピー対象データのコピー先のリンクボリュームを、前記リンクボリュームの負荷状態に基づいて決定するコピー先決定部と、
    前記コピー対象データを前記コピー先のリンクボリュームへコピーするコピー制御部と、
    を備える記憶システム制御装置。
  5. 記憶システム制御装置が、データを使用する複数の装置に共用のデータを記憶するマスターボリュームが記憶しているデータの各々の読出頻度を検出するマスターデータ読出し頻度検出ステップと、
    前記記憶システム制御装置が、前記マスターボリュームの負荷状態、及び、データを使用する装置毎に設けられるリンクボリュームであって、対応する前記データを使用する装置に個別のデータを記憶する1つ以上のリンクボリュームそれぞれの負荷状態を判定する負荷状態判定ステップと、
    前記記憶システム制御装置が、前記マスターボリュームが高負荷状態にあると前記負荷状態判定ステップで判定した場合、前記マスターボリュームが記憶しているデータの中からコピー対象データを前記読出頻度に基づいて決定するコピー対象決定ステップと、
    前記記憶システム制御装置が、前記コピー対象データのコピー先のリンクボリュームを、前記リンクボリュームの負荷状態に基づいて決定するコピー先決定ステップと、
    前記記憶システム制御装置が、前記コピー対象データを前記コピー先のリンクボリュームへコピーするコピー制御ステップと、
    を含む記憶システム制御方法。
  6. コンピュータに、
    データを使用する複数の装置に共用のデータを記憶するマスターボリュームが記憶しているデータの各々の読出頻度を検出するマスターデータ読出し頻度検出ステップと、
    前記マスターボリュームの負荷状態、及び、データを使用する装置毎に設けられるリンクボリュームであって、対応する前記データを使用する装置に個別のデータを記憶する1つ以上のリンクボリュームそれぞれの負荷状態を判定する負荷状態判定ステップと、
    前記マスターボリュームが高負荷状態にあると前記負荷状態判定ステップで判定した場合、前記マスターボリュームが記憶しているデータの中からコピー対象データを前記読出頻度に基づいて決定するコピー対象決定ステップと、
    前記コピー対象データのコピー先のリンクボリュームを、前記リンクボリュームの負荷状態に基づいて決定するコピー先決定ステップと、
    前記コピー対象データを前記コピー先のリンクボリュームへコピーするコピー制御ステップと、
    を実行させるためのプログラム。
JP2016073660A 2016-03-31 2016-03-31 記憶システム、記憶システム制御装置、記憶システム制御方法及びプログラム Active JP6747018B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016073660A JP6747018B2 (ja) 2016-03-31 2016-03-31 記憶システム、記憶システム制御装置、記憶システム制御方法及びプログラム
US15/471,112 US20170285983A1 (en) 2016-03-31 2017-03-28 Storage system, storage system control method, and program therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016073660A JP6747018B2 (ja) 2016-03-31 2016-03-31 記憶システム、記憶システム制御装置、記憶システム制御方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2017187815A JP2017187815A (ja) 2017-10-12
JP6747018B2 true JP6747018B2 (ja) 2020-08-26

Family

ID=59961511

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016073660A Active JP6747018B2 (ja) 2016-03-31 2016-03-31 記憶システム、記憶システム制御装置、記憶システム制御方法及びプログラム

Country Status (2)

Country Link
US (1) US20170285983A1 (ja)
JP (1) JP6747018B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7050540B2 (ja) * 2018-03-16 2022-04-08 Necプラットフォームズ株式会社 論理記憶領域の配置制御装置、論理記憶領域の配置制御システム、論理記憶領域の配置制御方法、及び、論理記憶領域の配置制御プログラム
JP7036866B2 (ja) * 2020-06-19 2022-03-15 株式会社日立製作所 情報処理装置及び方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6721794B2 (en) * 1999-04-01 2004-04-13 Diva Systems Corp. Method of data management for efficiently storing and retrieving data to respond to user access requests
US7685109B1 (en) * 2005-12-29 2010-03-23 Amazon Technologies, Inc. Method and apparatus for data partitioning and replication in a searchable data service
WO2009032712A2 (en) * 2007-08-29 2009-03-12 Nirvanix, Inc. Method and system for moving requested files from one storage location to another
US7970861B2 (en) * 2009-11-18 2011-06-28 Microsoft Corporation Load balancing in a distributed computing environment
US8661055B2 (en) * 2011-03-22 2014-02-25 Hitachi, Ltd. File server system and storage control method
US8683162B2 (en) * 2011-06-08 2014-03-25 Hitachi, Ltd. Computer system and method of managing storage system monitoring access performance for risky pool detection
US8819230B2 (en) * 2011-11-05 2014-08-26 Zadara Storage, Ltd. Virtual private storage array service for cloud servers
US8886781B2 (en) * 2011-12-13 2014-11-11 Microsoft Corporation Load balancing in cluster storage systems
WO2013093994A1 (ja) * 2011-12-19 2013-06-27 富士通株式会社 ストレージシステム、データリバランシングプログラム及びデータリバランシング方法
US9262323B1 (en) * 2012-11-26 2016-02-16 Amazon Technologies, Inc. Replication in distributed caching cluster
US9348707B2 (en) * 2013-12-18 2016-05-24 International Business Machines Corporation Dynamically adjusting the number of replicas of a file according to the probability that the file will be accessed within a distributed file system

Also Published As

Publication number Publication date
US20170285983A1 (en) 2017-10-05
JP2017187815A (ja) 2017-10-12

Similar Documents

Publication Publication Date Title
JP5099128B2 (ja) ストレージ管理プログラム、ストレージ管理装置およびストレージ管理方法
JP4869368B2 (ja) ストレージ装置及び仮想化装置
US9977620B2 (en) Storage device and storage system
JP4519179B2 (ja) 論理ボリューム管理プログラム、論理ボリューム管理装置、論理ボリューム管理方法、および分散ストレージシステム
US8230191B2 (en) Recording medium storing allocation control program, allocation control apparatus, and allocation control method
US9971527B2 (en) Apparatus and method for managing storage for placing backup data into data blocks based on frequency information
JP2007058728A (ja) データ移行方式
US20130054727A1 (en) Storage control method and information processing apparatus
US20070260833A1 (en) Storage controller and data management method
US20180067680A1 (en) Storage control apparatus, system, and storage medium
JP6558059B2 (ja) ストレージ制御装置、ストレージ制御プログラム、およびストレージシステム
JP4261532B2 (ja) 論理ディスク管理方法及び仮想化装置
US20180307426A1 (en) Storage apparatus and storage control method
US20180341423A1 (en) Storage control device and information processing system
US20190042134A1 (en) Storage control apparatus and deduplication method
JP2020154587A (ja) 計算機システム及びデータ管理方法
JP6747018B2 (ja) 記憶システム、記憶システム制御装置、記憶システム制御方法及びプログラム
US20130138916A1 (en) Storage apparatus and its control method
US20200285510A1 (en) High precision load distribution among processors
JP2010170295A (ja) 記憶装置、記憶装置のデータ転送方法
US7676644B2 (en) Data processing system, storage apparatus and management console
US20100217932A1 (en) Storage apparatus and storage control apparatus
JP4189342B2 (ja) ストレージ装置、ストレージコントローラ及びライトバックキャッシュ制御方法
JP5729479B2 (ja) 仮想テープ装置及び仮想テープ装置の制御方法
JP2015179425A (ja) ストレージ制御装置,制御プログラム,及び制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190208

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200107

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200309

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200720

R150 Certificate of patent or registration of utility model

Ref document number: 6747018

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150