第5回 Virtual PC/Virtual Serverの復元ディスク仮想PCで学ぶ「体当たり」Windowsシステム管理(1/3 ページ)

Virtual PCやVirtual Serverの復元ディスクを利用すれば、同じ状態の仮想環境の構築や再現が素早くできる。

» 2010年04月01日 00時00分 公開
[打越浩幸,デジタルアドバンテージ]
仮想PCで学ぶ「体当たり」Windowsシステム管理
Windows Server Insider


「仮想PCで学ぶ『体当たり』Windowsシステム管理」のインデックス

連載目次


 前回は、仮想環境上にActive Directoryドメインを構築する方法を解説した。今回は復元ディスクについて解説する。

 仮想マシンを利用してテスト環境を構築したり、操作の試行錯誤などを行う場合、同じ状態を何度も再現したいことがある。例えば仮想マシンにソフトウェアをインストールして利用した後、元のクリーンな状態に戻して、また別の実験に利用するためだ。また設定やインストールが完了した時点でその状態を保存しておき、そこから設定を変えながら何度も同じ実験を繰り返すといった利用方法も考えられる。このような場合に利用できる機能として、「復元ディスク」や「スナップショット」などがある。これらの機能をうまく使うことにより、環境の復元や再現などが非常に容易になる。仮想環境ならでは機能といえる。

 これらの機能については第2回の「2.仮想ディスクの操作」でも簡単に取り上げたが、今回はVirtual PCやVirtual Serverで利用できる復元ディスクの機能について、より詳しく見ていこう。より高機能で柔軟性の高いHyper-Vのスナップショット機能については次回解説する。

仮想マシン環境で利用できる状態の保存/復元機能

 Virtual PCやHyper-Vなどの仮想マシン環境で利用できる状態の保存/復元機能をまとめると次のようになる。いずれも最初の状態を保存しておき、後でその時点にすぐに戻せるようにする機能である。

項目 仮想環境 機能
復元ディスク Virtual PC 2007 ・Windows XP/Windows Vistaで利用可能
・仮想マシンの環境を1つ分しか保存できない
・仮想マシン開始直前の状態へ戻ることだけが可能。一度復元すると、復元前の状態へ戻すこと(復元のアンドゥ)はできない
・ディスク・ベースの環境保存機能であり、保存できる情報は仮想マシンを実行していない時点のディスクの内容に限られる。実行中のメモリ状態などは保存できない
・復元ディスクは仮想マシン全体で1つだけ設定可能であり、ディスクごとに有効/無効を設定できない
Windows Virtual PC ・Windows 7で利用可能
・それ以外の機能は同上
Virtual Server 2005/
Virtual Server 2005 R2
・Windows Server 2003で利用可能
・それ以外の機能は同上
スナップショット Hyper-V/
Hyper-V 2.0
・Windows Server 2008/Windows Server 2008 R2/Hyper-V Server 2008/Hyper-V Server 2008 R2で利用可能
・仮想マシンの状態を複数保存可能
・ツリー状に分岐する、複雑なスナップショット履歴も可能
・後で任意の時点に戻すことができる。復元のアンドゥも可能
・「状態」ベースの環境保存/復元機能であり、実行中の仮想マシンの状態(メモリやオプション設定など)を丸ごとスナップショットとして保存できる。元へ戻すと、実行中の状態から再開する
・スナップショットをディスクごとに有効/無効することはできない
仮想実行環境における仮想マシン状態の保存/復元機能

 以下、それぞれ詳しく見ていこう。

ディスクの状態を保存/復元する「復元ディスク」

 Virtual PCやVirtual Serverで利用できる「復元ディスク」は、その名のとおり、仮想ディスク・ファイルの内容をベースにした、仮想環境の保存/復元機能である。現実のPCでいえば、起動前にハードディスク・ドライブの内容をコピーして保存しておき、終了後に元のディスクの内容を丸ごと上書きコピーしてシステムの状態を元に戻すことに相当する。ディスクの切り替えなので、システムの停止時にしか復元操作はできない(これに対し、Hyper-Vのスナップショットでは実行中の状態を保存/復元できる)。極端な例だが、仮想ディスクをまったく使わない(1台もマウントしていない)仮想マシンを作成しても、復元ディスクは利用できない。そのような仮想マシンでは、実行中の仮想マシンの一時停止と再開のみが可能である。また保存されるのはディスクの内容だけなので、実行後に例えばメモリ・サイズの設定を増加させた場合、復元操作を行っても、メモリ・サイズは増加したままである。仮想マシンの設定項目(メモリ・サイズやネットワーク・インターフェイスの設定など)は保存/復元の対象にはならない(Hyper-Vのスナップショットでは仮想マシンの設定状況も保存/復元できる)。

 復元ディスクの仕組みは次のように、簡単である。復元ディスク機能を有効にして仮想マシンを起動すると、ディスクに対する書き込み(変更結果)は元の仮想ディスク・ファイルではなく、一時的な復元ディスク用ファイルに対して行われる。いわゆる、「コピー・オン・ライト方式(copy on write。読み出しはオリジナルから行うが、書き込みは新ファイルに行う方式)」のファイルになっている(ファイル拡張子は.vud)。そして仮想マシンの終了時にその復元ディスクに記録されている内容を破棄してしまえば、元の時点の状態に戻ることになるし、破棄せずにマスタとなる仮想ディスク・ファイルに「反映(上書き)」させると、仮想ディスクを更新することになる。そのまま残しておけば、次回実行時にはその状態から起動することになる。

復元ディスクの仕組み
復元ディスクの原理は差分ディスクと同じで、マスタとなる仮想ディスクに対して、更新分のデータを保持している。復元ディスクが有効な場合、仮想ディスクに対する書き込みはすべて復元ディスクに対して行われ、元の仮想ディスクの内容は変更されずにそのまま残る。いったん復元ディスクに書き込みが行われると、そのブロックの読み出しは復元ディスクから行われるようになる。これにより、常に最新のデータが読み出されることが保証される。仮想マシン環境の実行終了後、復元ディスクの内容を「破棄」すれば初期状態に戻せるし、「反映」すればマスタの仮想ディスクに対して書き込むことになる。一度環境を構築すれば、あとは復元ディスクの破棄を繰り返せば、何度も同じ状態を再現できる。

 復元ディスクの内容を反映するとマスタの仮想ディスクの内容が更新されるが(これを状態1とすると)、以後、復元ディスクを破棄しても、その更新が反映された時点(状態1)までしか戻らなくなる。さらに反映を行って状態2になったすると、以後は状態2までしか戻らない。

 復元ディスクと似たものとして「差分ディスク」があるが、その作成と破棄を自動的に行うようにしたのが復元ディスクともいえる(実際、内部的には差分ディスクと同じである)。仮想マシンの起動時に差分ディスクを新規作成し、終了時にそれを削除すれば変更を破棄したことになるし、差分ディスクの親仮想ディスク・ファイルに「結合」させれば、反映させたことになる。

Virtual PC 2007における復元ディスクの設定

 Virtual PC 2007で復元ディスクを利用するには、仮想マシンの[設定]メニューで[復元ディスク]の項目を選択し、右側のペインにあるチェックボックスをオンにする。この操作は仮想マシンの停止時にしか行えない。一時停止の状態(「保存済み」と表示されている状態)では変更できないので、その場合は仮想マシンを停止/終了させてから設定を行う。

Virtual PC 2007で復元ディスクを有効にする
Virtual PC 2007で復元ディスクを有効にするには、仮想マシンの設定画面で行う。この設定は、仮想マシンの実行/一時停止中には行えないので、仮想マシンを停止/終了させてから設定させる。なお、この設定は仮想マシン全体で1カ所しかない。ディスクごとに仮想ディスク・ドライブごとに復元ディスクをオン/オフすることはできない。
 (1)これを選択する。
 (2)これをオンにする。

 この画面からも分かるように、Virtual PC 2007や後述のVirtual Server 2005などでは、仮想マシンごとに復元ディスクを有効にするか、無効にするかを設定する。仮想ディスクごとに有効/無効を切り替えることはできない。そのような使い方をしたければ、復元ディスクは無効にし、保護したいドライブに対して自分で差分ディスクを作成するなどの対応が必要である。

Virtual PC 2007における仮想マシン終了時の操作

 復元ディスクの破棄や反映は仮想マシン停止時に行うのが基本である(一時停止ではなく、シャットダウンさせること)。実行中もしくは一時停止中の仮想マシンのウィンドウを強制的に閉じようとすると(ウィンドウ右上の[×]マークをクリックするか、[右Alt]+[F4]キーなどで閉じようとすると)、次のようなメニューが表示されるが、これには現実のPCでいうと、いきなり電源を切ることに相当する項目があるので注意する。

仮想マシンのウィンドウを強制クローズさせようとした場合の終了メニュー
Virtual PC 2007で仮想マシンのウィンドウを強制クローズさせようとすると、このようなダイアログが表示される。これらの項目のうち、いくつかは正常なシャットダウン手順ではないので注意する。
 (1)ウィンドウを閉じようとするとこのようなメニューが表示される。
 (2)システムの現在の状態を保存し、復元ディスクの内容もそのまま維持する。仮想マシンを起動すると、保存した時点から実行が再開される。PCをスタンバイさせたような状態に相当する。
 (3)ゲストOSをシャットダウンして、復元ディスクもそのまま残しておく。一般的なシャットダウン手順に相当。
 (4)復元ディスクは保存するが(残しておくが)、システムの電源をいきなりオフにした状態に相当。現実のPCでいうと、いきなり電源コードを引き抜いたのと同じ状態に相当する。アプリケーションやファイルのデータが失われる可能性もあるし、システムが正常に起動しなくなる可能性もある。Windows OSなら、次回はセーフ・モードで起動するかどうかを聞いてくることになる。無応答になったゲストOSを終了させる場合以外、注意して利用すること。
 (5)これを選択すると、仮想マシンの電源がいきなりオフになり、復元ディスクに記録されている変更結果もすべて削除される。現在実行中の結果などはすべて失われるが、復元ディスクをオンにする直前の状態に戻るため、次回も正常に起動できる。テストなどが終わった後で、元の環境に素早く戻すために使用する。
 (6)このチェックボックスをオンにしておくと、以上のいずれかの操作後、復元ディスクに記録されている内容が元のディスク(マスタとなる仮想ディスク・ファイル)へ反映される。正常に反映できると、復元ディスクの内容は空になる。

 ゲストOSを正常にシャットダウンさせた場合は、次のようなメニューが表示される。復元ディスクを反映するには(1)、破棄するには(3)を選択すればよい。(2)は現在の状態を保存しておき、次回はその状態から継続して利用する場合に利用する。一般的には、毎回の仮想マシンの終了時には(2)を選択し(上の画面の(3)でもよい)、すべての作業が終わった時点で(3)を選択してクリーンな状態に戻す、という使い方をする。

ゲストOSが正常にシャットダウンした場合の終了メニュー
ゲストOSをシャットダウンさせると、仮想マシンの終了後にこのようなメニューが表示される。このダイアログを[Esc]キーでキャンセルすると、仮想マシンは再起動する。
 (1)仮想マシンの終了後、変更結果(復元ディスクの内容)を元の仮想ディスクに反映させる(上書きする)。元の仮想ディスクに対して書き込みが行われるので、書き込み禁止になっているとエラーになり、もう一度このダイアログが表示される(その場合、次の(2)(3)しか表示されない)。正常に書き込みができた場合は、復元ディスクの内容は空になり、次回は変更結果が反映された状態から起動することになる。
 (2)仮想マシンの終了後、変更結果は復元ディスクに保存されたままになる。次回は変更結果が有効なまま起動することになる。
 (3)仮想マシンの終了後、変更結果を破棄する。復元ディスクの内容は空になる。実験などが終了したときに、素早く環境を元に戻すことができる。

 保存された復元ディスクは、.vudという拡張子を持つファイルであり、通常はVirtual PCの構成ファイル(.vmcファイル)が置かれている場所に作成される。

復元ディスクの実体
復元ディスクは.vudという拡張子を持つファイルであり、これは実際には元ファイルに対する差分仮想ディスクとなっている。このファイルはデフォルトではVirtual PCの構成ファイル(.vmcファイル)が置かれている場所に作成される。

 仮想マシンの終了後に復元ディスクにデータ(変更結果)が存在する場合、次回はその状態から起動することにある。だがこれを破棄してクリーンな状態から仮想マシンを開始させたければ次のようにする。まず仮想マシンの設定画面を表示させ、[復元ディスクを利用する]のチェックボックスをいったんオフにする。すると次のようなダイアログが表示されるので[OK]をクリックする。その後、もう一度オンにすればよい。

仮想マシン停止時に復元ファイルを削除する方法
復元ファイル(仮想マシン・セッションでの変更結果)を削除したければ、通常は終了時に破棄を選択する。だが仮想マシンの停止中(つまり起動前に)に削除したければ、いったん復元ディスクを無効にすればよい。復元ディスクの内容が削除されるので、注意のためにこのようなダイアログが表示されるが、[OK]をクリックするとすぐに削除される。
 (1)仮想マシンの停止中にこのチェックボックスをオフにすると、このような注意喚起のダイアログが表示される。
 (2)これをクリックすると、復元ディスクの内容が破棄される。

 なお、停止状態の仮想マシンで復元ディスクの内容を元の仮想ディスクに反映する方法はない。これを行いたければ、いったん仮想マシンを起動し、終了時に反映(変更を適用)させればよい。


       1|2|3 次のページへ

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

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

メールマガジン登録

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