連載
» 2012年02月09日 00時00分 公開

次世代 新Windows「Windows 8」プレビュー:第3回 クライアントHyper-V (2/2)

[打越浩幸,デジタルアドバンテージ]
前のページへ 1|2       

 以下、Windows Virtual PCと比較した場合のHyper-V 3.0の特徴的な機能についていくつか解説しておく。

新仮想ファイル形式VHDX

 従来のWindows OSおよび仮想環境では、.VHDという仮想ファイル形式をずっと利用していたが、Windows 8/Hyper-V 3.0では新しく.VHDXという仮想ファイル形式が導入されている(.VHDも引き続きサポートされる)。.VHDと比較すると、最大サイズの拡大や内部ブロック・サイズの拡大、データ構造の調整によるアクセス速度の向上、耐障害性の向上などの機能強化が図られている。

ディスク・タイプ .VHD .VHDX
仕様
仮想ディスクの種類 固定/動的/差分/パス・スルー 固定/動的/差分/パス・スルー
仮想ディスクのサイズ 3M〜2Tbytes 3M〜16Tbytes(※これは現在の仕様上の制限値。Windows 8のディスク管理ツールでは最大1016Tbytesまで作成できた)
内部ブロック・サイズ 2Mbytes 1M〜256Mbytes(デフォルトでは、動的ディスク=32Mbytes、差分ディスク=2Mbytes)
内部セクタ・サイズ 512bytes 512/4096bytes
パフォーマンス対策 特になし ・4Kbytesセクタ(AFT)のサポート
・内部データ構造を4Kbytes境界に配置することにより、AFT形式のディスクでのパフォーマンス低下を抑止
耐障害性 特になし メタデータのロギング
利用可能なOS/環境 Windows Virtual PC/Hyper-V Windows 8+Hyper-V 3.0以上が必要
ユーザー独自のメタデータの埋め込み ○(最大1024項目)
ストレージ・デバイスのTrim/Unmapコマンド・サポート ○(Windows 8がゲストOSの場合のみ利用される)
仮想ディスクの作成/変換 ディスクの管理ツール/diskpart/PowerShell
仮想ディスクのネイティブ・マウント/イジェクト ディスクの管理ツール/diskpart/PowerShell/エクスプローラ
ブート・サポート
Hyper-V上の仮想マシンにおけるブート .VHDでも.VHDXのいずれでもよいが、2Tbytes以下のMBR形式のディスクからのブートのみサポート
ネイティブVHD/VHDXブート(実PC上でのブート) .VHDでも.VHDXのいずれでもよいが、137Gbytes以下のMBR形式のディスクからのブートのみサポート
データ・ディスクとしての利用 2Tbytes以上の仮想ディスクではGPT形式でフォーマットしないと全領域へアクセスできない。
そのほか
相互運用 .VHDと.VHDXが混在した差分ディスクは不可(例:親が.VHDで子が.VHDXの差分ディスクは不可)。.VHDと.VHDXの相互変換は可能なので、最初にどちらかに変換してから差分ディスクを作成すること
仕様 オープン オープン(予定)
Windows 8における仮想ディスクの仕様比較

 仮想マシンを利用する場合、通常は2Tbytesものサイズの仮想ディスクは使うことは少ないだろうが、例えばテストのために巨大なボリュームを作成してアプリケーションが正しく動作するかどうかをチェックするという用途に利用できる。(現在の)仕様上では最大16Tbytesまでの仮想ディスクを作成できるので、より大きなディスク環境のエミュレーションなどが可能になる。

 また、仮想ディスクは仮想環境でのみ利用されるわけではなく、VHDブートやVHDマウント、Windowsバックアップといった機能でも利用されている。仮想ディスク関連の新機能としては次のようなものがある。

仮想ディスクや.ISOファイルのエクスプローラによる自動マウント/アンマウント
 Windows 7では、.VHDファイルをマウントするにはディスク管理ツールを使う必要があったが、Windows 8ではエクスプローラで.VHDや.VHDXファイルをダブルクリックするだけで自動マウントされるようになった。同様に、CD/DVDイメージである.ISOファイルもダブルクリックするだけで自動的にマウントされるので、便利である。アンマウントするには、マウントされたドライブ名を右クリックして、ポップアップ・メニューから[Eject]を選択すればよい。

