仮想マシンを自由自在に管理できるXenServerのスナップショット機能を活用する 2ページ
仮想マシンのバックアップ
仮想マシン上でシステムの開発やテストを行っている場合、システム環境に大規模な変更を加える前などに現在の環境をバックアップしておきたい、ということがある。このような際に有用なのがXenServerの「スナップショット」機能だ。これは指定した時点における仮想ディスクの状態を保存しておく機能で、非常に高速に仮想ディスクのバックアップが行えるのが特徴だ。
XenServerではスナップショットの作成時、仮想ディスクの内容をそのまま複製するのではなく、新たに空の仮想ディスクを作成して以降のディスク操作を差分として記録する、という方式を採っている(図3)。仮想ディスクの複製作業が生じないため、スナップショットの作成が非常に高速なのが特徴だ。そのため、大容量の仮想ディスクを使用している場合でもスナップショット作成はほぼ一瞬で終了する。
なお、XenServerのスナップショット機能は、標準ではディスクの状態を保存するだけであり、動作中の仮想マシンの状況を保存するものではない点に注意が必要だ。メモリや仮想ハードウェアの状況は保存されないため、稼働中の仮想マシンに対してスナップショットからの復元を実行すると、メモリとディスクの間で不整合が生じ、問題が発生する場合がある。そのため、スナップショットからディスクを復元する際はいったん仮想マシンをシャットダウンさせた状態での作業をおすすめする。
スナップショットを作成する
スナップショットを作成するには、XenCenterの「スナップショット」タブ内にある「スナップショットの作成」をクリックする(図4)。
「スナップショットの作成」ダイアログが表示されるので、「名前」と「説明」を入力して「スナップショットの作成」をクリックすると、スナップショットの作成が行われる(図5)。
スナップショット作成が完了すると、タブ内中央に作成したスナップショットがアイコンで表示される(図6)。
仮想ディスクの状態をスナップショット作成時点に復元するには、戻したいスナップショットを選択して「復元」をクリックすれば良い。確認ダイアログが表示され、ここで必要に応じて現在のスナップショットを作成してから復元を実行できる(図7)。
前述のとおり、スナップショット機能ではスナップショットを作成した以後のディスクへの変更は差分として別に記録しているため、スナップショットへの復元もごく短時間で終了する。
また、スナップショットは1つの仮想マシンに対し複数記録できる。特定のスナップショットに復元した後、異なる状態でスナップショットを作成することも可能だ。このような場合、スナップショットタブ内では各スナップショット間の関係が分かりやすいようにツリー状にスナップショットが表示される(図8)。
Windows Serverでのみ利用できる「休止スナップショット」機能
Windows Server 2003および2008では、Windowsのボリュームシャドウコピーサービス(VSS)を使用したスナップショット作成が可能だ。この機能は「休止スナップショット」と呼ばれている。通常のスナップショットはスナップショット作成時点でのディスク内容をそのまま保存するため、アプリケーションによって使用されていたりロックされているファイルについてはその状態を正しく保存できない可能性がある。たとえばSQL Serverなどのデータベースアプリケーションなどを利用している場合、データベースの不整合などが発生する可能性があった。休止スナップショットではVSSの機能を用いてそのようなアプリケーションを一時的に停止させることで、不整合を発生させずにスナップショットを作成できる。
VSSを使用した休止スナップショット機能を利用するには、あらかじめWindows仮想マシンのシステムドライブ以下「Program Files\Citrix\XenTools」に用意されているインストーラ「install-XenProvider」を実行し、「Xen VSSプロバイダ」をインストールしておく必要がある(図9)。
Xen VSSプロバイダをインストールすると、「スナップショットの作成」ダイアログで「VMを休止してからスナップショットを作成する(Windowsのみ)」を有効にできるようになる。これにチェックを入れてスナップショットを作成することで、休止スナップショットが作成できる(図10)。なお、休止スナップショットはスナップショットの作成前にWindows側での下処理が行われるため、通常のスナップショットよりもややスナップショット作成に時間がかかる傾向がある。