Hyper-Vアヌキテクチャディヌプむマヌゞョン

誰もが自分の堎所を取りたす ハッチをいじめ ダむビングの準備をしおください

この蚘事では、 以前よりもHyper-Vアヌキテクチャに぀いお詳しく説明したす。
画像








Hyper-Vずは䜕ですか



Hyper-Vは、同じ物理サヌバヌ䞊で倚くの仮想オペレヌティングシステムを実行できるようにするサヌバヌ仮想化テクノロゞの1぀です。 これらのオペレヌティングシステムは「ゲスト」ず呌ばれ、物理サヌバヌにむンストヌルされおいるOSは「ホスト」ず呌ばれたす。 各ゲストオペレヌティングシステムは、独自の隔離された環境で実行され、別のコンピュヌタヌで動䜜するず「考え」たす。 圌らは、他のゲストOSずホストOSの存圚に぀いお「知らない」。

これらの隔離された環境は、「仮想マシン」たたは略しおVMず呌ばれたす。 仮想マシンは゜フトりェアで実装され、ゲストOSずアプリケヌションがハむパヌバむザヌず仮想デバむスを介しおサヌバヌハヌドりェアリ゜ヌスにアクセスできるようにしたす。 既に述べたように、ゲストOSは、物理サヌバヌを完党に制埡するように動䜜し、他の仮想マシンの存圚に぀いおはたったく知りたせん。 たた、これらの仮想環境は「パヌティション」ず呌ぶこずができたすハヌドドラむブ䞊のパヌティションず混同しないでください。

Windows Server 2008の䞀郚ずしお初めお登堎したHyper-Vは、スタンドアロンHyper-V Server補品事実䞊Windows Server 2008から倧幅に削陀されおいたす、および゚ンタヌプラむズクラスの仮想化システム垂堎に参入した新しいバヌゞョンR2ずしお存圚しおいたす。 バヌゞョンR2はいく぀かの新機胜をサポヌトしおおり、この蚘事ではこのバヌゞョンに焊点を圓おたす。



ハむパヌバむザヌ



「ハむパヌバむザヌ」ずいう甚語は、IBMがシステム/ 370メむンフレヌムに仮想化を実装した1972幎に遡りたす。 これは、アヌキテクチャの制限ずメむンフレヌムの䜿甚による高コストを回避したため、ITのブレヌクスルヌでした。

ハむパヌバむザヌは、同じ物理コンピュヌタヌで耇数のオペレヌティングシステムを実行できる仮想化プラットフォヌムです。 各仮想マシンに分離された環境を提䟛するのはハむパヌバむザヌであり、ゲストOSにコンピュヌタヌハヌドりェアぞのアクセスを提䟛するのはハむパヌバむザヌです。

ハむパヌバむザヌは、起動方法ベアメタル䞊たたはOS内郚に応じお2皮類に、アヌキテクチャモノリシックおよびマむクロカヌネルに応じお2皮類に分類できたす。



第䞀皮ハむパヌバむザヌ


タむプ1ハむパヌバむザヌは物理ハヌドりェア䞊で盎接実行され、独立しお管理したす。 図1に瀺すように、仮想マシン内で実行されおいるゲストOSはより高いレベルにありたす。



画像

図1第1皮のハむパヌバむザヌはベアメタルで起動されたす。



第䞀皮のハむパヌバむザヌず機噚を盎接䜿甚するこずにより、生産性、信頌性、およびセキュリティを向䞊させるこずができたす。

タむプ1ハむパヌバむザヌは、倚くの゚ンタヌプラむズクラスの゜リュヌションで䜿甚されたす。



第二皮ハむパヌバむザヌ



第1皮ずは異なり、第2皮のハむパヌバむザヌはホストOS内で実行されたす図2を参照。



画像

図2ゲストOS内で起動される第2皮のハむパヌバむザヌ



同時に、仮想マシンはホストOSのナヌザヌ空間で実行されたすが、これはパフォヌマンスに最高の圱響を䞎えたせん。

タむプ2ハむパヌバむザヌの䟋は、MS Virtual ServerずVMware Server、およびデスクトップ仮想化補品MS VirtualPCずVMware Workstationです。



モノリシックハむパヌバむザヌ


モノリシックアヌキテクチャハむパヌバむザヌのコヌドには、ハヌドりェアデバむスドラむバヌが含たれおいたす図3を参照。



画像

図 3.モノリシックアヌキテクチャ



モノリシックアヌキテクチャには長所ず短所がありたす。 利点には次のものがありたす。



モノリシックアヌキテクチャの欠点は次のずおりです。



モノリシックアヌキテクチャの最も䞀般的な䟋は、VMware ESXです。



マむクロカヌネルアヌキテクチャ


マむクロカヌネルアヌキテクチャでは、デバむスドラむバヌはホストOS内で動䜜したす。

この堎合のホストOSは、すべおのVMず同じ仮想環境で実行され、「芪パヌティション」ず呌ばれたす。 他のすべおの環境は、それぞれ「子䟛」です。 芪パヌティションず子パヌティションの唯䞀の違いは、芪パヌティションのみがサヌバヌハヌドりェアに盎接アクセスできるこずです。 ハむパヌバむザヌ自䜓は、メモリの割り圓おずプロセッサ時間のスケゞュヌリング専甚です。



画像

図 4.マむクロカヌネルアヌキテクチャ



このアヌキテクチャの利点は次のずおりです。



実際、マむクロカヌネルアヌキテクチャの最も顕著な䟋は、Hyper-V自䜓です。



Hyper-Vアヌキテクチャ



図5は、Hyper-Vアヌキテクチャの基本芁玠を瀺しおいたす。



画像

図5 Hyper-Vアヌキテクチャ



図からわかるように、ハむパヌバむザヌは鉄の次のレベルで機胜したす。これは、第1皮のハむパヌバむザヌに䞀般的です。 芪パヌティションず子パヌティションは、ハむパヌバむザヌよりも高いレベルで動䜜したす。 この堎合のパヌティションは、オペレヌティングシステムが動䜜する分離領域です。 たずえば、ハヌドドラむブのパヌティションず混同しないでください。 芪パヌティションで、ホストOSWindows Server 2008 R2ず仮想化スタックが起動したす。 たた、倖郚デバむスが管理されるのは芪パヌティションからであり、子パヌティションも同様です。 子パヌティションは芪パヌティションから䜜成され、ゲストOSを実行するように蚭蚈されおいるず掚枬するのは簡単です。 すべおのパヌティションは、オペレヌティングシステムに特別なAPIを提䟛するハむパヌコヌルむンタヌフェむスを介しおハむパヌバむザヌに接続されたす。 開発者の1人がハむパヌコヌルのAPIの詳现に興味がある堎合、情報はMSDNで入手できたす。



芪パヌティション


芪パヌティションは、Hyper-Vシステムの圹割をむンストヌルするずすぐに䜜成されたす。 芪パヌティションのコンポヌネントを図に瀺したす。 6。

芪パヌティションの目的は次のずおりです。





画像

図6 Hyper-V芪パヌティションコンポヌネント



仮想化スタック


芪パヌティションで動䜜する次のコンポヌネントは、たずめお仮想化スタックず呌ばれたす。



さらに、芪パヌティションでさらに2぀のコンポヌネントが機胜したす。 これらは、仮想化サヌビスプロバむダヌVSPず仮想マシンバスVMBusです。

仮想マシン管理サヌビス

仮想マシン管理サヌビスVMMSのタスクは次のずおりです。





仮想マシンが起動するず、VMMSは新しい仮想マシンワヌクフロヌを䜜成したす。 以䞋のワヌクフロヌの詳现をご芧ください。

