0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Vagrantでsnapshotの取得とrestoreを実行する方法

Last updated at Posted at 2025-02-16

こんにちは
株式会社クラスアクト インフラストラクチャ事業部の大塚です。

Vagrantを使用して仮想環境を管理している場合、スナップショット機能を活用することで、環境を安全に変更し、問題が発生した際に簡単に元の状態に戻すことができます。本記事では、Vagrantのスナップショット機能を使った環境管理の手順を解説します。

スナップショットの作成

まず、現在のVagrant環境の状態を確認します。以下のコマンドを実行して、稼働中の仮想マシンを確認します。

shota@shota-20f5a2v5jp:~$ vagrant global-status
id       name      provider    state     directory
---------------------------------------------------------------------------------
61ff572  mypc      virtualbox  poweroff  /home/shota/ドキュメント/vagrant_mypc
a258e08  mysrv     virtualbox  poweroff  /home/shota/ドキュメント/vagrant_mysrv
9baf99a  mycentos  virtualbox  poweroff  /home/shota/ドキュメント/vagrant_mycentos
953be07  radius    virtualbox  running   /home/shota/ドキュメント/vagrant_radius01

ここでは、radiusという名前の仮想マシンが稼働中であることがわかります。この仮想マシンに対してスナップショットを作成します。

スナップショットがまだ作成されていないことを確認するために、以下のコマンドを実行します。

shota@shota-20f5a2v5jp:~$ vagrant snapshot list 953be07
==> radius: No snapshots have been taken yet!
    radius: You can take a snapshot using `vagrant snapshot save`. Note that
    radius: not all providers support this yet. Once a snapshot is taken, you
    radius: can list them using this command, and use commands such as
    radius: `vagrant snapshot restore` to go back to a certain snapshot.

スナップショットが存在しないことが確認できました。次に、スナップショットを作成します。今回は、スナップショット名を20250216_snapshotとします。

shota@shota-20f5a2v5jp:~$ vagrant snapshot save 953be07 20250216_snapshot
==> radius: Snapshotting the machine as '20250216_snapshot'...
==> radius: Snapshot saved! You can restore the snapshot at any time by
==> radius: using `vagrant snapshot restore`. You can delete it using
==> radius: `vagrant snapshot delete`.

スナップショットが正常に作成されたことを確認するために、再度スナップショットの一覧を表示します。

shota@shota-20f5a2v5jp:~$ vagrant snapshot list 953be07
==> radius:
20250216_snapshot

これで、現在の状態がスナップショットとして保存されました。
※GUIでもVirtualBoxアプリを起動することでsnapshotが取れていることを確認することが出来ます。

環境の変更

スナップショットを作成した後、仮想マシン内で必要な変更を行います。例えば、新しいソフトウェアをインストールしたり、設定を変更したりすることができます。

ロールバック

変更後に問題が発生した場合、スナップショットを使用して元の状態に戻すことができます。以下のコマンドを実行して、スナップショットを復元します。

shota@shota-20f5a2v5jp:~$ vagrant snapshot restore 953be07 20250216_snapshot
==> radius: Restoring the snapshot '20250216_snapshot'...
==> radius: Snapshot restored!

これで、仮想マシンはスナップショットを作成した時点の状態に戻りました。

スナップショットの削除

不要になったスナップショットは削除することも可能です。以下のコマンドを使用して削除します。

shota@shota-20f5a2v5jp:~$ vagrant snapshot delete 953be07 20250216_snapshot
==> radius: Deleting the snapshot '20250216_snapshot'...
==> radius: Snapshot deleted!

まとめ

Vagrantのスナップショット機能を活用することで、仮想環境の変更を安全に行うことができます。本記事では、以下の手順を解説しました。

  1. スナップショットの作成
  2. 環境の変更
  3. スナップショットを使用したロールバック
  4. スナップショットの削除

スナップショットを適切に活用することで、仮想環境の管理がより効率的かつ安全になります。特に、環境に大きな変更を加える前にはスナップショットを作成することを習慣化することで、トラブルを未然に防ぐことができます。ぜひ、日々の運用に取り入れてみてください!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?