JP4768497B2 - ストレージシステムにおけるデータの移動 - Google Patents

ストレージシステムにおけるデータの移動 Download PDF

Info

Publication number
JP4768497B2
JP4768497B2 JP2006107628A JP2006107628A JP4768497B2 JP 4768497 B2 JP4768497 B2 JP 4768497B2 JP 2006107628 A JP2006107628 A JP 2006107628A JP 2006107628 A JP2006107628 A JP 2006107628A JP 4768497 B2 JP4768497 B2 JP 4768497B2
Authority
JP
Japan
Prior art keywords
disk
disk group
group
metadata
controller
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
JP2006107628A
Other languages
English (en)
Other versions
JP2006302274A (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.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of JP2006302274A publication Critical patent/JP2006302274A/ja
Application granted granted Critical
Publication of JP4768497B2 publication Critical patent/JP4768497B2/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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to 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/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

Landscapes

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

Description

本発明は、ストレージシステムにおけるデータの移動に関する。
ライフサイクルデータ管理は、前に取得されたデータ及び進行中のデータの集まりの価値を増加させるか、又は、最大にするように実施することができる。さまざまなライフサイクルデータ管理方式は、規制レビュー及び法的保護のための文書化された決定パスを課す。ライフサイクルデータ管理は、データセットのサイズが増大するにつれてますます難しくなるデータアーカイブの厳しい要求を課す。テープバックアップは、可能であるが、夜間のタイムウィンドウ内の復旧にますます多大な費用を要する一方、多くの状況及び状態において、高速の応答が要求される。
ディスクドライブのサイズが増加し、大きなデータセットに対する要求が増大するにつれて、仮想化ディスクコントローラが、性能及び可用性のボトルネックになる可能性がある。物理ディスクストレージの大きなプールが、シングルディスクコントローラ又はデュアルディスクコントローラを通じて、クライアントホストの増大するクラスタに供給される。コントローラは、いくつかの周辺機器インターフェースエクスプレス(PCI−X)バスの最大値によって制限された帯域幅を有する。さらに、コントローラの平均故障間隔(MTBF)性能は、データセットのサイズ及びクライアントの仕事負荷の上方の拡大(upward scaling)によって課せられたデータ可用性を遅らせることになる。
コントローラを仮想化するための物理ディスク空間に対するマッピングの限界に対処するために、いくつかの技法が使用されてきた。たとえば、ランダムアクセスメモリの量を増加させることなく、より多くの物理ディスク空間をマッピングすることを可能にするために、仮想化粒度を増加させることが試みられているが、一技法は、ランダムな書き込み仕事負荷においてスナップショットの性能が乏しいという難点がある。
ディスクコントローラにポートをより多く追加することによって、帯域幅は増加する。しかし、この産業は、現在、PCI−X等のマルチドロップバスでは、ファンアウトの限界にある。したがって、より多くのポートの追加は、クロック速度を遅くすることを犠牲にして達成されることが多く、帯域幅の増加の可能性が制限される。
ディスクコントローラは、独立ディスク冗長アレイ(RAID)のメタデータ及び仮想化構成体を含み、それによって、ディスクコントローラを、それらコントローラがサーブするデータに結合する。したがって、ディスクの取り替えは複雑化され、データの移動は阻止される。
デュアルコントローラ構成は、一般に、平均故障間隔(MTBF)の制限及びデータ可用性の制限に対処するのに使用される。デュアルコントローラ構成は、通常、ミラーリングされたライトバックキャッシュを有する密結合対である。対を越えて拡張する場合、ミラーリングされたキャッシュを管理する制御問題が扱いにくいものとなる。コントローラを粗く対にすると、密結合コントローラアーキテクチャで重要となるコモンモードのソフトウェア問題を犠牲にして、ハードウェアMTBFが清算される。
本発明は、ストレージシステムにおいてデータを移動する方法を提供することを目的とする。
ストレージシステムの一実施の形態によれば、ストレージを管理する方法は、複数の仮想ディスクをディスクコントローラのディスクコントローラループに接続すること、及びディスクコントローラに複数の仮想ディスクの一部をマウントすることを含み、ストレージマップは、マウントされた各仮想ディスクについてディスクコントローラの固定サイズのメモリにロードされる。この方法は、さらに、アンマウントされた仮想ディスクに含まれるデータの要求を受け取ることを含み、アンマウントされた仮想ディスクは、一定のサイズのストレージマップを有する。十分な個数のマウントされた仮想ディスクがディスマウントされ、それによって、固定サイズのメモリは、一定のサイズのアンマウントされた仮想ディスクストレージマップに収容することが可能になる。アンマウントされた仮想ディスクはマウントすることができる。
オペレーションの構造及び方法の双方に関するこの発明の実施の形態は、以下の説明及び添付図面を参照することによって最も良く理解することができる。
仮想化ディスクコントローラは、本来的に、マッピングできる物理ディスク空間の量が制限される。一制限は、仮想化マップ参照を高性能で動作させるのに使用される比較的高価なランダムアクセスメモリ(RAM)の量によって課せられる。これらの制限は、すべてのストレージを常時マッピングする必要があるとは限らないことから克服することができる。あまり使用されないデータセットは、仮想化マップをRAMからオフロードして、ニアライン状態又はオフライン状態に移行させることができる。
数組のディスクドライブにメタデータで書き込みを行って、自己識別型仮想化グループを形成することができる。一組のディスクは、オフライン状態にすることもできるし、トランスポートすることもできるし、移動させることもできるし、アーカイブすることもできる。このディスクセットは、後に、同じ仮想化コントローラ又は異なる仮想化コントローラに再ロードして、オンライン状態にすることができる。
いくつかの実施形態では、複数の仮想化コントローラが、ネットワークの一組のディスクを共有して、ストレージクラスタ又はグリッドアーキテクチャを形成することができる。
図1を参照して、概略ブロック図が、仮想的に無制限のストレージにアクセスするように構成されたストレージ装置100の一実施の形態を示している。このストレージ装置100は、状態情報を含む情報をディスクグループメタデータ104に書き込むようになっているロジック102を備える。この状態情報は、ディスクグループ106の状態を自己識別し、ディスクグループ状態情報がディスクコントローラ108に含まれていない場合に、ディスクコントローラ108が、ディスクグループ106に対応する仮想ディスク110を論理ユニットとしてクライアント112へロードして提示することを可能にするものである。仮想ディスクのクライアント又はホストへの提示は、仮想ディスクがそのクライアント又はホストに利用可能になることを意味する。
一例示の実施の形態では、ストレージ装置100は、さらに、ディスクコントローラ108を備える。ロジック102は、ディスクコントローラ108において実行可能である。ロジック102は、プロセッサ、中央処理装置(CPU)、デジタル信号プロセッサ、コンピュータ、状態マシン、プログラマブルロジックアレイ等のあらゆる適切な実行可能コンポーネントとして実施することができる。他の実施の形態では、ロジックは、ホストコンピュータ、ワークステーション、ストレージコントローラ、ネットワーク機器等の他のデバイスにおいて実施することができる。このロジックは、ハードウェア素子で実行されるソフトウェア又はファームウェアであると考えることもできるし、動作する処理素子又は回路機構とすることもできる。
仮想ディスク110は、1つ又は複数のホスト用のストレージとしてディスクコントローラ108により生成された、仮想化されたディスクドライブである。仮想ディスクの特徴は、容量、可用性、性能、及びアクセス性の特定の組み合わせを指定する。コントローラ対は、仮想ディスク110用に指定されたディスクグループ106内の仮想ディスクの特徴を管理する。定義によれば、ホストは、同じ特徴を有する物理ディスクの方法で仮想ディスク110を正確に見る。
いくつかの実施の形態では、ストレージ装置100は、ストレージシステムの形態とすることができる。自己識別型仮想化グループの生成に備えて、ロジック102は、複数のディスク114をディスクグループサブセット106に分割するプロセスを含むことができる。個々のディスクグループは、自己完結的なドメインを形成し、このドメインから、仮想化されたディスクが割り当てられる。
ディスクグループは、仮想ディスクが生成される一組の物理ディスクドライブである。物理ディスクは、ドライブベイに差し込まれて、デバイス側のファイバチャネルループ等のインターフェースを通じてコントローラと通信するディスクドライブである。コントローラ単独で、物理ディスクと直接通信する。物理ディスクは、組み合わされると、アレイと呼ばれ、ストレージプールを構成する。このストレージプールから、コントローラは仮想ディスクを生成する。特定の一例の実施の形態では、1つのコントローラ対が、240個までの物理ディスクをサポートすることができる。特定のディスクドライブは、1つのディスクグループにしか属することができない。1つのディスクグループに複数の仮想ディスクを生成することができる。単一の仮想ディスクは、全体が1つのディスクグループ内に存在する。ディスクグループは、コントローラ対のアレイにすべての物理ディスクドライブを収容することもできるし、そのアレイのサブセットを収容することもできる。
ロジック102は、いくつかの動作を実行するように構成される。ロジック102は、1つ又は複数の物理ディスクドライブを結合して1つのディスクグループにすることにより、ディスクグループを生成することができる。通常のシステムは、物理ロケーションに基づいてドライブを自動的に選択する。また、ロジック102は、ディスクグループのプロパティを変更することによってディスクグループを変更することもできる。ディスクグループのプロパティは、ディスク障害保護レベル、占有アラームレベル、ディスクグループ名、又はコメントを含む。ロジック102は、新しい物理ディスクをディスクグループに追加することもできるし、そのディスクグループに含まれるすべての物理ドライブを解放することによってディスクグループを削除することもできる。ロジック102は、ディスクグループからディスクを除去することによって、ディスクのグループ解除を行うことができる。
ロジック102は、仮想ディスクコンテンツ及びマッピングを記述するディスクグループメタデータ104に情報を書き込む機能を実施する。特定の一実施形態では、仮想ディスクコンテンツ及びマッピングを自己記述するメタデータ104をディスクグループ106に書き込むことができる。ロジック102は、ディスクのミラーリングされた保護領域に状態情報を書き込むことができ、それによって、ディスクコントローラ108が、ディスクグループ106の状態データを含むことなく、仮想ディスク110を論理ユニット(lun)としてロードして提示できるようにする。ディスクグループメタデータ104は、ディスクグループ106の自己記述機能を生成する。情報は、さまざまなオンライン状態、ニアライン状態、及びオフライン状態の間におけるディスクグループ106の状態進行を記述するタグを含むことができる。
十分なメタデータをディスクグループ内に書き込んで、追加情報がなくても、ディスクグループの完全な復元を可能にすることにより、メタデータは自己記述的にされる。したがって、ディスクグループは、将来の不確定な時においても、異なるコントローラで異なるシステムにおける復元を可能にすべきである。
1つ又は複数のストレージアレイ118において、複数のスロット116のいずれにもオプションでディスクをインストールできるように、個々のディスクに選択的にタグを付けるようロジック102を構成することができる。ディスクのインストール位置にかかわらず、且つ、アーカイブ、移動、又はトランスポートからディスクを復帰させるストレージシステムにかかわらず、タグは、ディスクグループマッピングを十分に復元するディスクプロパティを記述するように形成される。
例示の仮想化オペレーションによって、メタデータを含むデータを、位置又は順序にかかわらず一般的にアクセス可能にすることが可能になる。少量のブートストラップ情報が、マップをロードするプロセスを開始元とするディスクの開始時に含められる。このブートストラップ情報は、残りのデータの位置を記述し、データセット全体及びすべてのメタデータの再生成を可能にする。ロジック102は、ディスクのオフライン、トランスポート、移動、及びアーカイブを行い、次いで、始発スロット又は任意のシステムの任意のスロットに戻すことを可能にするのに十分なデータをディスクに書き込み、それによって、マップは、ディスクの再インストール時に再生成される。
例示の仮想化オペレーションによって、アーカイブの目的で、又は、ローカルディスクコントローラのメモリ量がマッピングを保持するのに十分でない状況において、ストレージの仮想化サブセット全体をページアウトすることが可能になる。ローカルメモリを保存するために、一度にすべての仮想化マップがメモリにはロードされない。その代わり、現在アクセスされているデータ及び現在のデータスナップショットを含めて、現在アクティブな情報のみがマッピングされる。たとえば、バックアップデータを含めて、現在アクセスされていない休止状態のデータは、たとえば、キャビネットでウォームスタンバイに維持することもできるし、ヴォルト等でコールドスタンバイに維持することもできる。
仮想的に無制限のストレージを達成する仮想化オペレーションを実行するために、ロジック102は、ディスクに書き込まれるメタデータ内においてディスクグループの状態を指定する。いくつかの実施の形態では、この状態は、オフライン又はオンラインのようなものを単に識別するものとすることができる。一例示の実施の形態は、オンライン、ニアライン又はウォームスタンバイ、ディスクドライブをスピンダウンさせたクール状態、及びオフラインを含むいくつかの状態を定義することができる。
また、ロジック102は、ディスクグループの操作中に追跡オペレーションも実行する。追跡される情報は、たとえば、(1)ディスクグループが現在ランダムアクセスメモリにマッピングされているのか、それとも、ディスクにマッピングされているのかの表示と、(2)ディスクグループが現在メモリにマッピングされている場合には、メモリが更新されたかどうかの表示と、(3)ディスクグループをオフライン状態にする前にキャッシュがフラッシュされるかどうかの表示と、それ以外の可能な情報とを含む。
また、ロジック102は、ディスクグループのすべてのメタデータをディスクから転送して、そのメタデータをランダムアクセスメモリに配置する実現オペレーション(realizing operation)も実行することができる。この実現オペレーションは、別のデータ項目のロケーションを単に決定するためだけのデータ項目の読み出し等の非効率的又は不要なディスク読み出しオペレーションを回避することによって、効率性を増進し、したがって、性能を増進する。実現オペレーションの間、メタデータの更新、変更、又は移動を行うことができる。たとえば、実現は、特定のディスクにおけるデータ量をバランスさせること又は一様にすることを含むことができる。データの一部を選択的に削除することができる。データは、フリープールに戻すことができる。
データ操作は、ランダムアクセスメモリにおいて実行することができる。特定のディスクグループがオフラインにされ、且つ、メタデータがメモリから除去されて、取り替えディスクグループからのメタデータによって取り替えられると、更新されたメタデータは、ディスクにフラッシュバックされる。ユーザは、場合により、ディスクをスピンダウンして除去可能なオフラインにすることができる。したがって、ロジック102は、これらの操作をメタデータに対して知的に行い、たとえば、ディスクがスピンダウンされるか、又は、システムから除去される前に、メタデータのキャッシュされたコピーを使用中にRAMに保持し、更新されたメタデータをディスクにフラッシュバックする。
ロジック102は、メタデータの状態進行タグを管理するようになっている。この進行タグは、たとえば、ニアライン状態、クール状態、及びオフライン状態といったディスクグループの状態を示し、且つ、ディスクグループが位置する場所、及び、ディスクグループが使用中であるかどうかも示すことができる。状態進行処理の一部として、ロジック102は、さらに、ディスクグループの衝突を処理する機能も実施することができる。たとえば、ディスクコントローラに新しく取り付けられたディスクグループは、ディスクコントローラにおいて使用中のディスクグループと衝突する論理ユニット番号(lun)の割り当てを有する場合がある。したがって、ロジック102は、ディスクグループが非アクティブな状態から再びロードされる時の論理ユニット割り当てを検出し、あらゆる衝突を判断し、たとえば、オンラインにされたディスクグループの論理ユニット割り当てを変更することにより、又は、データセットをディスマウントして、戻りディスクグループの場所を開けることにより、それら衝突を解決する。
また、ロジック102は、たとえば、ロード時に要求を見積もることによって、特定のデータセットが利用可能なものよりも多くのRAMを要求するかどうかを判断することもできる。したがって、ロジック102は、ロードするディスクグループによって記述されたすべてのデータを仮想的にマッピングするのに十分な空間がRAMで利用可能であることを保証する。十分な空間で利用可能でない場合、ロジック102は、たとえば、その状況を示すメッセージを生成して、ユーザに解決を要求することによるか、所定の基準に従ってディスクコントローラで取り替えられるディスクグループを自動的に選択することによるか、又は、他の動作によって、選択された方法でその状況に対処することができる。
ストレージ装置100のいくつかの実施の形態は、1つ又は複数のストレージ管理ツールを実行するようにすることができる。たとえば、ストレージ装置は、さらに、ストレージ管理ツールオペレーションを実行するようになっているロジック122を備えることができる。通常の一実施形態では、ロジック122は、グラフィカルユーザインターフェース等のユーザインターフェース124と共に動作する。ただし、たとえば、フロントパネルのスイッチ又はボタン、キーボードインターフェース、リモート通信インターフェース等の他のタイプのインターフェースも使用することができる。ストレージ管理ツールオペレーションは、ディスクグループ106に記憶された、状態情報を含むメタデータ104に対して作用する。この状態情報は、ディスクグループ106の状態を自己記述し、ディスクグループ状態情報がディスクコントローラ108に含まれていない場合に、ディスクコントローラ108が、ディスクグループに対応する仮想ディスク110を論理ユニットとしてクライアント112へロードして提示することを可能にするものである。
ロジック122は、例示の実施の形態では、単なる一例としての目的でストレージ管理機器に常駐するものとして示されている。ロジック122は、あらゆる適切なデバイス又はシステムに等しく配置することができ、たとえば、例示のホスト若しくはクライアント、又は、サーバ等の別のデバイスに等しく配置することができる。また、例示の目的で、ロジック122及びグラフィカルユーザインターフェース124は、異なるデバイスに常駐するものとして示されている。ロジック122及びグラフィカルユーザインターフェース124は、同じデバイスに共通に配置することができる。
ストレージ装置100は、テキサス州ヒューストンのHewlett-Packard社によって市販されているエンタープライズ仮想アレイ(EVA(Enterprise Virtual Array))として構成することができる。エンタープライズ仮想アレイは、コマンドビューEVAと呼ばれる管理ソフトウェアを含む。この管理ソフトウェアは、コントローラ108と通信し、コントローラ108と協力して動作し、エンタープライズ仮想アレイストレージシステムの制御及び監視を行う。また、エンタープライズ仮想アレイは、仮想コントローラソフトウェア(VCS(Virtual Controller Software))も含む。このVCSによって、エンタープライズ仮想アレイは、コントローラ108を介してコマンドビューEVAと通信することが可能になる。VCSは、ストレージコントローラソフトウェア機能を実施する。このストレージコントローラソフトウェア機能は、ロジック102で少なくとも部分的に実行され、動的な容量拡張、自動的な負荷バランシング、ディスク利用強化、フォールトトレランス等を含むオペレーションをサポートする。エンタープライズ仮想アレイは、さらに、エンタープライズ仮想アレイを構成する物理ハードウェアも含む。この物理ハードウェアは、ディスクドライブ、ドライブ筐体、及びコントローラ108を含む。これらは、ラックにおいて結合し、ストレージエリアネットワーク(SAN)に接続される。また、エンタープライズ仮想アレイは、エンタープライズ仮想アレイのストレージプールに付随して仮想ディスクを任意のディスク資源として使用するコンピュータであるホストサーバも含む。エンタープライズ仮想アレイは、ブラウザを通じてコマンドビューEVAにアクセスすることにより管理される。
ストレージ装置100は、ストレージアドミニストレータが自己記述的ディスクグループ106を状況に応じてマウントしたりディスマウントしたりすることをさらに可能にするストレージ管理ツールオペレーションの生成も可能にする。ユーザが、関連したストレージにアクセスしようと試みる時、仮想ストレージは、限られた量の高価なランダムアクセスメモリ(RAM)にのみマッピングされる。それ以外の時は、アイドルなストレージディスクグループ106は、ウォームスタンバイニアライン状態、ディスクがスピンダウンされたクール状態、又は関連したディスク媒体が除去されてアーカイブされたオフラインに維持することができる。
ストレージ装置100は、さらに、ロジック102による読み出し及び書き込みが可能なランダムアクセスメモリ120を含むことができる。ロジック102は、ディスクグループ106のマウント及びディスマウントを制御可能に行うストレージ管理ツールオペレーションを実施するように構成することができる。また、仮想ディスク110が選択的にアクセスされる時、ロジック102は、対応する仮想ディスク110をランダムアクセスメモリ120にマッピングすることもできる。
ロジック102は、ディスクグループの状態を選択的に設定するストレージ管理ツールオペレーションを定義するように構成することができる。一例示の実施の形態では、ディスクグループの状態には、アクティブ状態、ニアライン状態、スピンダウン状態、及びオフライン状態が含まれる。
例示のストレージ装置100は、テープライブラリのハードウェア及び/又はソフトウェア等のストレージ容量をさらに追加することなく、オンラインからニアラインへ、ニアラインからオフラインへ及ぶさまざまなデータセット可用性選択肢の生成を可能にする。例示のストレージ装置100は、低価格のシリアルアドバンストテクノロジーアタッチメント(SATA)ディスクドライブ及びファイバアッタチトテクノロジーアダプテッド(FATA)ディスクドライブと組み合わさって、ニアライングループ又はオフライングループへの顧客データの定期的なスナップショットの取得、サイト外へのアーカイブ、及びより安価なストレージへのデータの移動を可能にする。また、例示のストレージ装置100は、特別なライブラリのハードウェア及びソフトウェアの使用を管理する困難さがなく、且つ、アクティブな高性能ストレージコントローラ機能のマッピングを負担させることなく、テープバックアップの利点を可能にする。
ニアライン状態では、自動化された技法を使用してディスクドライブからのデータにアクセスすることができる。ただし、データがアクセス可能になる前に、1つ又は複数の動作上の必要条件が満たされることになる。例示では、ディスクが、読み出し及び書き込みオペレーションに適した定格回転速度にスピンアップされるように、ディスクドライブは、アイドリング状態で動作している。
ロジック102は、ディスクグループ媒体を1つ又は複数の媒体ドライブにインストールすることによって、ディスクグループをニアライン状態でのオペレーション用に構成する。ロジック102は、そのディスクグループにアクセスするためのメタデータを、そのディスクグループの物理ドライブに常駐するディスクグループ媒体に書き込む。ニアライン状態では、ディスクグループの1つ又は複数の媒体ドライブは、アイドリング状態で動作する。ディスクグループ媒体ドライブに常駐するメタデータは、ディスクグループ状態情報がディスクコントローラに含まれていない場合に、ディスクグループのアクセスを可能にするのに十分な情報と共に書き込まれる。
ウォームスタンバイ状態と呼ぶこともできるニアライン状態では、ディスクグループメタデータは、ディスクコントローラの内部メモリではなく、ディスクドライブに記憶される。その結果、高価なメモリが保存される。ニアライン状態のディスクグループは、ディスクコントローラの内部メモリを使用しないが、それ以外では、差し迫ったアクセスに利用可能であり、アイドリングディスクドライブにマウントされ、そのディスクグループのデータセットが要求された時のアクセスに準備される。その要求に応答して、ロジック102は、アイドリングドライブをスピンアップさせ、マッピングメタデータをディスクから読み出し、マップをディスクコントローラ内部メモリに転送する。したがって、ディスクコントローラRAMメモリは、本質的に無制限の個数のディスクグループ間の多重使用に割り当てられ、本質的に無制限の量の仮想空間が利用可能にされる。すべてのディスクグループが同時にインスタンス化される必要も実現される必要もない場合に、ニアライン状態によって、仮想的に無制限の個数のディスクグループの差し迫ったアクセスが可能になる。この文脈における「本質的に無制限」及び「仮想的に無制限」という用語は、仮想空間の量が、ディスクドライブへのハードウェア接続に対する制限によってのみ限られることを意味する。ループ用の容量及びNポートサービスを有するファイバチャネルスイッチは、バスアドレス指定能力に対する理論的限界を有しない。
ストレージ管理ツールオペレーションは、ディスクグループをニアライン状態にするために呼び出すことができる。このオペレーションの一例の実施の形態は、この選択されたディスクグループを対象にした新たな書き込みコマンドの受け付けを終了し、ディスクグループのユーザデータをディスクコントローラライトバックキャッシュからディスクへ転送し、ユーザダーティデータ(user-dirty data)のディスクコントローラライトバックキャッシュをフラッシュすることによって、このディスクグループを一時停止する。一時停止動作の実行によって、ライトバックキャッシュのユーザデータはディスクへ確実に転送され、メタデータは確実に更新され、ディスクグループメタデータのキャッシュは確実にフラッシュされる。また、ニアラインストレージ管理ツールオペレーションは、データのレベル化等のさまざまな操作を含むこともできる。また、このオペレーションは、ディスクコントローラローカルメモリのメタデータに対するあらゆる変更を終了させることができ、その結果、ディスクに書き込まれたメタデータは最終状態になる。終了すると、ディスクグループはニアライン状態になり、ディスクは自己記述的であり、コヒーレントであり、且つ、一貫性を有する。ニアライン状態では、ディスクグループメタデータをもはや書き込むことはできず、マッピング情報のすべてはディスクに記憶される。したがって、ニアライン状態ストレージ管理ツールオペレーションは、ローカルディスクコントローラメモリの関連したディスクグループマップのすべてを削除し、他のディスクグループによる使用にメモリを解放し、ディスクグループにニアライン状態にあるものとして印又はタグを付ける。また、ニアライン状態ストレージ管理ツールオペレーションは、ソフトウェアにおいて、マップ用に事前に予約されたランダムアクセスメモリの割り当ても解放する。現在のマッピングはディスクに書き込まれるので、メモリのマップはもはや必要とされない。ディスクグループがニアライン状態になると、エラーメッセージが生成されて、ディスクグループへのアクセスが試みられる。ニアライン状態のディスクグループは、ディスクグループをオンライン状態に戻すストレージ管理ツールオペレーションを明示的に実行した後にのみ、アクセスすることができる。
オンライン状態、ニアライン状態、及びクール状態の場合、ディスクグループは、ディスク筐体の同じスロット内に留まる。クール状態は、ニアライン状態と類似しているが、ディスクドライブがスピンダウンされた状態のクール状態にあるとしてタグ付けされ、スロットに収容されているものとして識別される。ニアライン状態のように、クール状態では、ディスクグループに書き込むことができない。ディスクグループは、一般にクール状態にされて、ディスクグループをクール状態に無期限に維持する意図が宣言され、節電されるが、スロット又はキャビネットからディスクグループを除去する意図はない。クール状態のディスクグループは、絶えずストレージシステム内に留まっているので、そのディスクグループは、単にディスクをスピンアップさせて、ディスクグループをオンラインにするだけで、アクセス可能な状態にされ、ディスクグループに対するあらゆる更新及びデータの一貫性が維持される。
したがって、ストレージ管理ツールオペレーションは、ディスクグループがクール状態にあるものとしてタグ付けされることを除いて、ニアライン遷移と同じ手順を使用して、ディスクグループをクール状態にする。
オフライン状態では、ディスクグループのディスクは、除去されてアーカイブされる。ストレージ管理ツールオペレーションは、オンラインからニアラインへの遷移を再現する手順をいくつかの追加動作を組み合わせて使用して、ディスクグループをオンライン状態からオフライン状態へ遷移させる。ディスクグループのディスマウント及びマウントは、本来的に、メタデータの読み出し、並びに、状態情報の設定及び/又は変更を含む。また、オフラインストレージ管理ツールオペレーションは、ディスクグループを、オフライン状態にあるものとしてタグ付けし、ホストコンピュータがアクセス可能なワールドワイドID等の識別子でディスクグループを識別する。オフラインストレージ管理ツールオペレーションは、ディスクグループメタデータの一部の変更も行い、フォーリンディスクグループ(foreign disk group)がディスクコントローラにマウントされた状態で、メタデータの内容の一貫しない解釈又は正しくない解釈を回避する。フォーリンディスクグループは、異なるディスクコントローラから書き込まれたメタデータ及び/又はデータを有するディスクグループである。
ディスクグループメタデータは、そのディスクグループのデータを記述する情報を含む。また、ディスクグループメタデータは、ディスクコントローラの状態を記述する情報も含み、たとえば、ディスクコントローラ名の識別情報、ディスクグループのワールドワイドID、エラーログ、並びに、コントローラ及びコントローラに取り付けられたディスクの管理グラフィカルユーザインターフェース表示を含む。ディスクコントローラの状態を記述するディスクグループメタデータは、コントローラ並びにディスクコントローラに関連したラック及び/又はキャビネットを記述する情報、ディスクコントローラに接続できる環境モニタユニットがもしあれば、当該環境モニタユニットを識別する情報を含むこともできる。
通常のディスクコントローラは、指定された個数のディスクグループをサポートすることができる。一例では、ディスクコントローラは、16個までのディスクグループをサポートすることができる。通常の構成では、ディスクグループメタデータは、そのディスクグループ単独のデータの記述を含み、また、コントローラ全体、ディスクグループを収容するラック、環境モニタ、並びにホスト及び管理グラフィカルユーザインターフェースに対する関連したすべての提示も含む。したがって、16個のディスクグループのいずれか又は15個すべてが破壊された場合、残りのディスクグループが、その残りのグループ及びコントローラ全体のデータを記述することができる。
オフライン状態は、ディスクグループのフォーリンステータス(foreign status)の概念を生成する。オフラインにされたディスクグループは、異なるコントローラに取り付けることもできるし、誤った動作又は衝突した動作の可能性を生み出すように変更された同じコントローラに取り付けることもできる。したがって、オフライン状態にあるディスクグループは、フォーリンであり、それによって、ディスクグループデータの正しい記述を有するが、関係しないコントローラ環境の記述を有するメタデータを含む。
このように、ストレージ管理ツールオペレーションは、ディスクグループが移動することが可能である意図を示すオフラインとしてディスクグループをタグ付けする。たとえば、コントローラAからオフラインにされたディスクグループは、そのディスクグループをフォーリンとして宣言し、移動を可能にする。このディスクグループは、コントローラBに取り付けることができる。コントローラBは、メタデータにアクセスし、ディスクグループのフォーリン性を示す関連したタグを読み出し、ディスクグループがコントローラBの子孫でないと判断する。コントローラBは、ディスクグループデータに対して作用することができ、メタデータのコントローラ状態情報による影響を受けない。一例示の実施の形態では、ディスクグループメタデータは、ワールドワイドIDでタグ付けされ、コントローラは、ディスクグループがそのコントローラに対してフォーリンであるかどうかを判断することが可能になる。ディスクグループがコントローラAに戻される場合、コントローラAは、ワールドワイドIDタグを読み出して、ディスクグループがフォーリンでないと判断することができ、また、オフライン状態を示すタグを読み出すこともでき、メタデータのコントローラ状態情報が現在のものでない場合があり、且つ、コントローラメタデータの正式なコピーとして信頼できない場合があるとの判断が可能になる。
いくつかのアプリケーションでは、ワールドワイドID等のタグ情報は、データのソース又は起源を識別するのに使用することができる。たとえば、ビジネスエンティティは、データをオフラインに移動させて、ソース情報を有するメタデータをタグ付けすることにより、第1のビジネスユニットから第2のビジネスユニットへデータを移動させることができる。たとえば、人事部から蓄積されたディスクグループを法務部へ移動させることができ、タグによって、法務部は、データソース及び真正さを判断することが可能になる。
データを移動させる機能によって、物理ディスクを、同じ物理設備又は異なる物理設備の或るアレイから別のアレイへ移動させることが可能になる。同様に、ファームウェア及び/又は製品版にわたる一貫した一組のシグネチャにより、移動機能は、古いアレイから新しいアレイへデータをコピーする休止時間を必要とすることなく、ストレージアレイの更新を可能にするのに使用することができる。また、移動機能は、ストレージシステムのハードウェアにおける主要な変化を、変更に対処するのに追加されたメタデータで対応するように実施することができると同時に、メタデータの上位互換性及びレガシーメタデータの継続したサポートも可能にする。
メタデータの互換性は、互換性インデックスに基づいて追跡することができる。この互換性インデックスによって、現在のインデックスと同じ互換性インデックス、又は、多くとも1つの、現在のインデックスより小さな互換性インデックスによりディスクグループからデータを常に読み出すことができる。データがコントローラの進行を通じて移動するように、前の世代のデバイスに形成されたデータセットを常に更新することができる。各進行事象において、互換性インデックスを現在の状態に増加させることができ、したがって、データはあまり古いものとなることはない。アーカイブストレージは、互換性インデックスのインクリメントごとにマッピングされる必要はなく、メタデータの変更が、選択されたビットカウントを超える実質的な新しい特徴のインストールについてのみインクリメントされる。
例示の構造及び技法は、ループ又は拡張可能ポート(Nポート)サービスに適合されたファイバチャネルスイッチ等の拡張可能ネットワークファブリックと組み合わせて実施することができ、その結果、ディスク筐体は、ネットワーク標準規格において課せられたアドレス指定能力の限界を超える大きなキャビネットに集めることができる。図2を参照して、概略ブロック図が、ストレージシステム202をさらに備えるストレージ装置200の一実施の形態を示している。ストレージシステム202は、1つ又は複数のストレージキャビネット204を備える。このストレージキャビネット204は、当該ストレージキャビネット204に配置されてディスクグループサブセット208に分割された複数のディスクドライブ206を収容する。ストレージシステム202は、さらに、ディスクドライブ206に通信結合された1つ又は複数の仮想化ディスクコントローラ210も備える。ストレージシステム202は、さらに、仮想化ディスクコントローラ210の配置をディスクグループサブセット208にマッピングするようになっているロジック212も備える。ロジック212は、仮想化ディスクコントローラ210の1つ又は複数において実行可能とすることができ、ホスト214又はホストクラスタへディスクグループ208の選択された1つ又は複数の論理ユニットをサーブするように動作する。
いくつかの実施形態では、ロジック212は、仮想化ディスクコントローラ210のディスクグループサブセット208へのマッピングを動的に再構成することによりディスクコントローラの構成の変化に応答する。
例示の構造及び技法は、格子の複数の仮想化ストレージコントローラをストレージエリアネットワーク(SAN)に構築して、たとえば数千個のディスクドライブといった非常に多数のディスクドライブへのアクセスを可能にするように適用することができる。用途又は目的に応じて多数のディスクドライブを配置してそれらディスクドライブにアクセスすることができる。図3を参照して、概略ブロック図が、相互に切り離された複数のストレージコントローラ306を有するストレージ装置300の一実施の形態を示している。これらのストレージコントローラ306は、格子でネットワークファブリック302に接続されて、潜在的に無制限の量のストレージを共有する。この配置によって、障害を受けたコントローラと同じディスクグループにアクセスするように構成された他の多くのコントローラがディスクグループをマッピングして、ディスクグループをオフライン状態からオンライン状態へすることを可能にすることにより、1つ又は複数のコントローラの障害によって引き起こされる障害モードが回避される。したがって、置換されたコントローラは、ディスクグループによって表されたストレージを、障害を受けたコントローラがサーブしていた1つ又は複数の同じホストにかなり高速に提示することができる。
ストレージ装置300は、ストレージエリアネットワーク302を備える。このストレージエリアネットワーク302は、バックエンドファブリック304により数千個のディスクドライブ308に接続されたストレージエリアネットワーク(SAN)に格子の複数の仮想化ストレージコントローラ306を有する。このストレージエリアネットワークは、ネットワークファブリック302を備える。このネットワークファブリック302は、複数の仮想化ストレージコントローラ306及び多数のディスクドライブ308を接続する。ストレージ装置300は、さらに、複数の仮想化ストレージコントローラ306の1つ又は複数で実行可能なロジック310も備えることができる。仮想化ストレージコントローラ306は、ディスクドライブ308を、共通の目的で協調的に編成された1つ又は複数のディスクグループ312に分割する。ロジック310は、選択されたストレージコントローラから、ネットワークファブリック302によりストレージエリアネットワークに結合された1つ又は複数のクライアントホスト314における選択されたアプリケーションセットへの論理ユニットを生成することができる。
ストレージ装置300によって、仮想化ディスクコントローラの集まりがサーブする格子のデータストレージ資源を構築することが可能になる。ディスクコントローラは、従来のファイバチャネル調停ループ(FCAL)バス技術上のいずれか1つのコントローラがサーブすることができるものよりもはるかに大きな集まりのディスクドライブへの共有されたシリアルアクセスを有する。格子のコントローラは、全体として、ファイバチャネルスイッチファブリックの複数の同時接続によって可能にされる高い帯域幅でストレージをサーブする。また、コントローラは、互いに対してスタンバイとして動作することもでき、データ可用性が増大される。
一例示の配置では、ストレージエリアネットワーク302は、1つ又は複数の常駐ディスクグループを有することができる格子を形成する。これらの常駐ディスクグループは、移動せず、常に、コントローラのメタデータを含む。複数の非常駐ディスクグループを割り当てることができる。これらの非常駐ディスクグループは、自由に移動し、データを含むが、コントローラのメタデータが省かれる場合があり、したがって、冗長なコントローラ情報で場所をふさがれることはない。
ストレージコントローラ306は、クライアントホスト314からストレージエリアネットワーク302を通じてストレージ要求のターゲットとして動作する。ホスト314は、ホストバスアダプタ(HBA(host bus adapter))を有する。このHBAは、ストレージエリアネットワーク相互接続を介して、ストレージエリアネットワークファブリックのスイッチにインターフェースする。ストレージコントローラ306は、ストレージアレイのバックエンドリンクへイニシエータとして要求を渡す。ストレージエリアネットワーク302は、通常、SANエッジリンク、スイッチ、及び相互スイッチリンクから成る。相互スイッチリンクは、サーバ、コントローラ、テープ、ストレージエリアネットワーク機器等のデバイスを相互接続する。
図4を参照して、フローチャートが、仮想的に無制限のストレージの生成及び/又はアクセスのための方法400の一実施の形態を示している。この方法400は、あらゆる適切なストレージシステムロジック102、212、及び310で実行することができる。特定の例では、方法400は、システム100、200、300等のバックエンドディスクの集まりからのストレージエリアネットワーク(SAN)をサーブするスタンドアロンディスクコントローラで実施することができる。1つ又は複数のインテリジェントな独立ディスク冗長アレイ(RAID)のデータムーバモジュールを使用して、データ転送を容易にすることができる。
ステップ402において、ロジックは、複数のディスクをディスクグループサブセットに分割する。ステップ404において、ロジックは、個々のディスクグループを自己完結的なドメインとして構成する。仮想化されたディスクが、ディスクグループの自己完結的なドメインから割り当てられる。ステップ406において、ロジックは、ディスクグループメタデータにさまざまな情報を書き込む。このさまざまな情報は、ディスクグループ状態を自己識別する状態情報を含む。この情報によって、ディスクグループ状態情報が、ディスクコントローラに含まれない場合に、ディスクコントローラは、そのディスクグループに対応した仮想ディスクを論理ユニットとしてクライアントへロードして提示することも可能になる。
図5を参照して、フローチャートが、仮想的に無制限のストレージを有するシステムにおいて自己記述的なディスクグループを管理するための方法500の一実施の形態を示している。ステップ502において、ロジックは、ディスクグループのマウント及びディスマウントを制御可能に行うストレージ管理ツールオペレーションを生成する。ロジックは、ステップ506において、選択されたディスクグループのマウント又はディスマウントを制御可能に行い、ステップ508において、仮想ディスクが同時実行中のさまざまなプロセス又はタスクによってアクセスされた時に、対応する仮想ディスクをランダムアクセスメモリにマッピングすることによって、ステップ504において、生成されたストレージ管理ツールオペレーションを実行することができる。
ストレージ管理ツールオペレーションは、さまざまなオペレーション及びアプリケーションを実行することができる。特定の例では、ストレージ管理ツールによって、ロジックは、ステップ510において、複数の状態の中からディスクグループの状態を設定することが可能になる。たとえば、ステップ510において、ロジックは、アクティブ状態、ニアライン状態、スピンダウン状態、及びオフライン状態の中からディスクグループ状態を選択することができる。
図6を参照して、概略フローチャートが、仮想的に無制限のストレージ容量をサポートするようになっている方法600の別の態様の一実施の形態を示している。ループ又はNポートサービスをサポートする比較的安価なファイバチャネルスイッチの出現により、ディスク筐体を、ファイバチャネル調停ループ(FC−AL)バスの共通のアドレス指定能力を超える大きなキャビネットに集めることができる。方法600は、1つ又は複数のストレージキャビネットを設けるステップ602、及び、複数のディスクドライブを1つ又は複数のストレージキャビネットに配置するステップ604を含む。ドライブ筐体の大きな集まり及び関連したドライブは、ステップ606において、ディスクグループサブセットに再分割される。ディスクグループは、特定のクライアントホストの1つ又は複数のアプリケーションに適用されるストレージ空間を備える、関連したファイルセット又はデータベースを含むことができる。1つ又は複数の仮想化ディスクコントローラは、ステップ608において、複数のディスクドライブを含むネットワークに接続することができる。たとえば、複数の仮想化ディスクコントローラは、ディスクの大きな集まりに取り付けることができ、ステップ610において、個々のディスクコントローラは、いつでも、ホスト又はホストのクラスタへディスクグループの1つの論理ユニット(lun)をサーブすることができる。方法600は、さらに、仮想化ディスクコントローラの配置をディスクグループサブセットにマッピングするステップ612を含む。或るディスクコントローラが障害になった時、又は、新たなディスクコントローラがシステムに追加された時、ステップ614において、ディスクコントローラのディスクグループへのマッピングを動的に再構成して、障害の場合のサービスの継続又はサービスのバランスの改善を行うことができる。
特定の技法では、複数のディスクをディスクグループサブセットに分割し、且つ、仮想化ディスクがそこから論理ユニットとしてクライアントに割り当てられて提示される自己完結的なドメインとして個々のディスクグループを構成することによって、クライアントデータを移動させることができる。ディスクグループにとって、メタデータは、マッピング情報及びディスクグループの状態を自己識別する状態情報を含む情報である。ディスクグループは、第1のアレイからディスマウントし、第1のアレイから第2のアレイへ物理的に移動させ、次いで第2のアレイにマウントすることができる。マウント動作は、ディスクグループメタデータを読み出すこと、及びディスクコントローラが、そのディスクグループに対応する仮想化されたディスクを論理ユニットとしてクライアントへロードして提示することを可能にすることを含む。ディスクグループは、第2のアレイからアクセス可能になる。
図7を参照して、概略フローチャートが、仮想的に無制限のストレージを適用して格子の複数の仮想化ストレージコントローラを構築するための方法700の一実施の形態を示している。方法700は、複数の仮想化ストレージコントローラ及び多数のディスクドライブを有するストレージエリアネットワークを構成するステップ702を含む。たとえば、格子は、バックエンドファブリックを介して数千個のディスクドライブに接続されたストレージエリアネットワーク(SAN)における複数の仮想化ストレージコントローラで構築することができる。ステップ704において、多数のディスクドライブは、共通の目的で協調的に編成された1つ又は複数のディスクグループに分割することができる。方法700は、さらに、選択された個々のストレージコントローラから、ストレージエリアネットワークに接続された1つ又は複数のクライアントホストにおける選択されたアプリケーションセットへの論理ユニット(lun)のサービスグループの関連付けを生成するステップ706も含む。ストレージコントローラを異なるアプリケーションセットに関連付けるlunのサービスは、ストレージコントローラの一部又はすべてについて生成することができる。コントローラの障害の場合に、アプリケーションセットが、別の機能しているコントローラへフェールオーバすることを可能にする管理ツールオペレーションを生成することができる。
いくつかの実施の形態では、ストレージは、複数の仮想ディスクを、ディスクコントローラのディスクコントローラループに接続して、それら複数の仮想ディスクの一部をディスクコントローラにマウントすることによって管理することができる。ストレージマップは、マウントされた各仮想ディスクについてディスクコントローラの固定サイズのメモリにロードされる。アンマウントされた仮想ディスクに含まれるデータの要求は、一定のサイズのストレージマップを有するアンマウントされた仮想ディスクで受信することができる。十分な個数のマウントされた仮想ディスクをディスマウントして、固定サイズのメモリが、一定のサイズのアンマウントされた仮想ディスクストレージマップを収容することを可能にすることができる。アンマウントされた仮想ディスクは、マウントすることができる。
いくつかの実施形態では、アンマウントされた仮想ディスクをマウントすることは、さらに、アンマウントされた仮想ディスクからディスクグループメタデータを読み出すことを含むことができ、それによって、ディスクコントローラは、ディスクグループに対応する仮想化されたディスクを論理ユニットとしてクライアントへロードして提示することが可能になる。
いくつかの構成は、アンマウントされた仮想ディスクをマウントすることが、ディスクグループメタデータをアンマウントされた仮想ディスクから読み出す動作と、マウント状態に従ってディスクグループメタデータの状態情報を更新する動作とを含むことができるシステムを実施することができる。
システムによって遂行又は実行されるさまざまな機能、プロセス、方法、及びオペレーションは、プログラムとして実施することができる。これらのプログラムは、さまざまなタイプのプロセッサ、コントローラ、中央処理装置、マイクロプロセッサ、デジタル信号プロセッサ、状態マシン、プログラマブルロジックアレイ等で実行可能である。プログラムは、あらゆるコンピュータ関連システム若しくはコンピュータ関連方法によって使用されるか、又は、それらと共に使用されるあらゆるコンピュータ可読媒体に記憶することができる。コンピュータ可読媒体は、コンピュータ関連システム、コンピュータ関連方法、コンピュータ関連プロセス、若しくはコンピュータ関連プロシージャによって使用されるか、又は、それらと共に使用されるコンピュータプログラムを含むか、又は、記憶することができる電子的、磁気的、光学的、又は他の物理的なデバイス又は手段である。プログラムは、コンピュータ又はプロセッサに基づくシステム、又はあらゆる適切なタイプの命令メモリ又はストレージから命令をフェッチできる他のシステム等、命令実行システム、命令実行デバイス、命令実行コンポーネント、命令実行素子、若しくは命令実行装置によって使用されるか、又は、それらと共に使用されるコンピュータ可読媒体で具現することができる。コンピュータ可読媒体は、命令実行システム、命令実行装置、若しくは命令実行デバイスによって使用されるか、又は、それらと共に使用されるプログラムの記憶、通信、伝播、又は転送が可能であるあらゆる構造体、デバイス、コンポーネント、製品、又は他の手段とすることができる。
例示のブロック図及びフローチャートは、プロセスの特定の論理機能又はステップを実施するための1つ又は複数の実行可能命令を含むコードのモジュール、セグメント、又は部分を表すことができるプロセスステップ又はプロセスブロックを示している。特定の例は、特定のプロセスステップ又は動作を示しているが、多くの代替的な実施形態が可能であり、一般に簡単な設計選択によって行われる。動作及びステップは、機能、目的、標準規格との適合、レガシー構造等の考慮に基づいて、本明細書の特定の説明とは異なる順序で実行することができる。
本開示はさまざまな実施の形態を説明しているが、これらの実施の形態は、例示として理解されるべきであり、特許請求の範囲を限定するものではない。説明した実施の形態の多くの変形、変更、追加、及び改良が可能である。たとえば、当業者は、本明細書に開示した構造及び方法を提供するのに必要なステップを容易に実施し、プロセスパラメータ、材料、及び寸法が単なる例として与えられることを理解する。パラメータ、材料、及び寸法は、所望の構造及び変更したものを達成するために変化する可能性があり、それらの構造及び変更したものも、特許請求の範囲内に含まれる。本明細書に開示した実施の形態の変形及び変更も、添付の特許請求の範囲に含まれることを維持しつつ行うことができる。たとえば、開示したストレージコントローラ、ストレージデバイス、及びファブリックは、あらゆる適切な構成を有することができ、あらゆる適切な個数のコンポーネント及びデバイスを含むことができる。例示の構造及び技法は、あらゆるサイズのシステムで使用することができる。ディスクグループ状態の定義、個数、及び用語は、用途、慣習、及び他の考慮事項に応じて変化し得るが、引き続き特許請求の範囲に含まれる。フローチャートは、データの処理例を示しており、他の読み出し機能及び書き込み機能にさらに拡張することもできるし、類似の動作、機能、又はオペレーションの実行に変更することもできる。
仮想的に無制限のストレージにアクセスするように構成されたストレージ装置の一実施の形態を示す概略ブロック図である。 ネットワーク標準規格において課せられたアドレス指定能力の限界を超える大きなキャビネットに収集されたディスク筐体を含むストレージシステムの一実施の形態を示す概略ブロック図である。 格子でネットワークファブリックに接続されて潜在的に無制限の量のストレージを共有する複数の相互に切り離されたストレージコントローラを有するストレージ装置の一実施の形態を示す概略ブロック図である。 仮想的に無制限のストレージの生成及び/又はアクセスのための方法の一実施の形態を示すフローチャートである。 仮想的に無制限のストレージを有するシステムにおいて自己記述的なディスクグループを管理するための方法の一実施の形態を示すフローチャートである。 仮想的に無制限のストレージ容量をサポートするようになっている方法の別の態様の一実施の形態を示す概略フローチャートである。 仮想的に無制限のストレージを適用して格子の複数の仮想化ストレージコントローラを構築するための方法の一実施の形態を示す概略フローチャートである。
符号の説明
100・・・ストレージ装置
102、122・・・ロジック
104・・・ディスクグループメタデータ
106・・・ディスクグループ
108・・・ディスクコントローラ
110・・・仮想ディスク
112・・・クライアント
114・・・ディスク
116・・・スロット
118・・・ストレージアレイ
120・・・RAM
124・・・GUI
200・・・ストレージ装置
202・・・ストレージシステム
204・・・ストレージキャビネット
206・・・ディスクドライブ
208・・・ディスクグループ
210・・・ディスクコントローラ
212・・・ロジック
214・・・ホスト
300・・・ストレージ装置
302・・・SANファブリック
304・・・バックエンドファブリック
306・・・ストレージコントローラ
308・・・ディスクドライブ
310・・・ロジック
312・・・ディスクグループ
314・・・ホスト

Claims (11)

  1. ディスクコントローラ(108)で実行されるロジック(102)によってなされる、クライアントデータを移動させる方法であって、
    複数のディスク114)をディスクグループ(106)に分割することと、
    個々のディスクグループ(106)を、仮想化されたディスク(110)がそこから論理ユニットとしてクライアント(112)へ割り当てられ、且つ、提示される自己完結的なドメインとして構成することと、
    マッピング情報と前記ディスクグループ(106)の状態を自己識別する状態情報とを含む情報を、前記ディスクグループ(106)の少なくとも1つのディスクに記憶されたディスクグループメタデータ(104)に含めるように書き込むことと、
    前記ディスクグループ(106)を物理ディスクの第1のアレイ(118)からディスマウントすることと、
    前記ディスマウントされたディスクグループ(106)が前記第1のアレイ(118)から第2のアレイ(118)へ物理的に移動される場合に、前記ディスマウントされたディスクグループ(106)の前記ディスクグループメタデータ(104)を読み出すことを含む物理ディスクの第2のアレイ(118)へ前記ディスマウントされたディスクグループ(106)をマウントすることと、
    前記移動されたディスクグループ(106)の前記読み出されたディスクグループメタデータ(104)を使用することによって、前記移動されたディスクグループ(106)に対応する前記仮想化されたディスク(110)を論理ユニットとして前記クライアント(112)へ提示することと、
    前記クライアント(112)が前記第2のアレイ(118)に移動された前記ディスクグループにアクセスすることを可能にすることと
    を含む
    クライアントデータを移動させる方法。
  2. メタデータ情報を前記ディスクグループ(106)に書き込むことであって、
    ディスクのミラーリングされた保護領域に状態情報を書き込むことであって、それによって、前記ディスクコントローラが、前記ディスクグループのあらゆる状態データを含むことなく、前記仮想化されたディスク(110)を論理ユニット(lun)として提示し、それによって、前記ディスクグループメタデータ(104)が、前記ディスクグループ(106)の自己記述機能を生成することと、
    オンライン状態、ニアライン状態、及びオフライン状態の間における前記ディスクグループ(106)の状態進行を記述するタグを含む前記状態情報を書き込むことと
    を含む、メタデータ情報を前記ディスクグループに書き込むこと
    をさらに含む請求項1に記載の方法。
  3. 十分なメタデータを前記ディスクグループ(106)内に書き込んで、追加情報がなくても前記ディスクグループ(106)の完全な復元を可能にすることであって、それにより、ディスクグループが、異なるコントローラで異なるシステムにおいて復元されること
    をさらに含む請求項1に記載の方法。
  4. 少なくとも1つのストレージアレイ(118)において、複数のスロットのいずれにもオプションでインストールするための複数のディスクの個々のディスクに選択的にタグを付けることであって、それにより、前記ディスクのインストール位置にかかわらず、且つ、アーカイブ、移動、又はトランスポートから前記ディスクを復帰させるストレージシステムにかかわらず、タグがディスクグループマッピングを十分に復元するディスクプロパティを記述すること
    をさらに含む請求項1に記載の方法。
  5. ディスクを仮想化することであって、
    ディスクの開始位置でマップのロードを開始するブートストラップ情報を書き込むことであって、前記ブートストラップ情報は、残りのデータの位置を記述し、データセット全体及びすべてのメタデータの再生成を可能にすることと、
    ディスクのオフライン、トランスポート、移動、及びアーカイブを行い、元のスロット又は任意のシステムの任意のスロットに戻すことを可能にするのに十分なデータをディスクに書き込むことであって、それによって、前記マップがディスクの再インストール時に再生成されることと
    を含む、ディスクを仮想化すること
    をさらに含む請求項1に記載の方法。
  6. ストレージのサブセットを仮想化することと、
    一度に仮想化マップの一部のみをロードすることによってローカルメモリを節約することであって、それによって、現在アクセスされているデータ及び現在のデータスナップショットを含む現在アクティブな情報のみがマッピングされ、現在アクセスされていない休止状態のデータがマッピングされないことと
    をさらに含む請求項1に記載の方法。
  7. ディスクグループの状態、位置、論理ユニットの割り当ておよびアクティビティを示す進行タグを含む前記メタデータの状態進行タグを管理することと、
    ディスクグループ(106)が非アクティブな状態から再びロードされるときの論理ユニット割り当てを検出することと、
    衝突を判断することと、
    前記再びロードされたディスクグループ(106)の論理ユニット割り当てを変更することにより、又は、データセットをディスマウントして、前記再びロードされたディスクグループ(106)の場所を開けることにより、前記衝突を解決することと
    をさらに含む請求項1に記載の方法。
  8. 除去およびアーカイブのために、選択されたディスクグループ(106)をオンライン状態からオフライン状態へ遷移させることと、
    前記選択されたディスクグループにアクセスするためのメタデータを前記選択されたディスクグループ(106)の物理ドライブに常駐するディスクグループ媒体に書き込むことであって、前記アクセスするメタデータは、ディスクグループ状態情報が前記ディスクコントローラに含まれていない場合に前記選択されたディスクグループ(106)のアクセスを可能にするのに十分な情報を含む、書き込むことと、
    メタデータを読み出し、選択されたディスクグループ(106)のディスマウント及びマウントに固有の状態情報を設定し変更することと、
    前記選択されたディスクグループをオフラインとしてタグ付けすることと、
    ホストコンピュータによってアクセスされる識別子でディスクグループを識別することと、
    前記選択されたディスクグループメタデータ(104)を変更して、フォーリンディスクグループ(foreign disk group)が前記ディスクコントローラにマウントされた状態で一貫せず正しくないメタデータの内容の解釈を回避することであって、前記フォーリンディスクグループが異なるディスクコントローラから書き込まれたメタデータ又はデータを有することと
    をさらに含む請求項1に記載の方法。
  9. 複数の前記仮想化されたディスク(110)を、前記ディスクコントローラのディスクコントローラループに接続することと、
    前記複数の仮想化されたディスクの一部を前記ディスクコントローラにマウントすることであって、ストレージマップがマウントされた各仮想化されたディスクについて前記ディスクコントローラの固定サイズのメモリにロードされることと、
    アンマウントされた仮想化されたディスクに含まれるデータの要求を所定のサイズの前記ストレージマップを有する前記アンマウントされた仮想化されたディスクで受信することと、
    十分な個数のマウントされた仮想化されたディスク(110)をディスマウントして、前記固定サイズのメモリが前記所定のサイズの前記アンマウントされた仮想ディスクストレージマップを収容することを可能にすることと、
    前記アンマウントされた仮想化されたディスクをマウントすることと
    をさらに含む請求項1に記載の方法。
  10. 前記アンマウントされた仮想化されたディスクをマウントすることは、
    前記アンマウントされた仮想化されたディスクからディスクグループメタデータ(104)を読み出すことであって、それによって、前記ディスクコントローラが前記ディスクグループに対応する前記仮想化されたディスク(110)を論理ユニットとして前記クライアント(112)へロードして提示することが可能になること
    を含む
    請求項に記載の方法。
  11. 前記アンマウントされた仮想化されたディスクをマウントすることは、
    前記アンマウントされた仮想化されたディスクからディスクグループメタデータ(104)を読み出すことと、
    マウント状態に従って前記ディスクグループメタデータ(104)の状態情報を更新することと
    を含む
    請求項に記載の方法。
