JP5121427B2 - ユニファイドストレージシステムのための方法および装置 - Google Patents

ユニファイドストレージシステムのための方法および装置 Download PDF

Info

Publication number
JP5121427B2
JP5121427B2 JP2007317182A JP2007317182A JP5121427B2 JP 5121427 B2 JP5121427 B2 JP 5121427B2 JP 2007317182 A JP2007317182 A JP 2007317182A JP 2007317182 A JP2007317182 A JP 2007317182A JP 5121427 B2 JP5121427 B2 JP 5121427B2
Authority
JP
Japan
Prior art keywords
storage control
storage
control module
type
control software
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2007317182A
Other languages
English (en)
Other versions
JP2008257682A (ja
Inventor
秀久 蔀
泰典 兼田
山本  彰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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
Publication of JP2008257682A publication Critical patent/JP2008257682A/ja
Application granted granted Critical
Publication of JP5121427B2 publication Critical patent/JP5121427B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0661Format or protocol conversion arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • 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/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

[0001] 発明の属する技術分野
[0002] 本発明は、主として、ユニファイドストレージシステムのようなストレージシステムに関する。
[0003] 関連技術の説明
[0004] ユニファイドストレージは、複数の異なるタイプのストレージ技術を、単一ハードウェアプラットフォームを用いて実装することを可能にするための概念である。ストレージシステムのハードウェアコンポーネントは、たとえば、標準的なCPUや標準的なメモリモジュールなどを使用することなどにより、ますます標準化されつつあるため、異なるタイプのストレージ制御ソフトウェアを、同一ストレージハードウェアプラットフォーム上で実行することが可能である。ユニファイドストレージシステムの主な利点は、ハードウェア要件が減ることにより、単一のハードウェアシステムを様々なストレージ用途に使用できることである。ユニファイドストレージシステムは、最低でも、ファイルタイプのデータのストレージと、エンタープライズアプリケーションプログラムによって生成される、ブロックベースの入出力(I/O)操作のストレージとを、同時に可能にしなければならない。ファイルベースのストレージ用にネットワーク接続ストレージ(NAS)システムを与え、ブロックベースのストレージ用にRAIDディスクアレイを与える、というように、別々のストレージプラットフォームを用意しなければならない代わりに、ユニファイドストレージシステムは、どの機能にも独立に使用されることが可能でありながら、同時に、両方の機能を結合して同時使用することも可能であるように、あらねばならない。さらに、ユニファイドストレージシステムは、より先進的なストレージ技術(CAS(コンテンツアドレス指定可能ストレージ)、VTL(仮想テープライブラリ)、VDL(仮想ディスクライブラリ)、OOS(オブジェクト指向ストレージ)など)も組み込んで実施することが可能でなければならない。
[0005] 現行ソリューションとそれらの課題
[0006] ほとんどの従来型ストレージシステムは、いまだ単一制御タイプのシステムである。これは、それらが、ブロックベースのストレージシステム、NASシステム、CASシステム、VTLシステム、VDLシステム、OOSシステムなどのいずれかであるという意味である。これに対し、いくつかのベンダが、複数制御システムを提供し始めている。これらの複数制御システムは、典型的には、ブロックストレージサポートを追加するように修正されたNASプラットフォームであるが、FC−SAN(ファイバチャネル−ストレージエリアネットワーク)とIP−SAN(インターネットプロトコル−ストレージエリアネットワーク)(iSCSI)ブロックベースのストレージとの組み合わせや、NASとiSCSI(インターネットSCSI)との組み合わせの場合もある。
[0007] しかしながら、先行技術のシステムはすべて、1つまたは2つの所定のプロトコルを処理することに限定して構成されていて、様々なプロトコルに対応するように動的に変更されることができないという点で、静的なシステムである。したがって、先行技術のシステムは、システムが実施できるタスクを動的かつ柔軟に変更するために様々な形式のストレージ制御ソフトウェアを他のハードウェアプラットフォームに自動的かつ動的にインストールして実行することができない。たとえば、一部の先行技術のユニファイドストレージシステムは、ブロックベース(FCおよびiSCSI)の制御とファイルシステム制御とを同時に与えることが可能である。しかしながら、これらのシステムの制御は、1つのハードウェアプラットフォームで動作している共通のOSおよびファイルシステム層をベースとすることが可能である。したがって、ブロックベースの機能性を提供している場合でも、操作は、ファイルシステム層によって処理されなければならず、そのために、望ましくないオーバヘッドが発生して、ブロックベースのストレージの効率が低下する。また、そのようなセットアップによって、システムが起動した後のブロック構成およびファイル構成の変更が困難になる。さらに、システムは、その構成を、負荷をよりよく均衡させるためにシステム負荷に基づいて自動的かつ動的に変更することができない。
[0008] 本発明は、ユニファイドストレージシステムを提供する方法および装置を開示する。本発明のユニファイドストレージシステムは、複数のタイプのストレージ制御(たとえば、ブロックベースのストレージ、ファイルシステムを用いるNASストレージ、CAS機能、VTLストレージ、VDLストレージ、OOS、その他)を、そのストレージシステムの標準ハードウェアプラットフォームを利用して可能にすることができる。本発明のユニファイドストレージシステムは、種々のストレージ技術を実装するために、各ストレージ制御モジュールで動作しているストレージ制御ソフトウェアを柔軟かつ動的に変更することが可能である。当業者であれば、本発明の以上およびその他の特徴および利点は、以下の好ましい実施形態の詳細説明から明らかになるであろう。
[0009] 添付の図面は、ここまでの一般説明、および以下の好ましい実施形態の詳細説明と併せて、現時点で考えられている本発明の最良の態様の好ましい実施形態の原理を例示および説明することに役立つ。
[0025] 以下の本発明の詳細説明では、本開示の一部をなす添付図面を参照する。それらの図面には、本発明を実施することが可能な特定の実施形態が、限定ではなく例示として示される。それらの図面では、類似の参照符号は、複数の図面にわたってほぼ同様の要素を示す。さらに、図面、先述の説明、および以下の説明は、例示的かつ説明的であるに過ぎず、いかなるかたちでも本発明または本出願の範囲を限定するものではない。
[0026] 本発明は、真のユニファイドストレージシステムを提供する方法および装置を開示する。本発明のユニファイドストレージシステムは、標準化されたハードウェア構成を有する複数の制御モジュールを含み、各ストレージ制御モジュールで動作しているストレージ制御ソフトウェア(たとえば、ブロックベース、NAS、CAS、VTL、VDL、OOSなど)を柔軟に変更することが可能であり、なおかつ、ストレージ制御の再割り当て中にデータおよび構成を保全することが可能である。これらの特徴を実現するために、本発明は、ストレージ制御ソフトウェアを空きストレージ制御モジュールにインストールする方法を含み、さらに、ストレージ制御モジュールからストレージ制御ソフトウェアをアンインストールする方法、およびストレージ制御モジュールにストレージ制御ソフトウェアを再インストールする方法を含む。ストレージ制御ソフトウェアをアンインストールおよび再インストールする処理の間、データおよびシステム構成(ボリュームへのホスト接続に関する情報や、ボリューム内のデータなど)は、保全され、再インストール処理後に利用されることが可能である。さらに、本発明のシステムは、管理者その他の人員の介入を必要とせずに、システム負荷を均衡させるために、その構成を自動的に変更することが可能である。
[0027] 第1の実施形態−システム構成
[0028] 図1は、本発明の方法および装置を適用することが可能なハードウェア構成の例を示す。本発明の情報システムは、1つまたは複数のストレージシステム2000、1つまたは複数の管理コンピュータ1100、および1つまたは複数のホストコンピュータ1000を含むことが可能である。
[0029] ホストコンピュータ1000は、I/O操作(たとえば、データをストレージシステム2000に格納する操作)を実施するために含まれることが可能である。ホストコンピュータ1000は、ホストCPU 1001およびホストメモリ1002を含む。ホストコンピュータ1000は、インターフェースI/F 1003を使用してネットワーク4000経由でストレージシステム2000に接続することが可能であり、あるいは、代替として、ストレージシステム2000に直接接続することが可能である。ネットワーク4000の典型的な媒体タイプはファイバチャネル(FC)、イーサネット(登録商標)などであるが、本発明では、任意の適切なネットワーク媒体を使用することが可能である。ホストコンピュータは、管理ネットワーク4200経由で管理コンピュータ1100に接続するためのI/F 1004を含むことも可能である。管理ネットワーク4200の典型的な媒体タイプはイーサネット(登録商標)であるが、本発明では、他の適切なネットワーク媒体を使用することも可能である。さらに、管理ネットワーク4200は、ネットワーク4000と同じネットワークの一部であることも、独立したネットワークであることも可能である。
[0030] 管理コンピュータ1100は、後で詳述される管理ソフトウェアを実行するために用意される。管理コンピュータ1100は、管理CPU 1101および管理メモリ1102を含む。管理コンピュータは、管理ネットワーク4200経由でのストレージシステム2000およびホストコンピュータ1000への接続を可能にするI/F 1103を含む。
[0031] ストレージシステム2000は、ストレージコントローラ2100と、1つまたは複数のストレージデバイス2001(ハードディスクドライブなど)とを含む。ストレージコントローラ2100は、(たとえば、ホストコンピュータ1000からの)I/O操作の処理、およびストレージデバイス2001に対するデータの読み書きの制御を行う、複数のストレージ制御モジュール2200を含む。ストレージコントローラ2100はまた、ストレージシステム2000を管理するストレージ管理モジュール2900と、I/O操作を推進するキャッシュメモリ2130とを含む。
[0032] 各ストレージ制御モジュール2100は、CPU 2211、メモリ2212、ホストインターフェース2213、管理インターフェース2214、および内部インターフェース2215を含む。CPU 2211およびメモリ2212は、後で詳述される、I/O要求または他の操作を処理するストレージ制御ソフトウェアをロードして実行するために使用される。ストレージ制御ソフトウェアは、メモリ2212に格納され、CPU 2211によって実行される。ホストインターフェース2213は、ホストコンピュータ1000とストレージ制御モジュール2200とをネットワーク4000経由で接続するために使用される。特定タイプのI/F 2213は、前述のように、用意されるネットワーク4000のタイプに依存する。管理インターフェース2214は、各ストレージ制御モジュール2200を、内部管理ネットワーク2120経由で、ストレージ管理モジュール2900および他のストレージ制御モジュール2200と接続して通信させるために使用される。内部管理ネットワーク2120に使用されるネットワーク媒体の典型的な例はイーサネット(登録商標)であるが、PCIのようなシステムバスを内部管理ネットワーク2120に使用することも可能である。内部インターフェース2215は、ストレージ制御モジュール2200と、ストレージ制御モジュール2200、キャッシュメモリ2130、およびディスクインターフェース2110、2111の間の通信に使用されるストレージシステム内部バス2133または内部交換ネットワークとを接続するために使用される。
[0033] ストレージ管理モジュール2900は、管理コンピュータ1100から受け取った管理操作を処理し、CPU 2916、メモリ2917、内部管理インターフェース2913、外部管理インターフェース2914、および内部インターフェース2915を含む。ストレージ管理関連ソフトウェア(後で詳述)は、ストレージ管理要求または他の操作を処理するために、メモリ2917に格納され、CPU 2916によって実行される。内部管理インターフェース2913は、内部管理ネットワーク2120経由で、ストレージ制御モジュール2200とストレージ管理モジュール2900とを接続するために使用される。外部管理インターフェース2914は、管理ネットワーク4200経由で、ストレージ管理モジュール2900と管理コンピュータ1100とを接続するために使用される。内部インターフェース2915は、ストレージ管理モジュール2900と、ストレージ内部バスまたは内部交換ネットワーク2133とを接続するために使用される。
[0034] キャッシュメモリ2130は、ホストコンピュータ1000から受け取った書き込みデータを、そのデータがディスクドライブ2001に格納される前に、一時的に格納する。キャッシュメモリ2130はまた、ホストコンピュータ1000から要求された読み出しデータも格納する。キャッシュメモリ2130は、バッテリバックアップされた不揮発性メモリであってよく、各ストレージ制御モジュール2200に割り当てられたキャッシュ量は、個々のストレージ制御モジュールのロール、または個々のストレージ制御モジュールの負荷に基づいて構成されることが可能である。たとえば、各ストレージ制御モジュールが、本発明に従って、どのように使用されているかに応じて、いくつかのストレージ制御モジュール2200が、他のストレージ制御モジュール2200より多くのキャッシュを必要とする場合がある。
[0035] ディスクインターフェース2110および2111は、ストレージコントローラ2100と、内部ディスクドライブ2001、外部ストレージシステム3000(従来型のストレージシステムであってよく、必ずしも別のユニファイドストレージシステム2000でなくてもよい)、またはテープデバイス5000とを接続するために使用される。したがって、I/F 2111は、たとえば、ネットワーク4100(ローカルエリアネットワークであってもよく、ネットワーク4000と同じネットワークであってもよい)および/または管理ネットワーク4200と接続されることが可能である。さらに、ストレージコントローラ2100は、データを、ディスクドライブ2001に格納する代わりに(または格納することに加えて)、ネットワーク接続経由で、外部ストレージシステム3000、テープデバイス5000に格納することが可能である。
[0036] ストレージデバイス2001のそれぞれは、ディスクドライブ、または他の好適なストレージデバイス(たとえば、固体メモリ、光学式ドライブ、テープドライブなど)である。ストレージデバイス2001は、SCSIコマンドのような適切なプロトコルコマンドに従って、データを格納したり取り出したりするI/O要求を処理する。さらに、ストレージシステム2000は、必ずしも内部ストレージデバイス2001を持たなくてもよく、その代わりに、データを格納したり取り出したりするために外部ストレージシステム3000または他の外部ストレージを使用することが可能である。したがって、本発明に他の適切なハードウェアアーキテクチャを適用できることは明らかである。
[0037] 図2は、本発明の方法および装置を適用することが可能なソフトウェア構成の例を示す。ホストコンピュータ1000は、いくつかのアプリケーション(AP)1011が(たとえば、ストレージシステム2000にデータを書き込んだり、ストレージシステム2000からデータを読み出したりする)I/O操作を生成するコンピュータである。ホストコンピュータ1000はまた、ホストコンピュータ1000とストレージシステム2000との間の接続を有効にするためにネットワークドライバを含むオペレーティングシステム(OS)1012を含む。本発明において使用可能なネットワーク通信プロトコルとして、たとえば、FC/イーサネット(登録商標)経由のSCSI、イーサネット(登録商標)経由のNFS/CIFSファイル操作、および/またはイーサネット(登録商標)経由のHTTPなどがある。したがって、本発明はユニファイドストレージシステムなので、任意の数の通信プロトコルを本発明に適用することが可能である。
[0038] 管理コンピュータ1100は、管理者が、ストレージシステム2000を構成するシステム構成設定操作のような操作を発行することを可能にするストレージ管理I/Fプログラム1111を含む。管理コンピュータ1100には、管理者が、1つまたは複数のストレージシステム2000に接続するホストコンピュータ1000を管理することを可能にするために、ホストコンピュータ管理プログラム1112も常駐する。
[0039] ストレージ制御モジュール2200は、特定のストレージ操作および技術をストレージ制御モジュールに実施させるために、後で詳述される様式でストレージ制御モジュール2200にインストールされ、実行されるストレージ制御ソフトウェア(SW)2201を含む。本発明のストレージ制御モジュールにインストール可能なストレージ制御ソフトウェア2201として、たとえば、ブロックストレージ、NAS、CAS、仮想テープライブラリ(VTL)、仮想ディスクライブラリ(VDL)、オブジェクト指向ストレージ(OOS)などを実装するソフトウェアがある。各タイプのストレージ制御SWの典型的な動作については、後で詳述する。さらに、本発明には任意のタイプのストレージ制御SWが適用可能であってよいため、ストレージ制御SW 2201のタイプは、本発明の範囲を制限しない。
[0040] ストレージ制御モジュール2200はさらに、1つまたは複数の論理ボリューム2240を含む。論理ボリューム2240は、「000」、「001」などのような論理装置番号(LUN)を有する。ボリューム2240は、図1で示された、1つまたは複数のディスクドライブ2001からなり、ホストコンピュータ1000がデータを格納する際に使用するよう、ストレージ制御SW 2201によって提供される。さらに、従来型のストレージシステムによって提供されるRAID機能性や他の典型的なストレージシステム制御機能性も、ストレージ制御SW 2201によって提供されることが可能である。たとえば、ディスクドライブ2001は、アレイグループとして構成されることが可能であり、各アレイグループ上に1つまたは複数の論理ボリューム2240を作成することが可能である。
[0041] ストレージ管理モジュール2900は、ストレージシステム2000を管理するソフトウェアを実行する。本発明においては、本発明を実施するために、いくつかのストレージ管理プログラムおよび管理テーブルを採用することが可能であり、それらのそれぞれについては、後述される。
[0042] ストレージ制御モジュール管理プログラム2901は、ストレージ制御モジュール2200を管理する。このプログラムによって実施される典型的な管理操作は、特定のストレージ制御ソフトウェア2201を特定のストレージ制御モジュール2200にインストールして、そのストレージ制御モジュールが所望の様式で機能することを可能にすることである。
[0043] ストレージ制御モジュール管理テーブル2902は、どのストレージ制御ソフトウェアがどのストレージ管理モジュールにインストールされているかの追跡情報を提供する。図3は、ストレージ制御モジュール管理テーブル2902の例を示す。ストレージ制御モジュール管理テーブル2902は、ストレージ管理モジュール2900のメモリ、またはストレージ管理モジュール2900の使用のために割り当てられたボリュームに格納されることが可能である。ストレージ制御モジュール管理テーブルは、各ストレージ制御モジュール2200で動作しているストレージ制御ソフトウェア2201に関する情報を含む。ストレージ制御モジュール管理テーブル2902の典型的なエントリとして、ストレージ制御モジュール識別子29021(ストレージ制御モジュール番号の値など)、現在割り当てられているストレージ制御ソフトウェア29022のタイプ(ブロック、NAS、CASなど)、ストレージ制御ソフトウェアのベンダ29023、ストレージ制御ソフトウェアのバージョン29024、ストレージ制御モジュールに割り当てられたボリューム番号29025(たとえば、論理装置番号)、ストレージ制御モジュールのステータス29026などがある。ステータス29026に関しては、「オンライン」は、ストレージ制御モジュール2200が現在使用されているか割り当てられていることを意味することが可能であり、「オフライン」は、ストレージ制御モジュールが現在割り当てられていないことを意味することが可能である。
[0044] ストレージ制御ソフトウェア管理テーブル2903は、ユニファイドストレージシステム2000で使用可能なストレージ制御ソフトウェアの個々のタイプおよびバージョンに関する情報を含む。図4は、ストレージ制御ソフトウェア管理テーブル2903の例を示す。ストレージ制御ソフトウェア管理テーブル2903は、ストレージ管理モジュール2900のメモリ2917、またはストレージ管理モジュール2900に割り当てられたボリュームに格納されることが可能である。ストレージ制御ソフトウェア管理テーブル2903は、ストレージシステム2000のストレージ制御モジュール2200にインストールされることが可能なストレージ制御ソフトウェアに関する情報を含む。ストレージ制御ソフトウェア管理テーブル2903の典型的なエントリとして、ストレージ制御ソフトウェア29031のタイプ、ストレージ制御ソフトウェアのベンダ29032、ストレージ制御ソフトウェアのバージョン29033、ストレージ制御ソフトウェアが格納されているボリュームの番号29034などがある。ストレージ制御ソフトウェアが格納されている特定のボリューム29034へのパスは、ストレージ管理モジュール2900がそのボリュームにアクセスできるように、定義されることが可能である。
[0045] ボリューム供給プログラム2904は、その典型的な管理操作が、ボリューム2240をストレージ制御モジュール2200に割り当てること、および、特定のストレージ制御モジュール2200から、そのストレージ制御モジュールに割り当てられた特定のボリューム2240への、システム内のパスを定義することである、プログラムである。図5は、ボリューム供給プログラム2904が、ストレージシステム2000内で割り当てられたボリュームを管理するために使用する、ボリューム管理テーブルの例である。ボリューム管理テーブルの典型的なエントリは、ボリューム番号29111、割り当てられたストレージ制御モジュールの番号29112、および関連付けられたストレージ制御モジュールポートWWN 29113(図5には略記されたWWNが示されている)である。図6は、ボリューム供給プログラムが、特定ボリューム2240へのアクセスを制御するために使用する、LUNセキュリティテーブル2912の例である。LUNセキュリティテーブル2912の典型的なエントリとして、ボリューム番号29121と、ボリュームへのアクセスを許可されたホストコンピュータのWWN 29122(図6には略記されたWWNが示されている)とがある。
[0046] ボリューム割り当て解除および割り当てプログラム2905は、特定のストレージ制御モジュール2200から1つまたは複数のボリューム2240を割り当て解除(すなわち、パス定義を削除)するために実行可能であり、また、ストレージ制御モジュール2200からボリューム2240へのパスを定義することも可能である。
[0047] 図7Aは、ボリューム割り当て解除管理テーブル2906の例を示す。ボリューム割り当て解除管理テーブル2906は、ストレージ管理モジュール2900のメモリ2917、またはストレージ管理モジュール2900に割り当てられたボリュームに格納されることが可能である。ボリューム割り当て解除管理テーブル2906は、ストレージ制御ソフトウェアがストレージ制御モジュールから割り当て解除(すなわち、アンインストール)されたときの各ストレージ制御モジュールのボリューム情報を保存するために、各ストレージ制御モジュール用の割り当て解除されたストレージ制御ソフトウェアに関する情報を含む。ボリューム割り当て解除管理テーブル2906の典型的なエントリとして、そのボリュームがストレージ制御モジュールから割り当て解除されたときにボリューム割り当て解除および割り当てプログラム2905によって発行される割り当て解除番号29061、ストレージ制御モジュール識別子29062(ストレージシステム2000内で割り当てられたストレージ制御モジュール番号の値など)、その割り当て解除によってストレージ制御モジュールから割り当て解除された、割り当てられていたストレージ制御ソフトウェアのタイプ29063、割り当て解除されたストレージ制御ソフトウェアのベンダ29064、割り当て解除されたストレージ制御ソフトウェアのバージョン29065、ストレージ制御モジュールに割り当てられた1つまたは複数のボリュームの番号29066(たとえば、論理装置番号)などがある。図7Bは、別のボリューム割り当て解除管理テーブル2906’の例を示す。図7Bのボリューム割り当て解除管理テーブル2906’は、図7Aのボリューム割り当て解除管理テーブルのエントリに加えて、各ボリュームのLUNセキュリティ情報29067を含む。これにより、ボリューム割り当て解除時に各ボリュームも保存されるLUNセキュリティ設定が可能になる。
[0048] 負荷均衡化プログラム2907は、ストレージシステムの計算の計算負荷を管理し、ストレージシステムの各種モジュール間の負荷を均衡させる。負荷均衡化プログラム2907によって実施される典型的な管理操作は、各ストレージ制御モジュール2200の負荷を測定して、後で詳述される負荷均衡化処理を実行することである。図8は、負荷均衡化プログラム2907によって使用される負荷管理テーブル2908の例を示す。負荷管理テーブル2908は、ストレージ管理モジュール2900のメモリ2917、またはストレージ管理モジュール2900に割り当てられたボリュームに格納されることが可能である。各ストレージ制御モジュール2200の計算負荷に関する情報は、負荷管理テーブル2908に格納される。負荷管理テーブル2908の典型的なエントリとして、ストレージ制御モジュール識別子29081(ストレージシステム内で内部的に割り当てられたストレージ制御モジュール番号の値など)、CPU利用率29082(現在の利用率と、再均衡化を行わなければならないしきい値との両方をリストする)、およびストレージ制御モジュールまたはストレージ制御モジュールの各ポートへのホスト接続の数29083(現在の接続の数と、再均衡化を行わなければならないしきい値の数との両方をリストする)がある。ストレージ制御モジュールに対する負荷を決定するために、ストレージ制御モジュール2200の各ポートのスループットを、このテーブルのさらなるエントリ(図示せず)としてもよい。
[0049] ストレージ制御ソフトウェアリポジトリ2910は、ストレージ管理モジュール2900によって管理される。管理者は、管理コンピュータ1100のストレージ管理I/Fプログラム1111を使用して、ストレージ制御ソフトウェアをストレージシステムにインストールする。これが行われると、ストレージ制御ソフトウェア管理テーブル2903は、ストレージ制御モジュール管理プログラム2901によって更新される。これは、ストレージ制御管理プログラム2901によって自動的に実施されるか、ストレージ管理I/Fプログラム1111経由で管理者によって手動で実施されることが可能である。ストレージ制御ソフトウェアは、ストレージ制御モジュール2900によって管理されるストレージ制御ソフトウェアリポジトリに格納される。このリポジトリは、ストレージ管理モジュール2900のメモリ2917、またはストレージ管理モジュール2900に割り当てられたボリュームに格納されることが可能である。
[0050] 本発明のストレージ制御ソフトウェアリポジトリに収容されることが可能なストレージ制御ソフトウェアには、たとえば、次のものがある。
[0051] 割り当てられたボリューム2240をホストコンピュータ1000に提供することが可能なブロックストレージ制御SW 2921。ブロックストレージ制御SW 2921は、FCなどのネットワーク操作を受け取って解釈し、その後、ホストコンピュータ1000から受け取ったSCSIコマンドを処理することによって、割り当てられたボリューム2240に、ブロックアドレスに従って直接アクセスすることが可能である。
[0052] NASストレージ制御SW 2922は、割り当てられたボリューム2240にファイルシステムをエクスポートすることが可能である。NFSおよびCIFSなどのネットワークプロトコルによって配信される、ホストコンピュータ1000からのファイル関連操作は、NASストレージ制御SW 2922によって処理され、NFS/CIFSなどのネットワークファイルシステムサーバモジュールは、NASストレージ制御SW 2922に含まれ、NASストレージ制御SW 2922がインストールされたときに、ストレージ制御モジュール2200に常駐する。したがって、データは、ユーザまたはアプリケーションから、ファイルベースのコマンドによって、ファイルとしてアクセスされるのであって、ブロックベースのアクセスの場合のように、標準割り当てサイズの個々のストレージブロックとしてアクセスされるのではない。ファイルベースのコマンドは、ファイルシステムに宛てられ、ファイルシステムは、典型的には、そのファイルコマンドをブロックベースのコマンドに解釈する。
[0053] CASストレージ制御SW 2923は、任意のストレージロケーションにではなく、データの内容に基づくアドレスにデータを格納する機能性を有効にする。一部のCASシステムでは、システムは、特定データのためのアドレスを、データの実際の内容に基づいて(たとえば、ハッシュ計算などにより)決定する。他のCASシステムでは、ハッシュ計算の代わりにファイルパス名を使用することが可能であり、他のCAS機能性(たとえば、当該技術分野において周知の、ユーザ定義メタデータを追加する機能、オブジェクトロックを用いてオブジェクトをロックする機能、保全性チェーンを追加する機能など)を組み込むことが可能である。
[0054] VTLストレージ制御SW 2924は、ディスクデバイスを使用してテープデバイスをエミュレートすることによる、テープコマンド受け取りやデータ複製解除などのVTL機能性を提供する。
[0055] VDLストレージ制御SW 2925は、テープドライブを使用してディスクデバイスをエミュレートし、ハードディスクドライブではなくテープドライブからなる論理ボリュームを提供することが可能である。
[0056] OOSストレージ制御SW 2926は、OSD T−10標準で使用されるコマンドのようなオブジェクトベースのプロトコルコマンドに従って、データおよびデータの属性(メタデータ)からなるオブジェクトとして、データのストレージを実施することが可能である。
[0057] 静的ストレージ制御ソフトウェアの割り当てと割り当て解除
[0058] このセクションでは、ストレージ制御ソフトウェアをストレージ制御モジュールにインストールする手順、ストレージ制御ソフトウェアをストレージ制御モジュールからアンインストールする手順、およびストレージ制御ソフトウェアをストレージ制御モジュールに再インストールする手順を説明する。本発明のストレージシステムより前は、ストレージ制御ソフトウェアは固定され、各ストレージ制御モジュールに関連付けられるので、上述の手順は、一般に必要ではなかった。
[0059] ストレージ制御ソフトウェア2201のストレージ制御モジュール2200へのインストールのための例示的制御手順を、図9、図10及び図11に示す。この手順は、使用可能なストレージ制御モジュールの初期割り当てを行うものであり、空きストレージ制御モジュール2200を見つけることと、そのストレージ制御モジュール2200にストレージ制御ソフトウェア2201をインストールすることと、そのストレージ制御モジュールに空のボリュームを割り当てることと、を含む。この手順は、通常は、新しいストレージシステムのインストール時、または新しいストレージ制御モジュールが与えられた場合に用いられる。
[0060] 図9は、空きストレージ制御モジュールを見つけることと、見つかったストレージ制御モジュールにストレージ制御ソフトウェアをインストールすることと、の手順を示している。
[0061] ステップ11000で、管理者が、管理コンピュータ1100上でストレージ管理I/Fプログラム1111を使用して、ストレージ管理モジュール2900上でストレージ制御モジュール管理プログラム2901を呼び出す。管理者は、ストレージ制御ソフトウェアのタイプ(必須)、ベンダ(任意)、バージョン(任意)などのパラメータを与え、それによって、ストレージ制御モジュール管理プログラム2901が、空きストレージ制御モジュールに、指定されたストレージ制御ソフトウェアを割り当てる。
[0062] ステップ11020で、ストレージ制御モジュール管理プログラムは、ストレージ制御モジュール管理テーブルのステータスカラム29026が「オフライン」である空きストレージ制御モジュールを見つけるために、ストレージ制御モジュール管理テーブル2902を検索する。管理者が、ストレージ管理I/Fプログラム1111でストレージ制御モジュール管理テーブルを見て、どのストレージ制御モジュールが使用可能かを既に知っていて、ステップ11000で、ストレージ制御モジュールの特定の番号を指定する場合は、このステップをスキップすることが可能である。
[0063] ステップ11030で、空きストレージ制御モジュールが見つからない場合、または、管理者が指定したストレージ制御モジュール番号が正しくない場合、プログラムは、ステップ11050に進み、エラーを返してプログラムを終了する。そうでない場合、プロセスは、ステップ11040に進む。
[0064] ステップ11040では、ステップ11020で空きストレージ制御モジュールが見つかった場合、または空きストレージ制御モジュールが指定された場合、ストレージ制御モジュール管理プログラム2901は、指定されたストレージ制御ソフトウェアが既にストレージシステム2000にインストールされているかどうかを調べるために、ストレージ制御SW管理テーブル2903を検索する。ストレージ制御モジュール管理プログラムがストレージ制御SW管理テーブル2903を調べる際には、ストレージ制御ソフトウェアのタイプを比較する必要があり、他の比較用パラメータ(ストレージ制御ソフトウェアのベンダ名やバージョンなど)も任意選択であってよい。
[0065] ステップ11060で、指定されたストレージ制御ソフトウェアが既にストレージシステム2000にインストールされている場合、プロセスは、ステップ11070に進む。一方、指定されたストレージ制御ソフトウェアがまだストレージシステム2000にインストールされていない場合、ストレージ制御モジュール管理プログラム2901は、ステップ11080に進み、エラーを返して処理を終了する。
[0066] ステップ11070で、ストレージ制御モジュール管理プログラム2901は、指定されたストレージ制御SWを、ストレージ制御ソフトウェアリポジトリ2910から取り出し、取り出したストレージSWを、ステップ11020で見つかった空きストレージ制御モジュールのメモリにインストールし、次に、その空きストレージ制御モジュールでストレージ制御ソフトウェアを起動する。
[0067] ストレージ制御ソフトウェアを空きストレージ制御モジュールにインストールして起動する代替方法では、指定されたストレージ制御ソフトウェアを収容するボリュームが、ストレージ管理モジュールとストレージ制御モジュールとの間で共有されることが可能である場合に、ストレージ制御モジュール管理プログラムは、指定されたストレージ制御ソフトウェアを収容する共有ボリュームへのパスを定義する。ストレージ制御モジュール管理プログラム2901は、次に、空きストレージ制御モジュールの場所に、そのボリュームの「LU0」を割り当てて、そのストレージ制御モジュールがこのボリュームからブートされるようにする。さらに、指定されたストレージ制御ソフトウェアを収容するボリュームを共有できない場合は、指定されたストレージ制御ソフトウェアを、その空きストレージ制御モジュールに「LU0」として割り当てられた別のボリュームにコピーすることが可能である。次に、ストレージ制御モジュールが起動したら、BIOS内に配置されることが可能なプログラムローダプログラムが、ブートアップ処理の間に、特定のLU(たとえば、「LU0」)から、指定されたストレージ制御ソフトウェアを読み出し、メモリ上でソフトウェアの実行を開始する。
[0068] ステップ11090で、ストレージ制御ソフトウェアが、空きストレージ制御モジュールで使用されるためにインストールされた後、ストレージ制御モジュール管理プログラム2901が、ストレージ制御モジュール管理テーブル2902内のその特定のストレージ制御モジュールのエントリを、指定されたストレージ制御ソフトウェアの情報で更新する。
[0069] したがって、本発明は、ストレージ制御モジュールが所望の用途に適応できるように、様々なストレージ制御ソフトウェアが、指定された時点でストレージ制御モジュールにインストールされることを可能にする点で、先行技術に対する優位性を有する。本発明より前は、各ストレージ制御モジュールにおいて、プリインストールされたストレージ制御ソフトウェアが起動するだけで、起動時に実行されるストレージ制御ソフトウェアを変更することに関して選択肢がなかった。
[0070] ストレージ制御モジュールへのストレージ制御ソフトウェアのインストールが完了した後、図10に示されるように、そのストレージ制御モジュールに空のボリュームが割り当てられる。
[0071] ステップ11100で、管理者が、管理コンピュータ上でストレージ管理I/Fプログラムを使用し、作成するボリュームの数や、LUNセキュリティの設定に使用するホストWWNなどのパラメータを使用して、ストレージ管理モジュール2900上でボリューム供給プログラム2904を呼び出す。代替として、管理者は、未割り当てボリュームを手動で検索して指定することが可能である。
[0072] ステップ11120で、ボリューム供給プログラム2904は、空の(未割り当て)ボリュームを見つけるために、ボリューム管理テーブル2911を検索する。
[0073] ステップ11130で、未割り当てボリュームが見つかったか、ステップ11100で管理者によってボリュームが指定されている場合には、ボリューム供給プログラムは、ステップ11140に進む。一方、未割り当てボリュームが見つからない場合、または管理者が正しくないボリュームを指定した場合には、プロセスは、ステップ11150に進み、そこで、ボリューム供給プログラムは、エラーを返してプログラムを終了する。
[0074] ステップ11140で、ボリューム供給プログラム2904が、ボリュームの識別に使用される論理装置番号を定義し、プロセスは、そのボリュームのパスを定義する、図11に示されるパス定義プロセスに進む。
[0075] 図11のステップ11170で、ボリューム供給プロセス2904は、ステップ11020で見つかったストレージ制御モジュールのポートWWNを、新しく割り当てられたボリュームに割り当てる。
[0076] ステップ11180で、ボリューム供給プログラム2904は、ボリューム管理テーブル2911を新しいボリューム情報で更新する。
[0077] ステップ11190で、ボリューム供給プログラム2904は、入力されたホストWWNを使用して、ボリュームに対してLUNセキュリティを定義する。これは、ボリューム供給プログラム2904が、ストレージ制御モジュールに関してLUNセキュリティテーブル2912を更新することを意味する。上述の手順が完了したら、ホストコンピュータ1000が、ストレージ制御モジュールの指定されたポートから、割り当てられたボリュームにアクセスすることが可能になる。
[0078] ストレージ制御SWのストレージ制御モジュールからの割り当て解除
[0079] 管理者は、ストレージ制御モジュールの計算能力をより効率的に利用するために、1つまたは複数のストレージ制御モジュール2200のロールを切り替えたい場合がある。たとえば、夜間にバックアップ操作を実施するために、より高い計算能力が必要になる場合がある。そのような状況では、そのときに、VTLストレージ制御ソフトウェアを実行しているストレージ制御モジュールがより多くあることが望ましい。同様に、このときは、ストレージ制御モジュールが、ブロックベースのストレージ制御ソフトウェアまたはNASストレージ制御ソフトウェアを実行している必要性は少ないと考えられる。これは、それらが、日中の間によりアクティブであろう生産用途に使用されるのが普通であるためである。
[0080] ストレージ制御モジュール2200のロール変更を実現するために、本発明では、ストレージ制御ソフトウェアをストレージ制御モジュールから割り当て解除する手順が提供される。さらに、データ、およびオリジナルのストレージ制御モジュール構成のホスト接続のような構成情報は、後で必要に応じて、前のロールを再開することが可能であるように、保存されることが好ましい。たとえば、管理者は、バックアップ手順が実施された翌朝に、ストレージ制御モジュールをオリジナルの構成に戻したい場合がある。
[0081] 図12は、ストレージ制御ソフトウェア2201をストレージ制御モジュール2200から割り当て解除する制御手順の例を示し、この手順は、ホストコンピュータの切断と、ストレージ制御ソフトウェアの停止と、ストレージ制御モジュールに割り当てられたボリュームの割り当て解除と、ボリュームに関連する情報の保存とを含む。
[0082] ステップ12000で、管理者は、管理コンピュータ1100上でホストコンピュータ管理プログラム1112を呼び出して、割り当て解除されるべき(すなわち、再割り当てされるべき)特定のストレージ制御モジュール2200からホストコンピュータ1000を切断する。切断コマンドは、「ストレージ制御モジュールによって与えられたファイルシステムからアンマウントする」命令であっても「ホストコンピュータOSをシャットダウンする」命令であってもよい。命令を容易にするために、ストレージ制御モジュールとのホストコンピュータ接続に関する情報は、管理コンピュータ1100によって保全および管理されることが可能である。そのような接続情報の一例は、ボリューム管理テーブル2911およびLUNセキュリティテーブル2912のコピーである。
[0083] ステップ12010で、管理者が、管理コンピュータ1100上でストレージ管理I/Fプログラム1111を使用して、ストレージ管理モジュール2900上でストレージ制御モジュール管理プログラム2901を呼び出す。管理者は、指定されたストレージ制御モジュールを割り当て解除するために、割り当て解除されるべきストレージ制御モジュールの番号のようなパラメータを含める。
[0084] ステップ12020で、ストレージ制御モジュール管理プログラム2901は、指定されたストレージ制御モジュール2200上のストレージ制御ソフトウェア2201を停止し、任意の必要な手順(キャッシュメモリからディスクへのフラッシュなど)を実行する。
[0085] ステップ12030で、停止操作がエラーなしで完了することが可能な場合、プロセスは、ステップ12040に進む。一方、停止操作がエラーを発生して完了する場合は、ステップ12050で、ストレージ制御モジュール管理プログラム2901はエラーを返し、プログラムは終了する。
[0086] ステップ12040で、ストレージ制御モジュール管理プログラム2901は、データボリュームを割り当て解除して、構成情報(ボリュームへの現在のホスト接続、その他)を保存するために、ストレージ管理モジュール2900上でボリューム割り当て解除および割り当てプログラムを呼び出す。しかしながら、構成の保存は、どのような場合でも必須というわけではない。たとえば、現在の構成を再開する予定がまったくない場合は、構成情報を保存する必要がない。さらに、情報が保存されていなければ場合、管理者は、情報を思い出して、ストレージ制御モジュールの再割り当て時にホストコンピュータからボリュームへのパスを再定義することが可能である。
[0087] ステップ12060で、ボリューム割り当て解除および割り当てプログラムは、ストレージ制御モジュールのボリュームへのパスを割り当て解除する。典型的な割り当て解除操作は、図5のボリューム管理テーブルを、特定のボリュームについての「割り当てられたストレージ制御モジュールの番号」エントリ29112および「関連付けられたストレージ制御モジュールWWN」エントリ29113の値を削除することなどによって、更新することである。ボリューム管理情報が削除されていても、ボリューム自体は削除されていないので、データ自体はまだ、ストレージシステムに保存されている。したがって、そのデータは、ボリュームの再割り当て時に利用可能であり、再割り当ての実行時に使用するためにデータをバックアップすることは不要である。
[0088] ステップ12070で、ボリューム割り当て解除および割り当てプログラムは、割り当て解除されたボリュームについてのLUNセキュリティを割り当て解除する。典型的な割り当て解除操作は、図6のLUNセキュリティテーブル2912を、「アクセスを許可されたホストのWWN」エントリ29122の値を削除することなどによって、更新することであろう。さらに、このステップは、必ずしも必須ではない。LUNセキュリティテーブル2912はストレージ制御モジュール自体によって管理されるため、LUNセキュリティ情報は、割り当て解除されたボリュームが再割り当てされるとすぐに再使用されることが可能である。たとえば、同じボリュームが後で同じストレージ制御モジュールに再割り当てされた場合、そのLUNセキュリティ設定は、引き続き有効になる。しかしながら、割り当て解除されたボリュームが、再割り当て時に同じストレージ制御モジュールに再割り当てされることは必須ではない。すなわち、再割り当て時には、これらのボリュームに別のストレージ制御モジュールが割り当てられることが可能である。そのような場合は、ボリューム割り当て解除時にLUNセキュリティ情報を割り当て解除し、そのボリュームの再割り当て時にLUNセキュリティ情報を再定義するほうがよい。管理者によるLUNセキュリティ情報の再定義を支援するために、LUNセキュリティ情報は、次のステップ12080で、図7Bに示されるようなボリューム割り当て解除管理テーブルに保存されることが可能である。代替方法では、管理コンピュータは、LUNセキュリティ情報を保存することが可能である。さらに代替として、管理者は、再割り当て時にその情報が利用されるときに、その情報を思い出すことが可能である。
[0089] ステップ12080で、ボリューム割り当て解除および割り当てプログラム2905は、割り当て解除番号を生成し、ボリューム割り当て解除管理テーブル2906を更新する(すなわち、新しい割り当て解除番号に対応する新しいエントリを追加する)。前述のように、LUNセキュリティ情報29067を、図7Bの割り当て解除管理テーブル2906’に含めることが可能である。
[0090] ステップ12090で、ボリューム割り当て解除および割り当てプログラムは、割り当て解除番号を管理コンピュータ1100に返す。返された割り当て解除番号は、ボリュームの再割り当て時、すなわち、同じストレージ制御モジュールまたは別のストレージ制御モジュールの再配置時に利用される。割り当て解除番号は、管理コンピュータ1100上のストレージ管理インターフェースプログラム1111によって保全されるか、管理者によって手動で保全されることが可能である。上述の手順が完了したら、指定されたストレージ制御モジュール2200は空きであり、新しいロールを割り当てられることが可能である(すなわち、指定されたストレージ制御モジュール2200に新しいストレージ制御ソフトウェアがロードされることが可能である)。割り当て解除操作が行われる他の状況として、ストレージ制御モジュールを置き換える場合や、ストレージ制御モジュールを削除する場合がある。
[0091] ストレージ制御モジュールへのストレージ制御SWの再インストール
[0092] 前述のように、管理者は、前の手順で割り当て解除されたストレージ制御モジュールをオリジナルの構成(たとえば、午前中の構成、ストレージ制御モジュールの置き換え中の構成など)に戻したい場合がある。この手順は、図9で示された、ストレージ制御ソフトウェアをストレージ制御モジュールにインストールする手順と異なる。後述されるように、この状況では、保存されたボリュームが、割り当て済みストレージ制御モジュールに割り当てられる。
[0093] 図11,図12及び図13は、ストレージ制御ソフトウェア2201をストレージ制御モジュール2200(割り当て解除時と同じストレージ制御モジュールであっても、別のストレージ制御モジュールであってもよい)に再割り当てする制御手順の例を示す。一般に、このプロセスは、割り当て解除されたストレージ制御ソフトウェア情報を取り出すこと、使用可能なストレージ制御モジュールを見つけること、(必要に応じて)ストレージ制御ソフトウェアをインストールすること、保存されている任意のボリュームを再割り当てすること、および/または(必要に応じて)新しいボリュームを割り当てることを含む。
[0094] ステップ13000で、管理者は、管理コンピュータ1100上でストレージ管理I/Fプログラム1111を使用して、ストレージ管理モジュール2900上でストレージ制御モジュール管理プログラム2901を呼び出す。管理者は、ストレージ制御ソフトウェア2201をストレージ制御モジュール2200に再割り当てするために、ストレージ制御ソフトウェアのタイプ(必須)、ベンダ(任意)、バージョン(任意)、指定された割り当て解除番号、ホストWWNなどのパラメータを使用する。
[0095] ステップ13010で、ストレージ制御モジュール管理プログラム2900は、指定された割り当て解除番号がボリューム割り当て解除管理テーブル2906に存在するかどうかを調べるために、ストレージ管理モジュール2900上でボリューム割り当て解除および割り当てプログラム2905を呼び出す。
[0096] ステップ13020で、ボリューム割り当て解除および割り当てプログラムは、指定された割り当て解除番号を、ボリューム割り当て解除管理テーブル2906で検索する。
[0097] ステップ13030で、指定された割り当て解除番号が存在する場合には、ボリューム割り当て解除および割り当てプログラム2905は、指定されたストレージ制御ソフトウェアのタイプが、ボリューム割り当て解除管理テーブルに保存されているものと同じかどうかを調べる。ストレージ制御ソフトウェアのタイプは、機能が適正であることを確認するために比較されなければならず、他の比較(ストレージ制御ソフトウェアのベンダ名やバージョンなど)は、任意で行われてよい。割り当て解除番号が存在しない場合、または制御ソフトウェアのタイプが指定と一致しない場合、ステップ13050で、ボリューム割り当て解除および割り当てプログラムは、エラーを返してプログラムを終了する。そうでない場合、プロセスは、ステップ13040に進む。
[0098] ステップ13040で、指定されたストレージ制御ソフトウェアが同じであれば、ボリューム割り当て解除および割り当てプログラム2905は、プロセスの制御をストレージ制御モジュール管理プログラム2901に返す。(ストレージ制御ソフトウェアのタイプは同じであって)ベンダまたはバージョンが異なる場合は、データフォーマット変換プログラムがストレージシステムに実装可能であるか、外部サーバにおいて利用可能であれば、エラーを返す必要はなく、データフォーマットを、ストレージ制御ソフトウェアのオリジナルのバージョンからストレージ制御ソフトウェアの新しいバージョンに変換して、操作を続けることが可能である。
[0099] ステップ13060で、ボリューム割り当て解除管理テーブル2906において、割り当て解除されたストレージ制御モジュールの適切なエントリが見つかったら、新しいロールを割り当てられるストレージ制御モジュールを見つける必要があり、それによって、保存されているオリジナルのボリュームを、そのストレージ制御モジュールに再割り当てすることが可能である。したがって、ストレージ制御モジュール管理プログラム2901は、ストレージ制御モジュール管理テーブル2902を検索して、指定されたタイプのストレージ制御ソフトウェアを既に実行しているストレージ制御モジュール2200があるかどうかを調べる。指定されたタイプのストレージ制御ソフトウェアを既に有するストレージ制御モジュールを検索する際には、ストレージ制御ソフトウェアのタイプを比較しなければならず、他のパラメータ(ストレージ制御ソフトウェアのベンダ名やバージョンなど)の比較も任意で行われてよい。
[0100] ステップ13070で、ストレージ制御モジュールが見つからない場合、または、管理者が、既存の制御モジュールの計算負荷を増やさないようにするために新しいストレージ制御モジュールを割り当てたい場合、プロセスは、図15で示されるプロセスのステップ13140に進む。代替として、指定されたストレージ制御ソフトウェアが既にインストールされている、1つまたは複数のストレージ制御モジュールが見つかった場合は、ステップ13080で、ストレージ制御モジュール管理プログラムが、見つかったストレージ制御モジュールのうちの1つを選択する。ストレージ制御モジュールの1つを選択するには、様々な方法がある。1つの方法は、候補のストレージ制御モジュールの中から、計算負荷が最小であるストレージ制御モジュールを選択し、それによって負荷均衡化も同時に考慮する方法である。しかしながら、本発明は、具体的な選択方法のいずれにも限定されない。さらに、ボリュームの制御を引き継ぐストレージ制御モジュールは、必ずしも単一のストレージ制御モジュールでなくてもよい。すなわち、ボリュームの制御を引き継ぐストレージ制御モジュールが1つだけではストレージ制御モジュールが過負荷になると考えられる状況では、計算負荷を複数のストレージ制御モジュールに分散させるために、複数のストレージ制御モジュールをボリュームの制御の引き継ぎに割り当てることが可能である。ボリュームを複数のストレージ制御モジュールに分散させるには、様々な方法があるので、本発明は、ボリューム分散方法によって限定されない。しかしながら、ステップ13140で適切なストレージ制御モジュールが見つかった場合でも、管理者は、特定のストレージ制御モジュールを使用するとそのストレージ制御モジュールが過負荷になる場合には、そのストレージ制御モジュールを使用したくないであろう。この場合、ストレージ制御モジュール管理プログラム2901は、ステップ13080で、管理者がフローの制御を取得する選択肢を提供することが可能である。1つまたは複数のストレージ制御モジュールが選択された後、プロセスは、図14のプロセスのステップ13110に進む。
[0101] ステップ13110で、ストレージ制御モジュール管理プログラムは、ボリューム割り当て解除管理テーブル2906を検索して、指定された割り当て解除番号に対応するボリューム番号を見つける。
[0102] ステップ13120で、選択されたストレージ制御モジュールは、ステップ13110で見つかったボリューム割り当て解除管理テーブル2906’のエントリから取得されたボリューム番号やホストWWNなどのパラメータを使用して、ボリューム供給プログラム2904を呼び出す(ホストWWNは、LUNセキュリティエントリ29067から取得される)。次に、プロセスは、ステップ13110で見つかった、1つまたは複数のボリューム番号に対してパスを定義する、図11のプロセスに進む。
[0103] ステップ11170で、ボリューム供給プログラムは、ストレージ制御モジュールのポートWWNを、ステップ13110で見つかった、1つまたは複数のボリュームに割り当てる。
[0104] ステップ11180で、ボリューム供給プログラムは、それらの1つまたは複数のボリュームに関してボリューム管理テーブルを更新する。
[0105] ステップ11190で、ボリューム供給プログラムは、入力されたホストWWNを使用して、それらの1つまたは複数のボリュームに対してLUNセキュリティを定義する。これは、ボリューム供給プログラムが、ストレージ制御モジュールに関してLUNセキュリティテーブル2912を更新することを意味する。図7Aのようなボリューム割り当て解除管理テーブルにホストWWN情報が保存されていない場合、管理者は、管理コンピュータ1100上のストレージ管理I/Fプログラム1111からホストWWN情報を指定することが可能である。上述の手順が完了したら、ホストコンピュータが、再度、ストレージ制御モジュールの指定されたポートから、割り当てられたボリュームにアクセスすることが可能になる。
[0106] 図15に戻り、ステップ13140で、図13のプロセスでストレージ制御モジュールが見つからなかった場合、プロセスは、図9のプロセスに進み、ステップ11020から、空きストレージ制御モジュールを見つけ、そのストレージ制御モジュールにストレージ制御ソフトウェアをインストールすることを試みる。プロセスは、ステップ11020〜11090を実行し、次に、図15のステップ13150に戻る。ここで実行されたステップ11020〜11090は、図9を参照して前述されたものと同じである。したがって、これらのステップの説明を繰り返す必要はない。
[0107] ストレージ制御モジュール管理プログラム2901が、ストレージ制御モジュール内で、指定されたストレージ制御ソフトウェアをインストールして起動し、ステップ11090で、ストレージ制御モジュール管理テーブル2902内のストレージ制御モジュールについてのエントリを、新しいストレージ制御ソフトウェアの情報で更新した後、プロセスは、図15のステップ13150に戻る。プロセスがストレージ制御モジュールを見つけられなかった場合、または、指定されたストレージ制御ソフトウェアがまだストレージシステムにインストールされていない場合、ストレージ制御モジュール管理プログラムは、ステップ11050または11080で、それぞれエラーを返す。
[0108] ステップ13150で、指定されたストレージ制御ソフトウェアを空きストレージ制御モジュールに割り当てることができた場合、プロセスは、図14のステップ13110に進んで、指定された割り当て解除番号に対応するボリュームがないか探す。したがって、プロセスは、図14のステップ13110、13120を、その図を参照して前述された様式で実施し、次にプロセスは、図11のプロセスに進んで、指定された割り当て解除番号に対応するボリュームについてのパス定義を実施するステップ11170〜11190を実行する。これらのステップはすべて、既に詳述されているので、ここでその説明を繰り返す必要はない。上述の手順が完了したら、ホストコンピュータが、再度、ストレージ制御モジュールの指定されたポートから、割り当てられたボリュームにアクセスすることが可能になる。
[0109] 図15に戻り、ステップ13170で、図9のステップ11080でのストレージ制御ソフトウェアのタイプの不一致のために、空きストレージ制御モジュールを割り当てることができないが、空きストレージ制御モジュールを見つけることはできた場合、ステップ13180で、ストレージ制御モジュール管理プログラムは、正しくないストレージ制御ソフトウェアが指定されたというエラーを返し、プログラムを終了する。一方、図9のステップ11050で使用可能な空きストレージ制御モジュールがなかったために、空きストレージ制御モジュールを割り当てることができない場合、ステップ13190で、ストレージ制御モジュール管理プログラムは、空いているストレージ制御モジュールがないというエラーを返し、プログラムを終了する。代替として、プロセスを終了する代わりに、負荷均衡化プログラム2907を呼び出して、ストレージ制御モジュールの割り当て解除、次いで、割り当て解除されたストレージ制御モジュールへのロール(すなわち、指定されたストレージ制御ソフトウェア)の割り当てを試みることが可能である。負荷均衡化プログラム2907の手順を、図16,図17及び図18に示し、以下のセクションで説明する。
[0110] さらに、ストレージ制御モジュールに再割り当てされたオリジナルのボリュームに加えて空のボリュームが必要であれば、管理者は、1つまたは複数の空のボリュームをストレージ制御モジュールに割り当てることが可能である。これを実施する手順は、前述の、図10のステップ11100から始めて図11のステップ11190まで続く手順と同じである。したがって、これらのステップをここで改めて説明する必要はない。
[0111] ストレージ制御SWの動的な割り当ておよび割り当て解除
[0112] これまでのセクションでは、日時、ストレージ制御モジュールの置き換え、またはストレージ制御モジュールの追加に応じてロールを変更するために、管理者が、ストレージ制御モジュールに対して、ロールの割り当て、割り当て解除、および再割り当てを指定する。しかしながら、本発明によれば、ストレージシステム自体が、ストレージ制御モジュールのロールを再構成して、負荷均衡化を自動的に実施することが可能である。たとえば、ある数のストレージ制御モジュールが現在ブロックベースの処理に割り当てられていて、ある数のストレージ制御モジュールがNAS処理としての使用に割り当てられていて、ブロックベースのストレージ制御モジュールが過負荷状態でありながら、NASストレージ制御モジュールが低活動状態である場合には、動的な負荷均衡化がふさわしいであろう。本発明の負荷均衡化方法では、空きストレージ制御モジュールがない場合に、NASストレージ制御モジュールの1つを割り当て解除し、それに関連付けられていたボリュームを別のNASストレージ制御モジュールに割り当てることが可能である。その後、割り当て解除されたNASストレージ制御モジュールは、ブロックベースの処理用のストレージ制御SWをインストールして、他のブロックベースのストレージ制御モジュールの負荷を軽減することが可能である。したがって、本発明は、ストレージ制御モジュールを種々の異なるタイプのストレージ制御用途に動的に再割り当てすることを可能にする(上述の内容は、非限定的な例に過ぎない)。
[0113] 図16,図17及び図18は、本発明による負荷均衡化を実施する例示的制御手順を示す。この手順は、大まかに言えば、ストレージ制御モジュールの負荷を測定することと、マイグレーションターゲットのストレージ制御モジュールを見つけて、割り当て解除、および再割り当てすることと、マイグレーションターゲットのボリュームを見つけることと、マイグレーションを実行することと、を含む。
[0114] ステップ14000で、ストレージ管理モジュール2900上の負荷均衡化プログラム2907は、ストレージ制御モジュールのパフォーマンスパラメータ(各ストレージ制御モジュールのCPU負荷、接続数、ポートスループットなど)を測定する。この測定は、定期的またはオンデマンドに行われることが可能である。
[0115] ステップ14010で、負荷均衡化プログラム2907は、測定ステップの結果を、図8の負荷管理テーブル2908に格納する。
[0116] ステップ14020で、負荷均衡化プログラムは、負荷管理テーブル2908を検査し、ストレージ制御モジュールのいくつかのパラメータが、ある時点、または、ある時間帯に所定のしきい値を超えているのが見つかった場合は、ステップ14040に進むことによって、負荷均衡化処理が実行される。見つからない場合、負荷均衡化プログラムは、ステップ14000へのループバックで示されるように、定期的に、またはオンデマンドベースでパフォーマンスの測定を続ける。負荷均衡化処理に関して言えば、負荷均衡化プログラムは、特定の負荷しきい値またはパフォーマンスしきい値を通過したと識別されたストレージ制御モジュールの負荷(たとえば、ストレージシステム内のボリュームに対して実施されるI/O操作)を分散させる。
[0117] ステップ14040で、所定のしきい値を超える負荷を有すると識別されたストレージ制御モジュールがあるので、負荷均衡化プログラムは、その識別されたストレージ制御モジュールの負荷を軽減することを試みる。負荷均衡化プログラムは、最初に、ストレージ制御モジュール管理テーブル2902を検索して空きストレージ制御モジュールを見つける。
[0118] ステップ14050で、空きストレージ制御モジュールが見つかった場合、プロセスは、ステップ14060に進む。一方、空きストレージ制御モジュールが見つからなかった場合、プロセスは、図17のステップ14100に進む。
[0119] ステップ14060で、ストレージ制御モジュール管理プログラム2901は、所定の負荷しきい値を超えていると識別されたストレージ制御モジュールで実行されているものと同じタイプのストレージ制御ソフトウェア2201を、ストレージ制御ソフトウェアリポジトリ2910から取得する。ストレージ制御モジュール管理プログラム2901は、取得されたストレージ制御SW 2201を、新たに見つかった(ステップ14040で見つかった)ストレージ制御モジュールにインストールして起動する。このステップで実施される手順は、図9のステップ11070で前述されたものと同様である。
[0120] ステップ14070で、負荷均衡化プログラムは、ストレージ制御モジュール管理テーブル2902を更新する。このステップは、図9のステップ11090と同様である。次にプロセスは、図18のステップ14190に進んで、過負荷ストレージ制御モジュール管理テーブルにあるボリュームを再割り当てする。図18の各ステップについては、図17の説明の後に説明する。
[0121] 図17のステップ14100で、空きストレージ制御モジュールが見つからなかったため、負荷均衡化プログラムは、過負荷のストレージ制御モジュールの過剰負荷の一部を引き継ぐために割り当て解除および再割り当てされることが可能なストレージ制御モジュールを見つける必要がある。さらに、割り当て解除されたストレージモジュールの負荷は、同じタイプのストレージ制御ソフトウェアを実行している他のいくつかのストレージ制御モジュールによって引き継がれなければならない。したがって、負荷均衡化プログラムは、ストレージ制御モジュール管理テーブル2902を検索して、過負荷のストレージ制御モジュールで実行されているストレージ制御ソフトウェアと異なるタイプのストレージ制御ソフトウェアを採用しているストレージ制御モジュール2200を見つける。
[0122] ステップ14110で、過負荷のストレージ制御モジュールのものと異なるタイプの、同じタイプのストレージ制御ソフトウェアを有するストレージ制御モジュールが2つ以上見つかった場合、プロセスは、ステップ14120に進む。一方、そのようなストレージ制御モジュールが2つ以上は見つからなかった場合、負荷均衡化プログラムは、適切なマイグレーションターゲットがないため、ステップ14180で終了する。この場合は、プログラムが管理者にエラーメッセージを送り、管理者は、ストレージ制御モジュールの1つが割り当て解除されることが可能かどうか、または負荷均衡化を達成するために新しいストレージ制御モジュールを追加しなければならないかどうかを、手動で決定することが可能である。
[0123] ステップ14120で、負荷均衡化プログラム2907は、負荷管理テーブル2908を検索し、ステップ14100で見つかった2つ以上のストレージ制御モジュールの中から見つかったストレージ制御モジュールのうちの1つを選択する。ストレージ制御モジュールを選択するには、様々な方法がある。好ましい方法では、見つかったストレージ制御モジュールの1つにおいて、測定された負荷が最も低いストレージ制御モジュールが、割り当て解除されるよう選択される。これは、見つかったストレージ制御モジュールのそれぞれについて負荷管理テーブル2908を参照することによって決定される。しかしながら、本発明は、特定の選択方法に限定されない。
[0124] ステップ14130で、負荷均衡化プログラムは、ステップ14120で選択されたストレージ制御モジュールからストレージ制御ソフトウェアを割り当て解除し、負荷均衡化プログラムは、割り当て解除番号を受け取る。この割り当て解除処理は、ストレージ制御モジュール管理プログラム2901を呼び出して、図12を参照して前述されたステップ12000〜12090を実施することによって、実施される。これらのステップについては、既に詳述されているので、ここで改めて説明する必要はない。
[0125] ステップ14140で、負荷均衡化プログラム2907は、ステップ12090を完了して、選択されたストレージ制御モジュールの割り当て解除を終了し、割り当て解除番号を返した後、選択されて割り当て解除されたストレージ制御モジュールと同じストレージ制御ソフトウェアを実行している他のストレージ制御モジュールのうちの1つまたは複数に、割り当て解除されたボリュームを再割り当てするために、ボリューム割り当て解除管理テーブル2906を検索して、返された割り当て解除番号に対応するボリューム番号を見つける。同じストレージ制御ソフトウェアを実行している他のストレージ制御モジュールが複数存在する場合、これらのうちのどれに、割り当て解除されたストレージ制御モジュールのI/O操作を引き継がせるか、を選択するには、様々な方法がある。好ましい一方法は、負荷均衡化テーブル2908を参照して、負荷が最も低いストレージ制御モジュールを選択することである。しかしながら、本発明は、特定の選択方法に限定されない。さらに、複数のストレージ制御モジュールが、割り当て解除されたストレージ制御モジュールと同じストレージ制御ソフトウェアを実行している場合は、計算負荷を複数のストレージ制御モジュールに分散させるために、複数のストレージ制御モジュールが、割り当て解除されたボリュームを引き継ぐことが可能である。これは、1つのストレージ制御モジュールだけがそのボリュームを引き継ぐと、そのストレージ制御モジュールもまた過負荷になってしまう可能性があるためである。複数のストレージ制御モジュールにまたがるボリューム分散を決定するには、様々な方法があり、したがって、本発明は、特定のボリューム分散方法に限定されない。
[0126] ステップ14150で、負荷均衡化プログラム2907は、割り当て解除されたストレージ制御モジュールに以前から割り当てられていたボリューム番号および割り当て済みホストWWNなどのパラメータを使用して、ボリューム供給プログラム2904を呼び出す。ボリューム番号およびホストWWNは、割り当て解除番号を使用してボリューム割り当て解除管理テーブル2906’から取り出すことが可能である(ホストWWNは、LUNセキュリティエントリ29067に含まれる)。
[0127] ステップ14160で、ボリューム供給プログラムは、図11に示された処理のステップ11170〜11190を実施して、再割り当てされたボリュームのパスを定義する。これにより、ホストコンピュータが、再割り当てされたストレージ制御モジュールの指定されたポートから、再割り当てされたボリュームにアクセスできるようになる。再割り当てされたボリュームのパス定義が完了したら、マイグレーションターゲットのストレージ制御モジュールが、負荷均衡化に使用されることが可能になり、手順は、図18の14190に進む。
[0128] 図18のステップ14190で、負荷均衡化プログラム2907は、過負荷のストレージ制御モジュールにあるどのボリュームを空きストレージ制御モジュールにマイグレートするかを決定する。マイグレーションのターゲットとなるボリュームを選択するには、様々な方法がある。1つの方法は、ボリュームのボリューム番号に基づく。たとえば、各ボリュームに番号が昇順に振られていて、ボリューム番号が小さいほうの半数のボリュームが、過負荷のストレージ制御モジュールにとどまり、ボリューム番号が大きいほうの半数のボリュームが、空きストレージ制御モジュールへのマイグレーションのターゲットとなることが可能である。別の方法では、ホストによるボリュームへのアクセスの頻度を測定し、測定されたアクセス頻度に従って、ほぼ均等にボリュームを分散させることが可能である。さらに代替として、管理者は、移動させるボリュームを手動で選択することが可能である。他の方法も本開示から自明であり、本発明は、特定の方法に限定されない。
[0129] ステップ14200で、負荷均衡化プログラム2907は、管理コンピュータ上でホストコンピュータ管理プログラム1111を呼び出して、ステップ14190で選択されたターゲットボリュームに関連付けられたホストコンピュータを切断する。代替方法では、管理者は、ホストを切断することを手動で指定することが可能である。
[0130] ステップ14210で、負荷均衡化プログラム2907は、マイグレーションターゲットのボリュームを過負荷のストレージ制御モジュールから割り当て解除するために、ボリューム割り当て解除および割り当てプログラム2905を呼び出す。
[0131] ステップ14220で、ボリューム割り当て解除および割り当てプログラム2905は、ターゲットボリュームへのパスを割り当て解除する。典型的な割り当て解除操作には、図5のボリューム管理テーブル2911を、「割り当てられたストレージ制御モジュールの番号」エントリ29112および「関連付けられたストレージ制御モジュールWWN」エントリ29113の値を削除することによって更新することが含まれる。ボリューム管理情報は削除されるが、ボリュームおよびデータ自体は、ストレージシステム内に存続する。そこで、そのデータを、ボリュームが再割り当てされたときなどに利用することが可能である。したがって、この方法では、ボリュームが割り当て解除されるときにボリューム上のデータをバックアップして、再割り当て時にそれらのデータをボリュームに戻す必要がない。これは、データがストレージデバイス内で存続しているためである。もちろん、ボリュームが再割り当てされないことが予想される場合、または、そのボリュームデータを収容している物理的ストレージ空間が別の用途に必要な場合は、ボリュームのデータをバックアップデバイスにバックアップすることが可能である。
[0132] ステップ14240で、ボリューム割り当て解除および割り当てプログラム2905は、割り当て解除されたボリュームに対するLUNセキュリティを割り当て解除する。典型的な割り当て解除操作は、図6のLUNセキュリティテーブル2912を、「アクセスを許可されたホストのWWN」29122のエントリを削除することによって更新することである。
[0133] ステップ14250で、ボリューム割り当て解除および割り当てプログラム2905は、割り当て解除番号を生成し、ボリューム割り当て解除管理テーブルを更新する(すなわち、新しい割り当て解除用エントリを追加する)。
[0134] ステップ14260で、ボリューム割り当て解除および割り当てプログラムは、割り当て解除番号を負荷均衡化プログラム2907に返す。
[0135] ステップ14270で、負荷均衡化プログラムは、図17の処理で割り当て解除されたか、図16の処理で見つかった空きストレージ制御モジュールであるマイグレーションターゲットのストレージ制御モジュールにボリュームを再割り当てするために、ボリューム割り当て解除管理テーブル2906を検索して、返された割り当て解除番号に対応するボリューム番号を見つける。
[0136] ステップ14280で、負荷均衡化プログラムは、割り当て解除されたボリュームに対する割り当て解除済みボリューム番号および割り当て済みホストWWNなどのパラメータを使用して、ボリューム供給プログラムを呼び出す。ボリューム番号およびホストWWNは、割り当て解除番号およびLUNセキュリティ情報を使用することにより、ボリューム割り当て解除管理テーブル2906’から取得されることが可能である。ボリューム供給プログラム2904は、図11に関して前述されたように、割り当てられたボリュームのパスを定義するために、図11のステップ11170〜11190を実施する。これらのステップについては、既に詳述されているので、ここで改めて説明する必要はない。図7Bのテーブル2906’ではなく図7Aのテーブル2906のようなボリューム割り当て解除管理テーブルにホストWWN情報が保存されていない場合、管理者は、管理コンピュータ1100上のストレージ管理I/Fプログラム1111からホストWWN情報を指定することが可能である。上述の手順が完了したら、ホストコンピュータが、再割り当てされたストレージ制御モジュールの指定されたポートから、再割り当てされたボリュームにアクセスすることが可能になる。
[0137] 第2の実施形態
[0138] 本発明の第2の実施形態として、本発明の別のハードウェアおよびソフトウェア構成を説明する。本発明の第2の実施形態のストレージシステムの典型的なハードウェア構成を、図19に示す。第2の実施形態では、第1の実施形態の、複数のストレージ制御モジュール2200を有するストレージシステム2000の代わりに、複数のストレージ制御サーバ6000を採用する。CPUのようなハードウェア要素は標準化されているので、ストレージ制御モジュール2200は、標準化されたハードウェアを使用して開発されることが可能である。したがって、標準化されたハードウェアを有するストレージ制御モジュールは、1つまたは複数の外部ストレージシステム3000に接続された、標準化されたコンピュータまたは機器に置き換えられることが可能である。外部ストレージシステム3000は、本発明のユニファイドストレージシステムではなく従来型のストレージシステムであってよい。
[0139] ストレージ制御サーバ6000のハードウェア構成は、第1の実施形態のストレージ制御モジュール2200の場合と同様または同じである。したがって、各ストレージ制御サーバ6000は、CPU 6011と、メモリ6012と、ネットワーク4000に接続される第1のインターフェース6013と、管理ネットワーク4200に接続される第2のインターフェース6014と、ネットワーク4100および外部ストレージシステム3000に接続される第3のインターフェース6015と、を含む。1つの違いは、ストレージコントローラ2100が、ストレージシステム2000の一部であることから、キャッシュ2130を含むことである。しかしながら、サーバ6000のほうは、必ずしもキャッシュを有しないが、インストレーションによってはキャッシュを含む場合がある。
[0140] 第1および第2の実施形態のいずれにおいても、ストレージ管理モジュールにある、ストレージ管理に関連するプログラムおよびテーブルのすべてまたは一部が、管理コンピュータ1100に常駐することが可能である。さらに、ストレージ制御ソフトウェアリポジトリを、管理コンピュータ1100または他の外部サーバに配置することも可能である。リポジトリとストレージシステムとの間の距離は、本発明の全体機能には影響しない。したがって、ソフトウェアリポジトリは、インターネットなどを介してアクセスが可能であるような、ワイドエリアネットワーク(WAN)上の別の場所に配置されてもよい。さらに、前述の第1の実施形態において示されたものと同じ処理フローを使用するために、プログラムおよびテーブルのロケーションおよびプログラム間通信にいくつかの小変更を施すことが可能である。しかしながら、これらの変更は、本発明の中心的な処理フロー(ストレージ制御ソフトウェアのインストール、ストレージ制御ソフトウェアのアンインストール、ストレージ制御ソフトウェアの再インストール、負荷均衡化など)の機能性には影響しない。
[0141] 図20は、図19のハードウェア構成に従う論理構成の例を示す。ハードウェア構成が変更されているため、ソフトウェア構成も、一部変更が必要である。たとえば、図19の構成にはストレージ管理モジュールがないため、第1の実施形態のストレージ管理モジュールのタスクを、管理コンピュータ1100が引き継ぐ。しかしながら、この制御関連ソフトウェアのロケーション変更は、本発明の中心的な制御フローには影響しない。
[0142] たとえば、管理コンピュータ1100は、ホストコンピュータ管理プログラム1112およびストレージ管理インターフェースプログラム1111を含むことに加えて、さらに、第1の実施形態のストレージ制御モジュール管理プログラム2901と同様の機能を実施するストレージ制御サーバプログラム1901を含む。さらに管理コンピュータ1100に含まれるものとして、テーブル2902と同じ情報を収容するストレージ制御サーバ管理テーブル1902、テーブル2903と同じ情報を収容するストレージ制御ソフトウェアテーブル1903、プログラム2904と同様の機能を実施するボリューム供給管理プログラム1904、プログラム2905と同様の機能を実施するボリューム割り当て解除および割り当てプログラム1905、プログラム2906と同様の機能を実施するボリューム割り当て解除管理プログラム1906、プログラム2907と同様の機能を実施する負荷均衡化プログラム1907、テーブル2908と同じ情報を収容する負荷管理テーブル1908、テーブル2911と同じ情報を収容するボリューム管理テーブル1911、テーブル2912と同じ情報を収容するLUNセキュリティテーブル1912がある。前述のように、管理コンピュータ1100内、またはネットワーク4000、4200、4100を介して利用可能な他の場所に、ストレージ制御ソフトウェアリポジトリ1910を収容することも可能である。
[0143] さらに、ストレージ制御サーバ6000とストレージシステム3000との間の接続の一部としてネットワークスイッチ(図示せず)が利用される場合は、ゾーニングを割り当てることが可能である。このゾーニング割り当ては、LUNセキュリティ設定ステップの直前または直後のようなパス定義フェーズにおいて実施されなければならない。第2の実施形態におけるストレージ制御サーバ6000のソフトウェア構成は、第1の実施形態におけるストレージ制御モジュール2200のソフトウェア構成と同じであってよく、ボリューム6240およびストレージ制御ソフトウェア6201を含む。したがって、サーバ6000は、データが物理的には外部ストレージシステム3000に格納されている場合でも、ホストコンピュータ1000にボリューム6240を提供することが可能である。
[0144] I/Fプロトコルスタックの変更
[0145] 前述の実施形態では、ストレージ制御モジュール2200またはストレージ制御サーバ6000のロールを変更する際に、ストレージ制御ソフトウェアの全体が、別のストレージ制御ソフトウェアに置き換えられる。しかしながら、使用されるインターフェースプロトコルだけを置き換えることも可能である。たとえば、インターフェースハードウェアの置き換えに合わせて、FCとiSCSIとを置き換えることが可能である。たとえば、インターフェースプロトコルの置き換えを達成するために用いることが可能な1つの方法は、ストレージ制御ソフトウェアからオリジナルのプロトコルスタックを割り当て解除し、ストレージ管理モジュール2900などから、新しいプロトコルスタックをストレージ制御ソフトウェアにインストールすることである。ホスト側の構成(LUNセキュリティやゾーニングなど)は、パス定義のステップで、プロトコルスタックの置き換えに合わせて変更されることが可能である。しかしながら、他の構成は、必ずしも変更が必要ではない。
[0146] 本発明は、ユニファイドストレージシステムを提供する方法および装置を教示する。ユニファイドストレージシステムは、ストレージ制御モジュール(すなわち、標準ハードウェア)上で実行されているストレージ制御ソフトウェア(ブロック、NAS、CAS、VTL、VDL、OOSなど)を柔軟に変更することが可能である。本発明は、時間、ストレージ制御モジュール置き換えの置き換え、またはストレージ制御モジュールの追加に応じて、ストレージ制御モジュールのロール変更を実施するために用いられることが可能である。ストレージシステムは、負荷均衡化を自動的に実施するために、ストレージ制御モジュールの割り当て済みロールを動的に再構成することも可能である。
[0147] したがって、本発明は、様々なタイプのストレージ制御ソフトウェアを実行することが可能であって、さらに、負荷を均衡化するために、それらの様々なストレージ制御ソフトウェアを互いに交換することが可能なユニファイドストレージシステムのための方法および装置を提供することが理解されよう。さらに、本明細書では、特定の実施形態を図示および説明してきたが、当業者であれば、開示された特定の実施形態の代わりに、同じ目的を達成することを意図された任意の翻案を用いることが可能であることを理解されよう。本開示は、本発明の任意およびすべての翻案物または変形物を包含することを意図しており、先述の説明は、例示的になされたものであって限定的になされたものではないことを理解されたい。したがって、本発明の範囲は、添付の特許請求項、ならびにそのような特許請求項が権利として与えられる、あらゆる等価物に関連して適正に決定されなければならない。
[0010]本発明の方法および装置を適用することが可能なハードウェア構成の例を示す図である。 [0011]図1のアーキテクチャに適用される、本発明の論理構成の例を示す図である。 [0012]ストレージ制御モジュール管理テーブルの例を示す図である。 [0013]ストレージ制御ソフトウェア管理テーブルの例を示す図である。 [0014]ボリューム管理テーブルの例を示す図である。 [0015]LUNセキュリティテーブルの例を示す図である。 [0016](A)は本発明によるボリューム割り当て解除管理テーブルの例を示す図であり、[0017](B)はLUNセキュリティを含む、ボリューム割り当て解除管理テーブルの別の例を示す図である。 [0018]負荷管理テーブルの例を示す図である。 [0019]空きストレージ制御モジュールを割り当てる例示的制御手順を示す図である。 同空きストレージ制御モジュールを割り当てる例示的制御手順を示す図である。 同空きストレージ制御モジュールを割り当てる例示的制御手順を示す図である。 [0020]ストレージ制御モジュールからストレージ制御ソフトウェアを割り当て解除する例示的処理を示す図である。 [0021]ストレージ制御ソフトウェアをストレージ制御モジュールに再割り当てする制御手順の例を示す図である。 同ストレージ制御ソフトウェアをストレージ制御モジュールに再割り当てする制御手順の例を示す図である。 同ストレージ制御ソフトウェアをストレージ制御モジュールに再割り当てする制御手順の例を示す図である。 [0022]負荷均衡化の制御手順の例を示す図である。 同負荷均衡化の制御手順の例を示す図である。 同負荷均衡化の制御手順の例を示す図である。 [0023]本発明の方法および装置を適用することが可能なハードウェア構成の別の例を示す図である。 [0024]図19のアーキテクチャに適用される、本発明の論理構成の例を示す図である。

Claims (16)

  1. 少なくとも第1のストレージ制御プロセッサと第2のストレージ制御プロセッサとを有する複数のストレージ制御プロセッサであって、前記各ストレージ制御プロセッサは、通信のために、1つまたは複数のストレージデバイスと接続され、前記1つまたは複数のストレージデバイスは、前記1つまたは複数のストレージ制御プロセッサによって処理される入出力(I/O)操作に関連するデータを格納する、複数のストレージ制御プロセッサと、
    前記ストレージ制御プロセッサと通信する管理プロセッサと、
    第1のタイプの前記I/O操作を処理するために、前記第1のストレージ制御プロセッサで実行される、第1のタイプのストレージ制御ソフトウェアと、
    前記データを格納する1つまたは複数のボリュームであって、前記ボリュームは、前記ストレージデバイスのストレージ容量を論理的に表す、複数のボリュームと
    を備え、
    前記第1および第2のストレージ制御プロセッサのそれぞれの前記ストレージ制御ソフトウェアは、前記1つまたは複数のストレージデバイス内の前記データを処理するための様々なストレージ制御テクノロジーを実施するために動的に変更可能であり、
    前記管理プロセッサは、前記第1のストレージ制御プロセッサによって実行される前記ストレージ制御ソフトウェアを変更させるように、前記第1のタイプのストレージ制御ソフトウェアを、前記第1のタイプのストレージ制御ソフトウェアと異なる、第2のタイプのストレージ制御ソフトウェアに置き換えるよう構成され、
    前記第2のタイプのストレージ制御ソフトウェアが前記第1のストレージ制御プロセッサによって実行される際に、前記第1のストレージ制御プロセッサは、前記第1のタイプのI/O操作と異なる、第2のタイプのI/O操作を処理し、
    第1の前記ボリュームが前記第1のストレージ制御プロセッサを介して最初にアクセスされるように、前記第1のボリュームと前記第1のストレージ制御プロセッサとの間に第1のパスが最初に定義され、
    前記第1のストレージ制御プロセッサにおいて、前記第1のタイプのストレージ制御ソフトウェアに取って代わる前記第2のタイプのストレージ制御ソフトウェアがインストールされ実行される場合に、前記第1のボリュームと第2の前記ストレージ制御プロセッサとの間に第2のパスが定義され、前記第2のストレージ制御プロセッサは、前記第1のタイプのストレージ制御ソフトウェアを実行するように構成され、それによって、前記第1のボリュームが、前記第1のタイプのストレージ制御ソフトウェアを実行する前記第2のストレージ制御プロセッサを介してアクセス可能になる、ストレージシステム。
  2. 前記第1および第2のタイプのストレージ制御ソフトウェアは、
    ブロックベースのI/O操作を処理する、ブロックベースのストレージ制御ソフトウェア、
    ファイルベースのI/O操作を処理する、ネットワーク接続ストレージ(NAS)システムストレージ制御ソフトウェア、
    コンテンツベースの識別子を使用してI/O操作を処理する、コンテンツアドレス指定可能ストレージ制御ソフトウェア、
    ディスクストレージデバイスがテープストレージデバイスとして表されるI/O操作を処理する、仮想テープライブラリストレージ制御ソフトウェア、
    テープストレージデバイスがディスクストレージデバイスとして表されるI/O操作を処理する、仮想ディスクライブラリストレージ制御ソフトウェア、および
    オブジェクトベースのプロトコルを使用してI/O操作を処理する、オブジェクト指向ストレージ制御ソフトウェアの各タイプから選択される、請求項1に記載のストレージシステム。
  3. 少なくとも3つの前記ストレージ制御プロセッサをさらに備え、前記第1のタイプのストレージ制御ソフトウェアは、前記第1のストレージ制御プロセッサと、第2の前記ストレージ制御プロセッサとによって、最初に実行され、前記第2のタイプのストレージ制御ソフトウェアは、第3の前記ストレージ制御プロセッサによって実行され、
    前記管理プロセッサは、前記各ストレージ制御プロセッサの負荷を測定して、前記負荷のうちで所定のしきい値を通過したものがあるかどうかを調べるよう構成され、
    前記管理プロセッサは、前記第3のストレージ制御プロセッサの負荷が前記所定のしきい値を通過した場合に、前記第1のストレージ制御プロセッサにおいて実行されている前記第1のタイプのストレージ制御ソフトウェアを、前記第3のストレージ制御プロセッサにおいて実行されている前記第2のタイプのストレージ制御ソフトウェアに置き換え、前記第3のストレージ制御プロセッサの負荷の一部を前記第1のストレージ制御プロセッサに移すことによって、前記第3のストレージ制御プロセッサの負荷を軽減するように構成された、請求項1に記載のストレージシステム。
  4. 前記各ストレージ制御プロセッサの前記負荷は、少なくとも部分的には、前記ストレージ制御プロセッサの処理能力の利用率に基づいて決定される、請求項に記載のストレージシステム。
  5. 前記データを格納する複数のボリュームをさらに含み、前記ボリュームは、前記ストレージデバイスのストレージ容量を論理的に表し、
    第1の前記ボリュームが前記第3のストレージ制御プロセッサを介して最初にアクセスされるように、前記第1のボリュームと前記第3のストレージ制御プロセッサとの間に第1のパスが最初に定義され、
    前記第1のストレージ制御プロセッサによる実行のために、前記第2のタイプのストレージ制御ソフトウェアがインストールされたときに、前記第1のボリュームと前記第1のストレージ制御プロセッサとの間に第2のパスが定義され、それによって、前記第3のストレージ制御プロセッサの負荷の一部が前記第1のストレージ制御プロセッサに移される、請求項に記載のストレージシステム。
  6. 複数のストレージ制御モジュールをさらに含み、前記各ストレージ制御モジュールは、前記複数のストレージ制御プロセッサのうちの1つと、ストレージ制御メモリとを含み、
    ストレージ管理モジュールをさらに含み、前記ストレージ管理モジュールは、前記ストレージ管理プロセッサを含み、
    前記ストレージ管理モジュールと通信している管理コンピュータが、前記第1のストレージ制御プロセッサを含む第1の前記ストレージ制御モジュールから前記第1のタイプのストレージ制御ソフトウェアをアンインストールするために前記ストレージ管理モジュールによって実行されるプログラムを呼び出すために使用されるよう構成され、
    前記ストレージ管理モジュールは、前記第2のタイプのストレージ制御ソフトウェアを前記第1のストレージ制御モジュールにインストールし、前記第2のタイプのストレージ制御ソフトウェアが、前記第1のストレージ制御プロセッサによる実行のために前記ストレージ制御メモリにロードされるようにし、それによって、前記第1のストレージ管理モジュールのロールが、前記第1のタイプのI/O操作を処理することから、前記第2のタイプのI/O操作を処理することに変更されるよう、構成された、請求項1に記載のストレージシステム。
  7. 複数のストレージ制御サーバをさらに含み、前記各ストレージ制御サーバは、前記複数のストレージ制御プロセッサのうちの1つと、サーバメモリとを含み、
    管理コンピュータをさらに含み、前記管理コンピュータは、前記ストレージ管理プロセッサを含み、前記管理コンピュータは、前記複数のストレージ制御サーバとネットワーク経由で通信しており、
    前記管理コンピュータは、前記第1のストレージ制御プロセッサを含む第1の前記ストレージ制御モジュールから前記第1のタイプのストレージ制御ソフトウェアをアンインストールするように構成され、
    前記管理コンピュータは、前記第2のタイプのストレージ制御ソフトウェアを前記第1のストレージ制御モジュールにインストールし、前記第2のタイプのストレージ制御ソフトウェアが、前記第1のストレージ制御プロセッサによる実行のために前記第1のサーバの前記サーバメモリにロードされるようにし、それによって、前記第1のサーバのロールが、前記第1のタイプのI/O操作を処理することから、前記第2のタイプのI/O操作を処理することに変更されるよう、構成された、請求項1に記載のストレージシステム。
  8. ストレージシステムを操作する方法であって、
    複数のストレージ制御モジュールを設けるステップであって、前記各ストレージ制御モジュールは、前記各ストレージ制御モジュールと通信しているディスクデバイスに格納されたデータに関連するI/O操作を処理することが可能であり、前記各ストレージ制御モジュールによって実行されるストレージ制御ソフトウェアは、前記ディスクデバイス内の前記データを処理するための様々なストレージ制御テクノロジーを実施するために動的に変更可能である、ステップと、
    前記第1のストレージ制御モジュールによってインストールおよび実行されることが可能な複数のタイプのストレージ制御ソフトウェアから、前記ストレージ制御モジュールのうちの第1のストレージ制御モジュールにインストールされる第1のタイプのストレージ制御ソフトウェアを指定するステップと、
    前記指定された第1のタイプのストレージ制御ソフトウェアを前記第1のストレージ制御モジュールにインストールして、前記第1のストレージ制御モジュールが第1のタイプのI/O操作を処理するために前記第1のタイプのストレージ制御ソフトウェアを実行することを可能にするステップと、
    前記第1のストレージ制御モジュールによって実行される前記ストレージ制御ソフトウェアを変更させるように、前記第1のストレージ制御モジュールにある前記第1のタイプのデータ制御ソフトウェアを置き換えるために、第2のタイプのデータ制御ソフトウェアを指定するステップと、
    前記指定された第2のタイプのデータ制御ソフトウェアを前記第1のストレージ制御モジュールにインストールして、前記第1のストレージ制御モジュールが前記第1のタイプのI/O操作の代わりに第2のタイプのI/O操作を処理するために前記第2のタイプのストレージ制御ソフトウェアを実行することを可能にするステップと、
    前記第1のストレージ制御モジュールに前記第1のタイプのストレージ制御ソフトウェアがインストールされている場合に、前記第1のストレージ制御モジュールに割り当てられている1つまたは複数の第1のボリュームを識別するステップと、
    前記第2のタイプのストレージ制御ソフトウェアが前記第1のストレージ制御モジュールにインストールされている場合に、前記第1のボリュームを、前記第1のストレージ制御モジュールによってアクセスされることから割り当て解除するステップと、
    前記第1のボリュームに関連する割り当て解除情報を保存するステップと
    を含み、
    前記割り当て解除情報は、前記1つまたは複数の第1のボリュームにアクセスするために指定されているタイプのストレージ制御ソフトウェアである、方法。
  9. 前記第1のタイプのストレージ制御ソフトウェアを前記複数のストレージ制御モジュールのうちの第2のストレージ制御モジュールにインストールするステップと、
    前記第1のボリュームを、前記第2のストレージ制御モジュールを介してアクセスされるように割り当てるステップと、
    前記第1のボリュームにアクセスすることを許可されているホストコンピュータを決定するステップと、
    前記ホストコンピュータからの前記第1のボリュームへのアクセスを許可するために、前記第2のストレージ制御モジュールにおいて前記第1のボリュームおよび前記ホストコンピュータについての論理装置番号セキュリティを定義するステップと、をさらに含む、請求項に記載の方法。
  10. 前記各ストレージ制御モジュールの負荷を測定して、前記ストレージ制御モジュールのうちのいずれかの負荷が所定のしきい値を通過したかどうかを調べるステップと、
    前記所定のしきい値を通過した負荷を有する、過負荷のストレージ制御モジュールを識別するステップであって、前記過負荷のストレージ制御モジュールは、前記第1のタイプのI/O操作を処理するために前記第1のタイプのストレージ制御ソフトウェアがインストールされている、ステップと、
    前記過負荷のストレージ制御モジュールの負荷を軽減するために使用されることが可能なターゲットストレージ制御モジュールを識別するステップであって、前記ターゲットストレージ制御モジュールは、前記第1のタイプのI/O操作と異なる第2のタイプのI/O操作を処理するために第2のタイプのストレージ制御ソフトウェアがインストールされている、ステップと、
    前記ターゲットストレージ制御モジュールが前記第1のタイプのI/O操作を処理することが可能であるように、前記第1のタイプのストレージ制御ソフトウェアを前記ターゲットストレージ制御モジュールにインストールするステップと、
    前記過負荷のストレージ制御モジュールの負荷の一部を前記ターゲットストレージ制御モジュールに移すステップと、をさらに含む、請求項に記載の方法。
  11. 前記負荷の一部を前記ターゲットストレージ制御モジュールに移す前記ステップはさらに、
    第1のボリュームと前記過負荷のストレージ制御モジュールとの間に定義された第1のパスを削除するステップであって、前記第1のパスは、前記第1のボリュームが、前記過負荷のストレージ制御モジュールを介してアクセスされることを可能にする、ステップと、
    前記第1のボリュームと前記ターゲットストレージ制御モジュールとの間に第2のパスを定義して、前記第1のボリュームが、前記過負荷のストレージ制御モジュールを介してではなく、前記ターゲットストレージ制御モジュールを介してアクセスされることが可能になるようにするステップと、を含む、請求項10に記載の方法。
  12. 前記第1のタイプのストレージ制御ソフトウェアと前記第2のタイプのストレージ制御ソフトウェアとをストレージ制御ソフトウェアリポジトリから取り出すステップをさらに含み、前記ストレージ制御ソフトウェアリポジトリは、
    ブロックベースのI/O操作を処理する、ブロックベースのストレージ制御ソフトウェア、
    ファイルベースのI/O操作を処理する、ネットワーク接続ストレージ(NAS)システムストレージ制御ソフトウェア、
    コンテンツベースの識別子を使用してI/O操作を処理する、コンテンツアドレス指定可能ストレージ制御ソフトウェア、
    ディスクストレージデバイスがテープストレージデバイスとして表されるI/O操作を処理する、仮想テープライブラリストレージ制御ソフトウェア、
    テープストレージデバイスがディスクストレージデバイスとして表されるI/O操作を処理する、仮想ディスクライブラリストレージ制御ソフトウェア、および
    オブジェクトベースのプロトコルを使用してI/O操作を処理する、オブジェクト指向ストレージ制御ソフトウェアを含む、複数の異なるタイプのストレージ制御ソフトウェアを含む、請求項に記載の方法。
  13. 複数のストレージ制御モジュールを含むストレージシステムであって、前記各ストレージ制御モジュールは、I/O操作を独立に処理することが可能である、ストレージシステムと、
    前記ストレージ制御モジュールと通信していて、前記I/O操作に関連するデータを格納する、1つまたは複数のストレージデバイスと、
    前記各ストレージ制御モジュールの負荷を測定して、前記負荷のうちで所定のしきい値を通過したものがあるかどうかを調べるように構成された、ストレージ管理モジュールと
    を備え、
    前記各ストレージ制御モジュールは、異なるタイプのストレージ制御ソフトウェアがインストールされており、
    前記ストレージ制御モジュールのそれぞれの前記ストレージ制御ソフトウェアは、記1つまたは複数のストレージデバイス内の前記データを処理するための様々なストレージ制御テクノロジーを実施するために動的に変更可能であり、
    第1の前記ストレージ制御モジュールが、第1のタイプのI/O操作を処理するために第1のタイプのストレージ制御ソフトウェアを実行するように構成され、
    第2の前記ストレージ制御モジュールが、前記第1のタイプのI/O操作と異なる第2のタイプのI/O操作を処理するために第2のタイプのストレージ制御ソフトウェアを実行するように構成され、
    第3の前記ストレージ制御モジュールが、前記第1または第2のタイプのI/O操作と異なる第3のタイプのI/O操作を処理するために第3のタイプのストレージ制御ソフトウェアを実行するように構成され
    前記ストレージ管理モジュールは、前記ストレージ制御モジュールのうちの1つの特定の1つの負荷が所定のしきい値を超えた場合に、前記特定のストレージ制御モジュールの負荷を軽減するために使用されることが可能なターゲットストレージ制御モジュールを識別することにより、前記特定のストレージ制御モジュールの負荷を軽減するように構成され、
    前記ストレージ管理モジュールは、前記ターゲットストレージ制御モジュールによって実行される前記ストレージ制御ソフトウェアを変更するように、前記ストレージ制御モジュールにインストールされている、あるタイプのストレージ制御ソフトウェアと一致する、あるタイプのストレージ制御ソフトウェアを、前記ターゲット制御モジュールにインストールするように構成され、それによって、前記ターゲットストレージ制御モジュールが、前記特定のストレージ制御モジュールと同じタイプのI/O操作を処理するように構成され、
    前記ストレージ管理モジュールは、前記特定のストレージ制御モジュールの負荷の一部を前記ターゲットストレージ制御モジュールに移すように構成された、情報システム。
  14. 管理コンピュータをさらに含み、前記管理コンピュータは、前記第1のストレージ制御モジュールから前記第1のタイプのストレージ制御ソフトウェアをアンインストールして第4のタイプのストレージ制御ソフトウェアをインストールするように構成され、それによって、前記第1のストレージ制御モジュールが、前記第1、第2、または第3のタイプのI/O操作と異なる第4のタイプのI/O操作を処理するように構成される、請求項13に記載のシステム。
  15. 前記第1のタイプのストレージ制御ソフトウェアは、ブロックベースのI/O操作を処理する、ブロックベースのストレージ制御ソフトウェアであり、
    前記第2のタイプのストレージ制御ソフトウェアは、ファイルベースのI/O操作を処理する、ネットワーク接続ストレージ(NAS)システムストレージ制御ソフトウェアであり、
    前記第3のタイプのストレージ制御ソフトウェアは、
    コンテンツベースの識別子を使用してI/O操作を処理する、コンテンツアドレス指定可能ストレージ制御ソフトウェア、
    ディスクストレージデバイスがテープストレージデバイスとして表されるI/O操作を処理する、仮想テープライブラリストレージ制御ソフトウェア、
    テープストレージデバイスがディスクストレージデバイスとして表されるI/O操作を処理する、仮想ディスクライブラリストレージ制御ソフトウェア、および
    オブジェクトベースのプロトコルを使用してI/O操作を処理する、オブジェクト指向ストレージ制御ソフトウェアのうちの1つである、請求項13に記載のシステム。
  16. 前記特定のストレージ制御モジュールの前記負荷は、少なくとも部分的には、前記特定のストレージ制御モジュールの処理能力の利用率に基づいて決定される、請求項13に記載のシステム。
JP2007317182A 2007-03-30 2007-12-07 ユニファイドストレージシステムのための方法および装置 Expired - Fee Related JP5121427B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/729,836 US7877556B2 (en) 2007-03-30 2007-03-30 Method and apparatus for a unified storage system
US11/729,836 2007-03-30

Publications (2)

Publication Number Publication Date
JP2008257682A JP2008257682A (ja) 2008-10-23
JP5121427B2 true JP5121427B2 (ja) 2013-01-16

Family

ID=39575599

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007317182A Expired - Fee Related JP5121427B2 (ja) 2007-03-30 2007-12-07 ユニファイドストレージシステムのための方法および装置

Country Status (3)

Country Link
US (3) US7877556B2 (ja)
EP (1) EP1975769B1 (ja)
JP (1) JP5121427B2 (ja)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020046061A1 (en) 2000-02-11 2002-04-18 Wright Kenneth L. Personal information system
US7627710B1 (en) * 2006-06-26 2009-12-01 Emc Corporation Converting an object identifier to a block I/O address to identify a storage location on a server
US7877556B2 (en) * 2007-03-30 2011-01-25 Hitachi, Ltd. Method and apparatus for a unified storage system
US8626741B2 (en) * 2007-06-15 2014-01-07 Emc Corporation Process for cataloging data objects backed up from a content addressed storage system
US8190834B2 (en) * 2007-06-15 2012-05-29 Emc Corporation Process for contiguously streaming data from a content addressed storage system
US20090198549A1 (en) * 2008-01-31 2009-08-06 Kearns James A Automated Repair System and Method for Network-Addressable Components
US8756437B2 (en) 2008-08-22 2014-06-17 Datcard Systems, Inc. System and method of encryption for DICOM volumes
JP4576449B2 (ja) * 2008-08-29 2010-11-10 富士通株式会社 スイッチ装置およびコピー制御方法
WO2010048531A1 (en) 2008-10-24 2010-04-29 Datcard Systems, Inc. System and methods for metadata management in content addressable storage
US8291183B2 (en) * 2009-01-15 2012-10-16 Emc Corporation Assisted mainframe data de-duplication
JP2010198383A (ja) * 2009-02-25 2010-09-09 Fujitsu Ltd ストレージ装置、ソフトウェア更新方法およびソフトウェア更新プログラム
US8935500B1 (en) * 2009-09-24 2015-01-13 Vmware, Inc. Distributed storage resource scheduler and load balancer
TWI587139B (zh) * 2010-01-20 2017-06-11 旺玖科技股份有限公司 驅動裝置及其取得資料之方法
US8799221B2 (en) 2010-04-23 2014-08-05 John Canessa Shared archives in interconnected content-addressable storage systems
US8793308B2 (en) * 2010-05-04 2014-07-29 Dell Products L.P. Systems and methods for managing storage for client workloads
WO2012078898A2 (en) 2010-12-10 2012-06-14 Datcard Systems, Inc. Secure portable medical information access systems and methods related thereto
US8965856B2 (en) 2011-08-29 2015-02-24 Hitachi, Ltd. Increase in deduplication efficiency for hierarchical storage system
EP2711793B1 (de) * 2012-09-19 2018-10-31 Siemens Aktiengesellschaft Verfahren zum Betreiben eines Bediengeräts zur Steuerung einer technischen Anlage
WO2014061068A1 (en) * 2012-10-19 2014-04-24 Hitachi, Ltd. Storage system and method for controlling storage system
US20140136648A1 (en) * 2012-11-13 2014-05-15 Hitachi, Ltd. Storage apparatus, network interface apparatus, and storage control method
JP6233403B2 (ja) * 2013-02-26 2017-11-22 日本電気株式会社 ストレージシステム、ストレージ装置、ストレージ装置の制御方法及び制御プログラム、管理装置、管理装置の制御方法及び制御プログラム
US9483481B2 (en) 2013-12-06 2016-11-01 International Business Machines Corporation Files having unallocated portions within content addressable storage
US9495373B2 (en) 2013-12-06 2016-11-15 International Business Machines Corporation File versions within content addressable storage
US9645766B1 (en) * 2014-03-28 2017-05-09 EMC IP Holding Company LLC Tape emulation alternate data path
US9792056B1 (en) * 2014-03-31 2017-10-17 EMC IP Holding Company LLC Managing system drive integrity in data storage systems
US10089125B2 (en) 2014-07-23 2018-10-02 Hitachi, Ltd. Virtual machines accessing file data, object data, and block data
JP6361390B2 (ja) * 2014-09-10 2018-07-25 富士通株式会社 ストレージ制御装置および制御プログラム
WO2016061766A1 (zh) * 2014-10-22 2016-04-28 华为技术有限公司 对象存储系统中的业务流控制方法、控制器和系统
JP6561765B2 (ja) * 2015-10-23 2019-08-21 富士通株式会社 ストレージ制御装置およびストレージ制御プログラム
US10521114B2 (en) 2016-02-26 2019-12-31 Red Hat, Inc. Adding or removing a storage provider in unified storage manager
US20180052736A1 (en) * 2016-08-18 2018-02-22 International Business Machines Corporation Initializing storage unit performance rankings in new computing devices of a dispersed storage network
US9596135B1 (en) 2016-08-31 2017-03-14 Red Hat, Inc. Configuring new nodes for using a storage system managed by a unified storage manager
CN106656626B (zh) * 2017-01-06 2019-11-15 云宏信息科技股份有限公司 基于wce的存储管理的实现方法及其装置
CN110300960B (zh) 2017-02-28 2023-04-04 株式会社日立制作所 信息系统、管理程序和信息系统的程序更换方法
US10831409B2 (en) * 2017-11-16 2020-11-10 International Business Machines Corporation Volume reconfiguration for virtual machines

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04235662A (ja) * 1991-01-11 1992-08-24 Nec Corp マルチプロセッサ間の負荷分散方式
JP3441164B2 (ja) * 1994-06-08 2003-08-25 株式会社東芝 入出力負荷分散方式
WO1996025801A1 (en) * 1995-02-17 1996-08-22 Trustus Pty. Ltd. Method for partitioning a block of data into subblocks and for storing and communicating such subblocks
JP3726484B2 (ja) * 1998-04-10 2005-12-14 株式会社日立製作所 記憶サブシステム
JP2000148651A (ja) * 1998-11-10 2000-05-30 Hitachi Ltd 共有ディスク装置
US7315914B1 (en) * 2000-06-30 2008-01-01 Emc Corporation Systems and methods for managing virtualized logical units using vendor specific storage array commands
US8281022B1 (en) * 2000-06-30 2012-10-02 Emc Corporation Method and apparatus for implementing high-performance, scaleable data processing and storage systems
US20050071545A1 (en) * 2001-01-11 2005-03-31 Yottayotta, Inc. Method for embedding a server into a storage subsystem
US6748502B2 (en) * 2001-01-12 2004-06-08 Hitachi, Ltd. Virtual volume storage
JP2003141054A (ja) * 2001-11-07 2003-05-16 Hitachi Ltd ストレージ管理計算機
JP2003162377A (ja) 2001-11-28 2003-06-06 Hitachi Ltd ディスクアレイシステム及びコントローラ間での論理ユニットの引き継ぎ方法
US7313557B1 (en) * 2002-03-15 2007-12-25 Network Appliance, Inc. Multi-protocol lock manager
US7191357B2 (en) * 2002-03-29 2007-03-13 Panasas, Inc. Hybrid quorum/primary-backup fault-tolerance model
US7107385B2 (en) 2002-08-09 2006-09-12 Network Appliance, Inc. Storage virtualization by layering virtual disk objects on a file system
US7594002B1 (en) * 2003-02-14 2009-09-22 Istor Networks, Inc. Hardware-accelerated high availability integrated networked storage system
US7058759B1 (en) 2003-03-31 2006-06-06 Western Digital Technologies, Inc. Configuring a disk drive to support a targeted storage format
US7114112B2 (en) * 2003-06-18 2006-09-26 International Business Machines Corporation Method, system, and program for simulating Input/Output (I/O) requests to test a system
JP2005025462A (ja) * 2003-07-01 2005-01-27 Toshiba Corp ストレージシステム、冗長制御コントローラの可変制御パラメータの制御方法及び装置並びに制御プログラム
JP2005228170A (ja) * 2004-02-16 2005-08-25 Hitachi Ltd 記憶装置システム
US20050190393A1 (en) 2004-02-27 2005-09-01 Agilent Technologies, Inc. Programmable controller system and method for supporting various operational modes in peripheral devices
US7577688B2 (en) * 2004-03-16 2009-08-18 Onstor, Inc. Systems and methods for transparent movement of file services in a clustered environment
JP4870915B2 (ja) * 2004-07-15 2012-02-08 株式会社日立製作所 ストレージ装置
JP4833541B2 (ja) 2004-12-08 2011-12-07 株式会社日立製作所 デプロイ方法、プログラム及びサーバシステム
JP2006195712A (ja) * 2005-01-13 2006-07-27 Hitachi Ltd ストレージ制御装置、論理ボリューム管理方法及びストレージ装置
US7814129B2 (en) * 2005-03-11 2010-10-12 Ross Neil Williams Method and apparatus for storing data with reduced redundancy using data clusters
JP5057656B2 (ja) * 2005-05-24 2012-10-24 株式会社日立製作所 ストレージシステム及びストレージシステムの運用方法
US7949766B2 (en) * 2005-06-22 2011-05-24 Cisco Technology, Inc. Offload stack for network, block and file input and output
US7831793B2 (en) * 2006-03-01 2010-11-09 Quantum Corporation Data storage system including unique block pool manager and applications in tiered storage
US7877556B2 (en) * 2007-03-30 2011-01-25 Hitachi, Ltd. Method and apparatus for a unified storage system

Also Published As

Publication number Publication date
EP1975769A3 (en) 2010-10-20
US8037260B2 (en) 2011-10-11
US8156293B2 (en) 2012-04-10
US20110320642A1 (en) 2011-12-29
US20080244196A1 (en) 2008-10-02
EP1975769B1 (en) 2012-06-13
US7877556B2 (en) 2011-01-25
US20110082977A1 (en) 2011-04-07
EP1975769A2 (en) 2008-10-01
JP2008257682A (ja) 2008-10-23

Similar Documents

Publication Publication Date Title
JP5121427B2 (ja) ユニファイドストレージシステムのための方法および装置
US11663029B2 (en) Virtual machine storage controller selection in hyperconverged infrastructure environment and storage system
US8281301B2 (en) Method and apparatus for controlling storage provisioning
US8407436B2 (en) Methods and apparatus for migrating thin provisioning volumes between storage systems
US8122212B2 (en) Method and apparatus for logical volume management for virtual machine environment
US7865772B2 (en) Management device and management method
JP4684864B2 (ja) 記憶装置システム及び記憶制御方法
US8271559B2 (en) Storage system and method of controlling same
US9804855B1 (en) Modification of temporary file system for booting on target hardware
US8719533B2 (en) Storage apparatus, computer system, and data migration method
JP2004110218A (ja) Dbms向け仮想ボリューム作成・管理方法
US11546426B2 (en) System and method for client policy assignment in a data storage system
US8769196B1 (en) Configuring I/O cache
US8356140B2 (en) Methods and apparatus for controlling data between storage systems providing different storage functions
JP2005276233A (ja) 計算機システム
US20220405236A1 (en) Apparatus and method for managing in-memory container storage
Bruni et al. DB2 9 for z/OS and Storage Management
JP2007042119A (ja) 計算機システム

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20090218

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100226

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120305

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

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

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

Free format text: PAYMENT UNTIL: 20151102

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5121427

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees