仮想マシンを使って実験や検証などを行う場合、何度も同じ環境を再現したり、実験結果をリセット/ロールバックして、別の構成やオプションを試したりすることが少なくない。このような頻繁な環境の構築/再現/試行などに欠かせないのが、スナップショットの機能である。Virtual PC 2007やWindows Virtual PCなどでは、単一のポイントに戻す「復元」機能しか利用できなかったが、Hyper-Vや(VMware Playerの上位製品版である)VMware Workstationなどでは、より高機能な「スナップショット」機能を持っている。VirtualBoxでもこのスナップショット機能が利用できるため、Hyper-Vのようなサーバ製品を導入しなくても、柔軟な運用が可能だ。
スナップショットを使っている例を次に示す。スナップショットの作成は、仮想マシンの停止中でも、実行中でもいつでも可能である。スナップショットの作成ボタンをクリックすると(もしくは仮想マシンのウィンドウで[仮想マシン]−[スナップショット作成]を選択すると)、その時点でのディスクの状態やメモリ/画面などの状態が保存される。スナップショットはいくつでも作成可能なため、例えばWindows OSのインストール直後、ドメインへの参加直後、アプリケーションのインストール直後、実験前の準備が整った状態など、どんどん取っておけばよいだろう。ディスクの内容はすべて差分で記録されるため、スナップショットが多くてもあまりディスクを消費することはない。ただし実行中のスナップショットには仮想マシンのメモリの状態がそのまま全部含まれるため(メモリの内容は差分ではなく、ほぼフル・ダンプになる)、その分必要なディスク領域が多く必要になることには注意していただきたい。
以下の例では、マスターとなるWindows XP SP3のイメージをベースにして、全部で6つのスナップショットを作成している。「最新の状態(変更)」となっているのが、現在実行中の仮想マシンである。
「スナップショット 2」と「スナップショット 3」は、「インストール直後」から派生したスナップショットである。このように、途中から枝分かれるようなスナップショットのツリーも作成可能である。
スナップショットの時点に戻すには、戻したいスナップショットを選んで、[スナップショットに復元]ボタンをクリックする
ある過去のスナップショットへ戻ってから「復元」し、そこで新たにまたスナップショットを作成すると、上の例のように、枝分かれしたツリーになる。なお、枝分かれした場合でも、実行可能なのは「最新の状態」となっている部分のみである。複数のスナップショットを同時に起動できないのは、ほかの仮想化ソフトウェアと同じである。スナップショット(状態)は複数あるが、これ全体で1つの仮想マシンだからだ。これをベースに新しい仮想マシンを作成したければ、いったん「エクスポート」してから、また「インポート」するといった手順を踏めばよい。
ところでスナップショットはどのように管理されているのであろうか。それは[ファイル]−[メディアマネージャ]ツールを起動すると確認できる。「ハードディスク」タブには、仮想マシンで利用している仮想ハードディスク(.vdiファイル)の一覧が表示されているが、スナップショットを作成すると、もともとの仮想ディスクを親にして、その差分ディスクが順次作成されている。
このように、仮想ディスクやその差分ファイルは厳格に管理されているので(絶対パス名などもこれらのファイルの中に含まれている)、VirtualBoxの管理ツールを使わずに手動で移動や削除すると整合性が損なわれ、仮想マシンを利用できなくなる。このあたりはVirtual PCなどと違ってかなり厳格なので、注意していただきたい。
VirtualBoxには、Windows Virtual PC(Windows 7のWindows XP Modeを実現する仮想化ソフトウェア環境)の仮想アプリケーション・モードのように、仮想マシンのデスクトップを表示せずに、アプリケーションのウィンドウだけを表示するモードがある。これを「シームレス モード」というが、これを利用すると、ホストOSのデスクトップ上に、ゲストOS上のアプリケーションが直接表示されるので、仮想マシンを意識することなく利用できる。
シームレス・モードにするには、仮想マシンの実行中にそのまま[Host]+[L]キーを押せばよい([Host]キーはデフォルトでは右側の[Ctrl]キーに割り当てられている)。Windows XP Modeで仮想アプリケーション・モードに移行する場合と違い、仮想マシンの再起動などを行わずに、すぐにシームレス・モードに移行できる(この点では、VMwareの製品などと同じ)。
VirtualBoxでシームレス・モードに移行すると、次のように、アプリケーションのウィンドウだけが表示されるが、一番下にゲストOSのタスク・バーがそのまま表示されている。そのため、ゲストOSのメニューなどを操作するのは簡単である。元のモードに戻すには、ゲストのアプリケーションに入力フォーカスを移し、また[Host]+[L]キーを押すか、[Host]+[Home]キーを押す。
2回に渡って、Oracle VM VirtualBoxについて取り上げてきた。VirtualBoxには、コマンドラインを使った強力な管理機能などもあるが、それについていずれまた機会を改めて取り上げたい。
無償ながらも必要な機能はほぼすべて備えており、ソースコードも提供されているなど、VirtualBoxは非常に有用な仮想化ソフトウェアである。十分活用していただきたい。
Copyright© Digital Advantage Corp. All Rights Reserved.