Windows Server 2012 R2のHyper-Vでは新しく「拡張セッションモード」もサポートされている。これは、Hyper-Vを実行しているホストシステムに接続されているデバイスをゲストの仮想マシンへマウントしたり、クリックボードなどをサポートする機能である。Hyper-V以外の仮想システムや、リモートデスクトップなどでは昔からサポートされていた機能だが、Hyper-Vでもようやく使えるようになった。この機能は例えば(セキュリティなどのために)ネットワーク接続を無効にしている仮想マシンとホストの間でデータをやり取りするといったケースで役に立つだろう。拡張セッションモードでは以下の機能が有効になる。
拡張セッションモードは、内部的にはリモートデスクトップ接続と同じような仕組みで実現されている(ネットワーク接続は使っていないので、ネットワークインターフェイスを設定していなくてもよい)。Hyper-Vマネージャーで仮想マシンを選択して[接続]メニューを実行すると「仮想マシン接続(vmconnect.exe)」という接続用ツールが起動するのは従来と同じだが、ユーザー認証を経て仮想マシン上のWindows OSへログオン(サインイン)すると、以後はリモートデスクトップサービスでの接続に切り替わる。
拡張セッションモードは現在のところ、以下のWindows OSでのみ利用可能となっている。
仮想マシンのゲストOSがこれら以外のOSの場合や、拡張セッションモードやリモートデスクトップ接続サービスが無効になっている場合は、従来の方式(「基本モード」という)で接続される(仮想マシンの世代は、第1世代と第2世代のどちらでもよい)。
拡張セッションモードを利用するかどうかはグループポリシーで設定する他、Hyper-Vの設定画面でも有効にするかどうかを設定できる。
拡張セッションモードが有効な場合は、仮想マシンへ接続しようとすると次のように表示される。
Hyper-Vの「統合サービス」とは、仮想マシン上に組み込まれ、ホスト側のHyper-Vサービスなどと連携して動作する一連のサービスのことを指すが、Windows Server 2012 R2のHyper-Vではこの中に新しく「ゲスト サービス」という機能が追加された。これを使うと、Hyper-Vのホストから実行中の仮想マシンに対してファイルをコピーできる。従来でもホストと仮想マシン間でネットワークファイル共有を使えばコピーできたし、停止中の仮想マシンなら、そのVHDファイルをホストに直接マウントして書き込むといった操作も可能だったが、ゲストサービスによるコピーは、ハイパーバイザとゲストサービス間のVMBusを使って直接コピーされるという点が異なる。またPowerShellから利用できるので、ネットワーク接続は不要だし、仮想マシンを停止する必要もない。ネットワーク設定などがまだ完了していない初期セットアップ時に、設定用ファイルやデータファイルなどを受け渡すのに便利だろう。
ゲストサービスはデフォルトではオフになっているので、これを利用するには以下の設定を変更する。
上の設定を変更すると、仮想マシンが実行中なら、すぐに仮想マシン上で「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を展開するような場合に自動的にアクティベーション作業を行えるようになっている。
自動アクティベーションをするためには以下の条件を満たす必要がある。
自動アクティベーションが利用可能なゲスト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 OSのキーを変更するには、コマンドプロンプトで「slmgr /ipk <キー>」としてキーを上書きするか、システムのプロパティ画面でライセンス認証画面を表示させたり、「slui 3」コマンドを実行してキー入力画面を表示させるとよい。
仮想マシンで自動アクティベーションが有効になっていると次のように表示される。
仮想マシンの自動アクティベーションが成功すると、ホスト側のイベントビューアーにその結果が記録される。
Hyper-VのSLA(Service Level Agreement)向上のために、Windows Server 2012 R2では次のような機能もサポートされている。
Windows Server 2012では仮想ネットワークインターフェイスにおけるQoSサポートとして、使用するネットワーク帯域の幅を制限する機能(上限と下限を設定可能)が導入されていたが、Windows Server 2012 R2ではこれに加えて、仮想ディスクのQoS対策として、「IOPS(Input/Output per second)」を設定できるようになっている。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では、仮想マシンの実行中にエクスポート操作が行えるようになっている。以前のHyper-Vでは、仮想マシンの停止中か、作成済みのスナップショットのみがエクスポート可能であった。
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.