Vagrant sahara で行う状態管理 (後編:使ってみよう)

投稿者 : OSCA

[PR] "東野・岡村の旅猿"で登場したロケ地を紹介するファンサイト「あの場所へ行こう!」はこちら。

Vagrant のバージョン 1.8 から新しく「Snapshot機能」が追加されましたので、本稿で述べるプラグインは最新版の Vagrant を利用していれば不要になりました。 詳しくは別稿「VagrantのSnapshot機能で仮想マシンの状態を保存/復元しよう」をご覧ください。

前回は Vagrant sahara の概要とインストール手順について説明しました。 今回は sahara を使って機能を理解してみましょう。

連載:Vagrant sahara で行う状態管理

使ってみよう! (rollback)

まずは、仮想マシーンに行った設定をロールバックする方法を、コマンドを示してから解説したいと思います。

# sandboxモード開始 (復元ポイントの作成)
$ vagrant sandbox on

# 仮想マシーンの起動
$ vagrant up

# 起動した仮想マシーンにログインして空ファイルを作成します
# ここでは空ファイルを作成して、何らかの設定をした事とします
$ touch sample.txt

# 仮想マシーンを停止
$ vagrant halt

# ロールバック
$ vagrant sandbox rollback

# sandboxモード終了
$ vagrant sandbox off

# 仮想マシーンを起動
$ vagrant up

# 起動した仮想マシーンにログインして、
# 先ほど作成した sample.txt がない事を確認して下さい
$ ls -l sample.txt

vagrant sandbox on コマンドで sandbox モードを開始します。 ここが後の rollback の復元ポイントになります。 このコマンドは仮想マシーンを起動した後でも良いようですが、仮想サーバーを停止している時に行った方が早く処理できます。

vagrant up で仮想マシーンを起動し、今回は空ファイルを作成したことで仮想マシーンの状態を変更した事とし、vagrant halt で仮想マシーンを終了します。

今回は空ファイルを作ったことを”失敗”と考え、vagrant sandbox rollback で仮想マシーンの状態をもとに戻します。 このコマンドも仮想マシーンを停止してから行った方が良いです。 vagrant sandbox off コマンドで sandbox モードを終了し実験を終了とします。

最後に仮想マシーンを起動して、仮想マシーンの状態が元に戻ったことを確認します。 元通りに戻ったことが確認できましたでしょうか。

使ってみよう! (commit)

もし変更に問題なくて、それで良いのであれば状態を確定します。 vagrant sandbox commit コマンドで確定できます。 操作例は次のような感じです。

# sandboxモード開始 (復元ポイントの作成)
$ vagrant sandbox on

# 仮想マシーンの起動
$ vagrant up

# ここで何かしらの状態変更を行います

# 仮想マシーンを停止
$ vagrant halt

# 状態を確定(commit)
$ vagrant sandbox commit

# sandboxモード終了
$ vagrant sandbox off

おわりに

以上で sahara プラグインの説明は終わりです。 sahara プラグインの便利さが伝わりましたでしょうか? これで失敗に怯えずに実験的な操作ができるようになりましたね。

Vagrant入門へ戻る

Vagrantのトップへ戻る

著者 : OSCA

OSCA

Java, PHP 系のWEBエンジニア。 WEBエンジニア向けコミュニティ「WEBエンジニア勉強会」を主催。 個人として何か一つでも世の中の多くの人に使ってもらえるものを作ろうと日々奮闘中。
@engineer_osca