第3回 Hyper-Vの主要な改善点:Windows Server 2012 R2パワー(2/2 ページ)
Windows Server 2012 R2のHyper-Vでは仮想マシンのアーキテクチャが更新されたり、仮想ディスクの帯域管理や動的リサイズなどのSLA向上、拡張セッションモードによる使い勝手の向上、自動アクティベーションなど、多くの機能強化が行われている。
「拡張セッションモード」によるリモート接続
Windows Server 2012 R2のHyper-Vでは新しく「拡張セッションモード」もサポートされている。これは、Hyper-Vを実行しているホストシステムに接続されているデバイスをゲストの仮想マシンへマウントしたり、クリックボードなどをサポートする機能である。Hyper-V以外の仮想システムや、リモートデスクトップなどでは昔からサポートされていた機能だが、Hyper-Vでもようやく使えるようになった。この機能は例えば(セキュリティなどのために)ネットワーク接続を無効にしている仮想マシンとホストの間でデータをやり取りするといったケースで役に立つだろう。拡張セッションモードでは以下の機能が有効になる。
- 接続時の画面解像度選択
- 音声
- プリンター
- クリップボード
- スマートカード
- USBデバイス
- ドライブ
- プラグ&プレイデバイス
拡張セッションモードは、内部的にはリモートデスクトップ接続と同じような仕組みで実現されている(ネットワーク接続は使っていないので、ネットワークインターフェイスを設定していなくてもよい)。Hyper-Vマネージャーで仮想マシンを選択して[接続]メニューを実行すると「仮想マシン接続(vmconnect.exe)」という接続用ツールが起動するのは従来と同じだが、ユーザー認証を経て仮想マシン上のWindows OSへログオン(サインイン)すると、以後はリモートデスクトップサービスでの接続に切り替わる。
拡張セッションモードの内部アーキテクチャ
仮想マシン接続ツールは、最初は基本モードで接続するが、拡張セッションモードが有効な仮想マシンへのサインインが完了すると、VMBus経由でのリモートデスクトップ接続に切り替わる。
拡張セッションモードは現在のところ、以下のWindows OSでのみ利用可能となっている。
- Windows Server 2012 R2
- Windows 8.1(ProもしくはEnterpriseエディション)
仮想マシンのゲストOSがこれら以外のOSの場合や、拡張セッションモードやリモートデスクトップ接続サービスが無効になっている場合は、従来の方式(「基本モード」という)で接続される(仮想マシンの世代は、第1世代と第2世代のどちらでもよい)。
拡張セッションモードを利用するかどうかはグループポリシーで設定する他、Hyper-Vの設定画面でも有効にするかどうかを設定できる。
拡張セッションモードを有効にする
拡張セッションモードが有効になっていると(デフォルトではオン)、リモートデスクトップサービス経由で仮想マシンに接続し、さまざま拡張機能が利用できるようになる。
(1)これを選択する。
(2)これがオンだと、全ての仮想マシンで(可能なら)拡張セッションモードが有効になる。
(3)仮想マシンで拡張セッションモードが有効になっていても、こちらの設定をオフにすると、基本モードで接続する。
拡張セッションモードが有効な場合は、仮想マシンへ接続しようとすると次のように表示される。
仮想マシンへ接続するデバイスの指定
Hyper-Vで仮想マシンを選択して[接続]を実行すると、このような仮想マシン接続ツール(vmconnect.exe)の画面が表示される。Windows Server 2012 R2の拡張セッションモードではこのように、利用するリソースを選択できる。このあたりの使い勝手はリモートデスクトップ接続の場合と同じだ。
(1)接続時に画面サイズを変更できる。従来の基本モードでは、画面サイズは接続後にしか変更できない。
(2)接続するリソースを選択する。
(3)オーディオデータを再生するかどうかの設定。
(4)ローカルのデバイスやリソースの選択。
(5)接続するデバイスを選択する。
(6)接続後にこれをクリックすると(もしくは仮想マシン上の「Remote Desktop Service」を停止すると)、拡張セッションモードから基本モードへ切り替えられる。
新しい統合サービス機能「ゲストサービス」
Hyper-Vの「統合サービス」とは、仮想マシン上に組み込まれ、ホスト側のHyper-Vサービスなどと連携して動作する一連のサービスのことを指すが、Windows Server 2012 R2のHyper-Vではこの中に新しく「ゲスト サービス」という機能が追加された。これを使うと、Hyper-Vのホストから実行中の仮想マシンに対してファイルをコピーできる。従来でもホストと仮想マシン間でネットワークファイル共有を使えばコピーできたし、停止中の仮想マシンなら、そのVHDファイルをホストに直接マウントして書き込むといった操作も可能だったが、ゲストサービスによるコピーは、ハイパーバイザとゲストサービス間のVMBusを使って直接コピーされるという点が異なる。またPowerShellから利用できるので、ネットワーク接続は不要だし、仮想マシンを停止する必要もない。ネットワーク設定などがまだ完了していない初期セットアップ時に、設定用ファイルやデータファイルなどを受け渡すのに便利だろう。
ゲストサービスはデフォルトではオフになっているので、これを利用するには以下の設定を変更する。
「ゲスト サービス」の有効化
ゲストサービスを使うと、ネットワーク接続なしでもホスト側から仮想マシンへ直接ファイルを送信できる。このサービスを利用するには、仮想マシンの「設定」ダイアログで[管理]グループの下にある[統合サービス]を開き、設定を変更する。
(1)Windows Server 2012 R2のHyper-Vで新しく追加されたゲストサービス。デフォルトではオフになっているはずなので、これをオンにする(仮想マシンが実行中なら、すぐに仮想マシン上で機能が有効になる)。
上の設定を変更すると、仮想マシンが実行中なら、すぐに仮想マシン上で「vmicguestinterface」というサービスが起動し、コピー機能が有効になる。
ホスト側から仮想マシンに対するファイルコピーはPowerShellのCopy-VMFileコマンドレットで行う。PowerShellのウィンドウを開き、次のようなコマンドを実行する。
PS C:\>Copy-VMFile "my vm1" c:\config1.txt c:\work -FileSource Host
これは、ホスト側の「c:\config1.txt」というファイルを、「my vm1」という仮想マシンの「c:\work」フォルダーにコピーするためのコマンドの例である。コピー先にはAdministratorsグループに対するフルアクセス許可が必要、コピーはHyper-Vのホストからゲスト側への片方向のみ可で、(現在のところ)逆方向は不可という制約があるが、プライベート仮想ネットワークのような、外部からは閉じたネットワークを組んでいるような場合には有用だろう。
仮想マシンの自動アクティベーション
「仮想マシンの自動アクティベーション(Automatic Virtual Machine Activation)」とは、仮想マシン上にインストールしたWindows OSのアクティベーションを自動的に行う機能のことである。多数の仮想マシンを展開する場合、いちいちキーを入力してアクティベーションを行うのは手間がかかるし、仮想マシンのネットワーク構成によってはインターネットに接続されておらず、アクティベーションできないことがある。
Windows Server 2012 R2では新しく自動アクティベーションの方法が取り入られ、これを使うと多数のサーバーOSを展開するような場合に自動的にアクティベーション作業を行えるようになっている。
自動アクティベーションをするためには以下の条件を満たす必要がある。
- Hyper-VのホストとなるWindows Server 2012 R2はDatacenterエディションであること
- このHyper-Vのホストではアクティベーションを済ませておくこと
- ゲストとなる仮想マシンでは、自動アクティベーション用のキーを使ってOSをインストールしておくこと
自動アクティベーションが利用可能なゲストOSとそのキーは以下の通りである(仮想マシンの世代は、第1世代と第2世代のどちらでもよい)。
OS名とエディション | 自動アクティベーションキー |
---|---|
Windows Server 2012 R2 Datacenter | Y4TGP-NPTV9-HTC2H-7MGQ3-DV4TW |
Windows Server 2012 R2 Standard | DBGBW-NPF86-BJVTX-K3WKJ-MTB6V |
Windows Server 2012 R2 Essentials | K2XGM-NMBT3-2R6Q8-WF2FK-P36R2 |
自動アクティベーションさせるには、これらのキーを使ってWindows Server 2012 R2をインストールする。
仮想マシンをインポートした場合など、すでにインストールされているWindows OSのキーを変更するには、コマンドプロンプトで「slmgr /ipk <キー>」としてキーを上書きするか、システムのプロパティ画面でライセンス認証画面を表示させたり、「slui 3」コマンドを実行してキー入力画面を表示させるとよい。
仮想マシンで自動アクティベーションが有効になっていると次のように表示される。
自動アクティベーションされた仮想マシンのゲストOSの例
Windows Server 2012 R2 Datacenterエディション上のHyper-Vにおいて、Windows Server 2012 R2 DatacenterのゲストOSをインストールした場合のライセンス認証結果の例。この仮想マシンでは「プライベート仮想ネットワーク」インターフェイスを使って外部と通信できないようになっているが、認証が完了している。この画面はコマンドプロンプト上で「slmgr -dli」コマンドを実行すると表示される。
(1)仮想マシン用の特別なキーでアクティベーションされていることが分かる。
(2)自動アクティベーション用キーの末尾の番号。
(3)仮想マシン上のライセンスの有効期限は7日。7日ごとに自動アクティベーションされる。
(4)Hyper-Vのホストコンピュータ名。
仮想マシンの自動アクティベーションが成功すると、ホスト側のイベントビューアーにその結果が記録される。
SLA向上のための機能強化点
Hyper-VのSLA(Service Level Agreement)向上のために、Windows Server 2012 R2では次のような機能もサポートされている。
仮想ディスクのQoSサポート
Windows Server 2012では仮想ネットワークインターフェイスにおけるQoSサポートとして、使用するネットワーク帯域の幅を制限する機能(上限と下限を設定可能)が導入されていたが、Windows Server 2012 R2ではこれに加えて、仮想ディスクのQoS対策として、「IOPS(Input/Output per second)」を設定できるようになっている。IOPSを設定することにより、ディスク入出力が多い仮想マシンが他の仮想マシンに影響を与えないようにしたり、逆に、他の仮想マシンの影響を受けてサービスが止まったりしないようにできる。
仮想ディスクのQoSの設定
仮想ディスクごとにQoS(サービス品質)を設定して特定の仮想マシンに処理が偏らないようにできる。
(1)仮想ディスクのQoSを有効にするにはこれをオンにする。
(2)ディスクのIOPSの下限を設定する。
(3)ディスクのIOPSの上限を設定する。ただし他の仮想ディスクの入出力が多くなって、システムの物理的な性能の上限に達すると、この設定値よりも少ないIOPSしか使用できないこともある。
このQoS設定では、仮想ディスクに対して論理的にデータを8Kbytes分読み出すか書き込むことを「1 IOPS」としている(8Kbytes未満の場合は1回の読み書きでも1 IOPSとみなし、過去何秒間かの値を平均して算出する)。画面のように上限を「2000」とすると、最大でも「8Kbytes×2000 IOPS=16Mbytes/sec」までしか使用しないように制限できる(実際のIOPS値はPowerShellのMeasure-VMコマンドレットなどで測定できる)。
仮想ディスクの動的なリサイズ
システムの停止に伴うサービスダウンを避けるため、Windows Server 2012 R2のHyper-Vでは仮想マシンを実行させたまま、動的にボリュームサイズを変更できるようになっている(以前のHyper-Vではいったん仮想マシンを止める必要があった)。仮想マシンの設定画面を開き、仮想ディスクの[編集]ボタンをクリックすると、仮想マシンが実行中であっても拡大や縮小が可能である。
仮想ディスクの動的なリサイズ
Windows Server 2012 R2のHyper-Vでは、仮想マシンを止めることなく、実行中のままでも仮想ディスクの拡大/縮小が可能である。
(1)動的なリサイズが可能な場合は、この[編集]ボタンが有効になる。これは第2世代の仮想マシンの実行中の画面。
(2)OSのブートディスク(システムがインストールされてるディスク)の場合は、拡大のみが可能。
ただし動的なディスクのリサイズはいつでも行えるわけではなく、次のような制約がある。
- チェックポイントを持つ仮想マシンの場合は動的リサイズはできない
- 第1世代の仮想マシンでは、SCSI接続のVHDXディスクでのみリサイズ可能
- 第2世代の仮想マシンでは、ブートドライブは拡大のみ可能、それ以外は拡大/縮小可能
- 縮小する場合は、パーティションの末尾が未割り当て領域になっていること(未割り当て領域の分しか縮小できない)
- 仮想ディスクを拡大/縮小しても、仮想ディスク上に割り当てられているボリュームサイズは変わらない。ボリュームサイズの拡大/縮小、新規割り当てなどはゲストOSのディスクの管理ツールで行うこと
実行中の仮想マシンのエクスポート
Windows Server 2012 R2のHyper-Vでは、仮想マシンの実行中にエクスポート操作が行えるようになっている。以前のHyper-Vでは、仮想マシンの停止中か、作成済みのスナップショットのみがエクスポート可能であった。
Linuxゲストのサポート強化
Hyper-V上でLinuxを実行するためには、Linux向けの統合サービスをLinuxに追加したり、すでにHyper-Vの統合サービスが組み込まれているLinuxのディストリビューションを利用したりする必要がある。Windows Server 2012 R2のHyper-VにおけるLinuxサポートではこの統合サービスの機能が強化され、Linux上でも動的メモリ(仮想マシン側のメモリの需要が少ない場合に、自動的にHyper-Vのホストへメモリを返却する機能)が利用できるようになった。
今回はWindows Server 2012 R2のHyper-Vの主要な機能について解説した。Hyper-Vのより実践的な使い方や活用方法については、今後別記事で取り上げる予定である。
Copyright© Digital Advantage Corp. All Rights Reserved.