web-dev-qa-db-ja.com

Ubuntuでの仮想マシンの自動バックアップ-VirtualBox

Virtualboxで複数の仮想マシンを実行しています。これらの仮想マシンのバックアップを取り、災害復旧のためにソース管理に保存したいと思います。私が理解していることから、これらの仮想マシンのスナップショットは、災害復旧に関する限り、うまくいかないでしょう。

これらのバックアップは定期的に取得され、Jenkinsオートメーションサーバーを使用して自動化します。私は TechRepublicの記事 を、仮想アプライアンスをエクスポートする限り、コマンドラインからVirtualBoxを操作するためのリソースとして使用しています。

Jenkinsジョブによって実行されるプロセスに関する私の考えは次のとおりです(すべてのアクションはコマンドラインから実行されます)。

  1. バックアップする特定の仮想マシンの電源を切ります(そして、virtualboxを実行したままにします)。
  2. VirtualBoxエクスポートコマンドを実行します。

    vboxmanage export UBUNTUSERVER164 -o ubuntu_server_new.ova
    
  3. コマンドを実行して、仮想マシンをバックアップします。

  4. VirtualBox仮想アプライアンスが保存されているディレクトリにCDを挿入します。
  5. 新しく作成した仮想アプライアンス(.ova形式)をローカルバックアップディレクトリにコピーします。
  6. 圧縮(tar)、ローカルバックアップディレクトリにコピーされた.ovaファイル。
  7. ローカルバックアップディレクトリにある.ovaファイルの圧縮されていないコピーを削除します。
  8. Gitは圧縮された仮想アプライアンスをコミットし、GitはBitBucketにプッシュします。

このアプローチの使用に関していくつか質問があります。

  • VirtualBoxの仮想アプライアンスはデフォルトでどこに保存されますか?
  • バックアップ前の仮想マシンの電源を切るシェルコマンドはどのようになりますか?
  • バックアップ後に仮想マシンをパワーオンするには、Shellコマンドはどのように見えますか?
3
J0991

タスクの簡単なアプローチを次に示します。

  1. ゲストで実行されているSSHセッションを介してゲストをシャットダウンします

    ssh -t user@virtualmachine Sudo poweroff
    
    • VBoxManage controlvm [nameofmachine] poweroffを使用して仮想マシンをパワーオフすることは、データの損失につながる可能性があるためお勧めしません。
  2. 仮想マシンをOVA形式にエクスポート

    VBoxManage export [nameofmachine] -o /path/[name].ova
    
    • OVA形式は、VDIに圧縮されたVMDK形式を使用します。さらに圧縮する必要はないかもしれません。
    • 輸出には数杯のコーヒーが必要です。
  3. 結果の(巨大な)OVAファイルをバックアップが必要な場所にコピーします。

  4. バックアップをインポートします

    VBoxManage import [filename.ova] [--dry-run] [--vsys 0 --vmname <name>]
    
    • 必要なオプション の表示のためにドライランを作成します。元の名前を保持している場合は、別の名前を付けてください。
  5. インポートされた仮想マシンを実行します

    virtualbox --startvm [name]
    
1
Takkat