IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日立ヴァンタラ株式会社の特許一覧

特許7612623ストレージシステム及びストレージシステムの制御方法
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-27
(45)【発行日】2025-01-14
(54)【発明の名称】ストレージシステム及びストレージシステムの制御方法
(51)【国際特許分類】
   G06F 13/14 20060101AFI20250106BHJP
   G06F 13/10 20060101ALI20250106BHJP
   G06F 3/06 20060101ALI20250106BHJP
【FI】
G06F13/14 330E
G06F13/10 340Z
G06F3/06 301H
G06F3/06 301Z
【請求項の数】 14
(21)【出願番号】P 2022010702
(22)【出願日】2022-01-27
(65)【公開番号】P2022161816
(43)【公開日】2022-10-21
【審査請求日】2024-02-26
(31)【優先権主張番号】P 2021066298
(32)【優先日】2021-04-09
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】524132520
【氏名又は名称】日立ヴァンタラ株式会社
(74)【代理人】
【識別番号】110001678
【氏名又は名称】藤央弁理士法人
(72)【発明者】
【氏名】達見 良介
(72)【発明者】
【氏名】松上 一樹
(72)【発明者】
【氏名】山本 彰
(72)【発明者】
【氏名】篠塚 研太
【審査官】豊田 真弓
(56)【参考文献】
【文献】特開2016-024563(JP,A)
【文献】特開2019-049866(JP,A)
【文献】特開2006-221526(JP,A)
【文献】特開2022-055614(JP,A)
【文献】米国特許出願公開第2016/0085460(US,A1)
【文献】米国特許出願公開第2017/0242771(US,A1)
【文献】米国特許第06941396(US,B1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 13/14
G06F 13/10
G06F 3/06
(57)【特許請求の範囲】
【請求項1】
データを格納する記憶媒体を有するストレージドライブと、プロセッサとメモリとポートとを有して前記ストレージドライブに入出力するデータを処理する複数のストレージ制御部と、を有するストレージシステムであって、
前記ストレージシステムに実装されている前記ストレージ制御部のリストと、前記ストレージシステムに実装可能な前記ストレージ制御部の最大数と、にかかる情報を保持し、
前記ストレージ制御部を交換する場合に、前記実装されているストレージ制御部の数と、前記実装可能な前記ストレージ制御部の最大数とに基づいて、減設するストレージ制御部から増設するストレージ制御部へ移動させる構成を、他のストレージ制御部介して移動させるか直接移動させるかを決定する
ことを特徴とするストレージシステム。
【請求項2】
請求項1に記載のストレージシステムであって、
前記実装されているストレージ制御部の数が前記実装可能な最大数である場合、前記ストレージ制御部の構成を他のストレージ制御部介して移動させ、
前記実装されているストレージ制御部の数が前記実装可能な最大数未満である場合、前記ストレージ制御部の構成を、減設するするストレージ制御部から増設するストレージ制御部へ直接移動させることを特徴とするストレージシステム。
【請求項3】
請求項2に記載のストレージシステムであって、
前記ストレージ制御部には、前記ストレージドライブの記録領域にデータ入出力する制御権が設定され、前記制御権を有するストレージ制御部は、前記制御権にかかる記憶領域にアクセスするための制御情報及びポート設定情報を有し、
前記移動する構成は、前記制御権、制御情報及びポート設定情報である
ことを特徴とするストレージシステム。
【請求項4】
請求項3に記載のストレージシステムであって、
前記ストレージ制御部のメモリには、前記制御権に紐付けられたデータが格納されており、
前記移動させる構成には、前記制御権に紐付けられたメモリ内のデータを含む
ことを特徴とするストレージシステム。
【請求項5】
請求項1に記載のストレージシステムであって、
交換後のストレージ制御部は、第1の制御プログラムと、第2の制御プログラムと、を実行可能であり、
交換前のストレージ制御部は、少なくとも、前記第2の制御プログラムを実行可能であり、
前記ストレージシステム内の全ての前記ストレージ制御部が前記交換後のストレージ制御部である場合、前記第1の制御プログラムを用いて前記ストレージドライブに入出力されるデータを処理し、
前記ストレージシステム内の少なくとも一つの前記ストレージ制御部が前記交換前のストレージ制御部である場合、前記第2の制御プログラムを用いて前記ストレージドライブに入出力されるデータを処理することを特徴とするストレージシステム。
【請求項6】
請求項5に記載のストレージシステムであって、
前記交換前のストレージ制御部を減設する処理は、減設対象のストレージ制御部の前記メモリのキャッシュ領域のデータを前記ストレージドライブに格納する処理と、前記減設対象のストレージ制御部がアクセス要求の受付を停止するようにポートを変更する処理と、前記減設対象のストレージ制御部の減設が反映されるように前記メモリ内のハードウェア構成情報を更新する処理と、を含み、
前記ストレージ制御部を増設する処理は、前記ストレージ制御部の増設が反映されるように前記メモリ内のハードウェア構成情報を更新する処理を含むことを特徴とするストレージシステム。
【請求項7】
請求項6に記載のストレージシステムであって、
前記各ストレージ制御部は、ホスト計算機がデータ入出力を行うポートと論理ユニットとを提供し、
前記論理ユニットは、前記ポートに対応付けられており、
前記ストレージシステムに実装されている前記ストレージ制御部の数が前記最大数である場合、
前記減設対象のストレージ制御部を減設する処理において、前記減設対象の旧ストレージ制御部以外のいずれかの前記ストレージ制御部の前記ポートを選択し、前記減設対象のストレージ制御部の前記ポートに対応付けられている前記論理ユニットを前記選択されたポートに対応付ける処理を実行し、
前記ストレージ制御部を増設する処理において、前記選択されたポートに対応付けられた前記論理ユニットを、増設された前記ストレージ制御部の前記ポートに対応付ける処理を実行し、
前記ストレージシステムに実装されている前記ストレージ制御部の数が前記最大数に満たない場合、前記ストレージ制御部を増設し前記減設対象の旧ストレージ制御部を減設する処理において、前記減設対象のストレージ制御部の前記ポートに対応付けられている前記論理ユニットを、増設される前記ストレージ制御部の前記ポートに対応付ける処理を実行することを特徴とするストレージシステム。
【請求項8】
請求項7に記載のストレージシステムであって、
前記選択されたポートは、前記減設対象のストレージ制御部の前記ポートに対応付けられている前記論理ユニットに既に対応付けられている前記ポートを有する前記ストレージ制御部とは異なる前記ストレージ制御部が有する前記ポートであることを特徴とするストレージシステム。
【請求項9】
請求項2に記載のストレージシステムであって、
前記実装されているストレージ制御部の数が前記実装可能な最大数未満である場合、前記ストレージ制御部を前記最大数以下となるように増設し、前記ストレージ制御部の構成を減設するストレージ制御部から増設するストレージ制御部へ移動させ、前記ストレージ制御部を減設することを、複数回繰り返して複数台の前記ストレージ制御部を交換することを特徴とするストレージシステム。
【請求項10】
請求項1に記載のストレージシステムであって、
前記ストレージ制御部の増設及び減設を実行する前に、前記減設するストレージ制御部に、他の前記ストレージ制御部との間の通信のためのインターコネクトポートが実装されているかを判定し、
前記インターコネクトポートが実装されていない場合、前記インターコネクトポートの実装作業を指示する情報を出力し、
前記インターコネクトポートが実装された場合、実装された前記インターコネクトポートを介して前記ストレージ制御部の構成を前記減設するストレージ制御部から前記増設するストレージ制御部へ移動させることによって前記ストレージ制御部を交換することを特徴とするストレージシステム。
【請求項11】
請求項1に記載のストレージシステムであって、
前記ストレージ制御部の増設及び減設を実行する前に、前記ストレージ制御部間の通信のためのインターコネクトスイッチが実装されているかを判定し、
前記インターコネクトスイッチが実装されていない場合、前記インターコネクトスイッチの実装作業を指示する情報を出力し、
前記インターコネクトスイッチが実装された場合、実装された前記インターコネクトスイッチを介して前記ストレージ制御部の構成を前記減設するストレージ制御部から前記増設するストレージ制御部へ移動させることによって前記ストレージ制御部を交換することを特徴とするストレージシステム。
【請求項12】
請求項1に記載のストレージシステムであって、
前記ストレージ制御部は、ホスト計算機がデータ入出力を行うポートと論理ユニットとを提供し、
前記論理ユニットは、前記ポートに対応付けられており、
前記減設するストレージ制御部から前記増設するストレージ制御部への移動を実行した後、前記減設するストレージ制御部を減設する前に、前記増設するストレージ制御部の前記ポートに前記論理ユニットを定義している前記ホスト計算機のポートのリストを出力することを特徴とするストレージシステム。
【請求項13】
請求項1に記載のストレージシステムであって、
それぞれが1以上の前記ストレージドライブを含む複数のドライブボックスが実装され、
前記複数のドライブボックスの各々には、前記ストレージ制御部からのユーザデータの書き込み要求及び読み出し要求を受ける複数のドライブボックスポートが実装され、
前記複数のドライブボックスは、第1のドライブボックスと、前記第1のドライブボックスより多くの前記ドライブボックスポートが実装された第2のドライブボックスとを含み、
前記複数のドライブボックスは、前記第2のドライブボックスの前記ドライブボックスポートが前記ストレージ制御部からのユーザデータの書き込み要求及び読み出し要求を受け、前記第1のドライブボックスの前記ドライブボックスポートが前記第2のドライブボックスを介して前記ストレージ制御部からのユーザデータの書き込み要求及び読み出し要求を受けるように実装されることを特徴とするストレージシステム。
【請求項14】
データを格納する記憶媒体を有するストレージドライブと、プロセッサとメモリとポートとを有して前記ストレージドライブに入出力するデータを処理する複数のストレージ制御部と、を有するストレージシステムの制御方法であって、
前記ストレージシステムに実装されている前記ストレージ制御部のリストと、前記ストレージシステムに実装可能な前記ストレージ制御部の最大数と、にかかる情報を保持し、
前記制御方法は、前記ストレージ制御部を交換する場合に、前記実装されているストレージ制御部の数と、前記実装可能な前記ストレージ制御部の最大数とに基づいて、減設するストレージ制御部から増設するストレージ制御部へ移動させる構成を、他のストレージ制御部介して移動させるか直接移動させるかを決定する手順を含むことを特徴とするストレージシステムの制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、フラッシュメモリ又は磁気ディスクをストレージ(記憶媒体)装置として用いるストレージシステムのストレージコントローラリプレース及びアップグレードに関する。
【背景技術】
【0002】
近年、NAND型フラッシュメモリの大容量化によりストレージシステムには大量のデータが保存されている。また、ストレージシステムは上位アプリケーションへの業務影響なく、ハードウェア及びソフトウェアを最新のものに交換できることが求められる。通常、ストレージシステムの交換には、新ストレージシステム側の設定及びデータ移行プロセスに時間を要している。
【0003】
特許文献1は、ストレージシステムのソフトウェアを無停止でアップデートするための発明を示している。ソフトウェアアップデート後、新しいデータ形式と古いデータ形式が両方存在しており、新しいデータには、古いデータ形式のデータへの参照が含まれている。データが更新されたときに、新しいデータ形式で書き込むことで、データの読み書きを止めることなく、新しいデータ形式へアップデートすることができる。
【0004】
特許文献2は、複数ストレージシステム間における無停止データ移行を行うための発明を示している。ホストから単一のストレージシステムであることを認識させるために、複数ストレージに跨る仮想ストレージシステム、仮想ポート及び仮想ロジカルユニット(LUN)を構成する。移行元の物理ポートのポート名およびポートアドレスを移行先システムの仮想ポート名およびポートアドレスに対応付けることで、無停止で新しいストレージシステムへの移行を完了させることができる。
【0005】
デュアルコントローラのストレージシステムにおいて、ストレージシステムのハードウェアを無停止でアップデートするための方式がある。この方式によれば、接続されているドライブのデータを移動することなく新しいコントローラへアップデートすることができる。また、ストレージシステムの構成情報等は維持される。ストレージコントローラを片方ずつ順番に交換することで、新しいハードウェアへの交換を実現している。これは、ストレージシステムにおけるコントローラの交換手順として一般的な方法である。
【先行技術文献】
【特許文献】
【0006】
【文献】米国特許第9959043号明細書
【文献】米国特許第9098211号明細書
【発明の概要】
【発明が解決しようとする課題】
【0007】
特許文献1では、論理ボリューム内の各データに対して、データ形式が更新されている場合に、新データ形式から旧データへの参照を持つことで、旧データ形式を維持したまま、新しいソフトウェアでの新データ形式に対応している。ただし、ストレージシステムにおけるストレージコントローラのアップグレードにおいては、ハードウェアストレージコントローラのハードウェアコンポーネントの違いやストレージシステムとしての仕様により、ストレージコントローラのアップグレードの完了後に、適用を開始しなければならない制御論理が存在する。例えば、新しいストレージコントローラには強力なCPUやハードウェアオフロードエンジンが搭載されており、より演算コストのかかるデータ暗号やデータ圧縮アルゴリズムの採用が可能となる場合などである。特許文献1には、これらの制御論理の適用の開始を決定する方式については開示されていない。
【0008】
本発明では、ストレージシステムのハードウェア及びソフトウェアを無停止でアップデートする際の下記課題を解決する。
【0009】
第1の課題は、ストレージシステム内に、古いストレージコントローラが存在しない状態で、新しいストレージコントローラでしか動作できない制御論理を動作させる必要があることである。具体的には、ストレージシステム内にストレージコントローラがいくつ存在していても、全てのストレージコントローラが新しいストレージコントローラへのアップグレードが完了した後に、制御論理を切り替える必要がある。
【0010】
第2の課題は、アップデートのために、ストレージコントローラ数及び物理ポート数が減ることによって、ストレージシステムの性能及び冗長性の低下することを抑えることである。ただし、ハードウェアまたはソフトウェアの制約により、ストレージシステムにおける接続可能なストレージコントローラ数には上限があり、ストレージコントローラをアップグレードする際には、接続可能な最大ストレージコントローラ数を考慮に入れる必要がある。
【課題を解決するための手段】
【0011】
上記の課題の少なくとも一つを解消するため、本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、データを格納する記憶媒体を有するストレージドライブと、プロセッサとメモリとポートとを有して前記ストレージドライブに入出力するデータを処理する複数のストレージ制御部と、を有するストレージシステムであって、前記ストレージシステムに実装されている前記ストレージ制御部のリストと、前記ストレージシステムに実装可能な前記ストレージ制御部の最大数と、にかかる情報を保持し、前記ストレージ制御部を交換する場合に、前記実装されているストレージ制御部の数と、前記実装可能な前記ストレージ制御部の最大数とに基づいて、減設するストレージ制御部から増設するストレージ制御部へ移動させる構成を、他のストレージ制御部介して移動させるか直接移動させるかを決定することを特徴とする。
【発明の効果】
【0012】
本発明の一態様によれば、マルチコントローラストレージシステムにおいて、接続されているストレージコントローラ数に応じて、無停止かつ冗長性および性能低下の影響を抑えて、新しいハードウェア及び新しいソフトウェアにアップデートすることができる。
【0013】
また、ドライブボックスを共有する場合には、古いストレージコントローラに接続されていたドライブをそのまま新しいストレージコントローラに引き継ぐことができる。
【0014】
前述した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
【図面の簡単な説明】
【0015】
図1】本発明の実施例1におけるストレージシステムの構成を示すブロック図である。
図2A】本発明の実施例1におけるストレージコントローラ数がストレージシステムの最大数未満であるときの、ストレージコントローラのアップグレードの手順の概要を示す説明図である。
図2B】本発明の実施例1におけるストレージコントローラ数がストレージシステムの最大数未満であるときの、ストレージコントローラのアップグレードの手順の概要を示す説明図である。
図2C】本発明の実施例1におけるストレージコントローラ数がストレージシステムの最大数未満であるときの、ストレージコントローラのアップグレードの手順の概要を示す説明図である。
図2D】本発明の実施例1におけるストレージコントローラ数がストレージシステムの最大数未満であるときの、ストレージコントローラのアップグレードの手順の概要を示す説明図である。
図2E】本発明の実施例1におけるストレージコントローラ数がストレージシステムの最大数未満であるときの、ストレージコントローラのアップグレードの手順の概要を示す説明図である。
図3A】本発明の実施例1におけるストレージコントローラ数がストレージシステムの最大数と等しいときの、ストレージコントローラのアップグレードの手順の概要を示す説明図である。
図3B】本発明の実施例1におけるストレージコントローラ数がストレージシステムの最大数と等しいときの、ストレージコントローラのアップグレードの手順の概要を示す説明図である。
図3C】本発明の実施例1におけるストレージコントローラ数がストレージシステムの最大数と等しいときの、ストレージコントローラのアップグレードの手順の概要を示す説明図である。
図3D】本発明の実施例1におけるストレージコントローラ数がストレージシステムの最大数と等しいときの、ストレージコントローラのアップグレードの手順の概要を示す説明図である。
図3E】本発明の実施例1におけるストレージコントローラ数がストレージシステムの最大数と等しいときの、ストレージコントローラのアップグレードの手順の概要を示す説明図である。
図3F】本発明の実施例1におけるストレージコントローラ数がストレージシステムの最大数と等しいときの、ストレージコントローラのアップグレードの手順の概要を示す説明図である。
図3G】本発明の実施例1におけるストレージコントローラ数がストレージシステムの最大数と等しいときの、ストレージコントローラのアップグレードの手順の概要を示す説明図である。
図4】本発明の実施例1におけるストレージコントローラが有するメモリの構成を示す説明図である。
図5】本発明の実施例1におけるストレージコントローラのメモリ内のプログラム領域の構成を示す説明図である。
図6】本発明の実施例1におけるストレージコントローラのメモリ内の共有メモリの構成を示す説明図である。
図7】本発明の実施例1におけるストレージコントローラのメモリに保持されるハードウェア構成情報の構成を示す説明図である。
図8】本発明の実施例1におけるストレージコントローラのメモリに保持される実装コントローラ管理情報の構成を示す説明図である。
図9】本発明の実施例1におけるストレージコントローラのメモリに保持されるLUN構成情報の構成を示す説明図である。
図10】本発明の実施例1におけるストレージコントローラのメモリに保持されるFEポート構成情報の構成を示す説明図である。
図11】本発明の実施例1におけるストレージコントローラのメモリに保持される引継ぎ管理情報の構成を示す説明図である。
図12】本発明の実施例1におけるストレージコントローラのメモリに保持される制御論理バージョン管理情報の構成を示す説明図である。
図13】本発明の実施例1におけるストレージコントローラが実行するコントローラアップデート処理の全体を示すフローチャートである。
図14】本発明の実施例1において、最大構成時における旧ストレージコントローラ減設時のストレージコントローラが実行する引継ぎ処理を示すフローチャートである。
図15】本発明の実施例1において、最大構成時における新ストレージコントローラ増設後のストレージコントローラが実行する引継ぎ処理を示すフローチャートである。
図16】本発明の実施例1において、最大構成未満時における新ストレージコントローラ112増設後のストレージコントローラが実行する引継ぎ処理を示すフローチャートである。
図17】本発明の実施例1におけるストレージコントローラが実行する新コントローラ増設処理を示すフローチャートである。
図18】本発明の実施例1におけるストレージコントローラが実行する旧コントローラ減設処理を示すフローチャートである。
図19】本発明の実施例1におけるストレージコントローラが実行するCPU処理制御権切り替え処理を示すフローチャートである。
図20】本発明の実施例1におけるストレージコントローラが実行するFEポート切り替え処理を示すフローチャートである。
図21】本発明の実施例1におけるストレージコントローラアップグレード実施作業員が実行する新コントローラ増設作業手順を示すフローチャートである。
図22】本発明の実施例1におけるストレージコントローラアップグレード実施作業員が実行する旧コントローラ減設作業処理手順を示すフローチャートである。
図23】本発明の実施例1におけるストレージコントローラが実行する制御論理切り替え判定処理を含む制御論理を示すフローチャートである。
図24A】本発明の実施例1における管理装置に表示するストレージコントローラアップグレード作業指示画面を示す説明図である。
図24B】本発明の実施例1における管理装置に表示するストレージコントローラアップグレード作業指示画面を示す説明図である。
図24C】本発明の実施例1における管理装置に表示するストレージコントローラアップグレード作業指示画面を示す説明図である。
図25A】本発明の実施例2における、アップグレード前のストレージシステムにインターコネクトポート及びインターコネクトスイッチが実装されていない場合の、ストレージコントローラアップグレード処理の手順の概要を示す説明図である。
図25B】本発明の実施例2における、アップグレード前のストレージシステムにインターコネクトポート及びインターコネクトスイッチが実装されていない場合の、ストレージコントローラアップグレード処理の手順の概要を示す説明図である。
図25C】本発明の実施例2における、アップグレード前のストレージシステムにインターコネクトポート及びインターコネクトスイッチが実装されていない場合の、ストレージコントローラアップグレード処理の手順の概要を示す説明図である。
図25D】本発明の実施例2における、アップグレード前のストレージシステムにインターコネクトポート及びインターコネクトスイッチが実装されていない場合の、ストレージコントローラアップグレード処理の手順の概要を示す説明図である。
図26】本発明の実施例2におけるストレージコントローラのメモリ内の共有メモリの構成を示す説明図である。
図27】本発明の実施例2におけるストレージコントローラのメモリに保持されるインターコネクトスイッチ実装管理情報の構成を示す説明図である。
図28】本発明の実施例2におけるストレージコントローラのメモリに保持される接続先ホスト情報の構成を示す説明図である。
図29】本発明の実施例2におけるストレージコントローラのメモリに保持されるドライブボックス構成情報の構成を示す説明図である。
図30】本発明の実施例2におけるストレージコントローラが実行するコントローラアップデート処理の全体を示すフローチャートである。
図31】本発明の実施例3におけるストレージコントローラアップグレード実施中のシステム構成を示す説明図である。
図32A】本発明の実施例4において、ストレージコントローラ単位でアップグレードする手順の概要を示す説明図である。
図32B】本発明の実施例4において、ストレージコントローラ単位でアップグレードする手順の概要を示す説明図である。
図32C】本発明の実施例4において、ストレージコントローラ単位でアップグレードする手順の概要を示す説明図である。
【発明を実施するための形態】
【0016】
以下、図面に基づいて、本発明の実施例を説明する。添付図面では、機能的に同じ要素を同じ番号で表示する場合がある。添付図面は、本発明の原理に則った具体的な実施形態と実施例とを示している。それらの実施形態及び実施例は、本発明の理解のためのものであり、本発明を限定的に解釈するために用いてはならない。
【0017】
さらに、本発明の実施形態は、後述するように、汎用コンピュータ上で稼動するソフトウェアで実装してもよいし、専用ハードウェアで実装してもよいし、又はソフトウェアとハードウェアの組み合わせで実装してもよい。
【0018】
以下では「プログラム」を主語(動作主体)として本発明の実施形態における各処理について説明を行う場合がある。プログラムはプロセッサによって実行されることで定められた処理をメモリ及び通信ポート(通信制御装置)を用いながら行うため、プロセッサを主語とした説明としてもよい。プログラムの一部又は全ては専用ハードウェアで実現してもよく、また、モジュール化されていてもよい。各種プログラムはプログラム配布サーバや記憶メディアによって各計算機にインストールされてもよい。
【0019】
以下の説明では、「インターフェース部」は、ユーザインターフェース部と、通信インターフェース部とのうちの少なくとも1つを含んでよい。ユーザインターフェース部は、1以上のI/Oデバイス(例えば入力デバイス(例えばキーボード及びポインティングデバイス)と出力デバイス(例えば表示デバイス))と表示用計算機とのうちの少なくとも1つのI/Oデバイスを含んでよい。通信インターフェース部は、1以上の通信インターフェースデバイスを含んでよい。1以上の通信インターフェースデバイスは、1以上の同種の通信インターフェースデバイス(例えば1以上のNIC(Network Interface Card))であってもよいし2以上の異種の通信インターフェースデバイス(例えばNICとHBA(Host Bus Adapter))であってもよい。
【0020】
また、以下の説明では、「メモリ部」は、1以上のメモリを含む。少なくとも1つのメモリは、揮発性メモリであってもよいし不揮発性メモリであってもよい。メモリ部は、主に、プロセッサ部による処理の際に使用される。
【0021】
また、以下の説明では、「プロセッサ部」は、1以上のプロセッサを含む。少なくとも1つのプロセッサは、典型的にはCPU(Central Processing Unit)である。
【0022】
また、以下の説明では、「ハードウェアアクセラレータ部」は、1つ以上のハードウェア集積回路を含む。少なくとも1つのハードウェア集積回路は、典型的には、FPGA(Field Programmable Gate Array)である。
【0023】
また、以下の説明では、「xxxテーブル」といった表現にて情報を説明することがあるが、情報は、どのようなデータ構造で表現されていてもよい。すなわち、情報がデータ構造に依存しないことを示すために、「xxxテーブル」を「xxx情報」と言うことができる。また、以下の説明において、各テーブルの構成は一例であり、1つのテーブルは、2以上のテーブルに分割されてもよいし、2以上のテーブルの全部又は一部が1つのテーブルであってもよい。
【0024】
また、以下の説明では、同種の要素を区別しないで説明する場合には、参照符号のうちの共通符号を使用し、同種の要素を区別する場合は、参照符号(又は要素のID(例えば識別番号)を使用することがある。例えば、複数のストレージコントローラを区別しない場合には、「ストレージコントローラ102」と記載し、各ストレージコントローラを区別する場合には、「ストレージコントローラ102A」、「ストレージコントローラ102B」のように記載する。他の要素(例えば後述するストレージノード101、フロントエンドネットワークポート103、CPU104、メモリ105、バックエンドネットワークポート106、インターコネクトネットワークポート107、ドライブボックス109、ホスト計算機110等)も同様である。
【0025】
また、以下の説明では、「ストレージシステム」は、1以上のストレージ装置を含む。少なくとも1つのストレージ装置は、汎用的な物理計算機であってもよい。また、少なくとも1つのストレージ装置が、仮想的なストレージ装置であってもよいし、SDx(Software-Defined anything)を実行してもよい。SDxとしては、例えば、SDS(Software Defined Storage)(仮想的なストレージ装置の一例)又はSDDC(Software-defined Datacenter)を採用することができる。
【0026】
ここで、前述の2つの課題を解決するための本発明の実施例の概要を説明する。
【0027】
本発明の対象とするストレージシステムは、冗長性のために複数のストレージコントローラを持ち、互いにPCIe又はInfiniBandなどの広帯域、低遅延なネットワークで接続され、制御情報を互いに共有する密結合マルチコントローラシステムである。制御情報は、冗長化のため、2つ以上のコントローラに格納されている。
【0028】
第1の課題を解決する方法を説明する。ストレージコントローラのアップグレードを無停止で実施するため、全てのストレージコントローラが一斉に新しいストレージコントローラに置き換わるのではなく、一時的に、古いストレージコントローラと新しいストレージコントローラが共存した状態が存在する。その間、各ストレージコントローラ上のソフトウェアは、どちらのストレージコントローラでも動作可能な制御論理で動作する。その後、逐次、ストレージコントローラのアップグレードが完了し、全てのストレージコントローラが新しいものに置き換わった後に、新しいストレージコントローラでのみ動作可能な制御論理の動作を開始する。
【0029】
第2の課題を解決する方法を説明する。古いストレージシステムは、ストレージコントローラ同士を接続するインターコネクトを持ち、古いストレージコントローラと新しいストレージコントローラのどちらにも接続接続可能なインターコネクトネットワークポートを持つ。アップデート時に、現在の構成が接続可能最大コントローラ数未満であれば、「新しいストレージコントローラを増設してから、古いストレージコントローラを減設する」という操作を繰り返す。一方、現在の構成が接続可能最大コントローラ数であれば、「古いストレージコントローラを減設してから、新しいストレージコントローラを増設する」という操作を繰り返す。
【0030】
古いストレージコントローラと新しいストレージコントローラは、ネットワークポートを使用して、接続する。この時、ネットワークポートはストレージコントローラに直接つながっていてもよいし、ファブリックネットワークスイッチ上に存在してもよい。また、ストレージ装置を格納するストレージドライブボックスについても同様に、新しいストレージコントローラと接続可能なバックエンドネットワークポートを持つ。ストレージコントローラと接続するときに、ドライブボックスと新しいストレージコントローラとの間も接続することで、古いストレージコントローラに接続されていたストレージ装置に対して、古いストレージコントローラを経由せずに、新しいストレージコントローラからアクセスすることができる。
【0031】
新しいストレージコントローラを増設してから古いストレージコントローラを減設する場合、例えば、古いストレージコントローラに、新しいストレージコントローラを増設し、1つのマルチコントローラストレージシステムを形成する。その後、処理及び制御情報の移行が完了したら、古いストレージコントローラを停止し、古いストレージコントローラ減設する。これを古いストレージコントローラが存在する限り繰り返していく。
【0032】
一方で、古いストレージコントローラを減設してから新しいストレージコントローラを増設する場合、ストレージシステム内の古いストレージコントローラのうち、初めにアップグレード対象とするものを選択し、処理及び他のコントローラと共有する制御情報を残っている別のストレージコントローラに退避する。その後、その古いストレージコントローラを停止し、減設する。そうすることにより、ストレージシステムに、別のストレージコントローラが増設可能な状態となる。その後、新しいストレージコントローラを増設し、他のストレージコントローラに退避した処理及び制御情報を増設したストレージコントローラに移行する。これを古いストレージコントローラ残っている限り繰り返す。
【0033】
これによって、ストレージシステムの構成が接続可能ストレージコントローラ数の上限に達していない場合は、ストレージコントローラ数及び物理ポート数を減らすことなく、ストレージのハードウェア及びソフトウェアのアップデートが完了する。また、ストレージシステムの構成が接続コントローラ数の上限に達している場合でも、ストレージコントローラ数及び物理ポート数の減少を抑えて、ストレージのハードウェア及びソフトウェアのアップグレードが完了する。
【0034】
新しいストレージシステム増設後の、マルチコントローラストレージシステム構成において、新しいストレージコントローラ内で動作する新しいストレージソフトウェアと古いストレージコントローラ内で動作する古いソフトウェアとは、ストレージコントローラ間ネットワークを介して、共通の制御情報に透過的にアクセスする。また、コントローラ間で通信して行う処理では、新しいストレージコントローラ上のソフトウェアは古いストレージコントローラ上のソフトウェアとの互換性を満たすように動作する。このようにすることで、ストレージシステムで実施される各処理について、古いコントローラ及び新しいコントローラのどちら側でも実施することができ、I/Oを停止することなく、各処理を新しいストレージコントローラで実施するように切り替えていくことができる。また、アップグレード中の保守を行うケース及び中断して元の状態に復帰させるケースなども、柔軟かつ迅速に対応できる。同時に、アップデート前に設定されていたLUN等の構成情報、レプリケーションなどの状態及びストレージメディアのティアリング等に使用するアクセス頻度情報などをそのまま新しいコントローラで実施される処理にも引き継ぐことができる。
【0035】
以下、上記の課題を解決するための本発明の実施例を図面に基づいて説明する。
【実施例1】
【0036】
図1は、本発明の実施例1におけるストレージシステムの構成を示すブロック図である。
【0037】
本実施例のストレージシステム100は、複数のストレージコントローラ102及び112、1以上のインターコネクトスイッチ108及び1以上のドライブボックス109を有する。図1には、複数のストレージコントローラ102及び112の例として、ストレージコントローラ102A~102D及び112A、112Bを示す。これらのうちストレージコントローラ102A~102Dは、これから減設される旧ストレージコントローラであり、ストレージコントローラ102A及び102Bは、一つのストレージノード101Aを構成し、ストレージコントローラ102C及び102Dは、一つのストレージノード101Bを構成する。一方、ストレージコントローラ112A及び112Bは、増設された新ストレージコントローラであり、一つのストレージノード111Aを構成する。
【0038】
減設される古いストレージコントローラ102は、それぞれ、CPU104、メモリ105、フロントエンドネットワークポート(以下、FEポートとも記載する)103、バックエンドネットワークポート(以下、BEポートとも記載する)106及びインターコネクトネットワークポート(以下、ICポートとも記載する)107を有する。同様に増設される新しいストレージコントローラ112は、それぞれ、CPU104、メモリ105、FEポート103、BEポート106及びICポート107を有する。
【0039】
図1の例では一つのストレージコントローラ102が一つのCPU104、一つのメモリ105、二つのFEポート103、一つのBEポート106及び一つのICポート107を有するが、これらの数は一例であり、実際の数は任意である。増設対象のストレージコントローラについても同様に各コンポーネントの実際の数は任意である。また、これらのコンポーネントの他、FPGAなどのハードウェアオフロードエンジンを搭載していてもよい。
【0040】
FEポート103は、ネットワークスイッチ121に接続される。ネットワークスイッチ121は、1以上のホスト計算機120(図1の例ではホスト計算機120A及び120B)に接続される。ストレージコントローラ102は、FEポート103及びネットワークスイッチ121を経由してホスト計算機120からユーザデータの書き込み及び読み出し等のコマンドを受けて、それらに対する応答を返す。ストレージコントローラ112も同様である。
【0041】
BEポート106は、ドライブボックス109に接続される。ストレージコントローラ102は、BEポート106を経由してドライブボックス109へのユーザデータの書き込み及び読み出し等を行う。ストレージコントローラ112も同様である。
【0042】
ドライブボックス109は、ホスト計算機120によって書き込まれたデータを格納する記憶媒体を含む。この記憶媒体は、例えば、磁気ディスク又はフラッシュメモリ等の、大容量の不揮発性記憶媒体であってもよい。
【0043】
ICポート107は、インターコネクトスイッチ108に接続される。インターコネクトスイッチ108は、各ストレージコントローラ102及び112のICポート107に接続される。ストレージコントローラ102は、ICポート107及びインターコネクトスイッチ108を介して、ストレージシステム100内の他のストレージコントローラ102と通信し、例えば制御情報等を送受信することができる。ストレージコントローラ102とストレージコントローラ112との通信、及び、ストレージコントローラ112間の通信も同様である。
【0044】
CPU104は、メモリ105に格納されたプログラムを実行することによって、ストレージコントローラ102及び112の種々の機能を実現する。CPU104によって実現される機能の詳細については後述する。
【0045】
メモリ105は、CPU104によって実行されるプログラムを記憶する領域、ストレージコントローラ102及び112の制御情報を記憶する領域、並びに、ホスト計算機120による書き込み又は読み出しの対象のデータを記憶する領域等を含む。それらの領域の詳細については後述する。
【0046】
さらに、各ストレージコントローラ102及び112は、管理ネットワーク123を介して管理装置122に接続される。
【0047】
次に、図2Aから図2E及び図3Aから図3Gを参照して、ストレージコントローラ102のアップグレードの手順を説明する。
【0048】
図2Aから図2Eは、本発明の実施例1におけるストレージコントローラ数がストレージシステムの最大数未満であるときの、ストレージコントローラのアップグレードの手順の概要を示す説明図である。
【0049】
図2Aは、ストレージコントローラ102のアップグレードが開始される前のストレージシステム100を示す。このとき、ストレージシステム100は、旧ストレージコントローラ102A~102Dを有し、新ストレージコントローラ112A及び112Bを有していない。このとき、四つのストレージコントローラ102A~102Dによって冗長性が確保されている。
【0050】
図2Bは、ストレージノード101Bのアップグレードが実行されているときで、新ストレージノード111Aを増設した後のストレージシステム100を示す。このとき、ストレージシステム100は、旧ストレージコントローラ102A~102Dに加えて、増設された新ストレージコントローラ112A及び112Bを有する。このとき、六つのストレージコントローラ102A~102D及び112A~112Bによって冗長性が確保されている。
【0051】
図2Cは、ストレージノード101Bのアップグレードが終了した後のストレージシステム100を示す。このとき、旧ストレージコントローラ102C及び102Dは既に減設されており、ストレージシステム100は、旧ストレージコントローラ102A、102B及び新ストレージコントローラ112A、112Bを有する。このとき、四つのストレージコントローラ102A、102B、112A及び112Bによって冗長性が確保されている。
【0052】
図2Dは、ストレージノード101Aのアップグレードが実行されているときで、新ストレージノード111Bを増設した後のストレージシステム100を示す。このとき、ストレージシステム100は、旧ストレージコントローラ102A~102Bに加えて、増設された新ストレージコントローラ112A~112Dを有する。このとき、六つのストレージコントローラ102A~102B及び112A~112Dによって冗長性が確保されている。
【0053】
図2Eは、ストレージノード101Aのアップグレードが終了した後のストレージシステム100を示す。このとき、旧ストレージコントローラ102A及び102Bは既に減設されており、ストレージシステム100は、新ストレージコントローラ112A~112Dを有する。このとき、四つのストレージコントローラ112A~112Dによって冗長性が確保されている。
【0054】
上記の手順によって、アップグレードが実行されているときにも、アップグレード開始前及び終了後と少なくとも同等の冗長性が確保される。
【0055】
図3Aから図3Gは、本発明の実施例におけるストレージコントローラ数がストレージシステムの最大数と等しいときの、ストレージコントローラのアップグレードの手順の概要を示す説明図である。
【0056】
図3Aは、ストレージコントローラ102のアップグレードが開始される前のストレージシステム100を示す。このとき、ストレージシステム100は、旧ストレージコントローラ102A~102Fを有し、新ストレージコントローラ112を有していない。このとき、六つのストレージコントローラ102A~102Fによって冗長性が確保されている。この図の例では、ストレージシステム内のストレージコントローラ数の上限を6としているが、実際の上限の数は、ストレージシステムによって異なる。
【0057】
図3Bは、ストレージノード101Cのアップグレードが実行されているときで、古いストレージノード101Cを減設した後のストレージシステム100を示す。このとき、ストレージシステム100は、旧ストレージコントローラ102A~102Dを有する。このとき、四つのストレージコントローラ102A~102Dによって冗長性が確保されている。
【0058】
図3Cは、ストレージノード101Cのアップグレードが終了した後、すなわち、新ストレージノード111Aを増設した後のストレージシステム100を示す。このとき、ストレージシステム100は、旧ストレージコントローラ102A~102Dに加えて、増設された新ストレージコントローラ112A及び112Bを有する。このとき、六つのストレージコントローラ102A~102D及び112A~112Bによって冗長性が確保されている。
【0059】
図3Dは、ストレージノード101Bのアップグレードが実行されているときで、古いストレージノード101Bを減設した後のストレージシステム100を示す。このとき、ストレージシステム100は、旧ストレージコントローラ102A、102B及び新ストレージコントローラ112A、112Bを有する。このとき、四つのストレージコントローラ102A、102B、112A及び112Bによって冗長性が確保されている。
【0060】
図3Eは、ストレージノード101Bのアップグレードが終了した後、すなわち、新ストレージノード111Bを増設した後のストレージシステム100を示す。このとき、ストレージシステム100は、旧ストレージコントローラ102A、102Bに加えて、増設された新ストレージコントローラ112A~112Dを有する。このとき、六つのストレージコントローラ102A、102B及び112A~112Dによって冗長性が確保されている。
【0061】
図3Fは、ストレージノード101Aのアップグレードが実行されているときで、古いストレージノード101Cを減設した後のストレージシステム100を示す。このとき、ストレージシステム100は、新ストレージコントローラ112A~112Dを有する。このとき、四つのストレージコントローラ112A~112Dによって冗長性が確保されている。
【0062】
図3Gは、ストレージノード101Aのアップグレードが終了した後、すなわち、新ストレージノード111Cを増設した後のストレージシステム100を示す。このとき、ストレージシステム100は、旧ストレージコントローラ102A、102Bに加えて、増設された新ストレージコントローラ112A~112Fを有する。このとき、六つのストレージコントローラ112A~112Fによって冗長性が確保されている。
【0063】
上記の手順によって、ストレージコントローラ数が上限に達しているときにアップグレードが実行された場合には、アップグレード実施中は、アップグレード開始前と比較して1ノード分の冗長性低下に抑えられ、アップグレード終了後には、開始前と同等の冗長性が確保される。
【0064】
本実施手順では、増設及び減設の最小単位を1ストレージノードとして説明したが、ストレージノード内の、1コントローラずつの増設及び減設を実施してもよい。
【0065】
なお、本発明は、新ストレージコントローラ112が旧ストレージコントローラ102と同一の機種である場合など、アップグレード以外の目的でストレージコントローラをリプレースする場合にも適用できる。しかし、本実施例では、旧ストレージコントローラ102を、例えばそれらに新たな機能を追加した後継機種など、異なる品種の新ストレージコントローラ112にアップグレードするためのリプレースについて説明する。
【0066】
次に図4から図12を参照して、、ストレージコントローラ102及び112が有するメモリ105が保持する情報について説明する。ここでは例としてストレージコントローラ102のメモリ105が保持する情報を説明するが、ストレージコントローラ112のメモリ105も同様の情報を保持する。
【0067】
図4は、本発明の実施例1におけるストレージコントローラ102が有するメモリ105の構成を示す説明図である。
【0068】
メモリ105は、記憶領域として、プログラム領域401、ローカルメモリ領域402、キャッシュメモリ領域403及び共有メモリ領域404を含む。プログラム領域401には、ストレージコントローラ102内のCPU104によって実行される制御プログラムが格納される。ローカルメモリ領域402は、制御プログラムが実施される際に一時的に使用するメモリ領域、及び、共有メモリ領域404に含まれる制御情報のコピーを格納する領域を含む。キャッシュメモリ領域403は、ホスト計算機120から書き込まれたデータ及びホスト計算機120によって読み出されたデータが一時的に格納される領域である。共有メモリ領域404は、制御プログラムが使用するストレージシステム100に関する情報を含む。共有メモリ領域404は、全てのストレージコントローラ102及び112で共有する一意な情報であり、複数のストレージコントローラ102及び112)に跨って格納されていてもよい。また、共有メモリ領域404は、ストレージコントローラ102、112及びメモリ105に対する障害耐性のために、複数のストレージコントローラ間で冗長化されていてもよい。
【0069】
図5は、本発明の実施例1におけるストレージコントローラ102のメモリ105内のプログラム領域401の構成を示す説明図である。
【0070】
プログラム領域401には、無停止コントローラアップデートシーケンス制御部501、処理引き継ぎ制御部502、コントローラ増設部503、コントローラ減設部504及びI/O処理部607が格納される。これらはいずれもメモリ105に格納され、CPU104によって実行されるプログラムである。以下の説明において上記の各部が実行する処理は、実際にはCPU104がプログラムに従って実行する。
【0071】
無停止コントローラアップデートシーケンス制御部501は、本実施例のストレージコントローラ102のリプレースのシーケンスを制御する。処理引き継ぎ制御部502は、リプレース対象のストレージコントローラ102から、LUN単位の処理制御権、FEポートのLUN登録及び共有メモリに格納されているデータをリプレース先のストレージコントローラ112に引き継ぐ処理を行う。コントローラ増設部503は、新ストレージコントローラ112の増設時の処理を行う。コントローラ減設部504は、旧ストレージコントローラ102の減設時の処理を行う。
【0072】
制御論理切り替え部505は、旧ストレージコントローラ102のアップグレードが完了し、ストレージシステム内の全てのストレージコントローラが新ストレージコントローラ112となった後で、制御論理を新ストレージコントローラ112専用論理へ切り替える処理を行う。
【0073】
図6は、本発明の実施例1におけるストレージコントローラ102のメモリ105内の共有メモリ領域404の構成を示す説明図である。
【0074】
共有メモリ領域404には、ハードウェア構成情報601、実装コントローラ管理情報602、LUN構成情報603、FEポート構成情報604、引継ぎ管理情報605及び制御論理バージョン管理情報606が格納される。これらの詳細は後述する(図7図12参照)。
【0075】
図7は、本発明の実施例1におけるストレージコントローラ102のメモリ105に保持されるハードウェア構成情報601の構成を示す説明図である。
【0076】
ハードウェア構成情報601は、コントローラID701、コントローラバージョン情報702、実装FEポートID703、実装BEポートID704、実装CPUID705、実装インターコネクトポートID706及び実装メモリID707を含む。
【0077】
コントローラID701は、各ストレージコントローラ102の識別情報である。コントローラバージョン情報702は、コントローラID701に対応するハードウェアのバージョン情報である。これにより、各ストレージコントローラが旧ストレージコントローラなのか新ストレージコントローラなのかを判別できる。実装FEポートID703、実装BEポートID704、実装CPUID705、実装インターコネクトポートID706及び実装メモリID707は、それぞれ、各ストレージコントローラ102に実装されたFEポート103、BEポート106、CPU104、ICポート107及びメモリ105の識別情報である。
【0078】
図8は、本発明の実施例1におけるストレージコントローラ102のメモリ105に保持される実装コントローラ管理情報602の構成を示す説明図である。
【0079】
実装コントローラ管理情報602は、実装コントローラIDリスト801及び実装可能最大コントローラ数802を含む。実装コントローラIDリスト801は、ストレージシステム100に実装され、データの入出力(I/O)等の処理を実行できる状態になっているストレージコントローラ102の識別情報のリストである。実装可能最大コントローラ数は、ストレージシステム100が実装可能なストレージコントローラ数の上限値である。図2Aから図3Gの例において、実装可能最大コントローラ数802の値は「6」である。
【0080】
例えば図2Aに示すように新ストレージコントローラ112A及び112Bが増設される前の状態では旧ストレージコントローラ102A~102Dの識別情報が実装コントローラIDリスト801に保持される。図2Bに示すように新ストレージコントローラ112A及び112Bが実装されてアップグレードの処理が実行されているときはストレージコントローラ102A~102D、112A及び112Bの識別情報が実装コントローラIDリスト801に保持される。図2Cに示すように旧ストレージコントローラ102C及び102Dが減設された後の状態では旧ストレージコントローラ102A、102B、新ストレージコントローラ112A及び112Bの識別情報が実装コントローラIDリスト801に保持される。
【0081】
図9は、本発明の実施例1におけるストレージコントローラ102のメモリ105に保持されるLUN構成情報603の構成を示す説明図である。
【0082】
LUN構成情報603は、各論理ユニットの構成を示す情報であり、一つの論理ユニットに関して一つのLUN構成情報603が保持される。LUN構成情報603は、LUNID901、登録済みFEポートIDリスト902及び制御権CPUID903を含む。
【0083】
LUNID901は、各論理ユニットの識別情報である。FEポートIDリスト902は、各論理ユニットへのパスが設定されているFEポートの識別情報のリストである。制御権CPUID903は、各論理ユニットへのI/O処理に係る制御情報に排他的にアクセスするCPU104の識別情報である。
【0084】
各論理ユニットは、負荷分散及び障害時のフェイルオーバーを目的として、複数の異なるストレージコントローラに属するFEポートに対応付けられている。
【0085】
図10は、本発明の実施例1におけるストレージコントローラ102のメモリ105に保持されるFEポート構成情報604の構成を示す説明図である。
【0086】
FEポート構成情報604は、各FEポート103の構成を示す情報である。各ストレージコントローラ102は、当該ストレージコントローラ102が有する全てのFEポートに関するFEポート構成情報604を保持する。FEポート構成情報604は、FEポートID1001、FEポートアドレス1002及びLUNIDリスト1003を含む。
【0087】
FEポートID1001は、各FEポート103の識別情報である。FEポートアドレス1002は、ホスト計算機120に対して提供される各FEポート103の識別情報である。LUNIDリスト1004は、各FEポートを介してホスト計算機120へのパスが設定されている論理ユニットを識別する情報のリストである。一つのFEポート103に複数の論理ユニットへのパスが設定されていてもよく、その場合、LUNIDリスト1004として複数の値が保持される。
【0088】
図11は、本発明の実施例1におけるストレージコントローラ102のメモリ105に保持される引継ぎ管理情報605の構成を示す説明図である。
【0089】
引継ぎ管理情報605は、リプレース対象の旧ストレージコントローラ102からリプレース先の新ストレージコントローラへ引き継ぐ対象を示す情報である。この情報は、ストレージコントローラのアップグレード処理において一時的に生成される。引継ぎ管理情報605は、減設対象コントローラID1101、LUN制御権情報1102、FEポートLUN登録情報1103、共有メモリ格納情報1104、LUN制御権移動先情報1105、FEポート毎移動先LUN登録情報1106及び共有メモリ移動先情報1107を含む。
【0090】
減設対象コントローラID1101は、リプレース実施中の旧ストレージコントローラ102を示す識別情報である。LUN制御権情報1102は、リプレース実施対象の旧ストレージコントローラ102がリプレース開始前に制御権を保持していたLUNのリストである。FEポートLUN登録情報1103は、リプレース実施対象の旧ストレージコントローラ102の各FEポート103に、リプレース開始前に登録されていたLUNのリストである。共有メモリ格納情報1104は、リプレース実施対象の旧ストレージコントローラ102のメモリ105内に保持されていた共有メモリの領域を示す情報である。
【0091】
LUN制御権移動先情報1105は、新ストレージコントローラ112増設前に旧ストレージコントローラ102を減設する際に、一時的にLUN制御権を移動させたストレージコントローラを示す。具体的には、LUN制御権移動先情報1105には、LUN毎に移動先のストレージコントローラ情報が保持される。FEポート毎移動先LUN登録情報1106は、新ストレージコントローラ112増設前に旧ストレージコントローラ102を減設する際に、一時的にLUN登録先FEポートを移動させた各FEポートのLUN登録情報を示す。LUN毎に登録先のFEポートが異なってよい。共有メモリ移動先情報1107は、新ストレージコントローラ112増設前に旧ストレージコントローラ102を減設する際に、一時的に移動させた共有メモリの移動先ストレージコントローラ102(又は112)を示す。
【0092】
図12は、本発明の実施例1におけるストレージコントローラ102のメモリ105に保持される制御論理バージョン管理情報606の構成を示す説明図である。
【0093】
制御論理バージョン管理情報606は、本発明の実施例1におけるストレージコントローラアップグレードに伴う制御論理の切り替えを管理する制御情報である。制御論理バージョン管理情報606は、論理種別ID1201及び制御論理バージョン情報1202を含む。論理種別ID1201は、切り替え対象となる制御論理を示す識別情報である。制御論理バージョン情報1202は、制御論理切り替えの判定に使用する情報である。
【0094】
次に、ストレージコントローラ102及び112が実行する処理についてフローチャートを参照して説明する。以下の処理はストレージコントローラ102及び112のCPU104がメモリ105内のプログラム領域401に格納されたプログラムを実行することによって実現される。
【0095】
なお、以下の図13から図16の説明は、旧ストレージコントローラ102のいずれかが実行する処理の例を示しているが、既に1以上の新ストレージコントローラ112が増設されている場合にはその新ストレージコントローラ112が以下の処理を実行してもよい。特に、ストレージシステム100に最後まで残った旧ストレージコントローラ102が減設対象となる処理は、新ストレージコントローラ112によって実行される。
【0096】
図13は、本発明の実施例1におけるストレージコントローラが実行するコントローラアップデート処理の全体を示すフローチャートである。本実施例では、ストレージノード単位にアップデートする処理手順を示す。ストレージコントローラ単位にアップデートする場合であっても同様の手順で実施可能である。
【0097】
最初に、ストレージコントローラ102は、アップグレード対象のノードを特定する(ステップ1301)。次に、ストレージコントローラ102は、実装コントローラ管理情報602を参照して、現在の構成が最大構成になっているかどうかを判定する(ステップ1302)。すでに最大構成であれば、減設してから増設の手順でストレージコントローラをアップグレードすると判断し、ステップ1303へ進む。また、ストレージコントローラ数が最大未満であれば、増設してから減設の手順でストレージコントローラをアップグレードすると判断し、ステップ1311へ進む。
【0098】
ステップ1303では、減設対象のストレージコントローラからLUNの制御権、LUNのFEポート割当および格納されている共有メモリ情報を減設対象ではない別のストレージコントローラ102、112またはその両方に跨って退避する。退避した情報は、引継ぎ管理情報405に格納する。
【0099】
次に、ストレージコントローラ102は、減設対象の旧ストレージノード101を減設する(ステップ1304)。
【0100】
次に、ストレージコントローラ102は、作業員による機器の設置及びケーブル等の配線を促すために、旧ストレージノード101の減設作業及び新ストレージノード111の増設作業指示を管理画面に表示(ステップ1305)し、作業員からの操作を待つ(ステップ1306)。管理画面とは例えば管理装置122の表示装置(図示省略)によって表示される画面である。ステップ1305において表示される画面の例については図24Aを参照して後述する。また、ステップ1306で実行される作業員の操作の詳細については図21及び図22を参照して後述する。
【0101】
作業員からの操作を受け付けたら、ストレージコントローラ102は、新ストレージノード111の増設処理を開始する(ステップ1307)。
【0102】
次に、ストレージコントローラ102は、引継ぎ管理情報405に格納した情報を用いて、LUN制御権、FEポート毎のLUN割当、退避前ストレージコントローラに配置されていた共有メモリ情報を増設した新ストレージコントローラ112に移動させる(ステップ1308)。次にステップ1309へ進む。
【0103】
ステップ1309では、ストレージコントローラ102は、コントローラバージョン情報702を参照して、ストレージシステム内に旧ストレージコントローラ102が残っているかどうかを判定する。旧ストレージコントローラ102が残っている場合には、ステップ1301に戻る。全て新ストレージコントローラ112へ置き換えが完了していたら、ステップ1310へ進む。
【0104】
ステップ1310では、ストレージコントローラ112は、制御論理バージョン管理情報406を更新し、新ストレージコントローラ112でのみ動作可能な制御論理へ切り替える。
【0105】
ステップ1311からステップ1316までは、ストレージコントローラノードを増設してから減設する手順でアップグレードを実施する処理手順である。
【0106】
ステップ1311では、ストレージコントローラ102は、作業員による機器の設置及びケーブル等の配線を促すために、新ストレージノード111の増設作業指示を管理画面に表示し、次に、作業員からの操作を待つ(ステップ1312)。ステップ1311において表示される画面の例については図24Bを参照して後述する。また、ステップ1312で実行される作業員の操作の詳細については図21を参照して後述する。
【0107】
作業員からの操作を受け付けたら、ストレージコントローラ102は、新ストレージノード111増設の増設処理を開始する(ステップ1313)。
【0108】
次に、ストレージコントローラ102は、減設対象のストレージコントローラ102に登録されているLUN制御権、FEポート毎のLUN割当及び減設対象のストレージコントローラ102上に配置されている共有メモリ情報を増設した新ストレージコントローラ112に移動させる(ステップ1314)。
【0109】
移動が完了したら、ストレージコントローラ102は、減設対象のストレージノードを減設する(ステップ1315)。次に、ストレージコントローラ102は、作業員による機器やケーブルの取り外しを促すために、減設した旧ストレージノード101の減設作業指示を管理画面に表示する(ステップ1316)。その後、ステップ1309へ進む。なお、ステップ1316の指示を受けて、作業員は減設作業を実行する。ステップ1316において表示される画面の例については図24Cを参照して後述する。また、ステップ1316の後に実行される減設作業の詳細については図22を参照して後述する。
【0110】
図14は、本発明の実施例1において、最大構成時における旧ストレージコントローラ102減設時のストレージコントローラ102が実行する引き継ぎ処理(ステップ1302)を示すフローチャートである。
【0111】
最初に、ストレージコントローラ102は、減設対象のストレージコントローラ102が保持する各FEポート103のLUN登録情報の移動先を選択し、引継ぎ管理情報605に登録する(ステップ1401)。その際、ストレージコントローラ102は、LUN構成情報603を参照し、減設対象のストレージコントローラ102が保持するFEポート103に登録されているLUNの移動先(すなわち新たな登録先)として、当該LUNが既に登録されているFEポート103を含むストレージコントローラ102以外のストレージコントローラ102のFEポートを選択する。これによって、ストレージコントローラアップグレード中に冗長性が失われることを回避する。
【0112】
ただし、当該LUNが既に登録されているFEポート103を含むストレージコントローラ102以外のストレージコントローラ102が存在しない場合には、当該LUNが既に登録されているFEポート103を含むストレージコントローラ102において、当該LUNがまだ登録されていないFEポート103を選択する。そのようなFEポート103も存在しない場合には、当該LUNが既に登録されているFEポート103を選択してもよい。
【0113】
次に、ストレージコントローラ102は、LUN制御権の切り替え先コントローラを選択し、引継ぎ管理情報605に登録する(ステップ1402)。その際、ストレージコントローラ102は、LUN構成情報603を参照し、制御権を持つLUNが少ないストレージコントローラ102をLUN制御権の切り替え先として選択してもよい。これによって、負荷分散が実現される。あるいは、ストレージコントローラ102は、LUN登録されているFEポート103を含むストレージコントローラ102をLUN制御権の切り替え先として選択してもよい。これによって、ホスト計算機120からのアクセス毎にストレージコントローラ間通信が発生して、I/O性能が低下することが防止される。
【0114】
次に、ストレージコントローラ102は、設定した引継ぎ管理情報605を参照して、LUN制御権の切り替えを実施する(ステップ1403)。
【0115】
次に、ストレージコントローラ102は、設定した引継ぎ管理情報605を参照して、対象のFEポート103に対してLUN登録を行う(ステップ1404)。
【0116】
LUN制御権切り替え(ステップ1403)及びLUN登録(ステップ1404)は、各LUNに対して逐次的に行ってもよい。
【0117】
次に、ストレージコントローラ102は、減設対象ストレージコントローラ102内に共有メモリ領域404内の情報が格納されているかどうかを判定する(ステップ1405)。共有メモリ領域404内の情報が格納されているのであれば、ステップ1406へ進み、含まないのであれば、引継ぎ管理情報605の共有メモリ格納情報1104に何も登録せずに処理を終了する。
【0118】
ステップ1406では、減設対象ストレージコントローラ102内の共有メモリ領域404内の情報を減設対象でないストレージコントローラ102(又は112)へ移動し、移動先ストレージコントローラ102(又は112)及び移動先共有メモリ領域404内の情報を引継ぎ管理情報605の共有メモリ移動先情報1107及び共有メモリ格納情報1104に登録する。その際、移動する共有メモリの冗長度が失われないように、ストレージコントローラ102は、移動対象の共有メモリ内情報を含まないストレージコントローラ102(又は112)を移動先として選択する。
【0119】
最大構成時における旧ストレージコントローラ102減設時のストレージコントローラ102が実行する引き継ぎ処理を完了する。
【0120】
図15は、本発明の実施例1において、最大構成時における新ストレージコントローラ112増設後のストレージコントローラ102が実行する引き継ぎ処理(ステップ1308)を示すフローチャートである。
【0121】
最初に、ストレージコントローラ102は、引継ぎ管理情報605を参照し、増設したストレージコントローラ112へ移動するFEポート103毎のLUN登録情報を参照する(ステップ1501)。次に、引継ぎ管理情報605を参照し、増設したストレージコントローラ112へ制御権を移動するLUNを選択する(ステップ1502)。
【0122】
次に、ストレージコントローラ102は、LUN制御権を増設したストレージコントローラ112に切り替える(ステップ1503)。次に、ストレージコントローラ102は、増設したストレージコントローラ112のFEポート103にLUN登録を行う(ステップ1504)。次に、ストレージコントローラ102は、引継ぎ管理情報605を参照し、減設対象ストレージコントローラ102内から別のストレージコントローラ102に移動された共有メモリ領域404内の情報が存在するかどうかを判定する(ステップ1505)。共有メモリ領域404内の情報が存在するのであれば、ステップ1506へ進み、存在しないのであれば終了する。
【0123】
ステップ1506では、減設されたストレージコントローラ102から退避された共有メモリ領域404内の情報を増設したストレージコントローラ112へ移動する。
【0124】
以上で、最大構成時における新ストレージコントローラ112増設後のストレージコントローラ102が実行する引き継ぎ処理を完了する。
【0125】
図16は、本発明の実施例1において、最大構成未満時における新ストレージコントローラ112増設後のストレージコントローラ102が実行する引き継ぎ処理(ステップ1314)を示すフローチャートである。
【0126】
最初に、ストレージコントローラ102は、減設対象のストレージコントローラのFEポート103のLUN登録情報を参照し、LUN毎の登録引き継ぎ先FEポート103を選択する(ステップ1601)。次に、ストレージコントローラ102は、減設対象ストレージコントローラ102が制御権を保持するLUNについて、制御権を移動する増設対象のストレージコントローラ112を選択する。一度に増設及び減設するストレージコントローラが複数存在する場合は、LUN制御権が登録されていたストレージコントローラ102に対応するように、移動先のストレージコントローラ112を選択する(ステップ1602)。
【0127】
次に、ストレージコントローラ102は、LUN制御権を増設したストレージコントローラ112に切り替える(ステップ1603)。次に、ストレージコントローラ102は、増設したストレージコントローラ112のFEポート103にLUN登録を行う(ステップ1604)。ステップ1603及びステップ1604は、LUN毎に逐次的に実施してもよい。
【0128】
次に、ストレージコントローラ102は、減設対象ストレージコントローラ102内に、共有メモリ領域404内の情報を含むかどうかを判定する(ステップ1605)。共有メモリ領域404内の情報が存在するのであれば、ステップ1606へ進み、存在しないのであれば終了する。
【0129】
ステップ1606では、ストレージコントローラ102は、減設対象のストレージコントローラ102から共有メモリ領域404内の情報を増設したストレージコントローラ112へ移動する。
【0130】
以上で、最大構成未満での新ストレージコントローラ112増設後のストレージコントローラ102が実行する引き継ぎ処理を完了する。
【0131】
図17は、本発明の実施例1におけるストレージコントローラ102及び112が実行する新コントローラ増設処理を示すフローチャートである。
【0132】
最初に、増設対象である新ストレージコントローラ112は、自ストレージコントローラ112のハードウェア構成情報を取得する(ステップ1701)。具体的には、新ストレージコントローラ112は、自ストレージコントローラ112内のFEポート103、CPU104、メモリ105、BEポート106及びICポート107等のハードウェア構成要素から、ハードウェア構成情報601の各項目に相当する情報を取得する。
【0133】
次に、新ストレージコントローラ112は、ハードウェア構成情報を設定する(ステップ1702)。具体的には、ストレージコントローラ112は、ステップ1701で取得した情報をハードウェア構成情報601としてメモリ105に格納する。
【0134】
次に、この処理が実行されている時点でストレージシステム100で稼働している各ストレージコントローラ102及び112は、増設側CPU処理可能を登録する(ステップ1703)。これによって、ストレージシステム100内の各ストレージコントローラ102及び112が保持する実装コントローラ管理情報602の実装コントローラIDリスト801に当該増設対象である新ストレージコントローラ112の識別情報が追加される。
【0135】
以上で新コントローラ増設処理が終了する。
【0136】
図18は、本発明の実施例1におけるストレージコントローラ102が実行する旧コントローラ減設処理を示すフローチャートである。
【0137】
最初に、旧ストレージコントローラ102は、キャッシュメモリ領域403上のデータの破棄又はデステージを行う(ステップ1801)。具体的には、旧ストレージコントローラ102は、キャッシュメモリ領域403上のデータが既にドライブボックス109内の記憶領域に格納されていれば、そのデータをキャッシュメモリ領域403から削除し、ドライブボックス109内の記憶領域にまだ格納されていなければ、そのデータをドライブボックス109内の記憶領域に格納した上でそのデータをキャッシュメモリ領域403から削除する。
【0138】
次に、旧ストレージコントローラ102は、新規処理の受け付けを停止する(ステップ1802)。
【0139】
次に、旧ストレージコントローラ102は、既に受け付けていて起動中の処理が停止するのを待つ(ステップ1803)。
【0140】
次に、この処理が実行されている時点でストレージシステム100で稼働している各ストレージコントローラ102及び112は、旧ストレージコントローラ102の減設が反映されるように、ハードウェア構成情報601を更新する(ステップ1804)。また、ここで、各ストレージコントローラ102及び112が保持する実装コントローラ管理情報602の実装コントローラIDリスト801から当該減設された旧ストレージコントローラ102の識別情報が削除される。
【0141】
以上で旧コントローラ減設処理が終了する。
【0142】
図19は、本発明の実施例1におけるストレージコントローラ102及び112が実行するCPU処理制御権切り替え処理を示すフローチャートである。
【0143】
最初に、減設対象である旧ストレージコントローラ102は、ホスト計算機120からの新規のI/O処理の受付を停止する(ステップ1901)。
【0144】
次に、旧ストレージコントローラ102は、既に受け付けて継続中のI/O処理が完了するのを待つ(ステップ1902)。
【0145】
継続中のI/O処理が完了すると、各ストレージコントローラ102及び112は、制御権CPUの移動を設定する(ステップ1903)。具体的には、制御権移動対象の論理ユニットに対応するLUN構成情報603の制御権CPUID903の値を、制御権移動先のストレージコントローラ102のCPU104の識別情報に書き換える。例えば移動元がストレージコントローラ102A、移動先がストレージコントローラ102Cであれば、制御権CPUID903の値がストレージコントローラ102AのCPU104の識別情報からストレージコントローラ102CのCPU104の識別情報に書き換えられる。
【0146】
以上でCPU処理制御権切り替え処理が終了する。
【0147】
図20は、本発明の実施例1におけるストレージコントローラ102及び112が実行するFEポート切り替え処理を示すフローチャートである。
【0148】
最初に、各ストレージコントローラ102及び112は、FEポート103にLUN登録情報を設定する(ステップ2001)。具体的には、各ストレージコントローラ102及び112は、LUN構成情報603の登録済みFEPortIDリスト902及びFEPort構成情報604のLUNIDリスト1003を更新する。
【0149】
次に、LUN登録情報を変更したFEポート103からホスト計算機120に構成変更通知を送信し(ステップ2002)、ホスト計算機120からinquiryを受領したかを判定する(ステップ2003)。
【0150】
ホスト計算機120からinquiryを受領しなかった場合、ホスト計算機120への接続が確認できないため、当該ストレージコントローラ102(又は112)は、FEポート切り替え処理を中断して、処理が失敗したこと及び失敗したFEポート103のポートIDを管理ネットワーク123経由で管理装置122に送信する(ステップ2004)。
【0151】
ホスト計算機120からinquiryを受領した場合、FEポート切り替え処理が終了する。
【0152】
図21は、本発明の実施例1におけるストレージコントローラアップグレード実施作業員が実行する新コントローラ増設作業手順を示すフローチャートである。
【0153】
最初に作業員は、新ストレージノード111をラックに設置する(ステップ2101)。
【0154】
次に、作業員は、新ストレージコントローラ112のFEポート103、BEポート106及びICポート107に各種ケーブルを配線する(ステップ2102)。その際、当該新ストレージコントローラ112によるリプレース対象となる旧ストレージコントローラの各ケーブルが接続されているネットワークと同じネットワークに接続する。同じネットワークに空きポートがないなどの理由で、同じネットワークに接続できない場合は、事前に当該新ストレージコントローラ112のリプレース対象の旧ストレージコントローラ102のFEポート103、BEポート106及びICポート107に接続されている各種ケーブルを接続先ポートから抜いておき、増設したストレージコントローラから接続可能にしておく。
【0155】
次に、作業員は、新ストレージコントローラ112の電源をONする(ステップ2103)。電源操作は、ストレージコントローラ本体に付属しているボタンで操作してもよいし、管理装置122から操作してもよい。
【0156】
最後に、作業員は、管理装置122から新ストレージノードを増設する操作を行う(ステップ2104)。
【0157】
以上で新コントローラ増設を行う作業員の実施手順が終了する。
【0158】
図22は、本発明の実施例1におけるストレージコントローラアップグレード実施作業員が実行する旧コントローラ減設作業処理手順を示すフローチャートである。
【0159】
作業員は、管理装置122でストレージノード減設指示の画面を確認したら、最初に、旧コントローラの電源をOFFする(ステップ2201)。具体的には、作業員は、ストレージコントローラ102に付いている電源ボタンを操作してもよいし、管理装置122を操作してもよい。次に、作業員は、旧ストレージコントローラ102に接続されているケーブルを取り外す(ステップ2202)。
【0160】
最後に、作業員は、旧ストレージノード101をラックから取り外す(ステップ2203)。
【0161】
以上で旧コントローラ減設を行う作業員の実施手順が終了する。
【0162】
図23は、本発明の実施例1におけるストレージコントローラが実行する制御論理切り替え判定処理を含む制御論理を示すフローチャートである。
【0163】
図23に示す処理は、ストレージシステム100を構成する旧ストレージコントローラ102及び新ストレージコントローラ112のそれぞれによって実行される。例えば、ストレージコントローラのアップグレードが開始された時点で、ストレージシステム100内の全てのストレージコントローラが旧ストレージコントローラ102である場合、旧ストレージコントローラ102のそれぞれが図23に示す処理を実行する。アップグレード中に旧ストレージコントローラ102と新ストレージコントローラ112とが混在している場合には、旧ストレージコントローラ102及び新ストレージコントローラ112のそれぞれが図23に示す処理を実行する。ストレージコントローラのアップグレードが終了し、ストレージシステム100内の全てのストレージコントローラが新ストレージコントローラ112である場合、新ストレージコントローラ112のそれぞれが図23に示す処理を実行する。ここでは例として新ストレージコントローラ112が実行する処理として説明する。
【0164】
最初に、ストレージコントローラ112において、ある新・旧ハードウェアバージョン共通論理Aが実行されている(ステップ2301)。次に、ストレージコントローラ112は、ハードウェアバージョンによって、振る舞いを変更する処理を実施する前に、制御論理バージョン管理情報406から対応する論理種別の制御論理バージョン情報1202を参照し、制御論理バージョンが新ストレージコントローラ対応になっているかどうかを判定する(ステップ2302)。対応している場合は、ステップ2303へ進み、対応していない場合はステップ2305へ進む。
【0165】
ステップ2303では、ストレージコントローラ112は、新ストレージコントローラ専用論理によって処理を実施する。その後、ステップ2304の新・旧共通制御論理Bに進む。
【0166】
ステップ2305では、ストレージコントローラ112は、旧ストレージコントローラとの互換論理により処理を実施する。その後、ステップ2304の新・旧共通制御論理Bに進む。
【0167】
ステップ2304では、ストレージコントローラ112は、新・旧共通制御論理Bを実行する。
【0168】
旧ストレージコントローラ102が実行する処理も上記と同様である。ただし、ストレージシステム100内に旧ストレージコントローラ102が少なくとも一つ残っている場合、制御論理バージョンが新ストレージコントローラ対応になっていることはない。このため、旧ストレージコントローラ102がステップ2303を実行することはない。
【0169】
このようにして、ストレージシステム100内の全てのストレージコントローラのアップグレードが完了する前に、一部の新ストレージコントローラ112が、旧ストレージコントローラ102との互換性がない処理を実施してしまうことを回避する。
【0170】
ハードウェアのバージョンによって振る舞いを変更する処理としては、例えば、圧縮又は暗号アルゴリズムなど、CPU処理負荷が高く、最新ハードウェアの高性能なCPUでない場合に性能低下を抑止するために動作させたくないような処理などが存在する。また、ハードウェアの性能及びソフトウェア互換性に問題がなくとも、製品モデルとして実現可能な機能や性能を明確に定義したい場合も考えられる。すなわち、新ストレージコントローラ専用論理とは、新ストレージコントローラ112のみで実行可能な制御論理であってもよいが、それに限定されず、新ストレージコントローラ112及び旧ストレージコントローラ102のいずれでも実行可能ではあるが旧ストレージコントローラ102では実行されない制御論理であってもよい。
【0171】
図24Aから図24Cは、本発明の実施例1における管理装置に表示するストレージコントローラアップグレード作業指示画面を示す説明図である。
【0172】
図24Aは、アップグレード前にストレージコントローラ数がストレージシステム最大数であって、新ノードを増設する前に表示する画面の一例である。
【0173】
図24Aに示す画面2401は、例えば、図13のステップ1305において管理装置122の表示装置(図示省略)によって表示される。画面2401は、旧ストレージノードを減設してから新ストレージノードを増設する手順を示す情報、減設対象のストレージノードを指定する情報、指定されたストレージノードの減設及び新ストレージノードの増設を指示する情報、及び、実行ボタン2402等を含む。作業員がこれに従って減設対象の旧ストレージノードを減設(図23参照)し、新ストレージノードを増設(図22参照)して実行ボタン2402を操作すると、ステップ1307以降の処理が実行される。
【0174】
図24Bは、アップグレード前にストレージコントローラ数がストレージシステム最大数よりも少ない時に、新ノードを増設する前に表示する画面の一例である。
【0175】
図24Bに示す画面2403は、例えば、図13のステップ1311において管理装置122の表示装置(図示省略)によって表示される。画面2403は、新ストレージノードを増設してから旧ストレージノードを減設する手順を示す情報、新ストレージノードの増設を指示する情報、及び、実行ボタン2404等を含む。作業員がこれに従って新ストレージノードを増設(図22参照)して実行ボタン2404を操作すると、ステップ1313以降の処理が実行される。
【0176】
図24Cは、アップグレード前にストレージコントローラ数がストレージシステム最大数よりも少ない時に、旧ストレージノードを減設する前に表示する画面の一例である。
【0177】
図24Cに示す画面2405は、例えば、図13のステップ1316において管理装置122の表示装置(図示省略)によって表示される。画面2405は、新ストレージノードを増設してから旧ストレージノードを減設する手順を示す情報、減設対象のストレージノードを指定する情報、指定されたストレージノードの減設を指示する情報、及び、確認ボタン2406等を含む。作業員がこれに従って旧ストレージノードを減設(図23参照)して確認ボタン2406を操作すると、減設対象の旧ストレージノードが取り外されたことを管理装置122及びストレージシステム100が認識する。
【実施例2】
【0178】
次に、本発明の実施例2を示す。以下に説明する相違点を除き、実施例2のシステムの各部は、図1図24Cに示された実施例1の同一の符号を付された各部と同一の機能を有するため、それらの説明は省略する。
【0179】
図25Aから図25Dは、本発明の実施例2における、アップグレード前のストレージシステムにインターコネクトポート107及びインターコネクトスイッチ108が実装されていない場合の、ストレージコントローラアップグレード処理の手順の概要を示す説明図である。
【0180】
図25Aは、ストレージコントローラ102のアップグレードが開始される前のストレージシステム100を示す。このとき、ストレージシステム100は、旧ストレージコントローラ102A及び102Bを有し、新ストレージコントローラ112A及び112Bを有していない。このとき、二つのストレージコントローラ102A及び102Bによって冗長性が確保されている。また、このとき、旧ストレージコントローラ102A及び102Bは、インターコネクトポート107を有しておらず、ストレージシステム100はインターコネクトスイッチ108を有していない。。
【0181】
図25Bは、ストレージノード101Aのアップグレードが実行されているときで、インターコネクトポート107及びインターコネクトスイッチ108を増設した後のストレージシステム100を示す。
【0182】
図25Cは、ストレージノード101Aのアップグレードが実行されているときで、新ストレージノード111Aを増設した後のストレージシステム100を示す。このとき、ストレージシステム100は、旧ストレージコントローラ102A及び102Bに加えて、増設された新ストレージコントローラ112A及び112Bを有する。このとき、四つのストレージコントローラ102A~102B及び112A~112Bによって冗長性が確保されている。
【0183】
図25Dは、ストレージノード101Aのアップグレードが終了した後のストレージシステム100を示す。このとき、旧ストレージコントローラ102A~102B、インターコネクトポート107及びインターコネクトスイッチ108は既に減設されており、ストレージシステム100は、新ストレージコントローラ112A及び112Bを有する。このとき、二つのストレージコントローラ112A及び112Bによって冗長性が確保されている。
【0184】
図26は、本発明の実施例2におけるストレージコントローラ102のメモリ105内の共有メモリ領域404の構成を示す説明図である。
【0185】
共有メモリ404には、ハードウェア構成情報601、実装コントローラ管理情報602、LUN構成情報603、FEポート構成情報604、引継ぎ管理情報605、制御論理バージョン管理情報606、インターコネクトスイッチ実装管理情報607、接続先ホスト情報608及びドライブボックス構成情報609が格納される。
【0186】
図27は、本発明の実施例2におけるストレージコントローラ102のメモリ105に保持されるインターコネクトスイッチ実装管理情報607の構成を示す説明図である。
【0187】
インターコネクトスイッチ実装管理情報607は、インターコネクトスイッチ実装有無情報2701を含む。インターコネクトスイッチ実装有無情報2701によって、ストレージシステムにインターコネクトスイッチ108が実装されているかどうかが管理される。
【0188】
図28は、本発明の実施例2におけるストレージコントローラ102のメモリ105に保持される接続先ホスト情報608の構成を示す説明図である。
【0189】
接続先ホスト情報608は、FEPortID2801及び接続先ホストポート識別情報リスト2801を含む。FEPortID2801は、FEPortの識別情報である。接続先ホストポート識別情報リスト2802は、当該FEPortIDにLUNを定義しているホストポート識別情報のリストである。
【0190】
図29は、本発明の実施例2におけるストレージコントローラ102のメモリ105に保持されるドライブボックス構成情報609の構成を示す説明図である。
【0191】
ドライブボックス構成情報609は、ドライブボックスロケーション2901、ドライブボックス種別2902及びドライブボックスポート数2903を含む。ドライブボックスロケーション2901は、ストレージシステム100におけるドライブボックスの搭載位置を示す。この情報によって、各ドライブボックスが、ストレージコントローラとBEポートを経由して直接接続されるのか、別のドライブボックスを経由して接続されるのかが管理される。ドライブボックス種別2902は、ドライブボックスの種類を示す。ドライブボックスの種類によって、通信プロトコル、搭載可能ドライブ数、搭載可能ドライブ種別などが識別される。ドライブボックスポート数2903は、ドライブボックスに搭載されているドライブボックスポート数を示す。
【0192】
なお、ドライブボックスのポート数及び搭載位置の例については、後述する実施例3において説明する。
【0193】
図30は、本発明の実施例2におけるストレージコントローラ102が実行するコントローラアップデート処理の全体を示すフローチャートである。
【0194】
最初に、ストレージコントローラ102は、アップグレード対象のノードを特定する(ステップ3001)。次に、ストレージコントローラ102は、ハードウェア構成情報601及びインターコネクトスイッチ実装管理情報607を参照して、インターコネクトポート107及びインターコネクトスイッチ108が実装されているかを判定する(ステップ3002)。既に、インターコネクトポート107及びインターコネクトスイッチ108がともに実装済みであれば、ステップ3006に進む。インターコネクトポート107及びインターコネクトスイッチ108の少なくともどちらか一方が未実装であれば、ステップ3003に進む。
【0195】
ステップ3003では、作業員によるインターコネクトポート107及びインターコネクトスイッチ108の増設を促すために、インターコネクトポート107及びインターコネクトスイッチ108の増設作業指示を管理画面に表示し、ステップ3004では作業員からの操作指示を待つ。
【0196】
作業員からの操作を受け付けたら、ストレージコントローラ102は、インターコネクトポート107及びインターコネクトスイッチ108の増設処理を実施する(ステップ3005)。
【0197】
ステップ3006では、ストレージコントローラ102は、作業員による機器の設置及びケーブル等の配線を促すために、旧ストレージノード101の減設作業及び新ストレージノード111の増設作業指示を管理画面に表示し、作業員からの操作を待つ(ステップ3007)。
【0198】
作業員からの操作を受け付けたら、ストレージコントローラ102は、新ストレージノード111の増設処理を開始する(ステップ3008)。
【0199】
次に、ストレージコントローラ102は、FEポート毎のLUN割当を増設した新ストレージコントローラ112に追加する(ステップ3009)。
【0200】
次に、ストレージコントローラ102は、作業員及びユーザによるホストパス設定変更を促すために、ホストマルチパス追加指示を管理画面に表示(ステップ3010)し、作業員からの操作を待つ。ホストマルチパス追加が完了すると、各LUNは、旧ストレージコントローラ102と新ストレージコントローラ112の両方のFEポートを通してアクセス可能な状態となっている。
【0201】
次に、ストレージコントローラ102は、LUNの制御権及び共有メモリ情報を新ストレージコントローラ112に移動させる(ステップ3011)。
【0202】
次に、ストレージコントローラ102は、作業員に旧ストレージコントローラ102のFEポート103に接続されているホストパスに対応するマルチパスが新ストレージコントローラ112のFEポート113に接続されていることの確認を促すために、接続先ホストポートリストを管理画面に表示(ステップ3012)し、作業員からの操作を待つ(ステップ3013)。
【0203】
作業員からの操作を受け付けたら、ストレージコントローラ102は、旧ストレージコントローラ102の減設作業を開始する(ステップ3014)。次に、ストレージコントローラ102は、作業員による機器やケーブルの取り外しを促すために、減設した旧ストレージノード101の減設作業指示を管理画面に表示する(ステップ3015)。その後、ステップ3016へ進む。なお、ステップ3015の指示を受けて、作業員は減設作業を実行する。
【0204】
ステップ3016では、ストレージコントローラ102は、コントローラバージョン情報702を参照して、ストレージシステム内に旧ストレージコントローラ102が残っているかどうかを判定する。旧ストレージコントローラ102が残っている場合には、ステップ3001に戻る。全て新ストレージコントローラ112へ置き換えが完了していたら、ステップ3017へ進む。
【0205】
ステップ3017では、ストレージコントローラ112は、制御論理バージョン管理情報406を更新し、新ストレージコントローラ112でのみ動作可能な制御論理へ切り替える。
【実施例3】
【0206】
次に、本発明の実施例3を示す。以下に説明する相違点を除き、実施例3のシステムの各部は、図1図30に示された実施例1~実施例2の同一の符号を付された各部と同一の機能を有するため、それらの説明は省略する。
【0207】
図31は、本発明の実施例3におけるストレージコントローラアップグレード実施中のシステム構成を示す説明図である。
【0208】
図31には、図25Cと同様に、新ストレージノード111Aを増設した後の状態を示している。ただし、図25Cに示した構成と比較して、本実施例のストレージシステム100には、少ポートドライブボックス130が追加されている。また、説明のために、ドライブボックス109、少ポートドライブボックス130、ストレージコントローラ102及び112をケーブルで接続するための、ドライブボックス及び少ポートドライブボックス側のポートをドライブボックスポート131と呼ぶ。
【0209】
これまでの実施例では、いずれもドライブボックス109は、二つ以上のストレージノード111の各ストレージコントローラ112等から接続可能であることが前提であった。即ち、ストレージコントローラ112からのユーザデータの書き込み要求及び読み出し要求を受ける四つ以上のドライブボックスポート131が必要である。また、ドライブボックス109は、他のドライブボックスと連結して、ストレージシステム100の搭載ドライブ数を拡張していく必要があるため、さらにドライブボックスポート131が必要となる。
【0210】
ここでは、説明のために、ドライブボックス(例えばドライブボックス109及び少ポートドライブボックス130)が有する複数のドライブボックスポート131のうち、ストレージコントローラ112等からのユーザデータの書き込み要求及び読み出し要求を受けるものをインプット用ドライブボックスポート131、搭載ドライブボックス数を拡張するために他のドライブボックスと接続されるものをアウトプット用ドライブボックスポート131と記載する。各ドライブボックスのインプット用ドライブボックスポート131は、ストレージコントローラ112等のBEポート106と接続されるか、又は、当該ドライブボックスとストレージコントローラ112等との間に設置された他のドライブボックスのアウトプット用ドライブボックスポート131と接続される。
【0211】
しかし、ドライブボックスの中には、ストレージノード一つ分のインプット用ドライブボックスポートしか実装されていないものも存在する。また、ドライブボックスポート数の少ないドライブボックスの方が一般的には安価である。このように、ストレージノード一つ分のインプット用ドライブボックスポート(例えば、二つのドライブボックスポート)しか実装されていないドライブボックスを、本実施例では少ポートドライブボックスと呼ぶ。一方、少ポートドライブボックス以外のドライブボックスは、ストレージノード一つ分より多い数のインプット用ドライブボックスポート(例えば、四つ以上のインプット用ドライブボックスポート)が実装されている。
【0212】
少ポートドライブボックス130を使用して、本発明を適用するためには、図31に示すように、ストレージコントローラ102及び112には、四コントローラ以上と接続可能なドライブボックスポート数を持つドライブボックス109を接続し、当該ドライブボックス109と、少ポートドライブボックス130とを連結させる構成を採る。
【0213】
すなわち、ドライブボックス109のストレージコントローラ側のドライブボックスポートは、ストレージコントローラ102及び112からのユーザデータの書き込み要求及び読み出し要求を受け、少ポートドライブボックス130のストレージコントローラ側のドライブボックスポート(すなわちインプット用ドライブボックスポート131)は、ドライブボックス109を介して、ストレージコントローラ102及び112からのユーザデータの書き込み要求及び読み出し要求を受ける。
【0214】
コントローラアップグレードの処理方式は、他の実施例と共通なので説明を省略する。
【実施例4】
【0215】
次に、本発明の実施例4を示す。以下に説明する相違点を除き、実施例4のシステムの各部は、図1図31に示された実施例1~実施例3の同一の符号を付された各部と同一の機能を有するため、それらの説明は省略する。
【0216】
図32A図32Dは、本発明の実施例4において、ストレージコントローラ単位でアップグレードする手順の概要を示す説明図である。
【0217】
図32Aは、ストレージコントローラ102のアップグレードが開始される前のストレージシステム100を示す。このとき、ストレージシステム100は、旧ストレージコントローラ102A~102Dを有し、新ストレージコントローラ112A及び112Bを有していない。このとき、四つのストレージコントローラ102A~102Dによって冗長性が確保されている。
【0218】
図32Bは、ストレージノード101Bのアップグレードが実行されているときで、ストレージノード101B内のストレージコントローラ102Dが減設された後のストレージシステム100を示す。このとき、ストレージシステム100は、旧ストレージコントローラ102A~102Cを有し、新ストレージコントローラ112A及び112Bを有していない。このとき、三つのストレージコントローラ102A~102Cによって冗長性が確保されている。
【0219】
図32Cは、ストレージノード101Bのアップグレードが実行されているときで、新ストレージノード11A内に、新ストレージコントローラ112Bが増設された後のストレージシステム100を示す。これは、旧ストレージコントローラ112Dが新ストレージコントローラ112Bにアップデートされた状態である。旧ストレージコントローラ112DのFEポート103、BEポート106及びICポート107に接続されていたケーブルは、それぞれ、新ストレージコントローラ112Bの各ポートに接続される。このとき、ストレージシステム100は、旧ストレージコントローラ102A~102C及び新ストレージコントローラ112Bを有し、新ストレージコントローラ112Aを有していない。このとき、四つのストレージコントローラ102A~102C及び112Bによって冗長性が確保されている。
【0220】
これ以降、旧ストレージコントローラを一つ減設し、対応する新ストレージコントローラを一つ増設する手順を繰り返して、ストレージシステム内に旧ストレージコントローラがなくなったらストレージコントローラアップグレード処理が完了する。
【0221】
例えば、図32Cに示した状態のストレージシステム100において、旧ストレージコントローラ102Cを減設して、対応する新ストレージコントローラ112Aを増設する。さらに、旧ストレージコントローラ102B及び102Aについても上記と同様の手順を繰り返すことによって、全ての旧ストレージコントローラ102が新ストレージコントローラ112にアップグレードされる。
【0222】
また、本発明の実施形態のシステムは次のように構成されてもよい。
【0223】
(1)データを格納する記憶媒体を有するストレージドライブ(例えばドライブボックス109)と、プロセッサ(例えばCPU104)とメモリ(例えばメモリ105)とポート(例えばFEポート103、BEポート106及びICポート107)とを有してストレージドライブに入出力するデータを処理する複数のストレージ制御部(例えばストレージコントローラ102及び112の少なくともいずれか)と、を有するストレージシステム(例えばストレージシステム100)であって、ストレージシステムに実装されているストレージ制御部のリスト(例えば実装コントローラIDリスト801)と、ストレージシステムに実装可能なストレージ制御部の最大数(例えば実装可能最大コントローラ数802)と、にかかる情報を保持し、ストレージ制御部を交換する場合に、実装されているストレージ制御部の数と、実装可能なストレージ制御部の最大数とに基づいて、減設するストレージ制御部から増設するストレージ制御部へ移動させる構成を、他のストレージ制御部へ介して移動させるか直接移動させるかを決定する(例えばステップ1302~1308、1311~1316)。
【0224】
これによって、接続されているストレージ制御部の数に応じて、無停止かつ冗長性および性能低下の影響を抑えて、ハードウェアを交換することができる。
【0225】
(2)上記(1)において、実装されているストレージ制御部の数が実装可能な最大数である場合、ストレージ制御部の構成を他のストレージ制御部へ介して移動させ(例えばステップ1303~1308)、実装されているストレージ制御部の数が実装可能な最大数未満である場合、ストレージ制御部の構成を、減設するするストレージ制御部から増設するストレージ制御部へ直接移動させる(例えばステップ1311~1316)。
【0226】
これによって、接続されているストレージ制御部の数に応じて、無停止かつ冗長性および性能低下の影響を抑えて、ハードウェアを交換することができる。
【0227】
(3)上記(2)において、ストレージ制御部には、ストレージドライブの記録領域にデータ入出力する制御権が設定され、制御権を有するストレージ制御部は、制御権にかかる記憶領域にアクセスするための制御情報及びポート設定情報を有し、移動する構成は、制御権、制御情報及びポート設定情報である(例えばLUN構成情報603及びFEポート構成情報604等)。
【0228】
これによって、接続されているストレージ制御部の数に応じて、無停止かつ冗長性および性能低下の影響を抑えて、ハードウェアを交換することができる。
【0229】
(4)上記(3)において、ストレージ制御部のメモリには、制御権に紐付けられたデータが格納されており、移動させる構成には、制御権に紐付けられたメモリ内のデータを含む。
【0230】
これによって、接続されているストレージ制御部の数に応じて、無停止かつ冗長性および性能低下の影響を抑えて、ハードウェアを交換することができる。
【0231】
(5)上記(4)において、交換後のストレージ制御部は、第1の制御プログラムと、第2の制御プログラムと、を実行可能であり、交換前のストレージ制御部は、少なくとも、前記第2の制御プログラムを実行可能であり、ストレージシステム内の全てのストレージ制御部が交換後のストレージ制御部である場合、第1の制御プログラムを用いてストレージドライブに入出力されるデータを処理し(例えばステップ2303)、ストレージシステム内の少なくとも一つのストレージ制御部が交換前のストレージ制御部である場合、第2の制御プログラムを用いてストレージドライブに入出力されるデータを処理する(例えばステップ2305)。
【0232】
これによって、無停止かつ冗長性および性能低下の影響を抑えて、交換後のハードウェアに対応するソフトウェアにアップデートすることができる。また、ストレージシステムで実施される各処理について、交換前後のストレージ制御部のどちら側でも実施することができ、I/Oを停止することなく、各処理を交換後のストレージ制御部で実施するように切り替えていくことができる。
【0233】
(6)上記(5)において、交換前のストレージ制御部を減設する処理は、減設対象のストレージ制御部のメモリのキャッシュ領域のデータをストレージドライブに格納する処理と、減設対象のストレージ制御部がアクセス要求の受付を停止するようにポートを変更する処理と、減設対象のストレージ制御部の減設が反映されるようにメモリ内のハードウェア構成情報を更新する処理と、を含み(例えばステップ1304、1315、1808~1804)、ストレージ制御部を増設する処理は、ストレージ制御部の増設が反映されるようにメモリ内のハードウェア構成情報を更新する処理を含む(例えばステップ1307、1313、1701~1703)。
【0234】
これによって、ストレージ制御部を新しいハードウェアにアップデートすることができる。
【0235】
(7)上記(6)において、各ストレージ制御部は、ホスト計算機がデータ入出力を行うポートと論理ユニットとを提供し、論理ユニットは、ポートに対応付けられており、ストレージシステムに実装されているストレージ制御部の数が最大数である場合、減設対象のストレージ制御部を減設する処理において、減設対象の旧ストレージ制御部以外のいずれかのストレージ制御部のポートを選択し、減設対象のストレージ制御部のポートに対応付けられている論理ユニットを前記選択されたポートに対応付ける処理を実行し(例えばステップ1303、1401~1406)、ストレージ制御部を増設する処理において、選択されたポートに対応付けられた論理ユニットを、増設されたストレージ制御部のポートに対応付ける処理を実行し(例えばステップ1308、1501~1506)、ストレージシステムに実装されているストレージ制御部の数が最大数に満たない場合、ストレージ制御部を増設し減設対象の旧ストレージ制御部を減設する処理において、減設対象のストレージ制御部のポートに対応付けられている論理ユニットを、増設されるストレージ制御部のポートに対応付ける処理を実行する(例えばステップ1314、1601~1606)。
【0236】
これによって、交換前に設定されていた論理ユニット等の構成情報が交換後のストレージ制御部に引き継がれ、交換前のストレージ制御部に接続されていたドライブをそのまま交換後のストレージ制御部に引き継ぐことができる。
【0237】
(8)上記(7)において、選択されたポートは、減設対象のストレージ制御部のポートに対応付けられている論理ユニットに既に対応付けられているポートを有するストレージ制御部とは異なるストレージ制御部が有するポートである。
【0238】
これによって、ストレージ制御部のアップデートの実行中に冗長性が低下することが防止される。
【0239】
(9)上記(2)において、実装されているストレージ制御部の数が実装可能な最大数未満である場合、ストレージ制御部を最大数以下となるように増設し、ストレージ制御部の構成を減設するストレージ制御部から増設するストレージ制御部へ移動させ、ストレージ制御部を減設することを、複数回繰り返して複数台のストレージ制御部を交換する。
【0240】
これによって、接続されているストレージ制御部の数に応じて、無停止かつ冗長性および性能低下の影響を抑えて、ハードウェアを交換することができる。
【0241】
(10)上記(1)において、ストレージ制御部の増設及び減設を実行する前に、減設するストレージ制御部に、他のストレージ制御部との間の通信のためのインターコネクトポート(例えばインターコネクトポート107)が実装されているかを判定し、インターコネクトポートが実装されていない場合、インターコネクトポートの実装作業を指示する情報を出力し(例えばステップ3003)、インターコネクトポートが実装された場合、実装されたインターコネクトポートを介して減設するストレージ制御部から増設するストレージ制御部へ移動させることによってストレージ制御部を交換する。
【0242】
これによって、複数のストレージノードを持たない(したがって通常の運用時にインターコネクトポートを必要としない)ストレージシステムにおいても、無停止かつ冗長性および性能低下の影響を抑えたハードウェアの交換を実現することができる。
【0243】
(11)上記(1)において、ストレージ制御部の増設及び減設を実行する前に、ストレージ制御部間の通信のためのインターコネクトスイッチ(例えばインターコネクトスイッチ108)が実装されているかを判定し、インターコネクトスイッチが実装されていない場合、インターコネクトスイッチの実装作業を指示する情報を出力し(例えばステップ3003)、インターコネクトスイッチが実装された場合、実装されたインターコネクトスイッチを介して減設するストレージ制御部から増設するストレージ制御部へ移動させることによってストレージ制御部を交換する。
【0244】
これによって、複数のストレージノードを持たない(したがって通常の運用時にインターコネクトスイッチを必要としない)ストレージシステムにおいても、無停止かつ冗長性および性能低下の影響を抑えたハードウェアの交換を実現することができる。
【0245】
(12)上記(1)において、ストレージ制御部は、ホスト計算機がデータ入出力を行うポートと論理ユニットとを提供し、論理ユニットは、ポートに対応付けられており、減設するストレージ制御部から増設するストレージ制御部への移動を実行した後、減設するストレージ制御部を減設する前に、増設するストレージ制御部のポートに論理ユニットを定義しているホスト計算機のポートのリストを出力する(例えばステップ3012)。
【0246】
これによって、マルチパスが追加されたことを確認し、無停止かつ冗長性および性能低下の影響を抑えたハードウェアの交換を確実に実現することができる。
【0247】
(13)上記(1)において、それぞれが1以上のストレージドライブを含む複数のドライブボックスが実装され、複数のドライブボックスの各々には、ストレージ制御部からのユーザデータの書き込み要求及び読み出し要求を受けるのドライブボックスポート(例えばドライブボックスポート131)が実装され、複数のドライブボックスは、第1のドライブボックス(例えば少ポートドライブボックス130)と、第1のドライブボックスより多くのドライブボックスポートが実装された第2のドライブボックス(例えばドライブボックス109)とを含み、複数のドライブボックスは、第2のドライブボックスのドライブボックスポートがストレージ制御部からのユーザデータの書き込み要求及び読み出し要求を受け、第1のドライブボックスのドライブボックスポートが第2のドライブボックスを介してストレージ制御部からのユーザデータの書き込み要求及び読み出し要求を受けるように実装される。
【0248】
これによって、安価なドライブボックスを使用するシステムにおいても、無停止かつ冗長性および性能低下の影響を抑えたハードウェアの交換を実現することができる。
【0249】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明のより良い理解のために詳細に説明したものであり、必ずしも説明の全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることが可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【0250】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によってハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによってソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、不揮発性半導体メモリ、ハードディスクドライブ、SSD(Solid State Drive)等の記憶デバイス、または、ICカード、SDカード、DVD等の計算機読み取り可能な非一時的データ記憶媒体に格納することができる。
【0251】
また、制御線及び情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線及び情報線を示しているとは限らない。実際にはほとんど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【0252】
100 ストレージシステム
101A~101C、111A~111C ストレージノード
102A~102F、112A~112F ストレージコントローラ
103 フロントエンドネットワークポート(FEポート)
104 CPU
105 メモリ
106 バックエンドネットワークポート(BEポート)
107 インターコネクトネットワークポート(ICポート)
108 インターコネクトスイッチ
109 ドライブボックス
120A、120B ホスト計算機
121 ネットワークスイッチ
122 管理装置
123 管理ネットワーク
図1
図2A
図2B
図2C
図2D
図2E
図3A
図3B
図3C
図3D
図3E
図3F
図3G
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24A
図24B
図24C
図25A
図25B
図25C
図25D
図26
図27
図28
図29
図30
図31
図32A
図32B
図32C