TechReport

技術者情報

ソリューション

2015年7月1日(水)公開

第181回

Windows Server Technical Preview 2で見る次期Hyper-Vの新機能と互換性Vol.4

次期Hyper-Vの互換性

2015年5月にリリースされたWindows Server Technical Preview 2のインストール方法と注目すべき新機能、プロダクションチェックポイントと注意すべき変更点について3回にわたってご紹介しました。

最終回の今回は、次期Hyper-Vの互換性についてご紹介します。

記事INDEX

Hyper-Vマネージャー

vNextのHyper-Vマネージャーは、WIN2012以上のHyper-Vと互換性が取られています。具体的にはクライアントOSも含めるとvNext 、WIN2012、 Windows 8、 WIN2012R2 と Windows 8.1となります。Hyper-Vマネージャーから「サーバーに接続」メニューを使って、これらのHyper-Vにリモートで接続して管理することが可能です。

ただし、上位バージョンであるvNext のHyper-Vに、下位バージョンであるWIN2012R2のHyper-Vマネージャーからリモート接続した場合など、一部利用できない機能があります。上位バージョンのHyper-Vにリモート接続したとしても、Hyper-Vマネージャー自体の機能がバージョンアップしているわけではないためです。

例えば新しい「プロダクションチェックポイント」の設定などは、WIN2012R2のHyper-VマネージャーからvNext のHyper-Vにリモート接続した場合には、メニュー自体が従来のWIN2012R2のHyper-Vマネージャー相当の、チェックポイントファイルの場所のみしか表示されません。固定メモリのサイズ変更や、ネットワークアダプタの動的な追加削除も同様に利用できません。下位のHyper-V自体の機能に限定されてしまうということです。

vNext のHyper-Vの新機能をHyper-Vマネージャーから利用したい場合は、vNextのHyper-Vマネージャーから直接か、同じvNext同士からリモート接続をして利用する必要があります。反対にvNextのHyper-Vマネージャーから、WIN2012R2のHyper-Vにリモート接続した場合、残念ながらご想像どおりWIN2012R2のHyper-V上の仮想マシンに対して新機能は使えません。ちょっと紛らわしいのですが、WIN2012R2のHyper-VマネージャーからvNext のHyper-Vにリモート接続して仮想マシンを作成した場合は、バージョンは6.2となります。リモートからでも、作成される仮想マシンのバージョンはHyper-Vマネージャーのバージョンに左右されることはありません。

Windows Server 2012 R2のHyper-Vマネージャーから、Windows Server Technical Preview 2のHyper-Vに接続したところです。Hyper-Vマネージャーからは、vNext、WIN2012双方向で接続管理が可能ですが、一部利用できない機能があります。

ライブマイグレーション

Hyper-Vの主要機能の1つ、ライブマイクレーションの互換性は非常に気になるところです。これまでの経験を振り返ってみると、WIN2012のHyper-VとWIN2012R2のHyper-Vとの間のライブマイグレーションは、WIN2012のHyper-VからWIN2012R2のHyper-Vへの一方通行のものでした。Hyper-Vのサービス環境をすべてアップグレードする前提での移行過程としては、一方通行でも問題はありませんでしたが、新旧のバージョンを混在して運用を考えている場合、これは50点の出来です。

WIN2012R2のHyper-V上で作成した仮想マシンは、vNextのHyper-Vとの間で双方向にライブマイグレーションで移動可能です。このとき仮想マシンのバージョンは5.0のままで行うことが可能です。ライブマイグレーションに仮想マシンのアップグレードが不要なので、双方向の移動が可能となっています。

また、WIN2012のHyper-Vから、vNextのHyper-Vへのライブマイグレーションは、WIN2012のHyper-VからWIN2012R2のHyper-Vへと同様、一方向のみサポートされています。この場合は仮想マシンのバージョンはライブマイグレーションと同時に5.0にアップグレードされています。WIN2012より前のWindows Server 2008R2などのHyper-Vからのライブマイグレーションはサポートされていません。vNextのHyper-Vで作成されたバージョン6.2の仮想マシンには下位互換性は無く、vNext同士の間でのみライブマイグレーションによって移動することができます。完全互換とはいかないまでも、ここまでできれば互換性という意味では及第点の85点をつけることができるでしょう。


双方向
Windows Server Technical Preview 2 <――> Windows Server Technical Preview 2
仮想マシンバージョン5.0のみ双方向
Windows Server Technical Preview 2 <――> Windows Server 2012 R2
一方向
Windows Server Technical Preview 2 <―― Windows Server 2012
サポート対象外
Windows Server Technical Preview 2 ?――? Windows Server 2008 R2
Windows Server Technical Preview 2でサポートされるライブマイグレーション

仮想マシン

