新しい「Hyper-V」への移行に備える――仮想化基盤も次世代にvNextに備えよ! 次期Windows Serverのココに注目(4)

今や多くの企業がHyper-VやVMware、Xen、KVMといった仮想化基盤を導入してサーバーを仮想化したり、VDIを利用したりしていると思います。次期Windows Serverには、Hyper-Vの最新版が搭載されます。今回は最新のHyper-V環境への移行に注目します。

» 2015年01月21日 17時00分 公開
[山市良テクニカルライター]
「vNextに備えよ! 次期Windows Serverのココに注目」のインデックス

連載目次

Technical Previewに実装されたHyper-Vの新機能

 Windows Server Technical Previewには、次期Windows Serverの新機能や強化点が全て実装されているわけではありません。しかし、サーバー仮想化テクノロジである「Hyper-V」ハイパーバイザーに関しては、すでに数多くの新機能や強化点が実装されており、実機で評価することができます。

 Windows Server Technical PreviewのHyper-Vに実装されている新機能および強化点については、以下のサイトで確認できます。ここに示された新機能および強化点の全ては、Microsoft Hyper-V Server Technical Previewにも適用されます。また、一部の機能を除いて、64ビット版Windows 10 Technical Previewに搭載される「クライアントHyper-V」にも適用されます。

管理プロトコルの変更とダウンレベル管理への対応

 Hyper-Vの管理インターフェースは「Windows Management Instrumentation」(WMI)であり、Windows Server 2012 R2までの「Hyper-Vマネージャー」は、リモートのHyper-Vを管理するために「Distributed Component Object Model」(DCOM)を使用してリモートコンピューターのWMIに接続します。

 Windows Server Technical PreviewのHyper-Vでは、リモート管理に「Windows Remote Management」(WinRM)サービスの「WS-Management」プロトコルを使用するように変更されます。WinRMに対応したことで、別資格情報を使用した接続がサポートされる他、非ホストクラスターにおけるCredSSP(Credential Security Support Provider)認証を使用したリモートからの「ライブマイグレーション」の開始がサポートされます。

 これまでは「Hyper-Vマネージャー」を実行するWindowsにサインインしたユーザーの資格情報がそのままリモート接続にも使用され、別の資格情報を指定する方法はありませんでした。また、非ホストクラスターでリモートからのライブマイグレーションの開始を可能にするには、Kerberos認証をセットアップする必要がありました。

 このリモート管理プロトコルの変更は、新しいバージョンのHyper-Vに対する接続に適用されます。旧バージョンのHyper-Vに対するリモート接続には、引き続きDCOMが使用されます。

 Windows Server Technical Previewの「Hyper-Vマネージャー」は、Windows Server 2012 R2 Hyper-V、Windows Server 2012 Hyper-V、Microsoft Hyper-V Server 2012 R2、Microsoft Hyper-V Server 2012、Windows 8.1 クライアントHyper-V、およびWindows 8 クライアントHyper-Vのリモート管理を正式にサポートしており、新旧バージョンのHyper-Vを一つの「Hyper-Vマネージャー」で管理することができます。

 なお、Windows Server 2008 R2 Service Pack(SP)1以前のHyper-Vは、WMIの名前空間が異なるため、Windows Server Technical Previewの「Hyper-Vマネージャー」からリモート管理することはできません。

 以前のWMI名前空間は「root\virtualization」でしたが、Windows Server 2012 Hyper-Vで「root\virtualization\v2」に変更されました。そのため、サポートの有無とは関係なく、Windows Server 2012およびWindows 8以降の「Hyper-Vマネージャー」は、Windows Server 2008 R2 SP1以前のHyper-Vに接続することができません。

 逆に、Windows Server 2008 R2 SP1およびWindows 7 SP1以前の「Hyper-Vマネージャー」は、Windows Server 2012 R2以降のHyper-Vに接続することができません。Windows Server 2012 Hyper-Vは両方のWMI名前空間に対応しており、正しく管理できるかどうかは別として、旧バージョンの「Hyper-Vマネージャー」からも接続できました。

ライブマイグレーションで最新環境に移行できる

 リモートサーバーがWindows Server 2012 R2 Hyper-Vの場合は、Windows Server Technical Previewの「Hyper-Vマネージャー」を使用することで、Windows Server 2012 R2 Hyper-VからWindows Server Technical PreviewのHyper-Vに仮想マシンを移動することができます(画面1)。プロセッサーの互換性に問題がなければ、稼働中の仮想マシンを停止することなく、ホスト間を移動するライブマイグレーションが可能です(画面2)。