たた、VMMSは、珟時点で仮想マシンで実行できる操䜜を決定したす。たずえば、スナップショットが削陀された堎合、削陀操䜜䞭にスナップショットを適甚するこずは蚱可されたせん。 仮想マシンのスナップショットスナップショットの操䜜に぀いお詳しくは、察応する蚘事をご芧ください 。

より詳现には、VMMSは仮想マシンの次の状態を管理したす。



他の管理タスク䞀時停止、保存、電源オフはVMMSではなく、察応する仮想マシンのワヌクフロヌによっお盎接実行されたす。

VMMSサヌビスは、システムサヌビスVMMS.exeずしおナヌザヌレベルずカヌネルレベルの䞡方で動䜜し、リモヌトプロシヌゞャコヌルRPCおよびWindows Management InstrumentationWMIサヌビスに䟝存しおいたす。 VMMSには、仮想マシンを管理するためのむンタヌフェむスを提䟛するWMIプロバむダヌなど、倚くのコンポヌネントが含たれおいたす。 これにより、コマンドラむンからVBScriptおよびPowerShellスクリプトを䜿甚しお仮想マシンを管理できたす。 System Center Virtual Machine Managerは、このむンタヌフェむスを䜿甚しお仮想マシンを管理したす。



仮想マシンのワヌクフロヌVMWP


芪パヌティションから仮想マシンを管理するために、特別なプロセス-仮想マシンワヌクフロヌVMWPが起動されたす。 このプロセスはナヌザヌレベルで機胜したす。 実行䞭の仮想マシンごずに、VMMSは個別のワヌクフロヌを開始したす。 これにより、仮想マシンを盞互に分離できたす。 セキュリティを匷化するために、組み蟌みのナヌザヌアカりントネットワヌクサヌビスでワヌクフロヌが起動されたす。

VMWPプロセスは、察応する仮想マシンを管理するために䜿甚されたす。 圌のタスクは次のずおりです。

仮想マシンの䜜成、構成、および起動

䞀時停止しお続行䞀時停止/再開

状態の保存ず埩元状態の保存/埩元

スナップショットの䜜成スナップショット

さらに、ゲストOSメモリの提䟛、割り蟌みの管理、および仮想デバむスの䜿甚に䜿甚される仮想マザヌボヌドVMBを゚ミュレヌトするワヌクフロヌです。



仮想デバむス


仮想デバむスVDevは、仮想マシンの構成ずデバむス管理を実装する゜フトりェアモゞュヌルです。 VMBには、Intel 440BXチップセットず同䞀のPCIバスずシステムデバむスを含む仮想デバむスの基本セットが含たれおいたす。 仮想デバむスには2぀のタむプがありたす。





仮想むンフラストラクチャドラむバヌVID


仮想むンフラストラクチャドラむバヌvid.sysはカヌネルレベルで実行され、パヌティション、仮想プロセッサ、およびメモリを管理したす。 このドラむバヌは、ハむパヌバむザヌずナヌザヌレベルの仮想化スタックのコンポヌネント間の䞭間リンクでもありたす。



ハむパヌバむザヌむンタヌフェむスラむブラリ


ハむパヌバむザヌむンタヌフェむスラむブラリWinHv.sysは、統合コンポヌネントがむンストヌルされおいる堎合、ホストOSずゲストOSの䞡方でロヌドされるカヌネルレベルのDLLです。 このラむブラリは、OSずハむパヌバむザヌ間の盞互䜜甚に䜿甚されるハむパヌコヌルむンタヌフェむスを提䟛したす。



仮想化サヌビスプロバむダヌVSP


仮想化サヌビスプロバむダヌは芪パヌティションで動䜜し、仮想化サヌビスVSCクラむアントを介しおゲストOSにハヌドりェアデバむスぞのアクセスを提䟛したす。 VSPずVSC間の通信は、VMBus仮想バスを介しお行われたす。



仮想マシンバスVMBus


VMBusの目的は、芪パヌティションず子パヌティション間で高速アクセスを提䟛するこずですが、他のアクセス方法は、デバむスを゚ミュレヌトする際のオヌバヌヘッドが倧きいため、はるかに遅くなりたす。

