Hyper-V

Hyper-V（ハイパーV、はいぱーぶい）は、マイクロソフトが提供するハイパーバイザベースのx64向け仮想化システムで、1台のコンピュータ（サーバ）で複数の仮想機械を実現する。 開発当初は Windows Server Virtualization、又はコードネームである Viridian の名称が用いられた。 Virtual Server を置き換える形で、当初の Hyper-V は Windows Server 2008 の x64 エディションの1機能としてベータ版が出荷され、Windows Update 等を通して正式版が2008年6月26日に公開された。その後も Hyper-V は Windows Server 等の一機能として提供され続け、Windows Server 2008 R2 には Hyper-V 2.0 が、Windows Server 2012 には Hyper-V 3.0 が搭載されている。 当初、Hyper-V 機能はクライアントOSに搭載されなかったが、Windows 8 Pro、およびWindows 8 Enterprise 以降では Windows Virtual PC に代わって Hyper-V 機能が搭載された（基本的にx64版専用だがx86版はリモート管理ツールのHyper-V マネージャーのみ対応となる）。これらは従前のサーバー向けと区別して「クライアント Hyper-V」と呼称される。 Hyper-V の管理や設定変更には、Hyper-V 機能を有効にした Windows Server に直接ログオンして行う方法と、リモートで行う方法がある。リモート管理するには Windows Server、もしくはHyper-Vリモート管理ツールがインストールされたクライアントOS（Windows Vista、およびWindows 7）、またはx64版・x86版を問わずHyper-V マネージャーを有効にしたPro以上のエディションのWindows 8/8.1、およびWindows 10、Windows 11が必要になる。また、Core サーバの MMC ポインティングのリダイレクトによるリモートデスクトップもしくはリモートサーバを用いることができる。 Hyper-V の無償版として Hyper-V Server が存在する。これは、Hyper-V 機能のみを利用できるように大半の機能が制限された、Server Core をベースとした Windows Server である。 無償で提供されている Hyper-V Server はコマンドラインインタフェース (CLI) に限定されている。Hyper-V 機能を実行・管理するオペレーティングシステム の設定は、ログオン後に起動するシェルのコマンドを用いる。Hyper-V Server 2008 からはテキストベースのメニューが用意されているため、初期設定が行いやすくなっている。 最初の Hyper-V Server は、Windows Server 2008 のラインナップの1つとして、「Windows Server 2008 Hyper-V」の名称で2008年8月1日にリリースされた。その後、マイクロソフトは Windows Server 2008 R2のリリースに合わせて「Microsoft Hyper-V Server 2008 R2」を、Windows Server 2012 のリリースに合わせて「Microsoft Hyper-V Server 2012」をリリースしている。 Hyper-Vはパーティションによる隔離をサポートする。パーティションは隔離を実現するための論理ユニットで、OSのハイパーバイザーによりサポートされる。ハイパーバイザーのインスタンスは少なくとも1個のWindows Server 2008が動作する親パーティションを持つ。仮想化スタックは親パーティションの中で動作し、ハードウェアへ直にアクセスする。親パーティションはゲストOSを動作させる子パーティションを生成する。親パーティションは子パーティションをhypercall APIを用いて作成する。hypercall APIはHyper-Vを操作するAPIである。 仮想化パーティションは物理プロセッサへのアクセスを持たず、割り込みをハンドルすることもない。そのかわり、プロセッサの仮想的なビューを持ち、ゲストの仮想アドレスで動作するということである。（ハイパーバイザーの設定に依存するが）丸ごとの仮想アドレス空間を必要としない。ハイパーバイザーはそれぞれのパーティションへ、プロセッサのサブセットを選択的に公開することができる。ハイパーバイザーはプロセッサの割り込みをハンドルし、論理同期割り込みコントローラ (SynIC) を使ってそれぞれのパーティションにリダイレクトする。Hyper-Vはゲスト側の仮想アドレス空間からのアドレス変換をIOMMU (I/O Memory Management Unit) を用いてハードウェアアクセラレーションできる。IOMMUはCPUにより使われるメモリ管理ハードウェアから独立して操作する。 子パーティションはハードウェアリソースを直アクセスしない。そのかわり、仮想デバイスという概念でリソースの仮想的なビューを持つ。仮想デバイスに要求すると、VMBusを経由して親パーティションのデバイスにリダイレクトされる。リクエストはそこで管理される。VMBusはパーティション間の通信を可能にする論理的なチャンネルである。レスポンスも同様にVMBusを経由してリダイレクトされる。もし親パーティションのデバイスが仮想デバイスでもあるなら、親パーティションやより遠くに、物理デバイスへのアクセスできるところまでリダイレクトされる。親パーティションは仮想化サービスプロバイダ (Virtualization Service Provider) を実行する。それはVMBusを接続し、子パーティションからのデバイスのアクセス要求をハンドルする。子パーティションの仮想デバイスは内部で仮想サービスクライアント (Virtualization Service Client) を実行する。それはVMBusを経由して親パーティションのVSPへリクエストをリダイレクトする。この全体のプロセスはゲストOSに透過的である。 仮想デバイスはEnlightened I/Oと名づけられたWindows Server Virtualizationの特徴をうまく利用することができる。Enlightened I/Oはストレージ、ネットワーク、グラフィックの各サブシステムやそれ以外をサポートする。Enlightened I/OはVMBusをダイレクトに利用できるSCSIに似た高レベル通信プロトコルを用いた仮想化向けの実装に特化しており、デバイスのエミュレーション層をバイパスすることができる。それにより、Hyper-V下のゲストOSは他のエミュレーションされたハードウェアを用いたOSに比べより高速に動作する。これにより通信はより効率的になるが、ゲストOSもEnlightened I/Oをサポートする必要がある。当初はWindows Server 2008、Windows Vista、SUSE Linux Enterprise Serverのみが標準でEnlightened I/Oをサポートしていたが、後からLinux用のドライバがGPLで公開されるようになった。 64ビットのCPU ハードウェア支援付きの仮想化。仮想化オプションを含んだCPUで利用できる。とりわけIntel VTやAMD-V（SLAT機能必須） 最低2GBのメインメモリ（各々の仮想OSは自身のメモリを必要とする。そして現実的にはそれ以上必要になる） Windows 2008 Standard (64Bit) Hyper-V Coreはおよそ3 GB以上のディスク空き容量（インストール容量） Windows 2008 Standard (64Bit) Hyper-V full GUI productはおよそ8 GB以上のディスク空き容量（インストール容量） スタンドアロン版のHyper-VサーバーはWindows Server 2008のインストールの必要は無く、最小メモリは1 GBでディスク必要容量は2 GBである。 128個のゲストOSをサポートする。 32ビット (x86) および64ビット (x64) のゲストOSをサポートする。 全てのクライアントHyper-V、およびHyper-V Serverは同一環境である。 Intel 82443BX チップセット Windows Server 2008ゲストおよびWindows HPC Server 2008、Windows 7は1-、2-、4-wayの SMPに設定することが可能で, Windows Server 2003およびWindows Vistaでは1-、2-wayのSMP、SUSE Linux を除くその他のゲストOSは1-wayのみである 。他のゲストOS、例えばUbuntu Linux 6.06/6.10/7.10 あるいは Fedora 8/9 などはサポートされないが、これらが動作したという報告が上げられている 。 サードパーティー製のデスクトップ仮想化 (VDI) 製品が使用可能である。Citrix XenDesktopおよび Ericom PowerTerm WebConnectはデータセンターに設置されたデスクトップ仮想マシンをホストし集中管理する能力を提供する。デスクトップ仮想マシンはユーザーにフルスペックのPCデスクトップ環境を提供する。 Enlightened I/O付きのゲストOSおよびハイパーバイザーに対応したカーネル、例えばWindows Server 2008、Windows Vista SP1、およびCitrix XenServerや SISE から計画されているものなどは、ホストのリソースをよりよく利用できるだろう。ホストのリソースはVSCドライバーによってこれらのゲストOSからVSPにVMバスを通して直接通信される 。Non-enlightenedなOSはエミュレートされたI/Oで動作する 。 しかしながら、integration components（VSCドライバーを含む）はWindows Server 2003 SP2、Windows XP SP3、Windows Vista SP1、Linuxから利用でき、より高いパフォーマンスを獲得できる。 Xenを有効にしたLinuxゲストはHyper-Vによって準仮想化が可能である。現在、SUSE Linux Enterprise Server 10,11,12 x86およびx64 Editionがこの方法においてマイクロソフトから公式にサポートされているが、Xenを有効にしたLinuxはSUSE Linuxに限らず動作すると考えられる。2008年2月、レッドハットとマイクロソフトは、それぞれのOSにおけるハイパーバイザー相互運用性についての仮想化の契約にサインした。これによってRed Hat Enterprise Linux 5は公式にHyper-Vでサポートされる 。 Hyper-Vを始めとしてVirtual Server 2005、Virtual PC 2004/2007等の製品はゲストOSを1つのVHDファイルに保存することができる。このファイルはゲストOS全体を格納しているものの、他のファイルによって「アンドゥ情報」などを構成することもできる。 Virtual Server 2005、Virtual PC 2004/2007による古い VHDファイルは Windows 2008 Hyper-V Serverでコピーし、使用することができる。しかし、古い『Virtual PC 統合コンポーネント』は移転の際に取り除く必要がある。移転したゲストOSはHyper-Vを使って構成し、開始された後、仮想ハードウェアの変更が検出されるだろう。『 Hyper-V 統合サービス( 又は Integration Services ) 』（Virtual PC 統合コンポーネントに類似した機能）をインストールすることで5つのサービスの形でパフォーマンスを向上させる。ゲストOSのビデオ表示およびネットワークカードの新しいドライバも共にインストールされる。結果として最近のバージョンのWindowsでは再アクティベーション、およびプロダクトキーの再発行が必要となる。 [脚注の使い方] ^ a b Pro, Enterpriseエディションの64bit版のみ。 ^ ゲストOSがWindows 8.1 Pro/Enterprise(各x64/x86)、およびWindows 10 Pro/Education/Enterprise(各x64/x86)、Windows Server 2012 R2、Windows Server 2016の場合のみ。 ^ a b Pro, Enterprise, Educationエディションの64bit版のみ。 ^ a b c d e f g h i j Pro, Enterprise, Education, Pro Educationエディションの64bit版のみ。 ^ バージョン 6.0.0 (2018年12月) で対応したが、取り消している。 ^ フットプリントを小さくしたため、必須物理メモリ量が前バージョンより少ない。 ^ “Microsoft to ship Windows Server 2008, over time, in eight flavors” (英語). 2007年11月13日閲覧。 ^ Paul Thurrott. “Windows Server Virtualization Preview” (英語). 2007年9月25日閲覧。 ^ “Hyper-V RTM announcement. Available today from the Microsoft Download Centre” (英語). Microsoft Docs. Microsoft. 2008年6月26日閲覧。 ^ Frank Ohlhorst (2013年2月6日). “Windows 8 クライアントHyper-Vのインストール方法と特徴”. TechTarget. ITMedia. 2013年6月7日閲覧。 ^ “Client Hyper-V” (英語). Microsoft Docs. Microsoft (2012年2月). 2013年6月7日閲覧。 ^ "Microsoft Helps Customers Overcome Barriers to Virtualization and Get Virtual Now". PressPass (Press release). マイクロソフト. 1 October 2008. 2008年10月2日閲覧。 ^ “米Microsoft、「Hyper-V」LinuxドライバをカーネルコミュニティにGPLv2で提供”. Sourceforge.JP Magazine (2009年7月21日). 2009年7月24日閲覧。 ^ “Microsoft Contributes Linux Drivers to Linux Community” (英語). マイクロソフト (2009年7月20日). 2009年7月24日閲覧。 ^ a b c d e f g h i j k l Thomas Maurer. “Hyper-V VM configuration version supported features” (英語). 2020年8月14日閲覧。 ^ a b c “Hyper-Vのバージョン”. @IT. その知識、ホントに正しい？ Windowsにまつわる都市伝説. 2020年8月18日閲覧。 ^ “NX7700xシリーズにおける Hyper-V 2.0 のサポートについて”. NEC. 2020年8月18日閲覧。 ^ “Windows Server 8 βのHyper-V 3.0とMetro UI”. 2020年8月19日閲覧。(要登録) ^ “Client Hyper-V” (英語). Microsoft Docs. Microsoft. 2020年8月18日閲覧。 ^ a b c d e f g h i j k l “Upgrade virtual machine version in Hyper-V on Windows 10 or Windows Server” (英語). Microsoft Docs. Microsoft. 2020年3月30日閲覧。 ^ a b c “Hyper-Vがさらに進化するWindows Server 2012 R2”. https://cloud.watch.impress.co.jp/docs/column/2012lab/604524.html 2020年3月30日閲覧。  ^ a b 山市良の「企業ユーザーはここに注目しよう！Windows 8.1の新機能」 ― 第1回 コピー＆ペースト、オーディオ再生／録音、USBデバイスなどホスト－ゲスト間の連携 Windows 8.1で「クライアントHyper-V」はこう改善された - ASCII.jp（KADOKAWA） 2013年9月6日。 ^ “Windows 10 The Latest：正式リリース日が決まったWindows 10。その仮想化機能「Hyper-V」とは？”. @IT (ITmedia). (2015年06月04日 05時00分). https://atmarkit.itmedia.co.jp/ait/articles/1506/04/news032.html 2015年9月2日閲覧。  ^ “【レビュー】Windows 10 Insider Previewを試す(第34回) - 仮想マシン上で仮想マシンが動く「Nested Hyper-V」”. マイナビニュース (マイナビ). (2015年10月23日). https://news.mynavi.jp/article/20151023-windows10/ 2015年11月3日閲覧。  ^ “Windows Hypervisor Platform” (英語). Microsoft Docs. Microsoft. 2020年8月14日閲覧。 ^ “仮想化ベースのセキュリティ”. Microsoft Docs. Microsoft. 2020年8月14日閲覧。 ^ “ChangeLog/2.12”. 2020年8月14日閲覧。 ^ “Android Emulator 27.3.8 available in the Stable channel”. 2020年8月14日閲覧。 ^ “Changelog for VirtualBox 6.1”. 2020年8月14日閲覧。 ^ “「Oracle VM VirtualBox 6.0」が正式版に ～「Hyper-V」フォールバックをサポート”. インプレス. 2020年8月14日閲覧。 ^ “「VMware Workstation/Player」が「Hyper-V」と共存可能に ～v15.5.5が正式公開　「Windows 10 May 2020 Update」へのアップグレードが必要”. インプレス (2020年5月29日). 2020年8月14日閲覧。 ^ “Hyper-V Server 2008導入ガイド ＋ Q＆A［Part1］”. 2012年10月24日時点のオリジナルよりアーカイブ。2012年11月20日閲覧。 ^ “Microsoft® Hyper-V™ Server 2008 R2”. 2012年11月20日閲覧。 ^ “Review Prerequisites for Installing Hyper-V Server 2008 R2” (英語). Microsoft Docs. Microsoft. 2012年11月20日閲覧。 ^ “Review Prerequisites for Installation” (英語). Microsoft Docs. Microsoft. 2012年11月20日閲覧。 ^ “Windows Server 2012 / Windows Server 2012 R2のHyper-V 情報”. 富士通. 2012年11月20日閲覧。 ^ “Microsoft Hyper-V Server” (英語). Microsoft. 2009年3月15日時点のオリジナルよりアーカイブ。2009年3月8日閲覧。 ^ “Virtual Server 2005 技術概要”. 2016年3月13日時点のオリジナルよりアーカイブ。2012年11月20日閲覧。 ^ “Virtual Server 2005 R2 SP1 上における Linux ゲストのサポート”. TechNet. Microsoft. 2014年8月10日時点のオリジナルよりアーカイブ。2012年11月20日閲覧。 ^ “Supported operating systems in Virtual Server 2005 R2” (英語). Microsoft. 2014年8月10日時点のオリジナルよりアーカイブ。2014年7月30日閲覧。 ^ Windows Server 2008 の Hyper-V インストール手順書 (MS-WORD) - Microsoft ^ a b c “About Virtual Machines and Guest Operating Systems” (英語). Microsoft Docs. Microsoft. 2012年11月20日閲覧。 ^ a b c d “Supported CentOS and Red Hat Enterprise Linux virtual machines on Hyper-V” (英語). Microsoft Docs. Microsoft. 2016年2月25日閲覧。 ^ a b c d “Supported SUSE virtual machines on Hyper-V” (英語). Microsoft Docs. Microsoft. 2016年2月25日閲覧。 ^ a b c d “Supported Debian virtual machines on Hyper-V” (英語). Microsoft Docs. Microsoft. 2016年2月25日閲覧。 ^ a b c “Supported Ubuntu virtual machines on Hyper-V” (英語). Microsoft Docs. Microsoft. 2016年2月25日閲覧。 ^ “Supported Windows Guest Operating Systems for Hyper-V in Windows Server 2012 and Windows 8” (英語). Microsoft Docs. Microsoft. 2016年2月25日閲覧。 ^ “Supported Windows Guest Operating Systems for Hyper-V in Windows Server 2012 R2 and Windows 8.1” (英語). Microsoft Docs. Microsoft. 2016年2月25日閲覧。 ^ “サポートされる Windows ゲスト”. Microsoft Docs. Microsoft. 2016年2月25日閲覧。 ^ “Installing Fedora Core 8 on Hyper-V” (英語). Ben Armstrong’s Virtualization Blog. Microsoft. 2008年5月25日閲覧。 ^ “First Look: Fedora 9 Alpha, Running in Hyper-V Beta: CRN” (英語). 2008年5月25日閲覧。 ^ “Install Ubuntu 7.10 on Hyper-V” (英語). 2015年11月6日時点のオリジナルよりアーカイブ。2008年5月25日閲覧。 ^ “Hyper-V solution overview” (英語). 2008年5月25日閲覧。 ^ “Microsoft's Hyper-V: why all the fuss?” (英語). 2009年5月15日時点のオリジナルよりアーカイブ。2008年5月25日閲覧。 ^ “Microsoft Hyper-V To Flaunt Advanced Virtualization Features” (英語). 2008年4月26日時点のオリジナルよりアーカイブ。2008年5月25日閲覧。 ^ “Microsoft and Red Hat sign virtualization pact” (英語). 2010年2月28日時点のオリジナルよりアーカイブ。2009年2月17日閲覧。 仮想化 Microsoft Virtual Server Microsoft Virtual PC Morimoto, Rand; Jeff Guillet. Windows Server 2008 Hyper-V Unleashed. ISBN 0-672-33028-8  Hyper-V 仮想化 マイクロソフト公式技術情報 Microsoft Hyper-V Server 2008 Hyper-V Functional Specification （英語） WinHEC 2006 Presentation Slides （英語） Core Scenarios and Key features of Hyper-V （英語） Windows Virtualization team blog （英語） Microsoft Virtualization Microsoft Windows Server 2008 Hyper-V FAQ Dutch Windows Virtualization and Hyper-V team blog （英語） Virtualization and Security: What does it mean for me? - Microsoft TechNet Video （英語） 表示 編集