今回はHyper-Vの仮想マシンのバックアップを取る方法について書きます。
仮想マシンをバックアップ方法は3種類あります。
チェックポイント

特徴
チェックポイントは一番簡単にバックアップできます。ロールプレイングゲームのセーブデータを新しく別に作るイメージです。Hyper-V上で操作するだけですし、セーブポイントに名前も付けられるので、どの状態か、というのもメモできます。
一方で、ホストマシンが壊れたら仮想マシンも道連れなので、このチェックポイントだけでは不十分です。
やり方
Hyper-Vマネージャー上で、チェックポイントを作成したい仮想マシンを選択してチェックポイントをクリックするだけです。

このようにチェックポイントを作成されます。これでセーブ完了です。簡単っ

経験上、チェックポイントには名前を付けておくと良いです。時間が経つと、このチェックポイントってなんだったっけ?となってしまうことがあり、それでは意味がありません。
例えば、このような感じで初回の環境構築が終わった時点でチェックポイントを作って置くと、戻したい時に初期設定が終わった状態にすぐに戻せますので、OSのインストールから作り直すより効率が良いです。

チェックポイントは蓄積していけるので、このように環境を変更したタイミングでチェツクポイントを作成しておくと、どこまで戻すというのが指定できるので便利です。
例えば、このように作成しておくと、やっぱりNginxはやめてApacheにしようという時に初回環境構築完了時のチェックポイントを適用することでNginxを入れる前に戻せます。

エクスポート

特徴
エクスポートを実施すると、Hyper-Vの中から仮想マシンを物理ファイルとして取り出せます。つまりファイルサーバや外付けHDDに退避できるので、ホストマシンが壊れても巻き添えにはなりません。
そして別のマシンのHyper-V上にインポートができるので仮想マシンの引っ越しができます。チェックポイントの情報もそのまま残ります。
但し、チェックポイントと違って仮想マシン情報を丸ごとファイルで退避するため、仮想マシンもう一環境分のディスクを消費しますので、チェックポイントのような細かい定点保管には向いてません。
やり方
Hyper-Vマネージャーでエクスポートしたい仮想マシンを右クリックしてエクスポートを選択します。

エクスポート先の場所を指定します。エクスポート対象の仮想マシンと同じぐらいの空き容量のある場所を指定する必要があります。
ちなみに、ネットワーク上は直接指定できないようですので、ファイルサーバやNASに出力したい場合は、一度ホストマシンのローカルディスクや外付けHDD等にエクスポートしてから移動する必要があります。


これがエクスポートすると作成されるフォルダ群です。これをどこか別の場所にコピーしておけばOKです。

ファイルがバラバラして嫌だーという場合は、ZIP圧縮して1ファイルにまとめるとよいでしょう。
参考までにWindows10の仮想マシンをエクスポートしたものをZIPファイルにしてみました。
圧縮率いいですね。半分以下になってファイルが1つにまとまるので、これはやったほうがいいと思います。

保存版として圧縮保管するなら、ZIP形式よりもRAR形式の良さそうです。上のと同じものをRAR圧縮したところ、ZIPより圧縮率が良く、3割ぐらいまで圧縮できました。圧縮するファイルによって変動するので一概には言えないですが、今回はZIPより1GBもサイズが小さくできたので、RAR圧縮版を保管することにしました。

仮想マシンファイルのコピー

特徴
仮想マシンはホストマシン側では普通のファイルです。これをただコピーするだけです。仮想マシンの設定画面で仮想マシンの物理ファイルの格納場所とファイル名が確認できますので、そのファイルをコピーするだけです。
必ず次の状態で行ってください。
- 仮想マシンが停止していること
- チェックポイントが無いこと
仮想マシンの実行中だとファイルが更新されているので、この状態で勝手にコピーすると不整合が発生します。
チェックポイントがあると仮想ハードディスクのファイルの拡張子がvhdxではなく、avhdxになっています。これは仮想マシンの差分ファイルなので、これをコピーしても動きません。

まとめ
日々のちょっとしたバックアップはチェックポイント。
定点保管、断面保存はエクスポート。
仮想マシンを停止できて、チェックポイントが作成されていないなら仮想マシンファイルのコピー。
こんなところだと思います。
コメント