本発明を適用した仮想計算機システムについて、図面を参照して詳細に説明する。本実施例では、第一のサーバーモジュール101上で稼動した状態にあるLPAR120を、第二のサーバーモジュール201上へその稼動状態も含めて移行させ、第二のサーバーモジュール201上で移行したLPARを継続して動作させるライブマイグレーション処理を説明する。
なお、ライブマイグレーション処理前の仮想計算機システムの全体構成を図1に示し、ライブマイグレーション処理後の仮想計算機システムの全体構成を図2に示す。
サーバーモジュール101,201は、それぞれ物理デバイス108,208として、物理FC−HBA111,211、物理CPU109,209、物理メモリ110,210及びネットワークインターフェース114、214を備える。物理FC−HBA111および物理FC−HBA211は、一つのFCポートに対する固有のHBAアドレスとして、それぞれPWWN1(Physical World Wide Name)、PWWN2(Physical World Wide Name)を有する。
ハイパザイザ102,202は、サーバーモジュール101,201の物理資源を論理分割し、ハイパザイザ上で複数のLPARを稼働させる。ハイパザイザ102,202は、LPAR管理部103,203、リソース管理部104,204、マイグレーション制御部105,205、論理デバイス管理部106,206及びメモリ管理部107,207を備える。
また、ハイパザイザ102は、LPARに割り当て可能な論理HBAとして、物理FC−HBA111に対応する論理FC−HBA112、論理FC−HBA113を備える。ただし、本実施例において論理FC−HBA113は、論理FC−HBA112の対としてライブマイグレーション処理時に必要となるため、LPARには割り当てないデバイスとする。ハイパザイザ202は、LPARに割り当てる論理HBAとして、物理FC―HBA211に対応する論理FC−HBA212を備える。
LPAR管理部103,203は、LPARの生成及び削除など、LPAR120,220に対する処理を実施する。LPAR管理部103は、LPAR120の構成情報としてLPAR120に割り当てられる論理FC−HBA112,113、論理CPU122、LPARメモリ領域1010を管理する。図1において、LPAR120は、ライブマイグレーション時以外は、LPAR管理部103によって割り当てられた論理FC−HBA112及び論理CPU122を使用する。
リソース管理部104,204は、各論理FC−HBAに付与する固有のWWNを管理する。図1において、論理FC−HBA112は、固有の識別子として、リソース管理部104からWWN1を割り当てられている。論理FC−HBA113は、ライブマイグレーション処理時にのみ使用され、リソース管理部104からWWN1と対となるWWN1’を、動的に割り当てられる。そのため、論理FC−HBA113は、固有のWWNを、割り当てられない。ここで、WWN1’とは、リソース管理部104に管理され、マイグレーション処理において、一時的に論理FC−HBA113へ割り当てるダミーのWWNである。また、論理FC−HBA212は、固有の識別子として、リソース管理部204からWWN2を割り当てられている。
マイグレーション制御部105,205は、マイグレーション処理を制御し、ハイパザイザ102,202上の各モジュールにライブマイグレーションに係る処理の指示を出す。さらに、マイグレーション制御部105とマイグレーション制御部205とは、互いにネットワークインターフェース114、214及びネットワークスイッチ401を介して通信し、サーバーモジュール101とサーバーモジュール201との間で、マイグレーションに係るデータを転送する。
なお、本実施例では、ハイパザイザ102,202がマイグレーション制御部105,205を備えるが、マイグレーション制御部105,205の場所はこれに限定されない。例えば、図27に示すように、マイグレーション制御部105,205がハイパザイザ102,202上の各モジュールの制御を可能とし、かつ他サーバーモジュールを制御する他のマイグレーション制御部との通信が可能であれば、サーバーモジュール101,201内において、サーバーモジュール制御用のLPAR130,230を定義し、そのLPAR130,230上でマイグレーション制御部105,205を動作させてもよい。
論理デバイス管理部106,206は、NPIV(N−Port ID Virtualization)技術によって、物理FC−HBA111,211を論理的に分割した複数の論理FC−HBA112,114,212を制御する。
メモリ管理部107,207は、物理メモリ110,210を管理し、LPAR120,220及びハイパザイザ102,202へのメモリ領域割り当てを管理する。
ストレージ装置302は、いわゆる記憶装置であり、FCスイッチ301を介して、物理FC−HBA111及び物理FC−HBA211に接続されている。さらにストレージ装置302は、論理的に規定されたLU(Logical Unit)と呼ばれるDisk ユニット303を持っている。
LU303がどのサーバーに接続されているかを表す接続情報は、ストレージ装置302内のコントローラーによって管理されている。本実施例では、ライブマイグレーションの際にWWN1をもつ論理FC−HBA112またはWWN1’をもつ論理FC−HBA113からLU303へのログインが許可されている。そして、ストレージ装置302に登録されたWWN、WWN1’を、LU−WWN、LU−WWN1’と表記する。この接続関係を設定する機能を、LUNセキュリティ機能と呼ぶ。
リンク1、リンク1’、及びリンク2は、それぞれ論理FC−HBA112からLU303への論理的な接続状態、論理FC−HBA113からLU303への論理的な接続状態、及び論理FC−HBA212からLU303への論理的な接続状態を示している。なお、図1においてリンク1で示される実線は、LU303へのFCログインが完了した状態、すなわち論理FC−HBA112とLU303とが論理的に接続された状態を表している。一方、リンク1’及びリンク2で示される破線は、LU303へのFCログインをしていない状態、すなわち論理FC−HBA113とLU303とが論理的に切断された状態及び論理FC−HBA212とLU303とが論理的に切断された状態、を表している。本発明を適用したライブマイグレーションの処理過程では、リンク1、リンク1’及びリンク2それぞれのログイン状態を変化させ、OS123がLU303へアクセスを継続可能な状態を維持する。
さらに図1の状態における、物理メモリ110のメモリマップ(移行元のメモリマップ)について、図3を用いて説明する。また、図1の状態における、物理メモリ210のメモリマップ(移行先のメモリマップ)について、図4を用いて説明する。
移行元物理メモリ110は、LPAR120に割り当てられたLPARメモリ領域1010と、ハイパザイザの処理で使用するためのハイパザイザメモリ領域1090を含む。
LPARメモリ領域1010は、OS123管理領域1011を含む。OS123管理領域1011は、論理FC−HBA112制御領域1012を含む。
ハイパザイザメモリ領域1090は、物理メモリ110内の絶対位置を示すホスト物理アドレスとLPARメモリ領域1010内の相対位置を示すゲスト論理アドレスとの対応を含むゲストアドレス変換テーブル1091、論理FC−HBA113制御領域1092、各論理FC−HBAの制御領域が含まれる領域のホスト物理アドレスを格納したオフセット加算テーブル1093、オフセット加算テーブル1093に記された領域の中で各論理FC−HBAの制御領域がある相対アドレスを格納した論理FC−HBA制御領域リスト1094、各論理FC−HBAのログイン状態を格納するFCログイン状態管理テーブル1095、各論理FC−HBAに割り当てられるWWNを格納したWWN管理テーブル1095を含む。
移行先物理メモリ210は、ハイパザイザメモリ領域2090を含む。移行先ハイパザイザメモリ領域2090は、移行元ハイパザイザメモリ領域1090と同様に、ゲストアドレス変換テーブル2091、オフセット加算テーブル2093、論理FC−HBA制御領域リスト2094、FCログイン状態管理テーブル2095、WWN管理テーブル2096を含む。
以下、図5、図6、図7、図8、図9を参照して、図1に示すサーバーモジュール101上のLPAR120が稼動した状態において、図2に示すサーバーモジュール201上のLPAR220にLPAR120の動作を引き継がせる、ライブマイグレーション処理について説明する。
(S101)移行元マイグレーション制御部105は、移行先マイグレーション制御部205へマイグレーション要求を送信し、マイグレーション処理を開始する。
(S102)マイグレーション要求を受信した移行先マイグレーション制御部205は、マイグレーション処理を開始する。
(S103、S104)マイグレーション制御部105,205は、リソース管理部104,204に対して、論理FC−HBA112,212に付与されたWWNの取得要求を送信する。
(S105、S106)リソース管理部104は、送信されたWWNの取得要求を受信し、マイグレーション制御部105へ、論理FC−HBA112に付与されているWWN1を送信する。リソース管理部204は、送信されたWWNの取得要求を受信し、マイグレーション制御部205へ、論理FC−HBA212に付与されているWWN2を送信する。
(S107,S108)マイグレーション制御部105は、リソース管理部104から送信されたWWN1を受け取る。マイグレーション制御部205は、リソース管理部204から送信されたWWN2を受け取る。
(S109)移行元マイグレーション制御部105は、移行先マイグレーション制御部205へ、移行先論理FC−HBA212に付与されているWWNの取得要求を送信する。
(S110)移行先マイグレーション制御部205は、移行先論理FC−HBA212に付与されているWWNの取得要求を受信すると、移行元マイグレーション制御部105へ、WWN2を転送する。
(S111)移行元マイグレーション制御部105は、移行先マイグレーション制御部205から、WWN2を受信する。
(S112)移行先マイグレーション制御部205は、移行元マイグレーション制御部105へ、移行元論理FC−HBA112に付与されているWWNの取得要求を送信する。
(S113)移行元マイグレーション制御部105は、移行元論理FC−HBA112に付与されているWWNの取得要求を受信すると、移行先マイグレーション制御部205へ、WWN1を転送する。
(S114)移行先マイグレーション制御部205は、移行元マイグレーション制御部105からWWN1を受信する。
(S115)移行先マイグレーション制御部205は、移行先リソース管理部204に対して、論理FC−HBA112に付与されているWWNをS114で受信したWWN1に変更するための変更要求を送信する。
(S116)移行先リソース管理部204は、S115の変更要求を受信し、WWN管理テーブル1096の論理FC−HBA212に割り当てられているWWN2を、WWN1へ書き換える。
移行元WWN管理テーブル1096及び移行先WWN管理テーブル2096の、S116の前後での変化を、図10及び図11に示す。なお、移行先WWN変更後におけるWWN2は、移行元マイグレーション管理部205が一時的に保持している。
(S117)移行元マイグレーション制御部105は、移行元のLPAR管理部103に対して、LPAR120の構成情報取得要求を送信する。
(S118)移行元のLPAR管理部103は、LPAR120の構成情報取得要求を受信し、LPAR120の構成情報を、移行元マイグレーション制御部105へ送信する。
(S119)移行元マイグレーション制御部105は、LPAR120の構成情報を受信し、移行先マイグレーション制御部205へ転送する。
(S120)移行先マイグレーション制御部205は、LPAR120の構成情報を受信すると、移行先LPAR管理部203に対して、LPAR120の構成情報を送信し、構成情報の反映を要求する。
(S121)移行先LPAR管理部203は、LPAR120の構成情報を受信し、受信した構成情報を元に、論理FC−HBA112に対応する論理FC−HBA212、論理CPU122に対応する論理CPU222、LPAR120に割り当てられたメモリと同じ容量のメモリ領域などを含む、LPAR120と同様の論理資源をLPAR220に割り当てる。
(S122)移行元マイグレーション制御部105は、移行先マイグレーション制御部205に対して、LPAR220の仮Activate要求を送信する。
(S123)移行先マイグレーション制御部205は、LPAR220の仮Activate要求を受信し、移行先LPAR220を仮Activateする。
(S201)移行元マイグレーション制御部105は、移行元論理デバイス管理部106に対して、FCパスの変更要求として、論理FC−HBA112が物理FC−HBA111を介してLU303に接続しているリンク1を、論理FC−HBA113が物理FC−HBA111を介してLUに接続しているリンク1’へと変更する変更要求を送信する。
(S202)移行元論理デバイス管理部106は、S201の変更要求を受信すると、論理FC−HBA113の初期化処理を行う。S202で、移行元リソース管理部104が論理FC−HBA113にWWN1’を割り当てることで、移行元サーバーモジュールからLU303に対してリンク1’のログイン処理が実施可能となる。なお、S202の詳細は、後述するS401〜S407で説明する。
(S203)移行元論理デバイス管理部106は、リンク1’のログイン処理を実施する。この処理では、移行元論理デバイス管理部106が、論理FC−HBA112制御領域1012を経由し、論理FC−HBA firmware11301とログインコマンドをやり取りすることで実施される。なお、S203の詳細は、後述するS501〜S511、S801〜S804で説明する。
(S204)移行元論理デバイス管理部106は、リンク1’のログイン完了報告を、移行元マイグレーション制御部105に送信する。
(S205)移行元マイグレーション制御部105は、リンク1’のログイン完了報告を受信し、移行元メモリ管理部107に対して、ゲストアドレス変換テーブル1091の書換え要求を送信する。
(S206)移行元メモリ管理部107は、ゲストアドレス変換テーブル1091の書換え要求を受信し、ゲストアドレス変換テーブル1091を書換える。移行元メモリ管理部107は、ゲストアドレス変換テーブル1091の論理FC−HBA112制御領域1012の変換アドレスが格納されているエントリを参照し、そのエントリに格納されている論理FC−HBA112制御領域1012のホスト物理アドレス(0x1100)を、論理FC−HBA113制御領域1092のホスト物理アドレス(0xff00)に書き換え、書換え完了報告を移行元マイグレーション制御部105に送信する。
この書換え処理の前後、すなわちFCパス切り替え前後のゲストアドレス変換テーブル1091の変化を、図12及び図13に示す。これにより、論理FC−HBA112制御領域1012への参照1101(図14)は、論理FC−HBA113制御領域1092への参照1102(図15)となる。
なお、図14は、論理FC−HBA113初期化前かつパス切り替え前における、ゲストアドレス変換テーブル1091からのFC−HBA制御領域参照を、模式的に示したものである。また、図15は、論理FC−HBA113初期化後かつパス切り替え後における、ゲストアドレス変換テーブル1091からのFC−HBA制御領域参照を、模式的に示したものである。
S206以前のOS123からLU303へディスクアクセス処理は、後述するS601〜S603、S801〜S804の処理に従い、FC−HBA Driver12301と論理FC−HBA firmware11201とが、論理FC−HBA112制御領域1012を経由してディスクアクセスコマンドをやり取りすることで、実施される。論理FC−HBA firmware11201は、論理FC−HBA112制御領域1012に書き込まれたディスクアクセスコマンドに従い、LUに対するログイン、ログアウト、read/write等を実行する。
S206の処理によって、OS123からLU303へディスクアクセスする処理は、後述するS701〜S703、S901〜S904の処理に従い、FC−HBA Driver12301と論理FC−HBA firmware11301が、論理FC−HBA113制御領域1092を経由してディスクアクセスコマンドをやり取りすることで、実施される。
すなわち、OS123がLU303にアクセスするパスは、論理FC−HBA112を経由するリンク1から、論理FC−HBA113を経由するリンク1’に変更される。
一方、ゲストアドレス変換テーブル1091は、物理メモリ110に割り当てられたハイパザイザメモリ領域1090に含まれるので、OS123から認知または操作できる領域ではない。そのため、S206によるFCパス切り替え処理は、移行元のLPAR120で稼動するOS123からは、隠蔽されている。これにより、OS123及びFC−HBA Driver12301がLU303にアクセスするために論理CPU122に発行する命令は、FCパス(リンク)の変更に係わらず、S206前後で同じものを継続可能となる。
(S207)移行元マイグレーション制御部105は、書換え完了報告を受信し、移行元論理デバイス管理部106に対して、リンク1のログアウト要求を送信する。
(S208)移行元論理デバイス管理部106は、リンク1のログアウト要求を受信し、リンク1のログアウトを実施する。リンク1のログアウト処理は、移行元論理デバイス管理部106が、論理FC−HBA112の制御通信領域10122経由し、論理FC−HBA firmware11201とログアウトコマンドをやりとりすることで、実施される。
FCログイン状態管理テーブル1095は、S208の処理前の状態、即ちリンク1のログイン完了状態を示す図16から、S208の処理後の状態、即ちリンク1のログアウト完了状態を示す図17に、変化する。移行元の論理FC−HBA112のリンク1がログアウトしたので、移行先論理FC−HBA212は、移行元の論理FC−HBA112で使用されていたWWN1を使用可能となる。そして、移行先の論理FC−HBA212のリンク2は、WWN1を用いてログインすることが可能な状態になる。
(S209)移行元論理デバイス管理部106は、ログアウト完了報告を移行元マイグレーション制御部105に送信する。
(S210)移行元マイグレーション制御部105は、ログアウト完了報告を受信し、移行先マイグレーション制御部205に対して、ログイン情報を転送し、移行先ログイン要求を送信する。
(S211)移行先マイグレーション制御部205は、移行先論理デバイス管理部206に対して、リンク2ログイン要求を送信する。
(S212)移行先論理デバイス管理部206は、(S116)で論理FC−HBA212に割り当てられたWWN1を使用して、リンク2のログイン処理を実施する。
リンク2のログイン処理は、移行先論理デバイス管理部206が、図18に示す論理FC−HBA212の制御領域2012における制御通信領域20122を経由し、論理FC−HBA firmware21201とログインコマンドをやりとりすることで実施する。なお、図18は、リンク2のログイン処理時における移行先物理メモリ210のメモリマップを示す。この処理において使用する論理FC−HBA212制御領域2012のゲスト論理アドレスは、移行元の論理FC−HBA112制御領域1012のゲスト論理アドレスと、同じものを用いる。
(S213)移行先論理デバイス管理部206は、リンク2ログイン完了報告を移行先マイグレーション制御部205に送信する。
(S214)移行先マイグレーション制御部205は、リンク2ログイン完了報告を受信し、移行元マイグレーション制御部105に対して、移行先のFCログインが完了したことを通知する。
(S215)移行元マイグレーション制御部105は、移行先マイグレーション制御部205から、移行先ログイン完了通知を受信する。
(S301)移行元マイグレーション制御部105は、移行元のLPAR管理部103に対して、LPAR120のデバイス・メモリ情報の取得要求を出す。デバイス情報は、ハイパザイザ102内で管理されている論理デバイスの種類と内部状態を含み、メモリ情報は、LPAR120に割り当てられたLPARメモリ領域1010を含む。
(S302)移行元のLPAR管理部103は、デバイス・メモリ情報の取得要求を受信し、LPAR120のデバイス・メモリ情報を移行元マイグレーション制御部105に送信する。
(S303)移行元マイグレーション制御部105は、S141で送信されたLPAR120のデバイス・メモリ情報を受信し、移行先マイグレーション制御部205に対して、受信したデバイス・メモリ情報を転送する。
(S304)移行先マイグレーション制御部105は、S142で転送されたLPAR120のデバイス・メモリ情報を受信し、移行先LPAR管理部203に対して、受信したLPAR120のデバイス・メモリ情報およびデバイス・メモリ情報反映要求を送信する。
(S305)移行先LAPR管理部203は、S240で送信されたLPAR120のデバイス・メモリ情報およびデバイス・メモリ情報反映要求を受信し、LPAR120のデバイス・メモリ情報をLPAR220へ反映する。この処理により、LPAR120のLPARメモリ領域1010と、LPAR220のLPARメモリ領域2010において、同じゲスト論理アドレスに書き込まれている内容が同一のものとなる。
(S301〜S305)の処理は、デバイス・メモリ情報の転送中に、移行元の論理CPUが書き換えたメモリ情報を移行先へ転送するのに必要な時間が基準値以下になるまで繰り返される。この処理におけるメモリ情報を転送するのに必要な時間の基準値とは、論理CPUを一時停止してから再度動作させた場合に、OS123が正常に動作を継続できる、論理CPU停止時間の最大値である。
(S306)上述の(S301〜S305)の繰り返し処理が終了すると、移行元マイグレーション制御部105は、LPAR120に割り当てられている論理CPU122を停止させる。
(S307)移行元マイグレーション制御部105は、移行元のLPAR管理部103に対して、S141でメモリ情報を取得してからS143で論理CPUを停止するまでの間に変更された差分デバイス・メモリ情報を取得する要求を出す。
(S308)移行元のLPAR管理部103は、差分デバイス・メモリ情報を取得要求を受信し、移行元マイグレーション制御部105に対して、差分のデバイス・メモリ情報を渡す。
(S309)移行元マイグレーション制御部105は、差分のデバイス・メモリ情報を取得し、移行先マイグレーション制御部205へ、取得した差分デバイス・メモリ情報を転送する。
(S310)移行先マイグレーション制御部205は、移行先LPAR管理部203に対して、移行元から取得した差分デバイス・メモリ情報を反映する要求を出す。
(S311)移行先LPAR管理部203は、LPAR220に対して、取得した差分デバイス・メモリ情報を反映し、反映完了を移行先マイグレーション制御部205に送信する。この時点で、LPAR220は、LPAR120に割り当てられていた論理デバイスと同じ種類の論理デバイスを同じ数だけ有する。また、LPAR120に割り当てられていたメモリ領域内のデータが、LPAR220に割り当てられたメモリ領域に複製され、LPAR120上で動作していたOS123の状態を引継ぎ、LPAR220上で継続して動作が可能な状態になる。
(S312)移行先マイグレーション制御部205は、反映完了を受信し、LPAR220に割り当てられている論理CPU222を動作させる。
(S313)移行先マイグレーション制御部205は、移行先LPARの動作開始報告を移行元マイグレーション制御部105に送信する。
(S314)移行元マイグレーション制御部105は、移行先LPARの動作開始報告を受信し、移行元論理デバイス管理部106に対してリンク1’ログアウト要求を送信する。
(S315)移行元論理デバイス管理部106は、リンク1’ログアウト要求を受信し、ログアウト処理を実施する。リンク1’のログアウト処理は(S203)と同様に、移行元論理デバイス管理部106が、論理FC−HBA113の制御通信領域10922を経由し、論理FC−HBA firmware11301とログアウトコマンドをやりとりすることで実施する。
(S316)移行元論理デバイス管理部106は、ログアウト完了報告を移行先マイグレーション制御部205へ送信する。
(S317)移行先マイグレーション制御部205は、移行先LPAR220の構成情報を保存する。
(S318)移行先マイグレーション制御部205は、LPAR220の構成情報保存完了報告を移行元マイグレーション制御部105に送信する。
(S319)移行元マイグレーション制御部105は、移行先マイグレーション制御部205からの構成情報保存完了報告と移行元論理デバイス管理部106からのログアウト完了報告との両方を受信し、移行元リソース管理部107に対して、移行元WWN変更要求を出す。
(S320)移行元リソース管理部107は、S149の移行元WWN変更要求を受信し、論理FC−HBA112に割り当てられたWWN1を、WWN2へ変更する。移行元WWN管理テーブル1096及び移行先WWN管理テーブル2096の、S320の前後における変化を、図11及び図19に示す。
(S321)移行元マイグレーション制御部105は、LPAR定義取り消し要求を移行元のLPAR管理部103に送信する。
(S322)移行元のLPAR管理部103は、LPAR定義取り消し要求を受信し、LPAR120に割り当てられたすべての論理デバイスの割り当てを解除してから移行元マイグレーション制御部105にLPAR定義取り消し完了報告を送信する。
(S323)移行元マイグレーション制御部105は、移行元のLPAR管理部103からLPAR定義取り消し完了報告を受信し、移行元のLPARの定義取り消し完了報告を、移行先マイグレーション制御部205に通知する。
(S324)移行先マイグレーション制御部205は、移行元のLPAR120の定義取り消し完了報告を受信する。
(S325)移行元マイグレーション制御部105は、(S321)の後、移行元のLPAR123の構成情報を保存する。
(S326)移行元マイグレーション制御部105は、構成情報の保存が完了したことを、移行先マイグレーション管理部205に通知する。
(S327)移行先マイグレーション制御部205は、構成情報の保存が完了したことを受信する。
(S328、S329)マイグレーション制御部105,205は、マイグレーション処理を終了する。
S155、S249が完了すると、マイグレーション前の全体構成図である図1にあるようにLPAR120上で動作していたOS123は、マイグレーション後の全体構成図である図2に示されるようにLPAR220上で動作するようになる。
以下、S202における論理FC−HBA113の初期化処理の詳細を、図8、図20を参照して説明する。
(S401)移行元論理デバイス管理部106は、論理FC−HBA113の初期化処理を開始する。
(S402)移行元論理デバイス管理部106は、移行元メモリ管理部107に対して、論理FC−HBA112制御領域1012のコピー要求を出す。
(S403)移行元メモリ管理部107は、S12102のコピー要求を受信し、LPARメモリ領域1010上の論理FC−HBA112制御領域1012を、ハイパザイザメモリ領域1090上の論理FC−HBA113制御領域1092へコピーする。
(S404)移行元論理デバイス管理部106は、移行元リソース管理部104に対して、ダミーWWN割り当て要求を送信する。
(S405)移行元リソース管理部104は、ダミーWWN割り当て要求を受信し、移行元論理デバイス管理部106に対し、ダミーWWNとしてWWN1’を送信する。WWN1と対になるWWN1’は、WWN1から一意に決定される。またWWN1’は、WLU303にログイン可能な識別子としてWWN1と共にストレージ装置302に登録されているものである。
S202では、移行元リソース管理部104が、ダミーWWNであるWWN1’を、移行元サーバーモジュールの論理FC−HBA113に、割り当る。S212では、移行先サーバーモジュールの論理FC−HBA212に、WWN1を割り当てる。これにより、移行処理中に移行元サーバーモジュールと移行先サーバーモジュールの両方が、LU303に対してログイン完了状態となる。そして、OS123が移行先LPAR220で動作を開始した直後に、LU303に継続アクセスが可能となる。
(S406)移行元論理デバイス管理部106は、移行元リソース管理部104からWWN1’を受信すると、WWN通知領域10923のWWN1をWWN1’に書き換える。
(S407)移行元論理デバイス管理部106は、論理FC−HBA113制御領域1092の初期化を完了する。
次に、S203におけるリンク1’ログイン処理の詳細について、図9を参照して説明する。
(S501)移行元論理FC−HBA割り込み監視部10601は、論理FC−HBA113への論理割り込みを監視している。
(S502)移行元論理デバイス管理部106は、リンク1’のログイン処理を開始する。
(S503)移行元論理デバイス管理部106は、FCログイン状態管理テーブル1095を参照し、論理FC−HBA113のログイン状態を判定する。
(S504)移行元論理デバイス管理部106は、S12202の判定の結果、論理FC−HBA113がログイン完了状態であれば、論理FC−HBA113の制御通信領域10922にログインコマンドをセットし、ログイン要求をFC−firmware11201に知らせる。一方、S12202の判定の結果、論理FC−HBA113がログアウト状態である場合は、論理デバイス管理部106はリンク1’ログイン処理を抜ける。
(S505)移行元論理FC−firmware11201は、制御通信領域10922を参照し、ログイン命令を取得する。
(S506)移行元論理FC−firmware11201は、ログイン命令を取得すると、ログインを実行する。
(S507)FC−firmware11201はログイン完了後、ログインが完了したことを知らせる割り込みを発生させる。
(S508)移行元論理FC−HBA割り込み監視部10601はFC−firmware11201からのログイン完了の割り込みを検出する。
(S509)割り込みを検出した移行元論理FC−HBA割り込み監視部10601はログイン完了を論理デバイス管理部106に通知する。
(S510)移行元論理FC−HBA割り込み監視部10601は割り込み待ち状態になる。
(S511)移行元論理デバイス管理部106は、割り込み監視部10601からログイン完了通知を受信すると、FCログイン状態管理テーブル1095の論理FC−HBA113のログイン状態をログイン処理完了に書き換える。
S203の処理前、即ちリンク1’のログイン前、FCログイン状態管理テーブル1095は、図21に示される状態である。S203の処理後、即ちリンク1’のログイン後、FCログイン状態管理テーブル1095は、図16に示される状態に変化する。
論理FC−HBA Firmware11201から論理FC−HBA112制御領域1012へのアクセスについて、図25を参照して説明する。
論理FC−HBA firmware11201は、論理FC−HBA112制御領域1012にアクセスし、制御通信用領域10122に書き込まれたコマンドを基に動作する。論理FC−HBA firmware11201の論理FC−HBA112制御領域1012へのアクセスは次のように行われる。
(S601)論理FC−HBA Firmware11201は、論理FC−HBA制御領域リスト1094の仮想ポート11011のエントリを参照し、仮想ポート11011に対応する論理FC−HBA112制御領域1012の相対アドレス0x0100番地を取得する。このときの論理FC−HBA制御リスト1094を図22に示す
(S602)論理FC−HBA Firmware11201は、オフセット加算テーブル1093を参照し、仮想ポート11011の割当先であるLPAR120のオフセットアドレス0x1000番地を取得する。このときのオフセット加算テーブル1093を図23に示す。
(S603)取得した相対アドレス(0x0100)とLPAR120のホスト物理アドレス(0x1000)とを加算し、論理FC−HBA112制御領域1012の配置されたホスト物理アドレス(0x1100)算出し、算出した0x1100番地へアクセスする。
更に、論理FC−HBA Firmware11301から論理FC−HBA113制御領域1092へのアクセスについて、図25を参照して説明する。
論理FC−HBA firmware11301は、論理FC−HBA113制御領域1092にアクセスし、制御通信用領域10922に書き込まれたコマンドを基に動作する。論理FC−HBA firmware11301の論理FC−HBA113制御領域1092へのアクセスは次のように行われる。
(S701)論理FC−HBA Firmware11301は、論理FC−HBA制御領域リスト1094の仮想ポート11012のエントリを参照し、仮想ポート11012に対応する論理FC−HBA113制御領域1092の相対アドレス0x0f00番地を取得する。
(S702)論理FC−HBA Firmware11301は、オフセット加算テーブル1093を参照し、仮想ポート11012の割当先であるハイパザイザのオフセットアドレス0xf000番地を取得する。
(S703)論理FC−HBA Firmware11301は、取得した相対アドレス(0x0f00)とハイパザイザのホスト物理アドレス(0xf000)とを加算し、論理FC−HBA113制御領域1092の配置されたホスト物理アドレス(0xff00)算出し、0xff00番地へアクセスする。
OS123からLU303へのディスクアクセスを、図3、図24、図25、図26を使って説明する。なお、図24は、移行元論理FC−HBA112のFCパスを示す。図26は、FC−HBA Driverからの論理FC−HBA制御領域へのアクセスを示すフローチャートである。
S206の処理を実施する直前までは、OS123上で動作するFC−HBA Driver12301から論理FC−HBA112制御領域1012へのアクセスは次のように行われる。
(S801)FC−HBA Driver12301は、ゲスト論理アドレス(0x4100)に格納されている論理FC−HBA112制御領域1012へアクセスする命令を、論理CPU122に対して発行する。
(S802)FC−HBA Driver12301からゲスト論理アドレス0x4100番地の領域への書き込み命令を受け付けた論理CPU122は、ゲスト論理アドレスをホスト物理アドレスへ変換するため、ゲストアドレス変換テーブル1091を参照する。
(S803)論理CPU122は、ゲストアドレス変換テーブル1091に格納されているゲスト論理アドレス0x4100のエントリを参照し、ゲスト論理アドレス0x4100に対応するホスト物理アドレス0x1100を取得する。
(S804)論理CPU122は、論理FC−HBA112制御領域1012が配置されているホスト物理アドレス0x1100番地へアクセスする。
OS123からLU303に対するディスクアクセス処理を要求されたFC−HBA Driver12301は、(S801〜804)に従って、論理FC−HBA112制御領域1012のあるホスト物理アドレス0x1100番地へアクセスし、ディスクアクセスコマンドを書き込む。論理FC−HBA Firmware11201は、(S601〜603)に従って、論理FC−HBA112制御領域1012のあるホスト物理アドレス0x1100番地へアクセスし、論理FC−HBA112制御領域1012に書き込まれたディスクアクセスコマンドを読み込み、ディスクアクセス処理を実施する。すなわち、OS123は、論理FC−HBA112を介するリンク1を経由してLU303へアクセスする。
S206の処理を実施した後、OS123上で動作するFC−HBA Driver12301から論理FC−HBA112制御領域1012へのアクセスは、次のようになる。
(S901)この処理は(S801)と同じであり、FC−HBA Driver12301はゲスト論理アドレス(0x4100)に格納されている論理FC−HBA112制御領域1012へアクセスする命令を出す。
(S902)この処理は(S801)と同じである。
(S903)論理CPU122は、ゲストアドレス変換テーブル1091に格納されているゲスト論理アドレス0x4100のエントリを参照し、ゲスト論理アドレス0x4100に対応するホスト物理アドレス0xff00を取得する。
(S904)論理CPU122は、論理FC−HBA113制御領域1092が配置されているホスト物理アドレス0xff00番地へアクセスする。
OS123からLU303に対するディスクアクセス処理を要求されたFC−HBA Driver12301は、(S901〜904)に従って、論理FC−HBA113制御領域1092のあるホスト物理アドレス0xff00番地へアクセスし、ディスクアクセスコマンドを書き込む。論理FC−HBA Firmware11301は、(S701〜703)に従って、論理FC−HBA113制御領域1092のあるホスト物理アドレス0xff00番地へアクセスし、論理FC−HBA113制御領域1092に書き込まれたディスクアクセスコマンドを読み込み、ディスクアクセス処理を実施する。すなわち、OS123は、論理FC−HBA113を介するリンク1’を経由して、LU303へアクセスする。
以上説明したように、本発明を適用した仮想計算機システムによれば、第1の仮想計算機から記憶装置へのFCパスであるリンク1と、第2の仮想計算機から同一記憶装置へのFCパスであるリンク2とにおけるFCパス切り替え処理に際し、第1のハイパザイザが、第1の仮想計算機に対して、第1の論理HBAのダミーとなる第1’の論理HBAを割り当て、ダミーとなる第1’の論理HBAに付与されたダミーとなる識別子(WWN1’)を用いて、第1の仮想計算機から記憶装置へのFCパスであるリンク1’によりログインを継続させる。このとき、リンク1からリンク1’へのFCパスの切り替えは、第1のハイパバイザに含まれるアドレス変換テーブルの書き換えにより行う。
OSは、ハイパバイザメモリ領域を操作及び認知できないので、FCパスの切り替えはOSに隠蔽された状態となり、第1の仮想計算機の移行中も、移行前と同様に第1の論理HBAを使用しているように見せる。これにより、第1の仮想計算機が稼動した状態で、第2の仮想計算機に動作を引き継がせるライブマイグレーションが、I/O処理方式がI/Oパススルー方式の仮想計算機システムにおいても可能となる。