.VHDXファイルのマウント
Windows 8では、.VHDや.VHDX、.ISOファイルをエクスプローラでダブルクリックするだけで、自動的にマウントされる。取り外すには、ドライブ名を右クリックして、[Eject]を選択すればよい。
  (1)ダブルクリックしてマウントしてもよいし、このポップアップ・メニューから[Mount]を選択してもよい。マウントした仮想ディスク中にボリュームが含まれていれば、自動的にドライブ文字が割り当てられ、すぐにアクセスできる。
  (2).VHDや.VHDXだけでなく、.ISOファイルの自動マウントも可能である。

.VHDX仮想ファイルからのWindows OSのブート
 Windows Vista/Windows Server 2008以降のOSでは、実際のハードディスクではなく、仮想ディスク・ファイル上にWindows OSをインストールしてブートする機能(ネイティブ・ブート機能)を持っているが、Windows 8では.VHDXファイルを使ったブートも可能である。もっとも、2Tbytesを超えるサイズのディスクからブートするには、システムがUEFIブートをサポートしている必要があるが(関連記事参照)、Windows OSのブート・ローダも、Hyper-Vの仮想マシン(のBIOS)も、UEFIブート機能をサポートしていないので、これはできない。さらに言えば、ネイティブVHD/VHDXブートするためには、仮想ディスクのサイズは128Gbytes以下でなければならない(これは仮想ディスク用のブート・コードがオーバー128Gbytesのディスクに対応していないからだと思われる)。これでは.VHDXのメリットがあまりないが、パフォーマンスと信頼性は.VHDより.VHDXの方が高いので、.VHDXを利用する価値はある。データ用ボリュームとして利用するなら、任意の種類/サイズの仮想ディスクが利用できる。2Tbytes以上の.VHDX仮想ディスクを使う場合は、MBR形式ではなくGPT形式にしてフォーマットしないと、2Tbytes以上の領域にアクセスできないので注意する。

バックアップにおけるVHDX形式サポート
 Windows 7では、システム全体をバックアップする場合、1つのボリュームを.VHDファイルに保存していた関係上、最大2Tbytesのボリュームまでしかバックアップできなかった。Windows 8 DPでは.VHDXファイルに保存するようになったため、より大きなボリュームのバックアップが可能となっている。

150以上のPowerShellコマンドレット

 Hyper-V 3.0ではPowerShellのサポートが強化され、Hyper-V用に150以上のコマンドレットが用意されている。Hyper-V管理ツールで可能な作業はほぼすべてPowerShellを使って自動化できる。

※Hyper-V関連のコマンドレットの表示
PS C:\> get-command -module hyper-v

CommandType  Name                           ModuleName
-----------  ----                           ----------
Cmdlet       Add-VMDvdDrive                 Hyper-V
Cmdlet       Add-VMFibreChannelHba          Hyper-V
Cmdlet       Add-VMHardDiskDrive            Hyper-V
Cmdlet       Add-VMMigrationNetwork         Hyper-V
Cmdlet       Add-VMNetworkAdapter           Hyper-V
Cmdlet       Add-VMNetworkAdapterAcl        Hyper-V
Cmdlet       Add-VMRemoteFx3dVideoAdapter   Hyper-V
Cmdlet       Add-VMScsiController           Hyper-V
Cmdlet       Add-VMStoragePath              Hyper-V
Cmdlet       Add-VMSwitch                   Hyper-V
Cmdlet       Add-VMSwitchExtensionFeature   Hyper-V
Cmdlet       Checkpoint-VM                  Hyper-V
Cmdlet       Compare-VM                     Hyper-V
Cmdlet       Complete-VMFailover            Hyper-V
Cmdlet       Connect-VMNetworkAdapter       Hyper-V
Cmdlet       Connect-VMSan                  Hyper-V
Cmdlet       Convert-VHD                    Hyper-V
…(以下省略)…

