JP5925298B2 - 同期ミラーリングされるストレージ・ボリューム間のトランスペアレントなスイッチングのための方法、装置及びコンピュータ・プログラム製品 - Google Patents

同期ミラーリングされるストレージ・ボリューム間のトランスペアレントなスイッチングのための方法、装置及びコンピュータ・プログラム製品 Download PDF

Info

Publication number
JP5925298B2
JP5925298B2 JP2014506960A JP2014506960A JP5925298B2 JP 5925298 B2 JP5925298 B2 JP 5925298B2 JP 2014506960 A JP2014506960 A JP 2014506960A JP 2014506960 A JP2014506960 A JP 2014506960A JP 5925298 B2 JP5925298 B2 JP 5925298B2
Authority
JP
Japan
Prior art keywords
volume
state
active
inactive
host computer
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
JP2014506960A
Other languages
English (en)
Other versions
JP2014519075A (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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2014519075A publication Critical patent/JP2014519075A/ja
Application granted granted Critical
Publication of JP5925298B2 publication Critical patent/JP5925298B2/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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2069Management of state, configuration or failover
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2071Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using a plurality of controllers
    • G06F11/2076Synchronous techniques
    • 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/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • 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/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • 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/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)
  • Quality & Reliability (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Description

本発明は、一般に、データ・ストレージに関し、具体的には、ホスト・コンピュータが、同期ミラーリングされる(synchronously mirrored)一次ストレージ・ボリューム及び二次ストレージ・ボリュームの役割をシームレスにスワップ(swap)するのを可能にすることに関する。
ミラーリングは、一次ストレージ・ボリュームを別個の二次ストレージ・ボリュームに複製し、冗長性を確保するために用いられる技術である。一次ストレージ・ボリューム及び二次ストレージ・ボリュームを含むストレージ・ファシリティに対して、ミラーリングを同期的に又は非同期的に実施することができる。同期ミラーリングの際、ストレージ・ファシリティと通信するホスト(例えば、データベース・サーバ)は、データが一次ストレージ・ボリューム及び二次ストレージ・ボリュームの両方に成功裏に書き込まれた後、書き込み確認応答(acknowledgement)を受け取る。同期ミラーリングは、典型的には、ストレージ・エリア・ネットワーク(SAN)上で実施される。
非同期ミラーリング(asynchronous mirroring)の際、ホストは、データが一次ボリュームに書き込まれた後に書き込み確認応答を受け取る(即ち、二次ボリュームはまだデータを受け取っていないか、及び/又は、データの書き込みを確認応答していない可能性がある)。非同期ミラーリングは、典型低には、低速の広域ネットワーク上で、特により遠距離にわたって実施される。
同期ミラーリングされるストレージ・ボリューム間のトランスペアレントな入力/出力スイッチングのための方法、装置及びコンピュータ・プログラム製品を提供する。
本発明の1つの実施形態によると、ストレージ・エリア・ネットワークを介してホスト・コンピュータに結合された、第1のボリューム及び第2のボリュームに関するトランスペアレントな同期ミラーリング・ボリューム・スイッチングを、第1のボリュームと第2のボリュームとの間の状態データの同期を開始することと、第1のボリュームをアクティブ状態に設定し、第2のボリュームを非アクティブ状態に設定することと、アクティブな第1のボリュームと関連した識別子を非アクティブな第2のボリュームに結合されたメモリにコピーすることと、ホスト・コンピュータによって、メモリからコピーされた識別子を取り出すことと、取り出すことの後、非アクティブな第2のボリュームをホスト・コンピュータにマッピングすることとによって構成することであって、第1のボリュームはホスト・コンピュータにマッピングされている、構成することを含む方法が提供される。
本発明の1つの実施形態によると、第1のボリュームと、第2のボリュームと、ホスト・コンピュータ、第1のボリューム及び第2のボリュームを結合するように構成されたストレージ・エリア・ネットワーク(SAN)と、第2のボリュームに結合されたメモリと、第1のボリュームをホスト・コンピュータにマッピングして、マッピングされた第1のボリュームと第2のボリュームとの間の状態データの同期を開始し、マッピングされた第1のボリュームをアクティブ状態に設定し且つ第2のボリュームを非アクティブ状態に設定し、アクティブな第1のボリュームと関連した識別子を非アクティブな第2のボリュームに結合されたメモリにコピーし、ホスト・コンピュータによって、メモリからコピーされた識別子を取り出し、取り出しの後、非アクティブな第2のボリュームをホスト・コンピュータにマッピングするように構成されたプロセッサとを含む、トランスペアレントな同期ミラーリング・ボリューム・スイッチングを構成するための装置も提供される。
本発明の1つの実施形態によると、ストレージ・エリア・ネットワークを介してホスト・コンピュータに結合された、ホスト・コンピュータにマッピングされる第1のボリューム及び第2のボリュームに関するトランスペアレントな同期ミラーリング・ボリューム・スイッチングを構成するためのコンピュータ・プログラム製品であって、第1のボリュームはホスト・コンピュータにマッピングされる、コンピュータ・プログラム製品がさらに提供され、このコンピュータ・プログラム製品は、コンピュータ可読プログラム・コードがその上に具体化された非一時的コンピュータ可読ストレージ媒体を含み、コンピュータ可読プログラム・コードは、第1のボリュームと第2のボリュームとの間の状態データの同期を開始するように構成されたコンピュータ可読プログラム・コードと、第1のボリュームをアクティブ状態に設定し且つ第2のボリュームを非アクティブ状態に設定するように構成されたコンピュータ可読プログラム・コードと、アクティブな第1のボリュームと関連した識別子を非アクティブな第2のボリュームに結合されたメモリにコピーするように構成されたコンピュータ可読プログラム・コードと、ホスト・コンピュータによって、メモリからコピーされた識別子を取り出すように構成されたコンピュータ可読プログラム・コードと、取り出しの後、非アクティブな第2のボリュームをホスト・コンピュータにマッピングするように構成されたコンピュータ可読プログラム・コードとを含む。
ここで、添付図面を参照しながら、本発明の好ましい実施形態を単なる例として説明する。
本発明の1つの実施形態による、高可用性ボリューム・スイッチングを実行するように構成された同期ミラーリングされるストレージ・コントローラの概略的な図形表現である。 本発明の1つの実施形態による、一次ボリューム、二次ボリューム、三次ボリューム、及びホスト・コンピュータの間の論理パスの概略的な図形表現である。 本発明の1つの実施形態による、トランスペアレントな同期ミラーリング・ボリューム・スイッチング方法を概略的に示すフロー図である。
概要
典型的には、ディスク・ドライブ上に格納されるボリュームは、ボリュームの各々とホスト・コンピュータとの間の論理パスを介して、ホスト・コンピュータに結合される。ボリュームの各々は、シリアル番号のような関連した一意のボリューム識別子を有することができる。一意のボリューム識別子を用いて、ボリュームの各々と関連した論理パスを連結することができる。ボリュームと関連した複数のパスが存在するので、ボリュームは、マルチパス・デバイスを含む。マルチパス・デバイスとの通信は、マルチパス入力/出力(I/O)と呼ばれる。マルチパス・デバイスは、MPIOデバイスとも呼ばれる。
本発明の実施形態において、関連したボリューム識別子を有することに加えて、各々のボリュームは、アクティブ又は非アクティブのいずれかとすることができる関連した状態を有する。さらに、特定のボリュームへの各々の論理パスの状態を、ボリュームの状態と関連付けることができる。例えば、特定のボリュームの状態がアクティブである場合、ホスト・コンピュータと特定のボリュームとの間の全ての論理パスの状態はアクティブとなる。同様に、特定のボリュームの状態が非アクティブである場合、ホスト・コンピュータと特定のボリュームとの間の全ての論理パスの状態は非アクティブとなる。
第1の(即ち、一次)ボリュームから第2の(即ち、二次)ボリュームへの同期ミラーリングを構成する間、本発明の実施形態は、ボリューム識別子、並びに一次及び二次ボリュームの状態を操作し、それによりホスト・コンピュータが第1のボリュームから第2のボリュームへとシームレスに移行するのを可能にするための方法及びシステムを提供する。典型的には、ホスト・コンピュータは、第1のボリュームの故障又は第1のボリュームと第2のボリュームとの間のパスの故障が原因で、第1のボリュームから第2のボリュームに移行する。
幾つかの実施形態において、第1のボリュームと関連したボリューム識別子を第2のボリュームにコピーし、第2のボリュームのパスの状態を非アクティブに設定する。第1のボリュームの識別子を第2のボリュームにコピーした後、ボリュームの両方を同じボリューム識別子と関連付け、第2のボリュームが第1のボリュームに「なりすます(masquerade)」(ボリュームを一意に識別し、論理パスを単一のマルチパス・デバイスにマッピングするための、ホストが用いる規則に従って)。
なりすましている第2のボリュームをホスト・コンピュータにマッピングすると、ホスト・コンピュータは、アクティブである論理パス(即ち、ホスト・コンピュータと第1のボリュームとの間の論理パス)及び非アクティブである新しい論理パス(即ち、ホスト・コンピュータと第2のボリュームとの間の新しい論理パス)を有する単一のボリュームを検出する。ソース及び第2のボリュームの状態をスワップした後、第2のボリュームへの全ての新しい論理パスはアクティブとなり、第1のボリュームへの全ての論理パスは非アクティブとなる。従って、ソース及び第2のボリュームの状態をスワップした後、全ての入力/出力操作は、第1のボリュームの代わりに、第2のボリュームにリダイレクトされる。
上述のステップを完了すると、ホスト・コンピュータは、実際には、今やアクティブな論理パスが第2のボリュームへのものであるのに、依然として第1のボリュームへのアクティブ・パスを有していると「考える」。
システムの説明
図1は、本発明の1つの実施形態による、トランスペアレントな同期ミラーリング・ボリューム・スイッチングを実施するように構成されたストレージ・ファシリティ20の概略的な図形表示である。ファシリティ20は、全て入力/出力(I/O)パス30を介してストレージ・エリア・ネットワーク(SAN)28に結合された、第1のストレージ・コントローラ22、第2のストレージ・コントローラ24、及びホスト・コンピュータ26を含む。図1に示される構成において、ストレージ・コントローラ22及び24は、SAN28を介して同期ミラーリングされ且つ広域ネットワーク(WAN)90を介して三次ボリューム92に非同期ミラーリングされる(asynchronously mirrored)。典型的には、ストレージ・ボリューム92は、第3のストレージ・コントローラ(図示せず)内に格納される。
ストレージ・コントローラ22は、プライベート・ネットワーク34を介して結合された複数の第1のストレージ・モジュール32を含む。各々のストレージ・モジュール32は、メモリ40からのストレージ・モジュール・アプリケーション38を実行するように構成されたプロセッサ36を含む。ストレージ・モジュール・アプリケーション38は、第1のボリューム43を格納する多数の第1のストレージ・デバイス42(例えば、ディスク・ドライブ)を管理する。図1に示される構成において、ボリューム43は、ストレージ・デバイス42の間で分散され、且つ、ファシリティ20内の単一の論理ストレージ領域を含む。
ソース・ストレージ・デバイスは、デバイス・アダプタ44を介してストレージ・モジュール32に結合される。第1のストレージ・モジュールは、プライベート・ネットワーク・アダプタ46を介してプライベート・ネットワーク34に、且つ、SANアダプタ48を介してSAN28に結合される。
ストレージ・モジュール・アプリケーション38に加えて、プロセッサ36は、メモリ40からのミラーリング・アプリケーション50及びトランスペアレントな同期ミラーリング・ボリューム・スイッチング・アプリケーション52(本明細書ではスイッチング・アプリケーション52とも呼ばれる)を実行する。ミラーリング・アプリケーション50及びスイッチング・アプリケーション52は、以下でさらに詳細に説明される。
メモリ40はまた、ボリューム43についての識別データを格納するボリューム・データ54、ポート・データ56(以下でさらに詳細に説明される)、及びボリューム43についての状態データ58も格納する。状態データ58は、共有するボリューム43の状態に関する情報を格納する永続予約テーブル(persistent reservation table)を含むことができる。例えば、ボリューム43は、ホスト・コンピュータ26、又はSAN28に結合された他のいずれかのホスト・コンピュータ(図示せず)による読み出し及び/又は書き込みに対してロックする(即ち、予約する)ことができる。付加的に又は代替的に、状態データ58は、シン・プロビジョニング(thin provisioning)・データを含むことができる。シン・プロビジョニングとは、ストレージ・コントローラ22が、ボリューム43をジャスト・イン・タイム(just-in-time)方式でホスト・コンピュータ26に割り当てるのを可能にする機構である。シン・プロビジョニング・データは、ソース・ストレージ・コントローラについてのボリューム割り当てデータを含むことができる。
ストレージ・コントローラ24は、プライベート・ネットワーク62を介して結合された複数の第2のストレージ・モジュール60を含む。各々のストレージ・モジュール60は、メモリ68からのストレージ・モジュール・アプリケーション66を実行するように構成されたプロセッサ64を含む。ストレージ・モジュール・アプリケーション66は、第2のボリューム71を格納する多数の第2のストレージ・デバイス70を管理する。図1に示される構成において、ボリューム71は、ストレージ・デバイス70の間で分散され、且つ、ファシリティ20内の単一の論理ストレージ領域を含む。
第2のストレージ・デバイスは、デバイス・アダプタ72を介してストレージ・モジュール60に結合される。第2のストレージ・モジュールは、プライベート・ネットワーク・アダプタ74を介してプライベート・ネットワーク62に、且つ、SANアダプタ76を介してSAN28に結合される。
ファシリティ20は、ボリューム43をボリューム71に(即ち、ボリューム43が一次ボリュームであり、ボリューム71が二次ボリュームである)又はその逆に同期ミラーリングするように構成することができる。ボリューム43が一次ボリュームとして構成されるとき、ミラーリング・アプリケーション50は、ボリューム43をボリューム71に同期ミラーリングし、スイッチング・アプリケーション52は、状態データ58と状態データ80の同期を開始する。メモリ68はまた、ポート・データ78(以下でさらに詳細に説明される)及びボリューム・データ82も格納する。ボリューム・データ82は、ボリューム71についての識別データを格納する。
ボリューム71が一次ボリュームとして構成されるとき、プロセッサ64は、ミラーリング・アプリケーション84を実行してボリューム71をボリューム43に同期ミラーリングし、且つ、スイッチング・アプリケーション86を実行して状態データ80と状態データ58の同期を開始する。
図1に示される構成において、ファシリティ20は、広域ネットワーク(WAN)90を介して、ボリューム43及び71を、ストレージ・デバイス88上に格納された三次ボリューム92に非同期ミラーリングする。典型的には、ボリューム71が二次ボリュームとして構成された場合、ミラーリング・アプリケーション84は、ボリューム71をボリューム92に非同期ミラーリングする。同様に、ボリューム43が二次ボリュームとして構成された場合、ミラーリング・アプリケーション50が、ボリューム43をボリューム92に非同期ミラーリングする。
SANアダプタ48及び76の例として、ファイバ・チャネル(FC)アダプタのようなスイッチド・ファブリック・アダプタ(switched fabric adapter)、インターネット・スモール・コンピュータ・システム・インタフェース(iSCSI)アダプタ、ファイバ・チャネル・オーバー・イーサネット(FCoE)アダプタ、及びインフィニバンドTMアダプタが挙げられる。デバイス・アダプタ44及び72の例として、Serial Advance Technology Attachment(SATA)及びSerial Attached SCSI(SAS)コンピュータ・バス・インタフェースの両方を実装する、インターナショナル・ビジネス・マシーンズ(IBM)ServeRAIDTM M5000シリーズ・アダプタが挙げられる。ボリューム43及び71は、典型的には、大容量ハードディスク・ドライブとソリッドステート・ディスク・ドライブの組み合わせを含む。
プロセッサ36及び64は、典型的には、汎用コンピュータを含み、これらは本明細書で説明される機能を実行するためのソフトウェアの形でプログラムされる。ソフトウェアは、例えばネットワーク上で、電子的形態でメモリ40及び68にダウンロードすることができ、又は、光、磁気、若しくは電子メモリ媒体などの非一時的有形媒体上に提供することができる。代替的に、プロセッサ36及び64の機能の一部又は全ては、専用の又はプログラム可能なデジタル・ハードウェア・コンポーネントにより、又はハードウェア要素とソフトウェア要素との組み合わせを用いて、実行することができる。
ボリューム43は、ソース・ストレージ・コントローラ内の相対ポート(relative port)45を介してホスト・コンピュータ26に結合され、ボリューム71は、ターゲット・ストレージ・コントローラ内の相対ポート73を介してホスト・コンピュータに結合される。相対ポートは、ホスト・コンピュータが、ボリューム43及び71と通信するために用いることができる論理パスを表す。図1の構成は、ストレージ・コントローラの各々が単一の相対ポート(即ち、相対ポート45及び73)を含むように示されるが、ストレージ・コントローラの各々は、典型的には、複数の相対ポートを含む。
ストレージ・コントローラ22及び24内の論理パスの各々は、典型的には、一意の相対ポート識別子を有する。相対ポート識別子は、特定のストレージ・モジュール内の物理スロット(図示せず)を指すことができる。例えば、ストレージ・コントローラ22内に5つのソース・ストレージ・モジュール(即ち、0−4)がある場合、各々のストレージ・モジュー32は8つのスロット(即ち、0−7)を含み、相対ポート識別子「0205」は、デバイス・アダプタ44が第3(「02」)のソース・ストレージ・モジュールの6番目(「05」)に配置されることを示すことができる。
ターゲット・ポート・グループ・サポート(Target Port Group Support、TPGS)としても知られる非同期論理ユニット・アクセス(Asynchronous Logical Access、ALUA)は、ストレージ・コントローラ22及び24が、それぞれの相対ポートの状態を設定するのを可能にする、スモール・コンピュータ・システム・インタフェース(Small Computer System Interface、SCSI)プロトコルである。ALUA/TPGSをサポートするSCSIプライマリ・コマンド(SCSI Primary Commands、SPC)は、技術情報規格国際委員会(International Committee on Information Technology Standards、INCITS)のT10委員会によるSPC−3の第5.8項並びにSPC−4の第5.8項及び第5.11項に指定されている。
ALUAを用いて、ホスト・コンピュータ26はまた、ファシリティ20に照会し、ストレージ・コントローラへの論理パスの各々の状態を受け取ることもできる。例えば、ボリューム43は相対ポート45を介してホスト・コンピュータ26に結合されているので、相対ポート45の状態を設定することにより、第1のボリュームと相対ポート45を介して結合されたホスト・コンピュータ26との間の各々の論理パスの状態が設定される。
ALUAの状態は、(1)Active Optimized、(2)Active Non−Optimized、(3)Standby(待機)、(4)Unavailable(使用不能)、(5)Transitioning(移行)及び(6)Offline(オフライン)を含む。本明細書で説明される本発明の実施形態において、ALUAの状態は、次のように組み合わせられる。
アクティブ:Active Optimized及びActive Non−Optimized
非アクティブ:Standby、Unavailable、Transitioning及びOffline
さらに、相対ポートをグループに分割して(本明細書ではターゲット・ポート・グループとも呼ばれる)、ファシリティ20が、グループ・レベルで相対ポート及び論理パスの状態を設定するのを可能にすることができる。例えば、第1のストレージ・コントローラ22内の相対ポート(相対ポート45を含む)をグループ0に割り当てることができ(Report Target Port Groups SCSIコマンドを介して)、第2のストレージ・コントローラ24内の相対ポート(相対ポート73を含む)をグループ1に割り当てることができる(同じくReport Target Port Groups SCSIコマンドを介して)。次に、ファシリティ20は、グループ0の状態を設定することにより、ホスト・コンピュータとストレージ・コントローラ22との間の論理パスの状態を設定することができる。同様に、ファシリティ20は、グループ1の状態を設定することにより、ホスト・コンピュータとストレージ・コントローラ24との間の論理パスの状態を設定することができる。
さらに、(上述の例におけるように)デバイス・アダプタ44をストレージ・コントローラ22の第3のストレージ・モジュール32の第6のスロットに挿入することができ、デバイス・アダプタ72をストレージ・コントローラ24の第3のストレージ・モジュール60の第6のスロットに挿入することができるので、相対ポートをグループに分割することは、一意の相対ポート識別子を定める助けとなる。従って、グループ識別子及び相対ポート識別子を連結して結合された識別子(combined identifier)(即ち、グループ識別子及び相対ポート識別子を含むタプル)を作成し、ファシリティ20内の相対ポートの各々を一意に識別することができる。
ホスト・コンピュータ26が、相対ポート識別子のみによって論理パスの各々を識別するオペレーティング・システムを実行しているインスタンスが存在し得る。これらのインスタンスにおいて、本明細書で説明される実施形態の初期化段階の間、プロセッサ36及び64が互いに連係して、一意の相対ポート識別子をファシリティ20内の相対ポートの各々に割り当てる。一意の相対ポート識別子を用いて、相対ポートの各々及びそれぞれの論理パスを表すことができる。
初期化段階の間、相対ポートを識別することに加えて、プロセッサ36及び64は、典型的には、例えばシリアル番号などの一意のボリューム識別子をボリューム43及び71の各々に割り当てる。プロセッサ36は、ボリューム43についての一意のボリューム識別子を、第1のボリュームに結合されたメモリ40内のボリューム・データ54に格納する。プロセッサ64は、ボリューム71についての一意のボリューム識別子を、第2のボリュームに結合されたメモリ68内のボリューム・データ82に格納する。
当業者により認識されるように、本発明の態様は、システム、方法又はコンピュータ・プログラム製品として具体化することができる。従って、本発明の態様は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態(ファームウェア、常駐ソフトウェア、マイクロコード等を含む)、又はソフトウェアの態様とハードウェアの態様とを組み合わせた実施形態の形態をとることができ、本明細書においては、これらは全て、一般的に「回路」、「モジュール」又は「システム」と呼ぶことがある。さらに、本発明の態様は、具体化されたコンピュータ可読プログラム・コードを有する、1つ又は複数のコンピュータ可読媒体内に具体化されたコンピュータ・プログラム製品の形態をとることができる。
1つ又は複数のコンピュータ可読媒体のいずれの組み合わせを用いることもできる。コンピュータ可読媒体は、コンピュータ可読信号媒体又はコンピュータ可読ストレージ媒体とすることができる。コンピュータ可読ストレージ媒体は、例えば、これらに限定されるものではないが、電子、磁気、光、電磁気、赤外線、又は半導体のシステム、装置、若しくはデバイス、又は上記のいずれかの適切な組み合わせとすることができる。コンピュータ可読ストレージ媒体のより具体的な例(非網羅的なリスト)には、1つ又は複数の配線を有する電気的接続、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読み出し専用メモリ(ROM)、消去可能プログラム可能読み出し専用メモリ(EPROM又はフラッシュ・メモリ)、光ファイバ、ポータブル・コンパクト・ディスク読み出し専用メモリ(CD−ROM)、光記憶装置、磁気記憶装置、又は上記のもののいずれかの適切な組み合わせが挙げられる。本文書の文脈において、コンピュータ可読ストレージ媒体は、命令実行システム、装置若しくはデバイスによって又はこれらと関連して用いるためのプログラムを収容又は格納することができるいずれかの有形媒体とすることができる。
コンピュータ可読信号媒体は、コンピュータ可読プログラム・コードが、例えばベースバンド内に、又は搬送波の一部としてその中に具体化された、伝搬データ信号を含むことができる。このような伝搬信号は、これらに限定されるものではないが、電磁気、光又はこれらのいずれかの適切な組み合わせを含む、種々の異なる形態のいずれかを取ることができる。コンピュータ可読信号媒体は、コンピュータ可読ストレージ媒体ではなく、且つ、命令実行システム、装置若しくはデバイスによって又はこれらと関連して用いるためのプログラムを通信、伝搬、又は搬送することができる、いずれかのコンピュータ可読媒体とすることができる。
コンピュータ可読媒体上に具体化されたプログラム・コードは、これらに限定されるものではないが、無線、有線、光ファイバ・ケーブル、RF等、又は上記のもののいずれかの適切な組み合わせを含む、いずれかの適切な媒体を用いて伝送することができる。
本発明の態様のための動作を実行するためのコンピュータ・プログラム・コードは、Java、Smalltalk、C++等のようなオブジェクト指向型プログラミング言語、及び「C」プログラミング言語又は同様のプログラミング言語のような従来の手続き型プログラミング言語を含む、1つ又は複数のプログラミング言語のいずれかの組み合わせで記述することができる。プログラム・コードは、完全にユーザのコンピュータ上で実行されるか、一部がユーザのコンピュータ上で、独立型ソフトウェア・パッケージとして実行されるか、一部がユーザのコンピュータ上で実行され、一部が遠隔コンピュータ上で実行されるか、又は完全に遠隔コンピュータ若しくはサーバ上で実行される場合がある。後者のシナリオにおいては、遠隔コンピュータは、ローカル・エリア・ネットワーク(LAN)若しくは広域ネットワーク(WAN)を含むいずれかのタイプのネットワークを通じてユーザのコンピュータに接続されるか、又は、(例えば、インターネット・サービス・プロバイダを用いたインターネットを通じて)外部コンピュータへの接続がなされる場合がある。
本発明の態様は、本発明の実施形態による方法、装置(システム)及びコンピュータ・プログラム製品のフローチャート図及び/又はブロック図を参照して以下に説明される。フローチャート図及び/又はブロック図の各ブロック、並びにフローチャート図及び/又はブロック図におけるブロックの組み合わせは、コンピュータ・プログラム命令によって実装できることが理解されるであろう。これらのコンピュータ・プログラム命令を、汎用コンピュータ、専用コンピュータ、又は他のプログラム可能データ処理装置のプロセッサに与えてマシンを製造し、その結果、コンピュータ又は他のプログラム可能データ処理装置のプロセッサによって実行される命令が、フローチャート及び/又はブロック図の1つ又は複数のブロックにおいて指定された機能/動作を実施するための手段を生成するようになる。これらのコンピュータ・プログラム命令を、コンピュータ、他のプログラム可能データ処理装置、又は他の装置を特定の方式で機能させるように指示することができるコンピュータ可読媒体内に格納し、その結果、そのコンピュータ可読媒体内に格納された命令が、フローチャート及び/又はブロック図の1つ又は複数のブロックにおいて指定された機能/動作を実装する命令を含む製品を生成するようにすることができる。
コンピュータ・プログラム命令を、コンピュータ、他のプログラム可能データ処理装置、又は他の装置上にロードして、そのコンピュータ、他のプログラム可能データ処理装置、又は他の装置上で行われる一連の動作ステップによりコンピュータ実装プロセスを生成し、その結果、コンピュータ又は他のプログラム可能装置上で実行される命令が、フローチャート及び/又はブロック図の1つ又は複数のブロックにおいて指定された機能/動作を実装するためのプロセスをもたらすようにすることもできる。
トランスペアレントなボリューム・スイッチング
図2は、ホスト・コンピュータ26、ボリューム43(本明細書では第1のボリュームとも呼ばれる)、ボリューム71(本明細書では第2のボリュームとも呼ばれる)、及びボリューム92の間の論理パスを示す、概略的な図形表現である。2つのデバイス間の論理パスは、この2つのデバイスの結合がどのようにネットワークであるように見えるかを示す。例えば、図2に示される構成は、リング・ネットワーク・トポロジーに構成されたボリューム43、ボリューム71、及びホスト・コンピュータ26を示す。デバイス間の実際の物理的接続(例えば、I/Oパス30を介する)は、典型的には、論理パスとは異なる。
図2に示される構成において、ホスト・コンピュータ26は論理パス100を介してボリューム43に結合され、且つ、論理パス102を介してボリューム71に結合される。ボリューム43とボリューム71は、論理パス104を介して結合され、この論理パス104はボリューム43とボリューム71との間でデータを同期ミラーリングするために用いることができる。ファシリティ20はまた、通信パス106を介して、ボリューム43又はボリューム71のいずれかをボリューム92に非同期ミラーリングするように構成される。
ファイバ・チャネルなどのSANトポロジーを実装するとき、論理パス100及び102の各々は、典型的には、図1のI/Oパス30によって示されるような複数の物理的接続を含む。ファシリティ20は、物理的パスのうちの1つの故障時に代替的な物理的パスを通じてネットワーク・トラフィックを経路指定できるので、マルチパスI/Oとも呼ばれる複数の物理的パスを使用することにより、フォールト・トレランス(耐故障性、fault tolerance)がもたらされ得る。さらに、転送されるデータを複数の物理的パスにわたって分散させることができるので、マルチパスI/Oは、性能を高めることができる。
同期ミラーリングの間、一次ボリュームを含むストレージ・コントローラは、本明細書では一次ストレージ・コントローラと呼ばれ、二次ボリュームを含むストレージ・コントローラは、本明細書では二次ストレージ・コントローラと呼ばれる。例えば、ボリューム43が一次ボリュームである場合、ストレージ・コントローラ22は、一次ストレージ・コントローラとなり、且つ、ボリューム43を二次ストレージ・コントローラに、この場合はストレージ・コントローラ24に同期ミラーリングするように構成される。
本発明の実施形態では、同期ミラーリング中のその役割に応じて、ストレージ・コントローラ22及び24内の相対ポートの状態を設定する。一次ストレージ・コントローラ内の相対ポートはアクティブ状態に設定され、二次ストレージ・コントローラ内の相対ポートは非アクティブ状態に設定される。ストレージ・コントローラが同期ミラーリングの役割をスワップする場合、本発明の実施形態は、ストレージ・コントローラの相対ポートの状態も同様にスワップする。
図3は、本発明の1つの実施形態による、トランスペアレントな同期ミラーリング・ボリューム・スイッチングの方法を概略的に示すフロー図である。最初のステップ110において、スイッチング・アプリケーション52が、第1のボリュームをホスト・コンピュータ26にマッピングする(即ち、論理的に接続する)。
第1の状態の設定112において、スイッチング・アプリケーション52が、第1のボリュームの状態をアクティブ状態に設定する。第1のボリュームの状態をアクティブ状態に設定するために、スイッチング・アプリケーション52は、第1のボリュームと関連したターゲット・ポート・グループ(即ち、相対ポート45を含むターゲット・ポート・グループ)をアクティブ状態に設定し、それにより論理パス100と関連した物理的パスをアクティブ状態に設定する。
幾つかの実施形態において、スイッチング・アプリケーション52は、ストレージ・コントローラ22内の相対ポートと関連したターゲット・ポート・グループの状態を設定することにより、第1のボリュームの状態(及び、それによりホスト・コンピュータ26と第1のボリュームとの間の論理パスの状態)を設定する。例えば、グループ0がストレージ・コントローラ22内の相対ポート(ポート45を含む)を含み、グループ1がストレージ・コントローラ24内の相対ポート(ポート73を含む)を含む場合、スイッチング・アプリケーション52は、グループ0をアクティブ状態に設定し、それにより第1のボリュームを同じくアクティブ状態に設定する。
代替的な実施形態において、各グループの状態は変わらないままであるが、ターゲット・ポート・グループ内に含まれる相対ポートは必要に応じて変化する。例えば、グループ0がアクティブ状態にあり、グループ1が非アクティブ状態にある場合、スイッチング・アプリケーション52は、ストレージ・コントローラ22のポート(ポート45を含む)をグループ0に割り当て、それにより第1のボリュームをアクティブ状態に設定することができる。代替的に、スイッチング・アプリケーション52は、ストレージ・コントローラ22の相対ポート(ポート45を含む)をグループ1に割り当て、それにより第1のボリュームを非アクティブ状態に設定することができる。
第2の状態の設定114において、スイッチング・アプリケーション86が、第2のボリュームを非アクティブ状態に設定する。第2のボリュームを非アクティブ状態に設定するために、スイッチング・アプリケーション86は、第2のボリュームと関連した相対ポート・グループ(即ち、相対ポート73を含むターゲット・ポート・グループ)を非アクティブ状態に設定し、それにより論理パス102と関連した論理パスを非アクティブ状態に設定する。
コピー・ステップ116において、スイッチング・アプリケーション52は、アクティブな第1のボリュームから非アクティブな第2のボリュームにボリューム識別子をコピーする。ボリューム識別子をコピーするために、スイッチング・アプリケーション52は、ボリューム・データ54をボリューム・データ82にコピーする。次いで、ホスト・コンピュータ26が、コピーされたボリューム識別子をボリューム・データ82から取り出し、それによりホスト・コンピュータと第1のボリュームとの間の論理パスを、ホスト・コンピュータと第2のボリュームとの間の論理パスと連結する。
マッピング・ステップ117において、スイッチング・アプリケーション86が、非アクティブな第2のボリュームをホスト・コンピュータ26にマッピングする。次に、スイッチング・アプリケーション86は、ファシリティ20内のボリュームに照会する要求をホスト・コンピュータ26に伝え、第1の照会ステップ118において、ホスト・コンピュータは、ファシリティ20内のボリュームに照会し、それによりホスト・コンピュータにマッピングされたボリュームの状態を識別し、判断する。
ファシリティ20に照会するために、ホスト・コンピュータ26は、全ての論理パスをファシリティ20のストレージ・コントローラに返すSAN関数呼び出しを呼び出す。各々の返された論理パスについて、ホスト・コンピュータ26は、返される論理パス上の各デバイスについて論理ユニット番号(logical unit number、LUN)を返す、SCSI Report LUNSコマンドを実行する。次に、ホスト・コンピュータ26は、返されたLUN及びパスの各々についてSCSI Inquiryコマンドを実行し、初めにEnable Vital Product Data(EVPD)ページ80(16進数)に照会して、ボリューム識別子を取り出し、次いでEVPDページ83(16進数)に照会して、各LUNと関連したグループ識別子及び相対ポート識別子を取り出す。最後に、取り出されたグループ識別子の各々について、ホスト・コンピュータは、Report Target Port Groupsコマンドを実行して、グループ(即ち、ターゲット・ポート・グループ)の各々の状態を取り出す。
ファシリティ20に照会することにより取り出された情報に基づいて、ホスト・コンピュータ26は、マルチパス・デバイスを定め、各々のマルチパス・デバイスへのあらゆる論理パスの状態を確認することができる。ホスト・コンピュータ26とボリューム各々との間には複数の論理パスが存在し得るので、ホスト・コンピュータは、各インスタンスは異なる論理パスを経由する、同じボリューム(関連したボリューム識別子により識別される)の複数のインスタンスを検出することがある。
第1のミラーリング構成ステップ120において、ミラーリング・アプリケーション50は、第1のボリュームを一次ボリュームとして構成し、且つ、第2のボリュームを二次ボリュームとして構成する。上述のように、ミラーリングは、冗長性を確実にするためにデータを一次ボリュームから二次ボリュームに複製する。従って、ステップ120の後で、ファシリティ20は、第1のボリュームから第2のボリュームに同期ミラーリングするように構成される。さらに、ミラーリング・アプリケーション50は、状態データ58(第1のボリュームに関する)と状態データ80の(第2のボリュームに関する)同期を開始する。図1に示される構成において、ミラーリング・アプリケーション84はまた、第2のボリュームをボリューム92に非同期ミラーリングすることができる。
システム管理者(図示せず)は、ストレージ・コントローラ22及び24が、ミラーリングの役割をスワップする(即ち、第2のボリュームを一次ボリュームとして、且つ、第1のボリュームを二次ボリュームとして構成する)要求を伝えるインスタンスが存在し得る。代替的に、第1のボリュームの故障、ストレージ・コントローラ22内のいずれかのコンポーネントの故障、又は論理パス102内の故障がある場合、ファシリティ20は、ストレージ・コントローラ24を一次ストレージ・コントローラとして構成することができる。
本方法は、ストレージ・コントローラ22及び24の同期ミラーリングの役割をスワップする必要が生じるまで、比較ステップ122にとどまる。ミラーリング・アプリケーション50及び84が、それぞれのストレージ・コントローラの同期ミラーリングの役割を切り換えるための命令を受け取った場合、第3の状態の設定124において、スイッチング・アプリケーション52は、アクティブな第1のボリュームの状態を非アクティブ状態に設定する。第1のボリュームを非アクティブ状態に設定するために、スイッチング・アプリケーション52は、第1のボリュームと関連したターゲット・ポート・グループ(即ち、相対ポート45を含むターゲット・ポート・グループ)を非アクティブ状態に設定し、それにより論理パス100と関連した論理パスを非アクティブ状態に設定することができる。
第2のミラーリング構成ステップ126において、ミラーリング・アプリケーション50は、非アクティブな第1のボリュームを二次ボリュームとして、且つ、非アクティブな第2のボリュームを一次ボリュームとして構成する(即ち、第2のボリュームから第1のボリュームに同期ミラーリングするために)。従って、ステップ126の後で、ファシリティ20は、第2のボリュームから第1のボリュームに同期ミラーリングするように構成される。
第4の状態の設定128において、スイッチング・アプリケーション86は、第2のボリュームの状態をアクティブ状態に設定し、ファシリティ20のボリュームに照会する要求をホスト・コンピュータ20に伝える。第2のボリュームをアクティブ状態に設定するために、スイッチング・アプリケーション86は、第2のボリュームと関連したターゲット・ポート・グループ(即ち、相対ポート73を含むターゲット・ポート・グループ)をアクティブ状態に設定し、それにより論理パス102と関連した論理パスをアクティブ状態に設定することができる。最後に、第2の照会ステップ130において、ホスト・コンピュータ26は、ファシリティ20内のボリュームに照会して、ファシリティ20内のボリュームの状態、及びホスト・コンピュータへのそれぞれの物理的パスの状態を識別し、判断する。
図内のフローチャート及びブロック図は、本発明の種々の実施形態による、システム、方法及びコンピュータ・プログラム製品の可能な実装の、アーキテクチャ、機能及び動作を示す。この点に関して、フローチャート又はブロック図内の各ブロックは、指定された論理機能を実装するための1つ又は複数の実行可能命令を含む、モジュール、セグメント、又はコードの一部を表すことができる。幾つかの代替的な実装においては、ブロック内に記載された機能は、図面に記された順序とは異なる順序で行われることもあることにも留意すべきである。例えば、連続して図示された2つのブロックが、実際には実質的に同時に実行されることもあり、又はこれらのブロックは、関与する機能に応じて、ときには逆順で実行されることもある。ブロック図及び/又はフローチャート図内の各ブロック、並びにブロック図及び/又はフローチャート図内のブロックの組み合わせは、指定された機能又は動作を実行する専用ハードウェア・ベースのシステム、又は専用ハードウェアとコンピュータ命令との組み合わせによって実装できることにも留意されたい。
20:ストレージ・ファシリティ
22、24:ストレージ・コントローラ
26:ホスト・コンピュータ
28:ストレージ・エリア・ネットワーク(SAN)
30:入力/出力(I/O)パス
32、60:ストレージ・モジュール
34、62:プライベート・ネットワーク
36、64:プロセッサ
38、66:ストレージ・モジュール・アプリケーション
40、68:メモリ
42、70、88:ストレージ・デバイス
43、71、92:ボリューム
44、72:デバイス・アダプタ
45、73:相対ポート
46、74:プライベート・ネットワーク・アダプタ
48、76:SANアダプタ
50、84:ミラーリング・アプリケーション
52、86:スイッチング・アプリケーション
54、82:ボリューム・データ
56、78:ポート・データ
58、80:状態データ
90:広域ネットワーク(WAN)
100、102、104:論理パス
106:通信パス

Claims (21)

  1. ストレージ・エリア・ネットワークを介してホスト・コンピュータに結合された、第1のボリューム及び第2のボリュームに関するトランスペアレントな同期ミラーリング・ボリューム・スイッチングを、
    前記第1のボリュームと前記第2のボリュームとの間の状態データの同期を開始することと、
    第1のボリュームと関連したポートを含む第1のターゲット・ポート・グループの状態をアクティブ状態に設定することにより、それにより前記ホスト・コンピュータと前記第1のボリュームとの間の全ての論理パスの状態を前記アクティブ状態に設定し、
    第2のボリュームと関連したポートを含む第2のターゲット・ポート・グループの状態を非アクティブ状態に設定することにより、それにより前記ホスト・コンピュータと前記第2のボリュームとの間の全ての論理パスの状態を非アクティブ状態に設定することにより、前記第1のボリュームをアクティブ状態に設定し、前記第2のボリュームを非アクティブ状態に設定することと、
    前記第1のボリュームをアクティブ状態に、前記第2のボリュームを非アクティブ状態に設定した後の前記第2のターゲット・ポート・グループの前記設定状態の後に、前記アクティブな第1のボリュームを前記非アクティブな第2のボリュームにコピーすることであって、前記アクティブな第1のボリュームは前記アクティブな第1のボリュームを識別する識別子を含み、前記識別子は前記アクティブな第1のボリュームが前記非アクティブな第2のボリュームにコピーされることを示す、前記第1のボリュームをコピーすることと、
    前記第1のボリュームを非アクティブ状態に設定した後、前記ホスト・コンピュータによって、前記ホスト・コンピュータと前記第1のボリュームとの間のパスを、前記ホスト・コンピュータと前記第2のボリュームとの間のパスと連結するために、前記非アクティブな第2のボリュームから前記第1のボリュームを識別する識別子を取り出すことと、
    前記識別子を取り出した後、前記非アクティブな第2のボリュームを前記ホスト・コンピュータにマッピングすることと、
    によって構成することであって、前記第1のボリュームは前記ホスト・コンピュータにマッピングされている、構成することを含む方法。
  2. 前記アクティブな第1のボリュームを前記非アクティブな第2のボリュームに同期ミラーリングすることを含む、請求項1に記載の方法。
  3. 前記コピーされた識別子を取り出すことは、前記連結の後、前記第1のボリューム及び前記第2のボリュームを単一のマルチパス・デバイスとして識別する、請求項1に記載の方法。
  4. 前記第1のボリュームから前記第2のボリュームへの同期ミラーリングを構成することの後で、
    前記アクティブな第1のボリュームの状態を前記非アクティブ状態に設定することと、
    前記非アクティブな第2のボリュームの状態を前記アクティブ状態に設定することと、
    を含む、請求項1に記載の方法。
  5. 前記アクティブな第2のボリュームを前記非アクティブな第1のボリュームに同期ミラーリングすることを含む、請求項4に記載の方法。
  6. 前記アクティブな第1のボリュームの状態を前記非アクティブ状態に設定することは、前記第1のボリュームと関連したターゲット・ポート・グループの状態を前記非アクティブ状態に設定し、それにより前記ホスト・コンピュータと前記第1のボリュームとの間の全ての論理パスの状態を前記非アクティブ状態に設定することを含む、請求項に記載の方法。
  7. 前記非アクティブな第2のボリュームの状態を前記アクティブ状態に設定することは、前記第2のボリュームと関連したターゲット・ポート・グループの状態を前記アクティブ状態に設定し、それにより前記ホスト・コンピュータと前記第2のボリュームとの間の全ての論理パスの状態を前記アクティブ状態に設定することを含む、請求項に記載の方法。
  8. 前記状態データは、永続予約テーブル及びシン・プロビジョニング割り当てデータを含むリストから選択される、請求項1に記載の方法。
  9. 前記非アクティブな第1のボリュームの状態を前記アクティブ状態に設定することは、前記第1のボリュームと関連したターゲット・ポート・グループの状態を前記アクティブ状態に設定し、それにより前記ホスト・コンピュータと前記第1のボリュームとの間の全ての論理パスの状態を前記アクティブ状態に設定することを含む、請求項4又は6に記載の方法。
  10. 前記アクティブな第2のボリュームの状態を前記非アクティブ状態に設定することは、前記第2のボリュームと関連したターゲット・ポート・グループの状態を前記非アクティブ状態に設定し、それにより前記ホスト・コンピュータと前記第2のボリュームとの間の全ての論理パスの状態を前記非アクティブ状態に設定することを含む、請求項4又は6に記載の方法。
  11. トランスペアレントな同期ミラーリング・ボリューム・スイッチングを構成するための装置であって、
    第1のボリュームと、
    第2のボリュームと、
    ホスト・コンピュータ、前記第1のボリューム及び前記第2のボリュームを結合するように構成されたストレージ・エリア・ネットワーク(SAN)と、
    前記第2のボリュームに結合されたメモリと、
    前記第1のボリュームを前記ホスト・コンピュータにマッピングして、前記マッピングされた前記第1のボリュームと前記第2のボリュームとの間の状態データの同期を開始することと、
    第1のボリュームと関連したポートを含む第1のターゲット・ポート・グループの状態をアクティブ状態に設定することにより、それにより前記ホスト・コンピュータと前記第1のボリュームとの間の全ての論理パスの状態を前記アクティブ状態に設定し、
    第2のボリュームと関連したポートを含む第2のターゲット・ポート・グループの状態を非アクティブ状態に設定することにより、それにより前記ホスト・コンピュータと前記第2のボリュームとの間の全ての論理パスの状態を非アクティブ状態に設定することにより、前記第1のボリュームをアクティブ状態に設定し、前記第2のボリュームを非アクティブ状態に設定することと、
    前記第1のボリュームをアクティブ状態に、前記第2のボリュームを非アクティブ状態に設定した後の前記第2のターゲット・ポート・グループの前記設定状態の後に、前記アクティブな第1のボリュームを前記非アクティブな第2のボリュームにコピーすることであって、前記アクティブな第1のボリュームは前記アクティブな第1のボリュームを識別する識別子を含み、前記識別子は前記アクティブな第1のボリュームが前記非アクティブな第2のボリュームにコピーされることを示す、前記第1のボリュームをコピーすることと、
    前記第1のボリュームを非アクティブ状態に設定した後、前記ホスト・コンピュータによって、前記ホスト・コンピュータと前記第1のボリュームとの間のパスを、前記ホスト・コンピュータと前記第2のボリュームとの間のパスと連結するために、前記非アクティブな第2のボリュームから前記第1のボリュームを識別する識別子を取り出すことと、
    前記識別子を取り出した後、前記非アクティブな第2のボリュームを前記ホスト・コンピュータにマッピングするように構成されたプロセッサと、
    を備える装置。
  12. 前記プロセッサは、前記アクティブな第1のボリュームを前記非アクティブな第2のボリュームに同期ミラーリングするように構成される、請求項11に記載の装置。
  13. 前記コピーされた識別子を取り出すことは、前記連結の後、前記ホスト・コンピュータは、前記第1のボリューム及び前記第2のボリュームを単一のマルチパス・デバイスとして識別する、請求項11に記載の装置。
  14. トランスペアレントな同期ミラーリング・ボリューム・スイッチングを構成した後に、前記プロセッサは、前記アクティブな第1のボリュームの状態を前記非アクティブ状態に設定し、且つ、前記非アクティブな第2のボリュームの状態を前記アクティブ状態に設定するように構成される、請求項11に記載の装置。
  15. 前記プロセッサは、前記アクティブな第2のボリュームを前記非アクティブな第1のボリュームに同期ミラーリングするように構成される、請求項14に記載の装置。
  16. 前記プロセッサは、前記第1のボリュームと関連したターゲット・ポート・グループの状態を前記非アクティブ状態に設定し、それにより前記ホスト・コンピュータと前記第1のボリュームとの間の全ての論理パスの状態を前記非アクティブ状態に設定することによって、前記アクティブな第1のボリュームの状態を前記非アクティブ状態に設定するように構成される、請求項14に記載の装置。
  17. 前記プロセッサは、前記第2のボリュームと関連したターゲット・ポート・グループの状態を前記アクティブ状態に設定し、それにより前記ホスト・コンピュータと前記第2のボリュームとの間の全ての論理パスの状態を前記アクティブ状態に設定することによって、前記非アクティブな第2のボリュームの状態を前記アクティブ状態に設定するように構成される、請求項14に記載の装置。
  18. 前記状態データは、永続予約テーブル及びシン・プロビジョニング割り当てデータを含むリストから選択される、請求項11に記載の装置。
  19. 前記プロセッサは、前記第1のボリュームと関連したターゲット・ポート・グループの状態を前記アクティブ状態に設定し、それにより前記ホスト・コンピュータと前記第1のボリュームとの間の全ての論理パスの状態を前記アクティブ状態に設定することによって、前記非アクティブな第1のボリュームの状態を前記アクティブ状態に設定するように構成される、請求項11に記載の装置。
  20. 前記プロセッサは、前記第2のボリュームと関連したターゲット・ポート・グループの状態を前記非アクティブ状態に設定し、それにより前記ホスト・コンピュータと前記第2のボリュームとの間の全ての論理パスの状態を前記非アクティブ状態に設定することによって、前記アクティブな第2のボリュームの状態を前記非アクティブ状態に設定するように構成される、請求項11に記載の装置。
  21. ストレージ・エリア・ネットワークを介してホスト・コンピュータに結合された、第1のボリューム及び第2のボリュームに関するトランスペアレントな同期ミラーリング・ボリューム・スイッチングを構成するためのコンピュータ・プログラムであって、
    前記第1のボリュームと前記第2のボリュームとの間の状態データの同期を開始することと、
    第1のボリュームと関連したポートを含む第1のターゲット・ポート・グループの状態をアクティブ状態に設定することにより、それにより前記ホスト・コンピュータと前記第1のボリュームとの間の全ての論理パスの状態を前記アクティブ状態に設定し、
    第2のボリュームと関連したポートを含む第2のターゲット・ポート・グループの状態を非アクティブ状態に設定することにより、それにより前記ホスト・コンピュータと前記第2のボリュームとの間の全ての論理パスの状態を非アクティブ状態に設定することにより、前記第1のボリュームをアクティブ状態に設定し、前記第2のボリュームを非アクティブ状態に設定することと、
    前記第1のボリュームをアクティブ状態に、前記第2のボリュームを非アクティブ状態に設定した後の前記第2のターゲット・ポート・グループの前記設定状態の後に、前記アクティブな第1のボリュームを前記非アクティブな第2のボリュームにコピーすることであって、前記アクティブな第1のボリュームは前記アクティブな第1のボリュームを識別する識別子を含み、前記識別子は前記アクティブな第1のボリュームが前記非アクティブな第2のボリュームにコピーされることを示す、前記第1のボリュームをコピーすることと、
    前記第1のボリュームを非アクティブ状態に設定した後、前記ホスト・コンピュータによって、前記ホスト・コンピュータと前記第1のボリュームとの間のパスを、前記ホスト・コンピュータと前記第2のボリュームとの間のパスと連結するために、前記非アクティブな第2のボリュームから前記第1のボリュームを識別する識別子を取り出すことと、
    前記識別子を取り出した後、前記非アクティブな第2のボリュームを前記ホスト・コンピュータにマッピングすることと、
    を前記ホスト・コンピュータに実行させるコンピュータ・プログラム。
JP2014506960A 2011-04-27 2012-04-18 同期ミラーリングされるストレージ・ボリューム間のトランスペアレントなスイッチングのための方法、装置及びコンピュータ・プログラム製品 Expired - Fee Related JP5925298B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/095,646 2011-04-27
US13/095,646 US8782358B2 (en) 2011-04-27 2011-04-27 Transparent input / output switching between synchronously mirrored storage volumes
PCT/IB2012/051942 WO2012147013A1 (en) 2011-04-27 2012-04-18 Transparent input/output switching between synchronously mirrored storage volumes

Publications (2)

Publication Number Publication Date
JP2014519075A JP2014519075A (ja) 2014-08-07
JP5925298B2 true JP5925298B2 (ja) 2016-05-25

Family

ID=47068742

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014506960A Expired - Fee Related JP5925298B2 (ja) 2011-04-27 2012-04-18 同期ミラーリングされるストレージ・ボリューム間のトランスペアレントなスイッチングのための方法、装置及びコンピュータ・プログラム製品

Country Status (6)

Country Link
US (2) US8782358B2 (ja)
JP (1) JP5925298B2 (ja)
CN (1) CN103493020B (ja)
DE (1) DE112012000929T5 (ja)
GB (1) GB2513681B (ja)
WO (1) WO2012147013A1 (ja)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8683170B1 (en) 2011-09-23 2014-03-25 Netapp, Inc. Consistent distributed storage communication protocol semantics in a clustered storage system
US9203900B2 (en) 2011-09-23 2015-12-01 Netapp, Inc. Storage area network attached clustered storage system
GB2500410A (en) * 2012-03-21 2013-09-25 Renesas Mobile Corp Swapping an actual channel on a secondary link with a shadow channel on a primary link with when the secondary link is no longer available
CN103631532B (zh) * 2012-08-29 2016-06-15 国际商业机器公司 用于在数据存储系统中访问数据的方法和设备
JP5920114B2 (ja) * 2012-08-29 2016-05-18 富士通株式会社 ストレージ装置、ストレージ装置の制御方法及び制御プログラム
US9769062B2 (en) 2013-06-12 2017-09-19 International Business Machines Corporation Load balancing input/output operations between two computers
US9779003B2 (en) 2013-06-12 2017-10-03 International Business Machines Corporation Safely mapping and unmapping host SCSI volumes
US8819317B1 (en) 2013-06-12 2014-08-26 International Business Machines Corporation Processing input/output requests using proxy and owner storage systems
US9940019B2 (en) 2013-06-12 2018-04-10 International Business Machines Corporation Online migration of a logical volume between storage systems
US9274916B2 (en) 2013-06-12 2016-03-01 International Business Machines Corporation Unit attention processing in proxy and owner storage systems
US9274989B2 (en) 2013-06-12 2016-03-01 International Business Machines Corporation Impersonating SCSI ports through an intermediate proxy
DE102013106823A1 (de) 2013-06-28 2014-12-31 basycs GmbH Verfahren zum Betrieb einer Rechnerumgebung
US9405628B2 (en) 2013-09-23 2016-08-02 International Business Machines Corporation Data migration using multi-storage volume swap
US9619331B2 (en) 2014-01-18 2017-04-11 International Business Machines Corporation Storage unit replacement using point-in-time snap copy
CN106133676B (zh) * 2014-04-21 2019-05-17 株式会社日立制作所 存储系统
WO2015198390A1 (ja) * 2014-06-24 2015-12-30 株式会社日立製作所 ストレージシステム
WO2016040393A1 (en) * 2014-09-08 2016-03-17 Microsoft Technology Licensing, Llc Application transparent continuous availability using synchronous replication across data stores in a failover cluster
CN104991874B (zh) * 2015-07-22 2018-02-06 浪潮(北京)电子信息产业有限公司 一种基于scst的多控制器存储设备alua配置方法
US10079883B2 (en) 2015-12-03 2018-09-18 International Business Machines Corporation Primary device selection at operating system initialization
US10394491B2 (en) * 2016-04-14 2019-08-27 International Business Machines Corporation Efficient asynchronous mirror copy of thin-provisioned volumes
US10761767B2 (en) * 2016-07-12 2020-09-01 Hitachi, Ltd. Computer system and method for controlling storage apparatus that has replication direction from first logical device (in first storage) to second logical device (in second storage) and from said second logical device to third logical device (in said second storage), wherein said replication direction is reversed when second computer takes over for first computer
US10430121B2 (en) 2016-08-22 2019-10-01 International Business Machines Corporation Efficient asynchronous mirror copy of fully provisioned volumes to thin-provisioned volumes
CN107340973B (zh) * 2017-07-05 2021-04-13 郑州云海信息技术有限公司 一种访问异步逻辑单元的方法及系统
US10282258B1 (en) 2017-11-30 2019-05-07 International Business Machines Corporation Device reservation state preservation in data mirroring
US10521147B2 (en) 2017-11-30 2019-12-31 International Business Machines Corporation Device reservation state synchronization in data mirroring
US10613946B2 (en) 2017-11-30 2020-04-07 International Business Machines Corporation Device reservation management for overcoming communication path disruptions
CN108667892A (zh) * 2018-03-07 2018-10-16 长沙开雅电子科技有限公司 一种双活存储系统数据卷管理方法
US10691370B2 (en) 2018-08-14 2020-06-23 Hewlett Packard Enterprise Development Lp Assignment of a data identifier to first and second volumes
US11269802B2 (en) * 2019-06-24 2022-03-08 Western Digital Technologies, Inc. Lightweight proxy for handling SCSI commands in an active array-standby array configuration
CN117857578A (zh) * 2023-12-11 2024-04-09 天翼云科技有限公司 兼容多场景的镜像同步方法、装置、设备及介质

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6304980B1 (en) 1996-03-13 2001-10-16 International Business Machines Corporation Peer-to-peer backup system with failure-triggered device switching honoring reservation of primary device
US6813686B1 (en) * 2000-06-27 2004-11-02 Emc Corporation Method and apparatus for identifying logical volumes in multiple element computer storage domains
US7340572B2 (en) 2002-03-06 2008-03-04 Hewlett-Packard Development Company, L.P. Method and system for reliable remote-mirror resynchronization in disk arrays and other mass storage devices
US6996672B2 (en) * 2002-03-26 2006-02-07 Hewlett-Packard Development, L.P. System and method for active-active data replication
US7007042B2 (en) * 2002-03-28 2006-02-28 Hewlett-Packard Development Company, L.P. System and method for automatic site failover in a storage area network
US7302536B2 (en) * 2003-06-17 2007-11-27 Hitachi, Ltd. Method and apparatus for managing replication volumes
US7793060B2 (en) 2003-07-15 2010-09-07 International Business Machines Corporation System method and circuit for differential mirroring of data
US7484050B2 (en) 2003-09-08 2009-01-27 Copan Systems Inc. High-density storage systems using hierarchical interconnect
CN100471091C (zh) 2003-10-10 2009-03-18 清华大学 基于fcp协议的san的双节点镜像集群的方法及系统
US20050204104A1 (en) * 2004-03-15 2005-09-15 Tatsundo Aoshima Server and method for managing volume storing digital archive
US7707186B2 (en) 2004-06-18 2010-04-27 Emc Corporation Method and apparatus for data set migration
JP4387261B2 (ja) * 2004-07-15 2009-12-16 株式会社日立製作所 計算機システム、および、記憶装置システムの移行方法
JP4728031B2 (ja) * 2005-04-15 2011-07-20 株式会社日立製作所 リモートコピーペアの移行を行うシステム
US7318138B1 (en) 2005-08-30 2008-01-08 Symantec Operating Corporation Preventing undesired trespass in storage arrays
JP2007072571A (ja) * 2005-09-05 2007-03-22 Hitachi Ltd 計算機システム及び管理計算機ならびにアクセスパス管理方法
US7702851B2 (en) * 2005-09-20 2010-04-20 Hitachi, Ltd. Logical volume transfer method and storage network system
US7721044B1 (en) * 2005-10-20 2010-05-18 American Megatrends, Inc. Expanding the storage capacity of a virtualized data storage system
JP4908872B2 (ja) * 2006-02-21 2012-04-04 株式会社日立製作所 計算機システム、管理計算機及び記憶領域の管理方法
US7430646B2 (en) 2006-03-31 2008-09-30 Emc Corporation Planned switchover in connection with triangular asynchronous replication
JP2007310448A (ja) * 2006-05-16 2007-11-29 Hitachi Ltd 計算機システム、管理計算機、および、ストレージシステム管理方法
US7877628B2 (en) 2006-06-08 2011-01-25 International Business Machines Corporation Mirroring data between primary and secondary sites
US7805566B2 (en) 2007-03-29 2010-09-28 Hewlett-Packard Development Company, L.P. Replication in storage systems using a target port mimicking a host initiator port
JP4958673B2 (ja) * 2007-07-26 2012-06-20 株式会社日立製作所 ストレージシステム及びこれの管理方法
US7818522B2 (en) 2007-09-07 2010-10-19 International Business Machines Corporation Apparatus, system, and method for incremental resynchronization in a data storage system
JP2009093316A (ja) * 2007-10-05 2009-04-30 Hitachi Ltd ストレージシステム及び仮想化方法
JP4857248B2 (ja) * 2007-11-13 2012-01-18 株式会社日立製作所 第一の計算機システムで設定されたパスの冗長度の設定を第二の計算機システムに反映する計算機及び方法
JP5685454B2 (ja) * 2010-02-18 2015-03-18 富士通株式会社 ストレージ装置およびストレージシステム
US8762669B2 (en) * 2010-11-16 2014-06-24 Hitachi, Ltd. Computer system and storage migration method utilizing acquired apparatus specific information as virtualization information
WO2013014702A1 (en) * 2011-07-22 2013-01-31 Hitachi, Ltd. Computer system and data migration method thereof

Also Published As

Publication number Publication date
JP2014519075A (ja) 2014-08-07
GB2513681A (en) 2014-11-05
US20120278280A1 (en) 2012-11-01
DE112012000929T5 (de) 2013-12-24
GB201319707D0 (en) 2013-12-25
US8782358B2 (en) 2014-07-15
CN103493020A (zh) 2014-01-01
WO2012147013A1 (en) 2012-11-01
US8762663B2 (en) 2014-06-24
GB2513681B (en) 2015-06-24
CN103493020B (zh) 2017-03-22
US20120278568A1 (en) 2012-11-01

Similar Documents

Publication Publication Date Title
JP5925298B2 (ja) 同期ミラーリングされるストレージ・ボリューム間のトランスペアレントなスイッチングのための方法、装置及びコンピュータ・プログラム製品
US8799594B2 (en) Online volume migration using multi-path input/output masquerading
JP6074056B2 (ja) 計算機システムおよびデータ制御方法
US9098466B2 (en) Switching between mirrored volumes
TWI403891B (zh) 直接附加儲存系統之主動-主動失效切換
US9575919B2 (en) Information system capable of expanding drive and bus number allocation method of the information system
US9378103B2 (en) Coordination techniques for redundant array of independent disks storage controllers
US9354815B2 (en) Computer realizing high-speed access and data protection of storage device, computer system, and I/O request processing method
JP2006031694A (ja) 1次ミラーシャドウを有するストレージシステム
US8918571B2 (en) Exposing expanders in a data storage fabric
US20140372639A1 (en) Online migration of a logical volume between storage systems
US10789018B2 (en) Supporting non-disruptive movement of a logical volume of non-volatile data storage between storage appliances
US20140040510A1 (en) Staged discovery in a data storage fabric
US20190213090A1 (en) Storage aggregate restoration
US11803318B2 (en) Active-passive configuration for synchronous remote replication in an active-active metro cluster
US9304876B2 (en) Logical volume migration in single server high availability environments
WO2011026661A1 (en) Shared-bandwidth multiple target remote copy
US8072987B1 (en) Full array non-disruptive data migration
US9641613B2 (en) Volume hierarchy download in a storage area network

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141224

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151030

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160216

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160419

R150 Certificate of patent or registration of utility model

Ref document number: 5925298

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees