Vagrantでsnapshotとsaharaを試してみる

Vagrantを試してみる
の続き

Vagrantでsnapshotとsaharaを試してみる。

準備

centos64の仮想マシンを作成して起動する。

$ mkdir sample
$ cd sample
$ vagrant init centos64
$ vagrant up

snapshopt

snapshotのプラグインをインストールする。

$ vagrant plugin install vagrant-vbox-snapshot

takeでsnapshotを作成する。

$ vagrant snapshot take s1

適当にファイルを作成してみる。

$ vagrant ssh
vagrant$ touch hoge.txt
vagrant$ ls
hoge.txt
vagrant$ exit

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

$ vagrant snapshot go s1
backで直前のスナップショットに戻すこともできるみたい。
$ vagrant snapshot back

作成したファイルは無くなっている。

$ vagrant ssh
vagrant$ ls
vagrant$ exit

作成したsnapshotはlistで確認できる。

$ vagrant snapshot list
Listing snapshots for 'default':
   Name: s1 (UUID: fdc56d9c-e41f-4da1-80c8-9b4b6bff29b4) *

作成したsnapshotはdeleteで削除する。

$ vagrant snapshot delete s1
$ vagrant snapshot list
Listing snapshots for 'default':
This machine does not have any snapshots

sahara

saharaのプラグインをインストールする。

$ vagrant plugin install sahara

sandboxモードを開始する。

$ vagrant sandbox on

sandboxモードがONになっている。

$ vagrant sandbox status
[default] Sandbox mode is on

適当にファイルを作成してみる。

$ vagrant ssh
vagrant$ touch hoge.txt
vagrant$ ls
hoge.txt
vagrant$ exit

ロールバックする。

$ vagrant sandbox rollback

作成したファイルは無くなっている。

$ vagrant ssh
vagrant$ ls

改めてファイルを作成する。

vagrant$ touch hoge.txt
vagrant$ ls
hoge.txt
vagrant$ exit

次は、コミットする。

$ vagrant sandbox commit

さらに適当にファイルを作成してみる。

$ vagrant ssh
vagrant$ touch hoge2.txt
vagrant$ ls
hoge.txt  hoge2.txt
vagrant$ exit

ロールバックすると、

$ vagrant sandbox rollback

前回のコミットの時点まで戻っている。

$ vagrant ssh
vagrant$ ls
hoge.txt
vagrant$ exit

sandboxモードを終了する。
(この時点でコミットされていない変更は削除されるみたい)

$ vagrant sandbox off

sandboxモードがOFFになっている。

$ vagrant sandbox status
[default] Sandbox mode is off