JP2005165702A - クラスタストレージのデバイス連結方法 - Google Patents

クラスタストレージのデバイス連結方法 Download PDF

Info

Publication number
JP2005165702A
JP2005165702A JP2003403968A JP2003403968A JP2005165702A JP 2005165702 A JP2005165702 A JP 2005165702A JP 2003403968 A JP2003403968 A JP 2003403968A JP 2003403968 A JP2003403968 A JP 2003403968A JP 2005165702 A JP2005165702 A JP 2005165702A
Authority
JP
Japan
Prior art keywords
storage
logical device
node
storage area
access request
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.)
Pending
Application number
JP2003403968A
Other languages
English (en)
Inventor
Yasutomo Yamamoto
康友 山本
Noboru Morishita
昇 森下
Kentetsu Eguchi
賢哲 江口
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 JP2003403968A priority Critical patent/JP2005165702A/ja
Priority to US10/768,648 priority patent/US7269646B2/en
Priority to EP04026813A priority patent/EP1538518A3/en
Publication of JP2005165702A publication Critical patent/JP2005165702A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system
    • 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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Abstract

【課題】
クラスタ構成ストレージ装置において、複数のストレージノードに分散した記憶領域を連結して、1つの記憶領域としてホスト計算機にアクセスさせる。
【解決手段】
各々ディスクとディスクへの入出力を制御する制御プロセッサとを有する第一のストレージノード及び第二のストレージノードと、第一のストレージノード及び第二のストレージノードを計算機と接続させるホスト接続ノードとを有するクラスタ構成ストレージシステムであって、第一のストレージノードは第一のストレージノード内に存在する第一の記憶領域と第二のストレージノード内に存在する第二の記憶領域とを有する記憶領域を論理デバイスとして管理し、ホスト接続ノードは計算機から論理デバイスに対応付けられた識別情報を有するアクセス要求を受信した場合に、アクセス要求を第一のストレージノードに送信する。
【選択図】図3

Description

