Windows TIPS
[System Environment]
  Windows TIPS TOPへ
Windows TIPS全リストへ
内容別分類一覧へ

Hyper-Vのスナップショットを復元ディスクとして使う

解説をスキップして操作方法を読む

デジタルアドバンテージ 打越 浩幸
2008/10/10
対象OS
Windows Server 2008 Hyper-V
Hyper-Vのスナップショット機能を使うと、現在の時点での仮想マシンの状態を保存しておくことができる。
仮想マシンの作成直後にスナップショットを作成しておくと、Virtual PCやVirtual Serverの復元ディスクと同等の機能を実現できる。

解説

 Windows Server 2008のHyper-Vには「スナップショット」という便利な機能がある。構築した仮想環境(の実行)状態を保存しておき、後でそれを簡単に呼び戻せる機能である。スナップショットはいくつでも作成できるので、例えばゲストOSのインストール直後だけでなく、コンポーネントを追加した後やセキュリティ・パッチを当てた後、設定を変更した後など、さまざまな時点での仮想マシンの状態をスナップショットとして保存しておけば、失敗したり、再試行したりする場合でも、最初からやり直す必要がなく、便利である。

 ただしHyper-VのスナップショットはVirtual PCやVirtual Serverの「復元ディスク」や「状態の保存」などとはやや異なる機能なので、最初はその使い方に戸惑うかもしれない(特に、ある1つのスナップショットから、異なるバージョンのスナップショット履歴を分岐・派生させていく場合など)。本Windows TIPSでは、今後、Hyper-Vのスナップショットの使い方についても紹介していくことにする。

 本TIPSでは、まずスナップショットの一番基本的な使い方として、Virtual PCやVirtual Serverの「復元ディスク」に相当する使い方を紹介する。

Virtual PC/Virtual Server 2005の「復元ディスク」とは?

仮想マシンにおける差分ディスクと復元ディスクの違い
仮想マシンの終了方法を理解する(Virtual Server 2005編)

 Virtual PCやVirtual Server 2005には「復元ディスク」という機能があり、仮想マシンの起動前のディスクの状態を保存しておくことができる。この機能をオンにしておくと、仮想マシンの実行終了後にそこで行われた変更などをすべて破棄して、元の状態に簡単に素早く戻すことができる(関連記事参照)。技術的にいえば、仮想マシンの設定画面で復元ディスクをオンにしておくと、ディスクへの書き込みはオリジナルの.vhdファイルではなく、一時的に用意された.vudファイルへ行われるようになる。そして最後に仮想マシンの状態を終了/破棄すると、その.vudファイルの内容も破棄されることになる。オリジナルの.vhdファイルの内容は一切変更されないため、最初の.vhdファイルの状態が維持されるというわけである。

 復元ディスクの持つこの機能は、例えばゲストOSを立ち上げて実験し、終了したらまた元のクリーンな状態に戻して別の設定で実験をやり直したい、といった場合に便利な機能である。実環境でいうと、OSやアプリケーションを何度でもクリーンインストールして、実験を繰り返す、といったケースに相当する。実験のたびにOSをゼロからインストールするのではなく、一度インストールしたゲストOS環境を保存しておけば、以後の再試行作業が容易になる。

 この復元ディスク機能はHyper-Vには用意されていないが(仮想マシンのディスク設定画面には、[復元ディスク]というチェック・ボックスは用意されていない)、スナップショットを使えば同じ機能を実現できる。仮想マシンを作成後、すぐにスナップショットを作成しておけばよいのである。

操作方法

スナップショットを作成する

 Hyper-Vのスナップショットを作成するには、Hyper-Vの管理画面(Hyper-Vサーバ・マネージャ)で仮想マシン名を右クリックし、ポップアップ・メニューから[スナップショット]を選択するか、右側の操作ペインで[スナップショット]のリンクをクリックする。

スナップショットを作成する
スナップショットを作成するには、メニューからスナップショットの作成を選択する。
スナップショットを作成したい仮想マシン名。これを右クリックする。
[スナップショット]を選択する。
この操作メニューから[スナップショット]を選択してもよい。
スナップショットの一覧。仮想マシンの作成直後には、1つもスナップショットは存在していない。このまま仮想マシンを起動すると、元の.VHDファイルに対して変更が行われてしまう。

 以上の操作でスナップショットが作成され、「スナップショット」ペインに作成されたスナップショットの名前が表示される。

