Hyper-V
Mcirosoftが提供する仮想化技術
Hyper-V(ハイパーV、はいぱーぶい)は、マイクロソフトが提供するハイパーバイザベースのx64向け仮想化システムで、1台のコンピュータ(サーバ)で複数の仮想機械を実現する。
Hyper-V Microsoft Windows コンポーネント | |
---|---|
詳細 | |
標準提供 |
Windows Server 2008 Windows Server 2008 R2 Windows Server 2012 Windows Server 2012 R2 Windows Server 2016 (搭載予定) Windows 8 Pro Windows 8 Enterprise Windows 8.1 Pro Windows 8.1 Enterprise Windows 10 Pro Windows 10 Education Windows 10 Enterprise (いずれもx64版専用。x86版はHyper-V マネージャー(リモート管理ツール)のみ対応) |
開発当初は Windows Server Virtualization、又はコードネームである Viridian の名称が用いられた[1][2]。
概要
Virtual Server を置き換える形で、当初の Hyper-V は Windows Server 2008 の x64 エディションの1機能としてベータ版が出荷され、Windows Update 等を通して正式版が2008年6月26日に公開された[3]。その後も 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﹂と呼称される[4][5]。
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が必要になる。また、Core サーバの MMC ポインティングのリダイレクトによるリモートデスクトップもしくはリモートサーバを用いることができる。
無償版の扱い
Hyper-V の無償版として、Hyper-V Server と呼ばれる無償版が存在する。これは、Hyper-V 機能のみを利用できるように大半の機能が制限された、Server Core をベースとした Windows Server である。[6]
無償で提供されている 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日にリリースされた。その後、Microsoft は 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で公開されるようになった[7][8]。
バージョンと搭載製品
バージョン | 汎用OS版 | 専用無償OS版 | 備考 |
---|---|---|---|
1.0 | Windows Server 2008 64ビット版 | Hyper-V Server 2008 | OS本体発売(2008年2月27日)に遅れて同年6月26日リリース。 |
2.0 | Windows Server 2008 R2 | Hyper-V Server 2008 R2 | |
3.0 | Windows Server 2008 R2 SP1 | Hyper-V Server 2008 R2 SP1 | |
4.0 | Windows Server 2012, Windows 8 Pro(x64), Windows 8 Enterprise(x64) |
Hyper-V Server 2012 | このバージョンより新たにVHDXが導入される。 |
5.0 | Windows Server 2012 R2, Windows 8.1 Pro(x64), Windows 8.1 Enterprise(x64) |
Hyper-V Server 2012 R2 | このバージョンより新たにコピー&ペースト、オーディオ再生/録音、USBデバイスの各サポート(ただしゲストOSがWindows 8.1以降のWindows(x64/x86)の場合のみ)など、ホスト - ゲスト間の連携機能「拡張セッションモード」に対応しており、Windows 7の上位エディション(Professional、およびEnterprise、Ultimate)に搭載されていたVirtual PCの機能とほぼ同等になり、使い勝手が向上している。[9] エミュレートデバイスを全廃した第二世代仮想マシンの導入。 |
6.0 | Windows 10 Pro(x64), Windows 10 Education(x64), Windows 10 Enterprise(x64) |
従来のHyper-Vで管理する仮想マシンの構成ファイルはXML形式などで記述されていたが、Windows 10/Windows Server 2016/Hyper-V Server 2016に搭載されるHyper-Vでは新しくバイナリ形式になり、アクセス速度や耐障害性などが向上している。Windows 10/Windows Server 2016/Hyper-V Server 2016専用のHyper-Vは従来のバージョンでも扱えるがバージョン6に変換するとWindows 10専用となり従来のHyper-Vでは管理不可能となり当然、バージョン5に書き戻すことも不可能となる[10]。 動的なNICやメモリサイズの変更、および統合ソフトウエアのWindows Updateによる自動更新、Linuxでのセキュアブートなどのサポートに対応。 | |
7.0 | Windows Server 2016 Windows 10 Pro(Ver. 1511以降)(x64), Windows 10 Education(Ver. 1511以降)(x64), Windows 10 Enterprise(Ver. 1511以降)(x64) |
Hyper-V Server 2016 | このバージョンより仮想マシン上で仮想マシンが動く「Nested Hyper-V」が搭載される[11]。 |
システム要件
- Windows Server 2008 Standard/Enterprise/Datacenter x64版が動作する64ビットのCPU
- ハードウェア支援付きの仮想化。仮想化オプションを含んだCPUで利用できる。とりわけIntel VTやAMD-V(SLAT(EPT)機能必須)
- NXビット互換のCPUが利用可能でハードウェアData Execution Prevention (DEP) が有効になっていなければならない。
- 最低2GBのメインメモリ(各々の仮想OSは自身のメモリを必要とする。そして現実的にはそれ以上必要になる)
- Windows 2008 Standard (64 Bit) Hyper-V Coreはおよそ3GB以上のディスク空き容量(インストール容量)
- Windows 2008 Standard (64 Bit) Hyper-V full GUI productはおよそ8GB以上のディスク空き容量(インストール容量)
スタンドアロン版のHyper-VサーバーはWindows Server 2008のインストールの必要は無く、最小メモリは1GBでディスク必要容量は2GBである。
2008[12] | 2008R2[13][14] | 2012[15][16] | |
---|---|---|---|
プロセッサ | x64アーキテクチャ互換であり Intel-VTまたはAMD-V有効かつ ハードウェア Data Execution Prevention (DEP) 有効かつ Second Level Address Translation(SLAT)が必須 | ||
最低1.0GHz(推奨2.0GHz以上) 最大4基24論理プロセッサ |
最低1.4GHz(推奨2.0GHz以上) 最大8基64論理プロセッサ |
最低1.4GHz 最大320論理プロセッサ | |
ホストOS用メモリ | 最低1.0GB(推奨2.0GB以上) | 最低1.0GB(推奨2.0GB以上) | 最低512MB[17] |
全体メモリ | 最大32GB | 最大1TB | 最大4TB |
ホストOS用ストレージ | 最低3.25GB+ページファイル分 | 最低8GB(推奨20GB以上) | |
光学ドライブ | DVD-ROMドライブ | ||
ネットワークアダプタ | 最低1つ(推奨2つ以上) | ||
ディスプレイ | SVGA以上の解像度 | ||
他 | キーボード及びポインティングデバイス |
システム仕様
Windows 2008 Standard (64 Bit) Hyper-V full GUI or Coreは
エミュレーション環境
全てのクライアントHyper-V、およびHyper-V Serverは同一環境である。
- Intel 82443BX チップセット
サポートされるゲストOS
(参考) VS2005 SP1[18][19][20] |
1.0[21][22] | 2.0/3.0[22][23][24][25][26] | 4.0[23][24][25][26][27] | 5.0[23][24][25][26][28] | 6.0 / 7.0[23][24][25][29] | |
---|---|---|---|---|---|---|
Windows Server 2016 | ○ | ○ | ||||
Windows Server 2012 R2 | ○ | ○ | ○ | |||
Windows Server 2012 | ○ | ○ | ○ | |||
Windows Home Server 2011 | ○ | ○ | ○ | ○ | ○ | |
Windows Multipoint Server 2011 | ○ | ○ | ○ | ○ | ○ | |
Windows Small Business Server 2011 | ○ | ○ | ○ | ○ | ○ | |
Windows Server 2008 R2 | ○SP1 | ○SP1 | ○SP1 | ○SP1 | ○SP1 | |
Windows Server 2008 | ○SP2 | ○SP2 | ○SP2 | ○SP2 | ○SP2 | |
Windows Server 2003 R2 | ○ | ○ | ○SP2 | ○SP2 | ○SP2 | |
Windows Server 2003 | ○ | ○SP2 | ○SP2 | ○SP2 | ○SP2 | |
Windows 2000 Server (Server, Advanced Server) | ○ | ○SP4 | ○SP4 | |||
Windows NT Server 4 | ○SP6a | |||||
Windows 10 (全エディション(x86,x64)) | ○ | ○ | ||||
Windows 8.1 (全エディション(x86,x64)) | ○ | ○ | ○ | |||
Windows 8 (全エディション(x86,x64)) | ○ | ○ | ○ | |||
Windows 7 (Enterprise,Ultimate,Professional(x86,x64)) | ○ | ○ | ○ | ○ | ○ | |
Windows Vista (Enterprise,Ultimate,business(x86,x64)) | ○SP1 | ○SP2 | ○SP2 | ○SP2 | ○SP2 | |
Windows XP (Professional(x86)) | ○SP2 | ○SP2 | ○SP2 | ○SP2 | ○SP3 | |
CentOS 7 | ○7.0-7.2 | ○7.0-7.2 | ○7.0-7.2 | ○7.0-7.2 | ||
CentOS 6 | ○6.0-6.7 | ○6.0-6.7 | ○6.0-6.7 | ○6.0-6.7 | ||
CentOS 5 | ○5.5-5.11 | ○5.5-5.11 | ○5.5-5.11 | ○5.5-5.11 | ||
Red Hat Enterprise Linux 7 | ○7.0-7.2 | ○7.0-7.2 | ○7.0-7.2 | ○7.0-7.2 | ||
Red Hat Enterprise Linux 6 | ○6.0-6.7 | ○6.0-6.7 | ○6.0-6.7 | ○6.0-6.7 | ||
Red Hat Enterprise Linux 5 | ○5.0 | ○5.5-5.11 | ○5.5-5.11 | ○5.5-5.11 | ○5.5-5.11 | |
Red Hat Enterprise Linux 4 | ○4.0 | |||||
Red Hat Enterprise Linux 3 | ○3.0 | |||||
Red Hat Enterprise Linux 2 | ○2.1 | |||||
Red Hat Linux 9 | ○9.0 | |||||
Debian 8 | ○8.0-8.2 | ○8.0-8.2 | ○8.0-8.2 | ○8.0-8.2 | ||
Debian 7 | ○7.0-7.9 | ○7.0-7.9 | ○7.0-7.9 | ○7.0-7.9 | ||
SUSE Linux Enterprise Server 12 | ○ | ○ | ○ | ○ | ||
SUSE Linux Enterprise Server 11 | ○SP2-SP4 | ○SP2-SP4 | ○SP2-SP4 | ○ | ||
SUSE Linux Enterprise Server 10 | ○SP1 | ○SP4 | ○SP4 | ○ | ○ | |
SUSE Linux Enterprise Server 9 | ○ | |||||
SUSE Linux 10 | ○10.0-10.2 | |||||
SUSE Linux 9 | ○9.3 | |||||
Ubuntu 15 | ○15.4,15.10 | ○15.4,15.10 | ○15.4,15.10 | ○15.4,15.10 | ||
Ubuntu 14 | ○14.04 | ○14.04 | ○14.04 | ○14.04 | ||
Ubuntu 12 | ○12.04 | ○12.04 | ○12.04 | ○12.04 | ||
FreeBSD 10 | ○10-10.2 | ○10-10.2 | ○10-10.2 | ○10-10.2 | ||
FreeBSD 9 | ○9.1-9.3 | ○9.1-9.3 | ○9.1-9.3 | ○9.1-9.3 | ||
FreeBSD 8 | ○8.4 | ○8.4 | ○8.4 | ○8.4 |
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のみである。
[30] 他のゲストOS、例えばUbuntu Linux 6.06/6.10/7.10 あるいは Fedora 8/9 などはサポートされないが、これらが動作したという報告が上げられている。
[31][32][33]
サードパーティー製のデスクトップ仮想化 (VDI) 製品が使用可能である。Citrix XenDesktopおよび Ericom PowerTerm WebConnectはデータセンターに設置されたデスクトップ仮想マシンをホストし集中管理する能力を提供する。デスクトップ仮想マシンはユーザーにフルスペックのPCデスクトップ環境を提供する。
Enlightened I/O付きのゲストOSおよびハイパーバイザーに対応したカーネル、例えばWindows Server 2008、Windows Vista SP1、およびCitrix XenServerや SISE から計画されているものなどは、ホストのリソースをよりよく利用できるだろう。ホストのリソースはVSCドライバーによってこれらのゲストOSからVSPにVMバスを通して直接通信される。
[34] Non-enlightenedなOSはエミュレートされたI/Oで動作する。
[35]
しかしながら、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がこの方法においてマイクロソフトから公式にサポートされている[36]が、Xenを有効にしたLinuxはSUSE Linuxに限らず動作すると考えられる。
2008年2月、レッドハットとマイクロソフトは、それぞれのOSにおけるハイパーバイザー相互運用性についての仮想化の契約にサインした。これによってRed Hat Enterprise Linux5は公式にHyper-Vでサポートされる。
[37]
VHD ファイルの Virtual Server 2005 と Virtual PC 2004/2007 との互換性
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では再アクティベーション、およびプロダクトキーの再発行が必要となる。
参照
(一)^ “Microsoft to ship Windows Server 2008, over time, in eight flavors”. 2007年11月13日閲覧。
(二)^ Paul Thurrott. “Windows Server Virtualization Preview”. 2007年9月25日閲覧。
(三)^ “http://www.microsoft.com/presspass/features/2008/jun08/06-26hyperv.mspx”. 2008年6月26日閲覧。
(四)^ Frank Ohlhorst,TechTarget (2013年02月06日08時00分). “Windows 8 クライアントHyper-Vのインストール方法と特徴”. http://techtarget.itmedia.co.jp/.+2013年6月7日閲覧。
(五)^ 2013 Microsoft (2012年2月). “Client Hyper-V”. http://technet.microsoft.com/.+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日閲覧。
(九)^ 山市良の﹁企業ユーザーはここに注目しよう!Windows 8.1の新機能﹂ ― 第1回 コピー&ペースト、オーディオ再生/録音、USBデバイスなどホスト-ゲスト間の連携 Windows 8.1で﹁クライアントHyper-V﹂はこう改善された - ASCII.jp︵KADOKAWA︶ 2013年9月6日。
(十)^ @IT︵アットマーク・アイティ︶(ITmedia) (2015年06月04日05時00分). “Windows 10 The Latest‥正式リリース日が決まったWindows 10。その仮想化機能﹁Hyper-V﹂とは?”. http://www.atmarkit.co.jp/.+2015年9月2日閲覧。
(11)^ マイナビニュース(マイナビ) (2015年10月23日). “︻レビュー︼Windows 10 Insider Previewを試す(第34回) - 仮想マシン上で仮想マシンが動く﹁Nested Hyper-V﹂”. http://news.mynavi.jp/.+2015年11月3日閲覧。
(12)^ http://www.computerworld.jp/topics/560/157149
(13)^ http://www.microsoft.com/ja-jp/download/details.aspx?id=3512
(14)^ http://technet.microsoft.com/en-us/library/ee815295.aspx
(15)^ [1]
(16)^ http://jp.fujitsu.com/platform/server/primergy/software/windows/os/wins2012/hv/
(17)^ フットプリントを小さくしたため、必須物理メモリ量が前バージョンより少ない
(18)^ http://technet.microsoft.com/ja-jp/windowsserver/gg675975
(19)^ http://technet.microsoft.com/ja-jp/windowsserver/gg605270
(20)^ http://support.microsoft.com/kb/867572/en
(21)^ Windows Server 2008 の Hyper-V インストール手順書 (MS-WORD) - Microsoft
(22)^ abhttp://technet.microsoft.com/ja-jp/library/cc794868.aspx
(23)^ abcdhttps://technet.microsoft.com/en-us/library/dn531026.aspx
(24)^ abcdhttps://technet.microsoft.com/en-us/library/dn531027.aspx
(25)^ abcdhttps://technet.microsoft.com/en-us/library/dn614985.aspx
(26)^ abchttps://technet.microsoft.com/en-us/library/dn531029.aspx
(27)^ https://technet.microsoft.com/ja-jp/library/dn792028.aspx
(28)^ https://technet.microsoft.com/ja-jp/library/dn792027.aspx
(29)^ https://msdn.microsoft.com/virtualization/hyperv_on_windows/about/supported_guest_os
(30)^ Supported Guest OS on Windows Server 2008 Hyper-V
(31)^ Installing Fedora Core 8 on Hyper-V
(32)^ First Look: Fedora 9 Alpha, Running in Hyper-V Beta: CRN
(33)^ Install Ubuntu 7.10 on Hyper-V
(34)^ Hyper-V solution overview
(35)^ Microsoft's Hyper-V: why all the fuss?
(36)^ Microsoft Hyper-V To Flaunt Advanced Virtualization Features
(37)^ Microsoft and Red Hat sign virtualization pact
関連項目
書籍
- 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