本発明は、計算機システムにおいて計算機によって使用されるデータを格納するストレージ装置、特にクラスタ構成を採用したストレージ装置に関する。
近年、計算機で取り扱われるデータ量は飛躍的に増大し、これに応じてデータを格納するストレージの大容量化が進んでいる。大容量ストレージの管理コストを削減するアプローチの一つとして、大容量データを多数の小型ストレージに分散格納するのではなく、高性能、高信頼、高可用な大型ストレージ一台に大容量データを集約して格納するシステム設計が行われている。管理対象となるストレージの台数を抑えることで、障害保守などストレージの管理コストを低減することが可能となる。
だが、一台のストレージ装置が大容量データを格納し、かつ多数のホストコンピュータと接続する場合、ストレージ装置の内部に実装する制御プロセッサやディスク装置数が増加する。そしてそれら多数の制御プロセッサやディスク装置間で高速連携を行う必要があるため、内部バスや制御メモリの高速化、制御プロセッサ間での競合回避などが、ハードウェアおよびソフトウェア双方において、技術面およびコスト面での大きな課題となる。
この課題を解決し、大規模かつ低コストな大型ストレージを実現する方法として、特許文献1に開示されている技術のように、ストレージへのクラスタ技術の適用が考えられる。
クラスタ構成ストレージシステムは、比較的小構成のストレージノード複数台をスイッチ等の相互接続機構で相互に接続した構成を有し、係る構成によって大容量のストレージ装置が実現される。その構成方法には様々な形態が考えられるが、クラスタ構成ストレージシステムが受信した入出力要求は、入出力要求の対象デバイスを搭載するストレージノードへ振り分けられ、各ストレージノードで入出力要求が処理されるという点は同じである。一般に、各ストレージノードには通常のストレージ装置と同様、ホストインタフェース、ディスク装置、制御プロセッサ、メモリ、制御メモリ、ディスクキャッシュなどが搭載され、これらの部位がストレージノード内で内部ネットワークにより結合される。各ストレージノードでは、これら内部部位を用いてディスク装置への入出力要求処理を行う。
ここで、各ストレージノードのディスクキャッシュおよび制御メモリは、当該ノード内に存在する制御プロセッサ間でのみ共有されるため、クラスタ構成ストレージシステムでは、内部バスやメモリの性能要件を緩和することが可能となる。更に、ストレージノードを計算機システムが必要とする記憶容量に合わせて複数結合して、クラスタ構成ストレージシステムを構成することで、小容量から大容量まで様々な容量を持つストレージシステムをスケーラブルに実現できる。尚クラスタ構成ストレージシステムでは、データ複製や内部でのデータ再配置など、ディスク装置間でのデータ連携のために、各ストレージノード間で相互接続機構を介して、制御情報やディスク装置に格納されているデータがやりとりされる。
米国特許6、256、740号明細書
クラスタ構成ストレージでは、ディスク装置やディスクキャッシュなどの資源はストレージノード内の制御プロセッサでのみ制御され、ノード間で共用されることはない。そのため、各ストレージノードに分散配置されるディスク装置の記憶容量の管理、すなわち、各ストレージノードへのディスク装置の実装容量の設計、ホストコンピュータへのボリューム(ボリュームとは、クラスタ構成ストレージ内の記憶領域をホストコンピュータに割り当てる際の割り当て単位で、ホストコンピュータからは1ボリュームが1つのディスク装置と認識される。)割り当て時におけるストレージノード間での割り当て記憶容量の調整、ホストコンピュータに割り当てられておらず未使用な空き記憶領域の容量管理などが課題となる。
特に空き記憶領域の容量管理においては、ホストコンピュータを管理するユーザからボリューム割り当て要求に対して要求された容量のボリュームを割り当てる際には、空き領域を極力少数のストレージノードへ集めて各ストレージノードの空き領域サイズを大きくしておき、なるべく少数のストレージノード内の空き領域をホストコンピュータに割り当てることが好ましい(即ち、多数のストレージノード内の空き記憶領域を合わせて1つボリュームを構成してホストコンピュータに割り当てるより、なるべく少数のストレージノード内の空き記憶領域から1つのボリュームを構成してホストコンピュータに割り当てる方が好ましい。)。しかし、ストレージノード間での負荷の均衡化の観点では、割り当て済みの記憶領域容量にストレージノード間で偏りが発生しないようにすることが好ましく、すなわち、各ストレージノードに空き領域が偏り無く分散することが好ましい。また、動的にボリュームの割り当て、解除が行われる環境では空き領域が各ストレージノードに分散する傾向にあるが、空き領域を少数のストレージノードに集めるためには、それら少数ストレージノード内の使用中の記憶領域に格納されているデータを他のストレージノードの空き領域に移動する必要が生じ、データ移行処理がホストコンピュータからのI/O処理に影響を及ぼす可能性も高い。よって、クラスタ構成ストレージでは、複数のストレージノードに空き領域が分散する状況が容易に起こりうると考えられる。 これに対して、ホストコンピュータからのボリューム割り当て要求を受け付けた時点で、要求された容量の空き領域を持つストレージノードが存在しない場合には、割り当て要求を保留もしくは拒否したり、ストレージ保守員等により特定ストレージノードへディスク装置を増設してボリュームを割り当てるサービス形態も考えられる。しかし、この形態ではホストコンピュータからのボリューム割り当て要求に応えられなかったり、ボリュームを実際に割り当てるまでの期間が長くなり、ボリュームを即座に必要とするホストコンピュータのユーザの要求を満たせないことになる。
したがって、クラスタ構成ストレージにおいては、複数ストレージノードに分散した空き領域を結合して、一つのボリュームとしてユーザへ提供する機能(これを以下、ボリューム連結機能と呼ぶ。)が非常に重要となる。そこで、クラスタ構成ストレージ装置において、複数のストレージノードに分散した記憶領域を連結して、1つの記憶領域としてホスト計算機にアクセスさせる技術を開示する。また、複数のストレージ装置に存在する複数の記憶領域を、あるストレージ装置が連結して1つの記憶領域としてホスト計算機にアクセスさせる技術も開示する。
各々ディスクとディスクへの入出力を制御する制御プロセッサとを有する第一のストレージノード及び第二のストレージノードと、第一のストレージノード及び第二のストレージノードを計算機と接続させるホスト接続ノードとを有するクラスタ構成ストレージシステムであって、第一のストレージノードは第一のストレージノード内に存在する第一の記憶領域と第二のストレージノード内に存在する第二の記憶領域とを有する記憶領域を論理デバイスとして管理し、ホスト接続ノードは計算機から論理デバイスに対応付けられた識別情報を有するアクセス要求を受信した場合に、アクセス要求を第一のストレージノードに送信する。 若しくは、各々ディスクとディスクへの入出力を制御する制御プロセッサとを有する第一のストレージシステム及び第二のストレージシステムと、第一のストレージシステム及び第二のストレージシステムを計算機と接続するスイッチとを有する計算機システムであって、第一のストレージシステムは第一のストレージシステム内の第一の記憶領域と第二のストレージシステム内の第二の記憶領域とから構成される論理デバイスを管理しており、スイッチは論理デバイスと対応付けられた識別情報を有するアクセス要求を受信した場合に、アクセス要求を第一のストレージシステムに送信する。
本発明のクラスタ構成ストレージシステムによれば、ストレージ制御部で複数のストレージ制御部に存在する空き領域を結合して1つのデバイスとして管理することができる。また、本発明によれば、複数のストレージシステムに存在する空き記憶領域をあるストレージシステムが結合して1つの論理デバイスとして管理することができる。
本発明の実施形態の例として、第1から第3の実施形態を説明する。
第1の実施形態は、複数のストレージノード(以下、ストレージ制御部ともいう。)と、ホスト計算機に接続されるホスト接続ノード(以下、プロトコル変換部ともいう)と、複数のストレージ制御部及びプロトコル変換部を接続する相互接続網を有するクラスタ構成を有するストレージ装置において、複数のストレージ制御部に分散して存在する空き領域を代表のストレージ制御部(マスタストレージ制御部)が連結して1つの論理デバイスとして管理する例を示す。第1の実施形態においては、プロトコル変換部は論理デバイスへのアクセス要求をホスト計算機から受信して、これをマスタストレージ制御部に送信し、マスタストレージ制御部は受信したアクセス要求がいずれのストレージ制御部に対するアクセス要求か判断して、選択されたストレージ制御部にアクセス要求を送信する。
第2の実施形態は、第1の実施形態と同様のクラスタ構成を有するストレージ装置において、マスタストレージ制御部が空き領域を連結して作成した論理デバイスの連結境界をプロトコル変換部でも認識し、ホスト計算機から論理デバイスへのアクセス要求を受信したプロトコル変換部が、アクセス対象のアドレスに応じてアクセス対象のストレージ制御部を選択し、選択されたストレージ制御部にアクセス要求を振り分ける例を示す。
第3の実施形態は、他ストレージ装置のデバイスを自装置のデバイスとして仮想化するデバイス仮想化機能を搭載するストレージ装置を含む、複数ストレージ装置を、同じくデバイス仮想化機能を有するインテリジェントスイッチで接続した計算機システムにおいて、複数のストレージ装置に分散した空き領域を代表となるストレージ装置が連結してインテリジェントスイッチに対して提供する例を示す。
まず第1図から第3図、第5図から第15図を参照して第1の実施形態を説明する。
第1図は本発明の第1の実施形態が適用される計算機システムのハードウェア構成の一例を示す図である。
計算機システムは、1台以上のホスト計算機(以下、ホストとも呼ぶ。)100と、管理サーバ110と、ストレージ装置130と、管理端末190を有する。ホスト100は一以上のポート107を、ストレージ装置130は一以上のポート141を有し、ホスト100及びストレージ装置130は各々ポートを介して接続される。また、ホスト100とストレージ装置130は、IPネットワーク175を介して管理サーバ110に接続され、管理サーバ110で動作する図示しないストレージ管理ソフトウェアによって統合管理される。なお、本実施形態では、ストレージ130は管理端末190を介して管理サーバ110に接続する形態をとるものとするが、ストレージ装置130が直接IPネットワークに接続される構成であっても良い。
ホスト100は、CPU101やメモリ102、記憶装置103などを有する計算機であり、ディスク装置や光磁気ディスク装置などの記憶装置103に格納されたオペレーティングシステムやアプリケーションプログラムなどのソフトウェアをメモリ102に読み上げ、CPU101がこれらのソフトウェアをメモリ102から読み出して実行することで、様々な処理が実行され、所定の機能が達成される。ホスト100はまた、キーボードやマウスなどの入力装置104やディスプレイ105等の出力装置を具備し、入出力装置104がホスト管理者などからの入力を受け付け、出力装置がCPU101から指示された情報を出力する。又、ホスト100はストレージ130と接続するための一以上のポート107と、IPネットワーク175と接続するための一以上のインタフェース制御部106を有する。
管理サーバ110は、CPU111やメモリ112、記憶装置113、入力装置114、出力装置115、IPネットワーク175と接続するためのインタフェース制御部116を有する計算機であり、ディスク装置や光磁気ディスク装置等の記憶装置113に格納されたストレージ管理ソフトウェアなどをメモリ112に読み上げ、CPU111がそれを読んで実行することで、計算機システム全体の運用・保守管理のための処理が実行され、所定の機能が達成される。CPU111によってストレージ管理ソフトウエアが実行されると、管理サーバ110はインタフェース制御部116からIPネットワーク175を介して、計算機システム内の各機器から構成情報、リソース利用率、性能監視情報などを収集する。そして、管理サーバ110は収集したそれらの情報をディスプレイ115等の出力装置に出力してストレージ管理者に提示する。また、管理サーバは、キーボードやマウス等の入力装置114を介してストレージ管理者からの指示を受信し、受信した運用・保守指示をインタフェース制御部116を介して各機器に送信する。
ストレージ装置130はクラスタ構成を有し、具体的には、複数のプロトコル変換部140と複数のストレージ制御部150と構成管理部160を、相互接続網170で接続した構成を有する。
プロトコル変換部140には、ホストと接続される複数のポート141と、1つ以上の制御プロセッサ142と、メモリ143と、相互接続網170に接続される転送制御部144とが搭載されており、制御プロセッサ142がポート141から受信した入出力要求についてアクセス対象デバイスを特定し、転送制御部144が特定されたアクセス対象デバイスに基づいて、相互接続網170を介して適当なストレージ制御部150へ入出力要求やデータを転送する処理を行う。その際、制御プロセッサ142はホストから受信した入出力要求に含まれるポートIDおよびLUN(Logical Unit Number)からアクセス対象のデバイスを特定する。
第3図に、第1の実施形態のクラスタ構成ストレージ(即ちストレージ装置130)におけるデバイス階層の一例を示す。第1の実施形態のストレージ装置130では、複数のストレージ制御部150が提供するデバイスをまとめて、1つの論理デバイスとしてホスト100へ提供するため、次のようなデバイス階層を有する。
まず、ストレージ制御部150内でディスク装置157複数台によるディスクアレイが構成され、このディスクアレイはストレージ制御部150によって物理デバイス304として管理される。さらに、ストレージ制御部150では、当該ストレージ制御部150内に搭載された物理デバイスに対して下位論理デバイス302が割り当てられる(即ち、ストレージ制御部150は物理デバイス304と下位論理デバイス302とを対応づける)。下位論理デバイスは各ストレージ制御部150内において管理される論理デバイスであり、その番号は各ストレージ制御部150毎に独立管理される。下位論理デバイスは、構成管理部160によって上位論理デバイス301と対応付けられ、さらにプロトコル変換部140によって各ポート141に割り当てられたLUN(Logical Unit Number)に対応付けられ、ストレージ装置130のデバイスとしてホスト100に提供される。即ち、ホストを利用するユーザが認識するのはストレージ130の上位論理デバイスであり、ホスト100は上位論理デバイスに対応するポート141のLUNを用いて、ストレージ装置130に格納されているデータにアクセスする。
なお、本実施形態では、ストレージ制御部150は他のストレージ制御部150内で管理されている下位論理デバイスを仮想化して、あたかも自ストレージ制御部150内で管理されている物理デバイスの様に用いるデバイス仮想化機能を有する。この仮想化機能を用いて管理される他ストレージ制御部150の下位論理デバイスを仮想デバイス303と呼び、下位論理デバイスは、1つ以上の物理デバイス又は仮想デバイス(すなわち他ストレージ制御部150の下位論理デバイス)を連結して構成される。つまり、ストレージ制御部150は1以上の物理デバイス又は仮想デバイスを1つの下位論理デバイスと対応付けて管理する。なお、仮想デバイスも各ストレージ制御部150内で独立管理される。
以上のようなデバイス階層に従い、プロトコル変換部140では、入出力要求に含まれるポートIDとLUNから、アクセス対象となる上位論理デバイス番号を算出し、さらに当該上位論理デバイスが対応するストレージ制御部150と下位論理デバイス番号を特定する。そしてプロトコル変換部140は、特定されたストレージ制御部150へ、特定された下位論理デバイス番号を算出するのに必要な情報を付加した入出力要求を送信する。
なお本実施形態では、ポート141としてSCSI(Small Compuer System Interface)を上位プロトコルとしたファイバチャネルインタフェースに対応したポートを想定しているが、SCSIを上位プロトコルとしたIPネットワークインタフェースなど、他のストレージ接続用ネットワークインタフェースに対応したポートであっても構わない。
図1に戻って、ストレージ制御部150は、1つ以上のポート156、各々ポートに接続される1台以上のディスク装置157、1つ以上の制御プロセッサ152と各々のプロセッサに対応する1つ以上のメモリ153、1つ以上のディスクキャッシュ154、1つ以上の制御メモリ155、及び相互接続網170に接続される転送制御部151を有する。
制御プロセッサ152は、相互接続網170を介して転送制御部151により受信した、同じストレージ制御部150内のディスク装置157への入出力要求を処理する。また制御プロセッサ152は、ディスク装置157と物理デバイス304との間の対応関係、物理デバイス304や仮想デバイス303と下位論理デバイス302との対応関係、仮想デバイス303と他のストレージ制御部に属する下位論理デバイス302との対応関係の管理や、下位論理デバイスに対するアクセス要求を物理デバイス若しくはディスク装置157へのアクセス要求に変換する処理などを行う。更に制御プロセッサ152はデータ複製やデータ再配置など、データ連携機能を実現する各種処理を実行する。
ディスクキャッシュ154は、ホスト100からのアクセス要求に対する処理速度を高めるため、ディスク装置157から頻繁に読み出されるデータを予め格納しておいたり、ホスト100から受信したライトデータを一時的に格納したりする。尚、ディスクキャッシュ154を用いたライトアフタ処理を行う場合、即ちホスト100から受信したライトデータがディスクキャッシュ154に格納された後、ディスク装置157に実際に書き込まれる前にホスト100に対しライト要求に対する応答をストレージ装置が返す場合には、ディスクキャッシュに格納されているライトデータがディスク装置157に書き込まれる前に消失することのないよう担保する必要がある。そこで、ディスクキャッシュ154をバッテリバックアップなどにより不揮発メモリとしたり、媒体障害への耐性向上のためディスクキャッシュを二重化するなど、ディスクキャッシュ154の可用性を向上させておくことが望ましい。
制御メモリ155は、ディスク装置157、一又は複数のディスク装置157を組み合わせて構成される物理デバイス304、若しくは他のストレージ制御部の下位論理デバイスであって仮想的に物理デバイスと同様に管理される仮想デバイス303の管理や、物理デバイス又は仮想デバイスと下位論理デバイスの対応関係の管理を行うための制御情報を格納する。なお、制御メモリ155に格納されている制御情報が消失すると、ディスク装置157に格納されているデータへアクセスできなくなるため、制御メモリはバッテリバックアップなどにより不揮発メモリとしたり、媒体障害への耐性向上のため二重化するなど、高可用化のための構成を有することが望ましい。
尚、本実施形態におけるストレージ装置130では、複数のディスク装置157をまとめて1つまたは複数の物理デバイスと定義し(即ち複数のディスク装置157をまとめて1つ又は複数の物理デバイスと対応付け)、1つ以上の物理デバイス若しくは仮想デバイスに1つの下位論理デバイスが割り当てられ、更に1つの下位論理デバイスに1つの上位論理デバイスが割り当てられて、上位論理デバイスがホスト100からアクセスされる。しかしもちろん、個々のディスク装置157を1つの物理デバイスおよび1つの下位論理デバイス及び上位論理デバイスとしてホスト100に提供し、ホストからアクセスさせてもよい。
構成管理部160は、一又は複数の制御プロセッサ162、各々の制御プロセッサに対応する一又は複数のメモリ163、一又は複数の制御メモリ164、記憶装置165、相互接続網170と接続される転送制御部161、及びインタフェース制御部166を有する。固定ディスク装置などの記憶装置165に格納された制御プログラムをメモリ163に読み上げ、これを制御プロセッサ162が実行することで、ストレージ装置130の構成管理や障害管理のための所定の処理が実行される。制御プロセッサ162は、インタフェース制御部166を介して接続される管理端末190に、ストレージ管理者へ提示する構成情報を送信したり、管理者から管理端末190に入力された保守・運用指示を受信して、受領した指示に従いストレージ装置130の構成変更処理などを行う。
ストレージ装置130の構成情報は、構成管理部160内の制御メモリ164に格納される。制御メモリ164上の構成情報はプロトコル変換部140の制御プロセッサ142やストレージ制御部150の制御プロセッサ152から参照したり更新したりすることができるので、ストレージ装置130内の各プロトコル変換部140及び各ストレージ制御部150間で、構成情報の共有を実現することができる。なお、構成管理部160が障害などにより動作不能に陥った場合、ストレージ130全体がアクセス不能となるため、構成管理部160内の各構成要素を二重化しておくか、もしくは構成管理部160自体をストレージ装置130内に複数搭載して構成管理部160自体の二重化をしておくことが望ましい。また、管理端末190から1つ以上のストレージ制御部150へのI/Fを別途設け、構成管理部が行う制御をストレージ制御部150と管理端末190で分担することで、構成管理部160を制御メモリ164のみの構成にすることも可能である。さらに、制御メモリ164内の情報を1つ以上のストレージ制御部150の制御メモリ155で保持することで、構成管理部160を省略することも可能である。
相互接続網170は、プロトコル変換部140、ストレージ制御部150、構成管理部160を接続し、これらの各部位間でのデータ、制御情報、及び構成情報の送受信を実行する。この相互接続網170により、構成管理部160が、ストレージ装置130内に存在するプロトコル変換部140及びストレージ制御部150にストレージ装置130の構成情報を配布したり、プロトコル変換部140やストレージ制御部150から構成情報を取得してストレージ装置130の構成を管理したりすることができる。また、相互接続網170がプロトコル変換部140とストレージ制御部150との間でアクセス要求を転送するので、ホスト100はプロトコル変換部140の任意のポート141からストレージ制御部150に属するディスク装置にアクセスすることが可能となる。なお、可用性向上の観点から相互接続網も多重化されていることが望ましい。
管理端末190は、CPU192、メモリ193、記憶装置194、構成管理部160と接続されるインタフェース制御部191、IPネットワーク175と接続されるインタフェース制御部197、ストレージ管理者からの入力を受け付ける入力装置195及びストレージ管理者にストレージ130の構成情報や管理情報を出力するディスプレイ196等の出力装置を有する。CPU192は記憶装置194に格納されているストレージ管理プログラムをメモリ193に読み出して、これを実行することにより、構成情報の参照、構成変更の指示、特定機能の動作指示などを行い、ストレージ装置130の保守運用に関して、ストレージ管理者もしくは管理サーバ110とストレージ装置130間のインタフェースとなる。なお、管理端末190を省略して、ストレージ130装置を直接管理サーバ110へ接続し、ストレージ装置130を管理サーバ110で動作する管理ソフトウェアを用いて管理してもよい。
次に、本発明の実施形態におけるストレージ装置130のソフトウェア構成について説明する。図2はストレージ装置130および管理端末190の制御メモリ又はメモリに格納される、制御情報とストレージ制御処理のためのプログラムの一例を示したソフトウェア構成図である。
なお、以降の説明では、表現の簡略化のため、プロトコル変換部140をPA(Protocol Adaptor)、ストレージ制御部150をSA(Storage Adaptor)、構成管理部160をMA(Management Adaptor)、管理端末190をST(Service Terminal)と表記する。
ストレージ装置130の構成管理情報として、SA150の制御メモリ155に下位論理デバイス管理情報201と仮想デバイス管理情報202と物理デバイス管理情報203とキャッシュ管理情報204が、MA160の制御メモリ164に上位論理デバイス管理情報205とLUパス管理情報206が格納されている。
図5に上位論理デバイス管理情報205の一例を示す。上位論理デバイス管理情報205は、各上位論理デバイスにつき、上位論理デバイス番号51から対応SA番号、下位論理デバイス番号リスト57までの情報組を保持する。
上位論理デバイス番号51には、上位論理デバイスを識別するために各上位論理デバイスに対してMA160が割り当てた番号が格納されている。サイズ52には、上位論理デバイス番号51により特定される上位論理デバイスの容量が格納されている。
デバイス状態53には、当該上位論理デバイスの状態を示す情報が設定される。状態としては、「オンライン」、「オフライン」、「未実装」、「障害オフライン」が存在する。「オンライン」は、当該上位論理デバイスが正常に稼動し、ホスト100からアクセスできる状態であることを示す。「オフライン」は、当該上位論理デバイスは定義され、正常に稼動しているが、LUパスが未定義であるなどの理由で、ホスト100からはアクセスできない状態にあることを示す。「未実装」は、当該上位論理デバイスが定義されておらずホスト100からアクセスできない状態にあることを示す。「障害オフライン」は、当該上位論理デバイスに障害が発生してホスト100からアクセスできないことを示す。デバイス状態53の初期値は「未実装」である。
上位論理デバイス管理情報205のエントリ54のポート番号には、当該上位論理デバイスが複数のポート141のうちどのポートに接続されているかを表す情報、即ち当該上位論理デバイスにアクセスするために用いられるポートの識別情報が設定される。ここでポートの識別情報とは、各ポート141に割り振られているストレージ装置130内で一意な番号であり、エントリ54には、当該上位論理デバイスがLUN定義されているポート141の番号が記録される。また、同エントリ54に格納されるターゲットIDとLUNは、当該上位論理デバイスを識別するための識別子である。本実施形態においては、上位論理デバイスを識別するための識別子として、SCSI上でホスト100からデバイスをアクセスする場合に用いられるSCSI−IDとLUNが用いられる。
接続ホスト名55は、当該上位論理デバイスへのアクセスが許可されているホスト100を識別するホスト名である。ホスト名としては、ホスト100のポート107に付与されたWWN(World Wide Name)など、ホスト100もしくはポート107を一意に識別可能な値であれば何を用いてもよい。同ストレージ装置130には、このほかに、WWNなどの各ポート141の属性に関する管理情報を保持する。
対応下位論理デバイス数56には、当該上位論理デバイスに対応づけられている下位論理デバイス数が保持されるが、第1の実施形態では上位論理デバイスと下位論理デバイスは1対1対応であるから、同エントリ56には常に1'が設定される。
対応SA番号、下位論理デバイス番号リスト57には、当該上位論理デバイスに対応付けられている下位論理デバイスの番号と、当該下位論理デバイスが属するSA150の番号と、当該下位論理デバイスに対応する当該上位論理デバイス内オフセットの情報組が、上位論理デバイスに対応付けられている下位論理デバイスの数分リストとして格納される。第1の実施形態では1つの上位論理デバイスには1つの下位論理デバイスが割り当てられているので、対応SA番号、下位論理デバイス番号リスト57には、1つの下位論理デバイスが登録され、オフセットは0'となる。また、上位論理デバイスが未定義の場合、対応SA番号、下位論理デバイス番号57エントリには無効値が設定される。尚、本エントリの下位論理デバイス番号が、当該下位論理デバイスを管理するSA150の下位論理デバイス管理情報201におけるエントリ番号となる。
図6にLUパス管理情報206の一例を示す。LUパス管理情報206は、ストレージ装置130内のプロトコル変換部140が有する各ポート141について、各ポートに定義されている有効なLUN分の情報を保持する。ターゲットID/LUN61エントリには、ポート141に定義された(割り当てられた)LUNが格納される。対応上位論理デバイス番号62には、当該LUNが割り当てられている上位論理デバイスの番号が格納される。接続ホスト名63は、当該ポート141に定義されている当該LUNに対してアクセスを許可されているホスト100を示す情報が格納され、ホスト100を示す情報としては例えば上述のホスト100のポート107に付与されているWWNが用いられる。
尚、一つの上位論理デバイスに対して複数のポート141のLUNが定義され(割り当てられ)ており、複数のポート141から当該上位論理デバイスにアクセスできる場合がある。この場合、当該複数のポート141のLUN各々に関するLUパス管理情報206の接続ホスト名63の和集合が、当該上位論理デバイスに関する上位論理デバイス管理情報205の接続ホスト名55に保持される。
図7に下位論理デバイス管理情報201の一例を示す。各SA150は、自SAに属する下位論理デバイス毎に、下位論理デバイス番号71から対応下位デバイスリスト76までの情報組を保持する。下位論理デバイス番号71には、下位論理デバイスを識別するための識別番号が登録される。サイズ72には、当該下位論理デバイス番号71により特定される下位論理デバイスの容量が格納されている。デバイス状態73には、当該下位論理デバイスの状態を示す情報が設定されるが、その値は上位論理デバイス管理情報205のデバイス状態53と同じであるため、説明は省略する。ただし、下位論理デバイスでは「オンライン状態」は上位論理デバイスもしくは他SA150の仮想デバイスに関連づけられていることを示す。
上位デバイス対応情報74には、当該下位論理デバイスが対応する上位論理デバイス番号、又は別のSA150のSA番号と仮想デバイス番号が設定される。
対応下位デバイス数75には、当該下位論理デバイスを構成する物理デバイス、又は仮想デバイスの数が、対応下位デバイスリスト76には、それらデバイスの識別情報のリストがそれぞれ格納される。なお、当該下位論理デバイスに対して物理デバイス若しくは仮想デバイスが割り当てられていない場合、エントリ75には0'が設定される。尚、エントリ76に登録されるデバイス番号は、当該下位論理デバイスを管理しているSA150が保持する物理デバイス管理情報203、もしくは仮想デバイス管理情報202のエントリ番号となる。
図8にSA150が他SA150の下位論理デバイスを自SAの物理デバイスとして管理するために用いる仮想デバイス管理情報202の一例を示す。各SA150は、自SA内に定義した仮想デバイス毎に、仮想デバイス番号81から対応SA番号、下位論理デバイス番号85までの情報組を保持する。仮想デバイス番号81には、SA150内で仮想デバイスを一意に識別するための識別番号が登録される。サイズ82には、当該仮想デバイスの容量が格納されている。デバイス状態83には、当該仮想デバイスの状態を示す情報が設定されるが、その値は下位論理デバイス管理情報201のデバイス状態73と同じであるため、説明は省略する。対応下位論理デバイス番号84は、当該仮想デバイスが割り付けられた下位論理デバイス番号が設定される。対応SA番号、下位論理デバイス番号85には、当該仮想デバイスとして定義された、他のSA150内の下位論理デバイスの識別番号(当該他のSA150が当該下位論理デバイスに割り当てた識別番号)と、同SA150の識別番号が登録される。
図9にSA150内のディスク装置157から構成される物理デバイスを管理するための物理デバイス管理情報203の一例を示す。各SA150は、自SA内に存在する物理デバイス毎に、物理デバイス番号91からディスク内サイズ99の情報組を保持する。
物理デバイス番号91には、物理デバイスを識別するための識別番号が登録される。サイズ92には、物理デバイス番号91により特定される物理デバイスの容量が格納されている。デバイス状態93には、当該物理デバイスの状態を示す情報が設定される。状態としては、「オンライン」、「オフライン」、「未実装」、「障害オフライン」が存在する。「オンライン」は、当該物理デバイスが正常に稼動し、下位論理デバイスに割り当てられている状態であることを示す。「オフライン」は、当該物理デバイスは定義され、正常に稼動しているが、下位論理デバイスに未割り当てであることを示す。「未実装」は、当該物理デバイスがディスク装置157上に定義されていない状態にあることを示す。「障害オフライン」は、当該物理デバイスに障害が発生して下位論理デバイスに割り当てられないことを示す。なお、本実施形態では、簡単のため、物理デバイスは製品の工場出荷時にあらかじめディスク装置157上に作成されているものとする。このため、利用可能な物理デバイスについてはデバイス状態93の初期値は「オフライン」状態、その他は「未実装」状態となる。
性能/信頼性レベル94は、当該物理デバイスの性能および信頼性を少なくとも計算機システム内で統一された基準により評価した値を保持する。性能レベルの判定指標としては、当該物理デバイスに属するディスク装置157のシーク速度や回転速度などの性能値、容量、RAIDレベルなどがあげられる。また、信頼性レベルについては、当該物理デバイスの冗長度やRAIDレベル、利用可能な交替パス数など製品仕様上の各種構成条件があげられる。
対応下位論理デバイス番号95には、当該物理デバイスが対応付けられている下位論理デバイス番号が格納される。当該物理デバイスが下位論理デバイスへ割り当てられていない場合、エントリ95には無効値が設定される。
RAID構成96には、当該物理デバイスが割り当てられたディスク装置157のRAIDレベル、データディスク数とパリティディスク数などRAID構成に関連する情報が保持される。同じように、ストライプサイズ97には、RAIDにおけるデータ分割単位(ストライプ)長が保持される。ディスク番号リスト97には、当該物理デバイスが割り当てられたRAIDを構成する複数のディスク装置157各々の識別番号が保持される。このディスク157の識別番号は、SA150内でディスク装置157を識別するために付与した一意な値である。ディスク内開始オフセットとディスク内サイズ98には、当該物理デバイスが各ディスク装置157内のどの領域に割り当てられているかを示す情報である。本実施例では簡単のため、全物理デバイスについて、RAIDを構成する各ディスク装置157内のオフセットとサイズを統一させている。
次に、再び図2に戻り、ストレージ装置130のPA140内のメモリ143、SA内のメモリ153、MA内のメモリ163、及び管理端末190内のメモリ193に格納されている情報およびプログラムについて説明する。
SA内の制御メモリ155およびMA内の制御メモリ164に格納されている各制御情報は、各SA、各PA及びMA内の各制御プロセッサから参照・更新可能であるが、その際に相互接続網170などを介したアクセスが必要となる。よって、処理性能向上のため、各制御プロセッサで実行される処理に必要な制御情報の複製を、各部位(即ち、SA、PA又はMA)内のメモリに保持する。各部位は、当該部位が管理する制御情報が、構成変更により更新された場合は、相互接続網170を介してその旨を他の部位に通知し、最新情報を当該部位の制御メモリから他の部位のメモリへ取り込ませる。
尚、各部位のメモリには上述の制御情報の複製に加えて、各部位内の制御プロセッサで動作する制御プログラムが格納される。
本実施形態では、ストレージ装置130のSA150内に存在する空き領域をストレージ装置130の上位論理デバイスとして定義する処理、すなわち論理デバイス定義処理およびLUパス定義処理と、そうして定義されたストレージ装置130の上位論理デバイスに対するホスト100からの入出力要求の処理を例に、ストレージ装置130の制御方法を説明する。これらの処理に関連してSA、PA及びMAのメモリには少なくとも、以下の制御情報とプログラムが保持される。
PA140のメモリ143には、上位論理デバイス管理情報の複製215とLUパス管理情報の複製216と、要求振り分け処理251のプログラム、LUパス定義処理252のプログラムが格納される。SA150のメモリ153には、下位論理デバイス管理情報の複製211、仮想デバイス管理情報の複製212、物理デバイス管理情報の複製213と、コマンド処理253のプログラム、論理デバイス定義処理254のプログラム、ライトアフタ処理255のプログラムが格納される。MA160のメモリ163には、全デバイス管理情報(即ち、上位論理デバイス管理情報、下位論理デバイス管理情報、仮想デバイス管理情報、物理デバイス管理情報)の複製210と、論理デバイス定義処理254のプログラム、LUパス定義処理252のプログラムが格納される。ST190のメモリ193には、全デバイス管理情報の複製210と、論理デバイス定義処理254のプログラム、LUパス定義処理252のプログラム、及びデバイス割り当て処理256のプログラムが格納される。
次に各部位で実行されるストレージ制御処理について説明する。
ストレージ装置130内に存在する物理デバイスを論理デバイスに対応付けて、論理デバイスを特定のホスト100に割り当てて当該ホスト100から使用可能とするデバイス割り当て処理256は主に管理端末190の制御プロセッサ192によって実行される。このデバイス割り当て処理256は、構成管理部160の制御プロセッサ162によって実行される論理デバイス定義処理254とLUパス定義処理252の2つの処理と連携して動作する。
図10は、デバイス割り当て処理256の処理フローの一例を示す図である。デバイス割り当て処理256は、ストレージ装置130内の物理デバイスに論理デバイスを割り当て、指定されたポート141に当該論理デバイスにアクセスするためのLUパスを定義して、当該論理デバイスをホスト100へ提供する処理であり、ST190の制御プロセッサ192にて実行される。
まず、ST190は、ストレージ管理者もしくは管理サーバ110からのデバイス割り当て指示を受け付ける(ステップ1001)。このとき、割り当てデバイス条件を示すパラメタとして、割り当てデバイスのサイズ、属性、アクセス元ホスト100のポート107の識別情報、LUパスを定義するポート番号およびLUNなどを受け取る。デバイス属性としては、当該デバイスに必要とされるアクセス性能、当該デバイスデータを保持するのに許容されるビットコストなど、性能、コストレベル、信頼性、可用性等を示す情報が設定される。
デバイス割り当て指示を受信したST190は、物理デバイス管理情報を参照して、ストレージ装置130の各SA150内の空き領域を検索し、割り当てデバイス条件を満たすものがあるかを調べる(ステップ1002、1003)。SA150内の空き領域とは、物理デバイスのうち、物理デバイス管理情報203内のデバイス状態93が「オフライン」であるものである。ステップ1002のチェックでは、SA各々について対応する物理デバイス管理情報203がチェックされ、デバイス状態93が「オフライン」であるものが検索される。ここで、空き領域である物理デバイスをキューなどで管理することで、検索時間を短縮することも可能である。また、空き領域である各物理デバイスが、デバイス割り当て指示に示されるデバイス要件を満たすかについては、各物理デバイスについての物理デバイス管理情報203内の性能/信頼性レベル94とRAID構成95などをST190参照することによって判定される。
次に、デバイス割り当て指示内で指定される条件を満たす空き記憶領域が、要求された容量分1つのSA内に存在するかどうかがSTによって判断される(ステップ1003)。
デバイス割り当て指示において指定された条件を満たす、要求された記憶容量分の空き領域を、ある一つのSA150が保有する場合には、当該SA150の空き領域を割り当て候補とする。要求された記憶容量分の空き領域が1つのSA150ではまかない切れない場合(即ち、ある1つのSAの配下にある物理デバイスのみでは要求された記憶容量を満たすことができない場合)、複数のSAの配下にある複数の物理デバイスを連結して要求された記憶容量を有するデバイスをホストに割り当てる必要がある。従って、複数SA150から空き領域を選定する(ステップ1004)。
ステップ1004にて、空き領域が要求された記憶容量分確保できなかったら、当該デバイス割り当てが不可であることを、デバイス割り当て指示の発行元であるストレージ管理者又は管理サーバ110へ報告する(ステップ1005、1010)。
一方複数のSAに属する複数の空き記憶領域によって、デバイス割り当て指示において指定された条件を満たす、要求された記憶容量分の空き領域を確保できる場合には(ステップ1005)、複数のSA150から空き領域を割り当て候補として複数個選択し、割り当て候補となる空き領域が属する複数のSA150の中から、これらの空き領域を連結して一つの下位論理デバイスとして管理するマスタSA150を選択し、空き領域の連結順序を決定する(ステップ1006)。マスタSA150の選択方法としては、例えば、候補となる複数のSA150の中で負荷の最も少ないものを選択することが考えられる。SAの負荷の判定基準としては、例えばSA150内の制御プロセッサ152の利用率やディスクキャッシュ154に保持されているが未だディスクに書き込まれていない未反映データの量など、SA150で取得される稼動情報や、各SA150に定義済みの下位論理デバイスの数や下位論理デバイスの総容量などが考えられる。
こうして、デバイス割り当て対象となる空き領域と、これらの空き領域を連結するマスタSAが決定されたら、SA150、PA140、MA160と連携して下位論理デバイス及び上位論理デバイスが定義され(ステップ1007)、デバイス割り当て指示と共に受信されるパラメータで示されたポート141にLUNを定義する(ステップ1008)。
そして、最後にSTは、論理デバイス定義処理(ステップ1007)やLUパス定義処理(ステップ1008)によって更新される制御情報をPAから取り込み、デバイス割り当て要求の要求元であるストレージ管理者若しくは管理サーバに処理の完了を報告すべく、完了報告を出力する。
図11は、論理デバイス定義処理254の処理フローの一例を示す図である。論理デバイス定義処理254は、ストレージ装置130に搭載される物理デバイスに対して、上位論理デバイスおよび下位論理デバイスを定義する処理である。ST190のデバイス割り当て処理256により、割り当て対象の空き領域(即ち、下位論理デバイスと対応付けられる物理デバイス)が決定したら(即ち図10のステップ1006の処理が終わったら)、ST190からMA160に対して論理デバイス定義指示が送信される(ステップ1101)。論理デバイス定義指示には、割り当て対象の空き領域数に加えて、空き領域識別情報(即ち空き領域である物理デバイスの識別番号と当該物理デバイスが属するSA150の番号)と、空き領域に割り当てられる下位論理デバイス番号と、空き領域に対してマスタSAが割り当てる仮想デバイスの番号と、空き領域のサイズからなる情報組のリスト、および下位論理デバイスへ割り当てる上位論理デバイス番号が含まれる。なお、空き領域はリストの順に連結され、リストの先頭に登録されている空き領域を保持するSA150がマスタSAとなる。
論理デバイス定義指示を受けたMA160では、当該論理デバイス定義指示に従ってデバイス割り当て対象の空き領域が複数存在しかつこれら複数の空き領域が複数SA150にまたがって存在するかどうか判断し、複数の割り当て対象の空き領域が複数のSAに存在している場合には、マスタSA以外のSA、即ちスレーブSAに対して、空き領域である物理デバイスへ下位論理デバイスを割り当てるよう指示する下位論理デバイス定義指示を送信する(ステップ1102)。この下位論理デバイス定義指示には、マスタSAの番号と、スレーブSAに属する物理デバイスの番号と、当該物理デバイスに対して割り当てられる下位論理デバイス番号と、当該下位論理デバイスに対してマスタSAが割り当てる仮想デバイスの番号が含まれる。尚、この下位論理デバイス番号は、ステップ1101にてSTからMAに送信される論理デバイス定義指示内のリストにて指定される番号であり、仮想デバイス番号も論理デバイス定義指示によって指定される番号である。
MAからの指示を受けたスレーブSAでは、下位論理デバイス定義指示の対象とされた物理デバイスに、下位論理デバイス定義指示によって指定された下位論理デバイスを定義する(即ち、対象物理デバイスに、下位論理デバイス定義指示によって指定される下位論理デバイス番号を割り当てる。)。(ステップ1103)。
具体的にはスレーブSAは、下位論理デバイス定義指示に含まれる情報に従って、下位論理デバイス管理情報201の対象デバイスエントリ(即ち、下位論理デバイス定義指示に付加されている下位論理デバイス番号に対応するエントリ)について、下位論理デバイス定義指示に付加されている下位論理デバイス番号をエントリ71に、割り当て対象の空き領域である物理デバイスの数と当該物理デバイスの番号のリストをそれぞれエントリ75、76に、当該スレーブSA150にて定義される下位論理デバイスのサイズをエントリ72に、マスタSAのSA番号とマスタSAによって当該下位論理デバイスに割り当てられる仮想デバイス番号をエントリ74に、デバイス状態を「オンライン」にそれぞれ設定する。更にスレーブSAは、物理デバイス管理情報203内の対応下位論理デバイス番号95に下位論理デバイス定義指示によって指定された下位論理デバイス番号を、デバイス状態に「オンライン」をそれぞれ設定する。登録が完了したらスレーブSA150はMA160にその旨通知する。
次にMA160は、マスタSAに対して、スレーブSAで定義した下位論理デバイスに対応する仮想デバイスの定義と、マスタSA内に属する物理デバイスと仮想デバイスを連結した下位論理デバイスの定義を指示する(ステップ1104)。本指示には、連結デバイス数と、連結対象デバイスの識別情報(即ち、物理デバイス番号またはスレーブSAで定義された下位論理デバイス番号とスレーブSA番号)と連結対象デバイスのサイズと、連結対象デバイスがスレーブSAに属する下位論理デバイスの場合にはマスタSAが当該連結対象デバイスに対して割り当てる仮想デバイス番号からなる情報組のリストと、マスタSAで定義する下位論理デバイス番号が含まれる。
本指示を受けたマスタSAでは、ステップ1105で、まずスレーブSAの下位論理デバイスに対して、ステップ1104で受信した指示内で指定された仮想デバイスを割り当てる。具体的には、ステップ1104で受信した指示内に含まれる仮想デバイス番号に対応する仮想デバイス管理情報202のエントリについて、マスタSAは仮想デバイス番号81を設定し、デバイス状態83には「オンライン」を設定する。さらにマスタSAは、スレーブSAの下位論理デバイスの情報を、対応SA番号、下位論理デバイス番号85、およびサイズ82に設定し、マスタSAで定義する下位論理デバイス番号を対応下位論理デバイス番号エントリ84に設定する。
そしてマスタSAは、ステップ1104にて指定されたマスタSA内の空き物理デバイスと仮想デバイスを連結して、連結されたデバイスにステップ1104にて指示された下位論理デバイスを割り当てる。具体的には、ステップ1104で指定される下位論理デバイスに対応する下位論理デバイス管理情報201について、マスタSAは、エントリ71にステップ1104で受信する下位論理デバイス番号を、72に当該下位論理デバイスのサイズを、エントリ73に「オンライン状態」を、エントリ74に対応する上位論理デバイス番号を、エントリ75に連結デバイス数を、エントリ76に連結対象となる物理デバイス又は仮想デバイスの番号リストをそれぞれ設定する。登録が完了したらマスタSAはMA160にその旨通知する。
次にMA160は、マスタSAで定義された下位論理デバイスに対して、ST190より指示された上位論理デバイスを割り当てる。そして、上位論理デバイスの設定が終了した旨をMAはPA140およびST190へ通知する(ステップ1106)。登録通知を受けたPA140、ST190では、必要なデバイスの管理情報(即ち図2においてPA及びSTが保持している管理情報)をメモリへ取り込み、ST190は本処理の要求元であるデバイス割り当て処理256に対して、要求処理の完了を報告する(ステップ1107)。
図12は、LUパス定義処理252の処理フローの一例を示す図である。LUパス定義処理252は、デバイス割り当て処理256と論理デバイス定義処理254により新規に定義された上位論理デバイスに対して、特定ポート141とLUNを設定する処理である。
まず、デバイス割り当て処理256のステップ1007により、上位論理デバイスが新規に割り当てられると、ST190はMA160に対してLUパス定義を指示する(ステップ1201)。LUパス定義指示には、LUパスを定義する対象上位論理デバイスの識別番号とLUを定義するポート141番号とLUNに加えて、このLUをアクセスするホスト100の識別情報(ホストが有するポート107のWWNなど)が付加される。
LUパス定義指示を受信したMA160は、ポートとLUNが割り当てられる対象上位論理デバイスに対してLUパス登録を行う(ステップ1202)。具体的にはMA160は、上位論理デバイス管理情報205の当該対象上位論理デバイスのエントリに、ポート番号、ターゲットID、LUN54と接続ホスト名55を、LUパス定義指示に付加された情報に従って設定する。またMA160は、LUパス定義指示内で指定される対象のポート141に対応するLUパス管理情報206の空きエントリに、ターゲットID/LUNを始めとする構成情報を設定する。LUパス登録及び設定が完了したら、MA160はその旨をストレージ装置130内の他の各部位へ通知し、通知を受信したPA140は新たに設定、登録されたLUパス管理情報や上位論理デバイス管理情報を取込み、通知を受信したST190は新たに設定、登録された上位論理デバイス管理情報を取り込むと共に、デバイス割り当て処理256の要求元である管理サーバ110やストレージ管理者へ処理完了を報告する(ステップ1203)。
次に、ホスト100から受信する入出力要求を処理する方法について、PA140での要求振り分け処理251とSA150でのコマンド処理253とライトアフタ処理255の3つに分けて説明する。
図13は、要求振り分け処理251の処理フローの一例を示す図である。要求振り分け処理251は、PA140のポート141においてホスト100から受け取った入出力要求やデータ、およびPAの転送制御部144においてSA150から受け取った転送準備完了報告やデータなどを、SA150又はホスト100のうち適切な対象部位へ振り分ける処理である。
要求振り分け処理251では、PAがコマンドフレームを受信した際に、PAは上位論理デバイス管理情報を参照して当該フレームの転送先を決定する。更にPAは、以降当該コマンドフレームによって開始される入出力処理(ファイバチャネルではエクスチェンジに相当する)でやりとりされるデータフレームなどの転送制御のために、当該入出力処理のルーティング制御情報を登録する。ルーティング制御情報は各PA140で独立に管理され、ルーティング制御情報には当該入出力処理の識別情報(ファイバチャネルの場合はフレームヘッダに格納されているエクスチェンジID)、要求元部位およびそのアドレス、要求先部位およびそのアドレスなどの情報が含まれる。要求元アドレスおよび要求先アドレスには、ファイバチャネルの場合、コマンドフレームのヘッダ情報に含まれるソースIDとデスティネーションIDおよびコマンド情報に含まれるLUNが用いられる。
ホスト100又はSA150からフレーム受信したPA140の制御プロセッサ142は、要求振り分け処理251を実行する。PAはまずフレームをポート141から受信したのか転送制御部144から受信したのかを判断し、この判断に基づいてフレームをホスト100から受信した場合とSA150から受信した場合で処理を切り分ける(ステップ1301、1308)。
ホスト100からポート141を介してフレームを受信した場合、PAはフレームの種別を判断し、受信フレームの種別により処理を切り分ける(ステップ1302)。尚、フレーム種別は、フレームに含まれる情報から判別することができる。
受信フレームがFCPコマンドフレームの場合、PA140は受信フレームに含まれるアクセス対象の上位論理デバイスと対応付けられたLUNに基づいて、LUパス管理情報206と上位論理デバイス管理情報205を参照し、受信したコマンドフレームのアクセス対象となっている上位論理デバイスが対応するSA番号、下位論理デバイス番号などを算出する。そして算出されたSA番号と下位論理デバイス番号を入出力処理の要求先、当該受信フレームの送信元(即ちホスト100)を入出力処理の要求元として、当該コマンドのルーティング制御情報を登録する(ステップ1303、1304)。そしてPAは、ステップ1304にて算出されたSA150へ、ステップ1304にて算出された下位論理デバイス番号を指定したFCPコマンドフレームを送信する(ステップ1305)。
PA140で受信したフレームの種別がFCPデータフレームの場合は、PAは、当該受信フレームに対応する入出力処理のルーティング制御情報を参照し、ルーティング制御情報に入出力処理の要求先として登録されているSAを当該受信フレームの転送先として決定し(ステップ1306)、受信フレームを転送先SA150へ転送する(ステップ1305)。
また、PA140が受信したフレームがFCP関連のフレームでない場合は、ファイバチャネルのノードポートとして従来公知な処理を、当該フレームを受信したPA140の制御プロセッサ142にて実行する(ステップ1307)。
一方、SA150から転送制御部144を介してフレームを受信したPA140は、受信フレーム中に含まれる情報に基づいてフレームの要求種別を判断し要求種別によって処理を切り分ける(ステップ1309)。
受信フレームの要求種別が完了報告である場合は、PAはルーティング制御情報を参照し、ルーティング制御情報に入出力処理の要求元として登録されているホスト100を当該受信フレームの転送先として、受信フレームを転送する(ステップ1310)。更にPA140は、当該フレームに関連する入出力要求先や要求元等の入出力処理情報をルーティング制御情報から登録解除する(ステップ1311)。
また、PAが転送制御部144を介して受信した受信フレームがFCPデータや転送準備完了報告である場合は、PAはルーティング制御情報に入出力処理の要求元として登録されているホスト100にフレームを転送する(ステップ1312)。
図14は、コマンド処理253の処理フローの一例を示す図である。コマンド処理は、SA150において下位論理デバイスに対する入出力要求を処理するものである。
SA150は相互接続網170から転送制御部150を介して受信したFCPコマンドフレームに対して、FCPコマンドフレーム内に含まれる情報に基づいてコマンド種別をチェックする(ステップ1401、1402)。
当該FCPコマンドの要求がリードの場合、SAは下位論理デバイス管理情報を参照してまずリード要求範囲を調べる。アクセス対象の下位論理デバイスが複数の物理デバイス又は仮想デバイスを結合したものであり、かつ、リード要求範囲が複数の物理デバイス若しくは仮想デバイスにまたがる場合には、SAは各物理デバイス若しくは仮想デバイス毎のリード対象範囲を決定する(ステップ1403)。
そしてSAは、まず下位論理デバイスの先頭物理デバイス若しくは先頭仮想デバイスのリード要求範囲についてディスクキャッシュ154上にデータがヒットしているか(即ちディスクキャッシュにデータが格納されているか)を、キャッシュ管理情報204を参照して判定し(ステップ1404)、ヒットしている場合は、ステップ1409でPA140へのデータ送信を開始する。キャッシュミスの場合SAは、キャッシュ管理情報204を更新してディスクキャッシュ154に領域を確保し(ステップ1405)、リード対象のデータが格納される物理デバイス若しくは仮想デバイスからキャッシュへのステージングを実行する。尚、リード対象データが格納されているデバイスが物理デバイスであるか仮想デバイスであるかは、SAが下位論理デバイス管理情報201を参照することによって判断することができる(ステップ1406)。
リード対象データが格納されているデバイスが物理デバイスであれば、SAは物理デバイス管理情報203より特定したディスク装置157に対してリード要求を発行してデータを読み出し(ステップ1407)、読み出したデータをディスクキャッシュ154の確保領域に格納する(ステップ1408)。
リードデータが格納されているデバイスが仮想デバイスであれば、SA150は仮想デバイス管理情報202を参照してエントリ85からアクセス対象SA140と下位論理デバイス番号を算出する。そしてSAは、算出した下位論理デバイスに対するリード要求を算出したSA150へ送信する(ステップ1412)。ステップ1412によって送信されたリード要求を受信した別のSA150では、コマンド処理253によりリード処理が行われ、リードデータをリード要求の要求元SA150へ転送すると共に、完了報告も送信する。リードデータおよび完了報告を受信した要求元SA150では、当該データをディスクキャッシュ154へ格納する(ステップ1413、1414、1408)。
ディスクキャッシュにリードデータが格納されるとSA150は、ディスクキャッシュ154に格納されたリードデータを、ステップ1401で受信したFCPコマンドフレームの転送元へ送信する(ステップ1409)。FCPコマンドの転送元がPAの場合には、PA140がリードデータを受信し、要求振り分け処理251により当該リードデータはホスト100へ転送される(要求振り分け処理251のステップ1308、ステップ1309、ステップ1312参照。)。FCPコマンドの転送元が別のSA150の場合、データは直接当該SA150へ転送される。これら一連の処理(ステップ1403〜1409、1412〜1414)をリード要求範囲の全データについて処理が完了するまで繰り返し(ステップ1410)、最後に処理の完了をコマンド送信元のホスト100又は別のSA150へ送信する(ステップ1411)。
一方、SA150が受信したFCPコマンドフレームがライトの場合も、SAは下位論理デバイス管理情報を参照してまずライト要求範囲を調べる。アクセス対象の下位論理デバイスが複数の物理デバイス又は仮想デバイスを結合したものであり、かつ、ライト要求範囲が複数の物理デバイス若しくは仮想デバイスにまたがる場合には、SAは各物理デバイス若しくは仮想デバイス毎のライト対象範囲を決定する(ステップ1415)。
次にSAは、ライト対象範囲に対応するデータがディスクキャッシュ154に格納されているか否かを判断し(1416)、キャッシュミスの場合にはディスクキャッシュ154領域を割り当てる(1417)。
次にSA150は、現在処理中のライト対象範囲が要求範囲の先頭領域である場合のみ、ステップ1401で受信したFCPコマンドフレームの送信元に対して、転送準備完了の通知を送信する(ステップ1418、1419)。FCPコマンドフレームの送信元がホスト100の場合、転送準備完了の通知を受信したPA140は、要求振り分け処理251によってこの転送準備完了通知をホスト100へ転送する。続いてホスト100からライトデータが送られてくると、PA140は転送準備完了通知の送信元SA150へデータを送信する。FCPコマンドフレームの送信元が別SA150の場合、転送準備完了の通知は当該別SAへ相互接続網170を介して送信される。続いてライトデータは当該別SAから相互接続網170を介して転送準備完了通知の送信元SAへ送られてくる。
SA150では受信したライトデータを確保したディスクキャッシュ154上の領域へ格納する(ステップ1420、1421)。これら一連の処理(ステップ1415〜1421)をライト要求範囲の全データについて繰り返し(ステップ1422)、最後に処理の完了をコマンド送信元のホスト100又は別のSA150へ送信する(ステップ1411)。ディスクキャッシュに書き込まれたライトデータはディスク装置に書き込まれるが、その処理については図15を用いて後述する。
なお、SA150で受信したコマンドがリードでもライトでもない場合、例えばモードセンスなどのセンス系コマンドや診断系のコマンドの場合は、SAは一般的なSCSIストレージの仕様に基づき適切な処理を実行し(ステップ1423)、完了報告を行う。
図15は、ライトアフタ処理257の処理フローの一例を示す図である。ライトアフタ処理は、SA150におけるコマンド処理253の結果、ディスクキャッシュ154に格納されたライトデータをディスク装置157へ書き出す処理である。
ディスクキャッシュ154上に保持されたライトデータはキャッシュ管理情報204で管理される。通常、ライトデータやディスクからリードされたリードデータは、なるべく古いものから順にディスクキャッシュ154より追い出されるように、キューなどで管理されている。そういった従来公知の方法により管理されたデータの中から、SA150はディスク157へ実際に書き込むデータを選択し(ステップ1501)、当該データが格納されるディスク装置が仮想デバイスに対応づけられているか物理デバイスに対応付けられているかを下位論理デバイス管理情報201に基づいて判断する(ステップ1502)。
ライトデータを物理デバイスに書き込む場合、SA150は物理デバイス管理情報203を参照してデータを書き込むディスク157を特定し、ライトデータを書き込む(ステップ1503)。
一方ライトデータを仮想デバイスに書き込む場合、SA150は仮想デバイス管理情報202を参照して仮想デバイスと対応付けられている別のSAと、当該別のSAが管理する仮想デバイスと対応付けられている下位論理デバイスを特定し、特定されたSA150へ特定された下位論理デバイスを指定したライト要求を送信する(ステップ1504)。ライト要求を受信したライト対象のSA150では、コマンド処理253によりライト処理が行われる。コマンド処理253のステップ1419においてライト対象のSAはライト要求の要求元であるSA150に転送準備完了通知を送信するので、これを受信したSA150はライト対象のSAにライトデータを送信し、応答として完了報告を受信する(ステップ1505〜1507)。ステップ1503若しくはステップ1507の処理が完了したら、SA150は当該ライトデータを格納していたディスクキャッシュ154の領域を解放する(ステップ1508)。
以上、クラスタ構成を有するストレージ装置において、マスタストレージ制御部が、自ストレージ制御部に属する物理デバイスと、他ストレージ制御部に属する下位論理デバイスとを連結して1つの下位論理デバイスとして管理し、プロトコル変換部が下位論理デバイスに上位論理デバイスを対応付けて管理する例を説明した。
第二に、第4図、第5図、第16図を参照して、第2の実施形態を説明する。
第2の実施形態では、クラスタ構成を有するストレージ装置において、ストレージ制御部が複数の物理デバイス若しくは仮想デバイスを連結して構成した下位論理デバイスの境界を、プロトコル変換部でも認識している。下位論理デバイスに対応する上位論理デバイスへホストからアクセス要求があった場合には、アクセス範囲の先頭アドレスに応じて、プロトコル変換部がアクセス要求の送信先であるストレージ部を決定する。これにより、ストレージ制御部間の交信を抑制し、ストレージ制御部の負荷を軽減することができる。尚、第2の実施形態では、第1の実施形態とほぼ同じハードウェアおよびソフトウェア構成を有するため、その差異についてのみ説明する。
第4図に、第2の実施形態のクラスタ構成ストレージにおけるデバイス階層を示す。第1の実施形態との違いは、デバイス連結を先頭SA(マスタSA)だけでなく、後続のSA(スレーブSA)でも行うこと、PA140がSA150で連結された下位論理デバイスの境界を認識して、アクセス箇所によってI/O要求を転送するSA150を決めることである。
例えば図4の例では、ストレージ制御部150cに属する下位論理デバイス302cに対してストレージ制御部150bが仮想デバイス303bを割り当て、ストレージ制御部150bが仮想デバイス303bとストレージ制御部150bに属する物理デバイス304bを連結して下位論理デバイス302dとして管理している。そして更に、下位論理デバイス302dに対して、ストレージ制御部150aが仮想デバイス303cを割り当て、ストレージ制御部150aが仮想デバイス303cとストレージ制御部150aに属する物理デバイス304aを連結して下位論理デバイス302aとして管理している。更には、プロトコル変換部140aはストレージ制御部150aが管理している下位論理デバイス302aに上位論理デバイス301を割り当てて管理しているが、プロトコル変換部140aは、上位論理デバイス301内の先頭から第一の境界アドレスまでの記憶領域は下位論理デバイス302aに、第一の境界アドレスから第二の境界アドレスまでの記憶領域は下位論理デバイス302dに、第二の境界アドレスから終了アドレスまでの記憶領域は下位論理デバイス302cにそれぞれ対応付けられていることを認識している。
この様に第2の実施形態では、PA140が上位論理デバイスの連結の境界アドレスを意識する必要がある、すなわち上位論理デバイスと下位論理デバイスの1対多の対応関係を認識する必要があるため、第5図に示す上位論理デバイス管理情報205の形式が第一の実施形態とは異なる。具体的には、上位論理デバイス管理情報205の対応下位論理デバイス数56エントリに当該上位論理デバイスが対応する下位論理デバイスの数が格納される。また対応SA番号、下位論理デバイスリスト57エントリには、当該上位論理デバイスが対応する複数の下位論理デバイスの下位論理デバイス番号およびSA番号と各下位論理デバイスが対応する上位論理デバイス内オフセットの情報組のリストが格納される。
上位論理デバイスと下位論理デバイスの対応関係の管理方法が第二の実施形態と第一の実施形態では異なるため、ストレージ装置の各部位で実行される処理のうち、論理デバイス定義処理254、要求振り分け処理251が、第二の実施形態では第一の実施形態とは異なる。
第16図を用いて第2の実施形態における論理デバイス定義処理254の一例を説明する。第1の実施形態との違いは、第11図のフローではステップ1102にて複数のスレーブSAへ並列に下位論理デバイス定義を指示し、複数のスレーブSAでは下位論理デバイスの定義処理が並行して実行されていたが、第16図のフローでは、連結順序の最後尾のSA150から順に下位論理デバイスの定義処理が実行される。この際、各SAは、直前に下位論理デバイス定義処理を実行したSA150で定義された下位論理デバイスに仮想デバイスを定義し(即ち、直前のSAで定義した下位論理デバイスと仮想デバイスとを対応付け)、かつ自SA内に存在する物理デバイスと当該仮想デバイスとを連結して下位論理デバイスを定義する。
具体的には、ステップ1601にてST190がMA160に対して論理デバイスの定義指示を送信する。これを受信したMA160では(ステップ1602)、論理デバイス定義指示に含まれる空き領域のリストを参照して、リストの最後尾に登録されている空き領域に対して下位論理デバイスを定義するよう当該空き領域を有するSAへ、下位論理デバイス定義指示を送信する(ステップ1603)。
論理デバイス定義指示を受信したSAは、空き領域に対して下位論理デバイスを割り当てる。尚、SAが受信した論理デバイス定義指示内で、自SAに属する空き領域(即ち物理デバイス)と他SAに属する下位論理デバイスとを連結して下位論理デバイスを作成するよう指定されている場合には、SAは、他SAに属する下位論理デバイスに仮想デバイスを対応付けた後、仮想デバイスと自SAに属する空き領域とを連結してこれを1つの下位論理デバイスと定義する。そしてSAはMAに下位論理デバイスの登録が完了した旨を報告する(ステップ1604)。
報告を受けたMAは、登録が完了した下位論理デバイスが、STからの論理デバイス定義指示に含まれる空き領域リストの先頭に登録されている空き領域に対応するものであるかをチェックする(ステップ1605)。リストの先頭に登録されている空き領域に対応する下位論理デバイスではない場合、リストの最後尾から数えて次の空き領域を有するSAへ、MAが下位論理デバイス定義指示を送信する(ステップ1608)。ステップ1604、ステップ1605及びステップ1608の処理はリストの先頭に登録されている空き領域に対して下位論理デバイスが定義されるまで繰り返される。
リストの先頭に登録されている空き領域に対して下位論理デバイスの定義が完了すると、MAは最後に定義された下位論理デバイスに対してST190より指示された上位論理デバイスを割り当て、その旨をPA及びSTへ通知する(ステップ1606)。
通知を受信したPA及びSTはMAから受信するデバイス管理情報をメモリに取り込み、STは更にデバイス割り当て処理256に対して完了報告を送信する。
第2の実施形態における要求振り分け処理251は、第1の実施形態の要求振り分け処理とは、第13図のステップ1303における、下位論理デバイスの算出方法が異なる。具体的には、ホスト100から受信したコマンドフレームの送信先SA150および下位論理デバイス番号を算出する処理において、PAはLUNだけでなくLBA(Logical Block Address)を参照し、上位論理デバイス管理情報205内の対応SA番号、下位論理デバイスリスト57から、フレーム送信先SA150を決定する。即ちPAは、受信コマンドフレームのLBA(即ちアドレス情報)と、上位論理デバイス管理情報205の対応SA番号、下位論理デバイスリスト57に登録されているオフセット情報を参照して、LBAが示す記憶領域がいずれのSA内に存在するディスク内の記憶領域に対応するかを判定して、LBAが示す記憶領域に対応する記憶領域を実際に有しているSAをコマンドフレームの送信先とする。尚、このとき併せて、SAに送信されるコマンドフレーム内のLBAが、当該SA150の下位論理デバイス開始オフセットからの相対値に修正される。
第三に、第17図から第20図を参照して、第3の実施形態を説明する。
第17図は、本発明の第3の実施形態が適用される計算機システムのハードウェア構成の一例を示す図である。1つ以上のホスト100と1つ以上のストレージ1720がインテリジェントスイッチ1710を介して接続している。各構成要素を結ぶのはファイバチャネルなどのSCSIを上位プロトコルとするネットワークである。また、各構成要素はIPネットワーク175により管理サーバ110に接続され、管理される。
ホスト100および管理サーバ110の構成は第1図と同様である。ストレージ1720の構成は第1図のストレージ装置130ようなクラスタ構成ストレージでもよいし、モノリシックなストレージでも構わない。図17には、インテリジェントスイッチ1710と接続されるポート1720、制御プロセッサ1722、メモリ1723、制御メモリ1725、ディスク装置に接続されるポート1726、ディスク装置1727、IPネットワークに接続されるインタフェース制御部1728を有するストレージ1720が例示されている。
インテリジェントスイッチ1710は、デバイス仮想化機能を有するファイバチャネルスイッチであり、プロトコル変換部1711、構成管理部1712、および相互接続網170から構成される。ここで、構成管理部1712が管理するのはあくまでインテリジェントスイッチ1710がホスト100に提供するターゲットポート、LUN、および論理デバイスであり、ストレージ1720のリソースは構成管理部1712の管理対象外である。ストレージ1720のリソースは管理サーバ110により一元管理される。
本発明のストレージシステムでは、インテリジェントスイッチ1710とストレージ1720がデバイス仮想化機能を有する。インテリジェントスイッチ1710では上位論理デバイスを、ストレージ1720では下位論理デバイス、仮想デバイス、および物理デバイスを管理する。即ち、下位論理デバイスと上位論理デバイスの対応関係はインテリジェントスイッチが管理しており、ディスク装置と物理デバイスとの対応関係、他のストレージ装置内の下位論理デバイスと仮想デバイスとの対応関係、及び物理デバイス若しくは仮想デバイスと下位論理デバイスとの対応関係はストレージ1720が管理している。
第1、2の実施形態との違いは、インテリジェントスイッチ1710とストレージ1720にポートが搭載されているため、スイッチ1710及びストレージ1720でLUパス定義情報を管理する必要があることである。また、インテリジェントスイッチ1710はストレージ装置1720が管理する下位論理デバイスをLUNを用いて指定し、ストレージ装置も又他ストレージ装置1720が管理する下位論理デバイスをLUNを用いて指定する。従って、図6に示すLUパス管理情報は、インテリジェントスイッチが管理している上位論理デバイスについてのみならず、各ストレージ装置1720が管理する下位論理デバイスについても用意しておく必要がある。更に、第5図に示す上位論理デバイス管理情報205の対応SA番号、下位論理デバイス番号リスト57及び第8図に示す仮想デバイス管理情報202の対応SA番号、下位論理デバイス番号85には、下位論理デバイスにアクセスするために用いられるポートIDおよびLUNなどのストレージ1710および下位論理デバイスを特定するアドレス情報を登録する必要がある。
また、ストレージ1720間のリード・ライトなどのアクセスは、ホスト100とストレージ1720間の通常のアクセスと同じプロトコルに基づき行われる。
第20図は、本発明の第3の実施形態が適用される計算機システムにおける制御情報および制御プログラムの配置を示すものである。第3の実施形態では、ストレージ管理者とのインタフェースは全て管理サーバ110が担う。よって、第1の実施形態でST190が行っていたデバイス割り当て処理256は、管理サーバ110が主導となり、インテリジェントスイッチ1710の構成管理部1714とストレージ1720の制御プロセッサ1722で実行されるストレージデバイス定義処理257と連携して行われる。
具体的には、ストレージデバイス定義処理257では、第19図に示すように、管理サーバからデバイス定義指示を受信したインテリジェントスイッチは、スレーブストレージ装置に対してデバイス定義指示を送信する。受信したデバイス定義指示に従い、スレーブストレージは自装置内の物理デバイスに対して下位論理デバイスを定義すると共に、下位論理デバイスにポートとLUNを割り当てる。そしてスレーブストレージ装置はインテリジェントスイッチに対してデバイス定義処理の完了報告を送信する。完了報告を受信したインテリジェントスイッチはマスタストレージに対してデバイス定義指示を送信する。これを受信したマスタストレージは(ステップ1901)、スレーブストレージの下位論理デバイスと仮想デバイスを対応付け(ステップ1902)、仮想デバイスと自マスタストレージ内の物理デバイスとを連結してこれに下位論理デバイスを割り当てると共に、下位論理デバイスにポート1721とLUNを割り当てる(ステップ1903)。そしてマスタストレージはインテリジェントスイッチに対してデバイス定義処理の完了報告を送信する(ステップ1904)。
完了報告を受信したインテリジェントスイッチ1710では、マスタストレージが管理する下位論理デバイスに対応するポートID、LUNに対して、上位論理デバイスを割り当て、更にこの上位論理デバイスに対してインテリジェントスイッチ1710がホスト100に提供するポートIDとLUNを割り当てる。
こうして定義された上位論理デバイスに対して、ホスト100からのアクセス要求があった場合には、インテリジェントスイッチは、この上位論理デバイスに対応するマスタストレージ1720と下位論理デバイスを算出して、この下位論理デバイスと対応付けられているポートIDとLUNを有するアクセス要求をマスタストレージ1720に送信する。そしてマスタストレージ1720において、当該下位論理デバイスに対応する自装置内部の物理デバイス、もしくは仮想デバイスに対してアクセス要求を振り分ける。ここで仮想デバイスに対してアクセス要求を振り分ける場合には、マスタストレージ1720は、仮想デバイスに対応する下位論理デバイスと当該下位論理デバイスが属する他のストレージ1720とを特定し、更にこの下位論理デバイスに対応付けられているポートIDとLUNを取得して、取得したポートIDとLUNを有するアクセス要求を特定したストレージ1720に対して送信する。
なお、本発明は上記の実施形態に限定されず、数々の変形が可能である。
例えば、第3の実施形態において、ホスト100とストレージ1720を接続するインテリジェントスイッチ1710はデバイス仮想化機能を有しているが、代わりにデバイス仮想化機能を有さない通常のファイバチャネルスイッチを用いてもかまわない。その場合、ホスト100が記憶領域にアクセスする場合には、ストレージ1720のポートおよびLUNを有するアクセス要求を送信することになる。即ち、ホスト100はマスタストレージが有するポートのポートIDとマスタストレージがアクセス対象の論理デバイスに割り当てたLUNを有するアクセス要求を送信することになる。従って、デバイス連結を行うマスタストレージをどのストレージ装置にするかで、ホスト100から見た見かけのポート、LUN、デバイス番号が異なることになる。
本発明によれば、クラスタ構成記憶装置システムにおいて、複数のストレージ制御部に存在する空き記憶領域をある1つのストレージ制御部が連結して1つの論理デバイスとして管理することができる。従って1つの論理デバイスとして管理される連結デバイスに対して、ストレージ制御部はデータ複製処理やリモート複製処理などの処理を実行することも可能となる。
尚、複数のストレージシステムやクラスタストレージ装置内の複数のストレージ制御部内に存在する記憶領域を連結して1つの論理デバイスとして管理する方法としては、ホストに搭載されるボリュームマネージャなどボリューム仮想化ソフトウェアを用いる方法や、複数のストレージシステム若しくはクラスタ構成ストレージ装置内の複数のストレージ制御部に接続され、I/O振り分け処理を実行するスイッチ部(実施例1及び実施例2ではプロトコル変換部に、実施例3ではインテリジェントスイッチに相当する。)により記憶領域の連結処理を実行する方法が考えられる。
しかしホストに搭載されるソフトウェアを用いる場合、異なるプラットホーム毎にそれに対応したバージョンのソフトウェアを開発し、これをホストに搭載する必要があり、ユーザ環境によっては実現が困難となる。反面本発明によれば、ストレージ装置若しくはクラスタ構成ストレージ装置内のストレージ制御部でボリューム連結機能を提供しているので、異なる複数のプラットホームへ対応することができる。
又、記憶領域の連結処理をスイッチ部が実行する場合には、スイッチ部が実行する複数のストレージ装置若しくはストレージ制御部に対するアクセス振り分け処理が複雑化する。例えば、スイッチ部がホストコンピュータから複数ストレージ制御部の記憶領域にまたがる論理デバイスへのリード要求を受信した場合、スイッチ部では受信したリード要求を各ストレージ制御部に応じたリード要求に変換してこれを各ストレージ制御部に送信し、これら全てのストレージ制御部における処理の完了を待ち合わせて、ホストへリードデータを転送することになる。このため、通常のスイッチと比較して、I/O振り分け制御が複雑化する。また、複数I/Oの待ち合わせの間、先に読みあがってきたリードデータを保持するためにバッファメモリを余分に搭載する必要があり、スイッチ部の製造コストを押し上げてしまう。反面本発明によれば、特に実施例1において、アクセスを振り分けるスイッチ部の制御論理を複雑化する必要がないので、スイッチ部の製造コストを上げることなく、コストスケーラブルなストレージシステムを提供できる。
この結果、複数のクラスタに分散した空き領域を有効にかつ速やかに結合して1つのデバイスとして提供可能なストレージプール機能が提供可能となる。
本発明が適用される計算機システムのハードウェア構成の一例を示す図である。 本発明が適用されるストレージのソフトウェア構成の一例を示す図である。 本発明が適用されるストレージにおけるデバイス階層の一例を示す図である。 本発明が適用されるストレージにおけるデバイス階層の他の一例を示す図である。 上位論理デバイス管理情報の一例を示す図である。 LUパス管理情報の一例を示す図である。 下位論理デバイス管理情報の一例を示す図である。 仮想デバイス管理情報の一例を示す図である。 物理デバイス管理情報の一例を示す図である。 デバイス割り当て処理の一例を示す図である。 論理デバイス定義処理の一例を示す図である。 LUパス定義処理の一例を示す図である。 要求振り分け処理の一例を示す図である。 コマンド処理の一例を示す図である。 ライトアフタ処理の一例を示す図である。 論理デバイス定義処理の他の一例を示す図である。 本発明が適用される計算機システムのハードウェア構成の他の一例を示す図である。 デバイス割り当て処理の他の一例を示す図である。 ストレージデバイス定義処理の一例を示す図である。 本発明が適用されるストレージのソフトウェア構成の他の一例を示す図である。
符号の説明
100…ホスト
110…管理サーバ
130…ストレージ装置
140…プロトコル変換部
150…ストレージ制御部
160…構成管理部
170…相互結合網
190…管理端末
201…下位論理デバイス管理情報
202…仮想デバイス管理情報
203…物理デバイス管理情報
204…キャッシュ管理情報
205…上位論理デバイス管理情報
206…LUパス管理情報
251…要求振り分け処理
252…LUパス定義処理
253…コマンド処理
254…論理デバイス定義処理
255…ライトアフタ処理
256…デバイス割り当て処理

