JP2005275525A - ストレージシステム - Google Patents

ストレージシステム Download PDF

Info

Publication number
JP2005275525A
JP2005275525A JP2004084229A JP2004084229A JP2005275525A JP 2005275525 A JP2005275525 A JP 2005275525A JP 2004084229 A JP2004084229 A JP 2004084229A JP 2004084229 A JP2004084229 A JP 2004084229A JP 2005275525 A JP2005275525 A JP 2005275525A
Authority
JP
Japan
Prior art keywords
storage
control unit
data
amount
cache memory
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.)
Granted
Application number
JP2004084229A
Other languages
English (en)
Other versions
JP4147198B2 (ja
Inventor
Takao Watanabe
恭男 渡辺
Yasutomo Yamamoto
康友 山本
Kazuhisa Fujimoto
和久 藤本
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2004084229A priority Critical patent/JP4147198B2/ja
Priority to US10/845,409 priority patent/US7171522B2/en
Publication of JP2005275525A publication Critical patent/JP2005275525A/ja
Priority to US11/654,050 priority patent/US7464223B2/en
Application granted granted Critical
Publication of JP4147198B2 publication Critical patent/JP4147198B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3471Address tracing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3433Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3485Performance evaluation by tracing or monitoring for I/O devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3414Workload generation, e.g. scripts, playback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/885Monitoring specific for caches

Abstract

【課題】
クラスタ構成ストレージにおいて、あるストレージノードに負荷が集中することを防止し、アクセス性能を向上させる。
【解決手段】
クラスタ構成のストレージシステムにおいて、ホストから入出力要求に従い、読み書きされるデータを格納するキャッシュメモリ、及びキャッシュメモリに格納されるデータを保持するデバイスを有する複数のストレージ制御部と、読み書きされるデータを扱う論理デバイス及びキャッシュメモリを持つ外部ストレージをストレージ制御部に接続する手段と、複数のストレージ制御部のキャッシュメモリの使用状況を監視して把握する手段と、把握手段によって得られるキャッシュメモリの使用状況に関する情報を参照して、キャッシュメモリの使用量を均等化させるように、いずれかの該ストレージ制御部を選択する手段とを有し、選択手段により選択されたストレージ制御部により接続手段を介して外部ストレージの論理デバイスを制御する。
【選択図】 図1

Description

本発明は、ストレージシステムに係り、特にクラスタ構成を有するストレージシステムにおける負荷分散のための制御、及びそのためのキャッシュメモリの制御に関する。
企業のITシステムにおいては大容量かつ高性能なストレージシステムが要求されている。
この要求に応えるために、小容量のストレージを複数台導入することによって、大容量のデータを取り扱うことが実現できる。しかしストレージの台数の増加に伴い、障害・保守などによるストレージの管理コストの増加が問題となる。一方、1台のストレージにより大容量のシステムを提供するという方法もあるが、従来のような、メモリ、制御メモリ、内部転送機構といった計算機資源を共有するような形態のストレージにおいては、コストおよび技術的な要因により、現在求められているような大容量かつ高性能なストレージを実現するのは困難になってきている。
このような問題を解決するために、例えば特許文献1(USP6,256,740明細書)には、ストレージへのクラスタ技術の適用が開示されている。クラスタ技術はこれまで主にサーバなどホストコンピュータの分野で,大量の処理能力を実現する実装技術として用いられてきた。この技術をストレージに適用することで,大規模なストレージを比較的低コストで実装することが可能となる。このようなストレージをクラスタ構成ストレージと呼ぶ。
クラスタ構成ストレージは、比較的小構成の複数のストレージノードを相互結合網で結合し、大容量の単一ストレージを実現する。クラスタ構成ストレージに対する入出力要求は、対象データを保持するストレージノードに振り分けられ、各ストレージノードにおいて処理される。ストレージノードは、通常のストレージと同様に、ホストインターフェース、ディスク装置、制御プロセッサ、メモリ、制御メモリ、ディスクキャッシュなどが搭載され、これらの部位がストレージノード内で内部ネットワークにより結合される。各ストレージノードでは、これらの部位を用いてディスク装置への入出力要求処理を行う。
一般に、大規模なキャッシュメモリや制御メモリを共有メモリ空間として管理しようとすると、大量のアクセスに対応するために広帯域の相互結合網が必要となり、ストレージのコストが高くなるが、ストレージノードは規模が小さいためにキャッシュメモリや制御メモリに対するアクセス負荷が小さく、ストレージのコストを削減することができる。このため、クラスタ構成ストレージは大容量のストレージを低コストで実現することが可能である。
また、特許文献2(特開平10−283272号公報)には、アクセスインターフェースの異なるI/Oサブシステム間において、オープン系のI/Oサブシステムで発生したデータを、そのサブシステムが直接接続されていないメインフレーム系のI/Oサブシステムに転送して、メインフレーム系のI/Oサブシステムの記憶装置内にバックアップする複合計算機システムが開示されている。メインフレーム系のディスク制御装置は自記憶装置のアドレスがオープン系のI/Oサブシステムに割当てられているかを示すテーブルを有し、このテーブルを参照することによりオープン系のI/Oサブシステムに対するアクセスを許容する。
USP6,256,740明細書
特開平10−283272号公報
上記特許文献2には、オープン系のI/Oサブシステムがメインフレーム系I/Oシステムの記憶装置を外部記憶装置として使用するための技術は開示されているが、その記憶装置をクラスタ構成ストレージとして使用するための具体的な開示はない。また、オープン系のI/Oサブシステムとメインフレーム系I/Oシステムを2つのストレージサブシステムと想定した場合、これらサブシステムにおけるアクセス頻度に伴う負荷の偏りを如何に防止するかの示唆もされていない。
ところで、クラスタ構成ストレージに対して外部に位置付けられる外部ストレージを接続し、クラスタ構成ストレージが提供する機能を外部ストレージで使用することが考えられている。外部ストレージの外部デバイスに、ストレージノードの機能を提供するために、いずれかのストレージノードのキャッシュメモリを使用する。そのため、あるストレージノードに、多数の外部デバイスに関する処理が集中する場合や、アクセス頻度の高い外部デバイスの処理を行う場合には、外部デバイスのためにキャッシュメモリが大量に使用され、そのストレージノード内のデバイスに対するアクセス性能が低下するおそれがある。このキャッシュメモリの使用量の不均衡に伴うアクセス性能の低下に対する対策についても、上記特許文献のいずれにも記載されていない。
本発明の目的は、クラスタ構成ストレージにおいて、あるストレージノードに負荷が集中することを防止し、アクセス性能を向上させ得るストレージシステムを提供することにある。
本発明の他の目的は、外部ストレージ接続を行うクラスタ構成ストレージにおいて、各ストレージノードにおけるキャッシュ使用量を均等化させるストレージシステム及びキャシュメモリの制御方法を提供することにある。
本発明は、クラスタ構成のストレージシステムにおいて、ホストから入出力要求に従い、読み書きされるデータを格納するキャッシュメモリ及びキャッシュメモリに格納されるデータを保持するデバイスを有する複数のストレージ制御部と、読み書きされるデータを扱う論理デバイス及びキャッシュメモリを持つ外部ストレージをストレージ制御部に接続する手段と、複数のストレージ制御部のキャッシュメモリの使用状況を監視して把握する手段と、この把握手段によって得られるキャッシュメモリの使用状況に関する情報を参照して、キャッシュメモリの使用量を均等化させるように、いずれかのストレージ制御部を選択する手段と、を有し、選択手段により選択されたストレージ制御部により接続手段を介して外部ストレージの論理デバイスを制御するように構成したものである。
好ましくは、上記把握手段は、複数のストレージ制御部のキャッシュメモリ毎にそのダーティデータ量(第1のダーティデータ量)を取得し、選択手段は、得られたダーティデータ量に従い、ダーティデータ量のより少ない、例えば最も少ないストレージ制御部を選択して、外部ストレージの論理デバイスを制御する。
更に、前記把握手段は、外部ストレージの論理デバイスに格納されるデータであって、いずれかのストレージ制御部が有するキャッシュメモリに格納されているダーティデータの量(第2のダーティデータ量)を把握し、選択手段は、第1のダーティデータ量及び第2のダーティデータ量に従って、外部ストレージの論理デバイスを制御するためのストレージ制御部を選択する。
更に、外部ストレージの論理デバイスに格納されるデータについて、他のストレージへ非同期のリモートコピーを行う手段と、ストレージ制御部のキャッシュメモリに保持されていて、未だ他のストレージへ送信されていないデータ(サイドファイルデータ)の量を把握する手段とを有し、選択手段は、把握手段によって取得されたサイドファイルデータ量を参照して、外部ストレージの論理デバイスを制御するためのストレージ制御部を選択する。
更に、前記把握手段により取得されたキャッシュメモリの使用状況、又はダーティデータ量、若しくはサイドファイルデータ量を管理者へ提示するために管理端末又は管理サーバへ転送する手段を有し、前記選択手段は、管理端末又は管理サーバから指定されたストレージ制御部を選択する。
本発明に係るストレージシステムは、また、クラスタ構成のストレージシステムにおいて、ホストから入出力要求に従い、読み書きされるデータを一時的に格納するキャッシュメモリ、及びキャッシュメモリに格納されるデータを保持するデバイスを有する複数のストレージノードと、ホストから入出力要求に従い、読み書きされるデータを格納するキャッシュメモリ及びデバイスを有する外部ストレージと該ストレージノードと接続するインターフェースと、複数のストレージノードのキャッシュメモリの使用状況を監視して把握する手段と、把握手段によって得られるキャッシュメモリの使用状況に関する情報を参照して、キャッシュメモリの使用量を均等化させるように、あるストレージノードを選択する手段とを有し、選択手段により選択されたストレージノードによりインターフェースを介して外部ストレージのデバイスを制御するように構成される。
好ましくは、上記把握手段は、キャッシュメモリ毎のダーティデータ量(第1のダーティデータ量)を取得し、選択手段は、得られた該ダーティデータ量に従い、ダーティデータ量のより少ないストレージノードを選択して、外部ストレージを制御する。
更に、上記複数のストレージノードを含む第2のストレージから第3のストレージに対して非同期のリモートコピーを行う手段と、ストレージノードのキャッシュメモリに保持されていて、未だ該第3のストレージへ送信されていないデータ(サイドファイルデータ)の量を把握する手段とを有し、選択手段は、把握手段によって取得されたサイドファイルデータ量を参照して、ストレージノードを選択する。
また、上記把握手段により取得されたキャッシュメモリの使用状況、又はダーティデータ量、若しくはサイドファイルデータ量を管理者へ提示するために管理端末又は管理サーバへ転送する手段を有し、選択手段は、管理端末又は管理サーバから指定されたストレージノードを選択する。
本発明は、また、クラスタ構成のストレージシステムにおいてホストからの入出力要求を処理する方法として把握される。すなわち、本発明は、データを格納するデバイス及びデバイスに格納されるデータを一時的に格納するキャッシュメモリとを有する複数のストレージ部分でホストから入出力要求を処理するステップと、データを格納するデバイス及びキャッシュメモリを有する外部ストレージのデバイスを、あるストレージ部分によって制御するステップと、複数のストレージ部分におけるキャッシュメモリの使用状況を把握するステップと、得られたキャッシュメモリの使用状況に関する情報を参照して、キャッシュメモリの使用量を均等化させるように、あるストレージ部分を選択するステップと、選択されたストレージ部分を用いて外部ストレージに対するホストからの入出力要求を処理するステップと、を有する入出力処理方法である。
好ましい一例では、クラスタ構成ストレージにおいて、ストレージノードを、上位ホストインターフェースを制御するプロトコル変換部と、ディスク装置およびディスクキャッシュを制御するストレージ制御部に分割し、複数のプロトコル変換部と複数のストレージ制御部を相互結合機構で各部位が他の全ての部位と交信可能なように接続する。プロトコル変換部には、ホストインターフェースとそれを制御する制御プロセッサを搭載し、ホストインターフェースを介して受信した入出力要求を対象デバイス(ディスク装置)が属するストレージ制御部へ振り分ける処理を行う。ストレージ制御部には、ディスク装置とディスクキャッシュと制御プロセッサとメモリ、さらにデバイスへの入出力要求処理に必要な制御情報を格納する制御メモリを搭載し、プロトコル変換部より送信され、内部結合機構を介して転送された入出力要求を受信し、対象デバイスへの入出力処理を実行する。また、ストレージ制御部の制御プロセッサでは、データ複製やデータ再配置などのデータ連携機能を実現する各種処理を実行する。ストレージが提供する論理デバイス(以下、上位論理デバイス)と各ストレージ制御部が提供する論理デバイス(以下、下位論理デバイス)の対応は、同じく内部結合機構に接続された構成管理部で管理する。構成管理部では、こうしたデバイス管理に加えて、プロトコル変換部やストレージ制御部などの障害管理も行う。内部結合機構はプロトコル変換部、ストレージ制御部、構成管理部を接続するストレージ内部のネットワークで、各デバイスのアクセスデータや、各部位間の制御情報のやりとりに用いられる。
この例では、キャッシュメモリおよび制御メモリが各ストレージ制御部内の制御プロセッサ間でだけ共有されるため、メモリ帯域やメモリと制御プロセッサ間を接続するバックプレーン帯域を抑制し、製造コストを削減することができる。また、内部結合機構により、任意のプロトコル変換部が有する任意のホストインターフェースから、任意のストレージ制御部内の任意の論理デバイスへアクセスできる。
上記のようなクラスタ構成ストレージで、外部ストレージ接続を行う場合、外部ストレージをホストインターフェースに接続し、外部ストレージ内デバイス(外部デバイス)と下位論理デバイスの対応を構成管理部で管理する。また、ストレージ制御部でも下位論理デバイスと物理デバイスの対応と共に外部デバイスとの対応を管理できる情報を追加する。
外部ストレージである第一のストレージを上記のようなクラスタ構成を採る第二のストレージに接続し、外部デバイスを第二のストレージデバイスとして統合する場合、外部デバイスを特定のストレージ制御部の下位論理デバイスと対応づけてから下位論理デバイスを上位論理デバイスへ対応づける。これを、外部デバイスのストレージ制御部への割り当てと呼ぶ。そして、ホストからの上位論理デバイスに対する入出力要求を、ホストインターフェースを介して受信したプロトコル変換部で、上位論理デバイスが対応する下位論理デバイスが属するストレージ制御部へ入出力要求を転送する。
上記のような構成のクラスタ構成ストレージにおいて外部ストレージ接続を行う場合、プロトコル変換部に接続された外部ストレージは、任意のストレージ制御部と交信可能である。従って、外部デバイスに関する処理は任意のストレージ制御部により行うことが可能である。この際、クラスタ構成ストレージのシステム全体としての性能を向上させるためには、複数のストレージ制御部の中から、外部デバイスを割り当てるストレージ制御部を適切に選択する。この選択基準としてストレージ制御部におけるキャッシュ使用量を用い、複数のストレージ制御部のうち最もキャッシュ使用量の少ないものを選択する。
また、ストレージ制御部のキャッシュ使用状況は時間と共に変化するため、複数ストレージ制御部間にキャッシュ使用量の偏りが発生するが、複数ストレージ制御部間の、時間経過に対応したキャッシュ使用量の均等化を行うために、外部デバイスを割り当てるストレージ制御部を動的に変更する。
本発明によれば、クラスタ構成ストレージを構成する複数のストレージノードを有するストレージシステムにおいて、あるストレージノードに負荷が集中することを防止でき、アクセス性能を向上できる。また、各ストレージノードにおけるキャッシュ使用量を均等化させることができ、ストレージノードの負荷を分散させることができる。
以下、本発明の複数の実施形態について説明される。最初に各実施形態の概要と参照される図面との関係について述べておく。
第1の実施形態は、図1〜図16を参照し、第1のストレージである外部ストレージ内のデバイスを、第2のストレージであるクラスタ構成ストレージの論理デバイスとして定義する際に、ダーティ属性を持つキャッシュ量に基づき、外部デバイスの割り当て対象とするストレージ制御部を選択し、割り当てる場合の例である。
第2の実施形態は、図17〜図19を参照し、当該外部デバイスへの入出力処理を受け付けながら、外部デバイスの割り当て対象ストレージ制御部を変更する場合の例である。
第3の実施形態は、図20〜図23を参照し、第1のストレージである外部ストレージ内のデバイスに対して後述する非同期リモートコピー機能を適用することを前提とし、外部デバイスをクラスタ構成ストレージである第2のストレージの論理デバイスとして定義する際に、サイドファイル属性を持つキャッシュ量に基づき、割り当て対象とするストレージ制御部を選択し、割り当てる場合の例である。
第4の実施形態は、図24を参照し、第1のストレージである外部ストレージ内のデバイスに対して後述する非同期リモートコピー機能を適用することを前提とし、外部デバイスへのホスト入出力処理を受け付けながら、外部デバイスの割り当て対象ストレージ制御部を変更する場合の例である。
第5の実施形態は、図25を参照し、ストレージノード自体を選択或いは切り替える例である。第1乃至第4の実施形態においては、ストレージノードをプロトコル変換部とストレージ制御部に分割し、ストレージ制御部を選択或いは切り替えるシステムであるのに対し、第5の実施形態ではプロトコル変換部とストレージ制御部の分割を行わないシステムを前提とし、負荷の分散を考慮してストレージノードそのものを選択又は切り替える。
第1の実施形態:
まず図1から図16を参照して,第1の実施形態について説明する。
図1は、第1の実施形態における計算機システムのハードウェア構成を示す図である。
計算機システムは、1台以上のホストコンピュータ(単にホストという)100と、管理サーバ110と、ファイバチャネルスイッチ120と、ストレージ130と、1台以上の外部ストレージ180a、180b(180と総称する)と、管理端末190を含んで構成される。
ホスト100、ストレージ130は、それぞれポート107、ポート141によりファイバチャネルスイッチ120のポート121に接続して、SAN(Storage Area Network)を構成する。さらに、外部ストレージ180aと180bは各々ポート181によりストレージ130に接続し、ストレージ130によりストレージ130のデバイスとしてホスト100へ提供される。また、ホスト100やスイッチ120など全機器がIPネットワーク175を介して管理サーバ110に接続され、管理サーバ110で動作するSAN管理ソフトウェア(図示せず)によって統合管理される。なお、本実施形態では、ストレージ130は、管理端末190を介して管理サーバ110に接続する形態をとるものとする。
ホスト100は、CPU101やメモリ102などを有する計算機であり、ディスク装置や光磁気ディスク装置などの記憶装置103に格納されたオペレーティングシステムやアプリケーションプログラムなどのソフトウェアをメモリ102に読み上げ、CPU101がメモリ102からそれらのプログラムを読み出して実行することで、所定の機能を達成する。キーボードやマウスなどの入力装置104やディスプレイ105を具備し、ホスト管理者などからの操作を受け付け、指示された情報を表示することが可能である。
管理サーバ110も、記憶装置103に格納されたSAN管理ソフトウェアなどをメモリ112に読み上げ、CPU111がそれを読んで実行することで、計算機システム全体の運用・保守管理といった、所定の機能を達成する。また、インターフェース116からIPネットワーク175を介して、計算機システム内の各機器から構成情報、リソース利用率、性能監視情報などを収集し、それらの情報をストレージ管理者にディスプレイ115で提示し、入力装置114から受信した運用・保守指示を各機器に送信する。同処理は、図示しないSAN管理ソフトウェアにより行われる。
ファイバチャネルスイッチ120は、複数のポート121を有する。各ポート121には、ホスト100のポート107、および、ストレージ130のポート141のいずれかが接続される。ファイバチャネルスイッチ120は、インターフェース123を有しており、IPネットワーク175にも接続されている。ファイバチャネルスイッチ120は1台以上のホスト100がストレージ130を自由にアクセスできるようにするために使用される。この構成では、物理的には全てのホスト100がファイバチャネルスイッチ120に接続されたストレージ130にアクセスすることが可能である。また、ファイバチャネルスイッチ120はゾーニングと呼ばれる特定ポートから特定ポートへの通信を制限する機能を有し、例えば、特定ストレージ130の特定ポート141へのアクセスを特定ホスト100に制限する場合などに用いられる。接続元ポートと接続先ポートの組み合わせを制御する方法については、ファイバチャネルスイッチ120のポート121に割り当てられたポートIDを用いる方法、各ホスト100のポート107やストレージ130のポート141が保持するWWN(World Wide Name)を用いる方法などがある。
ストレージ130は、複数のプロトコル変換部140と複数のストレージ制御部150と構成管理部160を、相互結合網170で接続して構成される。
プロトコル変換部140は、複数のポート141と1つ以上の制御プロセッサ142とメモリ144を搭載し、ポート141から受信した入出力要求についてアクセス対象デバイスを特定し、転送制御部144より相互結合網170を介して適当なストレージ制御部150へ入出力要求やデータを転送する処理を行う。その際、制御プロセッサ142は入出力要求に含まれるポートIDおよびLUN(Logical Unit Number)からストレージ130がホスト100へ提供する上位論理デバイス番号を算出し、さらに上位論理デバイスが対応するストレージ制御部150と下位論理デバイス番号を算出して、対象となるストレージ制御部150へ入出力要求を転送する。また、プロトコル変換部140は、外部ストレージ180など別のストレージを接続し、ストレージ制御部150からの入出力要求を外部ストレージ180へ送信し、外部ストレージ180へのリード/ライトを行うことができる。なお、本実施形態では、ポート141としては、SCSI(Small Compuer System Interface)を上位プロトコルとしたファイバチャネルインターフェースを想定しているが、SCSIを上位プロトコルとしたIPネットワークインターフェースなど、他のストレージ接続用ネットワークインターフェースであっても構わない。
ストレージ制御部150a〜150c(150と総称する)は、1台以上のディスク装置157と、1つ以上の制御プロセッサ152とこれに対応するメモリ153、ディスクキャッシュ154、制御メモリ155、および転送制御部151を有する。制御プロセッサ152は、相互結合網170を介して転送制御部151により受信した当該ディスク装置157への入出力要求を処理する。制御プロセッサ152は、特に、ストレージ130がホスト100に対してディスク装置157単体ではなく、ディスクアレイのように複数のディスク装置157を1つ又は複数の論理デバイスに見せかけている場合には、その処理や管理などを行う。ディスクキャッシュ154は、ホスト100からのアクセス処理速度を高めるため、頻繁に読み出されるデータを格納したり、あるいはホスト100からのライトデータを一時的に格納したりする。制御メモリ155は、ディスク装置157や複数のディスク装置157を組み合わせて構成される物理デバイスや同ストレージ130に接続した外部ストレージ180のデバイス(以下、外部デバイス)の管理や、外部/物理デバイスと下位論理デバイスの対応関係の管理を行うための情報を格納する。
なお、制御メモリ155に格納した制御情報の消失は、ディスク装置157に格納したデータへのアクセスが不可になる事態を引き起こすため、制御メモリはバッテリバックアップなどによる不揮発化や媒体障害への耐性向上のため二重化などの高可用化を行うことが望ましい。同様にディスクキャッシュ154を用いたライトアフタを行う場合、ディスクキャッシュ154に保持したディスク装置157未反映のデータ消失を避けるため、ディスクキャッシュ154も記録媒体の二重化や不揮発化により可用性を向上させることが望ましい。また、本実施形態におけるストレージ130は、複数のディスク装置157をまとめて1つまたは複数の物理デバイスを定義し、1つの物理デバイスに1つの下位/上位論理デバイスを割り当て、ホスト100に提供する。もちろん、個々のディスク装置157を1つの物理デバイスおよび1つの上位/下位論理デバイスとしてホスト100に見せるようにしてもよい。
構成管理部160は、制御プロセッサ162、メモリ163、制御メモリ164、記憶装置165、転送制御部161、インターフェース166を有する。固定ディスク装置などの記憶装置165に格納した制御プログラムをメモリ163に読み上げ、これを制御プロセッサ162で実行することでストレージ130の構成管理という所定の動作を実現する。インターフェース166で接続した管理端末190からストレージ管理者への構成情報提示、管理者からの保守・運用指示の受領を行い、受領した指示に従い、ストレージ130の構成変更などを行う。ストレージ130の構成情報は制御メモリ164に保持する。制御メモリ164上の構成情報はプロトコル変換部140の制御プロセッサ142やストレージ制御部150の制御プロセッサ152から参照・更新することで、各部位間での構成情報の共有を実現する。なお、構成管理部160が障害などにより動作不可に陥った場合、ストレージ130全体がアクセス不可に陥るため、構成管理部160内の各部位の二重化もしくは、構成管理部160自体の二重化が望ましい。
相互結合網170は、例えばクロスバスイッチであり、プロトコル変換部140、ストレージ制御部150、構成管理部160を接続し、各部位間のデータおよび制御情報、構成情報のやりとりを実現する。この相互結合網170により、構成管理部160が全部位の構成管理と構成情報を配布したり、プロトコル変換部140の任意のポート141からストレージ制御部150の任意の下位論理デバイスへアクセスすることが可能となる。なお、可用性向上の観点から相互結合網も多重化されていることが望ましい。
管理端末190は、例えばPC(パーソナルコンピュータ)であり、ストレージ管理プログラムを動作させる機能と、ストレージ管理者による入出力操作のための機能を有し、構成情報参照、構成変更指示、特定機能の動作指示など、ストレージ130の保守運用に関するストレージ管理者又は管理サーバ110からのインターフェースとなる。このために、プログラムやデータを格納する記憶装置194、記憶装置194から読み込まれたプログラムや種々のデータを格納するメモリ193、プログラムを実行するCPU192、及び入出力機能として入力装置195、ディスプレイ196を有する。
なお、変形例では、この管理端末190を省略して、ストレージ130を直接管理サーバ110へ接続し、管理サーバ110で動作する管理ソフトウェアで管理してもよい。
外部ストレージ180は、ストレージ130と同様に、ポート181から受信したディスク装置186への入出力要求を処理する機能を有する。即ち、内部インターフェースにポート185を介して接続された大容量のディスク186、ディスクキャッシュ184、メモリ183、および制御プロセッサ182を有する。
なおこの例では、外部ストレージ180をストレージ130より小規模構成としているが、ストレージ130と同じ構成、規模のストレージであってもかまわない。
次に、ストレージ130のソフトウェア構成について説明する。
図2は、ストレージ130および管理端末190の制御メモリやメモリに格納する制御情報とストレージ制御処理プログラムを示したソフトウェアの構成図である。
なお、以降の説明では,簡略化のため、プロトコル変換部140をPA(Protocol Adaptor)、ストレージ制御部150をSA(Storage Adaptor)、構成管理部160をMA(Management Adaptor)、管理端末190をST(Service Terminal)と表記する。
この例において、ストレージ130内のデバイス階層は次の通りである。SA150内では複数のディスク装置157によりディスクアレイが構成されて物理デバイスが形成される。また、PA140に接続した外部ストレージ180の外部デバイスは、PA140で認識された後、MA160で管理される。SA150では物理デバイスおよび外部デバイスに対して下位論理デバイスが割り当てられる。下位論理デバイスは各SA150内における論理デバイスであり、その番号は各SA150で独立的に管理される。下位論理デバイスは、MA160で管理する上位論理デバイスに対応付き、ストレージ130のデバイスとしてホスト100に提供される。ストレージ130のキャッシュ使用量情報としては、ST190のメモリ193にCAキャッシュ使用量情報222および外部デバイスキャッシュ使用量情報224を格納する。
これら種々の管理情報および各種の処理については、図3〜図16を参照して後述される。
図3及び図4はストレージ130内のキャッシュ使用量を管理するためのテーブルの構成を示す図である。
これらテーブルの説明の前に、まずディスクキャッシュ154の制御方法について説明する。
ホスト100から受信した書き込みデータはディスクキャッシュ154に格納された時点で、ストレージ制御部150はホスト100に対して書き込み完了報告を返し、この書き込み完了の報告後に適当なタイミングで物理/外部デバイスに書き込みデータを反映する処理を行う。この処理をライトアフタ処理と呼ぶ。ディスクキャッシュ154に格納されたデータであって物理/外部デバイスに未反映のデータをダーティデータという。ダーティデータは、物理/外部デバイスに反映されるまでの間、ディスクキャッシュ154上に保持し続ける必要がある。
しかし、ダーティデータの物理/外部デバイスへの書き込み処理速度とホスト100からの書き込み要求の頻度によっては、ダーティデータがディスクキャッシュ154上に大量に滞留し、新たな入出力処理要求に対してディスクキャッシュ154を割り当てることができなくなる可能性がある。このような状態をなるべく回避し、ストレージ130全体としてのアクセス性能を向上させるためには、各SA150内デバイスへの書き込み要求頻度を均等化することが有効である。SA150内のデバイスに対する書き込み要求頻度はデバイスに対応するダーティ量の時間平均と相関があるので、各SA150内デバイスへの書き込み要求頻度の均等化のためにダーティ量の時間平均を指標として用いる。
ディスクキャッシュ154は、セグメントと呼ばれる、ディスクキャッシュ154を一定量に分割した単位により管理される。ダーティデータ量はダーティ属性を持つセグメントの個数により算出される。図示しないが、SA150は、制御メモリ155上にダーティ属性をもつセグメントの数を保持するダーティセグメントカウンタ、およびストレージ制御部150内で管理されている外部デバイスに対応する、ダーティ属性をもつセグメントの数を保持するダーティセグメントカウンタを持つ。
外部ストレージ接続においては、ストレージ130に接続されたホスト100が外部デバイスにアクセスする際、ストレージ130のSA150上のディスクキャッシュ154を外部デバイスに対して使用させることにより、外部デバイスに対するアクセス性能を向上させることが可能である。
図3は、SAキャッシュ使用量情報222の構成を示す。
SAキャッシュ使用量情報222は、ストレージ130内のSA150の特定時間帯におけるダーティ量を管理するために、SA番号301および対応するダーティ量情報302を保持する。ダーティ量情報302は、SA150において、後述する集計時間情報501に含まれる時間帯に、一定の時間間隔で各SA150に対応するダーティセグメントカウンタを参照し、それらの平均値を求めることにより算出される。このようにして得られたダーティ量情報302はSA番号301と共にST190に送信され、ST190内のCAキャッシュ使用量情報222に格納される。
図4は、外部デバイスキャッシュ使用量情報224の構成を示す。
外部デバイスキャッシュ使用量情報224は、ストレージ130で管理されている外部デバイスのダーティ量に関する情報であり、外部デバイス番号401および対応するダーティ量情報402を保持する。即ち、外部デバイスキャッシュ使用量情報224は、外部デバイス番号401で示される外部デバイスを管理しているストレージ130内のSA150において、外部デバイスに格納されるデータとしてSA150内のキャッシュに格納しているダーティデータの量を保持するものである。ダーティ量情報402の値は、SA150において、後述する集計時間情報501に含まれる時間帯に、一定の時間間隔で外部デバイスに対応するダーティセグメントカウンタを参照し、それらの平均値を求めることにより算出される。このようにして得られたダーティ量情報402は外部デバイス番号401と共にST190に送信され、ST190内の外部デバイスキャッシュ使用量情報224に格納される。
図5は、管理端末制御情報270の構成を示す。
管理端末制御情報270は、ストレージ管理者により入力装置195から入力され、ST190のメモリ193上に保持される。またSA150のメモリ153上には、管理端末制御情報の複製271が保持される。集計時間情報501は前述のSAキャッシュ使用量情報222および外部デバイスキャッシュ使用量情報224に格納するキャッシュ使用量情報を算出する際に、どの時間帯の時間平均を算出するかを指定するものである。割当変更時間情報502は、ST190が構成管理部160に対して外部デバイスの割り当て変更の指示をいつ行うかを指定する情報である。
ストレージ130の構成管理情報としては、SA150の制御メモリ155に下位論理デバイス管理情報201と物理デバイス管理情報202とキャッシュ管理情報203を、MA160の制御メモリ164に上位論理デバイス管理情報204と外部デバイス管理情報205とLUパス管理情報206を格納する。
図6は、上位論理デバイス管理情報204の構成を示す。
各上位論理デバイスにつき、上位論理デバイス番号601から接続ホスト名606までの情報組を保持する。
サイズ602には、上位論理デバイス番号601により特定される上位論理デバイスの容量が格納される。対応のSA番号、下位論理デバイス番号603には、上位論理デバイスが対応する下位論理デバイスの番号と下位論理デバイスが属するSA番号が格納される。上位論理デバイスが未定義の場合、このエントリには無効値が設定される。この下位論理デバイス番号が特定SA150の下位論理デバイス管理情報201のエントリ番号となる。
デバイス状態604には、上位論理デバイスの状態を示す情報が設定される。状態としては、「オンライン」、「オフライン」、「未実装」、「障害オフライン」が存在する。「オンライン」は、上位論理デバイスが正常に稼動し、ホスト100からのアクセスが可能な状態であることを示す。「オフライン」は、上位論理デバイスは定義され、正常に稼動しているが、LUパス未定義などでホスト100からのアクセスはできない状態にあることを示す。「未実装」は、上位論理デバイスが定義されておらずホスト100からのアクセスはできない状態にあることを示す。「障害オフライン」は、上位論理デバイスに障害が発生してホスト100からのアクセスができないことを示す。
なお、本実施形態では、簡単のため、上位論理デバイスは、製品の出荷時にあらかじめディスク装置157上に作成された物理デバイスへ割り当てられた、下位論理デバイスへ割り当てられているものとする。このため、利用可能な上位論理デバイスについてはデバイス状態604の初期値は「オフライン」状態、その他は「未実装」状態となる。
エントリ605のポート番号には、上位論理デバイスが複数のポート141のどのポートに接続されているかを表す情報が設定される。各ポート141には、ストレージ130内で一意な番号が割り振られており、上位論理デバイスがLUN定義されているポート141の番号が記録される。また、同エントリのターゲットIDとLUNは、上位論理デバイスを識別するための識別子である。ここでは、これらの識別子として、SCSI上でホスト100からデバイスをアクセスする場合に用いられるSCSI−ID、LUNが用いられる。
接続ホスト名606は、このデバイスにアクセスが許可されているホスト100を識別するホスト名である。ホスト名としては、ホスト100のポート107に付与されたWWN(World Wide Name)など、ホスト100もしくはポート107を一意に識別可能な値であればよい。同じストレージ130には、このほかに、各ポート141のWWNなどの属性に関する管理情報を保持する。
図7は、LUパス管理情報206の構成を示す。
ストレージ130内の各ポート141につき、有効なLUN分の情報を保持する。ターゲットID/LUN702は、ポート番号701に対応するLUNのアドレスを格納する。対応上位論理デバイス番号703には、LUNを割り当てた上位論理デバイスの番号を格納する。接続ホスト名704は、ポート141のLUNに対してアクセスを許可されているホスト100を示す情報である。一つの上位論理デバイスに対して複数ポート141のLUNが定義されている場合、それら全LUNの接続ホスト名704の和集合が上位論理デバイス管理情報203の接続ホスト名606に保持される。
図8は、下位論理デバイス管理情報201の構成を示す。
各SA150毎に下位論理デバイスにつき、下位論理デバイス番号801から対応上位論理デバイス番号805までの情報組を保持する。
サイズ802には、下位論理デバイス番号801により特定される下位論理デバイスの容量が格納されている。対応物理/外部デバイス番号803には、下位論理デバイスが対応するSA150内の物理デバイス番号、もしくは外部デバイス番号が格納される。物理/外部デバイスへ未割り当ての場合、このエントリには無効値が設定される。このデバイス番号は、物理デバイス管理情報202、もしくは外部デバイス管理情報205のエントリ番号となる。
デバイス状態804には、下位論理デバイスの状態を示す情報が設定される。下位論理デバイスの状態を示す値は上位論理デバイス管理情報203のデバイス状態604と同様であるため、説明を省略する。対応上位論理デバイス番号805には、下位論理デバイスが対応する上位論理デバイス番号が設定される。
図9は、SA150内のディスク装置157から構成される物理デバイスを管理する物理デバイス管理情報202の構成を示す。
各SA150毎に物理デバイスにつき、物理デバイス番号901からディスク内サイズ909の情報組を保持する。サイズ902には、物理デバイス番号901により特定される物理デバイスの容量が格納されている。対応下位論理デバイス番号903には、物理デバイスが対応するSA150内の下位論理デバイス番号が格納される。下位論理デバイスへ未割り当ての場合、当該エントリには無効値が設定される。
デバイス状態904には、物理デバイスの状態を示す情報が設定される。状態としては、「オンライン」、「オフライン」、「未実装」、「障害オフライン」が存在する。「オンライン」は、物理デバイスが正常に稼動し、下位論理デバイスに割り当てられている状態であることを示す。「オフライン」は、物理デバイスは定義され、正常に稼動しているが、下位論理デバイスに未割り当てであることを示す。「未実装」は、物理デバイスがディスク装置157上に定義されていない状態にあることを示す。「障害オフライン」は、物理デバイスに障害が発生して下位論理デバイスに割り当てられないことを示す。なお、本実施形態では、簡単のため、物理デバイスは製品の工場出荷時にあらかじめディスク装置157上に作成されているものとする。このため、利用可能な物理デバイスについてはデバイス状態64の初期値は「オフライン」状態、その他は「未実装」状態となる。
RAID構成905には、物理デバイスが割り当てられたディスク装置157のRAIDレベル、データディスクとパリティディスク数などRAID構成に関連する情報が保持される。同じように、ストライプサイズ906には、RAIDにおけるデータ分割単位(ストライプ)長が保持される。ディスク番号リスト907には、物理デバイスが割り当てられたRAIDを構成する複数のディスク装置157の番号が保持される。この番号はSA150内でディスク装置157を識別するために付与した一意な値である。ディスク内開始オフセット908とディスク内サイズ909には、物理デバイスデータが各ディスク装置157内のどの領域に割り当てられているかを示す情報である。本実施形態では簡単のため、全物理デバイスについてRAIDを構成する各ディスク装置157内のオフセットとサイズを統一している。
図10は、外部デバイス管理情報205の構成を示す。
この管理情報205は、ストレージ130に接続し、ストレージ130の下位論理デバイスと対応づける、外部ストレージ180内のデバイスを管理するために、ストレージ130全体で各外部デバイス毎に、外部デバイス番号1001乃至ターゲットポートID/ターゲットID/LUNリスト1008の組を保持する。
外部デバイス番号1001にはストレージ130で割り当てた、ストレージ130内で一意な値を保持する。サイズ1002には、外部デバイス番号1001により特定される外部デバイスの容量が格納される。対応SA番号、下位論理デバイス番号1003には、外部デバイスが対応するストレージ130内のSA番号と下位論理デバイス番号が格納される。下位論理デバイスへ未割り当ての場合、このエントリには無効値が設定される。
デバイス状態1004には、当該外部デバイスの状態を示す情報が設定されるが、各状態の意味は物理デバイス管理情報202内デバイス状態904と同じである。ストレージ130の初期状態は外部ストレージを接続していないため、デバイス状態1004の初期値は「未実装」となる。
ストレージ識別情報1005には、外部デバイスを搭載する外部ストレージ180の識別情報を保持する。ストレージ識別情報としては、同ストレージのベンダ識別情報と各ベンダが一意に割り振る製造シリアル番号の組み合わせ、などが考えられる。外部ストレージ内デバイス番号1006には、外部デバイスが対応する外部ストレージ180内のデバイス番号を保持する。外部デバイスは外部ストレージ180の論理デバイスであるから、本エントリには外部ストレージ180の論理デバイス番号を保持する。
PA番号/イニシエータポート番号リスト1007には、外部デバイスへアクセス可能なストレージ130のポート141とそれが属するPA140の番号のリストが保持される。ターゲットポートID/ターゲットID/LUNリスト1008には、外部デバイスが外部ストレージ180の1つ以上のポート181にLUN定義されている場合、それらのポート181のポートIDおよび外部デバイスが割り当てられたターゲットID/LUNが1つ又は複数個保持される。
次に、再び図2に戻り、各部位のメモリ内に格納される情報およびプログラムについて説明する。
制御メモリ155,164に格納した各制御情報は各部位の制御プロセッサから参照・更新可能であるが、その際に相互結合網170などを介したアクセスが必要となる。よって、処理性能向上のため、各制御プロセッサで動作する処理に必要な制御情報の複製を各部位のメモリに保持する。構成変更により制御情報が更新された場合は、相互結合網170を介してその旨を他部位に通知し、最新情報を制御メモリから各部位メモリへ取り込ませる。
別の方法としては、例えば、制御メモリに保持した構成情報毎に制御メモリ上に更新有無を示すフラグを設け、各部位の制御プロセッサは処理開始時もしくは各構成情報を参照する毎に同フラグを参照して更新有無をチェックする方法などが考えられる。また、各部位のメモリにはこうした制御情報の複製に加えて、各制御プロセッサで動作する制御プログラムが格納される。
この実施例では、外部デバイスを含むデバイスを特定サーバへ割り当ててストレージ130において使用可能とする処理、外部デバイスを含むストレージ130のデバイスへの入出力要求処理と、割り当てられた外部デバイスの割当を変更する処理を例にしてその制御方法を説明する。
外部デバイスを含むデバイスを特定サーバへ割り当てて使用可能とする処理については、外部デバイス定義、論理デバイス定義、LUパス定義の大きく3つの処理に分けることができる。
図11は、外部デバイス定義処理253の処理フローを示す。
外部デバイス定義処理253は、ストレージ130管理下に外部ストレージ180のデバイスを外部デバイスとして導入する場合の処理である。
まず、管理端末190又は管理サーバ110からの外部ストレージ180接続指示を受け付けたST190がMA160に接続指示を送信する(1101)。接続指示には、対象となる外部ストレージ180を特定する情報、例えば、外部ストレージ180のポート181のWWNや外部ストレージデバイスへのInquiryコマンド送信などにより得られる装置識別情報もしくはその両方の情報と外部ストレージ180へ接続するポート141番号が付加される。MA160では外部ストレージ180の接続指示を受信し、指示された全ポート141番号に対応する全PA140へ外部ストレージ接続指示を送信する(1102)。
PA140では接続指示に付加された外部ストレージ180識別情報を用いて接続対象となる外部デバイスを探索する(1103)。具体的には、外部ストレージ識別情報としてポート181のWWNをもらう場合は、指定されたポート141から外部ストレージ180のポート181の全LUNに対してInquiryコマンドを送信して、正常な応答のあったLUNを外部デバイス登録候補とする。識別情報として装置識別情報しかもらわない場合には、PA140の全ポート141から検出した全ノードポートのそれぞれに対して(ノードポートログイン時に検出済み)、全LUNについてInquiryコマンドを送信し、正常に応答のあったデバイスについて、返却情報内の装置識別情報を接続指示に付加された値と比較する。そして、検出した外部デバイス登録候補についての情報リストをPA140はMA160へ返却する(1104)。このときの情報には外部デバイスについて外部デバイス管理情報205を設定するのに必要な情報を含んでいる。
MA160では、受け取った外部デバイスリストにある外部デバイスに採番し、外部デバイス管理情報205へデバイス情報を登録し、同情報に更新のあった旨を各部へ通知する(1105)。外部デバイス管理情報205への情報登録について、具体的には、割り当てた外部デバイス番号のエントリにおいて、Inquiry情報によりサイズ1002、ストレージ識別情報1005、外部ストレージ内デバイス番号1006を、PA140からの情報によりエントリ1007、1008をそれぞれ設定する。エントリ1003のデバイス番号は未割当のため初期値である無効値を設定する。デバイス状態1004には「オフライン」状態が設定される。
更新通知を受けた各SA150,PA140では、MA160の制御メモリ164の外部デバイス管理情報205を各々のメモリに取り込む。ST190では同情報のメモリ取込みに加えて、外部デバイス定義処理の完了を要求元である管理端末190又は管理サーバ110に報告する(1106)。
なお、本実施例では、ストレージ130に対して管理端末190又は管理サーバ110が接続指示と共に、導入対象となる外部ストレージ180を指示する形態をとる。しかし、外部ストレージ180の接続指示のみをストレージ130に指示し、ストレージ130で全ポート141から検出した全ストレージの全デバイスを外部デバイスとして登録しても構わない。また、特に明示的な接続指示を与えず、ストレージ130に外部ストレージ180が接続された契機にストレージ130が検出可能な全デバイスを外部デバイスとして登録してもよい。
図12は、論理デバイス定義処理255の処理フロー図である。
論理デバイス定義処理255は、管理端末190又は管理サーバ110からの指示を受けて、ストレージ130が搭載する物理デバイスもしくは外部デバイス定義処理253で定義された外部デバイスに対して下位論理デバイスを定義する処理である。
まず、ST190は論理デバイス定義指示を受け付ける(1201)。この指示には、論理デバイス定義対象となる物理/外部デバイス番号と定義する上位論理デバイス番号が付加される。論理デバイス定義対象となるデバイスが外部デバイスでない場合は、さらに、SA番号と下位論理デバイス番号が付加される。
なお、本実施形態では、説明の簡略化のため1つの物理/外部デバイスに対して1つの論理デバイスを割り当てるものとするが、2つ以上の物理/外部デバイスからなるデバイスグループに対して1つの論理デバイスを、1つの物理/外部デバイスに対して2つ以上の論理デバイスを、2つ以上の物理/外部デバイスからなるデバイスグループに対して2つ以上の論理デバイスを定義しても構わない。ただし、それぞれの場合、下位論理デバイス管理情報201に、物理/外部デバイス内での当該論理デバイスの開始位置およびサイズなどの付加情報が必要となる。論理デバイス定義対象となるデバイスが物理デバイスの場合は、ST190はMA160に対して論理デバイス定義指示を送信する(1207)。
論理デバイス定義対象となるデバイスが外部デバイスの場合は(1202)、ST190はストレージ管理者にSAキャッシュ使用量情報222を提示し、必要に応じて、外部デバイスを割り当てるSA番号および下位論理デバイス番号を受け付ける(1203)。ステップ1203において外部デバイスの割当対象SA番号および下位論理デバイス番号が指定されていた場合には(1204)、ST190はMA160に対して論理デバイス定義指示を送信する(1207)。
ステップ1204において、外部デバイスの割当対象SA番号および下位論理デバイス番号が指定されていない場合には、ST190は外部デバイスの割当対象SA150を選択するために、SAキャッシュ使用量情報222を参照する(1205)。ST190はSAキャッシュ使用量情報222の中から最もダーティ量の少ないSA150を割り当て対象として選択する(1206)。また、SA150における未使用下位論理デバイス番号を選択する。その後、MA160に対して論理デバイス定義指示を送信する(1207)。
論理デバイス定義指示を受信したMA160は、定義指示情報より対象SA150を特定し、SA150に定義指示を送信する(1208)。対象SA150では、指示された物理/外部デバイスに対して下位論理デバイスを登録する(1209)。具体的には、下位論理デバイス管理情報201の対象デバイスエントリについて、物理/外部デバイスのサイズとデバイス番号をエントリ802、803に、対応上位論理デバイス番号805に上位論理デバイス番号を、デバイス状態804に「オンライン」をそれぞれ設定する。また、物理/外部デバイスの対応SA番号/下位論理デバイス番号を設定し、デバイス状態を「オンライン」に更新する。登録が完了したらSA150はMA160にその旨通知する。
次にMA160では、対象上位論理デバイスを下位論理デバイスへ定義し、情報更新の旨を各部位に通知する(1210)。具体的には、上位論理デバイス管理情報203のデバイスエントリについてサイズ602と対応SA番号、下位論理デバイス番号603を設定し、デバイス状態を「オフライン」状態に、エントリ605,606は未割当のため無効値を設定する。情報更新を通知されたPA140では更新のあった管理情報をメモリ143へ取り込み、ST160では情報取込み後、論理デバイス定義処理の完了を要求元へ報告する(1211)。
図13は、LUパス定義処理252の処理フロー図である。
LUパス定義指示を受け付けたST190がMA160に対して同指示を転送する(1301)。同指示には、対象上位論理デバイス番号とLUを定義するポート141番号とLUNに加えて、同LUをアクセスするホスト100の識別情報(ポート107のWWNなど)が付加される。LUパス定義指示を受け付けたMA160は、上位論理デバイスに対してLUパス登録を行う(1302)。具体的には、上位論理デバイス管理情報203のデバイスエントリのポート番号、ターゲットID、LUN605と接続ホスト名606に対応情報を設定し、LUパス管理情報206のポート141に対応する空きエントリにターゲットID/LUN701を始めとする構成情報を設定する。登録が完了したら、その旨各部位へ通知し、PA140で情報取込み、SA190で情報取込みと要求元への完了報告を行う。
以上の3つの処理により、外部デバイスをストレージ130のデバイスとして登録し、ストレージ130内のSA150のキャッシュ使用量の均等化を考慮していずれかのSA150へ割り当て、ホスト100からのアクセスが可能となる。
次に、このように外部デバイスが割り当てられている状態での、ホスト100からの入出力要求処理方法について、PA140、SA150でのリードコマンド処理、ライトコマンド処理、ライトアフタ処理の3つに分けて説明する。
図14は、リードコマンド処理261の処理フロー図である。
ホスト100がストレージ130内の外部デバイスを含むデバイスのデータを読み出す場合の処理を説明するものである。
PA140は、ホスト100が発行したリードコマンドを特定ポート141で受信する(1401)。PA140は、受信したコマンドの解析を行い、要求データに対応する上位論理デバイス番号を割り出し、上位論理デバイス管理情報から対応するSA番号、下位論理デバイス番号を算出し(1402)、SA番号に対応するSA150にリード要求を転送する(1403)。SA150は転送制御部151よりリード要求を受け取り、要求データがディスクキャッシュ154上にあるかどうかを、キャッシュ管理情報203を参照することにより判定する。
要求データがディスクキャッシュ154上にある場合(キャッシュヒット)、SA150は該当するデータを要求の発行元であるPA140に送信する(1410)。SA150よりデータを受信したPA140は、ポート141を通じて、ホスト100へデータを送信する(1411、1412)。
一方、要求データがディスクキャッシュ154上に無い場合(キャッシュミス)には、SA150はキャッシュ管理情報203を更新し、ディスクキャッシュ154上に要求データを格納する領域を確保する。要求が外部デバイスに対するものでない場合は、物理デバイスから要求データを読み出し、対応するディスクキャッシュ154領域にデータを格納する。以降の動作フローはキャッシュヒットした場合と同様である(141〜1412)。要求が外部デバイスに対するものである場合、SA150は、PA140を介して外部ストレージ180からデータを読み込み(1413〜1416)、対応するディスクキャッシュ154領域にデータを格納する(1409)。以降の動作フローはキャッシュヒットした場合と同様である(1410〜1412)。以上のようにして、ホスト100からのリード要求に対して、外部デバイスを含むデバイスからデータを読み出して、ホスト100へ送信する。
図15は、ライトコマンド処理262の処理フロー図である。
ホスト100がストレージ130内のディスクキャッシュ154にデータを格納する場合の処理を説明するものである。
まず、PA140は、ホスト100が発行したライトコマンドを特定ポート141で受信する(1501)。PA140は、受信したコマンドの解析を行い、要求データに対応する上位論理デバイス番号を割り出し、上位論理デバイス管理情報から対応するSA番号、下位論理デバイス番号を算出し(1502)、SA番号に対応するSA150にライト要求を転送する(1503)。SA150は転送制御部151よりライト要求を受け取り、要求データがディスクキャッシュ154上にあるかどうかを、キャッシュ管理情報203を参照することにより判定する(1504)。
要求データがディスクキャッシュ154上にあった場合(キャッシュヒット)、SA150は要求元のPA140に対してライト準備完を通知する(1507)。SA150よりライト準備完の通知を受信したPA140は、ポート141を介してホスト100にライト準備完を通知する(1508、1509)。その後、PA140はポート121を介してホスト100からデータを受信し、そのデータを該当するSA150へ送信する(1510、1511)。PA140からデータを受け取ったSA150は対応するディスクキャッシュ154領域にデータを格納し、PA140に対して完了報告を送信する(1512、1513、1514)。SA150より完了報告を受信したPA140はホスト100に対して、完了報告を送信する(1515、1516)。
一方、要求データがディスクキャッシュ154上に無かった場合(キャッシュミス)、SA150はキャッシュ管理情報203を更新し、ディスクキャッシュ154上に要求データを格納する領域を確保する(1506)。以降の動作フローは、キャッシュヒットした場合と同様である(1507から1516)。
以上のようにして、ホスト100からのライト要求に対して、ホスト100からのライトデータをディスクキャッシュ154へ格納する。
図16は、ライトアフタ処理257の処理フロー図である。
この処理は、SA150におけるライトコマンド処理262の結果、ディスクキャッシュ154に格納されたライトデータをディスク装置157もしくは外部ストレージ180へ書き出す処理である。
ディスクキャッシュ154上に保持されたライトデータは、キャッシュ管理情報203で管理される。通常、ライトデータやディスクからリードしたデータはなるべく古いものからディスクキャッシュ154より追い出されるように、キューなどで管理されている。その様な従来の方法によって、管理されたデータの中からライトアフタ対象データを決定する(1601)。対象データが、物理デバイスへのライトデータの場合は、ディスク装置157の該当する領域にデータを書き込んだ後に、対象データのディスクキャッシュ154領域を解放する(1603、1604)。対象データが外部デバイスへのライトデータの場合、SA150はPA140を介して外部ストレージ180に対してデータを書き込み(1605から1610)、対象データのディスクキャッシュ154領域を解放する(1604)。
第2の実施形態:
次に図17乃至図19を参照して、第2の実施形態を説明する。
この例は、各SA150のダーティ属性を持つキャッシュ量の変動に応じて、論理デバイス定義時に外部デバイスに割り当てられたSA150を、同デバイスへのホスト100からの入出力要求を受け付けつつ、別のSA150に変更するものである。第2の実施形態では、第1の実施形態と実質的に同様のハードウェアおよびソフトウェア構成を前提としているので、以下、第1の実施形態との差異について説明する。
図17に、第2の実施形態における上位論理デバイス管理情報204の構成を示す。
図6に示した第1の実施形態のものに比べて、図17の例では、デバイスアクセスモード607、切替進捗ポインタ608および変更先SA番号/下位論理デバイス番号609が追加される。
デバイスアクセスモード607には、上位論理デバイスへの入出力要求の処理形態を示す「正常」もしくは「割当変更中」の値をとる。特定SA150の下位論理デバイスに割り当てられ、通常の入出力処理が行われる上位論理デバイスには「正常」の値が設定され、実体が外部デバイスの上位論理デバイスで、かつ外部デバイスが特定SAの下位論理デバイスから別のSA150の下位論理デバイスへ割り当て変更中である上位論理デバイスに対しては「割当変更中」が設定される。
切替進捗ポインタ608は、上位論理デバイスが「割当変更中」に使用され、上位論理デバイスのうち、外部デバイスの割当変更処理が未完了な部分の先頭アドレスを示す情報である。切替進捗ポインタ608は、後述するSA150のキャッシュミス化処理の進捗に応じて更新される。変更先SA番号/下位論理デバイス番号609は上位論理デバイスが「割当変更中」に使用され、外部デバイスの割り当て変更先のSA番号および下位論理デバイス番号を保持する。
図18は、第2の実施形態における下位論理デバイス管理情報201の構成を示す。
図8に示した第1の実施形態のものに比べて、図18の例では、切替進捗ポインタ806が追加される。その他のエントリの内容は上記上位論理デバイス管理情報201と同じである。SA150によるキャッシュミス化処理の進捗に応じて更新するが、2重に管理することで、MA160で保持する上位論理デバイス管理情報203への更新頻度を抑えることも可能となる。
上位論理デバイス管理情報203の更新時には、全PA140のメモリ143へ更新情報の取り込みが必要となるため、性能を考慮すれば更新頻度の抑制は有効である。ただし、その場合、PA140でのリードコマンド処理261、ライトコマンド処理262で古い切替進捗ポインタ608を参照することになるため、既にキャッシュミス化を終えた領域についてもPA140からSA150へ入出力要求が転送されることになる。
よって、SA150のコマンド処理254で、キャッシュミス化処理を終えた領域へのライト要求についてはライトアフタで処理せず、即物理/外部デバイスへ書き込むなどこの処理で利用したディスクキャッシュ154を処理後速やかに解放する論理が必要となる。
図19は外部デバイス割り当て変更処理の処理フローである。
この処理は、管理端末190又は管理サーバ110からの外部デバイス割り当て変更指示を受け、外部デバイスに割り当てられたSA150、即ち外部デバイスの入出力要求を処理するSA150を変更する処理である。
ST190は、SAキャッシュ使用量情報222および外部デバイスキャッシュ使用量情報224を参照し、全SA150に対するダーティ量情報302および全外部デバイスに対するダーティ量情報402を得て、管理端末190又は管理サーバ110に対してそれらを提示し、外部デバイス割り当て変更の指示を受け付ける(1901、1902)。管理端末190又は管理サーバ110はSA150のキャッシュ使用量が均等化されるように、変更対象とする外部デバイスおよび変更先のSA150を指定することができる。ここで、指定しないことも可能である。
変更対象とする外部デバイスおよび変更先のSA150を指定された場合は(1903)、外部デバイスの割り当て変更によるキャッシュ使用量の均等化の効果を示すために、管理端末190又は管理サーバ110に対して割り当て変更後の予測CAキャッシュ使用量情報を提示する(1906)。予測SAキャッシュ使用量情報は、変更対象とする外部デバイスの現在のダーティ量を、変更元のSA150のダーティ量から減じ、変更先のSA150のダーティ量に加えることにより算出する。その後、ST190は、割当変更時間情報502により指定された時間帯に、MA160に対して割り当て変更の指示を行う(1907)。この指示には、変更対象の外部デバイス番号、変更先SA番号の情報が含まれる。割り当て変更の指示を受け付けたMA160は外部デバイスのデバイスアクセスモードを「正常」から「割当変更中」に変更する(1908)。MA160は変更先SA150に対して割当変更指示を発行する(1909)。割当変更指示を受け取った変更先SA150では、指示された外部デバイスに対して下位論理デバイスを登録し、MA160に対して完了報告を送信する(1910)。
変更先SA150から完了報告を受け取ったMA160は、変更元SA150に対して割当変更指示を送信する(1911)。割当変更指示を受け取った変更元SA150は、対応する下位論理デバイスの全データについてディスクキャッシュ154を検索してミス化、即ち、物理/外部デバイスへ未更新のデータは対応デバイスへの書き出し後、更新済みのデータについては、即そのデータに割り当てられたキャッシュ領域を解放する。検索はキャッシュ管理情報203を用いて、下位論理デバイスの先頭から順次行い、検索およびミス化処理が終わった部分については、上位/下位論理デバイス管理情報の切替進捗ポインタを進めることで進捗を管理する。全領域についてミス化処理が完了したら、その旨をMA160へ報告し、MA160でデバイスアクセスモード607を「正常」へ変更して外部デバイス割当変更処理を完了する(1912、1913)。
変更対象とする外部デバイスおよび変更先のSA150が指定されなかった場合は(1903)、ST190が各SA150のキャッシュ使用量が均等化するように、変更対象とする外部デバイスおよび変更先のSA150を選択する(1904)。変更先のSA150としては最もダーティ量の少ないSA150とする。
キャッシュ使用量の均等化の指標としては、例えば、各SA150のキャッシュ使用量の標準偏差を用いることができる。外部デバイス管理情報を用いて、ストレージ130に割り当てられた各外部デバイスを変更対象候補として1つずつ選ぶ。選択された外部デバイスのダーティ量および各SA150のダーティ量が分かっているので、外部デバイスを割り当てるSA150を変更した場合の各SA150の予測ダーティ量を算出でき、各SA150の予測ダーティ量を用いて予測標準偏差を求めることができる。変更対象として選択する外部デバイスは、予測標準偏差が最小となる外部デバイスとする。ただし、均等化されない場合、即ち、予測標準偏差が現在の標準偏差以上の値になる場合は、外部デバイスの割り当て変更は実施しない(1905)。以降の処理は、変更対象とする外部デバイスおよび変更先のSA150を指定された場合と同様である。
第2の実施形態においては、第1の実施形態に比べてリードコマンド処理261、ライトコマンド処理262が一部変わる。
即ち、図14のリードコマンド処理261の1402において、PA140は受信したコマンドの解析を行い、要求データに対応する上位論理デバイス番号を割り出した後、デバイスアクセスモードをチェックする。デバイスアクセスモードが「正常」の場合には、上位論理デバイス管理情報から対応するSA番号、下位論理デバイス番号を算出する。その後、SA番号に対応するSA150にリード要求を転送する(1403)。
デバイスアクセスモードが「割当変更中」の場合には、切替進捗ポインタを参照し、その要求のアクセス領域が切替進捗ポインタの前後どちらにあるかを判定する。切替進捗ポインタよりも前、即ち変更先SA150へ切替済みの領域については、変更先SA150を要求先SA150として決定する。もし、そうでない場合、即ち変更先SA150への切替が完了していない領域に関しては、変更元SA150を要求先SA150として決定する。図15のステップ1502においても、同様の判定を行い要求先SA150を決定する。
第3の実施形態:
次に図20乃至図23を参照して、第3の実施形態を説明する。
この例は、第1のストレージである外部ストレージ180aのデバイス(外部デバイス)に対して、ストレージ130が非同期リモートコピー機能を適用し、ストレージ130が有する非同期リモートコピー機能によって、外部ストレージ180aのデバイス内に格納されるデータを他の外部ストレージ180bのデバイスにコピーすることを前提とする。この際、本実施形態においては、サイドファイル属性を持つキャッシュのキャッシュ使用量に基づき、外部ストレージ180aのデバイスを自身の論理デバイスとして管理し、外部ストレージ180aのデバイスについてリモートコピー処理を実行するストレージ130内のストレージ制御部を選択する。
第3の実施形態を説明する前に、まず、リモートコピー機能について説明する。
リモートコピーは、正サイトにあるストレージシステムのデバイス(正デバイス)のバックアップを副サイトにあるストレージシステムのデバイス(副デバイス)にリアルタイムで作成する機能である。正デバイスのコピーを遠隔地にある副デバイスに保持することにより、テロや災害等によるデータの損失を最小限に抑えることが可能である。リモートコピーの操作には、形成コピーと更新コピーの2種類がある。形成コピーはホスト100からのリード/ライトとは別に正デバイスと副デバイスのデバイスペアを同期させる操作である。形成コピーにより、デバイスペアが同期された後の正デバイスに対するライトは、更新コピーにより副デバイスに対しても適用され、同期状態が維持される。リモートコピーは、更新コピーの方式により、同期リモートコピーと非同期リモートコピーに大別される。
非同期リモートコピーは、特に、ホスト100からライトデータを受信しキャッシュメモリに書き込んだ時点で、ホスト100に対して完了報告を送信する。非同期リモートコピー対象のライトデータのうち、正ストレージシステムのキャッシュ上に保持され、副ストレージシステムに未送信のデータはサイドファイルと呼ばれる。サイドファイルは副ストレージシステムに対して送信されるまで、キャッシュメモリ上に保持し続ける必要がある。しかし、サイドファイルの副ストーレジシステムへの送信速度とホスト100からのライトの頻度によっては、サイドファイルがキャッシュメモリ上に大量に滞留し、新たなリード/ライトに対してキャッシュメモリを割り当てることができなくなる可能性がある。
サイドファイルは、正ストレージシステムのSA150の制御メモリ155上のキャッシュ管理情報203により、サイドファイル属性を持つセグメントとして管理される。サイドファイル量はサイドファイル属性を持つセグメントの個数により算出される。キャッシュ管理情報203としては、ライトデータがディスクキャッシュ154に書き込まれた時間を示すタイムスタンプ情報、ライトデータに対応する上位論理デバイス番号、ライトデータの上位論理デバイス内での位置情報、ライトデータのサイズのような制御情報が格納される。タイムスタンプ情報は、サイドファイルが副ストレージシステムに送信される際の付加情報としてライトデータと共に送信される。互いに依存関係のある複数正デバイスにより構成されるデバイスグループに対するライトを副デバイスに適用する際には、デバイスグループ内のデータの整合性を維持するために、ライトの順序を保障する必要がある。副ストレージシステムにおいては、タイムスタンプ情報に基づきライトの順序を維持しながら、複数の副デバイスに対する更新が行われる。
第三の実施形態においては、例えば第一の外部ストレージ180a内の外部デバイスと対応付けられているストレージ130内の上位論理デバイスと、遠隔地にある第2の外部ストレージ180b内の論理デバイスとの間で非同期リモートコピーを行う。即ち、ホスト100からストレージ130内の上位論理デバイスへの書き込み要求があった際には、上位論理デバイスを管理しているストレージ130内のストレージ制御部は、キャッシュにライトデータを書き込んだ後ホスト100に完了報告を返送し、その後ライトデータを第2の外部ストレージ180bに転送すると共に、前記上位論理デバイスと対応付けられている第1の外部ストレージ180a内の外部デバイスにもライトデータ書き込む。
尚、本実施形態においては、リモートコピー先のストレージは第2の外部ストレージ180bであるものと仮定して説明するが、リモートコピー先のストレージは外部ストレージ180に限られるものではない。即ち、リモートコピー先のストレージは、ストレージ130のストレージ制御部によってストレージ130の上位論理デバイスとして管理される外部デバイスを有する外部ストレージであっても良いが、ストレージ130とネットワークを介して接続されるストレージであれば外部ストレージに限られることはなく、ホスト100からストレージ130を介することなくアクセスされ得るデバイスを有するストレージであっても良い。
第3の実施形態も、第1の実施形態と実質的に同様のハードウェアおよびソフトウェア構成を前提としているので、以下、第1の実施形態との差異について説明する。
図20はSAキャッシュ使用量情報222を示す図である。
この図20は、図3に比べて、ストレージ130内のSA150のサイドファイル量に関する情報を管理するサイドファイル量情報303が追加されている。サイドファイル量情報の値は、SA150において、集計時間情報501に含まれる時間帯に、一定の時間間隔でSA150に対応するサイドファイルセグメントカウンタを参照し、それらの平均値を求めることにより算出される。
図21は外部デバイスキャッシュ使用量情報224を示す図である。
この図21では、図4に比べて、ストレージ130内の外部デバイスの特定の時間帯におけるサイドファイル量を管理するサイドファイル量情報403が追加されている。サイドファイル量情報403の値は、SA150において、集計時間情報501に含まれる時間帯に、一定の時間間隔で当該外部デバイスに対応するサイドファイルセグメントカウンタを参照し、それらの平均値を求めることにより算出される。
第3の実施形態においては、論理デバイス定義処理255が部分的に変わる。
第1の実施形態においては、図12のステップ1206において、最もダーティ量の少ないSA150を割り当て対象として選択したが、第3の実施形態においては、最もサイドファイル量の少ないSA150を割り当て対象とする。この処理により、外部デバイスを、ストレージ130内のSA150のキャッシュ使用量の均等化を考慮して、いずれかのSA150へ割り当てることが可能となる。
外部デバイス定義処理253およびLUパス定義処理252は、第1の実施形態と同様であり、上記の論理デバイス定義処理255と合わせた3つの処理によりホスト100からのアクセスが可能となる。
次に、第1の外部ストレージ180a内の外部デバイスを実体とする上位論理デバイスである正デバイスと、第2の外部ストレージ180b内の論理デバイスである副デバイスの間で非同期リモートコピーを適用する場合における、リードコマンド処理/ライトコマンド処理について述べる。尚、リードコマンド処理261は第1の実施形態と同様なので、その説明を省略する。
次に、図22を参照して、ライトコマンド処理262について説明する。
第3の実施形態におけるライトコマンド処理は、図15におけるライトコマンド処理262とほぼ同じであるが、ステップ2217から2219が追加されている。
ステップ2217においては、ライトデータに対応するデバイスが非同期リモートコピー機能を使用中かを判定し、使用中なら、ディスクキャッシュ154上にライトデータ用のサイドファイル領域を確保し、管理メモリ上のキャッシュ管理情報を更新する(2218)。
ステップ2219においては、ライトデータをディスクキャッシュ154上のサイドファイル領域に格納し、キャッシュ管理情報にタイムスタンプ情報等の制御情報を格納する。
図23はサイドファイル送信処理を説明するための図である。
この処理は、SA150におけるライトコマンド処理262の結果、ディスクキャッシュ154上のサイドファイル領域に格納されたライトデータを第2の外部ストレージ180bに書き出す処理である。
SA150は、管理メモリ155上のキャッシュ管理情報203から、サイドファイルが書き込まれた順番にサイドファイルを送信するように、サイドファイルを決定する(2301)。SA150は該当するPA140にサイドファイルデータをタイムスタンプ情報等の制御情報と共に送信する(2302)。サイドファイルデータと制御情報を受信したPA140は、該当する外部ストレージ180に対して、サイドファイルデータと制御情報を送信する(2303)。その後、SA150は対象データのサイドファイル領域を解放する(2304)。
第4の実施形態:
この例は、非同期リモートコピー機能が適用されている外部デバイスに対して割り当てられたSA150をその後の各SA150のサイドファイル属性を持つキャッシュ量に応じて、そのデバイスへのホスト100からの入出力要求を受け付けつつ、変更するものである。
第4の実施形態も、第1の実施形態と実質的に同様のハードウェアおよびソフトウェア構成を前提としているので、以下、第1の実施形態との差異について説明する。
第4の実施形態においては、第2の実施形態で説明した、図17の上位論理デバイス管理情報203および図18の下位論理デバイス管理情報201を用いる。
図24は外部デバイス割当変更処理を説明する図である。
管理端末190又は管理サーバ110からの外部デバイス割り当て変更指示を受け、外部デバイスに割り当てられたSA150、即ち、当該外部デバイスの入出力要求を処理するSA150を変更する処理である。図24は第2の実施形態で説明した図19とほぼ同様であるが、ステップ2401、2402、2404、2405、2406が変わっている。
ステップ1901においてはダーティ量情報302およびダーティ量情報402を参照していたのに対して、ステップ2401においては、ST190はSAキャッシュ使用量情報222および外部デバイスキャッシュ使用量情報224を参照して、全SA150に対するサイドファイル量情報303および全外部デバイスに対するサイドファイル量情報403を得る。この変更に伴い、ステップ2402、2404、2405、2406においては、ダーティ量情報をサイドファイル量情報に置き換えて、ステップ1902、1904、1905、1906と同様の処理を行う。
第4の実施形態におけるリードコマンド処理261は、第2の実施形態で説明したものと同様である。第4の実施形態におけるライトコマンド処理262としては、第3の実施形態で説明したライトコマンド処理262を一部変更したものを用いる。変更個所は図22のステップ2202であり、変更内容は第2の実施形態で説明したリードコマンド処理261に対する変更と同様である。
第5の実施形態:
上記した実施形態では、ストレージ130はPA140とSA150とMA160が相互結合網により結合された構成を持つクラスタ構成ストレージを例として挙げた。しかし本発明は、上記したクラスタ構成ストレージに限定されず、他の構成からなるクラスタ構成ストレージに関しても適用される。
図25は、本発明の他の構成による計算機システム例を示す。
この例において、ストレージ2530は、複数のストレージノード2550とストレージノード2550間でのデータ連携を行うための相互結合網2570から構成されるクラスタ構成ストレージである。各ストレージノード2550は、通常のストレージと同様に、1または複数のディスク装置2557と、ディスクキャッシュ2554と、制御プロセッサ2552と、メモリ2553と、ポート2551から構成される。
本構成例においては、前述したストレージ2530が提供する高機能処理を担当する部位であるSA150と入出力要求を振り分けるPA140が、共にストレージノード2550として構成されている点が第1から第4の実施形態とは異なる。この例においても、複数のストレージノード2550はそれぞれ相互結合網2570により接続されているため、任意のストレージノード2550に対して外部デバイスを割り当てることができる。なお、この例において、第1乃至第4の実施形態における構成管理部160に相当する処理はストレージ2530内のいずれかのストレージノード2550が行う。
管理サーバ2510は、第1乃至第4の実施形態における管理端末190の役割も兼ねており、IPネットワーク2575により計算機システム内の各機器とインターフェース2516を介して交信し、計算機システム内の各機器から構成情報、リソース利用率、性能監視情報などを収集する。またそれらの情報をディスプレイ2515に表示してストレージ管理者に提示する。さらに入力装置から入力され受信した運用・保守に関する指示を各機器に送信する。また、第1乃至第4の実施形態におけるSA150と同様に、ストレージノード2550はディスクキャッシュ2554上のダーティ量やサイドファイル量に関する情報を採取する。管理サーバ2510は各ストレージノード2550から、ダーティ量やサイドファイル量に関する情報を収集し、メモリ2512上に保持する。さらに、管理サーバ2510は外部ストレージ2580を含めた計算機システム全体の管理も行う。
ファイバチャネルスイッチ2520は、ホスト2500のポート2507およびストレージ2530のポート2551に加え、外部ストレージのポート2581にも接続されている。その他の機器は第1乃至第4の実施形態で説明したものと同等の役割を果たす。
次に、第5の実施形態と上記した第1乃至第4の実施形態との処理の類似点および相違点について説明する。この第5の実施形態では、ハードウェア構成が前述の第1乃至第4の実施形態とは異なるので、それによりリードライト処理も相違してくる。
具体的には、あるストレージノード2550がホスト2500からの入出力要求を受領した際、その入出力要求がそのストレージノード2550にて処理可能な入出力要求であった場合、そのストレージノード2550において処理し、他のストレージノード2550において処理すべき入出力要求であった場合には、相互結合網2570を介して他のストレージノード2550に入出力要求を転送する。さらに、第1乃至第4の実施形態におけるSA150と同様に、ストレージノード2550においては、外部ストレージ2580のデバイスはストレージ2530の論理デバイスとして定義され、ホスト2500からの入出力要求に対して、ストレージノード内部のディスク装置に対するアクセスか、外部ストレージに対するアクセスかを識別して、要求を振り分ける。
この実施形態においては、第1の実施形態のように、外部デバイスの処理を行うストレージノード2550を選択する際に、ストレージノード2550のダーティ量を用いて、ストレージシステム全体としてのキャッシュ使用量の均等化を行うことができる。
具体的な処理内容は、ストレージノード2550がPA140、SA150の両方の処理を行う点を除いては、第1の実施形態で説明したものと同様である。ただし、以下の点で処理が異なる。
第一に、予め、全てのストレージノード2550から外部ストレージ2580にアクセスできるように、ファイバチャネルスイッチ2520のゾーニング設定を変更しておくものとする。これは、どのストレージノードも外部ストレージへの経路としての役割を果たすことができることを意味し、第2から第4の実施形態の構成例においても同様である。
第二に、論理デバイス定義処理255において、SA150としての役割を果たすストレージノード2550が同時にPA140としての役割も果たすように設定を行う。これは第3の実施形態の構成例においても同様である。
さらに、この例においては、第2の実施形態のように、各ストレージノード2550のダーティ属性を持つキャッシュ量の変動に応じて、論理デバイス定義時に外部デバイスに割り当てられたストレージノード2550を、同デバイスへのホスト2500からの入出力要求を受け付けつつ,別のストレージノード2550に変更することができる。
具体的な処理内容は、ストレージノード2550がPA140、SA150の両方の処理を行う点を除いては、第2の実施形態で説明したものと同様である。ただし、次の点で処理が異なる。即ち、外部デバイス割当変更処理256において、SA150としての役割を果たすストレージノード2550が同時にPA140としての役割も果たすように設定を行う。これは第4の実施形態の構成例においても同様である。
また、第3の実施形態のように、外部デバイスを実体とする、ストレージノード2550内の論理デバイスに対して非同期リモートコピーを適用する場合においても、各ストレージノード2550におけるサイドファイル量に関する情報を用いて、非同期リモートコピーの処理を行うストレージノード2550を適切に選択することにより、各ストレージノード2550のサイドファイル量の均等化を行うことが可能である。具体的な処理内容は、ストレージノード2550がPA140、SA150の両方の処理を行う点を除いては、第3の実施形態で説明したものと同様である。
さらに、本構成例においては、第4の実施形態のように、非同期リモートコピー機能が適用されている外部デバイスに対して割り当てられたストレージノード2550をその後の各ストレージノード2550のサイドファイル属性を持つキャッシュ量に応じて、同デバイスへのホスト2500からの入出力要求を受け付けつつ、変更することができる。具体的な処理内容は、ストレージノード2550がPA140、SA150の両方の処理を行う点を除いては、第4の実施形態で説明したものと同様である。
この他にも本発明の趣旨を逸脱しない範囲で種々変形して実施し得る。
尚、上記第5の実施形態に関する態様を整理すると、例えば以下のように列挙できる。
(1)ホストとのインターフェースを有し、ホストから入出力要求に従って読み書きされるデータを格納するキャッシュメモリ及びディスク装置を有すると共に、第1のストレージシステムとのインターフェースを有して第1のストレージシステムに対して入出力要求を行う複数のストレージノードと、ストレージノードの間を互いに接続する相互結合網と、ストレージノードと通信を行う管理サーバとを有するストレージシステムにおいて、第1のストレージシステムのディスク装置及びストレージノードに保持するディスク装置をストレージシステムが持つディスク装置としてホストへ提示する手段と、ホストから受け付けた入出力要求のアクセス対象であるストレージシステムのディスク装置がストレージノードのディスク装置もしくは第1のストレージシステムのディスク装置である場合、入出力要求をストレージノードで処理する手段と、ストレージノードのキャッシュメモリ上にあって、ストレージノードのディスク装置と第1のストレージシステムのディスク装置に未反映なライトデータの合計量である第1のダーティ量情報を取得する手段と、管理サーバに第1のダーティ量情報を提示し、第1のストレージシステムのディスク装置の処理を行う該ストレージノードの指定を受け付ける手段と、を有するストレージシステム。
(2)上記(1)のストレージシステムにおいて、第1のストレージシステムのディスク装置の処理を行う第2のストレージシステム内のストレージノードが管理サーバで指定されなかった場合、第1のストレージシステムのディスク装置の処理を行うストレージノードを、第1のダーティ量情報を用いて決定するストレージシステム。
(3)上記(2)のストレージシステムにおいて、第1のストレージシステムのディスク装置の処理を行うストレージノードを、第1のストレージノードから第2のストレージノードに変更する切替処理手段を有するストレージシステム。
(4)上記(3)のストレージシステムにおいて、ストレージノードのキャッシュメモリ上にあって第1のストレージノードのディスク装置のデータを検索し、第1のストレージシステムのディスク装置へ未反映なデータは第1のストレージシステムのディスク装置へ書き込んでキャッシュメモリ領域を解放し、反映済みのデータはキャッシュメモリ領域を解放するストレージシステム。
(5)上記(4)のストレージシステムにおいて、第3のストレージノードが第1のストレージノードのディスク装置へのホストからの入出力要求に対して、第1のストレージノードのディスク装置で切替処理が終わった部分への入出力要求は第2のストレージノードへ、切替処理が終わっていない部分への要求は第1のストレージノードへ振り分けるストレージシステム。
(6)上記(3)のストレージシステムにおいて、ストレージノードのキャッシュメモリ上にあって、第1のストレージシステムのディスク装置に未反映なライトデータの量である第2のダーティ量情報を取得する手段を有し、上記管理サーバへ第1のダーティ量情報および第2のダーティ量情報を提示し、上記切替処理の対象となる第1のストレージシステムのディスク装置および切替処理の切替先である第2のストレージノードの指定を受け付ける手段を有するストレージシステム。
(7)上記(6)のストレージシステムにおいて、上記切替処理の対象となる第1のストレージシステムのディスク装置および切替処理の切替先である第2のストレージノードの指定が無かった場合、第1のダーティ量および第2のダーティ量を用いて、切替処理の対象となる第1のストレージシステムのディスク装置および切替処理の切替先である第2のストレージノードを決定するストレージシステム。
(8)上記(1)のストレージシステムにおいて、第3のストレージシステムとのインターフェースを有し、第3のストレージシステムに対してコピー処理を行う第4のストレージノードを含み、第3のストレージシステムのディスク装置にストレージノードにおけるディスク装置の複製を作成し、このストレージノードにおけるディスク装置に対するライトデータを逐次そのストレージノードのキャッシュメモリに格納し、書き込みデータを第3のストレージシステムのディスク装置に送信する機能を有するストレージシステムであって、前記ストレージノードのキャッシュメモリ上にあって、第3のストレージシステムに未送信なライトデータの合計量である第1のサイドファイル量情報を取得する手段を有し、管理サーバに第1のサイドファイル量情報を提示し、第1のストレージシステムのディスク装置の処理を行うストレージノードの指定をから受け付けるストレージシステム。
(9)上記(8)のストレージシステムにおいて、第1のストレージシステムのディスク装置の処理を行うストレージノードの指定が無かった場合、第1のストレージシステムのディスク装置の処理を行うストレージノードを、第1のサイドファイル量情報を用いて決定するストレージシステム。
(10)上記(8)のストレージシステムにおいて、第1のストレージシステムのディスク装置をホストに提示する処理を行うストレージノードを、第1のストレージノードから第2のストレージノードに変更するストレージシステム。
(11)上記(10)のストレージシステムにおいて、ストレージノードのキャッシュメモリ上にあって、第3のストレージシステムのディスク装置に未送信なデータ量である第2のサイドファイル量情報を取得する手段を有し、管理サーバに第1のサイドファイル量情報および前記第2のサイドファイル量情報を提示し、切替処理の対象となる第1のストレージシステムのディスク装置および切替処理の切替先である第2のストレージノードの指定を受け付けるストレージシステム。
(12)上記(11)のストレージシステムにおいて、切替処理の対象となる第1のストレージシステムのディスク装置および切替処理の切替先である第2のストレージノードの指定が無かった場合、第1のサイドファイル量情報および第2のサイドファイル量情報を用いて、切替処理の対象となる第1のストレージシステムのディスク装置および切替処理の切替先である第2のストレージノードを決定するストレージシステム。
本発明の第1の実施形態による計算機システムのハードウェア構成を示す図である。 第1の実施形態におけるソフトウェアの構成を示す図である。 第1の実施形態におけるストレージ制御部のキャッシュ使用量情報の構成を示す図である。 第1の実施形態における外部デバイスキャッシュ使用量情報の構成を示す図である。 第1の実施形態における管理端末制御情報の構成を示す図である。 第1の実施形態における上位論理デバイス管理情報の構成を示す図である。 第1の実施形態におけるLUパス管理情報の構成を示す図である。 第1の実施形態における下位論理デバイス管理情報の構成を示す図である。 第1の実施形態における物理デバイス管理情報の構成を示す図である。 第1の実施形態における外部デバイス管理情報の構成を示す図である。 第1の実施形態における外部デバイス定義処理の処理フロー図である。 第1の実施形態における論理デバイス定義処理の処理フロー図である。 第1の実施形態におけるLUパス定義処理の処理フロー図である。 第1の実施形態におけるリードコマンド処理の処理フロー図である。 第1の実施形態におけるライトコマンド処理の処理フロー図である。 第1の実施形態におけるライトアフタ処理の処理フロー図である。 第2の実施形態における上位論理デバイス管理情報の構成を示す図である。 第2の実施形態における上位論理デバイス管理情報の構成を示す図である。 第2の実施形態における外部デバイス割当変更処理の処理フロー図である。 第3実施形態におけるストレージ制御部キャッシュ使用量情報の構成を示す図である。 第3の実施形態における外部デバイスキャッシュ使用量情報の構成を示す図である。 第3の実施形態におけるライトコマンド処理の処理フロー図である。 第3の実施形態におけるサイドファイル送信処理の処理フロー図である。 第4の実施形態における外部デバイス割当変更処理の処理フロー図である。 第5の実施形態における計算機システムの構成を示す図である。
符号の説明
100…ホスト、 110…管理サーバ、
120…ファイバチャネルスイッチ、 130…ストレージ、
140…プロトコル変換部、 150…ストレージ制御部、
154…ディスクキャッシュ、 157…ディスク
160…構成管理部、 170…相互結合網、
180…外部ストレージ、 190…管理端末、
201…下位論理デバイス管理情報、 202…物理デバイス管理情報、
203…キャッシュ管理情報、 204…上位論理デバイス管理情報、
205…外部デバイス管理情報、 206…LUパス管理情報、
252…LUパス定義処理、 253…外部デバイス定義処理、
255…論理デバイス定義処理、 256…外部デバイス割当変更処理、
257…ライトアフタ処理、 261…リードコマンド処理、
262…ライトコマンド処理、 263…サイドファイル送信処理
2500…ホスト、 2510…管理サーバ
2530…ストレージ、 2550…ストレージノード
2554…ディスクキャッシュ、 2580…外部ストレージ
2570…相互結合網。

Claims (20)

  1. クラスタ構成のストレージシステムにおいて、
    ホストから入出力要求に従い、読み書きされるデータを格納するキャッシュメモリ、及び該キャッシュメモリに格納されるデータを保持するデバイスを有する複数のストレージ制御部と、
    読み書きされるデータを扱う論理デバイス及びキャッシュメモリを持つ外部ストレージを該ストレージ制御部に接続する手段と、
    該複数のストレージ制御部のキャッシュメモリの使用状況を監視して把握する手段と、
    該把握手段によって得られるキャッシュメモリの使用状況に関する情報を参照して、キャッシュメモリの使用量を均等化させるように、いずれかの該ストレージ制御部を選択する手段と、を有し、
    該選択手段により選択された該ストレージ制御部により該接続手段を介して該外部ストレージの論理デバイスを制御することを特徴とするストレージシステム。
  2. 前記把握手段は、複数のストレージ制御部の該キャッシュメモリ毎にそのダーティデータ量(第1のダーティデータ量)を取得し、
    前記選択手段は、得られた該ダーティデータ量に従い、ダーティデータ量のより少ないストレージ制御部を選択して、外部ストレージの論理デバイスを制御することを特徴とする請求項1記載のストレージシステム。
  3. 更に、前記把握手段は、該外部ストレージの論理デバイスに格納されるデータであって、いずれかのストレージ制御部が有するキャッシュメモリに格納されているダーティデータの量(第2のダーティデータ量)を把握し、
    前記選択手段は、該第1のダーティデータ量及び該第2のダーティデータ量に従って、該外部ストレージの論理デバイスを制御するためのストレージ制御部を選択することを特徴とする請求項2記載のストレージシステム。
  4. 更に、該外部ストレージの論理デバイスに格納されるデータについて、他のストレージへ非同期のリモートコピーを行う手段と、
    該ストレージ制御部の該キャッシュメモリに保持されていて、未だ該他のストレージへ送信されていないデータ(サイドファイルデータ)の量を把握する手段と、を有し、
    前記選択手段は、該把握手段によって取得されたサイドファイルデータ量を参照して、該外部ストレージの論理デバイスを制御するためのストレージ制御部を選択することを特徴とする請求項2又は3記載のストレージシステム。
  5. 前記把握手段により取得されたキャッシュメモリの使用状況、又はダーティデータ量、若しくはサイドファイルデータ量を管理者へ提示するために管理端末又は管理サーバへ転送する手段を有し、
    前記選択手段は、該管理端末又は管理サーバから指定されたストレージ制御部を選択することを特徴とする請求項1乃至4のいずれか記載のストレージシステム。
  6. クラスタ構成のストレージシステムにおいて、
    ホストから入出力要求に従い、読み書きされるデータを一時的に格納するキャッシュメモリ、及び該キャッシュメモリのデータを保持するデバイスを有する複数のストレージノードと、
    該ホストから入出力要求に従い、読み書きされるデータを格納するキャッシュメモリ及びデバイスを有する外部ストレージと、該ストレージノードと接続するインターフェースと、
    該複数のストレージノードの該キャッシュメモリの使用状況を監視して把握する手段と、
    該把握手段によって得られるキャッシュメモリの使用状況に関する情報を参照して、キャッシュメモリの使用量を均等化させるように、あるストレージノードを選択する手段と、を有し、
    該選択手段により選択された該ストレージノードにより該インターフェースを介して外部ストレージのデバイスを制御することを特徴とするストレージシステム。
  7. 前記把握手段は、該キャッシュメモリ毎のダーティデータ量(第1のダーティデータ量)を取得し、
    前記選択手段は、得られた該ダーティデータ量に従い、ダーティデータ量のより少ないストレージノードを選択して、外部ストレージのデバイスを制御することを特徴とする請求項6記載のストレージシステム。
  8. 更に、前記複数のストレージノードを含む第2のストレージから第3のストレージに対して非同期のリモートコピーを行う手段と、
    該ストレージノードの該キャッシュメモリに保持されていて、未だ該第3のストレージへ送信されていないデータ(サイドファイルデータ)の量を把握する手段と、を有し、
    該選択手段は、該把握手段によって取得されたサイドファイルデータ量を参照して、ストレージノードを選択することを特徴とする請求項7記載のストレージシステム。
  9. 前記把握手段により取得されたキャッシュメモリの使用状況、又はダーティデータ量、若しくはサイドファイルデータ量を管理者へ提示するために管理端末又は管理サーバへ転送する手段を有し、
    前記選択手段は、該管理端末又は管理サーバから指定されたストレージノードを選択することを特徴とする請求項6乃至8のいずれか記載のストレージシステム。
  10. クラスタ構成のストレージシステムにおいて、
    ホストとのインターフェースを有し、該ホストとの間で取り交わす入出力プロトコルをシステム内部のプロトコルに変換する第1のプロトコル変換部と、ホストとの間で読み書きされるデータを格納するキャッシュメモリ及びディスク装置を有する第1のストレージとのインターフェースを有し、該第1のストレージとの間で取り交わす入出力プロトコルをシステム内部のプロトコルに変換する第2のプロトコル変換部を含む複数のプロトコル変換部と、
    該ホストと該第1のプロトコル変換部の間で読み書きされるデータを格納するキャッシュメモリ及びディスク装置を有し、かつ該キャッシュメモリと該ディスク装置へのアクセスを制御する制御部を有する複数のストレージ制御部と、
    該複数のプロトコル変換部と該複数のストレージ制御部を管理する構成管理部と、
    該構成管理部を介して接続されて該ストレージ制御部と通信を行う管理端末と、
    該プロトコル変換部と該ストレージ制御部と該構成管理部とを接続する相互結合網と、
    該第1のストレージのディスク装置及び該ストレージ制御部に保持されるディスク装置を該ストレージ制御部のディスク装置として該ホストへ提示する手段と、
    該ホストから受け付けた入出力要求のアクセス対象が該ストレージ制御部のディスク装置もしくは該第1のストレージのディスク装置である場合、該入出力要求を該ストレージ制御部で処理する手段と、
    該ストレージ制御部の該キャッシュメモリ上にあって、該ストレージ制御部のディスク装置若しくは該第1のストレージのディスク装置に未反映なライトデータの合計量である第1のダーティデータ量を含むキャッシュ使用量情報を取得する手段と、
    該管理端末に対して該第1のダーティデータ量の情報を提示すると共に、該外部ストレージのディスク装置のための処理を行うストレージ制御部の選択指示を該管理端末から受け付ける手段と、
    を有することを特徴とするストレージシステム。
  11. 該第1のストレージのディスク装置の入出力処理を行う該ストレージ制御部が該管理端末から指定されなかった場合、
    該第1のストレージのディスク装置の入出力処理を行う該ストレージ制御部を、該第1のダーティ量情報を用いて決定することを特徴とする請求項10記載のストレージシステム。
  12. 第1のストレージのディスク装置の入出力処理を行うストレージ制御部を、あるストレージ制御部(第1ストレージ制御部)から他のストレージ制御部(第2ストレージ制御部)に変更する変更手段を有することを特徴とする請求項11記載のストレージシステム。
  13. 該第1ストレージ制御部のキャッシュメモリに保持した該第1のストレージの該ディスク装置のデータを検索し、第1のストレージのディスク装置へ未反映なデータは、第1のストレージのディスク装置へ書き込んで前記キャッシュメモリ領域を解放し、反映済みのデータは前記キャッシュメモリ領域を解放することを特徴とする請求項12記載のストレージシステム。
  14. 第1のプロトコル変換部が、第1のストレージの該ディスク装置に対応する該第1ストレージ制御部のディスク装置への前記ホストからの入出力要求に対して、該第1ストレージ制御部のディスク装置で変更処理が終わった部分への入出力要求は該第2ストレージ制御部へ行い、変更処理が終わっていない部分への要求は該第1ストレージ制御部へ振り分けることを特徴とする請求項13記載のストレージシステム。
  15. 前記第1ストレージ制御部の前記キャッシュメモリ上にあって、前記第1のストレージのディスク装置に未反映なライトデータの量である第2のダーティ量情報を取得する手段を有し、
    該管理端末に、該第1のダーティ量情報および該第2のダーティ量情報を提示し、かつ前記変更処理の対象となる該第1ストレージ制御部のディスク装置および変更処理による変更先である該第2ストレージ制御部の指定を該管理端末から受け付けることを特徴とする請求項12記載のストレージシステム。
  16. 前記変更処理の対象となる前記第1のストレージのディスク装置および前記変更処理の変更先である該第2ストレージ制御部が該管理端末から指定されなかった場合、該第1のダーティ量および前記第2のダーティ量を用いて、変更処理の対象となる前記第1のストレージのディスク装置および変更先である該第2ストレージ制御部を決定する選択処理を行うことを特徴とする請求項15記載のストレージシステム。
  17. 更に、第3のストレージシステムとのインターフェースを有し、該第3のストレージシステムとの間で取り交わす入出力プロトコルをシステム内部のプロトコルに変換する第3のプロトコル変換部と、
    該第3のストレージシステムのディスク装置に該ストレージ制御部におけるディスク装置の複製を作成し、該ストレージ制御部におけるディスク装置に対するライトデータを該ストレージ制御部のキャッシュメモリに格納し、該ライトデータを該第3のストレージシステムのディスク装置に送信する手段と、
    該ストレージ制御部のキャッシュメモリ上にあって、該第3のストレージシステムに未送信なライトデータの合計量である第1のサイドファイル量情報を取得する手段と、を有し、
    前記管理端末に該第1のサイドファイル量情報を提示し、第1のストレージのディスク装置の処理を行う該ストレージ制御部の指定を該管理端末から受け付けることを特徴とする請求項10記載のストレージシステム。
  18. クラスタ構成のストレージシステムにおいてホストからの入出力要求を処理する方法であって、
    データを格納するデバイス、及び該デバイスに格納されるデータを一時的に格納するキャッシュメモリとを有する複数のストレージ部分で、ホストから入出力要求を処理するステップと、
    データを格納するデバイス及びキャッシュメモリを有する外部ストレージの該デバイスを、あるストレージ部分によって制御するステップと、
    該複数のストレージ部分におけるキャッシュメモリの使用状況を把握するステップと、
    得られたキャッシュメモリの使用状況に関する情報を参照して、キャッシュメモリの使用量を均等化させるように、あるストレージ部分を選択するステップと、
    選択された該ストレージ部分を用いて該外部ストレージに対する該ホストからの入出力要求を処理するステップと、
    を有することを特徴とする入出力処理方法。
  19. クラスタ構成のストレージシステムにおいて
    ホストとのインターフェースを有し、該ホストとの間で取り交わす入出力プロトコルをシステム内部のプロトコルに変換する第1のプロトコル変換部と、ホストと間で読み書きされるデータを格納するキャッシュメモリ及びディスク装置を有する外部ストレージとのインターフェースを有し、該外部ストレージとの間で取り交わす入出力プロトコルをシステム内部のプロトコルに変換する第2のプロトコル変換部を含む複数のプロトコル変換部と、
    該ホストと該第1のプロトコル変換部の間で読み書きされるデータを格納するキャッシュメモリ及びディスク装置を有し、該キャッシュメモリ及び該ディスク装置へのアクセスを制御すると共に、いずれのストレージ制御部も該外部ストレージと交信可能である複数のストレージ制御部と、
    該複数のプロトコル変換部と該複数のストレージ制御部を管理する構成管理部と、
    該構成管理部を介して接続されて該ストレージ制御部と通信を行う管理端末と、
    該プロトコル変換部と該ストレージ制御部と該構成管理部とを接続する相互結合網と、
    該ストレージ制御部の該キャッシュメモリ内に在って、該ストレージ制御部のディスク装置及び該外部ストレージのディスク装置に未反映なデータの合計量であるダーティデータ量を含むキャッシュ使用量情報をメモリに保持して管理する手段と、
    該管理端末からの指示に基づき、接続対象となる外部ストレージを探索し、正常な応答のあった外部ストレージに関するデバイス管理情報を該構成管理部内のメモリに登録する外部デバイス定義処理手段と、
    論理デバイスの定義の対象が外部ストレージである場合、該メモリに保持されているダーティデータ量を含むキャッシュ使用量情報を該管理端末に提供する手段と、
    該管理端末からの指示により、該外部ストレージを割当てるためのストレージ制御部に関する情報を受付け、又は該キャッシュ使用量情報の中からダーティデータ量がより少ないストレージ制御部を該外部ストレージに割り当てるようにストレージ制御部を選択する選択手段と、
    選択された該ディスク制御部は、該ディスク制御部内のディスク装置に関する物理デバイス情報、及び該外部ストレージに関するデバイス管理情報に従って論理デバイスの定義を設定する論理デバイス定義処理手段と、
    該管理端末からの指示に基づき、該論理デバイス定義処理手段により定義された論理デバイスに対してパスの設定を行うパス定義処理手段と、
    該ホストから受け付けた入出力要求のアクセス対象が、該ストレージ制御部のディスク装置もしくは該外部ストレージのディスク装置である場合、該入出力要求を該ストレージ制御部で処理する手段と、
    を有することを特徴とするストレージシステム。
  20. 請求項19に記載のストレージシステムにおいて、更に、
    提供されたダーティデータ量の参照により、該管理端末から外部ストレージの割当て変更の指示を受付ける手段と、
    変更される先の該ストレージ制御部に関する予測ダーティデータ量を算出して、予測キャッシュ使用量の情報を該管理端末へ提供する手段と、
    該管理端末から変更指示を受け、該構成管理部は変更先のストレージ制御部に割当て変更の指示を発行する手段と、
    割当て変更の指示を受けた変更先の外部ストレージは、指示された外部ストレージに対して論理デバイスの登録を行う手段と、
    変更元のストレージ制御部は、対応する下位の論理デバイスのデータについてキャッシュミス化処理を行う手段と、
    を有することを特徴とするストレージシステム。
JP2004084229A 2004-03-23 2004-03-23 ストレージシステム Expired - Lifetime JP4147198B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2004084229A JP4147198B2 (ja) 2004-03-23 2004-03-23 ストレージシステム
US10/845,409 US7171522B2 (en) 2004-03-23 2004-05-12 Storage system including storage adaptors having cache memories and grasping usage situation of each cache memory and equalizing usage of cache memories
US11/654,050 US7464223B2 (en) 2004-03-23 2007-01-16 Storage system including storage adapters, a monitoring computer and external storage

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004084229A JP4147198B2 (ja) 2004-03-23 2004-03-23 ストレージシステム

Publications (2)

Publication Number Publication Date
JP2005275525A true JP2005275525A (ja) 2005-10-06
JP4147198B2 JP4147198B2 (ja) 2008-09-10

Family

ID=34991531

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004084229A Expired - Lifetime JP4147198B2 (ja) 2004-03-23 2004-03-23 ストレージシステム

Country Status (2)

Country Link
US (2) US7171522B2 (ja)
JP (1) JP4147198B2 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006260355A (ja) * 2005-03-18 2006-09-28 Hitachi Ltd ストレージシステム及び記憶制御方法
JP2009048544A (ja) * 2007-08-22 2009-03-05 Hitachi Ltd キャッシュメモリ上のデータをバックアップする機能を備えたストレージシステム
US7673110B2 (en) 2005-09-05 2010-03-02 Hitachi, Ltd. Control method of device in storage system for virtualization
JP2011013800A (ja) * 2009-06-30 2011-01-20 Fujitsu Ltd 記憶装置の制御部及び制御方法
US8171241B2 (en) 2006-10-25 2012-05-01 Hitachi, Ltd. Computer system, computer and method for managing performance based on I/O division ratio
US8234467B2 (en) 2007-12-05 2012-07-31 Fujitsu Limited Storage management device, storage system control device, storage medium storing storage management program, and storage system
WO2016166880A1 (ja) * 2015-04-17 2016-10-20 株式会社日立製作所 ストレージシステム、ストレージ装置
WO2016203629A1 (ja) * 2015-06-19 2016-12-22 株式会社日立製作所 ストレージシステム及びキャッシュ制御方法

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8335909B2 (en) 2004-04-15 2012-12-18 Raytheon Company Coupling processors to each other for high performance computing (HPC)
US9178784B2 (en) 2004-04-15 2015-11-03 Raytheon Company System and method for cluster management based on HPC architecture
US8336040B2 (en) 2004-04-15 2012-12-18 Raytheon Company System and method for topology-aware job scheduling and backfilling in an HPC environment
JP5038589B2 (ja) 2004-10-04 2012-10-03 株式会社日立製作所 ディスクアレイ装置及びその負荷分散方法
US8019854B2 (en) * 2005-11-25 2011-09-13 Samsung Electronics Co., Ltd. System and method of providing information on computer memory use
JP4920291B2 (ja) * 2006-04-18 2012-04-18 株式会社日立製作所 計算機システム、アクセス制御方法及び管理計算機
US7930481B1 (en) * 2006-12-18 2011-04-19 Symantec Operating Corporation Controlling cached write operations to storage arrays
WO2008086077A1 (en) * 2007-01-03 2008-07-17 Raytheon Company Computer storage system
US8140279B2 (en) 2007-09-24 2012-03-20 Budderfly Ventures, Llc Computer based energy management
US8396608B2 (en) 2007-09-24 2013-03-12 Budderfly Ventures Llc Computer based energy management
US8244998B1 (en) 2008-12-11 2012-08-14 Symantec Corporation Optimized backup for a clustered storage system
US8086896B2 (en) * 2009-12-28 2011-12-27 International Business Machines Corporation Dynamically tracking virtual logical storage units
JP5549243B2 (ja) * 2010-01-29 2014-07-16 富士通株式会社 ストレージ装置、ストレージ装置の制御方法及びストレージ装置の制御プログラム
US8402106B2 (en) * 2010-04-14 2013-03-19 Red Hat, Inc. Asynchronous future based API
JP5481669B2 (ja) * 2010-08-02 2014-04-23 株式会社日立製作所 キャッシュ制御方法、ノード装置、マネージャ装置及び計算機システム
US8533343B1 (en) 2011-01-13 2013-09-10 Google Inc. Virtual network pairs
US8874888B1 (en) 2011-01-13 2014-10-28 Google Inc. Managed boot in a cloud system
US9135037B1 (en) 2011-01-13 2015-09-15 Google Inc. Virtual network protocol
US9619662B1 (en) 2011-01-13 2017-04-11 Google Inc. Virtual network pairs
US8745329B2 (en) 2011-01-20 2014-06-03 Google Inc. Storing data across a plurality of storage nodes
US8812586B1 (en) 2011-02-15 2014-08-19 Google Inc. Correlating status information generated in a computer network
US9237087B1 (en) 2011-03-16 2016-01-12 Google Inc. Virtual machine name resolution
US8533796B1 (en) 2011-03-16 2013-09-10 Google Inc. Providing application programs with access to secured resources
US8261295B1 (en) 2011-03-16 2012-09-04 Google Inc. High-level language for specifying configurations of cloud-based deployments
US9063818B1 (en) 2011-03-16 2015-06-23 Google Inc. Automated software updating based on prior activity
JP2012203881A (ja) * 2011-03-28 2012-10-22 Fujitsu Ltd ストレージ装置及びストレージ制御装置
US9075979B1 (en) 2011-08-11 2015-07-07 Google Inc. Authentication based on proximity to mobile device
US8966198B1 (en) 2011-09-01 2015-02-24 Google Inc. Providing snapshots of virtual storage devices
US9069616B2 (en) 2011-09-23 2015-06-30 Google Inc. Bandwidth throttling of virtual disks
US8958293B1 (en) 2011-12-06 2015-02-17 Google Inc. Transparent load-balancing for cloud computing services
US8800009B1 (en) 2011-12-30 2014-08-05 Google Inc. Virtual machine service access
US8983860B1 (en) 2012-01-30 2015-03-17 Google Inc. Advertising auction system
US9672052B1 (en) 2012-02-16 2017-06-06 Google Inc. Secure inter-process communication
US8996887B2 (en) 2012-02-24 2015-03-31 Google Inc. Log structured volume encryption for virtual machines
US8677449B1 (en) 2012-03-19 2014-03-18 Google Inc. Exposing data to virtual machines
US9069806B2 (en) 2012-03-27 2015-06-30 Google Inc. Virtual block devices
JP6126493B2 (ja) * 2012-09-27 2017-05-10 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America サーバ装置、端末装置、保守整備情報送信方法およびコンピュータプログラム
US9430255B1 (en) 2013-03-15 2016-08-30 Google Inc. Updating virtual machine generated metadata to a distribution service for sharing and backup
JP6791834B2 (ja) 2017-11-30 2020-11-25 株式会社日立製作所 記憶システム及び制御ソフトウェア配置方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3239669B2 (ja) * 1995-02-20 2001-12-17 株式会社日立製作所 記憶制御装置及びその制御方法
JP3204143B2 (ja) 1997-01-06 2001-09-04 日本電気株式会社 ディスクキャッシュの制御方法
JP3671595B2 (ja) 1997-04-01 2005-07-13 株式会社日立製作所 複合計算機システムおよび複合i/oシステム
US6061761A (en) * 1997-10-06 2000-05-09 Emc Corporation Method for exchanging logical volumes in a disk array storage device in response to statistical analyses and preliminary testing
US6256740B1 (en) 1998-02-06 2001-07-03 Ncr Corporation Name service for multinode system segmented into I/O and compute nodes, generating guid at I/O node and exporting guid to compute nodes via interconnect fabric
US6553420B1 (en) * 1998-03-13 2003-04-22 Massachusetts Institute Of Technology Method and apparatus for distributing requests among a plurality of resources
US6438652B1 (en) * 1998-10-09 2002-08-20 International Business Machines Corporation Load balancing cooperating cache servers by shifting forwarded request
US6950848B1 (en) * 2000-05-05 2005-09-27 Yousefi Zadeh Homayoun Database load balancing for multi-tier computer systems
US6675264B2 (en) * 2001-05-07 2004-01-06 International Business Machines Corporation Method and apparatus for improving write performance in a cluster-based file system
US6766420B2 (en) * 2001-09-27 2004-07-20 International Business Machines Corporation Selectively powering portions of system memory in a network server to conserve energy
US6757790B2 (en) * 2002-02-19 2004-06-29 Emc Corporation Distributed, scalable data storage facility with cache memory
US9137324B2 (en) * 2002-04-10 2015-09-15 International Business Machines Corporation Capacity on-demand in distributed computing environments
JP4313068B2 (ja) 2003-03-28 2009-08-12 株式会社日立製作所 記憶装置のキャッシュ管理方法
JP4462852B2 (ja) 2003-06-23 2010-05-12 株式会社日立製作所 ストレージシステム及びストレージシステムの接続方法
US7606929B2 (en) * 2003-06-30 2009-10-20 Microsoft Corporation Network load balancing with connection manipulation
US7293156B2 (en) * 2003-07-15 2007-11-06 Xiv Ltd. Distributed independent cache memory
JP4297747B2 (ja) 2003-08-06 2009-07-15 株式会社日立製作所 ストレージ装置
JP4383132B2 (ja) * 2003-09-02 2009-12-16 株式会社日立製作所 仮想化制御装置及び計算機システム
JP4631301B2 (ja) * 2004-03-31 2011-02-16 株式会社日立製作所 記憶装置のキャッシュ管理方法

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006260355A (ja) * 2005-03-18 2006-09-28 Hitachi Ltd ストレージシステム及び記憶制御方法
JP4744171B2 (ja) * 2005-03-18 2011-08-10 株式会社日立製作所 計算機システム及び記憶制御方法
US8694749B2 (en) 2005-09-05 2014-04-08 Hitachi, Ltd. Control method of device in storage system for virtualization
US7673110B2 (en) 2005-09-05 2010-03-02 Hitachi, Ltd. Control method of device in storage system for virtualization
US8214615B2 (en) 2005-09-05 2012-07-03 Hitachi, Ltd. Control method of device in storage system for virtualization
US8171241B2 (en) 2006-10-25 2012-05-01 Hitachi, Ltd. Computer system, computer and method for managing performance based on I/O division ratio
JP2009048544A (ja) * 2007-08-22 2009-03-05 Hitachi Ltd キャッシュメモリ上のデータをバックアップする機能を備えたストレージシステム
US8234467B2 (en) 2007-12-05 2012-07-31 Fujitsu Limited Storage management device, storage system control device, storage medium storing storage management program, and storage system
JP2011013800A (ja) * 2009-06-30 2011-01-20 Fujitsu Ltd 記憶装置の制御部及び制御方法
WO2016166880A1 (ja) * 2015-04-17 2016-10-20 株式会社日立製作所 ストレージシステム、ストレージ装置
JPWO2016166880A1 (ja) * 2015-04-17 2017-08-24 株式会社日立製作所 ストレージシステム、ストレージ装置
US10671555B2 (en) 2015-04-17 2020-06-02 Hitachi, Ltd. Storage system and storage apparatus
WO2016203629A1 (ja) * 2015-06-19 2016-12-22 株式会社日立製作所 ストレージシステム及びキャッシュ制御方法
JPWO2016203629A1 (ja) * 2015-06-19 2017-11-24 株式会社日立製作所 ストレージシステム及びキャッシュ制御方法

Also Published As

Publication number Publication date
US20070118694A1 (en) 2007-05-24
JP4147198B2 (ja) 2008-09-10
US20050216692A1 (en) 2005-09-29
US7171522B2 (en) 2007-01-30
US7464223B2 (en) 2008-12-09

Similar Documents

Publication Publication Date Title
JP4147198B2 (ja) ストレージシステム
JP4462852B2 (ja) ストレージシステム及びストレージシステムの接続方法
US9329795B2 (en) Logical volume transfer method and storage network system
JP4790372B2 (ja) ストレージのアクセス負荷を分散する計算機システム及びその制御方法
JP4842593B2 (ja) ストレージ仮想化装置のデバイス制御引継ぎ方法
US7269646B2 (en) Method for coupling storage devices of cluster storage
US8380893B2 (en) Storage system
JP4862006B2 (ja) 計算機システム
JP4297747B2 (ja) ストレージ装置
US7181578B1 (en) Method and apparatus for efficient scalable storage management
JP4341897B2 (ja) 記憶装置システム及びデータ複製方法
JP2009043030A (ja) ストレージシステム
US20100036896A1 (en) Computer System and Method of Managing Backup of Data
JP5597266B2 (ja) ストレージシステム
JP2005004349A (ja) ストレージシステムの制御方法、ストレージシステム、及びストレージ装置
EP1486862A2 (en) Storage system and data reproduction method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061027

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20061027

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080313

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080408

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080513

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4147198

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110627

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110627

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120627

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120627

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130627

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250