連載
» 2010年10月14日 00時00分 公開

仮想PCで学ぶ「体当たり」Windowsシステム管理:第10回 Oracle VM VirtualBoxを使う(後) (3/3)

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

スナップショットの操作

 仮想マシンを使って実験や検証などを行う場合、何度も同じ環境を再現したり、実験結果をリセット/ロールバックして、別の構成やオプションを試したりすることが少なくない。このような頻繁な環境の構築/再現/試行などに欠かせないのが、スナップショットの機能である。Virtual PC 2007やWindows Virtual PCなどでは、単一のポイントに戻す「復元」機能しか利用できなかったが、Hyper-Vや(VMware Playerの上位製品版である)VMware Workstationなどでは、より高機能な「スナップショット」機能を持っている。VirtualBoxでもこのスナップショット機能が利用できるため、Hyper-Vのようなサーバ製品を導入しなくても、柔軟な運用が可能だ。

 スナップショットを使っている例を次に示す。スナップショットの作成は、仮想マシンの停止中でも、実行中でもいつでも可能である。スナップショットの作成ボタンをクリックすると(もしくは仮想マシンのウィンドウで[仮想マシン]−[スナップショット作成]を選択すると)、その時点でのディスクの状態やメモリ/画面などの状態が保存される。スナップショットはいくつでも作成可能なため、例えばWindows OSのインストール直後、ドメインへの参加直後、アプリケーションのインストール直後、実験前の準備が整った状態など、どんどん取っておけばよいだろう。ディスクの内容はすべて差分で記録されるため、スナップショットが多くてもあまりディスクを消費することはない。ただし実行中のスナップショットには仮想マシンのメモリの状態がそのまま全部含まれるため(メモリの内容は差分ではなく、ほぼフル・ダンプになる)、その分必要なディスク領域が多く必要になることには注意していただきたい。

 以下の例では、マスターとなるWindows XP SP3のイメージをベースにして、全部で6つのスナップショットを作成している。「最新の状態(変更)」となっているのが、現在実行中の仮想マシンである。

スナップショットの管理(1)
スナップショット機能を使えば、同じ状態を素早く再現したり、実行結果や変更された構成などをキャンセルして、元の状態へ簡単に戻せる。
 (1)スナップショットを操作したい仮想マシンを選択する。
 (2)このタブを選択する。
 (3)スナップショットの作成ボタン。これをクリックすると、現在の仮想マシンのスナップショットが作成される。仮想マシンの停止中でもよいし、実行中でもよい。停止中の場合はディスクの状態のみが保存されるが、実行中の場合は仮想マシンのメモリの内容やCPUのレジスタなども保存され、後で実行中の状態から再現/起動できる。
 (4)スナップショットのルート。オレンジ色の四角は、停止中の仮想マシンのスナップショットを表している。スナップショット名は作成時にユーザーが指定する。スナップショット名の後ろにある「(5 日前)」などは、現在の時刻から見て、どのくらい前のスナップショットであるかを表している。
 (5)緑色の右向き三角は、実行中の仮想マシンのスナップショットであることを表している。
 (6)これが現在実行中(もしくは実行待ち状態)の仮想マシン。いずれかのスナップショットを選択して「復元」すると、そのスナップショットの直下にこの「最新の状態」が表示される。
 (7)ルートから枝分かれしたスナップショット。一度「インストール直後」のスナップショットに戻ってから作成すると、このように枝分かれしたスナップショット・ツリーになる。

 「スナップショット 2」と「スナップショット 3」は、「インストール直後」から派生したスナップショットである。このように、途中から枝分かれるようなスナップショットのツリーも作成可能である。

 スナップショットの時点に戻すには、戻したいスナップショットを選んで、[スナップショットに復元]ボタンをクリックする

スナップショットの管理(2)
作成済みのスナップショットの時点に戻るには、スナップショットを選んで、そこへ「復元」させる。
 (1)このスナップショットを選択してみる。
 (2)これをクリックすると「復元」になる。つまりこのスナップショット2が仮想マシンの現在の状態となり、起動すると、この時点から再開される。
 (3)これをクリックするとスナップショットが「削除」される。スナップショット・ツリーの上位や途中にあるものも削除できるが、その場合は、必要に応じて前後のスナップショットとマージされる。ただし手元の環境では、仮想マシンの実行中に削除しようとすると、VirtualBoxそのものがエラーを起こして停止することが何度かあった。スナップショットの削除は、仮想マシンを停止してから行うのがよいと思われる。ちなみにVirtualBoxのバイナリは頻繁に更新されているので(数カ月に一度程度)、不具合などがあった場合は、なるべく最新のバイナリを入手して利用するのがよいだろう。
 (4)「詳細」ボタン。スナップショットごとの設定状態や(自分で記入した)コメントなどが確認できる。

 ある過去のスナップショットへ戻ってから「復元」し、そこで新たにまたスナップショットを作成すると、上の例のように、枝分かれしたツリーになる。なお、枝分かれした場合でも、実行可能なのは「最新の状態」となっている部分のみである。複数のスナップショットを同時に起動できないのは、ほかの仮想化ソフトウェアと同じである。スナップショット(状態)は複数あるが、これ全体で1つの仮想マシンだからだ。これをベースに新しい仮想マシンを作成したければ、いったん「エクスポート」してから、また「インポート」するといった手順を踏めばよい。

 ところでスナップショットはどのように管理されているのであろうか。それは[ファイル]−[メディアマネージャ]ツールを起動すると確認できる。「ハードディスク」タブには、仮想マシンで利用している仮想ハードディスク(.vdiファイル)の一覧が表示されているが、スナップショットを作成すると、もともとの仮想ディスクを親にして、その差分ディスクが順次作成されている。

