バックアップとクローン · 1 min read · Jan 05, 2026

VirtualBox: 実行中の仮想マシンのバックアップとクローンを作成する (ダウンタイムなし) LVMスナップショットを使用

VirtualBox: 実行中の仮想マシンのバックアップとクローンを作成する (ダウンタイムなし) LVMスナップショットを使用

Version 1.0
Author: Falko Timme
Follow me on Twitter

LVMボリュームを使用してVirtualBox VMを管理している場合 (チュートリアル「VirtualBox VMでのRAWデバイスの使用」に示されているように)、実行中のVMのバックアップやクローンをシャットダウンせずに作成できます。このチュートリアルでは、ダウンタイムなしで実行中のVirtualBox VMのバックアップとクローンを作成するためにLVMスナップショットを使用する方法を示します。

これがあなたにとって機能することを保証するものではありません!

1 前提条件

私はヘッドレスサーバーにVirtualBoxをインストールしたため、ここではphpvirtualboxをVirtualBox GUIとして使用しています。オリジナルのVirtualBox GUIを使用している場合も問題ありません。

バックアップを取りたい実行中の仮想マシンはvm10という名前で、LVMボリューム/dev/vg0/vm10にあります。

rootとしてログインしていることを確認してください (rootになるには

sudo su

と入力します)。このチュートリアルのすべてのステップはrootユーザーとして実行する必要があります。

2 LVMスナップショットを使用して実行中のVMのバックアップを作成する

実行中の仮想マシンvm10のバックアップを作成するために、まず/dev/vg0/vm10のLVMスナップショットをvm10_snapという名前で作成します。スナップショットは元のボリュームよりも小さくすることができます - 512MBで十分かもしれませんが、ここでは5GBのサイズを使用します:

lvcreate -L5G -s -n vm10_snap /dev/vg0/vm10

次に、ddを使用してスナップショットの内容を読み取り、gzipにパイプして、/backupディレクトリにgzippedバックアップイメージを作成します (もちろん、他のディレクトリを使用することもできます):

dd if=/dev/vg0/vm10_snap bs=64k | gzip -c > /backup/vm10.img.gz

これで完了です - vm10のバックアップは/backup/vm10.img.gzにあります。

次に、LVMスナップショットを削除します:

lvremove -f /dev/vg0/vm10_snap

3 バックアップからの復元/バックアップからのクローン作成

復元とクローン作成は本質的に同じですので、先ほど作成したバックアップからvm11というクローンを作成する方法を示します。

まず、元のLVMボリュームと同じサイズのLVMボリュームを作成します (この例では20GB):

lvcreate -L20G -n vm11 vg0

vm10のバックアップを新しい論理ボリューム/dev/vg0/vm11に復元します:

gunzip -c /backup/vm10.img.gz | dd of=/dev/vg0/vm11 bs=64k

次に、/dev/vg0/vm11用の.vmdkファイルを作成します (例: vm11.vmdk)。これをVirtualBoxで使用できるようにします。VirtualBoxが実行されているユーザーのホームディレクトリに作成するのが最適です (例: phpvirtualboxを使用している場合は/home/vbox) - ファイルはそのユーザーが所有している必要があります:

cd /home/vbox  
 VBoxManage internalcommands createrawvmdk -filename vm11.vmdk -rawdisk /dev/vg0/vm11  
 chown vbox:vbox vm11.vmdk

次に、VirtualBox GUI (オリジナルのVirtualBox GUIまたはphpvirtualbox)に移動し、「新規」をクリックします:

「新しい仮想マシンの作成」ウィザードで「次へ>>」をクリックします:

新しいVMの名前を指定し、元のVMで使用されているのと同じオペレーティングシステムとバージョンを選択します:

クローンのメモリを指定します:

「仮想ハードディスク」画面で「既存のハードディスクを使用」を選択し、「仮想ハードディスクファイルを選択」アイコンをクリックします:

vm11.vmdkファイルを選択し、「OK」をクリックします:

「次へ>>」をクリックします:

「作成」をクリックします:

クローンを開始する前に、いくつかの設定を調整することをお勧めします。たとえば、元のVMがブリッジ接続を使用している場合、クローンのネットワーク設定でもブリッジ接続を選択することをお勧めします:

「開始」をクリックしてクローンを起動します:

起動中に、ネットワーク設定がハングすることに気付くかもしれません:

これは、VirtualBoxがクローンに対してインターフェースeth0に異なるMACアドレスを割り当てたためですが、クローンの/etc/udev/rules.d/70-persistent-net.rulesファイルはまだ元のMACアドレスを使用しています。起動が完了したら、クローンにログインし、…

ifconfig

…と入力すると、eth0が欠落していることがわかります (MACアドレスの問題のため)、つまりクローンはネットワークを使用できません:

この問題を修正するには、クローンの/etc/udev/rules.d/70-persistent-net.rulesを開きます…

vi /etc/udev/rules.d/70-persistent-net.rules

…そしてeth0の行 (eth0のMACアドレスが間違っていたために起動中に追加されたeth1の行も) をコメントアウトします。これにより、次回の起動時にシステムが正しいMACアドレスを持つ新しいeth0行を追加することが保証されます。

クローンを再起動します。再起動後、ネットワークが機能するはずで、…

ifconfig

の出力にeth0が表示されるはずです:

おめでとうございます。元のVMをシャットダウンせずにVMを正常にクローンしました。

4 リンク

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。