vNext のHyper-V上で仮想マシンとしてサポートされるOSは、いまのところvNext自体と、Windows、LinuxやFreeBSDなど含めてWIN2012R2のHyper-Vでサポートされる内容と同様と考えられます。

 サポート対象のゲスト オペレーティング

これは、WIN2012R2のHyper-V上の仮想マシンはバージョン5.0であれば、vNext のHyper-Vとの間の双方向でライブマイグレーションが可能ということで予想することができます。Windows Server 2003、Windows Server 2003 R2に関しては2015年7月15日にサポートが終了するため、サポートされる仮想マシンとしては除外されます。

vNext のHyper-V上で仮想マシンを新規で作成した場合や、ライブマイグレーションでvNext のHyper-V上に仮想マシンを移動してきた場合は、最適化するために統合サービスをアップデートする必要があります。前述したように、vNextのHyper-Vからは統合サービスがWindows Update や Windows Server Update Services (WSUS) を通じて仮想マシンへ提供される仕様へ変更となっています。

現在Windows Updateで提供されているvNext のHyper-V用統合サービスは以下となります。

 ・KB3004908


 ・Windows 8.1 Update1 (KB919355適用済み)


 ・WIN2012R2 Update1 (KB919355適用済み)


 ・Windows 7 SP1


 ・Windows Server 2008 R2 SP1


 ・Windows Server 2008 SP2

LinuxやFreeBSDはOS自体に統合サービスの機能が含まれているのでそのまま利用可能です。

統合サービスについては下位互換があり、仮想マシンとしてサポートされているWindowsについては、ライブマイグレーションなどでWIN2012R2のHyper-Vへ移動したとしても問題はありません。

インポート/エクスポート

仮想マシンのHyper-V間の移動手段としてライブマイグレーションだけではなく、インポート/エクスポートを使った移動方法もあります。インポート/エクスポートの移動要件もライブマイグレーションと同様にホストとなるWindows Serverのバージョンによって異なります。

仮想マシンのバージョンが5.0であればチェックポイントや構成ファイルはそのまま変換されることはなく、相互間でエクスポート/インポートが可能です。バージョン6.2の仮想マシンは、vNextのHyper-V同士でのみエクスポート/インポートが可能となります。前述しましたが、仮想マシンのバージョンによって、構成ファイルのファイル形式とフォーマットが異なるためです。

インポート/エクスポートの互換性の問題で移行ができないという場合は、限定的ですが仮想ハードディスクファイルだけをコピーして移動先のHyper-V上で新たに仮想マシンを作成するという方法が可能です。この場合の条件としては、チェックポイント(スナップショット)は移動できないという条件付きになります。

エクスポート\インポート 2008 2008R2 2012 2012R2 Technical Preview 2
2008
2008R2 ?
2012 ? ?
2012R2 ? ? ?
Technical Preview 5.0 ? ? ?
Technical Preview 6.2 ? ? ? ?
(△条件付)

仮想ネットワーク NVGRE

WIN2012のHyper-Vから実装されたNVGREはHyper-Vでサポートされている仮想ネットワークの1つです。NVGREを用いることで、Windows Server間、Hyper-Vの間では、1つの物理ネットワークで複数の仮想ネットワークを構築することが可能となります。

NVGREの仕組みは簡単に言うと、1つの物理ネット―ワーク内で、それぞれの仮想ネットワークの通信内容をカプセル化して、他の仮想ネットワークの通信内容と混在しないようにする方法です。サーバーとサーバーの間は、仮想ネットワークごとにトンネルが構築された状態で通信されています。Hyper-V自体が各仮想ネットワークのルーティングテーブルを持つ仕様となっており、特にネットワークコントローラーなどを配置する必要はありません。

vNextのHyper-Vでもこれまでと同様にNVGREによるネットワークの仮想化が可能となっています。ネットワークの仮想化関連については、今現在のvNextの時点では特に変更点などは発表されていないので、WIN2012R2のHyper-V同等のものが利用可能となっています。

念のため実際に仮想マシンを使いNVGREの設定を行い検証をしてみましたが、結果、これまでと同様に全く問題なく仮想化ネットワークを構築できたため、互換性は問題なしと判断しました。

今回の検証にはHyper-Vコミュニティーの「InvokeV」にて無償で提供されているNVGREの設定ツール「WNVManager」を利用しました。「WNVManager」はNVGREに特化した、簡単にNVGREの設定、確認ができるツールとなっています。


https://www.facebook.com/groups/749187091776055/


WNVManagerによるNVGREの設定
WMI PowerShell

