(57)【要約】      （修正有）【課題】ストレージでの排他制御方式に対応しつつ、Ｉ／Ｏパススルー方式でライブマイグレーションする。【解決手段】物理ＨＢＡは仮想計算機のＬＵアクセスのための論理ＨＢＡと代替論理ＨＢＡに分割される。ハイパーバイザは仮想計算機の移行時に、ストレージコントローラに論理ＨＢＡと対に登録させた鍵情報を代替論理ＨＢＡにも登録させ、代替論理ＨＢＡからのＬＵアクセスを許可させる。移行中は代替論理ＨＢＡをからＬＵアクセスを行なう。【選択図】図１
2014041395.tif 000002
【特許請求の範囲】
【請求項１】
メモリとＣＰＵを有する複数の物理計算機と記憶装置とを備え、前記物理計算機上でハイパーバイザにより前記メモリと前記ＣＰＵを論理分割して生成された仮想計算機が動作する計算機システムにおいて、
第１の物理計算機は、
第１の物理ＨＢＡと、
前記第１の物理ＨＢＡを論理的に分割して、第１の論理ＨＢＡ及び第１’の論理ＨＢＡを生成する第１のハイパーバイザと、
ＷＷＮ１が付与された前記第１の論理ＨＢＡが割り当てられ、前記第１の論理ＨＢＡと前記記憶装置とを接続するリンク１を経由して前記記憶装置にアクセスする第１のＯＳが動作する第１の仮想計算機と、を有し、
前記第１のＯＳは前記第１のＯＳ固有の第１の鍵情報を生成し、
前記第１のハイパーバイザは、前記第１のＯＳによる前記第１の鍵情報を含む第１の登録要求の発行を監視して、前記第１の登録要求に含まれる前記第１の鍵情報を取得して、前記第１の論理ＨＢＡが有する第１の記憶領域に前記第１の鍵情報を記憶し、前記第１の論理ＨＢＡを経由して前記記憶装置を管理するストレージコントローラに前記第１の登録要求を送信し、
前記ストレージコントローラに前記第１の登録要求に含まれる前記第１の鍵情報と、前記第１の登録要求の送信で経由した前記第１の論理ＨＢＡに付与されたＷＷＮ１とを対応づけてアクセス管理情報として登録させ、
前記第１のハイパーバイザは、前記第１の仮想計算機を第２の物理計算機上に移行するに際し、前記第１の記憶領域に記憶した前記第１の鍵情報を読み出し、前記第１’の論理ＨＢＡを経由して前記ストレージコントローラに前記読み出した第１の鍵情報を含む第２の登録要求を送信して、
前記ストレージコントローラに、前記第２の登録要求に含まれる前記第１の鍵情報と、前記第２の登録要求の送信で経由した前記第１’の論理ＨＢＡに付与されたＷＷＮ１’とを対応づけて前記アクセス管理情報として登録させ、
前記ストレージコントローラが前記第１’の論理ＨＢＡから前記記憶装置が有する論理ユニットへのアクセスを受け付けた場合、前記アクセス管理情報を参照して、前記アクセスした第１’の論理ＨＢＡに付与されたＷＷＮ１’と対応づけられた鍵情報が、前記第１の登録要求に含まれる前記第１の鍵情報か否かの判定によりアクセス制御を実行させ、
前記第１の仮想計算機に割り当てられた前記第１の論理ＨＢＡから、前記登録したＷＷＮ１’が付与された前記第１’の論理ＨＢＡに前記第１の仮想計算機への割り当てを切り替えて、
前記第１の仮想計算機で動作する前記第１のＯＳは、前記第１の仮想計算機を前記第２の物理計算機上に移行する間、前記第１の仮想計算機への割り当てを切り替えたことにより、前記第１’の論理ＨＢＡと前記記憶装置とを接続するリンク１’を経由して前記論理ユニットにアクセスすることを特徴とする計算機システム。
【請求項２】
前記第１のハイパーバイザは前記ストレージコントローラに前記第２の登録要求を送信することにより、
前記第１の仮想計算機上で動作する前記第１のＯＳが、前記第１’の論理ＨＢＡと前記記憶装置とを接続するリンク１’を経由して前記論理ユニットにアクセスした場合、
前記ストレージコントローラに前記アクセス管理情報に基づいて、前記アクセスした第１’の論理ＨＢＡに付与されたＷＷＮ１’と対応づけられた鍵情報が、前記第１の登録要求に含まれる前記第１の鍵情報か否かの判定によりアクセス制御を実行させ、前記判定の結果前記アクセスした第１’の論理ＨＢＡに付与されたＷＷＮ１’と対応づけられた鍵情報が前記第１の鍵情報であるとの判定により前記論理ユニットへのアクセスを許可させることを特徴とする請求項１記載の計算機システム。
【請求項３】
前記第１のハイパーバイザは、前記第２の物理計算機に前記ＷＷＮ１を送信し、
前記第２の物理計算機は、
第２の物理ＨＢＡと、
前記第１のハイパーバイザから前記ＷＷＮ１を受信し、前記第２の物理ＨＢＡを論理的に分割して、前記ＷＷＮ1が付与された第２の論理ＨＢＡを生成する第２のハイパーザイザと、を有し、
前記第１のハイパーバイザは、前記第１の仮想計算機に対応するメモリの情報を送信し、
前記第２のハイパーバイザは、前記第１の仮想計算機に対応するメモリの情報を受信し、
前記受信した第１の仮想計算機に対応するメモリの情報に基づいて第２の仮想計算機を生成し、前記第２の仮想計算機に前記第２の論理ＨＢＡを割り当て、前記第１の仮想計算機から移行された第１のＯＳを前記第２の仮想計算機上で動作させ、
前記第２の仮想計算機上で動作する第１のＯＳは、前記ＷＷＮ１が付与された前記第２の論理ＨＢＡと前記記憶装置とを接続するリンク２を経由して前記論理ユニットにアクセスすることを特徴とする請求項２記載の計算機システム。
【請求項４】
前記第１のハイパーバイザは、前記ストレージコントローラに前記第１の登録要求を送信することにより、
前記第２の仮想計算機上で動作する第１のＯＳが、前記第２の論理ＨＢＡと前記記憶装置とを接続するリンク２を経由して前記論理ユニットにアクセスした場合、
前記ストレージコントローラに前記アクセス管理情報に基づいて、前記アクセスした第２の論理ＨＢＡに付与されたＷＷＮ１と対応づけられた鍵情報が、前記第１の登録要求に含まれる前記第１の鍵情報か否かの判定によるアクセス制御を実行させ、前記判定の結果前記アクセスした第２の論理ＨＢＡに付与されたＷＷＮ１と対応づけられた鍵情報が前記第１の鍵情報であるとの判定により前記論理ユニットへのアクセスを許可させることを特徴とする請求項３記載の計算機システム。
【請求項５】
前記第１の物理計算機は第３の物理ＨＢＡを有し、
前記第１のハイパーバイザは、前記第３の物理ＨＢＡを論理的に分割して、第３の論理ＨＢＡ及び第３’の論理ＨＢＡを生成し、ＷＷＮ３が付与された前記第３の論理ＨＢＡを前記第１の仮想計算機に割り当て、
前記第１の仮想計算機上で動作する前記第１のＯＳは、前記第３の論理ＨＢＡと前記記憶装置とを接続するリンク３または前記リンク１を経由して前記記憶装置にアクセスし、
前記第１のハイパーバイザは、前記第１のＯＳによる前記第１の鍵情報を含む前記第１の登録要求の発行を監視して、前記第１の登録要求に含まれる前記第１の鍵情報を取得して、前記第３の論理ＨＢＡが有する第３の記憶領域に前記第１の鍵情報を記憶し、前記第３の論理ＨＢＡを経由して前記記憶装置を管理する前記ストレージコントローラに前記第１の登録要求を送信し、
前記ストレージコントローラに前記第１の登録要求に含まれる前記第１の鍵情報と、前記第１の登録要求の送信で経由した前記第３の論理ＨＢＡに付与された前記ＷＷＮ３とを対応づけて前記アクセス管理情報として登録させ、
前記第１のハイパーバイザは、前記第１の仮想計算機を前記第２の物理計算機上に移行するに際し、前記第３の記憶領域に記憶した前記第１の鍵情報を読み出し、前記第３’の論理ＨＢＡを経由して前記ストレージコントローラに前記読み出した第１の鍵情報を含む第３の登録要求を送信して、
前記ストレージコントローラに、前記第３の登録要求に含まれる前記第１の鍵情報と、前記第３の登録要求の送信で経由した前記第３’の論理ＨＢＡに付与されたＷＷＮ３’とを対応づけて前記アクセス管理情報として登録させ、
前記ストレージコントローラが前記第３’の論理ＨＢＡから前記記憶装置が有する前記論理ユニットへのアクセスを受け付けた場合、前記アクセス管理情報を参照して、前記アクセスした第３’の論理ＨＢＡに付与されたＷＷＮ３’と対応づけられた鍵情報が、前記第１の登録要求に含まれる前記第１の鍵情報か否かの判定によりアクセス制御を実行させ、
前記第１の仮想計算機に割り当てられた前記第３の論理ＨＢＡから、前記登録したＷＷＮ３’が付与された前記第３’の論理ＨＢＡに前記第１の仮想計算機への割り当てを切り替えて、
前記第１の仮想計算機で動作する前記第１のＯＳは、前記第１の仮想計算機を前記第２の物理計算機上に移行する間、前記第１の仮想計算機への割り当てを切り替えたことにより、前記第３’の論理ＨＢＡと前記記憶装置とを接続するリンク３’または前記リンク１’を経由して前記論理ユニットにアクセスすることを特徴とする請求項４記載の計算機システム。
【請求項６】
前記第１のハイパーバイザは前記ストレージコントローラに前記第３の登録要求を送信することにより、
前記第１の仮想計算機上で動作する前記第１のＯＳが、前記第３’の論理ＨＢＡと前記記憶装置とを接続する前記リンク３’を経由して前記論理ユニットにアクセスした場合、
前記ストレージコントローラに前記アクセス管理情報に基づいて、前記アクセスした第３’の論理ＨＢＡに付与されたＷＷＮ３’と対応づけられた鍵情報が、前記第１の登録要求に含まれる前記第１の鍵情報か否かの判定によるアクセス制御を実行させ、前記判定の結果前記アクセスした第３’の論理ＨＢＡに付与された前記ＷＷＮ３’と対応づけられた鍵情報が前記第１の鍵情報であるとの判定により前記論理ユニットへのアクセスを許可させることを特徴とする請求項５記載の計算機システム。
【請求項７】
前記第１のハイパーバイザは、前記第２の物理計算機に前記ＷＷＮ３を送信し、
前記第２の物理計算機は第４の物理ＨＢＡを有し、
前記第２のハイパーバイザは、前記第１のハイパーバイザから前記ＷＷＮ３を受信し、前記第４の物理ＨＢＡを論理的に分割して、前記ＷＷＮ３が付与された第４の論理ＨＢＡを生成し、
前記第２のハイパーバイザは、前記第２の仮想計算機に前記第４の論理ＨＢＡを割り当て、前記第１の仮想計算機から移行された前記第１のＯＳを前記第２の仮想計算機上で動作させ、
前記第２の仮想計算機上で動作する前記第１のＯＳは、前記ＷＷＮ３が付与された前記第４の論理ＨＢＡと前記記憶装置とを接続するリンク４または前記リンク２を経由して前記論理ユニットにアクセスすることを特徴とする請求項６記載の計算機システム。
【請求項８】
前記第１のハイパーバイザは、前記ストレージコントローラに前記第１の登録要求を送信することにより、
前記第２の仮想計算機上で動作する前記第１のＯＳが、前記第４の論理ＨＢＡと前記記憶装置とを接続する前記リンク４を経由して前記論理ユニットにアクセスした場合、
前記ストレージコントローラに前記アクセス管理情報に基づいて、前記アクセスした第４の論理ＨＢＡに付与されたＷＷＮ３と対応づけられた鍵情報が、前記第１の登録要求に含まれる前記第１の鍵情報か否かの判定によるアクセス制御を実行させ、前記判定の結果前記アクセスした第４の論理ＨＢＡに付与された前記ＷＷＮ３と対応づけられた鍵情報が前記第１の鍵情報であるとの判定により前記論理ユニットへのアクセスを許可させることを特徴とする請求項７記載の計算機システム。
【請求項９】
メモリとＣＰＵを有する複数の物理計算機と記憶装置とを備え、前記物理計算機上でハイパーバイザにより前記メモリと前記ＣＰＵを論理分割して生成された仮想計算機が動作する計算機システムにおいて、
第１の物理計算機は、
第１の物理ＨＢＡと、
前記第１の物理ＨＢＡを論理的に分割して、第１の論理ＨＢＡ及び第１’の論理ＨＢＡを生成する第１のハイパーバイザと、
ＷＷＮ１が付与された前記第１の論理ＨＢＡが割り当てられ、前記第１の論理ＨＢＡと前記記憶装置とを接続するリンク１を経由して前記記憶装置にアクセスする第１のＯＳが動作する第１の仮想計算機と、を有し、
前記第１のＯＳは前記第１のＯＳ固有の第１の鍵情報を生成し、
前記第１のハイパーバイザは、前記第１のＯＳによる前記第１の鍵情報を含む第１の登録要求の発行を監視して、前記第１の登録要求に含まれる前記第１の鍵情報を取得して、前記第１の論理ＨＢＡが有する第１の記憶領域に前記第１の鍵情報を記憶し、前記第１の論理ＨＢＡを経由して前記記憶装置に前記第１の登録要求を送信し、
前記記憶装置は、
論理ユニットと、
前記第１の論理ＨＢＡを経由して送信された第１の登録要求を受信して、前記第１の登録要求に含まれる前記第１の鍵情報と、前記第１の登録要求の送信で経由した前記第１の論理ＨＢＡに付与されたＷＷＮ１とを対応づけてアクセス管理情報として管理するストレージコントローラと、を有し、
前記第１のハイパーバイザは、前記第１の仮想計算機を第２の物理計算機上に移行するに際し、前記第１の記憶領域に記憶した前記第１の鍵情報を読み出し、前記第１’の論理ＨＢＡを経由して前記記憶装置に前記読み出した第１の鍵情報を含む第２の登録要求を送信して、
前記ストレージコントローラに、前記第２の登録要求に含まれる前記第１の鍵情報と、前記第２の登録要求の送信で経由した前記第１’の論理ＨＢＡに付与されたＷＷＮ１’とを対応づけて前記アクセス管理情報として管理させ、
前記ストレージコントローラが前記第１’の論理ＨＢＡから前記論理ユニットへのアクセスを受け付けた場合、前記アクセス管理情報を参照して、前記アクセスした第１’の論理ＨＢＡに付与されたＷＷＮ１’と対応づけられた鍵情報が、前記第１の登録要求に含まれる前記第１の鍵情報か否かの判定によりアクセス制御を実行させ、
前記第１のハイパーバイザは、前記第１の仮想計算機に割り当てられた前記第１の論理ＨＢＡから、前記登録したＷＷＮ１’が付与された前記第１’の論理ＨＢＡに前記第１の仮想計算機への割り当てを切り替えて、
前記第１の仮想計算機で動作する前記第１のＯＳは、前記第１の仮想計算機を前記第２の物理計算機上に移行する間、前記第１の仮想計算機への割り当てを切り替えたことにより、前記第１’の論理ＨＢＡと前記記憶装置とを接続するリンク１’を経由して前記論理ユニットにアクセスすることを特徴とする計算機システム。
【請求項１０】
前記ストレージコントローラは、
前記第１の仮想計算機に割り当てられた前記第１’の論理ＨＢＡから前記論理ユニットへのアクセスを受け付けると、前記アクセス管理情報を参照して、前記アクセスした第１’の論理ＨＢＡに付与されたＷＷＮ１’と対応づけられた鍵情報が、前記第１の登録要求に含まれる前記第１の鍵情報か否かの判定によるアクセス制御を行い、前記判定の結果前記アクセスした第１’の論理ＨＢＡに付与されたＷＷＮ１’と対応づけられた鍵情報が前記第１の鍵情報であると判定して前記論理ユニットへのアクセスを許可することを特徴とする請求項９記載の計算機システム。
【請求項１１】
前記第１のハイパーバイザは、前記第２の物理計算機に前記ＷＷＮ１を送信し、
前記第２の物理計算機は、
第２の物理ＨＢＡと、
前記第１のハイパーバイザから前記ＷＷＮ１を受信し、前記第２の物理ＨＢＡを論理的に分割して、前記ＷＷＮ1が付与された第２の論理ＨＢＡを生成する第２のハイパーザイザと、を有し、
前記第１のハイパーバイザは、前記第１の仮想計算機に対応するメモリの情報を送信し、
前記第２のハイパーバイザは、前記第１の仮想計算機に対応するメモリの情報を受信し、
前記受信した第１の仮想計算機に対応するメモリの情報に基づいて第２の仮想計算機を生成し、前記第２の仮想計算機に前記第２の論理ＨＢＡが割り当て、前記第１の仮想計算機から移行された第１のＯＳを動作させ、
前記第２の仮想計算機で動作する第１のＯＳは、前記ＷＷＮ１が付与された前記第２の論理ＨＢＡと前記記憶装置とを接続するリンク２を経由して前記論理ユニットにアクセスすることを特徴とする請求項１０記載の計算機システム。
【請求項１２】
前記ストレージコントローラは、
前記第２の仮想計算機に割り当てられた前記第２の論理ＨＢＡから前記論理ユニットへのアクセスを受け付けると、前記アクセス管理情報を参照して、前記アクセスした第２の論理ＨＢＡに付与されたＷＷＮ１と対応づけられた鍵情報が、前記第１の登録要求に含まれる前記第１の鍵情報か否かの判定によるアクセス制御を行い、前記判定の結果前記アクセスした第２の論理ＨＢＡに付与されたＷＷＮ１と対応づけられた鍵情報が前記第１の鍵情報であると判定して前記論理ユニットへのアクセスを許可することを特徴とする請求項１１記載の計算機システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ある物理計算機上で動作中の仮想計算機もしくは論理区画を物理的に異なる計算機上に移動する計算機システムに関する。
【背景技術】
【０００２】
一つの物理計算機上に、複数の論理区画(以降、ＬＰＡＲ(Ｌｏｇｉｃａｌ  ＰＡＲｔｉｔｉｏｎ)と記す)を構築し、各ＬＰＡＲをそれぞれ個別の仮想的な計算機と見なし、その上でＯＳ(オペレーティングシステム)を動作させることが可能な仮想計算機システムが実用化されている。これにより、一つの物理的な計算機を複数の独立した計算機として動作させることが可能となる。本技術は、サーバの遊休リソースの活用や、サーバの運転に要する電力の削減などＴＣＯの削減の効果がある。
【０００３】
当該論理分割された計算機（もしくは仮想計算機）からのＩ／Ｏ要求を実現する方式として、仮想計算機上のＯＳ（以降、ゲストＯＳと記す）から発行されるＩ／Ｏをハイパーバイザが一旦受け付け、ハイパーバイザが動作しているＯＳや、別の代理実行専用に設けられたＯＳを経由して再度実行し直す方式（以降、Ｉ／Ｏエミュレーション方式と記す）と、ゲストＯＳから直接物理Ｉ／Ｏデバイスに対しＩ／Ｏ実行を要求する方式（以降、Ｉ／Ｏパススルー方式と記す）とがある。
【０００４】
Ｉ／Ｏパススルー方式でのＬＰＡＲマイグレーション処理に関して、特許文献１では、移動対象の仮想計算機に割り当てられているＦＣ−ＨＢＡ（Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ−Ｈｏｓｔ  Ｂｕｓ  Ａｄａｐｔｅｒ）のＷｏｒｌｄ  Ｗｉｄｅ  Ｎａｍｅ（以降ＷＷＮと記す）を移動先のＬＰＡＲに引き継ぐことで移動先のＬＰＡＲからも同一の論理ユニット（ＬＵ：Ｌｏｇｉｃａｌ Ｕｎｉｔ）へのアクセス権を継承できるようにしている。なお、当該方式は、ゲストＯＳがシャットダウン中に物理計算機を移動するシャットダウン方式のＬＰＡＲマイグレーションに関する解決方法である。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−２９９５０９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
仮想計算機を異なる物理計算機間で移動させるマイグレーションの方式のうち、ハイパーバイザ上のゲストＯＳを稼動させた状態のまま移動させ、移動先の物理計算機上でも対象のゲストＯＳを継続動作可能な状態にしておく移動方式を、ライブマイグレーションと呼ぶ。ライブマイグレーションによって、ゲストＯＳからのＬＵへのアクセスパスは移動元の物理計算機に搭載されている物理デバイスを使用するパスから、移動先の物理計算機に搭載されている物理デバイスを使用するパスへ切り替わる。
【０００７】
当該物理デバイスの変更に対し、Ｉ／Ｏ処理方式がＩ／Ｏエミュレーション方式の場合には、ハイパーバイザがＩ／Ｏ要求（ＭＭＩＯアクセス）をトラップし、Ｉ／Ｏアクセスのパスをハイパーバイザの階層で切り替える。一方、Ｉ／Ｏ処理方式がＩ／Ｏパススルー方式の場合には、移行するゲストＯＳが移行先の物理計算機からもでも同一のＬＵへアクセスできる必要がある。その為には、移動元のＬＰＡＲでＦａｂｒｉｃにログイン（ＬＯＧＩＮ）しつつ、移動先のＬＰＡＲからも同ＦａｂｒｉｃにＬＯＧＩＮできている必要がある。しかしながら、同一のＷＷＮを用いて、異なる２つのＦＣ−ＨＢＡからＦａｂｒｉｃに同時にＬＯＧＩＮすることはできない。また、移動元ＦＣ−ＨＢＡのＦａｂｒｉｃからのログアウト（ＬＯＧＯＵＴ）と移動先でのＬＯＧＩＮをシーケンシャルに実施しようとしても、Ｆａｂｒｉｃへのログイン・ログアウト処理には、最大数十秒かかる。
【０００８】
このため、Ｉ／Ｏパススルー方式でのマイグレーションとして、次の２つが考えられる。（１）移動元の計算機で動作しているゲストＯＳを停止させ、その期間に移動元計算機で使用しているＦＣ−ＨＢＡのＷＷＮをＬＯＧＯＵＴし、移動先のＦＣ−ＨＢＡからＬＯＧＩＮし直すことで、ＬＰＡＲ再開前にＬＵへのアクセス経路を確保する方法がある。しかし、本方式を実施した場合、ＯＳからディスクへアクセスができない期間が発生し、ゲストＯＳを継続稼働したままのライブマイグレーションは実現できない。
【０００９】
また、別の方式としては、（２）論理層では同一のＷＷＮを用いるが物理層では異なるＷＷＮを用いる方式である。本方式では、通常時に用いられるＷＷＮとは異なる論理的なＷＷＮを用いたＦＣ−ＨＢＡを用いてストレージとの代替接続パスを設置する。マイグレーション実施時には一時的にそのパスを利用して、Ｉ／Ｏアクセスを実現する方式である。この方式では、ライブマイグレーション実施時にのみ代替パスを使用して、Ｉ／Ｏアクセスを実行しつつ、通常時に用いられていたＷＷＮのパスは、一旦終了させる。そして、ＬＰＡＲを移動させる前に移動先にて、当該論理的なＷＷＮを使用したＦＣ−ＨＢＡのパスを初期化し、移動先からリンク（Ｌｉｎｋ）を確立しておく。これにより、移動先のＦＣ−ＨＢＡからのＬＵへのアクセス経路を事前に確保しておくことができる。このように事前にアクセス経路を構築しておくことでゲストＯＳのダウンタイムから、当該Ｉ／Ｏアクセスのパス構築所要時間を独立させることができる。
【００１０】
上記（２）の方式を採択した場合、ＳＣＳＩ  Ｐｒｉｍａｒｙ  Ｃｏｍｍａｎｄｓ−３（ＳＰＣ−３）の排他コマンドであるＰｅｒｓｉｓｔｅｎｔ  Ｒｅｓｅｒｖａｔｉｏｎコマンドに対応する必要がある。当該機能は、特にはパス冗長構成下でのクラスタシステムにおいて排他制御で使用されるコマンドである。
【００１１】
Ｐｅｒｓｉｓｔｅｎｔ  Ｒｅｓｅｒｖａｔｉｏｎコマンドでは、ストレージコントローラが、ＦＣ−ＨＢＡ側のポートのＷＷＮとＯＳ側で生成されたＲｅｓｅｒｖａｔｉｏｎ  Ｋｅｙとを対に記憶して排他制御を実施している（別の方式も存在し得る）。その為、移動元と移動先でストレージに接続しているＦＣ−ＨＢＡのＷＷＮが変化する場合、論理的なＷＷＮを変更する前のＦＣ−ＨＢＡからのアクセスでは排他されずにアクセスできていたＬＵであるのにもかかわらず、代替した異なる論理的なＷＷＮに変更した後のＦＣ−ＨＢＡからはＬＵへのアクセスが許可されず、拒否される。
【００１２】
また、ライブマイグレーションではゲストＯＳに物理計算機の変更を意識させずに仮想計算機を移動させる必要がある。ゲストＯＳが移動することを検知し、移動元ＦＣ−ＨＢＡからのＬＵへの排他制御を一度キャンセルし、移動後には移動が完了したことを検知し、移動先のＦＣ−ＨＢＡからＬＵへのアクセスを実施する前に再度排他制御をやり直し、アクセス制限を解除しておく方法がある。しかし、この方法を実現する為には、ミドルウェアやＯＳとのハンドシェークが必要となり、特殊なＯＳ、もしくはミドルウェアが必要となり、ミドルウェアからプラットフォームまで一貫できないオープンな環境では適用するのが難しい。
【課題を解決するための手段】
【００１３】
第１の物理計算機は、第１の物理ＨＢＡと、前記第１の物理ＨＢＡを論理的に分割して、第１の論理ＨＢＡ及び第１’の論理ＨＢＡを生成する第１のハイパーバイザと、ＷＷＮ１が付与された前記第１の論理ＨＢＡが割り当てられ、前記第１の論理ＨＢＡと前記記憶装置とを接続するリンク１を経由して前記記憶装置にアクセスする第１のＯＳが動作する第１の仮想計算機と、を有する。前記第１のＯＳは前記第１のＯＳ固有の第１の鍵情報を生成し、前記第１のハイパーバイザは、前記第１のＯＳによる前記第１の鍵情報を含む第１の登録要求の発行を監視して、前記第１の登録要求に含まれる前記第１の鍵情報を取得して、前記第１の論理ＨＢＡが有する第１の記憶領域に前記第１の鍵情報を記憶し、前記第１の論理ＨＢＡを経由して前記記憶装置を管理するストレージコントローラに前記第１の登録要求を送信し、前記ストレージコントローラに前記第１の登録要求に含まれる前記第１の鍵情報と、前記第１の登録要求の送信で経由した前記第１の論理ＨＢＡに付与されたＷＷＮ１とを対応づけてアクセス管理情報として登録させる。前記第１のハイパーバイザは、前記第１の仮想計算機を第２の物理計算機上に移行するに際し、前記第１の記憶領域に記憶した前記第１の鍵情報を読み出し、前記第１’の論理ＨＢＡを経由して前記ストレージコントローラに前記読み出した第１の鍵情報を含む第２の登録要求を送信して、前記ストレージコントローラに、前記第２の登録要求に含まれる前記第１の鍵情報と、前記第２の登録要求の送信で経由した前記第１’の論理ＨＢＡに付与されたＷＷＮ１’とを対応づけて前記アクセス管理情報として登録させ、前記ストレージコントローラが前記第１’の論理ＨＢＡから前記記憶装置が有する論理ユニットへのアクセスを受け付けた場合、前記アクセス管理情報を参照して、前記アクセスした第１’の論理ＨＢＡに付与されたＷＷＮ１’と対応づけられた鍵情報が、前記第１の登録要求に含まれる前記第１の鍵情報か否かの判定によりアクセス制御を実行させ、前記第１の仮想計算機に割り当てられた前記第１の論理ＨＢＡから、前記登録したＷＷＮ１’が付与された前記第１’の論理ＨＢＡに前記第１の仮想計算機への割り当てを切り替える。前記第１の仮想計算機で動作する前記第１のＯＳは、前記第１の仮想計算機を前記第２の物理計算機上に移行する間、前記第１の仮想計算機への割り当てを切り替えたことにより、前記第１’の論理ＨＢＡと前記記憶装置とを接続するリンク１’を経由して前記論理ユニットにアクセスする。
【発明の効果】
【００１４】
ストレージでの排他制御方式に対応しつつ、Ｉ／Ｏパススルー方式でライブマイグレーションできる。上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【００１５】
【図１】装置の全体的な構成図である。
【図２】ＬＰＡＲの構成図である。
【図３】ライブマイグレーションにて移動先に引き継ぐべき情報を示す。
【図４】ライブマイグレーションにおける外部環境との接続切り替え（ネットワーク）を示した図である。
【図５】ライブマイグレーションにおける外部環境との接続切り替え（ストレージ）を示した図である。
【図６（ａ）】ＬＰＡＲを移動する前のＷＷＮ管理テーブルを示す。
【図６（ｂ）】ＬＰＡＲを移動途中のＷＷＮ管理テーブルを示す。
【図６（ｃ）】ＬＰＡＲを移動した後のＷＷＮ管理テーブルを示す。
【図７】Ｐｅｒｓｉｓｔｅｎｔ Ｒｅｓｅｒｖａｔｉｏｎの動作概要である。
【図８（ａ）】ＬＰＡＲを移動する前のＬＵ毎のアクセス管理テーブルである。
【図８（ｂ）】ＬＰＡＲを移動途中のＬＵ毎のアクセス管理テーブルである。
【図８（ｃ）】ＬＰＡＲを移動した後のＬＵ毎のアクセス管理テーブルである。
【図９】Ｐｅｒｓｉｓｔｅｎｔ ＲｅｓｅｒｖａｔｉｏｎコマンドのＲｅｓｅｒｖａｔｉｏｎ方式一覧である。
【図１０】ライブマイグレーションの全体シーケンスである。
【図１１】Ｐｅｒｓｉｓｔｅｎｔ Ｒｅｓｅｒｖａｔｉｏｎ対応の為のＨｙｐｅｒｖｉｓｏｒでの処理手順である。
【図１２】ＲｅｇｉｓｔｅｒされたＲｅｓｅｒｖａｔｉｏｎ Ｋｅｙの削除処理である。
【発明を実施するための形態】
【００１６】
以下、実施例を図面にて説明する。
【実施例１】
【００１７】
図１はハイパーバイザ（Ｈｙｐｅｒｖｉｓｏｒ）１−１２、１−２２を中心とした仮想化機構を含んだサーバ全体の構成図である。ＬＰＡＲマイグレーションを示すために、移動元構成（左側）と移動先（右側）構成との二つの構成を記載しているが、構成項目の内容としては同一である。図２はＬＰＡＲの構成に注目した構成図である。当該仮想化機構は論理分割機構を使用した仮想化機構であり，ＣＰＵは物理ＣＰＵ１−１１１、１−２１１をＬＰＡＲ群（ＬＰＡＲ＃１  １−１３, ＬＰＡＲ＃２）、（ＬＰＡＲ＃３  １−２３, ＬＰＡＲ＃４）でタイムシェアリングして使用する形態である。また、メモリの分割／共有方式は、ホストＯＳ上のアプリケーションとして動作している方式とは異なり、物理メモリ１−１１２、１−２１２をハイパーバイザ１−１２、１−２２上で論理的に分割し、物理メモリ１−１１２、１−２１２を特定のＬＰＡＲ１−１３、１−２３に割り当てて使用する形態である。
【００１８】
以降、構成要素について順に説明する。物理計算機（Ｐｈｙｓｉｃａｌ  Ｃｏｍｐｕｔｅｒ）１−１１、１−２１は、主にＣＰＵ１−１１１、１−２１１と、メモリ（ｍｅｍｏｒｙ）１−１１２、１−２１２、Ｉ／ＯデバイスであるＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）１−１１３、１−２１３と、ＦＣ−ＨＢＡ（Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ−Ｈｏｓｔ  Ｂｕｓ  Ａｄａｐｔｅｒ）１−１１４、１−１１５、１−２１４、１−２１５から構成されるものとする。当該Ｉ／Ｏデバイスは各々スイッチに接続されている。
【００１９】
ＮＩＣ１−１１３、１−２１３は、ネットワークスイッチ（ＬＡＮ Ｓｗｉｔｃｈ）１−３に接続されている。ＦＣ−ＨＢＡ１−１１４、１−２１４は、ＦＣスイッチ（ＦＣ Ｓｗｉｔｃｈ）１−４−１に接続され、ＦＣ−ＨＢＡ１−１１５、１−２１５は、ＦＣスイッチ１−４−２に接続されている。この構成は、ＦＣ−ＨＢＡのパスを冗長化したものであり、ＦＣ Ｓｗｉｔｃｈ１−４−１、１−４−２の異なるパスから同一のストレージ（Ｓｔｏｒａｇｅ、記憶装置）１−５に接続されている。
【００２０】
ストレージ１−５の内部には、実際の記憶装置である論理ユニット（ＬＵ：Ｌｏｇｉｃａｌ Ｕｎｉｔ）１−５１、ストレージコントローラ１−５２が存在している。当該ＬＵ１−５１には、図２で示すゲストＯＳ（オペレーティングシステム）２−７が格納されている。
【００２１】
物理計算機１−１１、１−２１上では、ハイパーバイザ１−１２、１−２２がそれぞれ動作しており、物理計算機のリソース（ＣＰＵ１−１１１，１−２１１、メモリ１−１１２，１−２１２、ＮＩＣ１−１１３，１−２１３、ＦＣ−ＨＢＡ１−１１４，１−１１５,１−２１４,１−２１５）の割り当てを管理している。当該ハイパーバイザ１−１２、１−２２上では、複数の論理区画であるＬＰＡＲ群（ＬＰＡＲ＃１  １−１３, ＬＰＡＲ＃２）、（ＬＰＡＲ＃３  １−２３, ＬＰＡＲ＃４）が動作し、図２のゲストＯＳ２−７を実行している。ここで、ＬＰＡＲ２−６は、ＬＰＡＲ１−１３，１−２３に相当する。
【００２２】
ＬＰＡＲ２−６は、論理ＣＰＵ２−６１、論理メモリ２−６２、論理ＮＩＣ２−６３、論理ＦＣ−ＨＢＡ２−６４を備える。論理ＮＩＣ２−６３には論理ＭＡＣアドレス２−６３−１が、論理ＦＣ−ＨＢＡ１−１２−１には論理ＷＷＮ２−６４−１がハイパーバイザ１−１２，１−２２によって割り当てられている。
【００２３】
また、Ｉ／Ｏデバイスについて、ハイパーバイザ（１−１２，１−２２）により物理ＮＩＣ１−１１３，１−２１３をＬＰＡＲ＃１、＃２、＃３、＃４間で論理的に共有し、各ＬＰＡＲに割り当てることで論理ＮＩＣ（１−１２−３，１−２２−３）が各ＬＰＡＲ内に存在する（２−６３）。
【００２４】
同様に、ハイパーバイザ（１−１２，１−２２）により物理ＦＣ−ＨＢＡ１−１１４，１−１１５，１−２１４，１−２１５をＬＰＡＲ＃１、＃２、＃３、＃４間で論理的に共有し、各ＬＰＡＲに割り当てることで論理ＦＣ−ＨＢＡ(１−１２−１，１−１２−２，１−２２−１，１−２２−２)が各ＬＰＡＲに存在する（２−６４）。
【００２５】
各論理ＦＣ−ＨＢＡ（１−１２−１，１−１２−２，１−２２−１，１−２２−２）には、論理ＦＣ−ＨＢＡに割り当てられた論理ＷＷＮを保持しておくＷＷＮ管理テーブル（１−１２−１−１，１−１２−２−１，１−２２−１−１，１−２２−２−１）がある。また、Ｐｅｒｓｉｓｔｅｎｔ Ｒｅｓｅｒｖａｔｉｏｎの鍵情報（以降、Ｒｅｓｅｒｖａｔｉｏｎ  Ｋｅｙ）を記憶しておくためのＲｅｓｅｒｖａｔｉｏｎ Ｋｅｙ記憶領域（１−１２−１−２，１−１２−２−２，１−２２−１−２，１−２２−２−２）がある。
【００２６】
図３はライブマイグレーションにおいて移動先ＬＰＡＲ１−２３に引き継ぐべきデータを示している。前述の通りＬＰＡＲ１−１３を異なる物理サーバ１−２１上のハイパーバイザ１−２２へ移動することをＬＰＡＲマイグレーションと呼ぶ。この際、異なる物理計算機１−２１へ構成が変化したことをゲストＯＳ２−７に意識させることが無いよう移動する必要がある。
【００２７】
さらには、ゲストＯＳ２−７を稼働させたままＬＰＡＲ１−１３を移動させることをライブマイグレーションと呼ぶ。ライブマイグレーションでは、ゲストＯＳ２−７は稼働したまま移動する為、論理ＣＰＵ２−６１のレジスタ情報２−６１−１、内部変数２−６１−２、論理メモリ２−６２の内容、そして論理デバイス（論理ＮＩＣ２−６３、および論理ＦＣ−ＨＢＡ２−６４）のレジスタ情報２−６３−２，２−６４−２、内部変数２−６３−３、２−６４−３を移動先ＬＰＡＲ１−２３に引き継ぐ必要がある。例えば、内部変数２−６４−３にはゲストOS２−７で生成したＲｅｓｅｒｖｅｖａｔｉｏｎ  Keyが含まれる。図３に示したライブマイグレーションにおいて移動先ＬＰＡＲ１−２３に引き継ぐべきデータは、後述する図１０のデバイス/CPU転送１０−２８で移動元から移動先へ送信される。
【００２８】
図４、図５ではＬＰＡＲ１−１３、１−２３と外部環境との接続状態の維持について述べる。図４、図５で破線で記述しているもの、かつ番号に「’」が付記されているものは、ライブマイグレーションにより移動元から移動先へ移動しても上位層からみると相違は無く論理的には同番号が付与され「’」が付記されていない移動元の構成要素と同一の物であり、移動元構成（左側）における各々の状態を論理的に引き継ぐものである。ライブマイグレーションでは、移動元構成でのネットワーク接続や、ストレージエリアネットワークの接続を維持したまま移動する必要がある。
【００２９】
図４にはネットワーク構成に関する切り替え概要を示す。ゲストＯＳ２−７は前述の通り、ＬＰＡＲ１−１３で稼働しているＯＳである。論理ＮＩＣ２−６３は物理ＮＩＣ１−１１３を介し、ネットワークスイッチ１−３に接続パス４−１４で接続され、外部ＰＣ４−４と通信する。ネットワークの切り替えでは、論理ＮＩＣ２−６３に具備されているＭＡＣアドレス２−６３−１と、ゲストＯＳ２−７上で管理されているＩＰアドレス４−１１１を移動元から移動先へ引き継ぎ、移動後にネットワークスイッチ１−３の宛先管理テーブル１−３１を更新する。そのため、ネットワークスイッチ１−３との物理結線が移動元の結線４−１４と、移動先の結線４−２４とで異なる移動先においても、移動元での外部ＰＣ４−４との接続関係４−１５を移動先での接続関係４−２５に更新し接続を維持し、移動後にもそのままネットワークを利用することができる。
【００３０】
図５にはストレージ構成に関する切り替え概要を示す。論理ＦＣ−ＨＢＡ１−１２−１，１−１２−２は、Ｈｙｐｅｒｖｉｓｏｒ１−１２，１−２２層を介して、物理ＦＣ−ＨＢＡ１−１１４，１−１１５を経たうえで、ＦＣスイッチ＃１、＃２（１−４−１、１−４−２）に接続されている。
【００３１】
ストレージ接続に関しては、ゲストＯＳ２−７は、Ｉ／Ｏ発行先のＬＵ１−５１の番号５−１１３を保持する。また、ゲストＯＳ２−７は、論理ＦＣ−ＨＢＡ１−１２−１，１−１２−２のＳＣＳＩ−ＩＤ５−１１１、およびストレージ側のＳＣＳＩ−ＩＤ５−１１２を論理ＦＣ−ＨＢＡ２−６４毎に具備されている論理ＷＷＮ２−６４−１と紐付けて保持している。
【００３２】
移動先から同一のＬＵ１−５１へ継続してＩ／Ｏを発行する為には、同一の論理ＷＷＮ（ＷＷＮ１，ＷＷＮ２）２−６４−１を移動元から移動先へ引き継ぐ必要がある。Ｉ／Ｏパススルー方式において、移動元から移動先へ瞬時(1sec未満)に接続状態を切り替えるための方法について説明する。
【００３３】
移動元ＬＰＡＲ１−１３に割り当てられた論理ＦＣ−ＨＢＡ１−１２−１，１−１２−２を前記ＷＷＮ管理テーブル１−１２−１−１，１−１２−２−１に保持された別の論理ＷＷＮ（ＷＷＮ１’，ＷＷＮ２’）を別の論理ＦＣ−ＨＢＡ１−１２−１’，１−１２−２’（同一物理Ｐｏｒｔを分割使用）に割り当てて、上位層のゲストＯＳ２−７に気づかれないようにＩ／Ｏ発行先を切り替える方法がある。この方法によると、移動前に当初使用していた論理ＷＷＮ（ＷＷＮ１，ＷＷＮ２）２−６４−１を持つ論理ＦＣ−ＨＢＡ２−６４をＦａｂｒｉｃから登録解除（解放する）ことができ、移動先で前記論理ＷＷＮ（ＷＷＮ１，ＷＷＮ２）２−６４−１にてＦａｂｒｉｃにて新たにＬｏｇｉｎし直すことが可能となり、これによりでライブマイグレーション実行時に移動先でのＩ／Ｏ発行処理の切り替え（Ｉ／Ｏ処理継続）を実施することができる。
【００３４】
図６にＷＷＮ管理テーブルを示す。図６（a）にＬＰＡＲ２−６を移動する前のＷＷＮ管理テーブルを示す。ここで、このときゲストＯＳ２−７からのＩ／Ｏ発行で使用する論理ＦＣ−ＨＢＡ１−１２−１をＨＢＡ１と定義し、マイグレーションで使用するＨＢＡ１の代替用の論理ＦＣ−ＨＢＡ１−１２−１’をＨＢＡ１’と定義する。同様に、論理ＦＣ−ＨＢＡ１−１２−２をＨＢＡ２と定義し、ＨＢＡ２の代替用の論理ＦＣ−ＨＢＡ１−１２−２’をＨＢＡ２’と定義する。
【００３５】
ハイパーバイザ１−１２により、ＨＢＡ１とＨＢＡ１’に論理ＷＷＮとしてＷＷＮ１とＷＷＮ１’がそれぞれ付与される（６−１−１−１，６−１−１−２）。同様に、ハイパーバイザ１−１２により、ＨＢＡ２とＨＢＡ２’に論理ＷＷＮとしてＷＷＮ２とＷＷＮ２’がそれぞれ付与される（６−１−２−１，６−１−２−２）。
【００３６】
また、論理ＦＣ−ＨＢＡ１−２２−１をＨＢＡ３と定義し、ＨＢＡ３の代替用の論理ＦＣ−ＨＢＡをＨＢＡ３’と定義する。論理ＦＣ−ＨＢＡ１−２２−２をＨＢＡ４と定義し、ＨＢＡ４の代替用の論理ＦＣ−ＨＢＡをＨＢＡ４’と定義する。
【００３７】
ライブマイグレーション実行前の状態では移動元の論理ＦＣ−ＨＢＡのＷＷＮ管理テーブル１−１２−１−１，１−１２−２−１には、各々の論理ＦＣ−ＨＢＡ１−１２−１，１−１２−２の論理ＷＷＮ２−６４−１（ＩＤ，ＷＷＮ値）が登録されている。このとき、ゲストＯＳ２−７からのＩ／Ｏ発行で使用する論理ＦＣ−ＨＢＡは、代替用の論理ＦＣ−ＨＢＡ（ＨＢＡ１’，ＨＢＡ２’）と論理ＷＷＮ（ＷＷＮ１’，ＷＷＮ２’）ではなく、本来の論理ＦＣ−ＨＢＡ（ＨＢＡ１，ＨＢＡ２）と論理ＷＷＮ（ＷＷＮ１，ＷＷＮ２）である。
【００３８】
移動先のＷＷＮ管理テーブル１−２２−１−１，１−２２−２−１では、マイグレーション実行前にはマイグレーション対象のＬＰＡＲ１−２３が使用する論理ＦＣ−ＨＢＡ１−２２−１，１−２２−２のＩＤは未割り当てである（６−１−３−１，６−１−４−１）。
【００３９】
図６（ｂ）にＬＰＡＲ２−６を移動中のＷＷＮ管理テーブルを示す。移動中には、移動元の論理ＦＣ−ＨＢＡ２−６４で移動前に使用していた論理ＷＷＮ（ＷＷＮ１，ＷＷＮ２）を有する論理ＦＣ−ＨＢＡを解放し、未使用とする（６−２−１−１，６−２−２−１）。代わりに、移動元の代替用論理ＦＣ−ＨＢＡに別の論理ＷＷＮ（ＷＷＮ１’，ＷＷＮ２’）を割り当てることで使用中とする（６−２−１−２，６−２−２−２）。移動元で未使用となった論理ＷＷＮ（ＷＷＮ１，ＷＷＮ２）６−２−１−１，６−２−２−１を、移動先の論理ＦＣ−ＨＢＡ(１−２２−１，１−２２−２)に割り当て、使用中とする（６−２−３−１，６−２−４−１）。
【００４０】
図６（ｃ）にＬＰＡＲ２−６を移動後のＷＷＮ管理テーブルを示す。最終的に移動が完了すると、移動元の論理ＦＣ−ＨＢＡ２−６４は未使用状態となり、論理ＷＷＮ２−６４−１も未割り当てとなる（６−３−１−１、６−３−１−２、６−３−２−１、６−３−２−２）。これにより、Ｉ／Ｏパススルー方式でのライブマイグレーションでの瞬時のＩ／Ｏ切り替えが実現できる。なお、移動先の代替用論理ＦＣ−ＨＢＡ（６−３−３−２、６−３−４−２）は一連の処理において使用されないが、改めて再度マイグレーションを実施する場合には移動元の情報となり、前述の通り使用される。
【００４１】
本方式は移動元のハイパーバイザ１−１２が移動元ＬＰＡRに割り当てる論理ＦＣ−ＨＢＡを、ＷＷＮ１、ＷＷＮ２を割り当てたＨＢＡ１，ＨＢＡ２から，ＷＷＮ１’、ＷＷＮ２’を割り当てた代替用論理ＦＣ−ＨＢＡ（ＨＢＡ１’，ＨＢＡ２’）にゲストＯＳ２−７に隠蔽して変更することにより、Ｉ／Ｏに使用する論理ＷＷＮ２−６４−１の変化はゲストＯＳ２−７には影響を与えない。
【００４２】
一方で、本方式の場合、ＦＣスイッチ１−４−１，１−４−２、ストレージ１−５には、実際にＬＯＧＩＮしている論理ＦＣ−ＨＢＡ２−６４の論理ＷＷＮ２−６４−１を認識される。
【００４３】
ここで、ストレージで計算機のＨＢＡに付与されたＷＷＮを認識する方法の一例として、以下の方法がある。まず、計算機のＨＢＡでのログイン時にストレージではＨＢＡのポートＩＤとそのＨＢＡに付与されたＷＷＮとを対応づけて管理する管理テーブルを作成する。そして、サーバのＨＢＡを経由してストレージに送信される命令（Ｉ／Ｏ）をストレージが受け取ると、ＨＢＡを経由した命令にはＨＢＡのポートＩＤが含まれるので、ストレージは命令に含まれるＨＢＡのポートＩＤをもとに管理テーブルからＷＷＮを取得する。ＨＢＡが論理ＨＢＡ、ＷＷＮが論理ＷＷＮの場合にも同様の方法にて、論理ＨＢＡを経由した命令からストレージは論理ＷＷＮを認識できる。
【００４４】
ＦＣスイッチ１−４−１，１−４−２、ストレージ１−５には、実際にＬＯＧＩＮしている論理ＦＣ−ＨＢＡ２−６４の論理ＷＷＮ２−６４−１を認識される為に発生する、本方式における独自の問題点について下記で述べる。
【００４５】
ＳＣＳＩコマンドには、排他制御を実現するためのコマンドとして、Ｐｅｒｓｉｓｔｅｎｔ Ｒｅｓｅｒｖａｔｉｏｎコマンドが存在する。ここで、本実施例における排他制御とは、ストレージコントローラ1-52が論理ＨＢＡからストレージ（記憶装置）1-5が有する論理ユニット(LU)1-51へのアクセスを受け付けた場合、アクセス管理テーブル7-41を参照して、アクセスした論理FC-ＨＢＡ1-12-1に付与された論理WWN2-64-1に対応付けられているReservation Key(鍵情報)７−１１に設定されたアクセス権限にてアクセス制御をすることを意味する。Reservation Key(鍵情報)７−１１のアクセス権限は、図９に示すPersistent Reservationコマンドにより設定・変更され、論理FC-HBA1-12-1からLU1-51へのアクセス可否をきめる。
【００４６】
図７にＰｅｒｓｉｓｔｅｎｔ Ｒｅｓｅｒｖａｔｉｏｎコマンドの動作について概要を示す。対象とするシステムとして、ＬＰＡＲ１−１３上で稼働するゲストＯＳ２−７、およびパス冗長化ソフトウェア７−１２、ＬＰＡＲ１−１３に割り当てられている物理ＦＣ−ＨＢＡ１−１１４，１−１１５を使用してパス冗長構成を組んでいる構成を有する。
【００４７】
また、当該システムは、他のＯＳとクラスタ構成を組んでいる構成を考える。移動対象のゲストＯＳ２−７は、当該ゲストＯＳ（あるいは排他制御を行う集合体単位）２−７にユニークなＲｅｓｅｒｖａｔｉｏｎ Ｋｅｙ７−１１を生成する。ゲストＯＳ２−７は、当該ＬＵ１−５１へ同一ＯＳ２−７からのアクセスは許可し、他のＯＳからのアクセスは拒否する為にストレージコントローラ１−５２側へ排他制御を要求する。
【００４８】
排他制御の要求を受けたストレージコントローラ１−５２は、当該要求が発行されたＦＣ−ＨＢＡのＷＷＮを対象のＬＵ１−５１毎に管理されたアクセス管理テーブル７−４１に、指定されたＲｅｓｅｒｖａｔｉｏｎ Ｋｅｙ７−１１と共に登録する。ストレージ1-5は、Persistent ReservationでReserveしたReservation Key（鍵情報）7-11を記憶する。これにより、あるリザベーションの形態に依れば、ReserveしたReservation Key（鍵情報）7-11と同一のＲｅｓｅｒｖａｔｉｏｎ Ｋｅｙ７−１１とともに登録したＷＷＮを持つＦＣ−ＨＢＡからはＬＵ１−５１にアクセスできるようになる。
【００４９】
図８にＬＵ毎のアクセス管理テーブル７−４１の概念を示す。図８（a）にＬＰＡＲ２−６を移動する前のＬＵ毎のアクセス管理テーブル７−４１を示す。ストレージコントローラ１−５２は、アクセス管理テーブル７−４１をＬＵ毎に保持している。アクセス管理テーブル７−４１は、アクセスしてくるＦＣ−ＨＢＡのＷＷＮを８−１に保持し、ゲストＯＳ２−７にて生成されたＲｅｓｅｒｖａｔｉｏｎ Ｋｅｙ７−１１を８−２に保持している。当該エントリは複数個からなる。ストレージコントローラ１−５２は、アクセス管理テーブル７−４１に基づいて、アクセスしてきたＷＷＮを持つＦＣ−ＨＢＡに対してアクセスを許可するか、拒否するかを判断する。
【００５０】
図８（a）のアクセス管理テーブル７−４１において、エントリ＃１のＷＷＮ８−１１とエントリ＃２のＷＷＮ８−１２は同じＲｅｓｅｒｖａｔｉｏｎ Ｋｅｙ８−２１，８−２２である“ａｂｃ”を有している為、ＷＷＮ８−１１をもつＦＣ−ＨＢＡとＷＷＮ８−１２をもつＦＣ−ＨＢＡは排他制御が掛らずにアクセス可能なグループである。
【００５１】
一方、エントリ＃１のＷＷＮ８−１１をもつＦＣ−ＨＢＡがＰｅｒｓｉｓｔｅｎｔ ＲｅｓｅｒｖａｔｉｏｎでＲｅｓｅｒｖｅしている場合、エントリ＃３や＃４のＷＷＮ８−１３，８−１４を持つＨＢＡは異なるＲｅｓｅｒｖａｔｉｏｎ Ｋｅｙ８−２３，８−２４である“ｘｙｚ”を有しているため、エントリ＃３や＃４のＷＷＮ８−１３，８−１４を持つ他のＨＢＡからは、ストレージコントローラ１−５２による排他制御により当該ＬＵにアクセスできない。
【００５２】
図８（ｂ）に、前記Ｉ／Ｏパススルー方式を使用したマイグレーションを実行中のアクセス管理テーブル７−４１を示す。ハイパーバイザ１−１２が、代替用論理ＦＣ−ＨＢＡ（１−１２−１向けが６−１−１−２、１−１２−２向けが６−１−２−２となる）から、代替用論理ＦＣ−ＨＢＡの論理ＷＷＮ（ＷＷＮ１’，ＷＷＮ２’）と、ゲストＯＳ２−７が生成したＲｅｓｅｒｖａｔｉｏｎ Ｋｅｙ７−１１と同一のＫｅｙ“ａｂｃ”とを、アクセス管理テーブル７−４１の＃５、＃６エントリに登録する（８−１６，８−１７，８−２６，８−２７）。
【００５３】
図８（ｃ）にＬＰＡＲ２−６を移動後のアクセス管理テーブル７−４１を示す。その後マイグレーションが終了すると、Ｈｙｐｅｒｖｉｓｏｒ１−１２は自身が登録した代替用論理ＦＣ−ＨＢＡ分のエントリ（８−１６，８−１７，８−２６，８−２７）を削除する。これにより、マイグレーション実行前のアクセス管理テーブル７−４１を復元できる。
【００５４】
図９にＳＰＣ−３で規定されている排他制御方式について示す。Ｐｅｒｓｉｓｔｅｎｔ ＲｅｓｅｒｖｅコマンドでＲｅｓｅｒｖａｔｉｏｎを実施したＷＷＮを有するＦＣ−ＨＢＡをＲｅｓｅｒｖａｔｉｏｎ保持者９−２１と呼ぶ。ここで、一般的には同一の計算機であっても異なるＦＣ−ＨＢＡには異なるＷＷＮが具備されており、ストレージ装置への接続経路を冗長化している時などにおいて、別計算機と同一計算機の別ＦＣ−ＨＢＡとの違いを区別する為に同一のキーを持つことで同一計算機の別ＦＣ−ＨＢＡであると判別することができる。この同一キーにてアクセス判定が行われるものを同一キー（Ｒｅｓｅｒｖａｔｉｏｎ Ｋｅｙ）登録者９−２２と呼ぶ。
【００５５】
Ｗｒｉｔｅ Ｅｘｃｌｕｓｉｖｅ（コマンドコード：１ｈ）および、Ｅｘｃｌｕｓｉｖｅ Ａｃｃｅｓｓ（コマンドコード：３ｈ）の場合は、Ｒｅｓｅｒｖａｔｉｏｎ保持者９−２１はアクセス可能だが、それ以外のＷＷＮを持つＦＣ−ＨＢＡからはアクセス不可となる。
【００５６】
また、Ｗｒｉｔｅ Ｅｘｃｌｕｓｉｖｅ −Ｒｅｇｉｓｔｒａｎｔｓ Ｏｎｌｙ（コマンドコード：５ｈ）および、Ｅｘｃｌｕｓｉｖｅ Ａｃｃｅｓｓ −Ｒｅｇｉｓｔｒａｎｔｓ Ｏｎｌｙ（コマンドコード：６ｈ）の場合は、Ｒｅｓｅｒｖａｔｉｏｎ保持者９−２１のみならず、同一Ｒｅｓｅｒｖａｔｉｏｎ Ｋｅｙ登録者９−２２はアクセスが許可される。
【００５７】
さらに、Ｗｒｉｔｅ Ｅｘｃｌｕｓｉｖｅ −Ａｌｌ Ｒｅｇｉｓｔｒａｎｔｓ（コマンドコード：７ｈ）および、Ｅｘｃｌｕｓｉｖｅ Ａｃｃｅｓｓ −Ａｌｌ Ｒｅｇｉｓｔｒａｎｔｓ（コマンドコード：８ｈ）の場合は、同一Ｒｅｓｅｒｖａｔｉｏｎ Ｋｅｙを有するＦＣ−ＨＢＡ（同一Ｒｅｓｅｒｖａｔｉｏｎ Ｋｅｙ登録者９−２２）もＲｅｓｅｒｖａｔｉｏｎ保持者９−２１として扱われる。
【００５８】
図１０に当該方式でのライブマイグレーションの全体シーケンスについて述べる。
【００５９】
まず、移動元のＨｙｐｅｒｖｉｓｏｒ１−１２上でＬＰＡＲ１−１３を生成し（１０−１）、ゲストＯＳ２−７を起動する（１０−２）。その後、ゲストＯＳ２−７はクラスタ構成を実現する為にＰｅｒｓｉｓｔｅｎｔ Ｒｅｓｅｒｖａｔｉｏｎを発行する為の準備を始める。
【００６０】
ゲストＯＳ２−７は他のホストからのアクセスを抑止する為Ｒｅｓｅｒｖａｔｉｏｎ Ｋｅｙ７−１１を生成する（１０−３）。当該処理との順序は問わないが、一般的にＯＳ起動時にはＩ／Ｏデバイスの初期化が実行される。具体的にはＦＣ−ＨＢＡのＦ／Ｗを開始し、Ｌｉｎｋを初期化し、ＦａｂｒｉｃへＬｏｇｉｎするといった手順である（１０−４）（１０−５）。
【００６１】
生成したＲｅｓｅｒｖａｔｉｏｎ Ｋｅｙ７−１１とＨＢＡ１、ＨＢＡ２のＷＷＮ（ＷＷＮ１、ＷＷＮ１’）とを関連付けてストレージ１−５に登録するために、ゲストＯＳ２−７はストレージ１−５にＰｅｒｓｉｓｔｅｎｔ ＲｅｓｅｒｖａｔｉｏｎのＲｅｇｉｓｔｅｒを発行する（１０−６）。
【００６２】
移動元のＨｙｐｅｒｖｉｓｏｒ１−１２は、Ｒｅｓｅｒｖａｔｉｏｎに使用するＲｅｓｅｒｖａｔｉｏｎ  Ｋｅｙ７−１１を監視しておき、Ｒｅｓｅｒｖａｔｉｏｎ Ｋｅｙ記憶領域１−１２−１−２，１−１２−２−２に記憶する（１０−７）。さらに、Ｒｅｓｅｒｖａｔｉｏｎ  Ｋｅｙ７−１１の登録コマンドをストレージ１−５に発行し（１０−８）、ストレージ１−５がＲｅｓｅｒｖａｔｉｏｎ  Ｋｅｙ７−１１の管理を開始する（１０−９）。ストレージ1-5は、Persistent ReservationでReserveしたReservation Key（鍵情報）7-11を記憶する。その後、通常の運用を開始し、ストレージ１−５は排他制御を考慮したＩ／Ｏアクセスを実施する（１０−１０）。
【００６３】
ひとたび、ユーザによりライブマイグレーションの実行要求が管理サーバ１−６に出されると、管理サーバ１−６はライブマイグレーション実行要求を受け付け、移動元Ｈｙｐｅｒｖｉｓｏｒ１−１２と移動先Ｈｙｐｅｒｖｉｓｏｒ１−２２にマイグレーション開始要求を通知する（１０−１１、１０−１２）。ここで、マイグレーションの開始の契機としては、管理サーバ１−６がライブマイグレーション実行要求を受け付ける場合に限定されず、例えば移動元の物理計算機１−１１での予兆的な障害を検出した場合や、リソースの平準化を目的とした発動であっても良い。
【００６４】
マイグレーション開始要求の通知を受けた移動元Ｈｙｐｅｒｖｉｓｏｒ１−１２は、ＨＢＡ１及びＨＢＡ２の代替用論理ＨＢＡ１’及びＨＢＡ２’を初期化する（１０−１４、１０−１５）。その後、移動元のＨｙｐｅｒｖｉｓｏｒ１−１２は、ＨＢＡ１’及びＨＢＡ２’からＲｅｓｅｒｖａｔｉｏｎ Ｋｅｙ７−１１の登録コマンドを発行する（１０−１６）。この際使用するＲｅｓｅｒｖａｔｉｏｎ Ｋｅｙ７−１１は（１０−７）において事前にＲｅｓｅｒｖａｔｉｏｎ Ｋｅｙ記憶領域１−１２−１−２，１−１２−２−２に記憶したＲｅｓｅｒｖａｔｉｏｎ  Ｋｅｙ７−１１を使用する。これにより、ストレージ側１−５では、ＨＢＡ１’及びＨＢＡ２’に対しても元々使用しているＨＢＡ１及びＨＢＡ２と同様の排他制御が実施される（１０−１７）。
【００６５】
その後、移動元Ｈｙｐｅｒｖｉｓｏｒ１−１２は、図５で説明したように、ＨＢＡ１及びＨＢＡ２からＨＢＡ１’からＨＢＡ２’へ移動元ＬＰＡＲへの論理ＦＣ−HBAの割り当てを変えることでＩ／Ｏ発行先の切り替えを実施する。移動元Ｈｙｐｅｒｖｉｓｏｒ１−１２は、ＨＢＡ１及びＨＢＡ２のＩ／Ｏ実行状態を監視し（１０−１８）、Ｉ／Ｏが実行されていない状況、かつＲｅｓｅｒｖａｔｉｏｎ Ｋｅｙ７−１１の登録が完了を受け取っている状態（１０−１９）になった処でＩ／Ｏの割り当てをＨＢＡ１及びＨＢＡ２からＨＢＡ１’及びＨＢＡ２’へ切り替える（１０−２０）。
【００６６】
移動元Ｈｙｐｅｒｖｉｓｏｒ１−１２は、ＨＢＡ１及びＨＢＡ２が解放された処で、ＨＢＡ１及びＨＢＡ２の論理ＷＷＮ（ＷＷＮ１、ＷＷＮ２）を移動先Ｈｙｐｅｒｖｉｓｏｒ１−２２へ引き渡す（１０−２１）。この間に発行されたＩ／Ｏ要求（１０−２４）はＨＢＡ１’及びＨＢＡ２’を介してストレージ１−５へ伝達されることになる。
【００６７】
また、移動先Ｈｙｐｅｒｖｉｓｏｒ１−２２は、移動先のＨＢＡ３及びＨＢＡ４（１−２２−１）を初期化する（１０−２２、１０−２３）。
【００６８】
移動先ＨＢＡ３及びＨＢＡ４の初期化完了を確認した移動元Ｈｙｐｅｒｖｉｓｏｒ１−１２は移動先Ｈｙｐｅｒｖｉｓｏｒ１−２２にメモリ転送（１０−２５）を開始する。移動先Ｈｙｐｅｒｖｉｓｏｒ１−２２は、そのデータを受け取り移動先でデータの反映を実施する（１０−２６）。移動元Ｈｙｐｅｒｖｉｓｏｒ１−１２は転送すべきメモリのデータ量が一定の量以下になった時点で、ＬＰＡＲの停止要求を移動元ＬＰＡＲ１−１３に通知する（１０−２７）。
【００６９】
移動元Ｈｙｐｅｒｖｉｓｏｒ１−１２は、ＬＰＡＲ１−１３が停止された後、移動先Ｈｙｐｅｒｖｉｓｏｒ１−２２にデバイス、ＣＰＵの情報を転送する（１０−２８）。前述と同様、移動先Ｈｙｐｅｒｖｉｓｏｒ１−２２は受け取ったデータを反映する（１０−２９）。その後、移動元Ｈｙｐｅｒｖｉｓｏｒ１−１２はデータ転送が完了する契機で、移動先Ｈｙｐｅｒｖｉｓｏｒに対し、ＬＰＡＲの再開を要求する（１０−３０）。再開要求を受け取った移動先Ｈｙｐｅｒｖｉｓｏｒ１−２２は移動先ＬＰＡＲ１−２３に対し、再開要求を指示する（１０−３１）。
【００７０】
ＬＰＡＲ再開を要求した移動元Ｈｙｐｅｒｖｉｓｏｒ１−１２は、終了処理（１０−３２）をＨＢＡ１’及びＨＢＡ２’に要求する。終了処理要求を受けたＨＢＡ１’及びＨＢＡ２’は自ら登録したＲｅｓｅｒｖａｔｉｏｎ Ｋｅｙの削除要求をストレージ１−５に発行（１０−３３）し、ストレージ１−５はＲｅｓｅｒｖａｔｉｏｎ  Ｋｅｙの削除を実施する（１０−３４）。その後ＨＢＡ１’及びＨＢＡ２’は終了処理として、ＬＯＧＯＵＴ処理を実施する（１０−３５）。終了要求を受けたストレージ１−５側も終了処理を実施する（１０−３６）。
【００７１】
この移動先Ｈｙｐｅｒｖｉｓｏｒ１−２２上のＬＰＡＲ１−２３で発行されるＩ／Ｏ要求（１０−３７）は、ＨＢＡ３及びＨＢＡ４を介して、ストレージ１−５へ発行される。一方、ＨＢＡ１’及びＨＢＡ２’の終了処理の完了を受け取った移動元Ｈｙｐｅｒｖｉｓｏｒ１−１２は移動元ＬＰＡＲ１−１３の削除を要求する（１０−３８）。移動元ＬＰＡＲ１−１３の削除が完了したことで、管理サーバ１−６へマイグレーションの完了を移動元、移動先各々のＨｙｐｅｒｖｉｓｏｒから通知する（１０−３９）（１０−４０）。
【００７２】
図１１に、前述したＨｙｐｅｒｖｉｓｏｒ１−１２でのＰｅｒｓｉｓｔｅｎｔ Ｒｅｓｅｒｖａｔｉｏｎを発行する手順（１０−１６）の詳細を示す。まず、Ｈｙｐｅｒｖｉｓｏｒ１−１２はＬＰＡＲ１−１３が使用しているＬＵ１−５１の情報を取得する（ＲＥＰＯＲＴ ＬＵＮＳコマンドを使用する等）（１１−１−１、１１−２−１，１１−２−２，１１−１−２）。次に、Ｈｙｐｅｒｖｉｓｏｒ１−１２は、前記全てのＬＵ１−５１に対し、Ｒｅａｄ Ｒｅｓｅｒｖａｔｉｏｎを用いてＲｅｓｅｒｖａｔｉｏｎ Ｔｙｐｅを取得する（１１−１−３，１１−２−３、１１−２−４、１１−１−４）。
【００７３】
取得したＲｅｓｅｒｖａｔｉｏｎ Ｔｙｐｅが排他アクセスを許さない場合（Ｗｒｉｔｅ Ｅｘｃｌｕｓｉｖｅ、及びＥｘｃｌｕｓｉｖｅ Ａｃｃｅｓｓ）（１１−１−５）には異なるＷＷＮを有するポートからのアクセスは不可となる為、以降の処理を中止し、マイグレーションを中止する（１１−１−６）。それ以外の場合には、別のＷＷＮを有するＦＣ−ＨＢＡであっても同一のＲｅｓｅｒｖａｔｉｏｎ Ｋｅｙを持てばアクセス可能である為、後続の処理を実施する。
【００７４】
次にＨｙｐｅｒｖｉｓｏｒ１−１２は、対象のＬＵ１−５１のＲｅｓｅｒｖａｔｉｏｎ Ｋｅｙ記憶領域１−１２−１−２，１−１２−２−２からＨＢＡ１及びＨＢＡ２（１−１２−１）で使用されているＲｅｓｅｒｖａｔｉｏｎ Ｋｅｙ７−１１を読み出す（１１−１−７）。ＨＢＡ１及びＨＢＡ２（１−１２−１）に対応する代替のＨＢＡ１’及びＨＢＡ２’（１−１２−１’）を介して読み出したＲｅｓｅｒｖａｔｉｏｎ Ｋｅｙ７−１１を使用してＲＥＧＩＳＴＥＲを実施する（１１−１−８、１１−１−９）。ＲＥＧＩＳＴＥＲ要求を受け取ったストレージ１−５側は、Ｒｅｓｅｒｖａｔｉｏｎ Ｋｅｙの登録を実施し（１１−２−７）、応答を返す（１１−２−８）。
【００７５】
この処理は当該ＨＢＡ１及びＨＢＡ２（１−１２−１）から当該ＬＵに登録されているＲｅｓｅｒｖａｔｉｏｎ Ｋｅｙ分実施する（１１−１−１０）。また、当該ＨＢＡ１及びＨＢＡ２（１−１２−１）が接続しているターゲットに接続されているＬＵ数分について上記処理（１１−１−３〜１１−１−１０）を実施する（１１−１−１１）。その処理が完了した後には当該ＬＰＡＲ１−１３が接続している別のストレージに対して同様の処理（１１−１−１〜１１−１−１１）を実施する（１１−１−１２）。さらに、同様の処理（１１−１−１〜１１−１−１２）をＬＰＡＲ１−１３に割り当てられている論理ＦＣ−ＨＢＡ（１−１２−１相当）のＰｏｒｔ数分実施する（１１−１−１３）。これらを実施することで物理的に異なるＷＷＮをもつポートからも対象のＬＵ１−５１に継続してアクセスすることが可能となる。
【００７６】
なお、移動先のＦＣ−ＨＢＡで実施している処理は、移動元のＬＰＡＲにおいてＯＳが実行されている期間に移動元で移動元構成の別の物理ＦＣ−ＨＢＡを用いてＲｅｓｅｒｖａｔｉｏｎ Ｋｅｙの登録処理を実施しても良い。
【００７７】
図１２にて、前述したＲｅｓｅｒｖａｔｉｏｎ Ｋｅｙの削除（１０−３３）の詳細について述べる。当該ライブマイグレーションではゲストＯＳ２−７を終了しない為、移動元で最後にＲｅｓｅｒｖａｔｉｏｎ Ｋｅｙを削除しておく必要がある。しかし、移動元にゲストＯＳ２−７は既に存在しない為、移動元のＨｙｐｅｒｖｉｓｏｒ１−１２が移動元のＦＣ−ＨＢＡを介してＲｅｓｅｒｖａｔｉｏｎ ＫＥＹの削除を実施する。基本的な処理の流れは、図１１と同じであるが、ＲＥＧＩＳＴＥＲを発行する際のサブコマンドは削除である（１２−１−５）。なお、当該処理は、ＬＰＡＲマイグレーション失敗時に移動先でＲｅｇｉｓｔｅｒした情報を削除するエラー処理でも実行する。
【符号の説明】
【００７８】
１−５  ストレージ
１−５２  ストレージコントローラ
１−６  管理サーバ
１−１１  移動元物理計算機
１−１２  移動元ハイパーバイザ
１−１３  移動元LPAR
１−２１  移動元物理計算機
１−２２  移動先ハイパーバイザ
１−２３  移動先LPAR
２−７  ゲストOS
７−１１  Ｒｅｓｅｒｖａｔｉｏｎ ＫＥＹ
７−４１  アクセス管理テーブル
【図１】
2014041395.tif 000003
【図２】
2014041395.tif 000004
【図３】
2014041395.tif 000005
【図４】
2014041395.tif 000006
【図５】
2014041395.tif 000007
【図６（ａ）】
2014041395.tif 000008
【図６（ｂ）】
2014041395.tif 000009
【図６（ｃ）】
2014041395.tif 000010
【図７】
2014041395.tif 000011
【図８（ａ）】
2014041395.tif 000012
【図８（ｂ）】
2014041395.tif 000013
【図８（ｃ）】
2014041395.tif 000014
【図９】
2014041395.tif 000015
【図１０】
2014041395.tif 000016
【図１１】
2014041395.tif 000017
【図１２】
2014041395.tif 000018