スナップショットがある場合の仮想ディスク
スナップショットを作成すると、親となる仮想ディスクをベースにして、差分ディスクが作成される。これらは密接に関連しているので、メディア・マネージャを使わずに手動でコピーや移動させてはいけない。
 (1)仮想メディア・マネージャを起動して、このタブを選択する。
 (2)すべての親となっている仮想ディスク。
 (3)これらは差分ディスク。これらの仮想ディスク・ファイルの中には、絶対パス名やID番号などが含まれているので、仮想メディア・マネージャを使わずに操作してはいけない。
 (4)指定したファイルの削除。
 (5)仮想マシンから取り外す。スナップショットに組み込まれている場合はこのメニューは利用できない。

 このように、仮想ディスクやその差分ファイルは厳格に管理されているので(絶対パス名などもこれらのファイルの中に含まれている)、VirtualBoxの管理ツールを使わずに手動で移動や削除すると整合性が損なわれ、仮想マシンを利用できなくなる。このあたりはVirtual PCなどと違ってかなり厳格なので、注意していただきたい。

シームレス・モードの操作方法

 VirtualBoxには、Windows Virtual PC(Windows 7のWindows XP Modeを実現する仮想化ソフトウェア環境)の仮想アプリケーション・モードのように、仮想マシンのデスクトップを表示せずに、アプリケーションのウィンドウだけを表示するモードがある。これを「シームレス モード」というが、これを利用すると、ホストOSのデスクトップ上に、ゲストOS上のアプリケーションが直接表示されるので、仮想マシンを意識することなく利用できる。

 シームレス・モードにするには、仮想マシンの実行中にそのまま[Host]+[L]キーを押せばよい([Host]キーはデフォルトでは右側の[Ctrl]キーに割り当てられている)。Windows XP Modeで仮想アプリケーション・モードに移行する場合と違い、仮想マシンの再起動などを行わずに、すぐにシームレス・モードに移行できる(この点では、VMwareの製品などと同じ)。

シームレス・ムードの起動
シームレス・ムードにすると、仮想マシンのデスクトップが消え、アプリケーションのウィンドウだけが表示される。仮想マシンを意識しないでアプリケーションを利用できる。
 (1)操作方法の解説。元のモードに戻すには、同じ操作を行うか、[Host]+[Home]キーを押して、仮想マシンのメニューを表示させる。
 (2)これをクリックすると、すぐにシームレス・モードに移行する。

 VirtualBoxでシームレス・モードに移行すると、次のように、アプリケーションのウィンドウだけが表示されるが、一番下にゲストOSのタスク・バーがそのまま表示されている。そのため、ゲストOSのメニューなどを操作するのは簡単である。元のモードに戻すには、ゲストのアプリケーションに入力フォーカスを移し、また[Host]+[L]キーを押すか、[Host]+[Home]キーを押す。

シームレス・モードで実行中のアプリケーション
シームレス・モードでは、アプリケーションのウィンドウだけが表示され、ホストOSのアプリケーションと違和感なく操作できる。これはWindows XP上のInternet Explorer 6.0を実行しているところ。
 (1)これはホストOSのデスクトップ。Windows 7 Ultimate x64版のデスクトップ。
 (2)これはホストOS上で実行中のInternet Explorer 8。
 (3)これはゲストOS上で実行中のInternet Explorer 6.0。Windows 7上ではInternet Explorer 6.0はインストール/実行できない。
 (4)これはゲストOS上で実行中のコマンド・プロンプト。
 (5)ゲストOS側のアプリケーションに入力フォーカスを移して(検索窓にカーソルを移動している)、[Host]+[L]キーを押したところ。
 (6)このようなポップアップ・メニューが表示される。これは、通常は仮想マシンのウィンドウに表示されているメニュー。
 (7)これを選択してシームレス・モードを終了する。
 (8)これはゲストOSのスタート・メニューとタスク・バー。シームレス・モードでもこれが表示されているので、ゲストOSのメニューを呼び出すのは簡単である。
 (9)これはホストOSのスタート・メニューとタスク・バー。


 2回に渡って、Oracle VM VirtualBoxについて取り上げてきた。VirtualBoxには、コマンドラインを使った強力な管理機能などもあるが、それについていずれまた機会を改めて取り上げたい。

 無償ながらも必要な機能はほぼすべて備えており、ソースコードも提供されているなど、VirtualBoxは非常に有用な仮想化ソフトウェアである。十分活用していただきたい。


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

仮想PCで学ぶ『体当たり』Windowsシステム管理

前のページへ 1|2|3       

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

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

メールマガジン登録

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