JP2006107628A 2005-04-20 2006-04-10 ストレージシステムにおけるデータの移動 Expired - Fee Related JP4768497B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/111090 2005-04-20
US11/111,090 US7302539B2 (en) 2005-04-20 2005-04-20 Migrating data in a storage system

Publications (2)

Publication Number Publication Date
JP2006302274A JP2006302274A (ja) 2006-11-02
JP4768497B2 true JP4768497B2 (ja) 2011-09-07

Family

ID=37188431

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006107628A Expired - Fee Related JP4768497B2 (ja) 2005-04-20 2006-04-10 ストレージシステムにおけるデータの移動

Country Status (2)

Country Link
US (1) US7302539B2 (ja)
JP (1) JP4768497B2 (ja)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7640382B2 (en) * 2005-04-29 2009-12-29 Avocent Corporation Virtual media systems, methods and devices
US8869066B2 (en) 2006-07-06 2014-10-21 Addthis, Llc Generic content collection systems
US7584378B2 (en) * 2006-09-07 2009-09-01 International Business Machines Corporation Reconfigurable FC-AL storage loops in a data storage system
US20080082627A1 (en) * 2006-09-29 2008-04-03 Allen Stewart O Method and Apparatus for Widget Container/Widget Tracking and Metadata Manipulation
US8056092B2 (en) * 2006-09-29 2011-11-08 Clearspring Technologies, Inc. Method and apparatus for widget-container hosting and generation
WO2008109761A2 (en) 2007-03-06 2008-09-12 Clearspring Technologies, Inc. Method and apparatus for data processing
US9009728B2 (en) 2007-03-06 2015-04-14 Addthis, Inc. Method and apparatus for widget and widget-container distribution control based on content rules
US8447285B1 (en) 2007-03-26 2013-05-21 Callwave Communications, Llc Methods and systems for managing telecommunications and for translating voice messages to text messages
US8325886B1 (en) 2007-03-26 2012-12-04 Callwave Communications, Llc Methods and systems for managing telecommunications
US8214338B1 (en) * 2007-05-01 2012-07-03 Callwave, Inc. Methods and systems for media storage
US8583746B1 (en) 2007-05-25 2013-11-12 Callwave Communications, Llc Methods and systems for web and call processing
US8209378B2 (en) 2007-10-04 2012-06-26 Clearspring Technologies, Inc. Methods and apparatus for widget sharing between content aggregation points
JP4961319B2 (ja) * 2007-10-11 2012-06-27 株式会社日立製作所 仮想ボリュームにおける仮想領域に動的に実領域を割り当てるストレージシステム
JP5127491B2 (ja) * 2008-02-08 2013-01-23 株式会社日立製作所 ストレージサブシステム及びこれの制御方法
US8214343B2 (en) * 2008-03-19 2012-07-03 Microsoft Corporation Purposing persistent data through hardware metadata tagging
US9946493B2 (en) * 2008-04-04 2018-04-17 International Business Machines Corporation Coordinated remote and local machine configuration
US8271612B2 (en) * 2008-04-04 2012-09-18 International Business Machines Corporation On-demand virtual storage capacity
US8055723B2 (en) * 2008-04-04 2011-11-08 International Business Machines Corporation Virtual array site configuration
JP2010033125A (ja) * 2008-07-25 2010-02-12 Hitachi Ltd ストレージ装置及びデータ転送方法
JP2010211428A (ja) * 2009-03-10 2010-09-24 Fujitsu Ltd ストレージ装置、中継装置、及びコマンド発行制御方法
US20110179311A1 (en) * 2009-12-31 2011-07-21 Nachimuthu Murugasamy K Injecting error and/or migrating memory in a computing system
US20110161592A1 (en) * 2009-12-31 2011-06-30 Nachimuthu Murugasamy K Dynamic system reconfiguration
US8255737B1 (en) * 2010-04-29 2012-08-28 Netapp, Inc. System and method for a redundant communication fabric in a network storage system
US8868856B2 (en) * 2010-07-01 2014-10-21 Infinidat Ltd. Storage system with reduced energy consumption
US8938582B2 (en) * 2010-07-01 2015-01-20 Infinidat Ltd. Storage systems with reduced energy consumption
US9244779B2 (en) 2010-09-30 2016-01-26 Commvault Systems, Inc. Data recovery operations, such as recovery from modified network data management protocol data
WO2013101122A1 (en) 2011-12-29 2013-07-04 Intel Corporation Secure error handling
US9015519B2 (en) * 2012-01-31 2015-04-21 Symantec Corporation Method and system for cluster wide adaptive I/O scheduling by a multipathing driver
US9069799B2 (en) 2012-12-27 2015-06-30 Commvault Systems, Inc. Restoration of centralized data storage manager, such as data storage manager in a hierarchical data storage system
JP6185668B2 (ja) * 2014-07-25 2017-08-23 株式会社日立製作所 ストレージ装置
US10101913B2 (en) 2015-09-02 2018-10-16 Commvault Systems, Inc. Migrating data to disk without interrupting running backup operations
CN113625937B (zh) * 2020-05-09 2024-05-28 富联精密电子(天津)有限公司 存储资源处理装置及方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6298425B1 (en) 1999-01-12 2001-10-02 Compaq Computer Corp. Computer disk management system using doublet A-B logging
US6553511B1 (en) 2000-05-17 2003-04-22 Lsi Logic Corporation Mass storage data integrity-assuring technique utilizing sequence and revision number metadata
US6606629B1 (en) 2000-05-17 2003-08-12 Lsi Logic Corporation Data structures containing sequence and revision number metadata used in mass storage data integrity-assuring technique
US6665815B1 (en) 2000-06-22 2003-12-16 Hewlett-Packard Development Company, L.P. Physical incremental backup using snapshots
US6801921B2 (en) 2000-09-08 2004-10-05 Hitachi, Ltd. Method and system for managing multiple database storage units
US6915397B2 (en) 2001-06-01 2005-07-05 Hewlett-Packard Development Company, L.P. System and method for generating point in time storage copy
US6931487B2 (en) 2001-10-22 2005-08-16 Hewlett-Packard Development Company L.P. High performance multi-controller processing
US6895467B2 (en) 2001-10-22 2005-05-17 Hewlett-Packard Development Company, L.P. System and method for atomizing storage
JP2003162377A (ja) * 2001-11-28 2003-06-06 Hitachi Ltd ディスクアレイシステム及びコントローラ間での論理ユニットの引き継ぎ方法

