(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024122175
(43)【公開日】2024-09-09
(54)【発明の名称】ストレージシステム及び通信パス制御方法
(51)【国際特許分類】
G06F 3/06 20060101AFI20240902BHJP
G06F 13/10 20060101ALI20240902BHJP
【FI】
G06F3/06 304B
G06F13/10 340A
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2023029573
(22)【出願日】2023-02-28
(71)【出願人】
【識別番号】524132520
【氏名又は名称】日立ヴァンタラ株式会社
(74)【代理人】
【識別番号】110002365
【氏名又は名称】弁理士法人サンネクスト国際特許事務所
(72)【発明者】
【氏名】山本 貴大
(72)【発明者】
【氏名】吉田 美里
(72)【発明者】
【氏名】大平 良徳
(57)【要約】 (修正有)
【課題】ストレージシステムの正サイトと副サイトとでリモートコピーペアを作成するにあたり、ストレージシステムの運用コストを低減し、さらに、リモートコピー処理を実行する際の性能への悪影響を防止する。
【解決手段】ストレージシステム101において、正ボリューム(PVOL)から副ボリューム(SVOL)へのリモートコピーの通信パスを設定する場合に、正サイト(サイト201a)のストレージノードは、副サイト(サイト201b)のディスカバリノード(ノード210z)に、正ボリュームとペアを組む副ボリュームを有するノードのノード情報を問い合わせ、正ボリュームオーナノード(ノード210x)は、ディスカバリノードから取得されたノード情報に基づいて、副ボリュームオーナノード(ノード210y)との間に、正ボリュームから副ボリュームへのボリュームデータのリモートコピーに用いる通信パス104を設定する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
プロセッサ及びメモリを含むプロセッサパッケージをそれぞれ有する複数のストレージノードと1以上のドライブとをそれぞれ有する正サイトと副サイトとによって構成されるストレージシステムであって、
前記正サイトを構成するストレージノードには、正ボリュームを有する正ボリュームオーナノードが含まれ、
前記副サイトを構成するストレージノードには、前記正ボリュームとペアを組む副ボリュームを有する副ボリュームオーナノードと、問い合わせに応じて自サイトにおけるボリュームを有するノードのノード情報を応答するディスカバリノードとが含まれ、
前記正ボリュームから前記副ボリュームへのリモートコピーの通信パスを設定する場合に、
前記正サイトのストレージノードは、前記副サイトのディスカバリノードに、前記正ボリュームとペアを組む前記副ボリュームを有するノードのノード情報を問い合わせ、
前記ディスカバリノードは、受信した前記問い合わせに対し、前記副ボリュームを有するノードのノード情報を返信し、
前記正ボリュームオーナノードは、前記ディスカバリノードから取得された前記ノード情報に基づいて、前記副ボリュームオーナノードとの間に、前記正ボリュームから前記副ボリュームへのボリュームデータのリモートコピーに用いる通信パスを設定する
ことを特徴とするストレージシステム。
【請求項2】
前記正ボリュームオーナノード及び前記副ボリュームオーナノードは、それぞれ、処理を実行するアクティブノードと、前記アクティブノードに障害が発生したときに処理を引き継ぐスタンバイノードとを有し、
前記通信パスの設定において、前記正ボリュームオーナノード及び前記副ボリュームオーナノードのアクティブノード同士の間における前記通信パスの設定と、前記正ボリュームオーナノード及び前記副ボリュームオーナノードのアクティブノードとスタンバイノードとの間の後退パスの設定を行い、
前記正ボリュームオーナノードまたは前記副ボリュームオーナノードの何れかのアクティブノードで障害が発生した場合に、
前記障害が発生したアクティブノードから前記スタンバイノードへ処理を引き継ぎ、
前記ペアにおける通信パスを前記後退パスに切り替えて、前記ペア間の処理を継続する
ことを特徴とする請求項1に記載のストレージシステム。
【請求項3】
前記正サイト及び前記副サイトはそれぞれ、前記ディスカバリノードを有し、
前記正サイト及び前記副サイトのサイトごとに、複数のストレージノードは、処理を実行するアクティブノードと、前記アクティブノードに障害が発生したときに処理を引き継ぐスタンバイノードとを有し、
前記正ボリュームオーナノードまたは前記副ボリュームオーナノードの何れかのアクティブノードで障害が発生した場合に、
前記障害が発生したアクティブノードから前記スタンバイノードへ処理を引き継ぎ、
前記障害が発生していないサイトのアクティブノードから前記障害が発生したサイトの前記ディスカバリノードに、前記処理を引き継いだノードのノード情報を問い合わせ、
前記正ボリュームオーナノードは、前記ディスカバリノードから取得された前記ノード情報に基づいて、前記障害が発生していないサイトのアクティブノードから前記処理を引き継いだノードに前記通信パスを再設定して、前記ペア間の処理を継続する
ことを特徴とする請求項1に記載のストレージシステム。
【請求項4】
前記正サイト及び前記副サイトの一方のサイトにおいて所定のボリュームが同一サイト内のストレージノード間で移動された場合、
前記所定のボリュームと前記ペアを組む他方のサイトのボリュームのオーナノードが、前記一方のサイトにおける前記ボリュームの移動先ノードとの間に、前記通信パスを再設定する
ことを特徴とする請求項1に記載のストレージシステム。
【請求項5】
前記正サイト及び前記副サイトの一方のサイトにおいて所定のボリュームが同一サイト内のストレージノード間で移動された場合、
前記移動した所定のボリュームの移動元ノードが、現在の通信パスが適していない旨を、前記移動した所定のボリュームと前記ペアを組む他方のサイトのボリュームのオーナノードに通知し、
前記通知を受信した前記他方のサイトのボリュームのオーナノードが、前記一方のサイトのディスカバリノードに前記所定のボリュームを有する移動先ノードのノード情報を問い合わせ、前記問い合わせたディスカバリノードから取得した前記ノード情報に基づいて、前記ボリュームの移動先ノードとの間に、前記通信パスを再設定する
ことを特徴とする請求項1に記載のストレージシステム。
【請求項6】
前記正サイト及び前記副サイトはそれぞれ、自サイト内のストレージノード間で共有された構成情報を格納する共有データベースを有し、
前記正サイト及び前記副サイトの一方のサイトから、他方のサイトの何れかのストレージノードに対して、当該他方のサイトのボリュームを有するノードに関する問い合わせが行われた場合、
前記問い合わせを受けたストレージノードは、自サイトの前記共有データベースを参照することによって問い合わせ対象のノードのノード情報を取得し、前記問い合わせ元に応答する
ことを特徴とする請求項1に記載のストレージシステム。
【請求項7】
前記正サイトは、複数の正ボリュームの更新差分データが書き込みの時刻情報を含むメタデータとともに格納されるジャーナルボリュームを有し、
所定のタイミングで、前記副ボリュームオーナノードが前記正ボリュームオーナノードに対してジャーナルリード要求を送信し、
前記ジャーナルリード要求を受信した前記正ボリュームオーナノードが、前記正サイトの前記ジャーナルボリュームを参照して更新差分データ及びそのメタデータを前記副ボリュームオーナノードに転送し、
前記副ボリュームオーナノードが、前記正ボリュームオーナノードから転送された更新差分データを、前記メタデータを参照して、対応する前記副ボリュームに書き込む
ことを特徴とする請求項1に記載のストレージシステム。
【請求項8】
プロセッサ及びメモリを含むプロセッサパッケージをそれぞれ有する複数のストレージノードと1以上のドライブとをそれぞれ有する正サイトと副サイトとによって構成されるストレージシステムによる通信パス制御方法であって、
前記正サイトを構成するストレージノードには、正ボリュームを有する正ボリュームオーナノードが含まれ、
前記副サイトを構成するストレージノードには、前記正ボリュームとペアを組む副ボリュームを有する副ボリュームオーナノードと、問い合わせに応じて自サイトにおけるボリュームを有するノードのノード情報を応答するディスカバリノードとが含まれ、
前記正ボリュームから前記副ボリュームへのリモートコピーの通信パスを設定する場合に、
前記正サイトのストレージノードは、前記副サイトのディスカバリノードに、前記正ボリュームとペアを組む前記副ボリュームを有するノードのノード情報を問い合わせ、
前記ディスカバリノードは、受信した前記問い合わせに対し、前記副ボリュームを有するノードのノード情報を返信し、
前記正ボリュームオーナノードは、前記ディスカバリノードから取得された前記ノード情報に基づいて、前記副ボリュームオーナノードとの間に、前記正ボリュームから前記副ボリュームへのボリュームデータのリモートコピーに用いる通信パスを設定する
ことを特徴とする通信パス制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ストレージシステム及び通信パス制御方法に関し、正サイトと副サイトとの間でリモートコピーペアを作成するストレージシステム及び通信パス制御方法に適用して好適なものである。
【背景技術】
【0002】
従来、複数のストレージノードで構成されたストレージシステムが知られている。例えば、それぞれのストレージノード(以下、ノード)において所定のソフトウェアが実行されることで、ストレージシステムが提供される。
【0003】
また、災害が起きてもビジネスを継続するために、ストレージシステムを複数の地理的に離れたデータセンタ間で複製する技術として、リモートコピー機能がある。複数のノードで構成されリモートコピー機能が搭載されるストレージシステムにおいて、通常時に業務アプリケーションを処理するサイトを正サイト(Primary Site)と呼び、正サイト側にサイト全体の障害が起きてストレージシステムが停止したときに、正サイトから切り替えて動作させるサイトを副サイト(Secondary Site)と呼ぶ。
【0004】
例えば特許文献1には、副サイトが複数のストレージ装置で組まれた構成において、正サイトと副サイトとでリモートコピーペアを組むとき、正サイトの性能及び容量要件を満たすように副サイト側のストレージ装置を選択して、ペアを構築する技術が開示されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】米国特許出願公開第2018/0032254号明細書
【発明の概要】
【発明が解決しようとする課題】
【0006】
ストレージシステムのボリュームには、ホストまたは別サイトのストレージシステムからのI/O要求を処理するためのオーナ権がある。ボリュームのオーナ権は、サイトごと(正サイト及び副サイトのそれぞれ)に、特定の1つのノードに対して付与され、任意のボリュームへのI/O要求は、オーナ権を付与されたノードで処理される。すなわち、あるノードが、オーナ権を有さないボリュームへのI/O要求を受信した場合、当該ノードはオーナ権を有するノードにI/O要求を転送し、オーナ権を有するノードがI/O要求を処理する。
【0007】
ストレージシステムにおいて、正サイトと副サイトは、リモートコピーペアを1以上のボリューム単位で構築する。正サイトのボリュームをPVOL(Primary Volume)、副サイトのボリュームをSVOL(Secondary Volume)と呼称する。リモートコピーペアを作成するとき、正サイトと副サイトとの間でI/O要求や各種コマンドを通信し合うために通信パスが設定される。この通信パスは、正サイトのノードから副サイトのノードに対して設定される。
【0008】
ここで、上記の通信パスを設定するにあたり、処理性能の観点から、正サイトのPVOLのオーナ権を有するノードと、ペアを組む副サイトのSVOLのオーナ権を有するノードとの間に通信パスを設定することが望ましい。これは、オーナ権を有さないノード(非オーナ権のノード)との間に通信パスを設定してしまうと、リモートコピー処理を実行するにあたり、一旦、非オーナ権のノードで要求を受信し、オーナ権のあるノードに要求を転送してから処理することになり、CPUオーバヘッド、ネットワーク帯域、及び遅延時間の観点で悪影響となるためである。しかし、特許文献1に開示された従来技術は、サイト間でのリモートコピーペアを自動構築することから、上記のような通信パスの設定ができないという問題があった。
【0009】
また、リモートコピーペア作成時に、運用者が、正サイトと副サイトの情報を確認して、PVOLのオーナ権を有したノード(PVOLオーナノード)とSVOLのオーナ権を有したノード(SVOLオーナノード)との間に通信パスを設定することもできるが、その場合は運用手順が煩雑化し、導入コスト及び運用コストが増加するという問題があった。
【0010】
本発明は以上の点を考慮してなされたもので、ストレージシステムの正サイトと副サイトとでリモートコピーペアを作成するにあたり、ストレージシステムの運用コストを低減し、さらに、リモートコピー処理を実行する際の性能への悪影響を防止することが可能なストレージシステム及び通信パス制御方法を提案しようとするものである。
【課題を解決するための手段】
【0011】
かかる課題を解決するため本発明においては、プロセッサ及びメモリを含むプロセッサパッケージをそれぞれ有する複数のストレージノードと1以上のドライブとをそれぞれ有する正サイトと副サイトとによって構成されるストレージシステムであって、前記正サイトを構成するストレージノードには、正ボリュームを有する正ボリュームオーナノードが含まれ、前記副サイトを構成するストレージノードには、前記正ボリュームとペアを組む副ボリュームを有する副ボリュームオーナノードと、問い合わせに応じて自サイトにおけるボリュームを有するノードのノード情報を応答するディスカバリノードとが含まれ、前記正ボリュームから前記副ボリュームへのリモートコピーの通信パスを設定する場合に、前記正サイトのストレージノードは、前記副サイトのディスカバリノードに、前記正ボリュームとペアを組む前記副ボリュームを有するノードのノード情報を問い合わせ、前記ディスカバリノードは、受信した前記問い合わせに対し、前記副ボリュームを有するノードのノード情報を返信し、前記正ボリュームオーナノードは、前記ディスカバリノードから取得された前記ノード情報に基づいて、前記副ボリュームオーナノードとの間に、前記正ボリュームから前記副ボリュームへのボリュームデータのリモートコピーに用いる通信パスを設定することを特徴とするストレージシステムが提供される。
【0012】
また、かかる課題を解決するため本発明においては、プロセッサ及びメモリを含むプロセッサパッケージをそれぞれ有する複数のストレージノードと1以上のドライブとをそれぞれ有する正サイトと副サイトとによって構成されるストレージシステムによる通信パス制御方法であって、前記正サイトを構成するストレージノードには、正ボリュームを有する正ボリュームオーナノードが含まれ、前記副サイトを構成するストレージノードには、前記正ボリュームとペアを組む副ボリュームを有する副ボリュームオーナノードと、問い合わせに応じて自サイトにおけるボリュームを有するノードのノード情報を応答するディスカバリノードとが含まれ、前記正ボリュームから前記副ボリュームへのリモートコピーの通信パスを設定する場合に、前記正サイトのストレージノードは、前記副サイトのディスカバリノードに、前記正ボリュームとペアを組む前記副ボリュームを有するノードのノード情報を問い合わせ、前記ディスカバリノードは、受信した前記問い合わせに対し、前記副ボリュームを有するノードのノード情報を返信し、前記正ボリュームオーナノードは、前記ディスカバリノードから取得された前記ノード情報に基づいて、前記副ボリュームオーナノードとの間に、前記正ボリュームから前記副ボリュームへのボリュームデータのリモートコピーに用いる通信パスを設定することを特徴とする通信パス制御方法が提供される。
【発明の効果】
【0013】
本発明によれば、ストレージシステムの正サイトと副サイトとでリモートコピーペアを作成するにあたり、ストレージシステムの運用コストを低減することができ、さらに、リモートコピー処理を実行する際の性能への悪影響を防止することができる。
【図面の簡単な説明】
【0014】
【
図1】本発明の一実施形態に係るストレージシステム101の概要を示すイメージ図である。
【
図2】ストレージシステム101の物理構成例を示す図である。
【
図3】ストレージシステム101におけるリモートコピー構成の概要を示すイメージ図である。
【
図4】ストレージシステム101におけるI/O要求処理の概要を示すイメージ図である。
【
図5】ストレージシステム101におけるノード障害からの回復処理の概要を示すイメージ図である。
【
図6】メモリ212に保持される情報の一例を示す図である。
【
図7】システム構成管理テーブル611の一例を示す図である。
【
図8】ペア構成管理テーブル612の一例を示す図である。
【
図9】パス作成処理の処理手順例を示すシーケンス図である。
【
図10】第1のノード障害回復処理を含むライト処理の処理手順例を示すシーケンス図である。
【
図11】第2のノード障害回復処理を含むライト処理の処理手順例を示すシーケンス図である。
【
図12】リモートコピー処理の処理手順例を示すシーケンス図である。
【
図13】パス変更処理の処理手順例を示すシーケンス図である。
【発明を実施するための形態】
【0015】
以下、図面を参照して、本発明の一実施形態を詳述する。
【0016】
以下の説明では、「インターフェース装置」は、一つ以上の通信インターフェースデバイスでよい。一つ以上の通信インターフェースデバイスは、一つ以上の同種の通信インターフェースデバイス(例えば一つ以上のNIC(Network Interface Card))であってもよいし、二つ以上の異種の通信インターフェースデバイス(例えばNICとHBA(Host Bus Adapter))であってもよい。
【0017】
また、以下の説明では、「メモリ」は、一つ以上の記憶デバイスの一例である一つ以上のメモリデバイスであり、典型的には主記憶デバイスでよい。メモリにおける少なくとも一つのメモリデバイスは、揮発性メモリデバイスであってもよいし、不揮発性メモリデバイスであってもよい。
【0018】
また、以下の説明では、「永続記憶装置」は、一つ以上の記憶デバイスの一例である一つ以上の永続記憶デバイスでよい。永続記憶デバイスは、典型的には、不揮発性の記憶デバイス(例えば補助記憶デバイス)でよく、具体的には例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)、またはNVMe(Non-Volatile Memory Express)ドライブでよい。
【0019】
また、以下の説明では、「プロセッサ」は、一つ以上のプロセッサデバイスでよい。少なくとも一つのプロセッサデバイスは、典型的には、CPU(Central Processing Unit)のようなマイクロプロセッサデバイスでよいが、GPU(Graphics Processing Unit)のような他種のプロセッサデバイスでもよい。少なくとも一つのプロセッサデバイスは、シングルコアでもよいしマルチコアでもよい。少なくとも一つのプロセッサデバイスは、プロセッサコアでもよい。少なくとも一つのプロセッサデバイスは、処理の一部または全部を行うハードウェア回路(例えばFPGA(Field-Programmable Gate Array)、CPLD(Complex Programmable Logic Device)、またはASIC(Application Specific Integrated Circuit))といった広義のプロセッサデバイスでもよい。
【0020】
また、以下の説明では、「xxxテーブル」といった表現にて、入力に対して出力が得られる情報を説明することがあるが、当該情報は、どのような構造のデータでもよいし(例えば、構造化データでもよいし非構造化データでもよいし)、入力に対する出力を発生するニューラルネットワーク、遺伝的アルゴリズムやランダムフォレストに代表されるような学習モデルでもよい。従って、「xxxテーブル」を「xxx情報」と言うことができる。また、以下の説明において、各テーブルの構成は一例であり、一つのテーブルは、二つ以上のテーブルに分割されてもよいし、二つ以上のテーブルの全部または一部が一つのテーブルであってもよい。
【0021】
また、以下の説明では、「プログラム」を主語として処理を説明する場合があるが、プログラムは、プロセッサによって実行されることで、定められた処理を、適宜に記憶装置及び/またはインターフェース装置等を用いながら行うため、処理の主語が、プロセッサ(あるいは、そのプロセッサを有するコントローラのようなデバイス)とされてもよい。プログラムは、プログラムソースから計算機のような装置にインストールされてもよい。プログラムソースは、例えば、プログラム配布サーバまたは計算機が読み取り可能な(例えば非一時的な)記録媒体であってもよい。また、以下の説明において、二つ以上のプログラムが一つのプログラムとして実現されてもよいし、一つのプログラムが二つ以上のプログラムとして実現されてもよい。
【0022】
また、以下の説明では、同種の要素を区別しないで説明する場合には、枝番を含む参照符号のうちの共通部分(枝番を除く部分)を使用し、同種の要素を区別して説明する場合は、枝番を含む参照符号を使用することがある。例えば、ノードを特に区別しないで説明する場合には、「ノード210」と記載し、個々のノードを区別して説明する場合には、「ノード210a」、「ノード210b」のように記載することがある。また、同種の要素を区別して説明する場合の別の記載方法として、要素のID(例えば識別番号)を使用することがある。具体的には例えば、上記した「ノード210a」、「ノード210b」を「ノード1」、「ノード2」と記載することがある。さらに、ノードv(vは0以上の整数)が有する要素の名称にvを付加することで、いずれのノードの要素であるか(或いは、いずれのノードに対応する要素であるか)を区別することができる。
【0023】
(1)システムの構成及び概要
図1は、本発明の一実施形態に係るストレージシステム101の概要を示すイメージ図である。
図1は、ストレージシステム101において、サイト201a内のボリューム102xとサイト201b内のボリューム102yとでリモートコピーペアを設定するときの概要を示している。以下では、
図1を参照しながら、サイト201aを正サイト、そのボリューム102xをPVOL、サイト201bを副サイト、そのボリューム102yをSVOLとして、リモートコピーペア103を設定する場合を例に挙げて説明する。
【0024】
ストレージシステム101は、正サイト201aと副サイト201bとを有して構成され、各サイト内には、複数のノード210と、サイト内のノード間で共有された構成情報を格納する共有データベース105とを含んで構成された独立したストレージクラスタが構築されている。ストレージクラスタを構成するノード数は、正サイト201aと副サイト201bとで異なっていてもよい。なお、
図1では、図面の都合上、副サイト201b内の共有データベース105だけを記載し、正サイト201a内の共有データベース105の記載は省略している。ユーザ100は
図1に示した手順に沿って、このような正サイト201aと副サイト201bとの間でリモートコピーペアとして組まれたボリュームペアを構築する。
【0025】
図1に示した手順(1)について説明する。なお、手順(1)をユーザ100による処理として説明するが、ストレージシステム101に記憶されたプログラムによって実行されてもよい。
【0026】
手順(1)において、ユーザ100は、正サイト201aに対してPVOLとなるボリューム102xの作成を指示するとともに、副サイト201bに対してSVOLとなるボリューム102yの作成を指示する。ボリューム作成の指示は、サイト内のいずれのノードに出してもよく、ストレージシステム101(より具体的には、ボリューム102yの作成指示を受け取ったノード210(または転送された作成指示を受け取った別のノード210)のアクティブなSCS501)は、サイト内の各ノードの容量使用率や処理負荷の状況を考慮して、好適なノード210にボリューム102を作成する。例えば、ストレージシステム101は、容量使用率が低く、かつ処理負荷が少ないノードにボリューム102を作成する。
図1では、ストレージシステム101は、正サイト201a内のノード210xにPVOL102xを作成し、副サイト201b内のノード210yにSVOL102yを作成している。SCS501は、プロセッサが所定のプログラムを実行するストレージ制御ソフトウェア(SCS:Storage Control Software)であって、所定のプログラムに、後述する
図6に示すストレージプログラム620が含まれる。各ノード210内にはアクティブとスタンバイの1対のSCS501が存在する。SCS501の詳細は
図5を参照した説明において後述する。
【0027】
【0028】
手順(2)においてまず、ユーザ100は、正サイト201aにリモートコピーの通信パスの設定を指示する。このとき、ユーザ100は、リモートコピーペアを作成するPVOLとSVOLの識別子(PVOL ID,SVOL ID)、及び副サイト201bのディスカバリノード(
図1ではノード210z)の通信先アドレス(例えば、IPアドレスとポート番号)を指定する。ディスカバリノードは、問い合わせに応じて、自サイトでボリュームを有するノード210のノード情報を応答する機能を有するノードである。例えば、正サイト201aが副サイト201bのディスカバリノード201zに情報を問い合わせたときに、ディスカバリノード201zはSVOLのオーナ権を有するノード(SVOLオーナノード)のノード情報を返す機能を有する。ディスカバリノードは、SVOLオーナノードが役割を兼任していてもよく、また複数のノードがディスカバリノードの機能を有していてもよい。正サイト201aのノード210xがユーザ指示を受領すると、当該ノード210xは、ユーザ100から指定された副サイト201bのディスカバリノード(ノード210z)に、SVOLのオーナ権(制御権)を有するノードの情報を問い合わせる(手順(2-a))。
【0029】
なお、ストレージシステム101は、正サイト201aも、副サイト201bのディスカバリノードと同様に、問い合わせに応じて自サイト(正サイト)のPVOLのオーナ権を有するノード(PVOLオーナノード)のノード情報を返す機能を有するディスカバリノードを備えていてよい。このような構成とすることで、互いのサイトは、相手サイトの何れのノードに問い合わせても、相手サイトのディスカバリノードから、自サイトにおけるボリュームのペア先のボリュームのオーナ権を有するノードのノード情報を取得することができる。
【0030】
次に、問い合わせを受けた副サイト201b内のノード210z(より具体的にはノード210zのSCS501)は、サイト内の構成情報を格納した共有データベース105からSVOLのオーナ権を有するノード情報を取得し、正サイト201aのノード210xに返却する(手順(2-b))。
【0031】
次に、正サイト201aのPVOLのオーナ権を有するノード210xは、手順(2-b)でノード情報を取得した副サイト201bのSVOLのオーナ権を有するノード210yとの間に、通信パス104を設定する(手順(2-c))。
【0032】
最後に、正サイト201aと副サイト201bのストレージクラスタは、PVOL102xとSVOL102yとがリモートコピーペア103であることを、各サイト内の共有データベース105に登録し、PVOLとSVOLとの間のリモートコピーペア設定を完了する(手順(2-d))。
【0033】
なお、上述した手順(2)及びそれに伴う処理は、ユーザ100から副サイト201bにリモートコピーの通信パスの設定が指示され、副サイト201bから正サイト201aに対して実施されてもよい。この場合、副サイト201bのノードから正サイト201aのノードにPVOLのオーナ権を有するノード情報を問い合わせ、副サイト201bがPVOLとSVOLのオーナ権を有するノード間での通信パスを設定する。
【0034】
図2は、ストレージシステム101の物理構成例を示す図である。
図2に示すように、ストレージシステム101には、1以上のサイト201が設けられてもよい。
【0035】
各サイト201は、ネットワーク202を介して通信可能に接続される。ネットワーク202は、例えば、WAN(Wide Area Network)であるが、WANに限定されるものではない。サイト201は、データセンタ等であり、1以上のノード210を含んで構成される。
【0036】
ノード210は、一般的なサーバ計算機の構成を備えてよい。ノード210は、例えば、プロセッサ211及びメモリ212等を含む1以上のプロセッサパッケージ213、1以上のドライブ214、1以上のポート215を含んで構成される。これらの各構成要素は、内部バス216を介して接続されている。
【0037】
プロセッサ211は、例えば、CPU(Central Processing Unit)であり、各種の処理を行う。
【0038】
メモリ212は、ノード210の機能を実現する上で必要な制御用の情報を格納したり、データを格納したりする。また、メモリ212は、例えば、プロセッサ211により実行されるプログラムを格納する。メモリ212は、揮発性のDRAM(Dynamic Random Access Memory)であってもよいし、不揮発のSCM(Storage Class Memory)であってもよいし、その他の記憶デバイスであってもよい。
【0039】
ドライブ214は、各種のデータやプログラム等を記憶する。ドライブ214は、SAS(Serial Attached SCSI)またはSATA(Serial Advanced Technology Attachment)接続のHDD(Hard Disk Drive)やSSD(Solid State Drive)、NVMe(Non-Volatile Memory Express)接続のSSD、SCMの他、複数のHDDまたはSSDを搭載したドライブボックス等であってもよく、記憶デバイスの一例である。
【0040】
ポート215は、ネットワーク220に接続され、ネットワーク220を介して自ノードをサイト201内の他のノード210と通信可能に接続する。ネットワーク220は、例えば、LAN(Local Area Network)であるが、LANに限定されるものではない。
【0041】
なお、ストレージシステム101に係る物理構成は、上述した内容に限定されるものではない。例えば、ネットワーク202,220については、冗長化されていてもよい。また例えば、ネットワーク220は、管理用のネットワークとストレージ用のネットワークとに分離されてもよく、接続規格は、Ethernet(登録商標)、Infiniband、または無線でもよく、接続トポロジも
図2に示す構成に限定されない。また例えば、ドライブ214がノード210から独立した構成であってもよい。
【0042】
図3は、ストレージシステム101におけるリモートコピー構成の概要を示すイメージ図である。詳しく言うと、
図3には、ストレージシステム101において、正サイト201aと副サイト201bとの間で、複数のボリューム間でリモートコピーペアを構築したときの概要が示されている。
【0043】
図3の場合、正サイト201aと副サイト201bとの間で、2つのコンシステンシグループ301a,301bが構築されている。コンシステンシグループは、複数のリモートコピーペアのボリュームで構成されており、コンシステンシグループ内の正サイトの複数のボリュームは、整合性を維持した状態で副サイトにコピーされる。具体的には、コンシステンシグループ301内の複数のボリューム102に対して、同時刻までの更新差分データが副サイト201bにコピーされる。また、コンシステンシグループの制御(コンシステンシ制御)は、ジャーナルボリューム(JNL)により管理される。ジャーナルボリュームには、複数のPVOLの更新差分データが、その書き込み時刻等のメタデータとともに格納される。正サイト201aのストレージクラスタは、副サイト201bにPVOLのデータを転送するとき、ジャーナルボリュームに書き込まれた複数のPVOLの更新差分データのうち、同時刻までの更新差分データを副サイト201bに転送する。これにより、複数のPVOL間の更新時刻の整合性を維持した状態で、副サイト201bのSVOLにコピーすることができる。
【0044】
具体的には、
図3に示す構成において、コンシステンシグループ301aは、正サイト201aのノード210aにあるボリューム102a,102bの整合性を維持した状態で、副サイト201bのノード210dにあるボリューム102i,102j(すなわちコンシステンシグループ301cのSVOL102i,102j)にデータをコピーする。コンシステンシグループ301bは、正サイト201aのノード210bにあるボリューム102d、及びノード210cにあるボリューム102fの整合性を維持した状態で、副サイト201bのノード210eにあるボリューム102l、及びノード210fにあるボリューム102n(すなわちコンシステンシグループ301dのSVOL102l,102n)にデータをコピーする。
【0045】
上述した具体的な構成から分かるように、コンシステンシグループ301は、サイト内の特定のノード内のボリュームで構成されてもよいし、サイト内の複数のノードにあるボリュームで構成されてもよい。
【0046】
また、図示はしていないが、ストレージシステム101では、ジャーナルボリュームなしで、直接、PVOLとSVOLを対応付けてリモートコピーペアを構築してもよく、この場合には、PVOLへの更新差分データが、ジャーナルボリュームを経由せずに直接、SVOLを有したノードに転送され、SVOLに書き込まれる。このようにPVOLとSVOLを直接ペアリングした場合には、PVOLからSVOLへの更新差分データの反映時にジャーナルボリュームを介しないことから、PVOLの更新差分データをSVOLに高速に反映することができる。このため、ホストからのI/O処理と同期してリモートコピーするようなケースで有用となる。一方で、PVOLとSVOLを直接ペアリングした場合には、ジャーナルボリュームがないため、同時刻までの更新差分データをSVOLに反映するといったコンシステンシ制御はできない。
【0047】
図4は、ストレージシステム101におけるI/O要求処理の概要を示すイメージ図である。詳しく言うと、
図4には、ストレージシステム101において、正サイト201aのPVOL102aと副サイト201bのSVOL102dとの間でリモートコピーペアを構築した状態におけるI/O処理の概要が示されている。
【0048】
まず、ホスト401上で動作するアプリケーション402は、データ403a(データA)及びデータ403b(データB)をPVOL102aに書き込むように、ノード210aに書き込み要求を発行する。書き込み要求を受信したノード210aは、データA及びデータBをPVOL102aに書き込み、さらにジャーナルボリューム102b(JNL1)にデータA及びデータBを更新差分データとして書き込む。
【0049】
次にノード210aは、ジャーナルボリューム102bに書き込まれた更新差分データを、副サイト201bのジャーナルボリューム102c,102eに転送する。このとき、正サイト201aと副サイト201bとの間に複数の通信パスが確立されている場合には、いずれの通信パスを使用してデータ転送してもよい。通常は、正サイト201aのノード210aは、PVOL102aとペアを組んだSVOL102dのオーナ権を有するノード210dに更新差分データを転送する。但し、オーナ権を有する通信パスに障害が生じたときは、オーナ権を有さないノード210e等に更新差分データを転送してもよい。例えば、正サイト201aのノード210aが副サイト201bのオーナ権を有さないノード210eに更新差分データを転送したとき、副サイト201bのノード210eは、受信した更新差分データをオーナ権のあるノード210dに転送し、ノード210dはジャーナルボリューム102cに転送された更新差分データを書き込む。
【0050】
次にノード210dは、副サイト201bのジャーナルボリューム102cに書き込まれた更新差分データを、周期的にSVOL102dに書き込む。そしてSVOL102dに書き込まれたデータ403a(データA),403b(データB)は、ストレージプール404aを経由して、ドライブ214aに書き込まれる。ドライブ214aの構成がノード(サーバ)とドライブとが1対1で接続されるDAS(Direct Attached Storage)の場合、ノード210dに搭載したローカルドライブ(ドライブ214a)にデータが書き込まれる。このようにSVOL102dに書き込むデータをSVOL102dのオーナ権のあるノード210dのドライブ214aにすべて書き込んでおくことで、後にSVOL102dからデータを読み出すときに、別ノードからデータを読み出す必要がなくなる。これにより、ストレージシステム101は、ノード間転送処理を排除することができ、高速な読み出し処理を実現することができる。
【0051】
なお、ストレージプール404(例えばストレージプール404a)では、Thin-provisoningや圧縮、重複排除などのストレージ機能が提供され、書き込まれたデータに必要なストレージ機能の処理が実行される。また、ストレージシステム101は、ドライブ214aに書き込むときにノード障害からデータを保護するため、書き込むデータ(データA,B)の冗長データを、別ノード(例えば、スタンバイノードであるノード210e)のドライブ214bにも書き込む。冗長データの書き込みについて、データ保護ポリシがレプリケーションの場合、ストレージシステム101は、書き込みデータのレプリカを冗長データとしてドライブ214bに書き込む。一方、データ保護ポリシがErasure Codingの場合、ストレージシステム101は、書き込みデータからパリティを計算し、算出したパリティを冗長データとしてドライブ214bに書き込む。
【0052】
また、
図4では、ノード210b,210c,210fは、内部的な構成の記載を省略したが、これらの各ノード210も、上述したノード210a,210d,210eと同様にPVOLやSVOLを持ち、ホスト401からのI/Oを処理するとしてよい。
【0053】
また、
図4に示したI/O処理の流れは、正サイト201aから副サイト201bにデータを配信するプッシュ型のI/O処理の一例であるが、ストレージシステム101は、副サイト201bから正サイト201aにデータを読みに行くプル型のI/O処理を実行することもできる。
【0054】
図5は、ストレージシステム101におけるノード障害からの回復処理の概要を示すイメージ図である。詳しく言うと、
図5には、ストレージシステム101において、正サイト201aと副サイト201bのボリューム間でリモートコピーペアを構築した状態において、副サイト201bにノード障害が発生したときの回復処理の概要が示されている。本説明でいうノード障害は、パス設定の変更が必要になる障害である。
【0055】
図5に示すストレージシステム101において、各ノード210(210d,210e,210f)では、I/O処理、Thin-provisoning、圧縮、及び重複排除といった各種のストレージ機能を処理するためのストレージ制御ソフトウェア(SCS)501が動作している。それぞれのノード210内では、通常時に処理を実行する稼働系(アクティブ)のストレージ制御ソフトウェア501と、待機系(スタンバイ)のストレージ制御ソフトウェア501とが動作する。具体的には
図5の場合、ノード210d内では、ストレージ制御ソフトウェア(アクティブ)501aとストレージ制御ソフトウェア(スタンバイ)501fが動作し、ノード210e内では、ストレージ制御ソフトウェア(アクティブ)501bとストレージ制御ソフトウェア(スタンバイ)501cが動作し、ノード210f内では、ストレージ制御ソフトウェア(アクティブ)501eとストレージ制御ソフトウェア(スタンバイ)501dが動作する。アクティブのストレージ制御ソフトウェア501が動作するノード210をアクティブノードと呼び、スタンバイのストレージ制御ソフトウェア501が動作するノードをスタンバイノードと呼ぶ。
【0056】
ストレージ制御ソフトウェア501のアクティブとスタンバイは、1対になっている(
図5においては、添字1,2,3が同じSCS同士が対になる)。通常時は、ストレージ制御ソフトウェア(アクティブ)501a,501c,501eが、I/O要求やストレージ機能を処理し、アクティブのストレージ制御ソフトウェアが障害により停止した場合には、対になったスタンバイのストレージ制御ソフトウェアがアクティブに昇格して、処理を引き継ぐ。
【0057】
図5に示した具体例を用いて、ノード障害からの回復処理を説明する。
【0058】
ノード210dには、ストレージ制御ソフトウェア(アクティブ)501aが動作しており、対になるストレージ制御ソフトウェア(スタンバイ)501bがノード210eで動作している。また、副サイト201bに含まれるノード210dは、正サイト201aのノード210aのPVOL102aとリモートコピーペアを組むSVOL102hを有している。
【0059】
ノード210eは、ノード210dのリモートコピーペア情報を引き継ぐために、ノード210dが有するSVOL102h及びジャーナルボリューム102gの構成情報を複製してもつ。またノード210eは、ノード210dのドライブ214aに書き込まれたデータの冗長データをドライブ214dに格納している。さらにノード210eは、正サイト201aのノード210aとの間に通信パスを確立している。
【0060】
そして例えばノード210dが障害により停止したとき、障害を検出したノード210eは、ノード210dのストレージ制御ソフトウェア(アクティブ)501aの処理を引継ぎ、ストレージ制御ソフトウェア(スタンバイ)501bをアクティブに昇格して、正サイト201aのノード210aと通信して、PVOL102aとSVOL102hとの間のリモートコピー処理を継続する。すなわち、副サイト201bのノード1(ノード210d)が障害により停止した場合、ストレージシステム101は、SCS1の制御をノード1のSCS1(SCS501a)と対になっているノード2のSCS1(SCS501b)にフェイルオーバする。このようにすることで、ストレージシステム101では、副サイト201b内でノード障害がおきた場合でも、副サイト201bが正サイト201aとのリモートコピー処理を継続することができる。
【0061】
図6は、メモリ212に保持される情報の一例を示す図である。
図6に示す情報には、ドライブ214からメモリ212に読み出される情報が含まれる。具体的には、制御情報テーブル610に含まれる各種テーブル及びストレージプログラム620に含まれる各種プログラムは、各自が使用される処理の実行中はメモリ212上に展開されるが、それ以外のときには、停電などに備えてドライブ214等の不揮発な記憶領域に格納されている。
【0062】
制御情報テーブル610には、システム構成管理テーブル611及びペア構成管理テーブル612が含まれる。各テーブルの詳細は、
図7,
図8を参照しながら後述する。
【0063】
ストレージプログラム620には、パス作成処理プログラム621、ノード障害回復処理プログラム622、データ転送処理プログラム623、パス変更処理プログラム624、I/O処理プログラム625、及びオーナマイグレーション処理プログラム626が含まれる。ストレージプログラム620を構成する各プログラムはノード210の各種機能(パス作成、ノード障害回復、データ転送、パス変更、オーナマイグレーション処理)がソフトウェア(ストレージ制御ソフトウェア501)によって実現される場合に用いられるプログラムの一例であって、具体的には、プロセッサ211がドライブ214に格納されたこれらのプログラムをメモリ212に読み出して実行することによって実現される。なお、本実施形態に係るストレージシステム101において、ノード210の各種機能は、上記した各プログラムに相当する機能を有する専用の回路等のハードウェアにより実現されてもよいし、ソフトウェアとハードウェアとが組み合わされて実現されてもよい。また、ノード210の各種機能の一部は、ノード210と通信可能な他のコンピュータにより実現されてもよい。
【0064】
図7は、システム構成管理テーブル611の一例を示す図である。システム構成管理テーブル611は、サイト201内のノード210、ドライブ214、及びポート215の構成を管理するための情報を格納する。
【0065】
システム構成管理テーブル611は、ノード構成管理テーブル710、ドライブ構成管理テーブル720、及びポート構成管理テーブル730を含んで構成される。なお、ストレージシステム101は、サイト201ごとに、各サイト201に存在する複数のノード210に関してノード構成管理テーブル710を管理し、ノード210は、自ノード210内の複数のドライブ214に関してドライブ構成管理テーブル720及びポート構成管理テーブル730を管理する。
【0066】
ノード構成管理テーブル710は、サイト201ごとに設けられ、サイト201に設けられるノード210に係る構成(ノード210とドライブ214との関係等)を示す情報を格納する。より具体的には、ノード構成管理テーブル710は、ノードID711と、状態712と、ドライブIDリスト713と、ポートIDリスト714とが対応付けられた情報を格納する。
【0067】
ノードID711は、ノード210を識別可能な識別情報である。状態712は、ノード210の状態を示す状態情報(例えば、NORMAL,WARNING,FAILURE等)である。ドライブIDリスト713は、ノード210に設けられるドライブ214を識別可能な識別情報である。ポートIDリスト714は、ノード210に設けられるポート215を識別可能な識別情報である。
【0068】
ドライブ構成管理テーブル720は、ノード210ごとに設けられ、ノード210に設けられるドライブ214に係る構成を示す情報を格納する。より具体的には、ドライブ構成管理テーブル720は、ドライブID721と、状態722と、サイズ723とが対応付けられた情報を格納する。
【0069】
ドライブID721は、ドライブ214を識別可能な識別情報である。状態722は、ドライブ214の状態を示す状態情報(例えば、NORMAL,WARNING,FAILURE等)である。サイズ723は、ドライブ214の容量を示す情報(例えば、TB(テラバイト)やGB(ギガバイト))である。
【0070】
ポート構成管理テーブル730は、ノード210ごとに設けられ、ノード210に設けられるポート215に係る構成を示す情報を格納する。より具体的には、ポート構成管理テーブル730は、ポートID731と、状態732と、アドレス733とが対応付けられた情報を格納する。
【0071】
ポートID731は、ポート215を識別可能な識別情報である。状態732は、ポート215の状態を示す状態情報(例えば、NORMAL,WARNING,FAILURE等)である。アドレス733は、ポート215に割り当てられたネットワーク上のアドレス(識別情報)を示す情報である。アドレスの形態は、IP(Internet Protocol)でもよいし、WWN(World Wide Name)やMAC(Media Access Control)アドレス等でもよい。
【0072】
図8は、ペア構成管理テーブル612の一例を示す図である。ペア構成管理テーブル612は、サイト201内のボリューム102、リモートコピーペア103、及びリモートコピーペアの通信パス104の構成を管理するための情報を格納する。
【0073】
ペア構成管理テーブル612は、ボリューム管理テーブル810、ペア管理テーブル820、及びパス管理テーブル830を含んで構成される。なお、ストレージシステム101において、サイト201内のノード210は、ボリューム管理テーブル810、ペア管理テーブル820、及びパス管理テーブル830の情報を共有データベース105に格納しており、サイト201内の何れのノード210からでもこれらの情報を取得することができる。
【0074】
ボリューム管理テーブル810は、ボリューム102に係る構成を示す情報を格納する。より具体的には、ボリューム管理テーブル810は、ボリュームID811と、オーナノードID812と、後退先ノードID813と、サイズ814と、属性815とが対応付けられた情報を格納する。
【0075】
ボリュームID811は、ボリューム102を識別可能な識別情報である。オーナノードID812は、ボリューム102のオーナ権を有するノード210を示す情報である。後退先ノードID813は、SVOLのオーナ権を有するノード210の障害時に処理を引き継ぐノード210を示す情報である。サイズ814は、ボリューム102の容量を示す情報(例えば、TB(テラバイト)やGB(ギガバイト))である。属性815は、ボリューム102の属性を示す情報であり、通常VOL(ボリューム)、PVOL(Primary Volume)、SVOL(Secondary Volume)、JNLVOL(Journal Volume)等が含まれる。
【0076】
ペア管理テーブル820は、リモートコピーのペア103に係る構成を示す情報を格納する。より具体的には、ペア管理テーブル820は、ペアID821と、プライマリジャーナルボリュームID822と、プライマリボリュームID823と、セカンダリジャーナルボリューム824と、セカンダリボリュームID825と、パスID826と、状態827とが対応付けられた情報を格納する。
【0077】
ペアID821は、リモートコピーペア103を識別可能な識別情報である。プライマリジャーナルボリュームID822は、リモートコピーペア103の正サイト201a側のジャーナル情報を記録するボリューム102のIDである。プライマリボリュームID823は、リモートコピーペア103の正サイト201a側にあるコピー元となるボリューム102のIDである。セカンダリジャーナルボリューム824は、リモートコピーペアの副サイト201b側のジャーナル情報を記録するボリューム102のIDである。セカンダリボリュームID825は、リモートコピーペアの副サイト201b側にあるコピー先となるボリューム102のIDである。パスID826は、リモートコピー処理を実行するための通信パス104を識別可能な識別情報であって、パス管理テーブル830に対応する通信パス104の詳細な情報が格納される。状態827は、リモートコピーペア103の状態を示す状態情報(例えば、NORMAL,COPYING,SUSPEND等)である。
【0078】
パス管理テーブル830は、リモートコピーペア103の通信パス104に係る構成を示す情報を格納する。より具体的には、パス管理テーブル830は、パスID831と、プロトコル情報832と、Destination Address833と、アクセスポリシ834と、優先パス835とが対応付けられた情報を格納する。
【0079】
パスID831は、通信パス104を識別可能な識別情報である。プロトコル情報832は、通信パス104の通信プロトコルを示す情報である。通信パス104の通信プロトコルは、iSCSI(Internet Small Computer System Interface)でもよいし、FC(Fibre Channel)、NVMe-oF(NVMe over Fabrics)の他、ベンダ固有の独自プロトコルでもよい。Destination Address833は、通信パス104の通信先のアドレスを示した情報である。アクセスポリシ834は、Destination Address833に複数の通信先が記録されている場合に、複数の通信先に対する要求の発行方法を示した情報である。例えば、「対称」の発行方法では、複数のパスに対して、ラウンドロビンで要求を発行し、「非対称」の発行方法では、優先パスを設定し、優先パスに対してのみ要求を発行する。優先パス835は、アクセスポリシ834が「非対称」である場合に、要求を優先的に発行する通信先を示す情報である。
【0080】
(2)処理
上述した構成を備えるストレージシステム101において実行される代表的な処理について、
図9~
図13に示すシーケンス図を参照しながら説明する。なお、各シーケンス図の説明においてストレージ制御ソフトウェア(SCS)501を主体として記載する処理は、当該SCS501が呼び出したストレージプログラム620の何れか(対象の処理の実行時またはそれ以前に呼び出したプログラムであって、各説明において明示される)によって実行される処理と考えてよい。
【0081】
(2-1)パス作成処理
図9は、パス作成処理の処理手順例を示すシーケンス図である。パス作成処理は、
図1の手順(2)に相当する処理である。
図1の手順(1)に示したようにユーザ100がリモートコピーペアとなるPVOLとSVOLとを作成した後に、正サイトと副サイトとの間に通信パスを設定するユーザ100からの指示(パス作成指示)をストレージシステム101が受領すると、当該指示に関連する各ノード210のストレージ制御ソフトウェア501(501A~501C)においてパス作成処理プログラム621が呼び出され、
図9に示す処理が実行される。
【0082】
図9に示すパス作成処理(パス作成処理プログラム621)は、正サイトのPVOLオーナノードのストレージ制御ソフトウェア(SCS)501Aによる処理と、副サイトのディスカバリノードのストレージ制御ソフトウェア(SCS)501Cによる処理と、副サイトのSVOLオーナノードのストレージ制御ソフトウェア501B(SCS)による処理とで構成される。
【0083】
図9によればまず、ユーザ100が、副サイトのディスカバリノードの接続先となるポートのアドレスと、ペアを組むPVOL及びSVOLのIDと、副サイトのクラスタIDとを含めてパス作成を指示する(ステップS901)。
【0084】
次に、正サイトのPVOLのオーナ権を有するノード(PVOLオーナノード)がユーザからのパス作成指示を受信すると、当該ノードのSCS501Aがパス作成処理プログラム621を呼び出す(ステップS902)。
【0085】
そしてSCS501Aは、ユーザから指示された副サイトのディスカバリノードへ、SVOLのオーナ権を有するノード情報を問い合わせる(ステップS903)。
【0086】
ステップS902のノード情報の問い合わせを副サイトのディスカバリノードが受け取ると、当該ノードのSCS501Cがパス作成処理プログラム621を呼び出し、ノード間の共有データベースを参照して、SVOLのオーナ権を有するノードの情報を取得する(ステップS904)。
【0087】
さらにSCS501Cは、ステップS904で取得したノード情報を問い合わせ元の正サイトのノードに応答する(ステップS905)。応答内容となるノード情報は、複数のノード分の情報が含まれていてもよく、例えばSVOLのオーナ権を有するノードの情報と、当該ノードに障害がおきたときに処理を引き継ぐスタンバイのノードの情報とを含む。またノード情報には、ノードID、接続先のWWN、IPアドレス、ポート番号、セキュリティキーなど、接続と通信に必要な情報が含まれる。
【0088】
そして、正サイトのPVOLのオーナ権を有するノードが、副サイトのディスカバリノードからの応答を受信する(ステップS906)。
【0089】
次に、ステップS907では、正サイトのノードと副サイトのノードとの間での通信パスの接続確立(ログイン処理)が行われる。ステップS907のログイン処理は、詳しくはステップS908~S913の処理で構成される。
【0090】
ステップS908では、SCS501Aが、ステップS906で取得したノード情報に該当するノード(すなわち、副サイトのSVOLのオーナノード)にログイン要求を発行する。
【0091】
ステップS909では、ステップS908で発行されたログイン要求を副サイトのSVOLオーナノードが受信し、当該ノードのSCS501Bがパス作成処理プログラム621を呼び出す。
【0092】
ステップS910では、SCS501Bが、ステップS909で受信したログイン要求を確認して、パラメタに問題がなければ、ログイン完了の通知をPVOLオーナノードに送信する。
【0093】
ステップS911では、正サイトのPVOLオーナノードのSCS501Aが、副サイトのSVOLオーナノードからログイン完了通知を受信する。ログイン応答には、副サイトのSVOLオーナノードのノード情報を含む。具体的には、接続先ポートのWWNやIPアドレス、ポート番号、副サイトのクラスタIDなどを含む。
【0094】
ステップS912では、SCS501Aが、ステップS902で受信したユーザ100からの入力情報と、ステップS911で受信したログイン応答の情報とを照合し、情報が一致することを検証する。
【0095】
ステップS913では、SCS501Aは、ステップS912で照合した結果、ログイン応答の情報とユーザ100からの入力情報が一致する場合に、正しい接続先にログインできたとして、確立した通信パスをリモートコピーのための通信パスとして有効化する。一方、ステップS912の照合の結果、ログイン応答の情報とユーザ100からの入力情報とが一致しない場合には、SCS501Aは、誤った接続先であるとして、ログアウトし、パス作成操作をエラーとしてユーザ100に応答する。
【0096】
以上のように、ストレージシステム101において冗長パスを作成する場合には、PVOLと対をなすSVOLの冗長化先のノードに対しても、ログイン処理が実行される。
【0097】
ステップS907(ステップS908~S913)のログイン処理が正常に完了した後のステップS914では、SCS501Aは、パス作成の操作完了をユーザ100に通知する。
【0098】
そしてステップS915では、ユーザ100は、ステップS914で正サイトのPVOLオーナノードから送信されたパス作成の操作完了を受領し、以上をもってパス作成処理が終了する。
【0099】
(2-2)ノード障害回復処理
図5を参照して説明したノード障害からの回復処理の処理(ノード障害回復処理)について、第1及び第2の2つの処理手順を例示して詳しく説明する。ノード障害回復処理では、当該処理に関与する各ノード210のストレージ制御ソフトウェア501(501A,501D,501E)がそれぞれのノード障害回復処理プログラム622を呼び出して実行する。
【0100】
図10は、第1のノード障害回復処理を含むライト処理の処理手順例を示すシーケンス図である。
図10に含まれる第1のノード障害回復処理は、副サイトのSVOLオーナノード(アクティブ)に障害が起きたときに、正サイトのPVOLオーナノード(アクティブ)と副サイトのSVOLオーナノード(アクティブ)との間に事前に設定された通信パス(後退パス)を用いて、コマンドの発行先を後退先ノード(SVOLオーナノード(スタンバイ))に切り替えることを特徴とする。
【0101】
図10の上部に示したステップS1001~S1005の処理は、ノード障害発生前(ノード障害が発生していないとき)に実行されるライト処理である。ホストから正サイトのPVOLにデータが書き込まれるとき、PVOLオーナノードのSCS501Aは、I/O処理プログラム625を呼び出してPVOLにライトデータを書き込んだ後、データ転送処理プログラム623を呼び出してステップS1001~S1005の処理を実行する。
【0102】
図10の下部に示したステップS1001~S1002,S1006~S1014の処理は、副サイトのSVOLオーナノードに障害が発生した場合に実行されるライト処理であって、ノード障害の回復のために第1のノード回復処理が実行される。より具体的には、ステップS1006~S1009の処理はノード障害回復処理プログラム622によって実行され、ステップS1010~S1014の処理はデータ転送処理プログラム623によって実行される。
【0103】
なお、
図10及び後述する
図11に示すデータ転送処理プログラム623の処理は、PVOLとSVOLとを直接ペアリングし、ホストのI/O処理と同期的に更新差分データを反映するデータ転送処理である。このようなデータ転送方法とは別に、本実施形態のデータ転送処理プログラム623は、ジャーナルボリュームを介した非同期的なデータ転送処理を実行するようにしてもよく、その詳細は
図12を参照しながら後述する。そして
図10及び
図11に示すノード障害回復処理は、上記の何れのデータ転送処理とも組合せ可能である。
【0104】
ノード障害回復処理プログラム622による第1のノード障害回復処理では、SVOLの処理を引き継ぐスタンバイノードにSVOLの処理を引継ぎ、正サイトは予め後退パスとして設定していたスタンバイノードへコマンドの発行先を切り替える。これにより、副サイト内のノードに障害が起きてもリモートコピー処理を継続することができる。
【0105】
図10の上部に示したノード障害発生前の処理(ステップS1001~S1005)について、詳しく説明する。
【0106】
まず、正サイトのPVOLオーナノードがホストからのライト要求を受信すると、PVOLオーナノードのSCS501AがPVOLへライトデータを書き込み、その後、ステップS1001において、SCS501AがPVOLへの更新差分データを副サイトのSVOLオーナノード(アクティブ)に転送する。
【0107】
ステップS1002では、ステップS1001で正サイトのPVOLオーナノードから送信された更新差分データを副サイトのSVOLオーナノード(アクティブ)が受信すると、当該SVOLオーナノード(アクティブ)のSCS501Dが、データ転送処理プログラム623を呼び出す。
【0108】
ステップS1003では、SCS501Dが、ステップS1002で受信した更新差分データをSVOLに書き込み、ステップS1004では、SCS501Dが、更新差分データをSVOLに反映したことを正サイトのPVOLオーナノードに応答する。
【0109】
そしてステップS1005では、正サイトのPVOLオーナノードがステップS1004の応答(完了通知)を受信すると、当該PVOLオーナノードのSCS501Aは、データ転送が正常に終了したとして、データ転送処理を終了する。
【0110】
次に、
図10の下部に示したノード障害発生時の処理(ステップS1001~S1002,S1006~S1014)について、詳しく説明する。ここでは、PVOLからSVOLへの書き込み処理中にアクティブなSVOLオーナノードに障害が発生した場合の処理手順が示されている。
【0111】
具体的には、ステップS1001では、正サイトのPVOLオーナノードがホストからのライト要求を受信すると、PVOLオーナノードのSCS501Aが、PVOLへライトデータを書き込み、その後、PVOLへの更新差分データを副サイトのSVOLオーナノード(アクティブ)に転送する。そしてステップS1002では、正サイトのPVOLオーナノードから送信された更新差分データを副サイトのSVOLオーナノード(アクティブ)が受信する。この後、SVOLオーナノード(アクティブ)において、通信ができなくなるような障害が発生したとする。
【0112】
この場合、ステップS1006において、障害が発生した副サイトのSVOLオーナノード(アクティブ)に紐付けられたSVOLオーナノード(スタンバイ)のSCS501Eが、SVOLオーナノード(アクティブ)の障害を検出する。障害の検出方法としては、例えば、SVOLオーナノード(スタンバイ)がSVOLオーナノード(アクティブ)に対して、ハートビート通信を定常的に行い、ハートビートが届かなくなったときに障害を検出する。
【0113】
ステップS1007では、SCS501Eは、SVOLオーナノード(アクティブ)の処理を引継ぐフェイルオーバ処理を実行する。フェイルオーバ処理では、冗長化されていた引継ぎ元の処理状態をスタンバイノード上のプロセスのメモリにロードし、スタンバイノード上の各プロセスの処理権限をアクティブ同等に設定して、処理を再開する。各プロセスの処理権限の設定とは、具体的には、各SVOLのオーナ権やストレージ機能の処理や冗長化処理をスタンバイノードで処理するように設定することである。
【0114】
ステップS1008では、正サイトのPVOLオーナノードのSCS501Aが、ステップS1001で副サイトのSVOLへ送信した更新差分データに対する反映完了通知を受け取ることができず、タイムアウトを検出する。
【0115】
この場合、ステップS1009において、SCS501Aは、更新差分データの転送先を、SVOLオーナノード(スタンバイ)との間に設定された後退パスに切り替える。第1のノード障害回復処理においては、後退パスはパス作成処理プログラム621の実行前に予め設定される。すなわち、正サイトのPVOLオーナノードは、ノード障害が発生する前から、副サイトのSVOLオーナノード(アクティブ)との間にメインパスが設定され、副サイトのSVOLオーナノード(スタンバイ)との間に後退パスが設定されており、ステップS1009では、メインパスから後退パスへの切り替えが行われる。
【0116】
その後、正サイトのPVOLオーナノードがホストからのライト要求を受信すると、ステップS1010において、SCS501AはPVOLへライトデータを書き込んだ後、ステップS1009で切り替えた後退パスを用いて、PVOLへの更新差分データを副サイトのSVOLオーナノード(スタンバイ)に転送する。すなわち、ステップS1010では、ライトデータ(厳密には更新差分データ)のPVOLへの転送のリトライが行われる。
【0117】
ステップS1011では、副サイトのSVOLオーナノード(スタンバイ)は、正サイトのPVOLオーナノードから送信された更新差分データを受信する。
【0118】
ステップS1012では、SVOLオーナノード(スタンバイ)のSCS501Eは、ステップS1011で受信した更新差分データをSVOLに書き込む。
【0119】
ステップS1013では、SCS501Eは、更新差分データをSVOLに反映したことを正サイトのPVOLオーナノードに応答する。
【0120】
そしてステップS1014では、正サイトのPVOLオーナノードがステップS1004の応答(完了通知)を受信し、当該PVOLオーナノードのSCS501Aは、データ転送が正常に終了したとして、データ転送処理を終了する。
【0121】
以上のようにノード障害回復処理を経てデータ転送処理が実行されることにより、副サイトのSVOLオーナノード(アクティブ)にノード障害が発生した場合でも、PVOLに書き込まれたライトデータの更新差分データを、スタンバイからアクティブに昇格されたSVOLオーナノード(スタンバイ)のSVOLに書き込むことができる。
【0122】
図11は、第2のノード障害回復処理を含むライト処理の処理手順例を示すシーケンス図である。
図11に含まれる第2のノード障害回復処理は、副サイトのSVOLオーナノード(アクティブ)に障害が起きたときに、障害が起きたSVOLオーナノード(アクティブ)の処理を引き継いだSVOLオーナノード(スタンバイ)のノード情報を取得し、取得したノード情報が示すノード(すなわち、後退先ノード)に動的に通信パスを再設定してコマンドの発行先を切り替えることを特徴とする。これにより、副サイト内のノードに障害が起きてもリモートコピー処理を継続することができる。
図11に示した処理には、
図10で説明した第1のノード障害回復処理と同様の処理があるが、これについては詳細な説明を省略し、差分のみを説明する。
【0123】
図11において、ステップS1101より前の処理(ステップS1001,S1002,S1008)は、
図10の下部に示したステップS1010より前の処理と同様である。ここの処理を簡単に言うと、正サイトのPVOLオーナノードがホストからのライト要求を受信し、そのSCS501Aがデータ転送処理プログラム623を呼び出して、PVOLへの更新差分データを副サイトのSVOLオーナノード(アクティブ)に転送する(ステップS1001)。そして転送先の副サイトのSVOLオーナノード(アクティブ)において、SCS501Dが、データ転送処理プログラム623を呼び出す(ステップS1002)。その後、SVOLオーナノード(アクティブ)において、通信ができなくなるような障害が発生したとすると、正サイトのPVOLオーナノードのSCS501Aが、タイムアウトを検出する(ステップS1008)。
【0124】
図11において、ステップS1101~S1104(あるいはステップS907まで)の処理が、第2のノード障害回復処理に相当し、ノード障害回復処理プログラム622によって実行される。ステップS907の処理は、
図9で説明したようにパス作成処理プログラム621によって実行される。
【0125】
ステップS1101では、正サイトのPVOLオーナノードのSCS501Aが、SVOLオーナノード(スタンバイ)のノード情報を副サイトのディスカバリノードに問い合わせる。
【0126】
ステップS1102では、ステップS1101の問い合わせを受けた副サイトのディスカバリノードのSCS501Cが、副サイト内のノード間の共有データベースからSVOLオーナノード(スタンバイ)に関するノード情報を取得する。
【0127】
ステップS1103では、SCS501Cは、ステップS1102で取得したSVOLオーナノード(スタンバイ)のノード情報を正サイトのPVOLオーナノードに応答する。
【0128】
ステップS1104では、正サイトのPVOLオーナノードは、副サイトから応答として、SVOLオーナノード(スタンバイ)のノード情報を受信する。
【0129】
その後、ステップS907では、正サイトのPVOLオーナノードのSCS501Aは、パス作成処理プログラム621を呼び出して、SVOLオーナノード(スタンバイ)のノードとの間に通信パスを確立する。ステップS907の詳細な処理は、
図9で説明した通りである。
【0130】
ステップS907の処理が完了することにより、正サイトのPVOLオーナノードから後退先ノードであるSVOLオーナノード(スタンバイ)に通信パスが設定される。したがってその後は、
図10の場合と同様にステップS1010~S1014の処理が行われることで、第2のノード障害回復処理が実行された場合も、PVOLへの更新差分データをSVOLに反映することができる。
【0131】
なお、上述した第1及び第2のノード障害回復処理は、副サイト内のノードに障害が発生した場合のノード障害回復処理を説明したものであるが、正サイトと副サイトとを入れ替えて考えれば、正サイト内のノードに障害が発生した場合も同様に、ストレージシステム101は、ノード障害回復処理を実行することができる。正サイトと副サイトとを入れ替えることは、前述したパス作成処理や後述するパス変更処理でも同様に考えられる。
【0132】
(2-3)リモートコピー処理
図12は、リモートコピー処理の処理手順例を示すシーケンス図である。
図12には、ジャーナルボリューム(JNLVOL)を介した非同期的なデータ転送処理として、リモートコピー処理が示されている。
図12に示すリモートコピー処理は、I/O処理プログラム625及びデータ転送処理プログラム623の処理で構成される。
【0133】
ジャーナルボリュームを介したリモートコピー処理では、正サイトのPVOLへの更新差分データをジャーナルボリュームに記録しておき、副サイトのSVOLのジャーナルボリュームを有するノードが、正サイトのPVOLのジャーナボリュームを有するノードに更新差分データを問い合わせて、取得した更新差分データをSVOLのジャーナルボリュームに書き込み、さらにSVOLのジャーナルボリュームからSVOL本体に更新差分データを反映する。ジャーナルボリュームを経由することで、複数のPVOLとSVOLとがリモートコピーペアとして登録されており、それらが同一のコンシステンシグループに属するとき、ジャーナルボリュームに書き込まれた更新差分データを同時刻までSVOLに反映することで、複数のSVOL間での整合性を維持することができる。
【0134】
図12を参照しながらリモートコピー処理を詳しく説明する。
【0135】
まず、正サイトのPVOLオーナノードがホストからのライト要求を受信すると、PVOLオーナノードのSCS501Aが、I/O処理プログラム625を呼び出してステップS1201~S1202の処理を実行する。ステップS1201~S1202は、I/O処理プログラム625の一部である書込み処理を示しており、ホストからの書き込み要求があるとライトデータをPVOLに書き込み、更新差分データをJNLVOLへ書き込む。
【0136】
ステップS1201では、SCS501Aが、ホストからのライトデータをPVOLに書き込む。ステップS1202では、SCS501Aが、PVOLへのライトデータをメタデータとともにPVOLのJNLVOLへ書込む。メタデータには、書き込み時刻、書き込み先PVOL ID、書き込み先LBA(Logical Block Address)、及び書き込みデータの転送長等が含まれる。
【0137】
正サイトのPVOLにデータが書き込まれた後は、SCS501Aが、データ転送処理プログラム623を呼び出し、ステップS1203~S1208が実行される。ステップS1203~S1208は、I/O処理の完了後に毎回起動して実行してもよいし、周期的に実行してもよい。
【0138】
ステップS1203では、副サイトのSVOLオーナノードのSCS501Bが、正サイトの対応するPVOLオーナノードにジャーナルリード要求を送信する。
【0139】
ステップS1204では、正サイトのPVOLオーナノードのSCS501Aが、副サイトのSVOLオーナノードからのジャーナルリード要求を受信する。次のステップS1205では、SCS501Aが、ジャーナルボリュームからSVOLに未反映の更新差分データを読み出して、メタデータと共に副サイトのSVOLオーナノードに転送する。
【0140】
ステップS1206では、SCS501Bが、正サイトのPVOLオーナノードから更新差分データとメタデータを受信する。次のステップS1207では、SCS501Bは、SVOLのジャーナルボリュームにステップS1206で受信した更新差分データとメタデータを書き込む。
【0141】
そしてステップS1208では、SCS501Bが、SVOLのジャーナルボリュームから更新差分データとメタデータとを読み出し、更新差分データをSVOLに書き込む。複数のボリュームがリモートコピーペアを組む場合、つまり正副サイトのそれぞれで複数のボリュームが1つのジャーナルボリュームを共有して、リモートコピー処理を実行する場合、SCS501Bは、ステップS1208で副サイトのジャーナルボリュームから読み出したメタデータを参照して、同時刻までの更新差分データまでを複数のSVOLに書き込む。これにより、複数のボリューム間でコンシステンシを維持したリモートコピー処理を実現することができる。
【0142】
(2-4)パス変更処理
図13は、パス変更処理の処理手順例を示すシーケンス図である。ノードの容量不足等を理由に、同一サイト内の別ノードにSVOLまたはジャーナルボリュームを移動するとき(オーナ権の移動でもよい)、パス変更処理プログラム624が呼び出されて、
図13に示すパス変更処理が実行される。
【0143】
パス変更処理では、SVOLのオーナ権を、あるノード(移動元SVOLノード)から別のノード(移動先SVOLノード)に移動したとき、移動元SVOLノードのストレージ制御ソフトウェア(SCS)501Fが、正サイトにオーナ権が移動されたことを通知し、正サイトのPVOLのオーナ権を有するノード(PVOLオーナノード)のストレージ制御ソフトウェア(SCS)501Aが、副サイトに移動先SVOLノードのノード情報を問い合わせ、取得したノード情報が示すノード(すなわち移動先SVOLノード)に通信パスを再設定する。
【0144】
ステップS1301~S1307の処理は、副サイトにあるSVOLのオーナ権を移動する処理であって、オーナマイグレーション処理プログラム626によって実行される。
【0145】
ステップS1301では、副サイトのSVOLオーナノードのSCS501Fが、SVOLのオーナ権移動(Owner Migration)を開始する。オーナ権移動は、ノードの性能もしくは容量が不足したことを検知した際に、処理が開始される。
【0146】
ステップS1302では、副サイト内でオーナ権の移動元となるSVOLノード(移動元SVOLノード)のSCS501Fが、オーナ権の移動先となるSVOLノード(移動先SVOLノード)へSVOLのデータを転送する。データの移動中にホストから書き込み要求を受領した場合は、移動元SVOLノードと移動先SVOLノードの両方にライトデータを書き込む。
【0147】
ステップS1303では、副サイトの移動先SVOLノードのSCS501Gが、移動元SVOLノードから移動元SVOLノードのSVOLのデータを受信し、自ノードのSVOLに書き込む。
【0148】
ステップS1304では、副サイトの移動元SVOLノードのSCS501Fは、SVOLの全データを転送完了したとき、全データの転送完了通知を移動先SVOLノードに送信する。
【0149】
ステップS1305では、副サイトの移動先SVOLノードは、ステップS1304で送信された転送完了通知を受信する。
【0150】
ステップS1306では、副サイトの移動元SVOLノードのSCS501Fが、自ノードのSVOLの制御情報を非オーナ属性に更新する。
【0151】
ステップS1307では、副サイトの移動先SVOLノードのSCS501Gが、自ノードのSVOLの制御情報をオーナ属性に更新する。
【0152】
以上の処理が行われることにより、移動先SVOLノードがSVOLのオーナ権を持つことになり、以降のホストからのI/O要求を処理する。なお、非オーナ属性である移動元SVOLノードがホストからI/O要求を受信した場合には、移動元SVOLノードから移動先SVOLノードへI/O要求を転送し、移動先SVOLノードにおいてI/O要求を処理する。
【0153】
また、副サイトのクラスタがノード間で共有されたドライブボックスを用いて構成されている場合、ステップS1302~S1305のデータ転送処理はスキップしてもよい。これは、各ノードは、いずれのノードがオーナ権をもつデータにも物理的にアクセス可能なため、ステップS1306~S1307のオーナ権に関する制御情報の更新だけでオーナ権移動を実現することができるためである。
【0154】
ステップS1308~S1313の処理は、正サイトのPVOLオーナノードと副サイトのSVOLノードとの間で通信パスを変更する処理であって、パス変更処理プログラム624によって実行される。
【0155】
ステップS1308では、副サイトの移動元SVOLノードのSCS501Fが、正サイトのPVOLオーナノードに、現在の通信パスが最適でないことを通知する。ここで、最適でないとは、新たなSVOLオーナノード(移動先SVOLノード)に通信パスが設定されていないことを意味する。また、この通知は、ホストからのI/O要求の応答に含めてもよいし、ホストI/O要求とは非同期に送信してもよい。また、この通知は、移動元SVOLノードへの通信パスを切断することによって代えてもよい。
【0156】
ステップS1309では、正サイトのPVOLオーナノードは、現在の通信パスが最適でないことの通知を移動元SVOLノードから受信する。
【0157】
ステップS1310では、正サイトのPVOLオーナノードのSCS501Aが、SVOLのオーナ権を有するノードの情報を副サイトのディスカバリノードに問い合わせる。
【0158】
ステップS1311では、副サイトのディスカバリノードのSCS501Cが、副サイトのノード間の共有データベースから、SVOLのオーナ権を有するノード(すなわち移動先SVOLノード)に関するノード情報を取得する。
【0159】
そしてステップS1312では、SCS501Cが、ステップS1311で取得したノード情報を正サイトのPVOLオーナノードに応答する。
【0160】
ステップS1313では、正サイトのPVOLオーナノードは、副サイトのディスカバリノードからSVOLオーナノードに関するノード情報を受信する。
【0161】
そして、正サイトのPVOLオーナノードのSCS501Aが、受信したノード情報に基づいてステップS907のログイン処理を実行することにより、上記ノード情報が示す移動先ノードSVOLノードにログインして通信パスを確立する。
【0162】
上記のステップS907の処理が完了することにより、以降は、正サイトのPVOLオーナノードは、移動先SVOLノードに対して、リモートコピーのデータ転送の通信を行うことができる。すなわち、ストレージシステム101は、副サイトのSVOLオーナノードを変更した際に、副サイトのディスカバリノードを利用して、PVOLオーナノードとSVOLオーナノードとの間の通信パスの設定を変更することができる。
【0163】
以上に説明した各処理を実行することにより、本実施形態に係るストレージシステム101は、リモートコピーペアを作成するときに、正サイトと副サイトとの間でPVOLオーナノードまたはSVOLオーナノードに関する情報を問い合わせて、PVOLオーナノードとSVOLオーナノード間で通信パスを自動で設定することができる。また、ストレージシステム101において各サイトは、PVOLまたはSVOLに関するオーナ権の情報をノード間の共有データベース105に記録することで、正サイトまたは副サイトは、相手サイトのいずれのノードに問い合わせても、ペアとなるボリュームのオーナ権を有したノードに関する情報を取得することができる。
【0164】
かくして、本実施形態に係るストレージシステム101によれば、正サイトと副サイトでリモートコピーペアを作成するにあたり、ペアとなるボリュームのオーナ権を有したノード間で通信パスを自動で設定できるようになるため、ストレージシステムの運用コストを低減することができ、さらに、リモートコピー処理を実行する際の性能への悪影響を防止することができる。
【符号の説明】
【0165】
100 ユーザ
101 ストレージシステム
102 ボリューム(PVOL,SVOL,JNLVOL)
103 リモートコピーペア
104 通信パス
105 共有データベース
201 サイト(正サイト,副サイト)
202,220 ネットワーク
210 ノード
211 プロセッサ
212 メモリ
213 プロセッサパッケージ
214 ドライブ
215 ポート
216 内部バス
401 ホスト
402 アプリケーション
403 データ
404 ストレージプール
501 ストレージ制御ソフトウェア(SCS)
610 制御情報テーブル
611 システム構成管理テーブル
612 ペア構成管理テーブル
620 ストレージプログラム
621 パス作成処理プログラム
622 ノード障害回復処理プログラム
623 データ転送処理プログラム
624 パス変更処理プログラム
625 I/O処理プログラム
626 オーナマイグレーション処理プログラム