(57)【要約】【課題】  業務仮想計算機管理者が使用する業務端末を，ゲストＯＳを操作するシリアル端末として利用できるようになる。【解決手段】ゲストＯＳのシリアルポート入出力が業務ネットワーク上を行き来できるように，業務仮想計算機に具備される仮想ＮＩＣを再利用し，仮想計算機ファームウェア内部のシリアル情報通信経路を変更する。【選択図】  図６(ａ)
2011221831.tif 000002
【特許請求の範囲】
【請求項１】
物理計算機を論理的に分割して複数の仮想計算機として使用する仮想計算機システムにおいて，該仮想計算機に割り当てられた，仮想計算機システムがエミュレーションするネットワークインタフェースカードである仮想ＮＩＣを再利用することを特徴とする端末切り替え方式。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は仮想計算機システムに関し，特に仮想計算機上で実行されるゲストＯＳ障害によりビデオ端末表示ができない場合に，シリアル端末によるゲストＯＳ操作手段の提供に関するものである。
【背景技術】
【０００２】
ＯＳの操作にはＧＵＩによるグラフィカル画面の操作と，文字列によるテキスト画面の操作がある。ここで前者を表示する端末をビデオ端末，後者を表示する端末をシリアル端末と呼ぶ。サーバ向け商用ＯＳでは通常業務にビデオ端末を，ＯＳ障害回復などの緊急業務にシリアル端末を使用することが一般的である。
【０００３】
ＯＳ障害を想定していない仮想計算機システムでは，業務ネットワーク経由のビデオ端末によるゲストＯＳ操作のみを提供している。しかし，業務仮想計算機で稼動するゲストＯＳの障害によりビデオ端末ができない場合，業務仮想計算機管理者がゲストＯＳを操作する手段がないという欠点があった。
【０００４】
この改善策として管理ネットワークを経由した，管理端末に具備されたシリアル端末エミュレータによるゲストＯＳ操作手段を提供していたが，業務仮想計算機管理者には管理ネットワークを使用する権限がないため，物理計算機管理者に依頼してゲストＯＳの操作を代行させなければならなかった。この方法は物理計算機管理者の管理範囲を超えるため，操作の間違いを起こす危険性や緊急の操作が困難といった問題があった。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】Ｈｉｔａｃｈｉ ＢｌａｄｅＳｙｍｐｈｏｎｙ ＢＳ２０００ ユーザーズ ガイド
【発明の概要】
【発明が解決しようとする課題】
【０００６】
解決しようとする課題は，仮想計算機上で稼動するゲストＯＳを操作する業務仮想計算機管理者が使用できる業務端末がビデオ端末しかないため，ゲストＯＳの障害によりビデオ端末による操作ができない場合に，業務仮想計算機管理者がゲストＯＳを操作する手段がないことである。
【課題を解決するための手段】
【０００７】
本発明は，ゲストＯＳのシリアルポート入出力情報が業務ネットワーク上を行き来できるように，業務仮想計算機に具備される，仮想計算機システムがエミュレーションするネットワークインタフェースカードである仮想ＮＩＣを再利用し，仮想計算機ファームウェア内部のシリアル情報通信経路を変更することを特徴とする。該通信経路にはシリアルポートの入出力情報をネットワークの入出力情報に変換する処理の追加と業務ネットワークへ接続するための既存経路への迂回により従来経路よりも理論的な線長が伸びるが，シリアルポートの通信速度はネットワークの通信速度に比べて十分に低いので，理論的な線長の伸びによる情報伝達の遅延は無視することができる。
【発明の効果】
【０００８】
業務仮想計算機管理者が使用する業務端末を，ゲストＯＳを操作するシリアル端末として利用できるようになる。
【図面の簡単な説明】
【０００９】
【図１】本発明を実施する計算機の構成図
【図２】業務仮想計算機の構成図
【図３】管理仮想計算機の構成図
【図４】本発明を実施する前のハイパバイザ３００の構成図
【図５】端末に提供する本発明実施前後の機能比較図
【図６（ａ）】本発明を実施した後のハイパバイザ３００の構成図
【図６（ｂ）】本発明で追加するＳＯＬエミュレータ３４２の構成図
【図７（ａ）】本発明の実施手順を示した説明図である。
【図７（ｂ）】本発明の実施手順４０２を詳細化した説明図
【図８（ａ）】経路切替え前のＮＩＣエミュレータ３１２ほかの構成図
【図８（ｂ）】経路切替え後のＮＩＣエミュレータ３１２ほかの構成図
【図９（ａ）】ＳＷ３３２の切替え処理前半の説明図
【図９（ｂ）】ＳＷ３３２の切替え処理後半の説明図
【発明を実施するための形態】
【００１０】
業務端末をシリアル端末として利用するという目的をハイパバイザの変更のみで実現した。ただし，業務端末には管理端末と同様に，シリアル端末エミュレータが具備されていることを前提とする。
【００１１】
図１は本発明を適用する計算機１０の構成図であって，ＣＰＵ１４はハイパバイザ３００と協働しゲストＯＳ１１０および管理ＯＳ２１０の実行を支援する。業務仮想計算機管理者２２は仮想化された計算機の管理者であり，業務端末２１を使用し，業務ネットワーク２０に接続されたＮＩＣ１５を介し業務仮想計算機上で稼動するゲストＯＳ１１０を操作する。物理計算機管理者３２は計算機１０の物理資源およびハイパバイザ３００，管理ＯＳ２１０の管理者であり，管理端末３１を使用し，管理ネットワーク３０に接続されたＮＩＣ１６およびＢＭＣ１７を介し計算機１０で稼動するハイパバイザ３００および管理ＯＳ２１０を操作する。
【００１２】
図２は本発明を適用する業務仮想計算機１００の構成図であって，ゲストＯＳ１１０が具備するリモートデスクトップサービス１１２によりＮＩＣドライバ１１４，１１５のいずれかを介して，ハイパバイザ３００によって仮想化された仮想ＮＩＣ１０４，１０５にグラフィカルなゲストＯＳ操作画面を送信し，また該ＮＩＣに接続されたネットワークからのＯＳ操作を受信する。シリアルコンソールサービス１１３はシリアルポートドライバ１１６を介して，ハイパバイザ３００によって仮想化された仮想シリアルポート１０６にテキストベースのゲストＯＳ操作画面を送信し，また該シリアルポートからＯＳ操作を受信する。
【００１３】
図３は本発明を適用する管理仮想計算機２００の構成図であって， 仮想ＮＩＣ２０４に接続されたネットワークからゲストＯＳ１１０が送信したグラフィカルなゲストＯＳ操作画面情報を受け取り，管理ＯＳ２１０が具備するブリッジサービス２１３を介して該ＯＳ操作画面情報をＮＩＣ１５に転送する。
【００１４】
仮想シリアルポート２０６に接続された機器からゲストＯＳ１１０が送信したテキストベースのゲストＯＳ操作画面情報を受け取り，管理ＯＳ２１０が具備するＳＯＬサービス２１２を介して該ＯＳ操作画面情報をネットワークインタフェースに変換しＮＩＣ１６に転送する。
【００１５】
図４は本発明を適用する前のハイパバイザ３００の構成図であって，ＭＭＩＯ制御部３１０は業務仮想計算機１００が具備する仮想ＭＭＩＯ１０２の実体であり，ＮＩＣエミュレータ３１１，３１２は該業務仮想計算機が具備する仮想ＮＩＣ１０４，１０５の実体である。ＭＭＩＯ制御部３２０は管理仮想計算機２００が具備する仮想ＭＭＩＯ２０２の実体であり，ＮＩＣエミュレータ３２１は該管理仮想計算機が具備する仮想ＮＩＣ２０４の実体である。ＮＩＣエミュレータ３１１，３１２は，仮想ＮＩＣブリッジ３０１を介してＮＩＣエミュレータ３２１と接続し，業務仮想計算機と管理仮想計算機間のネットワーク通信を行う。Ｉ／Ｏポート制御部３１３は業務仮想計算機１００が具備する仮想Ｉ／Ｏポート１０３の実体であり，シリアルポートエミュレータ３１４は該業務仮想計算機が具備する仮想シリアルポート１０６の実体である。Ｉ／Ｏポート制御部３２３は管理仮想計算機２００が具備する仮想Ｉ／Ｏポート２０３の実体であり，シリアルポートエミュレータ３２４は該管理仮想計算機が具備する仮想シリアルポート２０６の実体である。シリアルポートエミュレータ３１４とシリアルポートエミュレータ３２４を接続し，業務仮想計算機と管理仮想計算機間のシリアル通信を行う。
【００１６】
図５は各端末に提供する本発明実施前後の機能比較図であって，本発明実施前の図５（ａ）では業務端末２１にてゲストＯＳシリアル画面によるゲストＯＳ１１０の操作ができないことを示し，本発明実施後の図５（ｂ）では業務端末２１もしくは管理端末３１のいずれかにおいてゲストＯＳシリアル画面によるゲストＯＳ１１０の操作ができることを示す。
【００１７】
図６（ａ）は本発明を適用したハイパバイザ３００の構成図であって，ＳＷ３３０，３３１は，ＭＭＩＯ制御部３１０を無効ＮＩＣエミュレータ３４０と接続する経路を追加する。ＳＷ３３２はＮＩＣエミュレータ３１１，３１２のいずれかをＮＩＣドライバ３４１に接続する経路を追加し，ＳＷ３３３はシリアルポートエミュレータ３２４をシリアルポートドライバ３４３に接続する経路を追加する。ＳＯＬエミュレータ３４２はＮＩＣドライバ３４１からのネットワークインタフェース出力情報およびシリアルポートドライバ３４３からのシリアルインタフェース出力情報を他方のインタフェース入力情報に変換する。
【００１８】
図４においてＩ／Ｏポート制御部３１３およびシリアルポートエミュレータ３１４，シリアルポートエミュレータ３２４，Ｉ／Ｏポート制御部３２３を行き来していたシリアルインタフェースの入出力情報は，図３の仮想シリアルポート２０６，仮想Ｉ／Ｏポート２０３，シリアルポートドライバ２１７，ＳＯＬサービス２１２，ＮＩＣドライバ２１４，ＭＭＩＯ１３，ＮＩＣ１６を経由して，図１の管理ネットワーク３０に転送され管理端末３１にゲストＯＳシリアル画面として表示していた。ここでリモートデスクトップサービス１１２に障害が発生した場合，業務仮想計算機管理者２２がゲストＯＳ１１０を操作する手段がないという問題があった。
【００１９】
該シリアルインタフェースの入出力情報の経路を，例えば図６（ａ）のＩ／Ｏポート制御部３１３およびシリアルポートエミュレータ３１４，シリアルポートエミュレータ３２４，ＳＷ３３３，シリアルポートドライバ３４３，ＳＯＬエミュレータ３４２，ＮＩＣドライバ３４１，ＳＷ３３２，ＮＩＣエミュレータ３１２，仮想ＮＩＣブリッジ３０１，ＮＩＣエミュレータ３２１，ＭＭＩＯ制御部３２０に切り替え，図３の仮想ＮＩＣ２０４，仮想ＭＭＩＯ２０２，ＮＩＣドライバ２１６，ブリッジサービス２１３，ＮＩＣドライバ２１５，ＭＭＩＯ１３，ＮＩＣ１５を経由して，図１の業務ネットワーク２０に該情報を転送することにより業務端末２１にゲストＯＳシリアル画面を表示することができるようになる。
【００２０】
業務仮想計算機１００で稼動するＮＩＣドライバ１１５が仮想ＮＩＣ１０５にアクセスした場合は，無効ＮＩＣエミュレータ３４０により該仮想ＮＩＣがリンク切れ状態に見え，ＯＳ障害を起こすことなく該仮想ＮＩＣの実体であったＮＩＣエミュレータ３１２を切替えた経路形成に再利用することができる。
【００２１】
無効ＮＩＣエミュレータ３４０は，ＭＭＩＯ制御部３１０からのリンク状態レジスタ値の問い合わせに対してリンク切れ状態を応答する。ＭＭＩＯ制御部３１０が取得した該リンク切れ状態は，ＮＩＣドライバ１１５による仮想ＭＭＩＯ１０２へのアクセスによってゲストＯＳ１１０に認識される。
【００２２】
ＮＩＣドライバ３４１は，一般的にＯＳに組み込まれるデバイス ドライバと同等の機能を具備するソフトウェア部位であり，ＮＩＣエミュレータ３１１，３１２を制御するための専用処理を実装する。該処理は該ＮＩＣエミュレータの仕様に依存するため，本書では詳細は割愛した。
【００２３】
同様にシリアルポートドライバ３４３はシリアルポートエミュレータ３２４を制御するための専用処理を実装する。該エミュレータはＰＣ／ＡＴ（Ｒ）互換機に採用されたＵＡＲＴチップである１６５５０（Ｒ）が実装する機能を具備することを想定しており，該ドライバは該チップの仕様に従い実装する。
【００２４】
図６（ｂ）はＳＯＬエミュレータ３４２を構成するプロトコルスタックであり，ＲＦＣ（Ｒｅｑｕｅｓｔ  Ｆｏｒ  Ｃｏｍｍｅｎｔ）２２１７が提案するシリアルポートの入出力情報をＴＥＬＮＥＴ プロトコルに変換するＴｅｌｎｅｔ ＣＯＭポート制御プロトコル処理部３５０と，ＴＥＬＮＥＴプロトコルの下位層であるＴＣＰ／ＩＰプロトコル処理部３５１で構成する。該プロトコル群は一般に公開されている仕様にもとづいて実装し，それぞれシリアルポートドライバ３４３およびＮＩＣドライバ３４１を使用して変換結果の入出力処理を行う。
【００２５】
図７に上記の経路切り替え実施例の手順を示す。図７（ｂ）は図７(ａ)の手順４０２を詳細化したハイパバイザ３００の処理フローである。
【００２６】
図８(ａ)は上記実施例のＳＷ３３２切替え前のＮＩＣエミュレータ３１２およびＮＩＣドライバ３４１の構成図であり，図８(ｂ)は該ＳＷ切替え後の該ＮＩＣエミュレータおよび該ＮＩＣドライバの構造図である。図６（ａ）に示したＳＷ３３０，３３１，３３２，３３３はハイパバイザ３００の内部モジュール間の接続接路を模式的に表したイメージであり，例えば関数ポインタすなわち関数コールのエントリアドレスを格納するテーブルへのポインタを再設定することで，その機能を実現する。
【００２７】
図９にＳＷ３３２切り替えを実現する処理フローの例を示す。これは図７（ｂ）の処理４１１を詳細に示したものである。この例では関数ポインタの再設定はＮＩＣエミュレータ３１２およびＮＩＣドライバ３４１の初期化処理の一環として実行することを想定している。これらの初期化処理は，ソフトウェアを実行するための一般的な初期化を意図しており，それらは実装依存であるため本書では説明を割愛した。
【符号の説明】
【００２８】
１０  計算機、１３  ＭＭＩＯ、１４  ＣＰＵ、１５，１６  ＮＩＣ、１７  ＢＭＣ、  ２０  業務ネットワーク、２１  業務端末、２２  業務仮想計算機管理者、３０  管理ネットワーク、３１  管理端末、３２  物理計算機管理者、１００  業務仮想計算機、１０２  仮想ＭＭＩＯ、１０３  仮想Ｉ／Ｏポート、１０４，１０５  仮想ＮＩＣ、１０６  仮想シリアルポート、１１０  ゲストＯＳ、１１２  リモートデスクトップサービス、１１３  シリアルコンソールサービス、１１４，１１５  ＮＩＣドライバ、１１６  シリアルポートドライバ、２００  管理仮想計算機、２０２  仮想ＭＭＩＯ、２０３  仮想Ｉ／Ｏポート、２０４  仮想ＮＩＣ、２０６  仮想シリアルポート、２１０  管理ＯＳ、２１２  ＳＯＬサービス、２１３  ブリッジサービス、２１４，２１５，２１６  ＮＩＣドライバ、２１７  シリアルポートドライバ、３００  ハイパバイザ、３０１  仮想ＮＩＣブリッジ、３１０，３２０  ＭＭＩＯ制御部、３１１，３１２，３２１  ＮＩＣエミュレータ、３１３，３２３  Ｉ／Ｏポート制御部、３１４，３２４  シリアルポートエミュレータ、３３０，３３１，３３２，３３３  ＳＷ、３４０  無効ＮＩＣエミュレータ、３４１  ＮＩＣドライバ、３４２  ＳＯＬエミュレータ、３４３  シリアルポートドライバ、３５０  Ｔｅｌｎｅｔ  ＣＯＭポート制御プロトコル、３５１  ＴＣＰ／ＩＰプロトコル、４０２  経路切替え手順の一部、４１１  ハイパバイザ処理の一部
【図１】
2011221831.tif 000003
【図２】
2011221831.tif 000004
【図３】
2011221831.tif 000005
【図４】
2011221831.tif 000006
【図５】
2011221831.tif 000007
【図６（ａ）】
2011221831.tif 000008
【図６（ｂ）】
2011221831.tif 000009
【図７（ａ）】
2011221831.tif 000010
【図７（ｂ）】
2011221831.tif 000011
【図８（ａ）】
2011221831.tif 000012
【図８（ｂ）】
2011221831.tif 000013
【図９（ａ）】
2011221831.tif 000014
【図９（ｂ）】
2011221831.tif 000015