Also Published As

Publication number Publication date
JP2006302274A (ja) 2006-11-02
US20060242379A1 (en) 2006-10-26
US7302539B2 (en) 2007-11-27

Similar Documents

Publication Publication Date Title
JP4768497B2 (ja) ストレージシステムにおけるデータの移動
JP2006302273A (ja) 仮想的に無制限なストレージ
JP5523468B2 (ja) 直接接続ストレージ・システムのためのアクティブ−アクティブ・フェイルオーバー
US8046469B2 (en) System and method for interfacing with virtual storage
JP5600361B2 (ja) ハイパーバイザベースのサーバ二重化システム、その方法およびサーバ二重化コンピュータプログラムが記録された記録媒体
EP2800303B1 (en) Switch method, device and system for virtual application dual machine in cloud environment
US8122212B2 (en) Method and apparatus for logical volume management for virtual machine environment
JP4592814B2 (ja) 情報処理装置
US7774094B2 (en) Selecting a source cluster by measuring system factors, calculating a mount-to-dismount lifespan, and selecting the source cluster in response to the lifespan and a user policy
EP2324429B1 (en) Providing executing programs with reliable access to non-local block data storage
US10108517B1 (en) Techniques for data storage systems using virtualized environments
US8214551B2 (en) Using a storage controller to determine the cause of degraded I/O performance
US8954706B2 (en) Storage apparatus, computer system, and control method for storage apparatus
US7702757B2 (en) Method, apparatus and program storage device for providing control to a networked storage architecture
US10114754B1 (en) Techniques for space reservation in a storage environment
Dufrasne et al. Ibm system storage ds8700 architecture and implementation
US11442637B1 (en) Managing drive space among different data services environments within a storage system
US11474730B1 (en) Storage system and migration method of storage system
JP6674101B2 (ja) 制御装置および情報処理システム
US20220358087A1 (en) Technique for creating an in-memory compact state of snapshot metadata
US9778870B2 (en) Power management for a distributed storage system accessible by a cluster in a virtualized computing environment
CN105138283A (zh) 计算机磁盘、用于计算机磁盘的数据管理方法及装置
US11755334B2 (en) Systems and methods for augmented notifications in remote management of an IHS (information handling system)
US20080147985A1 (en) Method and System for Purging Data from a Controller Cache
US11221928B2 (en) Methods for cache rewarming in a failover domain and devices thereof

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080206

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080501

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080508

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080730

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20081105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110422

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110616

R150 Certificate of patent or registration of utility model

Ref document number: 4768497

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140624

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees