仮想環境

VirtualBoxでスナップショットの復元と作成方法!自動取得の方法も解説

仮想サーバの設定を変更する前にスナップショットを取ったほうがいいのは分かるんですけど、VirtualBoxのどこを操作すればいいのかよくわからなくて、いつも取らずに作業してしまうんですよね。

手順もいまいちピンとこなくてめんどくさい。でも、この記事を読むとVirtualBoxでのスナップショットの作成が一目でわかります!その方法とは、この記事を読むことなんです。これって実は、現役インフラエンジニアが実際に行っているやり方なんです。

1.スナップショットとは

スナップショットとは、ある時点のデータの状態を保存する機能のことです。特に、ストレージや仮想マシン(VM)などのバックアップや復元に使われることが多いです。スナップショットは「完全なコピー」を作成するものではなく、変更されたデータのみを保存する増分バックアップの形式が一般的です。

1-1.スナップショットを取得するメリット

スナップショットの取得メリットについて紹介します。

高速なバックアップ・復元

フルバックアップと比べて、スナップショットは取得・復元が高速で、システムのダウンタイムを最小限に抑えられます。

ストレージの節約

差分データのみを保存する方式が多く、フルバックアップに比べてストレージ使用量を削減できます。

簡単なロールバック

システムの更新や設定変更後に問題が発生した場合、スナップショットを使って短時間で元の状態に戻すことができます。

データの保護

万が一のデータ破損や誤操作に備えて、重要なデータの保護手段として利用できます。

1-2.スナップショットが活用される場面

スナップショットの活用シーンについて紹介します。

システムアップデート前のバックアップ

OSのアップデートやアプリケーションのバージョンアップ前にスナップショットを取得し、問題があれば元に戻せるようにする。

開発・テスト環境の構築

特定の時点の状態を保存し、環境を壊してもすぐに復元できるようにする。

仮想マシンの管理

仮想マシン(VM)環境では、スナップショットを使って簡単に状態を保存し、異なるバージョンの環境を試すことができる。

データベースのバックアップ

データベースの定期的なスナップショットを取得し、データの損失や破損時に復元できるようにする。

ランサムウェア対策

スナップショットを定期的に取得し、不正な暗号化攻撃を受けた場合にクリーンな状態へ復元する手段として利用。

2.スナップショットの取り方

今回は、VirtualBoxを使用した、スナップショットの取得方法について紹介します。
使用するアプリケーション:VirtualBox
OS:CentOS 9

  1. VirtualBoxを開き、スナップショットを取得するサーバを選択し、「スナップショット」を押下する。
  2. 「作成」ボタンを押下する。
  3. スナップショットに任意の名前を付け、「OK」ボタンを押下する
  4. スナップショットが作成されたことを確認する

3.スナップショットの復元方法

次に、作成したスナップショットを復元する方法を紹介します。

  1. スナップショットを復元する前に、Apacheをインストールしてみましょう。
    「rpm -qa | grep httpd」コマンドを実行し、Apacheがインストールされていないことを確認します。
  2. 「dnf install httpd」コマンドで、Apacheをインストールする。
  3. 「rpm -qa | grep httpd」コマンドを実行し、Apacheがインストールされていることを確認する。
  4. VirtualBoxの画面に戻り、「復元」ボタンを押下する。
  5. 以下の画面のようなポップが出るので、「復元」ボタンを押下する。
    ※復元する前の情報を保持したい場合は、チェックボックスにチェックを入れてから復元する。
  6. 以下の画面のようになっていれば、復元成功です。
  7. サーバに戻り、「rpm -qa | grep httpd」コマンドを実行し、Apacheがインストールされていないことを確認する。インストールされていないことを確認できれば、復元成功です。

4.スナップショットの削除方法

スナップショットは、ストレージ容量を消費するため、適切な容量管理が必要です。不要になったスナップショットは速やかに削除し、ストレージ使用率を最適化することが重要です。スナップショットの削除方法について紹介します。

  1. 削除したいスナップショットを選択し、「削除」ボタンを押下する。
  2. 以下の画面のようなポップが出るので、「削除」ボタンを押下する。
  3. スナップショットが削除されたことを確認する

5.スナップショット自動取得方法

スナップショットを取得しないで作業した場合、作業後に問題が発生した場合元の状態に戻すことができません。そうなると、再度サーバの構築が必要になり非常に手間がかかります。

そういった事故を防ぐために、スナップショットを自動で取得する方法を紹介します。今回は、タスクスケジューラーを使用してスナップショットを自動で取得する方法を紹介します。

  1. Windowsの検索バーから「タスクスケジューラー」と入力し、タスクスケジューラーを開き「基本タスクの作成」ボタンを押下します。
  2. 以下のような画面が表示されるので、わかりやすい名前を付け、「次へ」ボタンを押下する。
  3. タスクの実行頻度を設定し、「次へ」ボタンを押下する。
    ※取得する頻度に合わせて設定をしてください。今回は毎日で設定しています。
  4. タスクスケジューラーの実行時間を設定し、「次へ」ボタンを押下する。
  5. 「プログラムの開始」を選択し、「次へ」ボタンを押下する。
  6. 以下のような設定をし、「次へ」ボタンを押下する。
    プログラムスクリプト:C:\Program Files\Oracle\VirtualBox\VBoxManage.exe
    引数:snapshot 「VM名」 take 「スナップショット名」
    ※引数は今回次のように設定しています。snapshot 「Linux」 take 「自動取得」
  7. 設定内容を確認し、「完了」ボタンを押下する。
  8. 作成したタスクスケジューラーが正常に動くか確認してみましょう。
    作成したタスクスケジューラーを選択し、「実行」ボタンを押下する。
  9. VirtualBoxに戻り、スナップショットが自動で作成されていれば成功です。

6.まとめ

ここまで、VirtualBoxを使用したスナップショットの取得方法を紹介いたしました!スナップショットを取得するのがめんどくさい方は、ぜひ自動取得の設定だけでも行ってみてください!

これからもインフラ系の情報を発信していきたいと思います。 最後まで読んでいただき、ありがとうございました。