[Tools & Services] | ||||||||||||||
容量固定タイプのVHDファイルを高速に作成する
|
||||||||||||||
|
解説 |
Windows 7のWindows Virtual PCやWindows Server 2008 R2のHyper-Vなどの仮想化ソフトウェアでは、仮想マシンで利用するための「仮想ハードディスク(VHDファイル)」と呼ばれるファイルを使用する。このファイルの中には、仮想マシンで利用するハードディスクのイメージが1つのファイルとして保存されており、1つのボリューム上に複数のOSがインストールできたり、VHDファイルをコピーすることでディスク・イメージのバックアップができたりするというメリットがある。
|
Windows 7/Windows Server 2008 R2では、VHDファイルの直接アクセスがサポートされており、VHDの作成や読み書きが可能なほか、EnterpriseとUltimateの2つのエディションではVHDファイルからブートできる機能がサポートされている(Windows Server 2008 R2はすべてのエディションでVHDファイルからのブートをサポートしている)。これにより、Windows 7 EnterpriseやUltimateのシステム・イメージが含まれたVHDファイルからの起動(VHDブート)が可能である。
このようにVHDの利便性は高まっており、仮想化ソフトウェアで利用するだけでなく、例えばWindows 8のDeveloper Preview版をテスト・マシンにインストールするといった用途でも便利に使える(関連記事参照)。
|
VHDファイルには、容量固定タイプ(最初からVHDファイルの大きさを物理ディスク上に確保する)と容量可変タイプ(実際に書き込んだ分だけ物理ディスク上のVHDファイルの容量を拡張していく)の2種類がある。容量可変タイプは、VHDファイルのサイズに関係なく、すばやく作成できるうえ、実際にデータが書き込まれるまで物理ディスクを消費しないため、テスト用の仮想マシンを作成する際などによく利用される。容量固定タイプは、事前に指定したサイズの巨大な単一のファイルを作成するため、容量が大きくなればなるほどVHDファイルの作成に時間がかかる。しかしディスクI/Oのパフォーマンスは、容量固定タイプの方が優れており、仮想マシンを実運用で利用するような場合は容量固定タイプの使用が推奨されている。
容量固定タイプVHDファイルの作成に時間がかかるのは、セキュリティ上の理由からデータブロックに「0(ゼロ)」を書き込むためだ。そのため、作成するVHDファイルのサイズが大きくなると作成に時間がかかることになる。「0」を書き込んでデータをクリアするのは、物理ディスク上でVHDファイルの領域となった部分に削除済みのデータがあると、それが復元可能な状態でVHDファイルに残ってしまう可能性があるからだ。例えば、VHDファイルを仮想マシンの設定とともに、別の人に渡すような場合、「0」クリアされていないと、そのVHDファイルから作成したPCで削除した顧客情報などのデータが復元され、漏えいする危険性があるわけだ。
逆に社内で利用するようなVHDファイルならば「0」クリアする必要はないので、素早く容量固定タイプVHDファイルを作成したいと思うのではないだろうか。実は、こうした要望に応えてくれるツールがMicrosoftのMSDN Code Galleryで「VHD Tool」として無償提供されている。
操作方法 |
以下のWebページの[Download]タブでVHD Tool 2.0 Final(VhdTool.exe)をダウンロードする。
ダウンロードしたEXEファイル自体がツールなので、適当なフォルダを作成して、移動しておくとよい。コマンド・プロンプトを管理者権限で実行し、以下のようにコマンドを実行すれば、VHDファイルがすぐに作成できる。引数には、「/create <ファイル名>」に続けて、作成したいVHDファイルのサイズをbytes単位で指定する(引数なしで実行すると使い方が表示される)。なお、VHD Toolでは、12Mbytes以下のVHDファイルは作成できない、またVHD ToolはNTFSしかサポートしていないので注意が必要だ。
|
|
VHD ToolによるVHDファイルの作成例 | |
40000000bytes(約38Mbytes)のVHDファイルを作成してみた。「Unable to set valid data length with error」というエラーが表示されるが、VHDファイルは問題なく作成できている(このエラーについては、MSDN Code GalleryのVHD Toolページの[Discussions]タブの中でも質問が出ているが、原稿執筆時点では明確な回答は得られていない)。作成するだけの空きディスク領域がない場合もエラーとなる。 |
このコマンドを実行すると、指定されたサイズのVHDファイルがすぐに作成されるが、内容は「0」クリアされていないので、VHDファイルを配布する際には、情報漏えいのリスクがあることに注意した方がよい。
またVHD Toolは、「/extend」オプションでVHDファイルの容量を拡大したり、「/Repair」オプションでHyper-Vのスナップショットや復元ディスクの壊れたチェインを修復したりできる。
この記事と関連性の高い別の記事
- Windows 7/Windows Server 2008 R2でVHDファイルを作成する(TIPS)
- Windows 7/Windows Server 2008 R2でVHDファイルを直接マウントする(TIPS)
- Windowsで仮想ディスク(VHD)のディスクサイズを縮小する(TIPS)
- Disk2vhdツールでWindowsの物理ディスク環境をVHDファイルに変換する(TIPS)
- Windowsで仮想ハードディスクのVHDとVHDXを変換する(TIPS)
このリストは、デジタルアドバンテージが開発した自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
「Windows TIPS」 |
- Azure Web Appsの中を「コンソール」や「シェル」でのぞいてみる (2017/7/27)
AzureのWeb Appsはどのような仕組みで動いているのか、オンプレミスのWindows OSと何が違うのか、などをちょっと探訪してみよう - Azure Storage ExplorerでStorageを手軽に操作する (2017/7/24)
エクスプローラのような感覚でAzure Storageにアクセスできる無償ツール「Azure Storage Explorer」。いざというときに使えるよう、事前にセットアップしておこう - Win 10でキーボード配列が誤認識された場合の対処 (2017/7/21)
キーボード配列が異なる言語に誤認識された場合の対処方法を紹介。英語キーボードが日本語配列として認識された場合などは、正しいキー配列に設定し直そう - Azure Web AppsでWordPressをインストールしてみる (2017/7/20)
これまでのIaaSに続き、Azureの大きな特徴といえるPaaSサービス、Azure App Serviceを試してみた! まずはWordPressをインストールしてみる
|
|