画面1 画面1 Windows Server Technical Previewの「Hyper-V Manager」(Hyper-Vマネージャー)をWindows Server 2012 R2 Hyper-Vにリモート接続し、旧Hyper-Vで稼働中の仮想マシンを新Hyper-Vにライブマイグレーションで移動
画面2 画面2 仮想マシンを停止することなく、最新のHyper-V環境に移行できた。仮想マシンのバージョンが「5.0」のまま変わっていないことに注目(画面の赤枠部分)。新Hyper-Vの仮想マシンのバージョンは「6.0」

 実は、一つ前のバージョンのHyper-Vから、新しいバージョンのHyper-Vに仮想マシンを移動またはライブマイグレーションする機能は、Windows Server 2012 Hyper-VとWindows Server 2012 R2 Hyper-Vの間でも可能でした。次期バージョンとの違いは、以前は一方向の移動のみが可能であったのに対して、新バージョンでは移動した仮想マシンを旧バージョンのHyper-Vに戻すことも可能になる点です。

バージョン5.0の仮想マシンは双方向で移動可能

 Windows Server Technical Preview Hyper-Vの仮想マシンの構成は、新しいバージョン「6.0」になり、構成ファイルの形式もこれまでのXML形式(.xml)からバイナリ形式(.vmcxおよび.vmrs)になります。Windows Server Technical Preview Hyper-Vの新機能は、新しいバージョン6.0の仮想マシンでサポートされます。

 Windows Server 2012 R2 Hyper-VからWindows Server Technical Preview Hyper-Vに仮想マシンを移動またはライブマイグレーションした場合、仮想マシンの形式はWindows Server 2012 R2 Hyper-Vのバージョン「5.0」のまま維持されます。

 Windows Server Technical Preview Hyper-Vは、バージョン5.0と6.0の両方の仮想マシンを実行できます。バージョン5.0の仮想マシンに関しては、Windows Server 2012 R2 Hyper-Vに移動またはライブマイグレーションすることが可能です。

 Windows Server 2012 R2 Hyper-Vでは、Windows Server 2012 Hyper-Vから仮想マシンを移動またはライブマイグレーションする際に、仮想マシンの構成をWindows Server 2012 R2 Hyper-V対応に自動変換します。そのため、移動した仮想マシンを元の旧バージョンのHyper-V環境に戻すことはできませんでした。

 Windows Server Technical Preview Hyper-Vでは、Windows Server 2012 R2 Hyper-Vから移動またはライブマイグレーションした仮想マシンは、手動でバージョン6.0にアップグレードしない限り、バージョン5.0のままです。仮想マシンのバージョンおよびファイル形式は、仮想マシンを停止した状態で以下のWindows PowerShellコマンドレットを実行することで、簡単かつ短時間にアップグレードすることが可能です(画面3)。

Update-VMConfigurationVersion "仮想マシン名"


画面3 画面3 仮想マシンのバージョンをアップグレードするには、Windows PowerShellの「Update-VMConfigurationVersion」コマンドレットを実行する

 なお、仮想マシンのバージョンを6.0にアップグレードした後は、旧バージョンにダウングレードすることはできません。また、バージョン6.0の仮想マシンはWindows Server 2012 R2 Hyper-Vに移動またはライブマイグレーションすることもできません。Windows Server Technical Preview Hyper-Vで作成できるのは、バージョン6.0の仮想マシンだけになることにも注意してください。

ホストクラスターには新旧バージョンが混在可能

 複数のHyper-Vホストでフェールオーバークラスターを構成したHyper-Vホストクラスターでは、Windows Server 2012 R2とWindows Server Technical Previewの混在が可能です。

 Windows Server 2012 R2ベースのHyper-Vホストクラスターには、Windows Server Technical Previewを新しいノードとして追加することができます。また、Windows Server 2012 R2のHyper-Vホストをクラスターのメンバーのままで、Windows Server Technical Previewにアップグレードすることも可能です。

 前述のように、Windows Server 2012 R2 Hyper-VとWindows Server Technical Preview Hyper-Vの間では、バージョン5.0の仮想マシンを双方向で移動またはライブマイグレーションできるので、Hyper-Vホストクラスター上で稼働中の仮想マシンを停止することなく、クラスターのノードを1台ずつWindows Server Technical Previewに入れ替える、またはアップグレードして、Hyper-Vホストクラスターを最新バージョンに移行することができます(画面4)。

