(58)【調査した分野】(Int.Cl.,DB名)
マイグレーション指示により、前記第1のiSCSIターゲット、および、前記第2のiSCSIイニシエータを直接の物理的接続を介して出力する前記第1の中継装置と、
マイグレーション指示により、前記第1のiSCSIターゲット、および、前記第2のiSCSIイニシエータを受け取り動作させる前記第2の中継装置と、
を含むことを特徴とする請求項3の情報処理システム。
前記仮想マシン、前記第1のiSCSIターゲット、前記第2のiSCSIイニシエータ、および、前記仮想マシンに使用されるデータを格納し、前記第1の中継装置、および、前記第2の中継装置に接続される仮想マシン用ストレージ装置と、
前記第1の中継装置の前記仮想マシンの障害が検出されると、コールドマイグレーション指示を出力する前記管理装置と、
コールドマイグレーション指示により、前記仮想マシン用ストレージ装置から、前記仮想マシンの実装のためのデータおよび前記第1のiSCSIターゲットおよび前記第2のiSCSIイニシエータを読み出し実装し起動する前記第2の中継装置と、
前記iSCSIストレージ装置の前記ログ領域に格納された前記要求の内容のうち実施済みでない要求を読み出し、当該要求を前記iSCSIストレージ装置に出力する、前記第2の中継装置の前記第2のiSCSIイニシエータと、
を含むことを特徴とする請求項6の情報処理システム。
【発明を実施するための形態】
【0012】
次に、本発明の第1の実施の形態について図面を参照して詳細に説明する。
図1は、本発明の第1の実施の形態の構成を示すブロック図である。
【0013】
図1を参照すると、第1の実施の形態の中継部システム150は、管理装置300、中継装置401(マイグレーション元)、および、中継装置402(マイグレーション先)を含む。
【0014】
中継装置401、402は、それぞれ、キャッシュ441、キャッシュ442を含む。キャッシュ441、キャッシュ442は、図示しない主記憶上に構成可能である。中継装置401、402は、それぞれ、独立した物理的接続(たとえば、Ethernet(登録商標))を介して、外部装置(たとえば、コンピュータ)と接続される。また、中継装置401、402は、独立した物理的接続(たとえば、Ethernet)を介して1つのストレージ装置と接続される。
【0015】
中継装置401は、外部装置からのストレージ装置に対するI/Oアクセスの要求(コマンド、アドレス、データ等)を受け取ると、キャッシュ441に要求を格納し、ストレージ装置に要求を出力する。管理装置300は、独立した物理的接続(たとえば、Ethernet)で、中継装置401、402に接続される。
【0016】
中継装置401、402は、物理的接続600(たとえば、Ethernet)で、直接接続される。管理装置300は、中継装置401、402に係わるセッション(I/Oアクセスの)、障害を監視している。管理装置300は、中継装置401に係わる障害(たとえば、中継装置401とストレージ装置との間の転送の障害等)を検出すると、中継装置401、402にマイグレーション指示を出力する。
【0017】
中継装置401は、マイグレーション指示により、キャッシュ441の内容を物理的接続600を介して中継装置402に出力する。中継装置402は、マイグレーション指示により、中継装置401からキャッシュ441の内容を受け取り、キャッシュ442に格納する。
【0018】
次に、外部装置から中継装置401が切り離され、中継装置402が、外部装置、ストレージ装置とセッションを実行する。そして、中継装置402は、キャッシュ442に格納された「ストレージ装置に対する要求」を実行する。すなわち、中継装置402は、中継装置401のセッションを引き継ぐ。
【0019】
ここで、中継装置401には、仮想マシンが実装され、その仮想マシンを中継装置402にマイグレーション(移動)する構成が可能である。
【0020】
次に、第1の実施の形態の効果について説明する。
【0021】
第1の実施の形態は、マイグレーション元の中継装置401のキャッシュ441に格納された「ストレージ装置に対する要求」をマイグレーション先の中継装置402のキャッシュ442に移動する構成である。さらに、マイグレーション先の中継装置402が、「ストレージ装置に対する要求」実施する構成である。
【0022】
したがって、第1の実施の形態は、中継装置401のキャッシュ441の内容が中継装置402にマイグレーションされ、キャッシュ441に存在したストレージ装置に対する要求が実施でき、完全な復旧ができるという効果を持つ。
【0023】
次に、本発明の第2の実施の形態について図面を参照して詳細に説明する。
図2は、本発明の第2の実施の形態の構成を示すブロック図である。
【0024】
図2を参照すると、第2の実施の形態の情報処理システム100は、iSCSI(Internet Small Computer System Interface :インターネット・スモール・コンピュータ・システム・インタフェース)を実現するシステムである。情報処理システム100は、コンピュータ200、中継部システム150、および、iSCSIストレージ装置500を含む。コンピュータ200は、第1の実施の形態の外部装置の1例であり、オペレーティングシステム上で動作するiSCSIイニシエータ210を含む。
【0025】
中継部システム150は、第1の実施の形態の中継部システム150の1例である。iSCSIストレージ装置500は、第1の実施の形態のストレージ装置の1例である。
【0026】
中継装置401は、仮想マシン410が動作する装置である。また、仮想マシン410には、iSCSIターゲット420、および、iSCSIイニシエータ430が実装されている。マイグレーションにより、仮想マシン410、iSCSIターゲット420、iSCSIイニシエータ430が、中継装置401から中継装置402に移動し、動作する。
【0027】
また、中継装置401、中継装置402は、それぞれ、キャッシュ441、キャッシュ442を含む。キャッシュ441、442は、たとえば、中継装置401、中継装置402内部の主記憶装置(図示せず)上に構成される。キャッシュ441、442は、仮想マシン410、iSCSIターゲット420、および、iSCSIイニシエータ430により使用される。
【0028】
iSCSIストレージ装置500は、iSCSIターゲット520を含む。
【0029】
iSCSIイニシエータ210は、独立な物理的接続(たとえば、Ethernet等)を介して中継装置401、中継装置402のiSCSIターゲット420と接続される。管理装置300は、独立な物理的接続を介してコンピュータ200、中継装置401、および、中継装置402と接続される。
【0030】
中継装置401、中継装置402のiSCSIイニシエータ430は、独立な物理的接続(たとえば、Ethernet等)を介してiSCSIストレージ装置500のiSCSIターゲット520と接続される。
【0031】
コンピュータ200は、iSCSIイニシエータ210を使用し、iSCSIストレージ装置500に対するI/O(Input/Output)処理を行う。管理装置300は、iSCSIのセッション、および、障害状況を管理し、復旧処理を行う。
【0032】
次に、第1の実施の形態の動作について詳細に説明する。
【0033】
まず、一般的なI/O処理の動作について説明する。
【0034】
コンピュータ200のiSCSIイニシエータ210は、iSCSIストレージ装置500に対する要求を中継装置401に出力する。要求とは、たとえば、iSCSIに準拠するコマンド(リード、ライト等を示す)、アドレス(iSCSIストレージ装置500の領域を示す)、ライトデータ等を含む。
【0035】
以下、コマンドがライトコマンド(ライト要求)である場合について説明する。中継装置401のiSCSIターゲット420は、要求(ライトコマンドを含む)を受け取ると、要求をキャッシュ441に格納する。次に、仮想マシン410は、キャッシュ441に格納されたライトデータに対する中間処理を実行する。中間処理とは、たとえば、ライトデータのウィルスチェック等である。
【0036】
仮想マシン410が、中間処理において、ライトデータの正常を確認すると、次に、iSCSIイニシエータ430が、キャッシュ441から要求を読み出し、iSCSIストレージ装置500に出力する。次に、iSCSIイニシエータ430がキャッシュ441内の読み出し済みのその要求を削除する。iSCSIストレージ装置500のiSCSIターゲット520は、要求を受け取ると、ライトデータをアドレスで指定された領域に書き込む。
【0037】
次に、障害が発生した場合の動作について説明する。
【0038】
たとえば、コンピュータ200のiSCSIイニシエータ210と中継装置401のiSCSIターゲット420の間の通信障害が発生すると、仮想マシン410は、障害を示すイベントを管理装置300に出力する。管理装置300は、障害を示すイベントを受け取ると、中継装置401、中継装置402にマイグレーション指示を出力する。
【0039】
中継装置401は、マイグレーション指示を受け取ると、仮想マシン410、iSCSIターゲット420、iSCSIイニシエータ430、および、キャッシュ441の内容を物理的接続600を介して、中継装置402に出力する。
【0040】
中継装置402は、マイグレーション指示を受け取ると、中継装置401からの仮想マシン410、iSCSIターゲット420、iSCSIイニシエータ430を実装(格納)し、キャッシュ442にキャッシュ441の内容を格納する。
【0041】
次に、中継装置402は、コンピュータ200のiSCSIイニシエータ210、iSCSIストレージ装置500のiSCSIターゲット520に対し、接続切り替え通知を出力する。iSCSIイニシエータ210、iSCSIターゲット520は、この接続切り替え通知を受け取ると、中継装置401とのセッションを中止し、以降、中継装置402とのセッションを実行する。
【0042】
次に、中継装置402は、キャッシュ442内の要求(元々、キャッシュ441に格納されていた未実施の要求)を実行する。以降、コンピュータ200、中継装置402、および、iSCSIストレージ装置500の間で、セッションが実行される。
【0043】
次に、第2の実施の形態の効果について説明する。
【0044】
第2の実施の形態は、第1の実施の形態の中継部システム150を含むので、第1の実施の形態と同一の効果を持つ。
【0045】
また、第2の実施の形態は、仮想マシン410、iSCSIターゲット420、iSCSIイニシエータ430をマイグレーションするので、種々のコンピュータアーキテクチャに適用できるという効果を持つ。
【0046】
次に、本発明の第3の実施の形態について図面を参照して詳細に説明する。
図3は、本発明の第3の実施の形態の構成を示すブロック図である。
【0047】
図3を参照すると、第3の実施の形態の情報処理システム101は、第2の実施の形態の情報処理システム100の1例であって、さらに、仮想マシン用ストレージ装置700を含む。また、iSCSIストレージ装置500は、ログ領域530と、運用領域540とを含む。仮想マシン用ストレージ装置700は、独立な物理的接続(たとえば、ファイバー・チャネル)を介し、中継装置401、中継装置402に接続される。
【0048】
仮想マシン用ストレージ装置700は、仮想マシン410の本体(ソフトウェア)、iSCSIターゲット420、iSCSIイニシエータ430、および、仮想マシン410に使用されるデータを格納する。中継装置401は、仮想マシン用ストレージ装置700から、仮想マシン410、iSCSIターゲット420、iSCSIイニシエータ430を内部に実装し動作させる。また、仮想マシン410は、仮想マシン用ストレージ装置700内のデータを参照し、処理を実行する。
【0049】
次に、第3の実施の形態の動作について説明する。
【0050】
まず、一般的なI/O処理の動作について説明する。
【0051】
要求のコマンドがライトコマンド(ライト要求)である場合について説明する。中継装置401のiSCSIターゲット420は、iSCSIイニシエータ210から要求を受け取ると、要求をキャッシュ441に格納する。
【0052】
次に、iSCSIイニシエータ430が、キャッシュ441から要求(ライトコマンド、アドレス(運用領域540を示す)、ライトデータ)を読み出す。そして、iSCSIイニシエータ430は、ログ要求をiSCSIストレージ装置500に出力する。ログ要求は、ライトコマンド、ログ領域530を示すアドレス、ライトデータ(内容はiSCSIイニシエータ210からの要求)を含む。
【0053】
iSCSIストレージ装置500のiSCSIターゲット520は、ログ要求を受け取ると、ライトデータ(内容はiSCSIイニシエータ210からの要求)をアドレスで指定されたログ領域530に書き込む。
【0054】
仮想マシン410が、中間処理において、ライトデータの正常を確認すると、iSCSIイニシエータ430が、キャッシュ441から要求を読み出し、iSCSIストレージ装置500に出力する。
【0055】
iSCSIストレージ装置500のiSCSIターゲット520は、要求を受け取ると、ライトデータをアドレス(運用領域540を示す)で指定された運用領域540に書き込む。
【0056】
次に、iSCSIイニシエータ430は、先にログ領域530に書き込んだライトデータ(内容はiSCSIイニシエータ210からの要求)を、実施済みを示すデータに置き換える。すなわち、iSCSIイニシエータ430は、ログ削除要求(ライトコマンド、ログ領域530を示すアドレス、ライトデータ(内容は実施済みを示すデータ))をiSCSIストレージ装置500に出力する。次に、iSCSIイニシエータ430は、キャッシュ441内の読み出し済みの要求を削除する。
【0057】
iSCSIストレージ装置500のiSCSIターゲット520は、ログ削除要求を受け取ると、アドレスで指定されたログ領域530に、ライトデータ(内容は実施済みを示すデータ)上書きする。
【0058】
次に、障害が発生した場合の動作について説明する。
【0059】
中継装置401の障害で仮想マシン410の障害が発生した場合について説明する。ここで、仮想マシン410の障害が発生したので、キャッシュ441の内容は、保障できない。
【0060】
管理装置300は、コンピュータ200の電源をオフにし、中継装置401、402にコールドマイグレーション指示を出力する。中継装置401は、その指示を受け取ると、仮想マシン410を停止する。
【0061】
中継装置402は、コールドマイグレーション指示を受け取ると、仮想マシン用ストレージ装置700から仮想マシン410、iSCSIターゲット420、iSCSIイニシエータ430を読み出し内部に実装し起動する。
【0062】
次に、起動した仮想マシン410は、iSCSIイニシエータ430により、iSCSIストレージ装置500のログ領域530を読み出し、実施済みでない要求が存在するかどうかを調べる。実施済みでない要求が存在すると、iSCSIイニシエータ430は、その要求をiSCSIストレージ装置500に出力する。
【0063】
iSCSIストレージ装置500のiSCSIターゲット520は、要求を受け取ると、ライトデータをアドレス(運用領域540を示す)で指定された運用領域540に書き込む。
【0064】
次に、iSCSIイニシエータ430は、先にログ領域530に書き込んだライトデータ(内容はiSCSIイニシエータ210からの要求)を、実施済みを示すデータに置き換える。すなわち、iSCSIイニシエータ430は、ログ削除要求(ライトコマンド、ログ領域530を示すアドレス、ライトデータ(内容は実施済みを示すデータ))をiSCSIストレージ装置500に出力する。
【0065】
iSCSIストレージ装置500のiSCSIターゲット520は、ログ削除要求を受け取ると、アドレスで指定されたログ領域530に、ライトデータ(内容は実施済みを示すデータ)を上書きする。
【0066】
次に、管理装置300は、コンピュータ200を起動し、中継装置402との接続を指示する。また、管理装置300は、中継装置402、iSCSIストレージ装置500に、相互の接続の開始を指示する。以降、コンピュータ200、中継装置402、および、iSCSIストレージ装置500の間で、セッションが実行される。
【0067】
次に、第3の実施の形態の効果について説明する。
【0068】
第3の実施の形態は、第2の実施の形態の1例なので、第2の実施の形態と同一の効果を持つ。
【0069】
また、第3の実施の形態は、iSCSIストレージ装置500にログ領域530、運用領域540を設け、ログ領域530に、「運用領域540に対する要求」を格納する構成である。したがって、第3の実施の形態は、マイグレーション後、ログ領域530から「運用領域540に対する要求」を読み出して、実行できるので、中継装置401、または、仮想マシン410に障害が発生しても、復旧が可能となるという効果を持つ。
【0070】
次に、本発明の第4の実施の形態について図面を参照して詳細に説明する。
図4は、本発明の第4の実施の形態の構成を示すブロック図である。
【0071】
図4を参照すると、第4の実施の形態の情報処理システム102は、第3の実施の形態の情報処理システム101の1例であり、さらに、ネットワークスイッチ801、ネットワークスイッチ802を含む。ネットワークスイッチ801、ネットワークスイッチ802は、冗長化されており、どちらか片方が動作しており、障害等により切り替えが発生するように構成してもよい。
【0072】
コンピュータ200と、中継装置401、402とは、それぞれ、ネットワークスイッチ801、ネットワークスイッチ802を経由して接続される。管理装置300と、中継装置401、402とは、それぞれ、ネットワークスイッチ801、ネットワークスイッチ802を経由して接続される。
【0073】
中継装置401、402と、iSCSIストレージ装置500とは、それぞれ、ネットワークスイッチ801、ネットワークスイッチ802を経由して接続される。また、管理装置300とiSCSIストレージ装置500とは、ネットワークスイッチ801、ネットワークスイッチ802を経由して接続される。
【0074】
図4には、中継装置401、402の内部が記載されていないが、
図3と同一である。また、コンピュータ200、管理装置300、中継装置401、402、iSCSIストレージ装置500は、NIC(Network Interface Card)を搭載し、そのポートごとにEthernetのケーブルを接続することが可能である。
【0075】
次に、第4の実施の形態の一般的なI/O処理の動作について詳細に説明する。
【0076】
コマンドがライトコマンドである場合について説明する。
【0077】
コンピュータ200のiSCSIイニシエータ210は、iSCSIストレージ装置500に対する要求をネットワークスイッチ801に出力する。要求は、たとえば、ライトコマンド、アドレス(iSCSIストレージ装置500領域を示す)、ライトデータ等を含む。ネットワークスイッチ801は、受け取った要求を中継装置401に出力する。
【0078】
中継装置401のiSCSIターゲット420は、iSCSIイニシエータ210から要求を受け取ると、要求をキャッシュ441に格納する。
【0079】
次に、iSCSIイニシエータ430が、キャッシュ441から要求(ライトコマンド、アドレス(運用領域540を示す)、ライトデータ)を読み出す。そして、iSCSIイニシエータ430は、iSCSIストレージ装置500に対するログ要求をネットワークスイッチ801に出力する。ログ要求は、ライトコマンド、ログ領域530を示すアドレス、ライトデータ(内容はiSCSIイニシエータ210からの要求)を含む。
【0080】
ネットワークスイッチ801は、ログ要求をiSCSIストレージ装置500に出力する。iSCSIストレージ装置500のiSCSIターゲット520は、ログ要求を受け取ると、ライトデータ(内容はiSCSIイニシエータ210からの要求)をアドレスで指定されたログ領域530に書き込む。
【0081】
次に、仮想マシン410が、中間処理において、ライトデータの正常を確認すると、iSCSIイニシエータ430が、キャッシュ441から要求を読み出し、iSCSIストレージ装置500に向けてネットワークスイッチ801に出力する。ネットワークスイッチ801は、要求を受け取ると、iSCSIストレージ装置500に出力する。
【0082】
iSCSIストレージ装置500のiSCSIターゲット520は、要求を受け取ると、ライトデータをアドレス(運用領域540を示す)で指定された運用領域540に書き込む。
【0083】
次に、iSCSIイニシエータ430は、先にログ領域530に書き込んだライトデータ(内容はiSCSIイニシエータ210からの要求)を、実施済みを示すデータに置き換える。すなわち、iSCSIイニシエータ430は、ログ削除要求(ライトコマンド、ログ領域530を示すアドレス、ライトデータ(内容は実施済みを示すデータ))をiSCSIストレージ装置500に出力する。次に、iSCSIイニシエータ430は、キャッシュ441内の読み出し済みの要求を削除する。
【0084】
iSCSIストレージ装置500のiSCSIターゲット520は、ログ削除要求を受け取ると、アドレスで指定されたログ領域530に、ライトデータ(内容は実施済みを示すデータ)上書きする。
【0085】
次に、障害が発生した場合の動作について図面を参照して詳細に説明する。ネットワークスイッチ801、802の動作は、中継するだけなので記述を省略する。また、ネットワークスイッチ801、802を介しての出力、受け取りの動作も、
図4から明瞭なので、「ネットワークスイッチ801(ネットワークスイッチ802)を介して」という記述を省略する。
【0086】
まず、中継装置401上で動作する仮想マシン410のiSCSIターゲット420が、iSCSIイニシエータ210との間の通信障害を検知した場合について説明する。
図5は、第4の実施の形態の障害処理の動作を示す動作説明図である。
【0087】
図5を参照すると、仮想マシン410(のiSCSIターゲット420)が、通信エラーを示す障害イベントを出力する(ステップS1)。管理装置300は、通信エラーを示す障害イベントを受け取ると、iSCSIイニシエータ210にPing(ピング)を実施する(ステップS2)。
【0088】
Pingにより疎通状態が確認されると(ステップS3/Y)、管理装置300は、iSCSIイニシエータ210の使用するNICの等の間欠障害と判断し、iSCSIイニシエータ210に、要求の再送指示を出力する(ステップS4)。
【0089】
Pingにより疎通状態が確認されないと(ステップS3/N)、管理装置300は、ネットワークスイッチ801に接続されるNIC(iSCSIイニシエータ210が使用する)のポート等の障害と判断する。管理装置300は、ネットワークスイッチ801経由からネットワークスイッチ802経由に切り替えるためのセッション構築指示を、iSCSIイニシエータ210に出力する(ステップS5)。
【0090】
iSCSIイニシエータ210は、セッション構築指示を受け取ると、ネットワークスイッチ801経由のセッションを中止し、ネットワークスイッチ802経由のセッションを開始する(ステップS6)。すなわち、iSCSIイニシエータ210は、NICの「ネットワークスイッチ802に接続するポート」の使用に切り替える。そして、iSCSIイニシエータ210は、要求をネットワークスイッチ802で出力する。このようにして、I/O処理が継続できる。
【0091】
次に、管理装置300が、iSCSIイニシエータ210との要求に関する通信障害ではない障害イベントを受け取った場合、または、自身が障害を検出した場合について説明する。
図6は、第4の実施の形態の障害処理の動作を示す動作説明図である。
【0092】
図6を参照すると、管理装置300は、中継装置401、中継装置402がホットマイグレーションに対応しているかどうかを確認する(ステップS8)。事前に、管理装置300の内部に、外部からホットマイグレーションに対応しているかどうかの情報が設定される構成が可能である。
【0093】
ホットマイグレーションに対応していることが確認されると(ステップS8/Y)、管理装置300は、障害状況を判別する(ステップS9)。
【0094】
たとえば、障害が、管理装置300自身の検出したiSCSIイニシエータ210との通信障害(Pingによる)であると(ステップS9/A1)、管理装置300は、ネットワークスイッチ801とiSCSIイニシエータ210との間の障害と判断する。そして、管理装置300は、中継装置401、402にホットマイグレーション指示を出力する(ステップS10)。
【0095】
ホットマイグレーション指示により、中継装置401は、キャッシュ441の内容、仮想マシン410、iSCSIターゲット420、および、iSCSIイニシエータ430を物理的接続600を介して出力する(ステップS11)。ホットマイグレーション指示により、中継装置402は、キャッシュ441の内容、仮想マシン410、iSCSIターゲット420、および、iSCSIイニシエータ430を受け取り、内部に格納する(ステップS12)。
【0096】
この間、iSCSIイニシエータ210は、要求を再送することが可能である。iSCSIイニシエータ210による失敗した要求(iSCSIコマンド)の再送処理を、コンピュータ200のI/Oタイムアウトが発生しないうちに終了させることが可能なように、物理的接続600の転送速度を設定する構成が可能である。
【0097】
そして、中継装置402は、コンピュータ200、ネットワークスイッチ801、802、および、iSCSIストレージ装置500に、接続の切り替えを通知する(ステップS13)。このようにして、I/O処理が継続される。
【0098】
次に、仮想マシン410がiSCSIストレージ装置500へのアクセスに関する障害を検知した場合(ステップS9/A2)について説明する。
図7は、第4の実施の形態の障害処理の動作を示す動作説明図である。
【0099】
図7を参照すると、iSCSIターゲット420は、iSCSIイニシエータ210からのライト要求を受け取ると、キャッシュ441内に格納し、リード要求を受け取ると、iSCSIターゲット420に応答せず、待たせる(ステップS21)。
【0100】
管理装置300は、中継装置401、402にホットマイグレーション指示を出力する(ステップS22)。
【0101】
ホットマイグレーション指示により、中継装置401は、キャッシュ441の内容、仮想マシン410、iSCSIターゲット420、および、iSCSIイニシエータ430を物理的接続600を介して出力する(ステップS23=S11)。ホットマイグレーション指示により、中継装置402は、キャッシュ441の内容、仮想マシン410、iSCSIターゲット420、および、iSCSIイニシエータ430を受け取り、内部に格納する(ステップS24=S12)。
【0102】
そして、中継装置402は、コンピュータ200、ネットワークスイッチ801、802、および、iSCSIストレージ装置500に、接続の切り替えを通知する(ステップS25=S13)。
【0103】
次に、中継装置402の仮想マシン410上のiSCSIイニシエータ430は、キャッシュ442の内容(元は、キャッシュ441内容)を調べる。そして、iSCSIイニシエータ430は、未実施のライト要求をデータとするログ領域530へのログ要求をiSCSIストレージ装置500に出力する(ステップS26)。これにより、ネットワークスイッチ802、中継装置402経由で、セッションが実施される。
【0104】
次に、仮想マシン410が中間処理を実施し、iSCSIイニシエータ430が、運用領域540に対するライト要求の出力、ログ領域530に対するログ削除要求の出力を実施する(ステップS27)。次に、iSCSIターゲット420は、待たせていたリード要求に対する応答を行う(ステップS28)。
【0105】
このようにして、I/O処理が継続される。
【0106】
次に、ホットマイグレーションに対応していないことが確認された場合(ステップS8/N)、または、管理装置300が、中継装置402から中継装置401の停止障害を示す障害イベントを受け取った場合(ステップS9/A2)について説明する。仮想マシン410の障害をこのA2に含めてもよい。
図8は、本発明の第4の実施の形態の障害処理の動作を示す動作説明図である。
【0107】
図8を参照すると、管理装置300は、コンピュータ200(たとえば、図示しないBMC( Baseboard Management Controller :ベースボード・マネジメント・コントローラ))に電源をオフさせる電源オフコマンドを出力する(ステップS31)。コマンドは、たとえば、IPMI(Intelligent Platform Management Interface :インテリジェント・プラットフォーム・マネジメント・インタフェース)コマンドである。
【0108】
コンピュータ200(のBMC)は、電源オフコマンドを受け取ると、コンピュータ200の電源をオフする(ステップS32)。次に、管理装置300は、中継装置402にコールドマイグレーション指示を出力する(ステップS33)。
【0109】
コールドマイグレーション指示を受け取ると、中継装置402は、仮想マシン用ストレージ装置700から 仮想マシン410、iSCSIターゲット420、iSCSIイニシエータ430を内部に実装し、起動する(ステップS34)。
【0110】
次に、起動した仮想マシン410は、iSCSIイニシエータ430により、iSCSIストレージ装置500のログ領域530を読み出し(ステップS35)、実施済みでない要求が存在するかどうかを調べる(ステップS36)。実施済みでない要求が存在すると(ステップS36/Y)、iSCSIイニシエータ430が、その実施済みでない要求をiSCSIストレージ装置500に出力する(ステップS37)。
【0111】
iSCSIストレージ装置500のiSCSIターゲット520は、要求を受け取ると、ライトデータをアドレス(運用領域540を示す)で指定された運用領域540に書き込む。
【0112】
次に、iSCSIイニシエータ430は、ログ領域530の実施済みでない要求を、実施済みを示すデータに置き換える。すなわち、iSCSIイニシエータ430は、ログ削除要求(ライトコマンド、ログ領域530を示すアドレス、ライトデータ(内容は実施済みを示すデータ)をiSCSIストレージ装置500に出力する(ステップS38)。
【0113】
iSCSIストレージ装置500のiSCSIターゲット520は、ログ削除要求を受け取ると、アドレスで指定されたログ領域530に、ライトデータ(内容は実施済みを示すデータ)を上書きする。
【0114】
次に、仮想マシン410は、管理装置300にセッション構築準備完了イベントを出力する(ステップS39)。
【0115】
セッション構築準備完了イベントを受け取ると、管理装置300は、コンピュータ200(のBMC)に電源をオンさせる電源オンコマンドを出力する(ステップS40)。コンピュータ200(のBMC)は、電源オンコマンドを受け取ると、コンピュータ200の電源をオンする(ステップS41)。
【0116】
管理装置300は、コンピュータ200、ネットワークスイッチ801、802、iSCSIストレージ装置500に、中継装置402に接続を切り替えることを指示するセッション構築指示を出力する(ステップS42)。
【0117】
このようにして、セッションが復旧される。
【0118】
以上において、ステップS9における判別は、A3、A2、A1の優先順位でどれか1つが選択され、処理が実施される。
【0119】
また、仮想マシン用ストレージ装置700を備えず、仮想マシン410、iSCSIターゲット420、および、iSCSIイニシエータ430をiSCSIストレージ装置500に格納する構成が可能である。この構成では、ハードウェアが削減できる。
【0120】
また、管理装置300にiSCSIイニシエータ機能を実装し、iSCSIストレージ装置500のiSCSIターゲット520に直接アクセスできる機能を実装する構成が可能である。
【0121】
この構成では、中継装置401、402の両方に障害が発生しても、管理装置300が、iSCSIストレージ装置500のログ領域530、運用領域540にアクセスし、中継装置401、402の替わりにセッションを実施する。したがって、信頼性の向上が達成される。
【0122】
次に、第4の実施の形態の効果について説明する。
【0123】
第4の実施の形態は、第3の実施の形態の1例なので、第3の実施の形態と同一の効果を持つ。
【0124】
また、第4の実施の形態は、冗長化されたネットワークスイッチ801、802を含むので、信頼性が向上するという効果を持つ。
【0125】
上記の実施の形態の一部、または、全部は、以下の付記のようにも記載されうるが、以下には限られない。
【0126】
[付記1]
外部装置からのストレージ装置に対する要求を受け取り、内部の第1のキャッシュに格納し、前記ストレージ装置に出力し、マイグレーション指示により、前記第1のキャッシュの内容を出力する第1の中継装置と、
マイグレーション指示により、前記第1の中継装置から直接の物理的接続を介し前記第1のキャッシュの内容を受け取り、内部の第2のキャッシュに格納し、前記ストレージ装置に対する要求を実行し、セッションを引き継ぐ第2の中継装置と、
障害が検出されると、前記第1の中継装置、および、前記第2の中継装置にマイグレーション指示を出力する管理装置と、
を含むことを特徴とする中継部システム。
【0127】
[付記2]
前記外部装置であるコンピュータと、
仮想マシンを実装し、マイグレーション指示により前記仮想マシンを前記直接の物理的接続を介し出力する前記第1の中継装置、および、マイグレーション指示により前記仮想マシンを受け取り動作させる前記第2の中継装置を含む付記1の前記中継部システムと、
前記ストレージ装置であるiSCSIストレージ装置と、
を含むことを特徴とする情報処理システム。
【0128】
[付記3]
要求を出力する第1のiSCSIイニシエータを含む前記コンピュータと、
要求を受け取り前記第1のキャッシュに格納する第1のiSCSIターゲット、および、要求を前記iSCSIストレージ装置に出力する第2のiSCSIイニシエータを含む前記第1の中継部システムと、
要求を受け取り実行する第2のiSCSIターゲットを含む前記iSCSIストレージ装置と、
を含むことを特徴とする付記2の情報処理システム。
【0129】
[付記4]
マイグレーション指示により、前記第1のiSCSIターゲット、および、前記第2のiSCSIイニシエータを前記直接の物理的接続を介して出力する前記第1の中継装置と、
マイグレーション指示により、前記第1のiSCSIターゲット、および、前記第2のiSCSIイニシエータを受け取り動作させる前記第2の中継装置と、
を含むことを特徴とする付記3の情報処理システム。
【0130】
[付記5]
前記第1のキャッシュ内のライト要求をライトデータとするログ要求を出力し、中間処理でライト要求の正常が確認されると、前記第1のキャッシュ内のライト要求を出力し、ログ要求で出力したライトデータを削除するための実施済みを示すデータを含むログ削除要求を出力する前記第2のイニシエータと、
前記第1のキャッシュ内のライト要求に対する中間処理を行い正常かどうかを確認する前記仮想マシンと、
前記ログ要求を受け取るとライトデータをログ領域に格納し、ライト要求を受け取るとライトデータを運用領域に格納し、ログ削除要求を受け取るとログ領域のライトデータに上書きする前記第2のiSCSIターゲットと、
を含むことを特徴とする付記4の情報処理システム。
【0131】
[付記6]
マイグレーション指示により、
前記第2のキャッシュ内のライト要求をライトデータとするログ要求を出力し、中間処理でライト要求の正常が確認されると、前記第1のキャッシュ内のライト要求を出力し、ログ要求で出力したライトデータを削除するための実施済みを示すデータを含むログ削除要求を出力する前記第2の中継装置の前記第2のイニシエータと、
前記第2のキャッシュ内のライト要求に対する中間処理を行い正常かどうかを確認する前記第2の中継装置の前記仮想マシンと、
を含むことを特徴とする付記5の情報処理システム。
【0132】
[付記7]
前記仮想マシン、前記第1のiSCSIターゲット、前記第2のiSCSIイニシエータ、および、前記仮想マシンに使用されるデータを格納し、前記第1の中継装置、および、前記第2の接続装置に接続される仮想マシン用ストレージ装置と、
前記第1の中継装置の前記仮想マシンの障害が検出されると、コールドマイグレーション指示を出力する前記管理装置と、
コールドマイグレーション指示により、前記仮想マシン用ストレージ装置から前記仮想マシン、前記第2のiSCSIターゲット、前記第1のiSCSIイニシエータを読み出し実装し起動する前記第2の中継装置と、
前記iSCSIストレージ装置のログ領域を読み出し、実施済みでないライト要求が存在するかどうかを調べ、中間処理で実施済みでないライト要求の正常が確認されると、実施済みでない要求を前記iSCSIストレージ装置に出力する前記第2の中継装置の前記第2のイニシエータと、
を含むことを特徴とする付記6の情報処理システム。
【0133】
[付記8]
前記コンピュータ、前記管理装置、前記第1の中継装置、前記第2の中継装置、および、前記iSCSIストレージ装置をつなぐネットワークスイッチを、
含むことを特徴とする付記7の情報処理システム。
【0134】
[付記9]
外部装置からのストレージ装置に対する要求を受け取り、第1のキャッシュに格納し、前記ストレージ装置に出力し、マイグレーション指示により、前記第1のキャッシュの内容を出力する第1の中継手順と、
マイグレーション指示により、前記第1の中継手順から直接の物理的接続を介し前記第1のキャッシュの内容を受け取り、内部の第2のキャッシュに格納し、前記ストレージ装置に対する要求を実行し、セッションを引き継ぐ第2の中継装手順と、
障害が検出されると、前記第1の中継手順、および、前記第2の中継手順にマイグレーション指示を出力する管理手順と、
を含むことを特徴とする情報処理方法。
【0135】
[付記10]
前記第1の中継手順が、仮想マシンを実装し、マイグレーション指示により前記仮想マシンを前記直接の物理的接続を介し出力し、
前記第2の中継手順が、マイグレーション指示により前記仮想マシンを受け取り動作することを特徴とする付記9の情報処理方法。
【0136】
[付記11]
前記第1の中継手順が、要求を受け取り前記第1のキャッシュに格納する第1のiSCSIターゲット、および、要求を前記iSCSIストレージ装置に出力する第2のiSCSIイニシエータを含むことを特徴とする付記10の情報処理方法。
【0137】
[付記12]
前記第1の中継装置が、マイグレーション指示により、前記第1のiSCSIターゲット、および、前記第2のiSCSIイニシエータを前記直接の物理的接続を介して出力し、
前記第2の中継手順が、マイグレーション指示により、前記第1のiSCSIターゲット、および、前記第2のiSCSIイニシエータを受け取り動作させることを特徴とする付記12の情報処理方法。