【Vagrant】スナップショット作成に失敗時の対処法
よく検証でVagrantを使っています。
今回VMで検証を行う際に事前にスナップショットを作成して、
何か問題があったときに切り戻したかったので、下記コマンドでスナップショットを作成しようとしたところ、失敗したのでその解決までの経緯をご紹介します。
# vagrant snapshot save <スナップショット名>
実行環境
Windows 10
今回のスナップショット取得対象VM
CentOS 7.7
config.vm.box = “centos/7"
スナップショット作成時にエラーで失敗
c:\Vagrant\cent7>vagrant snapshot save savepoint1
> The machine with the name 'savepoint1' was not found configured for
> this Vagrant environment.
↑スナップショット名がvm-nameとしてエラーが出ている。
vm-nameを入れて再度試してみたが、同様のエラーで失敗。
c:\Vagrant\cent7>vagrant snapshot save cent7 savepoint1
> The machine with the name 'cent7' was not found configured for
> this Vagrant environment.
ヘルプ:
c:\Vagrant\cent7>vagrant snapshot save -h
> Usage: vagrant snapshot save `[options]` `[vm-name]` <name>
>
> Take a snapshot of the current state of the machine. The snapshot
> can be restored via `vagrant snapshot restore` at any point in the
> future to get back to this exact machine state.
>
> Snapshots are useful for experimenting in a machine and being able
> to rollback quickly.
> -f, --force Replace snapshot without confirmation
> -h, --help Print this help
↑ヘルプを見てもvm-nameはオプションなのでいらないはず。
ヘルプを見てもエラー原因が分からない。
global-statusからゴミファイルを削除してみる
調べてみると、global-statusに消したはずのboxがゴミとして残っていることがあるらしい。
調べたところ、ゴミファイルがあった。
c:\Vagrant\cent7>vagrant global-status
> id name provider state directory
> -------------------------------------------------------------------------
> 6f1dd56 default virtualbox stopping C:/Vagrant/ubuntu ←ゴミファイル
> f82ad64 default virtualbox poweroff C:/Vagrant/cent7
削除する。
c:\Vagrant\cent7>vagrant destroy 6f1dd56
> default: Are you sure you want to destroy the 'default' VM? [y/N] y
> ==> default: Destroying VM and associated drives...
再度スナップショットを作成しようとするが、これでもダメ。
c:\Vagrant\cent7>vagrant snapshot save savepoint1
> The machine with the name 'savepoint1' was not found configured for
> this Vagrant environment.
vm-nameと出ているので、defaultがそれにあたると踏んだところ…
c:\Vagrant\cent7>vagrant snapshot save default savepoint1
> ==> default: Snapshotting the machine as 'savepoint1'...
> ==> default: Snapshot saved! You can restore the snapshot at any time by
> ==> default: using `vagrant snapshot restore`. You can delete it using
> ==> default: `vagrant snapshot delete`.
作成できた!
c:\Vagrant\cent7>vagrant snapshot list
> ==> default:
> savepoint1
スナップショット作成にはvm-nameが必要、デフォルトの名前は"default"
よく検証でVagrantを使っています。
今回VMで検証を行う際に事前にスナップショットを作成して、
何か問題があったときに切り戻したかったので、下記コマンドでスナップショットを作成しようとしたところ、失敗したのでその解決までの経緯をご紹介します。
# vagrant snapshot save <スナップショット名>