画面4 画面4 Windows Server 2012 R2ベースのHyper-VホストクラスターにはWindows Server Technical Previewのノードが混在できるので、ライブマイグレーションで仮想マシンを退避しながら、仮想化基盤を最新バージョンにアップグレードできる

 なお、Hyper-Vホストクラスターにおけるバージョンの混在は、「Update-ClusterFunctionalLevel」コマンドレットを実行して、クラスターの機能レベルをアップグレードするまで可能です。また、「Update-ClusterFunctionalLevel」コマンドレットでクラスターの機能レベルをアップグレードするまでは、「Update-VMConfigurationVersion」コマンドレットによる仮想マシンの構成のアップグレードはブロックされます。

 このように、現在、Windows Server 2012 R2 Hyper-Vベースの仮想化基盤を運用中の場合は、その仮想化基盤上で稼働中の仮想マシンを停止することなく、次期バージョンのHyper-Vにスムーズに移行できる手段が提供されます。しかし、Hyper-Vのアップグレードに関して重要なポイントがあります。それは、Hyper-Vのシステム要件が変更になるかもしれないことです。

SLAT対応がHyper-Vの必須のシステム要件に

 Windows Server 2012 R2 Hyper-Vまでは、以下のプロセッサー要件を満たしていれば、「Hyper-Vの役割」をインストールすることでHyper-Vハイパーバイザーを有効化できました。Microsoft Hyper-V Server 2012 R2も同様です。

(1)ハードウェア仮想化支援機能を搭載したx64互換プロセッサー:IntelプロセッサーのIntel VT、AMDプロセッサーのAMD-Vのこと。

(2)ハードウェア強制データ実行防止(Hardware-enforced Data Execution Protection:ハードウェア強制DEP):IntelプロセッサーのXDビット(eXecute Disable bit)、AMDプロセッサーのNXビット(No eXecute bit)のこと。


 Windows Server Technical Preview Hyper-VおよびMicrosoft Hyper-V Server Technical Previewでは上記の二つの要件に加えて、以下の三つ目の要件を満たす必要があります。

(3)第2レベルアドレス変換(Second Level Address Translation:SLAT):メモリ管理に関する仮想化支援機能。IntelプロセッサーのEPT(Extended Page Tables)、AMDプロセッサーのRVI(Rapid Virtualization Indexing)のこと。AMD RVIは、NPT(Nested Page Tables)やNPと呼ばれることもあります。


 SLATはWindows 8およびWindows 8.1のクライアントHyper-Vでは必須要件でしたが、Windows ServerのHyper-VやMicrosoft Hyper-V Serverでは必須要件ではありませんでした。

 次期バージョンのHyper-VでSLATが必須になるかどうかはまだ確定したわけではないと思いますが、必須になるものと想定して備えておくべきでしょう。少なくとも、Windows Server Technical PreviewやMicrosoft Hyper-V Server Technical PreviewでHyper-Vを評価する場合は、SLAT対応のハードウェアが必須です。

 従来からSLATが必須であったクライアントHyper-Vは、SLATに非対応の場合、Hyper-Vの機能の有効化はブロックされます。しかし、Windows Server Technical Previewの「役割と機能の追加ウィザード」は、SLATの対応状況をチェックしないため、SLAT非対応の場合でもHyper-Vの役割を有効化できてしまいます。

 ただし、Hyper-Vの役割を有効化できて仮想マシンを作成したとしても、ハイパーバイザーの起動には失敗するため、作成した仮想マシンを開始することはできません。Microsoft Hyper-V Server Technical Previewの場合も、SLAT非対応の場合、仮想マシンの開始に失敗します(画面5)。

画面5 画面5 SLATに対応していない場合、ハイパーバイザーはエラーで起動しない。仮想マシンは作成できても、開始することができない

 Windows Server 2012以降またはWindows 8以降を実行している場合は、「システム情報」(Msinfo32.exe)や「Systeminfo.exe」コマンドで、SLAT対応を含むHyper-V要件を確認することができます。Windows Server 2008 R2やWindows 7以前を実行している場合は、Windows Sysinternalsの「Coreinfo.exe」を「-v」オプション付きで実行(Intelプロセッサーの場合は管理者権限が必要)することで確認できます(画面6)。

