仮想マシンのメモリ・サイズやネットワーク・インターフェイスの変更、ディスクの追加など、その設定を変更したいことがある。いずれのスナップショットを右クリックしても、ポップアップ・メニューから[設定]が選択できるが、その内容を変更できるのは現在実行中の仮想マシン、つまり[現在]というラベル(緑の三角)が付けられている仮想マシンだけである。しかも仮想マシンが実行中の場合はほとんど変更できないので、例えばメモリ・サイズなどを変更したければまず仮想マシンをシャットダウンする必要がある。それ以外のスナップショットでは、内容を確認することはできるが、変更することはできない。
次はスナップショットの削除についてみてみよう。ソフトウェアをインストールしたり、パッチなどを適用したりする場合、何らかの不具合が生じてもすぐに元に戻せるように、途中でいくつかのスナップショットを作成しておくことは普通である。せっかく簡単にスナップショットが作成できるのだから、利用しない手はない。
テスト作業などが順調に進み、もう戻る必要がないスナップショットになったら、それを削除するとよい。ディスク領域の節約にもなるし、差分ディスク(.avhdファイル)のネスト段数が減るのでパフォーマンスの向上も期待できる。スナップショットを削除するには削除したいスナップショットを右クリックし、ポップアップ・メニューから[スナップショットの削除]か[スナップショットのサブツリーの削除]を選択すればよい。
これを実行すると、指定されたスナップショットやその下位にあるスナップショットがまとめて削除され、使われていたディスク領域などが解放される。
ただし状況によっては、すぐにファイルが削除されないこともある。以下、それについてみていこう。
今、次のようなスナップショットの履歴ツリーがあるとする。
いくつかスナップショットがあるが、どれを消すかによって内部的な処理は少し異なっている。スナップショットには以下の3種類があり、それぞれ処理が異なる。いずれもHyper-Vが内部で自動的に処理してくれるため、ユーザーがその詳細を知る必要はないのだが、.avhdがいつマージされ、いつ消去されるのかを知ることは、Hyper-Vを活用する上でも重要だと思われるので、ここで解説しておく。例えばマージ処理をすぐに実行させたい場合は、スナップショットを削除後に仮想マシンをシャットダウンする方がよいといったことが理解してもらえるだろう。
ところでこのケース2の削除処理(実際には下位ディスクへのマージ処理)は、仮想マシンが停止中の場合にのみ実行されることになっている。差分ディスクとして使いながらマージ処理も行うと、システムに対して大きな負荷がかかるし、時間も余計にかかるからだ。スナップショットを削除した後は、(実行中の仮想マシンを停止し)、削除処理が完了したかどうかを確認してから起動するようにしよう。削除処理の進捗状況は、Hyper-Vマネージャの「状況」欄に「結合処理を実行中(nn%)」などと表示されるので、確認できる。
スナップショットを多数作成して利用していると、そのうちの1つをベースにして別の仮想マシン環境を作成したいことがある。例えばActive Directoryの構築が終わったところでそれを保存しておき、別のActive Directoryアプリケーションの評価に使いたい、といった場合などだ。もちろん、コンピュータ名の衝突などがあるので、そのスナップショットを同時に起動すると問題になることがあるかもしれないが(これはコンピュータ名を変えれば済む話なので簡単だ)、いちいち最初からOSのインストールや環境構築を行うよりも簡単なので、ぜひ活用したいところである。
このような場合、従来のWindows Server 2008のHyper-V 1.0では、仮想マシン全体をエクスポートしてから自分自身でインポートし、不要なスナップショットを削除するという操作を行っていた。これには時間も手間も余分なディスク領域も必要である。
Windows Server 2008 R2のHyper-V 2.0では、仮想マシン全体(全スナップショットも含む)のエクスポートのほか、個別のスナップショットだけをエクスポートできるように改良された。そのため、最小限の操作で特定の仮想マシン環境をコピーして作成できるようになっている。
なお、仮想マシン全体をエクスポートする場合は、仮想マシンの実行をいったん停止しておく必要がある(実行中の場合は、[エクスポート]メニューが表示されない)。しかしスナップショットのエクスポートは、仮想マシンが実行中かどうかにかかわらず、常に実行可能である。
Hyper-V 2.0ではインポート機能も改善されている。Hyper-V 1.0では、仮想マシンをインポートする場合、インポートされたファイル群をコピーせずに、その場所に置いたまま仮想マシン環境として利用していた。
例えば、ある仮想マシン環境を外付けのリムーバブル・ハードディスクにエクスポートしたとする。そのディスクを別のサーバに接続してインポートすると、リムーバブル・ハードディスクの上に置かれた.vhdファイルなどをその場所に置いたままHyper-V 1.0の仮想マシン環境として利用するのである。インポート処理に要する時間は短くて済むが、パフォーマンス的には問題が多いだろう。しかも、一度インポートした仮想マシン環境のファイルは内容が変更され、もう二度とインポートできなくなっている。これでは非常に使いづらいので、通常は手動でどこか高速な内部ハードディスクへいったんコピーし、それをインポートするといった操作を行っていた。
これに対してHyper-V 2.0ではインポート機能が改良され、インポート時にオリジナル・ファイルをコピーできるようになった。このチェック・ボックスをオンにしておくだけで、必要なファイルがデフォルトの格納場所へすべてコピーされる。いちいち事前に手動でコピーする必要はない。
今回はHyper-Vのスナップショットについて解説した。復元ディスクよりも高機能なのは当然として、Hyper-V 2.0になって機能も改善され、ますます使いやすく、便利になっている。ぜひとも活用していただきたい。
Copyright© Digital Advantage Corp. All Rights Reserved.