[Vagrant]saharaプラグインで仮想OS状態を管理する

2013.07.16

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

Saharaプラグインで環境をロールバック

ここではChef + Vagrantを試してみました。
今回は、Vagrantと共によく紹介される便利プラグイン、Saharaを紹介します。
これは仮想OSのスナップショットのようなものを簡単に取得できるVagrant用プラグインで、
vagrantでつくった仮想環境に変更を加えても簡単に元に戻すことができます。

環境構築方法

今回使用した動作環境は以下のとおりです。

  • OS : MacOS X 10.7.5
  • Vagrant : 1.2.2
  • Ruby : 1.9.3
  • VirtualBox : 4.1.2

ここで作ったCentOS環境を使用するので、vagrant upで起動できるようにしておきましょう。

Saharaプラグインを使う

プラグインのインストール

まずはSaharaプラグインをインストールします。下記コマンドを使ってインストールしましょう。

% vagrant plugin install sahara

saharaプラグインを使う

プラグインをインストールできたら、仮想OSを起動します。

% vagrant up

そして、saharaプラグインを使用するためにsandboxモードをonにします。
これで、いつでもsandboxモードをonにした状態へ戻れるようになります。

% vagrant sandbox on

仮想OSに対して何か変更をしてみてください。その変更を戻したい場合にはロールバックを行います。

% vagrant sandbox rollback

仮想OSに対して変更を行い、その状態へ戻れるようにしたい場合にはコミットを行います。
下記コマンドを使用してコミットしておけば、その後変更をおこなってロールバックしたときに、コミットした時点へ戻ります。

% vagrant sandbox commit

ちなみに、仮想OSを起動したままcommitしようとすると、かなり時間がかかるので、一度haltしてからcommitすれば多少早くcommitできます。

作業がおわったら、最後にsandboxモードをoffにします。
sandboxモードをoffにすると、「最後にコミットした時」か、「sandboxモードをonにした時(一度もコミットをしていなければ)」に戻ります。

% vagrant sandbox off

まとめ

今回はVagrantで仮想OSの状態を管理するためのSaharaプラグインを紹介しました。
Vagrant用プラグインは、これ以外にも数多くのものがあります。
ここでどんなプラグインがあるか見ることができるので、確認してみてください。

参考サイトなど