※「vm*」という名前を含む仮想マシンを起動する
PS C:\> get-vm …仮想マシン一覧の取得
Name           State   CPU(%) AssignedMemory(M) MemoryDemand(M)
----           -----   ------ ----------------- ---------------
vm1            Off     0                        0             
vm2            Off     0                        0             
Win 8 x64 DP 0 Running 0                        695835033     
Win 8 x86 PC1  Running 0                        559750840     
Win 8 x86 PC2  Running 0                        516759224     

PS C:\> get-vm vm* | start-vm  …仮想マシンを起動する
PS C:\>

リモート管理

 Windows Virtual PCと違い、Hyper-V 3.0は管理ツールやPowerShellなどを使って、リモートからも管理できる。また、ユーザーがログオフしても仮想マシンは実行が継続されるため、実験的な用途だけでなく、サーバ上のサービスのように、常にバックグラウンドで動作させるような用途でも活用できる。

Hyper-Vの管理ツール
これはHyper-Vの仮想マシンを管理するHyper-Vマネージャ。リモートのHyper-Vのサービスも管理できる。32bit版のWindows 8では、Hyper-Vのサービスは利用できないが、このツールを使ってリモートのHyper-Vを管理することは可能である。見た目は以前のHyper-V 2.0とあまり違いはないが、Hyper-V 3.0では仮想ディスクの更新の仕組みなどが改良されたため、例えばスナップショットの作成や削除といった操作は以前よりも素早くなっている(仮想マシンを停止しなくてもマージや削除が可能。連載「仮想PCで学ぶWindowsシステム管理」の第6回「Hyper-Vのスナップショット機能を使う」参照)。

仮想マシンのライブ・ストレージ・マイグレーション

 Hyper-V 3.0では仮想マシンの「ライブ・ストレージ・マイグレーション(仮想マシンを起動したままの移動)」機能がサポートされている。仮想マシンの設定ファイルやスナップショット、関連付けられている仮想ディスク・ファイルなどをまとめて別の場所へ移動させる機能である。Hyper-Vマネージャで仮想マシンを右クリックし、ポップアップ・メニューから[Move]を実行するだけで、停止中の仮想マシンだけでなく、たとえ実行中の仮想マシンであっても別の場所(フォルダ)へ移動できるようになっている。

 Windows Virtual PCでは仮想マシンを移動する手段は用意されておらず、手動でVHDファイルをコピー後、仮想マシンの設定も手動で移行するといった操作が必要であった(もちろん仮想マシンはあらかじめ停止させなければならなかった)。これに対してHyper-V 2.0では、いったんエクスポートしてからインポートすれば仮想ディスクだけでなく、仮想マシンの設定やスナップショットなども含めて移動できたが、この方法では実行中の仮想マシンは移動できない(クラスタを組んで利用する、マシン間でのライブ・マイグレーションについては次回解説。ライブ・ストレージ・マイグレーションは、あくまでも単一のマシン内での移動である)。

ライブ・ストレージ・モーションによる移動
Hyper-V 3.0では、簡単に仮想マシンの保存場所を移動できる、ライブ・ストレージ・モーションがサポートされる。ライブ・ストレージ・モーションとは、単一のHyper-Vのサーバ内で、仮想マシンに関するデータ(設定ファイルや仮想ディスクファイル、スナップショット、差分ファイルなど)を別のフォルダへ移動することだ。仮想マシンが実行中でも移動が可能である。Hyper-V 2.0やWindows Virtual PCでは特にサポートされていなかったため、いくらか面倒な操作をしなければならなかった。なお、異なるサーバ間で仮想マシンを移動させるライブ・モーションはサーバ版でのみサポートされる(詳細は次回解説予定)。
  (1)仮想マシンの移動ウィザード。
  (2)移動する項目の選択。

ダイナミック・メモリ