作成されたスナップショット
スナップショットを作成すると、スナップショットのペインにそれが表示される。
仮想マシンを選択する。
作成されたスナップショット。デフォルトでは仮想マシン名+日付というタイトルが付けられるが、クリックして、任意のものに変更できる。
最新のスナップショットの下にはこの[今すぐ実行]というアイコンが付けられる。このマークの付いたスナップショットが実行される。それ以外のスナップショットは、このままでは実行できない。
仮想マシンのコンソール画面へ接続するにはこれを選択する。
これを使ってもよい。

 作成されたスナップショット名の下には[今すぐ実行]という緑色の三角マークが表示されている。詳細は今後別TIPSで解説するが、Hyper-Vではスナップショットを複数作成しても、実行対象はこのマークの付いた、ただ1つのスナップショットだけに限定されている(Hyper-Vサーバ起動時に仮想マシンの実行も開始するように設定しておくと、このマークの付いたスナップショットが起動対象となる)。このケースでは1つしかスナップショットがないため、これが起動対象となる(スナップショットを作成する前の、オリジナルの.VHDファイルは起動できないということ)。

 さて以上でスナップショットは作成完了である。後は通常のように、仮想マシンに接続して(上記画面ののメニューを使用する)、仮想マシンを起動、操作、終了すればよい。

 なおVirtual PCやVirtual Serverの復元ディスクの場合とは異なり、スナップショットの作成は仮想マシンの停止中だけでなく、実行中にも可能である。スナップショットにはディスクの状態だけでなく、(実行中の仮想マシンならば)仮想マシンの実行状態(メモリなどの状態のこと)も保存されているため、このような操作が可能になっている。とはいえ、実験環境のベース・イメージとするような場合は、仮想マシンを停止させてからスナップショットを作成する方がよいであろう。実行中の仮想マシンの構成を変更したりするようなケースでは(例えばハードウェアの追加や削除、変更などを行う)、システム全体に影響が及ぶからだ。また実行中のアプリケーションなどがあると、後で正しく再開できるかどうかも不明だからだ(アプリケーションの作り方によっては、あまりに停止時間が長かったり、外部と通信中だったりすると、再開できない可能性がある)。

 これに対し、単にアプリケーション実行中の途中経過を一時的に保存/記録しておくだけならば、実行中にスナップショットを作成しても構わないだろう。このような用途では、再開の前後でシステムの構成が大きく変わるようなことはないだろうからだ(ただしデータベースのトランザクション実行中といったクリティカルな使い方をしている場合は、スナップショットを取っても、それが後で正しく再開できるかどうかは不明なので、注意していただきたい)。

スナップショットで元の状態に戻す

 仮想マシンの実行後、現在までの変更をすべて破棄して、元の状態(スナップショットを取った時点の状態)に戻したくなったら、次の画面のように、Hyper-Vのサーバ・マネージャで[戻す]を選んで、スナップショットを元に戻せばよい。

スナップショットを元に戻す
スナップショットを元に戻すには、[戻す]機能を利用する。
元に戻したい仮想マシンを右クリックする。下にある[スナップショット]ペインのスナップショット名を右クリックしても、この[戻す]メニューは表示されないので注意。必ずこの[仮想マシン]ペインで操作すること。
この[戻す]メニューを選択する。
これを選択してもよい。

 Hyper-Vマネージャではなく、仮想マシン・コンソールの上部に表示されている[元に戻す]ボタンをクリックしてもよい。

仮想マシン・コンソール画面での操作
スナップショットを作成/破棄するためには、仮想マシンのコンソール画面の上部にあるボタンを操作してもよい。
これはスナップショットの作成ボタン。これをクリックすると、現在の時点でのスナップショットが作成できる。
これをクリックすると、直前のスナップショットの状態にまでロールバックされる。

 [戻す]操作の終了後は、スナップショット作成直後の状態にまで戻され、スナップショット作成後に行われた変更はすべて破棄される。これにより、Virtual PCやVirtual Serverの復元ディスクと同等の機能が実現できる。

読み取りのみ許可の.VHDファイルの場合

 Virtual PCやVirtual Serverでは、一度作成した.VHDファイルに対して読み取りのみの属性を付けて、ファイルを保護しておくことがあった。こうしておけば、間違って書き込んでしまうというミスを防ぐことができるからだ(せっかく作成したマスタ・イメージなので、壊されないようにこうしておくとよい。復元ディスクの機能も併用すること)。

 Hyper-Vでもこの方法は利用できるが、.VHDファイルが書き込み禁止だと、仮想マシンの起動時に次のようなエラーが表示される。このようなケースでも、まずスナップショットを作成しておけば、以後はエラーとならずに仮想マシンを利用できる。End of Article

VHDファイルが読み取りのみの場合のエラー
オリジナルの.VHDファイルを保護するために.VHDファイルを読み取りのみに設定した場合は(もしくは読み取りのみ可能なファイル・サーバなどに.VHDファイルが置かれている場合は)、まずスナップショットを作成してから起動する。そうしないと、このようなエラーが表示され、実行できない。

「Windows TIPS」


Windows Server Insider フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間