JP2011221831A - Terminal switching system of virtual computer - Google Patents
Terminal switching system of virtual computer Download PDFInfo
- Publication number
- JP2011221831A JP2011221831A JP2010091053A JP2010091053A JP2011221831A JP 2011221831 A JP2011221831 A JP 2011221831A JP 2010091053 A JP2010091053 A JP 2010091053A JP 2010091053 A JP2010091053 A JP 2010091053A JP 2011221831 A JP2011221831 A JP 2011221831A
- Authority
- JP
- Japan
- Prior art keywords
- nic
- virtual
- guest
- emulator
- serial
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
Description
本発明は仮想計算機システムに関し,特に仮想計算機上で実行されるゲストOS障害によりビデオ端末表示ができない場合に,シリアル端末によるゲストOS操作手段の提供に関するものである。 The present invention relates to a virtual machine system, and more particularly to provision of a guest OS operation means by a serial terminal when a video terminal cannot be displayed due to a guest OS failure executed on the virtual machine.
OSの操作にはGUIによるグラフィカル画面の操作と,文字列によるテキスト画面の操作がある。ここで前者を表示する端末をビデオ端末,後者を表示する端末をシリアル端末と呼ぶ。サーバ向け商用OSでは通常業務にビデオ端末を,OS障害回復などの緊急業務にシリアル端末を使用することが一般的である。 The operation of the OS includes a graphical screen operation using a GUI and a text screen operation using a character string. Here, the terminal that displays the former is called a video terminal, and the terminal that displays the latter is called a serial terminal. In a commercial OS for servers, it is common to use a video terminal for normal work and a serial terminal for emergency work such as OS failure recovery.
OS障害を想定していない仮想計算機システムでは,業務ネットワーク経由のビデオ端末によるゲストOS操作のみを提供している。しかし,業務仮想計算機で稼動するゲストOSの障害によりビデオ端末ができない場合,業務仮想計算機管理者がゲストOSを操作する手段がないという欠点があった。 In a virtual machine system that does not assume an OS failure, only a guest OS operation by a video terminal via a business network is provided. However, when a video terminal cannot be used due to a failure of the guest OS running on the business virtual machine, there is a drawback that the business virtual machine administrator has no means of operating the guest OS.
この改善策として管理ネットワークを経由した,管理端末に具備されたシリアル端末エミュレータによるゲストOS操作手段を提供していたが,業務仮想計算機管理者には管理ネットワークを使用する権限がないため,物理計算機管理者に依頼してゲストOSの操作を代行させなければならなかった。この方法は物理計算機管理者の管理範囲を超えるため,操作の間違いを起こす危険性や緊急の操作が困難といった問題があった。 As a measure for improvement, a guest OS operating means was provided via a management network by a serial terminal emulator provided in the management terminal. However, since the business virtual machine administrator does not have authority to use the management network, the physical computer I had to ask the administrator to operate the guest OS. Since this method exceeds the control range of the physical computer administrator, there are problems such as risk of erroneous operation and difficulty in emergency operation.
解決しようとする課題は,仮想計算機上で稼動するゲストOSを操作する業務仮想計算機管理者が使用できる業務端末がビデオ端末しかないため,ゲストOSの障害によりビデオ端末による操作ができない場合に,業務仮想計算機管理者がゲストOSを操作する手段がないことである。 The problem to be solved is that a business virtual machine administrator who operates a guest OS running on a virtual machine has only a video terminal that can be used by a business virtual machine administrator. There is no means for the virtual machine administrator to operate the guest OS.
本発明は,ゲストOSのシリアルポート入出力情報が業務ネットワーク上を行き来できるように,業務仮想計算機に具備される,仮想計算機システムがエミュレーションするネットワークインタフェースカードである仮想NICを再利用し,仮想計算機ファームウェア内部のシリアル情報通信経路を変更することを特徴とする。該通信経路にはシリアルポートの入出力情報をネットワークの入出力情報に変換する処理の追加と業務ネットワークへ接続するための既存経路への迂回により従来経路よりも理論的な線長が伸びるが,シリアルポートの通信速度はネットワークの通信速度に比べて十分に低いので,理論的な線長の伸びによる情報伝達の遅延は無視することができる。 The present invention reuses a virtual NIC, which is a network interface card emulated by a virtual machine system, provided in a business virtual machine so that serial port input / output information of a guest OS can be transferred over the business network. The serial information communication path in the firmware is changed. The communication path has a theoretical line length longer than that of the conventional path due to the addition of processing for converting the input / output information of the serial port to the input / output information of the network and the detour to the existing path for connection to the business network. Since the serial port communication speed is sufficiently lower than the network communication speed, the delay in information transmission due to the theoretical increase in line length can be ignored.
業務仮想計算機管理者が使用する業務端末を,ゲストOSを操作するシリアル端末として利用できるようになる。 The business terminal used by the business virtual machine administrator can be used as a serial terminal for operating the guest OS.
業務端末をシリアル端末として利用するという目的をハイパバイザの変更のみで実現した。ただし,業務端末には管理端末と同様に,シリアル端末エミュレータが具備されていることを前提とする。 The purpose of using a business terminal as a serial terminal was realized only by changing the hypervisor. However, it is assumed that the business terminal is equipped with a serial terminal emulator like the management terminal.
図1は本発明を適用する計算機10の構成図であって,CPU14はハイパバイザ300と協働しゲストOS110および管理OS210の実行を支援する。業務仮想計算機管理者22は仮想化された計算機の管理者であり,業務端末21を使用し,業務ネットワーク20に接続されたNIC15を介し業務仮想計算機上で稼動するゲストOS110を操作する。物理計算機管理者32は計算機10の物理資源およびハイパバイザ300,管理OS210の管理者であり,管理端末31を使用し,管理ネットワーク30に接続されたNIC16およびBMC17を介し計算機10で稼動するハイパバイザ300および管理OS210を操作する。
FIG. 1 is a configuration diagram of a
図2は本発明を適用する業務仮想計算機100の構成図であって,ゲストOS110が具備するリモートデスクトップサービス112によりNICドライバ114,115のいずれかを介して,ハイパバイザ300によって仮想化された仮想NIC104,105にグラフィカルなゲストOS操作画面を送信し,また該NICに接続されたネットワークからのOS操作を受信する。シリアルコンソールサービス113はシリアルポートドライバ116を介して,ハイパバイザ300によって仮想化された仮想シリアルポート106にテキストベースのゲストOS操作画面を送信し,また該シリアルポートからOS操作を受信する。
FIG. 2 is a configuration diagram of the business
図3は本発明を適用する管理仮想計算機200の構成図であって, 仮想NIC204に接続されたネットワークからゲストOS110が送信したグラフィカルなゲストOS操作画面情報を受け取り,管理OS210が具備するブリッジサービス213を介して該OS操作画面情報をNIC15に転送する。
FIG. 3 is a configuration diagram of the management
仮想シリアルポート206に接続された機器からゲストOS110が送信したテキストベースのゲストOS操作画面情報を受け取り,管理OS210が具備するSOLサービス212を介して該OS操作画面情報をネットワークインタフェースに変換しNIC16に転送する。
The text-based guest OS operation screen information transmitted from the
図4は本発明を適用する前のハイパバイザ300の構成図であって,MMIO制御部310は業務仮想計算機100が具備する仮想MMIO102の実体であり,NICエミュレータ311,312は該業務仮想計算機が具備する仮想NIC104,105の実体である。MMIO制御部320は管理仮想計算機200が具備する仮想MMIO202の実体であり,NICエミュレータ321は該管理仮想計算機が具備する仮想NIC204の実体である。NICエミュレータ311,312は,仮想NICブリッジ301を介してNICエミュレータ321と接続し,業務仮想計算機と管理仮想計算機間のネットワーク通信を行う。I/Oポート制御部313は業務仮想計算機100が具備する仮想I/Oポート103の実体であり,シリアルポートエミュレータ314は該業務仮想計算機が具備する仮想シリアルポート106の実体である。I/Oポート制御部323は管理仮想計算機200が具備する仮想I/Oポート203の実体であり,シリアルポートエミュレータ324は該管理仮想計算機が具備する仮想シリアルポート206の実体である。シリアルポートエミュレータ314とシリアルポートエミュレータ324を接続し,業務仮想計算機と管理仮想計算機間のシリアル通信を行う。
FIG. 4 is a configuration diagram of the
図5は各端末に提供する本発明実施前後の機能比較図であって,本発明実施前の図5(a)では業務端末21にてゲストOSシリアル画面によるゲストOS110の操作ができないことを示し,本発明実施後の図5(b)では業務端末21もしくは管理端末31のいずれかにおいてゲストOSシリアル画面によるゲストOS110の操作ができることを示す。
FIG. 5 is a functional comparison diagram before and after the present invention provided to each terminal. FIG. 5A before the present invention shows that the guest OS 110 cannot be operated on the guest OS serial screen on the
図6(a)は本発明を適用したハイパバイザ300の構成図であって,SW330,331は,MMIO制御部310を無効NICエミュレータ340と接続する経路を追加する。SW332はNICエミュレータ311,312のいずれかをNICドライバ341に接続する経路を追加し,SW333はシリアルポートエミュレータ324をシリアルポートドライバ343に接続する経路を追加する。SOLエミュレータ342はNICドライバ341からのネットワークインタフェース出力情報およびシリアルポートドライバ343からのシリアルインタフェース出力情報を他方のインタフェース入力情報に変換する。
FIG. 6A is a configuration diagram of a
図4においてI/Oポート制御部313およびシリアルポートエミュレータ314,シリアルポートエミュレータ324,I/Oポート制御部323を行き来していたシリアルインタフェースの入出力情報は,図3の仮想シリアルポート206,仮想I/Oポート203,シリアルポートドライバ217,SOLサービス212,NICドライバ214,MMIO13,NIC16を経由して,図1の管理ネットワーク30に転送され管理端末31にゲストOSシリアル画面として表示していた。ここでリモートデスクトップサービス112に障害が発生した場合,業務仮想計算機管理者22がゲストOS110を操作する手段がないという問題があった。
In FIG. 4, the I / O
該シリアルインタフェースの入出力情報の経路を,例えば図6(a)のI/Oポート制御部313およびシリアルポートエミュレータ314,シリアルポートエミュレータ324,SW333,シリアルポートドライバ343,SOLエミュレータ342,NICドライバ341,SW332,NICエミュレータ312,仮想NICブリッジ301,NICエミュレータ321,MMIO制御部320に切り替え,図3の仮想NIC204,仮想MMIO202,NICドライバ216,ブリッジサービス213,NICドライバ215,MMIO13,NIC15を経由して,図1の業務ネットワーク20に該情報を転送することにより業務端末21にゲストOSシリアル画面を表示することができるようになる。
For example, the I / O
業務仮想計算機100で稼動するNICドライバ115が仮想NIC105にアクセスした場合は,無効NICエミュレータ340により該仮想NICがリンク切れ状態に見え,OS障害を起こすことなく該仮想NICの実体であったNICエミュレータ312を切替えた経路形成に再利用することができる。
When the NIC
無効NICエミュレータ340は,MMIO制御部310からのリンク状態レジスタ値の問い合わせに対してリンク切れ状態を応答する。MMIO制御部310が取得した該リンク切れ状態は,NICドライバ115による仮想MMIO102へのアクセスによってゲストOS110に認識される。
The
NICドライバ341は,一般的にOSに組み込まれるデバイス ドライバと同等の機能を具備するソフトウェア部位であり,NICエミュレータ311,312を制御するための専用処理を実装する。該処理は該NICエミュレータの仕様に依存するため,本書では詳細は割愛した。
The NIC
同様にシリアルポートドライバ343はシリアルポートエミュレータ324を制御するための専用処理を実装する。該エミュレータはPC/AT(R)互換機に採用されたUARTチップである16550(R)が実装する機能を具備することを想定しており,該ドライバは該チップの仕様に従い実装する。
Similarly, the
図6(b)はSOLエミュレータ342を構成するプロトコルスタックであり,RFC(Request For Comment)2217が提案するシリアルポートの入出力情報をTELNET プロトコルに変換するTelnet COMポート制御プロトコル処理部350と,TELNETプロトコルの下位層であるTCP/IPプロトコル処理部351で構成する。該プロトコル群は一般に公開されている仕様にもとづいて実装し,それぞれシリアルポートドライバ343およびNICドライバ341を使用して変換結果の入出力処理を行う。
FIG. 6B shows a protocol stack constituting the
図7に上記の経路切り替え実施例の手順を示す。図7(b)は図7(a)の手順402を詳細化したハイパバイザ300の処理フローである。
FIG. 7 shows the procedure of the route switching embodiment described above. FIG. 7B is a processing flow of the
図8(a)は上記実施例のSW332切替え前のNICエミュレータ312およびNICドライバ341の構成図であり,図8(b)は該SW切替え後の該NICエミュレータおよび該NICドライバの構造図である。図6(a)に示したSW330,331,332,333はハイパバイザ300の内部モジュール間の接続接路を模式的に表したイメージであり,例えば関数ポインタすなわち関数コールのエントリアドレスを格納するテーブルへのポインタを再設定することで,その機能を実現する。
FIG. 8A is a configuration diagram of the
図9にSW332切り替えを実現する処理フローの例を示す。これは図7(b)の処理411を詳細に示したものである。この例では関数ポインタの再設定はNICエミュレータ312およびNICドライバ341の初期化処理の一環として実行することを想定している。これらの初期化処理は,ソフトウェアを実行するための一般的な初期化を意図しており,それらは実装依存であるため本書では説明を割愛した。
FIG. 9 shows an example of a processing flow for realizing SW332 switching. This shows the details of the process 411 in FIG. In this example, it is assumed that the function pointer is reset as part of the initialization process of the
10 計算機、13 MMIO、14 CPU、15,16 NIC、17 BMC、 20 業務ネットワーク、21 業務端末、22 業務仮想計算機管理者、30 管理ネットワーク、31 管理端末、32 物理計算機管理者、100 業務仮想計算機、102 仮想MMIO、103 仮想I/Oポート、104,105 仮想NIC、106 仮想シリアルポート、110 ゲストOS、112 リモートデスクトップサービス、113 シリアルコンソールサービス、114,115 NICドライバ、116 シリアルポートドライバ、200 管理仮想計算機、202 仮想MMIO、203 仮想I/Oポート、204 仮想NIC、206 仮想シリアルポート、210 管理OS、212 SOLサービス、213 ブリッジサービス、214,215,216 NICドライバ、217 シリアルポートドライバ、300 ハイパバイザ、301 仮想NICブリッジ、310,320 MMIO制御部、311,312,321 NICエミュレータ、313,323 I/Oポート制御部、314,324 シリアルポートエミュレータ、330,331,332,333 SW、340 無効NICエミュレータ、341 NICドライバ、342 SOLエミュレータ、343 シリアルポートドライバ、350 Telnet COMポート制御プロトコル、351 TCP/IPプロトコル、402 経路切替え手順の一部、411 ハイパバイザ処理の一部 10 computers, 13 MMIO, 14 CPU, 15, 16 NIC, 17 BMC, 20 business network, 21 business terminal, 22 business virtual computer administrator, 30 management network, 31 management terminal, 32 physical computer administrator, 100 business virtual computer , 102 Virtual MMIO, 103 Virtual I / O port, 104, 105 Virtual NIC, 106 Virtual serial port, 110 Guest OS, 112 Remote desktop service, 113 Serial console service, 114, 115 NIC driver, 116 Serial port driver, 200 Management Virtual machine, 202 virtual MMIO, 203 virtual I / O port, 204 virtual NIC, 206 virtual serial port, 210 management OS, 212 SOL service, 213 bridge service, 14, 215, 216 NIC driver, 217 serial port driver, 300 hypervisor, 301 virtual NIC bridge, 310, 320 MMIO control unit, 311, 312, 321 NIC emulator, 313, 323 I / O port control unit, 314, 324 serial Port emulator, 330, 331, 332, 333 SW, 340 invalid NIC emulator, 341 NIC driver, 342 SOL emulator, 343 serial port driver, 350 Telnet COM port control protocol, 351 TCP / IP protocol, 402 Part of path switching procedure 411 Part of hypervisor processing
Claims (1)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010091053A JP2011221831A (en) | 2010-04-12 | 2010-04-12 | Terminal switching system of virtual computer |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010091053A JP2011221831A (en) | 2010-04-12 | 2010-04-12 | Terminal switching system of virtual computer |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011221831A true JP2011221831A (en) | 2011-11-04 |
Family
ID=45038730
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010091053A Pending JP2011221831A (en) | 2010-04-12 | 2010-04-12 | Terminal switching system of virtual computer |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2011221831A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015115060A (en) * | 2013-12-13 | 2015-06-22 | インテル コーポレイション | Providing, at least in part, at least one indication that at least one portion of data is available for processing |
-
2010
- 2010-04-12 JP JP2010091053A patent/JP2011221831A/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015115060A (en) * | 2013-12-13 | 2015-06-22 | インテル コーポレイション | Providing, at least in part, at least one indication that at least one portion of data is available for processing |
US9608842B2 (en) | 2013-12-13 | 2017-03-28 | Intel Corporation | Providing, at least in part, at least one indication that at least one portion of data is available for processing |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10938747B2 (en) | Central switch for coupling virtual desktops to peripheral devices | |
US9176767B2 (en) | Network interface card device pass-through with multiple nested hypervisors | |
WO2017121376A1 (en) | Switching device, peripheral component interconnect express system and initialization method therefor | |
EP3176980B1 (en) | Unified server communication method, baseboard management controller and server | |
US20170161090A1 (en) | Communication control program, communication control method, and information processing device | |
EP2831729B1 (en) | System and method for supporting live migration of virtual machines based on an extended host channel adaptor (hca) model | |
US8078764B2 (en) | Method for switching I/O path in a computer system having an I/O switch | |
US9450885B2 (en) | System and method for supporting live migration of virtual machines in a virtualization environment | |
US8645605B2 (en) | Sharing multiple virtual functions to a host using a pseudo physical function | |
US9031081B2 (en) | Method and system for switching in a virtualized platform | |
US7966441B2 (en) | Interfacing apparatus and method using a single predetermined communication protocol for accessing remote peripheral devices that use different communication protocols | |
CN102323905B (en) | Remote monitoring system for Godson main board | |
US20090328038A1 (en) | Computer System and Device Controlling Method for Computer System | |
US20110060859A1 (en) | Host-to-host software-based virtual system | |
JP6458798B2 (en) | Computer system, data processing device | |
WO2014206105A1 (en) | Virtual switch method, relevant apparatus, and computer system | |
JP2009500702A (en) | Method and system for managing virtual instances of physical ports attached to a network | |
JP5869133B2 (en) | Virtual machine system that restores network connections of live migrated virtual machines | |
US20230029932A1 (en) | Server delay control device, server delay control method, and program | |
JP7251648B2 (en) | In-server delay control system, in-server delay control device, in-server delay control method and program | |
US20160259659A1 (en) | Method and system for unified application centric connectivity in various virtualization platforms | |
WO2010060300A1 (en) | Method, system and equipment for realizing device driver domain | |
CN106452951A (en) | Information processing method, device and system | |
CN109032754B (en) | Method and apparatus for improving reliability of communication path | |
JP2011221831A (en) | Terminal switching system of virtual computer |