Claims (19)

  1. 各々少なくとも一のディスクと、該少なくとも一のディスクへのアクセスを制御するプロセッサとを有する第一のストレージノード及び第二のストレージノードと、
    計算機から論理デバイスへのアクセス要求を受信して、該アクセス要求に従って前記第一のストレージノード若しくは前記第二のストレージノードにアクセス要求を送信するホスト接続ノードと、
    前記第一のストレージノードと前記第二のストレージノードと前記ホスト接続ノードとを相互に接続する相互接続網とを有しており、
    前記第一のストレージノード内のディスクに存在する第一の記憶領域と前記第二のストレージノード内のディスクに存在する第二の記憶領域とをまとめて一つの論理デバイスとして前記第一のストレージノードもしくは前記第二のストレージノードのいずれかが管理し、
    前記ホスト接続ノードが前記計算機から、前記論理デバイスに対応付けられている識別情報を有するアクセス要求を受信した場合に、前記ホスト接続ノードは受信した前記アクセス要求に基づいて、アクセス要求を、前記論理デバイスを管理しているストレージノードに送信することを特徴とするクラスタ構成ストレージシステム。
  2. 請求項1記載のクラスタ構成ストレージシステムにおいて、
    前記アクセス要求を受信した、前記論理デバイスを管理しているストレージノードは、アクセス対象の記憶領域が前記第一の記憶領域に含まれるか前記第二の記憶領域に含まれるかを判断し、アクセス対象の記憶領域が、前記論理デバイスを管理しているストレージノード内の記憶領域ではない場合に、他のストレージノードにアクセス要求を送信することを特徴とするクラスタ構成ストレージシステム。
  3. 請求項2記載のクラスタ構成ストレージシステムにおいて、
    前記論理デバイスを管理しているストレージノードは、前記第一のストレージノード及び前記第二のストレージノードのうち、負荷の低い方のストレージノードであることを特徴とするクラスタ構成ストレージシステム。
  4. 請求項3記載のクラスタ構成ストレージシステムにおいて、
    ストレージノードの負荷は、該ストレージノードが有するプロセッサの利用率に基づいて決定されることを特徴とするクラスタ構成ストレージシステム。
  5. 請求項3記載のクラスタ構成ストレージシステムにおいて、
    ストレージノードの負荷は、該ストレージノードが有するキャッシュメモリに格納されているデータのうち、該ストレージノードが有するディスクに格納されていないデータの量に基づいて決定されることを特徴とするクラスタ構成ストレージシステム。
  6. 請求項2記載のクラスタ構成ストレージシステムにおいて、
    前記第一のストレージノードは、該第一のストレージノードに属する前記第一の記憶領域を第一の物理デバイスとして管理しており、
    前記第二のストレージノードは、該第二のストレージノードに属する前記第二の記憶領域を第二の物理デバイスとして管理し、更に前記第二のストレージノードは該第二の物理デバイスを第二の下位論理デバイスとして管理しており、
    前記第一のストレージノードは前記第二の下位論理デバイスを第一の仮想デバイスとして管理し、更に前記第一のストレージノードは、前記第一の物理デバイスと前記第一の仮想デバイスとを有する記憶領域を第一の下位論理デバイスとして管理しており、
    前記ホスト接続ノードは、前記第一の下位論理デバイスを、上位論理デバイスとして管理しており、
    前記計算機から前記上位論理デバイスの識別情報を有するアクセス要求を受信した場合に、前記ホスト接続ノードは、前記第一の下位論理デバイスに対するアクセス要求を前記第一のストレージノードに送信することを特徴とするクラスタ構成ストレージシステム。
  7. 請求項6記載のクラスタ構成ストレージシステムにおいて、
    前記ホスト接続ノードから前記第一の下位論理デバイスに対するアクセス要求を受信した前記第一のストレージノードは、アクセス対象の記憶領域が前記第二のストレージノード内の記憶領域である場合に、前記第一の仮想デバイスに対応付けられている前記第二の下位論理デバイス宛のアクセス要求を前記第二のストレージノードに送信することを特徴とするクラスタ構成ストレージシステム。
  8. 請求項7記載のクラスタ構成ストレージシステムにおいて、
    前記ホスト接続ノードから前記第一の下位論理デバイスに対するアクセス要求を受信した前記第一のストレージノードは、アクセス対象の記憶領域が前記第一のストレージノード内の記憶領域である場合に、前記第一の物理デバイスにアクセスすることを特徴とするクラスタ構成ストレージシステム。
  9. 請求項6記載のクラスタ構成ストレージシステムにおいて、
    前記ホスト接続ノードから前記第一の下位論理デバイスに対するアクセス要求を受信した前記第一のストレージノードは、アクセス対象の記憶領域が前記第二の記憶領域に含まれる記憶領域と前記第一の記憶領域に含まれる記憶領域の双方を有する場合に、前記第一の仮想デバイスに対応付けられている前記第二の下位論理デバイス宛のアクセス要求を前記第二のストレージノードに送信すると共に、前記第一の物理デバイスにもアクセスすることを特徴とするクラスタ構成ストレージシステム。
  10. 各々少なくとも一のディスクと、該少なくとも一のディスクへのアクセスを制御するプロセッサとを有する第一のストレージノード、第二のストレージノード及び第三のストレージノードと、
    計算機から論理デバイスへのアクセス要求を受信して、該アクセス要求に従って前記第一のストレージノード、前記第二のストレージノード、若しくは前記第三のストレージノードにアクセス要求を送信するホスト接続ノードと、
    前記第一のストレージノード、前記第二のストレージノード、前記第三のストレージノードと前記ホスト接続ノードとを相互に接続する相互接続網とを有しており、
    前記第二のストレージノードは、前記第三のストレージノード内のディスクに存在する第三の記憶領域と前記第二のストレージノード内のディスクに存在する第二の記憶領域とをまとめて一つの論理デバイスとして管理し、
    前記第一のストレージノードは、前記第一のストレージノード内のディスクに存在する第一の記憶領域と前記第二のストレージノードが管理している前記論理デバイスとをまとめて一つの論理デバイスとして管理し、
    前記ホスト接続ノードが前記計算機から、前記第一のストレージノードが管理する論理デバイスに対応付けられている識別情報を有するアクセス要求を受信した場合に、前記ホスト接続ノードは受信した前記アクセス要求に基づいて、アクセス要求を、前記第一のストレージノード若しくは前記第二のストレージノード若しくは前記第三のストレージノードのいずれかに送信することを特徴とするクラスタ構成ストレージシステム。
  11. 請求項10記載のクラスタ構成ストレージシステムにおいて、
    前記ホスト接続ノードは、前記計算機から受信したアクセス要求のアクセス対象記憶領域が前記第一の記憶領域に含まれる記憶領域である場合には、前記第一のストレージノードにアクセス要求を送信し、前記アクセス対象記憶領域が前記第二の記憶領域に含まれる記憶領域である場合には、前記第二のストレージノードにアクセス要求を送信し、前記アクセス対象記憶領域が前記第三の記憶領域に含まれる記憶領域である場合には、前記第三のストレージノードにアクセス要求を送信することを特徴とするクラスタ構成ストレージシステム。
  12. 請求項10記載のクラスタ構成ストレージシステムにおいて、
    前記第三のストレージノードは、前記第三の記憶領域を第三の物理デバイスとして管理し、該第三の物理デバイスを第三の下位論理デバイスとして管理しており、
    前記第二のストレージノードは前記第三の下位論理デバイスを第二の仮想デバイスとして管理し、前記第二の記憶領域を第二の物理デバイスとして管理すると共に、前記第二の仮想デバイスと前記第二の物理デバイスから構成される記憶領域を第二の下位論理デバイスとして管理し、
    前記第一のストレージノードは前記第二の下位論理デバイスを第一の仮想デバイスとして管理し、前記第一の記憶領域を第一の物理デバイスとして管理すると共に、前記第一の仮想デバイスと前記第一の物理デバイスから構成される記憶領域を第一の下位論理デバイスとして管理し、
    前記ホスト接続ノードは、前記第一の下位論理デバイスを、上位論理デバイスとして管理し、更に前記上位論理デバイスのうち前記第二の下位論理デバイスと対応付けられている記憶領域と、前記第三の下位論理デバイスと対応付けられている記憶領域とを管理しており、
    前記計算機から前記上位論理デバイスの識別情報を有するアクセス要求を受信した場合に、前記ホスト接続ノードは、前記アクセス要求のアクセス対象記憶領域が、前記第三の下位論理デバイスと対応付けられている記憶領域である場合に、前記第三の下位論理デバイス宛のアクセス要求を前記第三のストレージノードに送信することを特徴とするクラスタ構成ストレージシステム。
  13. 請求項10記載のクラスタ構成ストレージシステムにおいて、
    前記第一のストレージノードは、前記第二のストレージノード及び前記第三のストレージノードより負荷が低いことを特徴とするクラスタ構成ストレージシステム。
  14. 各々少なくとも1のディスクと該少なくとも1のディスクへの入出力を制御する制御プロセッサとを有する第一のストレージシステム及び第二のストレージシステムと、
    前記第一のストレージシステム及び前記第二のストレージシステムを計算機と接続するスイッチとを有する計算機システムであって、
    前記第一のストレージシステムは、前記第一のストレージシステム内に存在する第一の記憶領域と、前記第二のストレージシステム内に存在する第二の記憶領域とから構成される第一の論理デバイスを管理しており、
    前記スイッチは、計算機から前記第一の論理デバイスに対応付けられている識別情報を有するアクセス要求を受信した場合に、アクセス要求を前記第一のストレージシステムに送信し、
    前記第一のストレージシステムは、受信したアクセス要求のアクセス対象記憶領域が前記第二の記憶領域内の記憶領域である場合に、アクセス要求を前記第二のストレージシステム宛に送信することを特徴とする計算機システム。
  15. 請求項14記載の計算機システムにおいて、
    前記第二のストレージシステムは前記第二の記憶領域を第二の下位論理デバイスとして管理しており、
    前記第一のストレージシステムは、前記第二の下位論理デバイスを第一の仮想デバイスとして管理し、前記第一の記憶領域を第一の物理デバイスとして管理し、前記第一の物理デバイスと前記第一の仮想デバイスとから構成される記憶領域を第一の下位論理デバイスとして管理しており、
    前記スイッチは、前記第一の下位論理デバイスを、上位論理デバイスとして管理しており、
    前記スイッチは、計算機から前記上位論理デバイスに対するアクセス要求を受信した場合に、前記第一のストレージシステムに前記第一の下位論理デバイス宛のアクセス要求を送信し、
    前記第一のストレージシステムは、受信したアクセス要求のアクセス対象記憶領域が前記第二の記憶領域内の記憶領域である場合に、前記第二の下位論理デバイス宛のアクセス要求を前記第二のストレージシステムに送信することを特徴とする計算機システム。
  16. 請求項15記載の計算機システムにおいて、
    前記第一のストレージシステムは、前記第二の下位論理デバイスに対応付けられた、前記第二のストレージシステムが有するポートのポートIDを指定したアクセス要求を、前記第二のストレージシステムに送信することを特徴とする計算機システム。
  17. スイッチを介して計算機と接続される第一のストレージシステムであって、
    少なくとも1のディスクと、
    該少なくとも1のディスクへの入出力を制御する制御プロセッサと、
    スイッチと接続されるポートを有し、
    スイッチを介して、少なくとも1のディスクと該少なくとも1のディスクへの入出力を制御する制御プロセッサを有する第二のストレージシステムと接続され、
    前記制御プロセッサは、第一のストレージシステム内に存在する第一の記憶領域と、第二のストレージシステム内に存在する第二の記憶領域とから構成される第一の論理デバイスを管理しており、
    前記ポートを介して前記第一の論理デバイス宛のアクセス要求を受信した場合に、前記制御プロセッサは、アクセス対象の記憶領域が前記第二の記憶領域に含まれる場合に前記第二のストレージシステム宛にアクセス要求を送信することを特徴とする第一のストレージシステム。
  18. 請求項17記載の第一のストレージシステムであって、
    前記制御プロセッサは、前記第二のストレージシステムが第二の下位論理デバイスとして管理している前記第二の記憶領域を第一の仮想デバイスとして管理し、前記第一の記憶領域を第一の物理デバイスとして管理し、前記第一の仮想デバイス及び前記第一の物理デバイスとを有する記憶領域を第一の下位論理デバイスとして管理し、
    前記ポートを介して前記第一の下位論理デバイス宛のアクセス要求を受信した場合に、前記制御プロセッサは、アクセス対象の記憶領域が前記仮想デバイス内の記憶領域であるか否かを判断し、アクセス対象の記憶領域が前記仮想デバイス内の記憶領域である場合には、前記第二の下位論理デバイス宛のアクセス要求を前記第二のストレージシステムに送信することを特徴とする第一のストレージシステム。
  19. 請求項18記載の第一のストレージシステムであって、
    前記制御プロセッサは、前記第二の下位論理デバイスに対応付けられている、前記第二のストレージシステムが有するポートのポートIDを有するアクセス要求を、前記第二のストレージシステムに送信することを特徴とする第一のストレージシステム。
