sandbox機能
saharaをインストールする事でVMの状態を任意の状態に戻したりできるようになります。(スナップショット的な) VMだから失敗したら作り直せばいい、とはいっても色々作業して失敗したら面倒なので便利ですね。 さっそくやってみます
saharaのインストール
vagrant plugin install sahara
これだけ、らくチン
sandbox有効化
vagrant sandbox on
変更の確定
vagrant sandbox commit
エラーが出た。。
VBoxManage.exe: error: Snapshot operation failed VBoxManage.exe: error: Code E_FAIL (0x80004005) - Unspecified error (extended info not available) VBoxManage.exe: error: Context: "int __cdecl handleSnapshot(struct HandlerArg *)" at line 431 of file VBoxManage.cpp
ググッたらVirtualBoxのバージョンとsaharaのバージョンが合わないと上記エラーが出る模様
|VirtualBox|4.2.18| |sahara|0.0.16|
各バージョンは上記だった。ちょうどVirtualBoxの最新版( 4.3.6 )の告知があったのでインストールして再挑戦
$ vagrant up VirtualBox! In most cases this is fine, but in rare cases it can cause things such as shared folders to not work properly. If you see shared folder errors, please update the guest additions within the virtual machine and reload your VM. Guest Additions Version: 4.2.16 VirtualBox Version: 4.3
...今度は上記警告が出た
VBのguest additionsとVBのバージョンが違うよって言われてるようです
一応これは無視してもsandbox自体は使えるようだけどせっかくなので調べます
調べたらいろんな人が同じ内容の記事を書いていた
vbguestプラグインをインストールしてアップデートすればいいとのこと
なので早速インストールします
GuestAdditionsのアップデート
vagrant plugin install vagrant-vbguest
vagrant vbguest
GuestAdditionsをアップデートしました
確かめてみましょう
$ vagrant vbguest --status Got different reports about installed GuestAdditions version: Virtualbox on your host claims: 4.2.16 VBoxService inside the vm claims: 4.3.6 Going on, assuming VBoxService is correct... GuestAdditions 4.3.6 running --- OK.
あら、、、
ちょっと怪しかったのでreloadしました
一応確認
$ vagrant reload $ vagrant vbguest --status GuestAdditions 4.3.6 running --- OK.
立ち上げ時も警告が出なくなりました。やっとひと段落。。。
現在(2014-01-30)下記環境で動かしてます
|VirtualBox|4.3.6| |Vagrant|1.3.5| |sahara|0.0.16|
やっと本題のsandbox
ターミナルつないで適当にファイル作ってみます
- ファイルの作成
$ touch sandbox.txt $ ls sandbox.txt
- 変更の確定
vagrant sandbox commit
ここで変更が確定されたのでこの後rollbackしたら現時点の状態まで戻す事ができます
- 変更
$ touch sandbox2.txt $ ls sandbox.txt sandbox2.txt
- ロールバック
vagrant sandbox rollback
$ ls
sandbox.txt
便利!!
サーバ設定関連の実験とかで色々試したい場合とかにすごく便利、実際にMySQLのレプリケーションをするための設定を色々試してみたけどすごく楽に作業が出来ました。