画面6 画面6 Hyper-Vのプロセッサー要件を満たしているかどうかは「Msinfo32.exe」や「Coreinfo.exe」で確認できるが、Windows Server Technical PreviewはSLATに対応していなくてもHyper-Vの役割をインストールできてしまう

 「Coreinfo -v」の出力結果に「EPT *」または「NP *」と表示されていれば、SLATに対応しています。これらの方法で事前に確認しておくとよいでしょう。

運用中のHyper-VホストのSLAT対応状況を調べるには

 残念ながら「システム情報」(Msinfo32.exe)や「Systeminfo.exe」コマンド、「Coreinfo.exe」ツールは、すでにハイパーバイザーが動作している環境ではプロセッサーのHyper-V要件をチェックしてくれません(画面7)。そのため、稼働中のWindows ServerのHyper-VやMicrosoft Hyper-V ServerでSLAT対応状況をこれらのツールで確認することはできません。

画面7 画面7 Windows Server 2012 R2 Hyper-VやMicrosoft Hyper-V Server 2012 R2以前が動作している場合、「Msinfo32.exe」や「Coreinfo.exe」はHyper-V要件をチェックできない

 プロセッサーモデルの情報とインテルやAMDの公開情報(以下の参考情報)を突き合せて、SLAT(EPT、RVI)に対応しているかどうかを確認する必要があります。なお、Windows 8やWindows 8.1のクライアントHyper-Vをすでに利用できているのであれば、そのPCはSLAT対応です。

 Hyper-Vホストの一時的に停止できる場合は、コマンドプロンプトで以下のコマンドラインを実行して再起動することで、ハイパーバイザーの読み込みをオフにできるので、その間にSLAT対応状況をチェックすることができます(画面8)。

bcdedit /set {current} hypervisorlaunchtype Off


画面8 画面8 Hyper-Vハイパーバイザーのロードを一時的に無効にして、SLAT対応状況をチェックする。Hyper-Vハイパーバイザーの一時的な無効化、および再有効化には再起動が必要。この画面のHyper-VホストはSLATに対応していないため、Technical PreviewのHyper-Vは動かない

 チェックが終わったら、以下のコマンドラインを実行して再起動し、ハイパーバイザーの設定を元に戻しておきましょう。

bcdedit /set {current} hypervisorlaunchtype Auto


 できれば、「bcdedit」コマンドによるシステム変更を避けたいなら、サーバーを再起動して[F8]キーを押して「システム修復環境」に入り、コマンドプロンプトを開きます。ローカルにインストールされている「Msinfo32.exe」や「Systeminfo.exe」の場所が分かれば、それを実行することで、SLAT対応状況をチェックできます。「Msinfo32.exe」や「Systeminfo.exe」の場所が分からなければ、以下のコマンドラインを実行してみてください(画面9)。結果が「TRUE」ならSLAT対応、「FALSE」ならSLAT非対応です。

WMIC CPU Get SecondLevelAddressTranslationExtensions


画面9 画面9 システム修復環境のコマンドプロンプトで、SLAT対応状況をチェックする

 繰り返しますが、SLATは次期バージョンのHyper-Vの必須要件であると決まったわけではありません。ユーザーからのフィードバックによっては、必須要件から外れることもあるかもしれません。ただし、SLATはパフォーマンス向上に寄与するので、必須になるならないに関係なく、対応しているに越したことはありません。ちなみに、Hyper-VのSLAT対応は、Windows Server 2008 R2 Hyper-Vからの機能です。

「vNextに備えよ! 次期Windows Serverのココに注目」バックナンバー

筆者紹介

山市 良(やまいち りょう)

岩手県花巻市在住。Microsoft MVP:Hyper-V(Oct 2008 - Sep 2015)。SIer、IT出版社、中堅企業のシステム管理者を経て、フリーのテクニカルライターに。マイクロソフト製品、テクノロジを中心に、IT雑誌、Webサイトへの記事の寄稿、ドキュメント作成、事例取材などを手がける。個人ブログは『山市良のえぬなんとかわーるど』。


Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。