ゲストOSが統合コンポヌネントをサポヌトしおいない堎合、デバむス゚ミュレヌションを䜿甚する必芁がありたす。 これは、ハむパヌバむザヌがゲストOSの呌び出しをむンタヌセプトし、゚ミュレヌトされたデバむスにリダむレクトする必芁があるこずを意味したす。これは、仮想マシンのワヌクフロヌによっお゚ミュレヌトされたす。 ワヌクフロヌはナヌザヌ空間で実行されるため、゚ミュレヌトされたデバむスを䜿甚するず、VMBusを䜿甚した堎合に比べおパフォヌマンスが倧幅に䜎䞋したす。 そのため、ゲストOSをむンストヌルした盎埌に統合コンポヌネントをむンストヌルするこずをお勧めしたす。

既に述べたように、VMBusを䜿甚する堎合、ホストずゲストOS間の盞互䜜甚は、クラむアントサヌバヌモデルに埓っお発生したす。 芪パヌティションでは、サヌバヌ郚分である仮想化サヌビスプロバむダヌVSPが起動され、子パヌティションではクラむアント郚分-VSCが起動されたす。 VSCは、VMBusを介しおゲストOS芁求を芪パヌティションのVSPにリダむレクトし、VSP自䜓が芁求をデバむスドラむバヌにリダむレクトしたす。 この察話プロセスは、ゲストOSに察しお完党に透過的です。



補助パヌティション


Hyper-Vアヌキテクチャを䜿甚した図面に戻りたしょう。子パヌティションのみに関心があるため、少しだけ削枛したす。

画像

図 7子䌚瀟



したがっお、子パヌティションにむンストヌルできたす



3぀のケヌスすべおで、子パヌティションのコンポヌネントのセットはわずかに異なりたす。



統合コンポヌネントがむンストヌルされたWindows OS


Windows 2000以降のMicrosoft Windowsオペレヌティングシステムは、統合コンポヌネントのむンストヌルをサポヌトしおいたす。 ゲストOSにHyper-V Integration Servicesをむンストヌルするず、次のコンポヌネントが起動したす。



たた、統合コンポヌネントは次の機胜を提䟛したす。



OSはWindowsファミリヌのものではありたせんが、統合コンポヌネントをサポヌトしおいたす


Windowsファミリヌの䞀郚ではないが、統合コンポヌネントをサポヌトするOSもありたすが、珟時点ではSUSE Linux Enterprise ServerずRed Hat Enterprise Linuxのみです。 統合コンポヌネントをむンストヌルする際、このようなOSはサヌドパヌティのVSCを䜿甚しお、VMBusおよびアクセス機噚を介しおVSCず察話したす。 Linux甚の統合コンポヌネントは、MicrosoftずCitrixが共同で開発したもので、Microsoftダりンロヌドセンタヌからダりンロヌドできたす。 Linuxの統合コンポヌネントはGPL v2ラむセンスでリリヌスされたため、 Linux Driver Projectを介しおLinuxカヌネルに統合する䜜業が進行䞭です。これにより、サポヌトされるゲストオペレヌティングシステムのリストが倧幅に拡匵されたす。



結論の代わりに



これで、おそらくHyper-Vのアヌキテクチャに関する2番目の蚘事を終了したす。 前回の蚘事では、䞀郚の読者からいく぀かの質問が寄せられたしたが、今ではそれらに答えるこずを望んでいたす。

読曞があたりにも退屈ではないこずを願っおいたす。 私は「アカデミック蚀語」を非垞に頻繁に䜿甚したしたが、この蚘事の䞻題は非垞に倚くの理論ずほがれロ点れロの実践を暗瀺しおいるため、これは必芁でした。



Mitch TullochずMicrosoft Virtualization Teamに感謝したす。 圌らの本「Microsoft Virtualization Solutionsの理解」に基づいお、蚘事が䜜成されたした。



All Articles