JP2003403968A 2003-12-03 2003-12-03 クラスタストレージのデバイス連結方法 Pending JP2005165702A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2003403968A JP2005165702A (ja) 2003-12-03 2003-12-03 クラスタストレージのデバイス連結方法
US10/768,648 US7269646B2 (en) 2003-12-03 2004-02-02 Method for coupling storage devices of cluster storage
EP04026813A EP1538518A3 (en) 2003-12-03 2004-11-11 Method for coupling storage devices of cluster storage

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003403968A JP2005165702A (ja) 2003-12-03 2003-12-03 クラスタストレージのデバイス連結方法

Publications (1)

Publication Number Publication Date
JP2005165702A true JP2005165702A (ja) 2005-06-23

Family

ID=34463970

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003403968A Pending JP2005165702A (ja) 2003-12-03 2003-12-03 クラスタストレージのデバイス連結方法

Country Status (3)

Country Link
US (1) US7269646B2 (ja)
EP (1) EP1538518A3 (ja)
JP (1) JP2005165702A (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009181402A (ja) * 2008-01-31 2009-08-13 Hitachi Ltd 複数のコントローラモジュールを備えた記憶装置システム
JP2009535681A (ja) * 2006-04-28 2009-10-01 インターナショナル・ビジネス・マシーンズ・コーポレーション ストレージ・デバイス・ポートの選択の最適化
JP2009223879A (ja) * 2007-12-12 2009-10-01 Huawei Technologies Co Ltd ネットワーク記憶デバイスおよびデータ読み取り書き込み制御方法
JP2010097614A (ja) * 2008-10-17 2010-04-30 Lsi Corp ストレージアレイ・コントローラのための組み込みスケールアウト・アグリゲータ
WO2012073295A1 (en) 2010-12-03 2012-06-07 Hitachi, Ltd. Cluster storage setting method, system, and management system
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
US8271759B2 (en) 2008-05-02 2012-09-18 Hitachi, Ltd. Storage system
WO2016103416A1 (ja) * 2014-12-25 2016-06-30 株式会社日立製作所 ストレージシステム、ストレージ装置およびアクセス制御方法
US10990313B2 (en) 2019-02-14 2021-04-27 Hitachi, Ltd. Multi-storage node system and capacity management method of multi-storage node system

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7672226B2 (en) * 2002-09-09 2010-03-02 Xiotech Corporation Method, apparatus and program storage device for verifying existence of a redundant fibre channel path
GB0308923D0 (en) * 2003-04-17 2003-05-28 Ibm Low-overhead storage cluster configuration locking
US7702757B2 (en) * 2004-04-07 2010-04-20 Xiotech Corporation Method, apparatus and program storage device for providing control to a networked storage architecture
WO2006057038A1 (ja) * 2004-11-25 2006-06-01 Fujitsu Limited Raid管理プログラムおよびraid管理方法
US8051170B2 (en) * 2005-02-10 2011-11-01 Cisco Technology, Inc. Distributed computing based on multiple nodes with determined capacity selectively joining resource groups having resource requirements
US7543020B2 (en) * 2005-02-10 2009-06-02 Cisco Technology, Inc. Distributed client services based on execution of service attributes and data attributes by multiple nodes in resource groups
US20060224687A1 (en) * 2005-03-31 2006-10-05 Popkin Laird A Method and apparatus for offline cooperative file distribution using cache nodes
US8255425B1 (en) * 2005-11-01 2012-08-28 Netapp, Inc. System and method for event notification using an event routing table
US7873674B2 (en) * 2006-01-18 2011-01-18 International Business Machines Corporation Plural/alternate files registry creation and management
JP2007265270A (ja) 2006-03-29 2007-10-11 Hitachi Ltd ストレージシステム及び記憶領域割当て方法
US8224466B2 (en) * 2006-11-29 2012-07-17 Honeywell International Inc. Low-cost controller having a dynamically changeable interface
US7747584B1 (en) * 2006-08-22 2010-06-29 Netapp, Inc. System and method for enabling de-duplication in a storage system architecture
US8677014B2 (en) * 2006-11-27 2014-03-18 Cisco Technology, Inc. Fine granularity exchange level load balancing in a multiprocessor storage area network
US7882283B2 (en) * 2006-11-27 2011-02-01 Cisco Technology, Inc. Virtualization support in a multiprocessor storage area network
US7844784B2 (en) 2006-11-27 2010-11-30 Cisco Technology, Inc. Lock manager rotation in a multiprocessor storage area network
US9154552B2 (en) 2007-09-06 2015-10-06 Microsoft Technology Licensing, Llc Method and apparatus for cooperative file distribution with receiver determined quality of services
US20100011176A1 (en) * 2008-07-11 2010-01-14 Burkey Todd R Performance of binary bulk IO operations on virtual disks by interleaving
JP5112246B2 (ja) * 2008-10-09 2013-01-09 株式会社日立製作所 ストレージシステム及び通信方法
US9488992B2 (en) * 2008-10-16 2016-11-08 Honeywell International Inc. Wall module configuration tool
US7992055B1 (en) 2008-11-07 2011-08-02 Netapp, Inc. System and method for providing autosupport for a security system
US8078825B2 (en) * 2009-03-11 2011-12-13 Oracle America, Inc. Composite hash and list partitioning of database tables
US20110016088A1 (en) * 2009-07-20 2011-01-20 Spackman Stephen Philip System and method for performance and capacity monitoring of a reduced redundancy data storage system
US20110154015A1 (en) * 2009-12-21 2011-06-23 Tareq Mahmud Rahman Method For Segmenting A Data File, Storing The File In A Separate Location, And Recreating The File
US8412899B2 (en) * 2010-04-01 2013-04-02 Autonomy, Inc. Real time backup storage node assignment
US8356140B2 (en) 2010-07-19 2013-01-15 Hitachi, Ltd. Methods and apparatus for controlling data between storage systems providing different storage functions
US8538588B2 (en) 2011-02-28 2013-09-17 Honeywell International Inc. Method and apparatus for configuring scheduling on a wall module
US20150363128A1 (en) * 2013-03-18 2015-12-17 Hitachi, Ltd. Computer system and management system and management method of storage system
US9920944B2 (en) 2015-03-19 2018-03-20 Honeywell International Inc. Wall module display modification and sharing
CN106161384A (zh) * 2015-04-15 2016-11-23 伊姆西公司 用于在移动设备中提供对数据的安全访问的方法和系统
WO2018067471A1 (en) * 2016-10-03 2018-04-12 Ocient Llc Payload store and index store in highly parallel database management system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07152491A (ja) * 1993-11-29 1995-06-16 Hitachi Ltd 仮想ディスクシステム
JP2003296037A (ja) * 2002-04-05 2003-10-17 Hitachi Ltd 計算機システム

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6438663B1 (en) * 1996-12-11 2002-08-20 Steeleye Technology, Inc. System and method for identifying shared virtual memory in a computer cluster
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
US6173293B1 (en) * 1998-03-13 2001-01-09 Digital Equipment Corporation Scalable distributed file system
US5964886A (en) * 1998-05-12 1999-10-12 Sun Microsystems, Inc. Highly available cluster virtual disk system
US6216202B1 (en) * 1998-06-30 2001-04-10 Emc Corporation Method and apparatus for managing virtual storage devices in a storage system
US6591356B2 (en) * 1998-07-17 2003-07-08 Roxio, Inc. Cluster buster
US6542961B1 (en) * 1998-12-22 2003-04-01 Hitachi, Ltd. Disk storage system including a switch
US6633962B1 (en) * 2000-03-21 2003-10-14 International Business Machines Corporation Method, system, program, and data structures for restricting host access to a storage space
US6728849B2 (en) * 2001-12-14 2004-04-27 Hitachi, Ltd. Remote storage system and method
US6889253B2 (en) * 2001-04-30 2005-05-03 International Business Machines Corporation Cluster resource action in clustered computer system incorporation prepare operation
US6587921B2 (en) * 2001-05-07 2003-07-01 International Business Machines Corporation Method and apparatus for cache synchronization in a clustered environment
JP2003076592A (ja) * 2001-09-04 2003-03-14 Hitachi Ltd データ格納システム
JP2003316522A (ja) * 2002-04-26 2003-11-07 Hitachi Ltd 計算機システムおよび計算機システムの制御方法
JP4704659B2 (ja) * 2002-04-26 2011-06-15 株式会社日立製作所 記憶装置システムの制御方法および記憶制御装置
JP4598387B2 (ja) * 2003-09-17 2010-12-15 株式会社日立製作所 記憶システム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07152491A (ja) * 1993-11-29 1995-06-16 Hitachi Ltd 仮想ディスクシステム
JP2003296037A (ja) * 2002-04-05 2003-10-17 Hitachi Ltd 計算機システム

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009535681A (ja) * 2006-04-28 2009-10-01 インターナショナル・ビジネス・マシーンズ・コーポレーション ストレージ・デバイス・ポートの選択の最適化
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
JP2009223879A (ja) * 2007-12-12 2009-10-01 Huawei Technologies Co Ltd ネットワーク記憶デバイスおよびデータ読み取り書き込み制御方法
JP2009181402A (ja) * 2008-01-31 2009-08-13 Hitachi Ltd 複数のコントローラモジュールを備えた記憶装置システム
US8271759B2 (en) 2008-05-02 2012-09-18 Hitachi, Ltd. Storage system
JP2010097614A (ja) * 2008-10-17 2010-04-30 Lsi Corp ストレージアレイ・コントローラのための組み込みスケールアウト・アグリゲータ
WO2012073295A1 (en) 2010-12-03 2012-06-07 Hitachi, Ltd. Cluster storage setting method, system, and management system
US8667098B2 (en) 2010-12-03 2014-03-04 Hitachi, Ltd. Cluster storage setting method, system, and management system
WO2016103416A1 (ja) * 2014-12-25 2016-06-30 株式会社日立製作所 ストレージシステム、ストレージ装置およびアクセス制御方法
US10990313B2 (en) 2019-02-14 2021-04-27 Hitachi, Ltd. Multi-storage node system and capacity management method of multi-storage node system

Also Published As

Publication number Publication date
EP1538518A3 (en) 2008-10-08
EP1538518A2 (en) 2005-06-08
US20050144173A1 (en) 2005-06-30
US7269646B2 (en) 2007-09-11

Similar Documents

Publication Publication Date Title
JP2005165702A (ja) クラスタストレージのデバイス連結方法
JP4462852B2 (ja) ストレージシステム及びストレージシステムの接続方法
JP4147198B2 (ja) ストレージシステム
JP4297747B2 (ja) ストレージ装置
US9606745B2 (en) Storage system and method for allocating resource
US8788786B2 (en) Storage system creating cache and logical volume areas in flash memory
JP4508612B2 (ja) クラスタ型ストレージシステム及びその管理方法
JP5124103B2 (ja) 計算機システム
JP4790372B2 (ja) ストレージのアクセス負荷を分散する計算機システム及びその制御方法
JP4528551B2 (ja) ストレージシステム
US7716419B2 (en) Storage system and load balancing method thereof
WO2012147116A1 (en) Computer system and virtual machine control method
US20070067432A1 (en) Computer system and I/O bridge
JP6068676B2 (ja) 計算機システム及び計算機システムの制御方法
CN107924289A (zh) 计算机系统和访问控制方法
JP2007133821A (ja) 機器停止を伴う仮想ボリューム制御方法
US11409454B1 (en) Container ownership protocol for independent node flushing
JP5597266B2 (ja) ストレージシステム
JP2006155640A (ja) アクセスの設定方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060310

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20060424

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090202

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20090206

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20090216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090217

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090420

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090603