Windows Server Insider関連記事,Windows Server 2008 R2の真価「第11回 メモリ管理機能が強化されたHyper-VのDynamic Memory

 ダイナミック・メモリは、Hyper-V 2.0(厳密にはWindows Server 2008 R2 Service Pack 1)で導入されたメモリ管理に関する新機能である。最初から固定的に各仮想マシンにメモリを割り当てるのではなく、需要に応じて必要なメモリだけを仮想マシンに与えたり、不要になった領域があれば回収してほかの仮想マシンに割り当てるといったことができる。サーバに比べて搭載メモリ量が少なかったり、ほかのアプリケーションとの関係でメモリの需要が大きく変動するクライアントPCでは、この動的なメモリ割り当ては重宝するだろう。

ダイナミック・メモリの設定
Hyper-V 2.0では、仮想マシンに割り当てるメモリを実行時に動的に変更する、ダイナミック・メモリがサポートされている。この機能がないと、同時に実行する予定の仮想マシン数と物理的な空きメモリ容量に応じて、事前にメモリ割り当てを慎重に計画しなければならない。Hyper-V 2.0の場合と違って、Hyper-V 3.0のダイナミック・メモリでは、初期値とは別に上限と下限値を設定できるようになっている(2.0では初期値と下限値が同じ)。これにより、例えば最初に1Gbytes割り当てて仮想マシンを起動するが、メモリの需要が少なければ512Mbytesまで減少させるといった使い方ができる。起動時だけ多くのメモリを要求するような仮想マシンの実行に向いている。
  (1)起動時に割り当てるメモリ・サイズ。
  (2)最小メモリ・サイズ。初期値と同じか、それ以下に設定できる。
  (3)最大メモリ・サイズ。デフォルトでは2Tbytesになっているが、実際には物理空きメモリ・サイズによって制限される。
  (4)空きメモリ・サイズがここで指定した割合を下回ると、仮想マシンに対してメモリが追加で割り当てられ、上回ると不要な分が解放される。


 今回は、Windows 8で導入されるHyper-V 3.0の機能のうち、クライアント向けの主要な機能について主にWindows Virtual PCと比較して解説してきた。次回は、ライブ・マイグレーションやネットワーク、ストレージ、クラスタ機能など、サーバ向けのHyper-V 3.0の主要機能についてみていく。

#column_refs#

【コラム】新ファイル・システムReFS

 Windows 8 DP版にはまだ実装されていないが、Windows 8では新しく「ReFS(Resilient File System。復元性のあるファイル・システム)」というファイル・システムが導入されることが発表されている。

 ReFSは、信頼性と耐障害性に重点を置いて設計された新しいファイル・システムだ。NTFSとはAPIレベルで高い互換性を保ちながらも、特に信頼性とスケーラビリティを最大限重視して再設計されている。ファイル・システムが壊れてデータがアクセスできなくなるという事態を最も避けなければならないものと考え、ディスクの更新は効率よりも信頼性を重視する方法(コピー・オン・ライト方式)を採用している(NTFSのログ方式では電源断などの障害に弱いため利用しない)。たとえ障害が発生してもその影響を局所的な部分にとどめたり、可能な限り破損したデータを救出(サルベージ)したりできるようにし、修復中でもファイル・システム全体をオフラインにしない(NTFSにchkdskをかけると、ボリューム全体がアクセス禁止になるが、ディスクが巨大になればなるほど、これは問題となる)、ファイルのメタデータにはチェックサムを付け(ユーザー・データに付けることも可能)、常にファイル・システム・データの正当性をチェックする、構造をシンプルにする、などの特徴を持つ。

 ReFSは、最初にサーバ版のWindows 8で導入されるが、クライアント版では導入されないようである。十分に実績を積んでからクライアントOSへも導入され、NTFSに取って代わる予定となっている。

【※2012/03/07追記】ReFSファイル・システムは、2012年2月末に公開されたWindows Server "8" Beta版のDatacenter Editionで実装されています。連載第4回の記事も参照してください。



「[Windows 8プレビュー] Windows 8 Developer Preview ―― 再構築された次世代Windows ―― 」のインデックス

[Windows 8プレビュー] Windows 8 Developer Preview ―― 再構築された次世代Windows ―― 

前のページへ 1|2       

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

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

メールマガジン登録

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