vNextのHyper-VはWIN2012のHyper-Vと同様のWMI「root\virtualization\v2」という名前空間(API)が利用できます。したがって、メソッドやプロパティーは全く同じものが使えます。「root\virtualization」から「root\virtualization\v2」に変わった時のような悪夢は回避できたようで、注目すべき新機能の章で紹介した、メモリとネットワークアダプタの動的追加削除、プロダクションチェックポイントについても、これまでと同様のメソッドでプログラマチックに利用可能です。

WMIが元となっているPowerShellも同様にこれまでのコマンドが利用可能です。チェックポイントの項目については、設定項目が増えた関係でパラメーターが増えています。

メモリの変更:

Set-VMMemory -VMName "VMName" -DynamicMemoryEnabled $false -StartupBytes 4GB

ネットワークアダプタの追加・削除:

Add-VMNetworkAdapter -VMName "VMName" -Name "NICName"
Remove-VMNetworkAdapter -VMName "VMName" -Name "NICName"

チェックポイントの取得・適用:

Checkpoint-VM -Name "VMName" -SnapshotName "CHKName"
Restore-VMSnapshot -VMName "VMName" -Name "CHKName"

チェックポイントの種類の設定:

プロダクションチェックポイント + スタンダードチェックポイント
Set-VM -Name " VMName " -CheckpointType Production
プロダクションチェックポイントのみ
Set-VM -Name " VMName " -CheckpointType ProductionOnly
スタンダードチェックポイント
Set-VM -Name " VMName " -CheckpointType Standard
チェックポイントの取得を無効
Set-VM -Name " VMName " -CheckpointType Disabled

さらに、WIN2012ではHyper-V関連のPowerShellは178個ありましたが、vNextでは204個に増えています。コマンド一覧は以下で確認できます。


Get-Command -Module Hyper-V

コマンド数は

Get-Command -Module Hyper-V | Measure-Object

追加されたコマンド

Update-VMVersion 仮想マシンを6.2にバージョンアップ
Get-VMAssignableDevice 利用用途不明
Add-VMAssignableDevice 利用用途不明
Remove-VMAssignableDevice 利用用途不明
Mount-VMHostAssignableDevice 利用用途不明
Dismount-VMHostAssignableDevice 利用用途不明
Get-VMVideo Hyper-Vマネージャーから仮想マシン接続した場合の画面の大きさ情報の取得(拡張セッションモード未使用時)
Set-VMVideo  Hyper-Vマネージャーから仮想マシン接続した場合の画面の大きさの設定(拡張セッションモード未使用時)

Add-VMGroupMember
Add-VMSwitchTeamMember
Add-VMTPM
Disable-VMConsoleSupport
Enable-VMConsoleSupport
Get-VHDSet
Get-VHDSnapshot
Get-VMGroup
Get-VMHostCluster
Get-VMSwitchTeam
Get-VMTPM
Get-VMVideo
New-VMGroup
Optimize-VHDSet
Remove-VHDSnapshot
Remove-VMGroup
Remove-VMGroupMember
Remove-VMSwitchTeamMember
Rename-VMGroup
Set-VMHostCluster
Set-VMSwitchTeam
Set-VMTPM
Set-VMVideo
Start-VMTrace
Stop-VMTraceM
Update-VMVersion
Hyper-Vクラスターのローリングアップグレード

WIN2012R2でHyper-Vフェールオーバークラスタを構成している場合に、仮想マシンを止めることなくvNextがクラスターの新しいノードとして参加することが可能です。また、仮想マシンを止めることなくWIN2012R2をvNextにアップグレードすることも可能です。WIN2012R2とvNextが混在しているクラスター環境では、新規で作成される仮想マシンのバージョンは5.0となり、vNextのもつHyper-Vの新機能は利用することができません。

クラスター環境で新機能を利用するためには、PowerShellのコマンドUpdate-VmConfigurationVersionでクラスター自体のアップグレードが必要となります。ただし、一度アップグレードしたクラスターにWIN2012R2は追加することができなくなります。

おわりに

サービス開発者の立場でvNextのHyper-Vの注目すべき機能、互換性をご紹介いたしました。今回ご紹介できなかった新機能など一部ありますが、次期Windows Server のHyper-Vの魅力は十分お伝えできたはずです。



今までよりもさらに進化し、そして十分な互換性を保持した仮想化プラットフォームHyper-V、待ち遠しい限りです。





*本文中に記載されている会社名および商品名・サービス名は、各社の商標 または登録商標です。

樋口 勝一

GMOインターネット株式会社

1999年6月GMOインターネットに入社。Windowsを用いたホスティング事業の立ち上げの際、サービス開発からその後の保守・運用まで1人で担当。2010年には「お名前.comWindowsデスクトップ」をリリースし、マイクロソフト社と強い信頼関係を構築。2007年から連続で「マイクロソフトMVPアワード」を受賞し、Windowsのスペシャリストとして活躍。

執筆者一覧