OpenVZ · 1 min read · Jan 07, 2026
vzdumpを使用してOpenVZ VMをクローン/バックアップ/復元する
vzdumpを使用してOpenVZ VMをクローン/バックアップ/復元する
Version 1.0
Author: Falko Timme
vzdumpはOpenVZ VMのバックアップおよび復元ユーティリティです。このチュートリアルでは、vzdumpを使用して仮想マシンをクローン/バックアップ/復元する方法を示します。
私はこれがあなたにとって機能するという保証はしません!
1 予備ノート
このチュートリアルでは、2つのOpenVZサーバーを使用しています:
- server1.example.com: IP 192.168.0.100
- server2.example.com: IP 192.168.0.101
(どちらもDebian Etchを使用しており、このチュートリアルに従って設定されています: Debian EtchにOpenVZをインストールして使用する - しかし、他のディストリビューションでも動作します。)
私はserver1.example.comでホスト名test.example.com、IPアドレス192.168.0.102、VEID 102の仮想マシンを実行しており、そのマシンをバックアップしてserver2.example.comに復元したいと考えています。
変更なしでserver2.example.comに復元できます(例:同じIPアドレスとホスト名)が、その場合、server1.example.comでVMを停止する必要があります。そうしないと、IPアドレスとホスト名が競合します。2つ目の可能性は、server2.example.comに復元しますが、vzctl setコマンドを使用してIPアドレスやホスト名などのパラメータを変更することです。この場合、両方のVM(server1.example.comの元のものとserver2.example.comのクローン)を同時に実行できます。これはVMをクローンするための素晴らしい方法です。
2 OpenVZサーバーの準備
まず、vzdumpとその依存関係であるrsyncをインストールする必要があります。Debianでは、コマンドは次のようになります:
server1/server2:
apt-get install vzdump rsync 3 VMのバックアップを作成する
(この章はserver1のみです!)
server1.example.comで、VEID 102のVMのバックアップを作成したいと思います。次を確認してください:
man vzdumpvzdumpの使い方を学ぶために。
サーバー上のすべてのVMをバックアップするには、次のようにします:
vzdump --compress --dumpdir /home/backup --stop --all–compressは、ダンプファイルを圧縮することを意味します(結果はa.tgz)。
–dumpdirは、ダンプを保存したいディレクトリを指定します。dumpdirを指定しない場合、デフォルトは/vz/dumpまたは/var/lib/vz/dump(ディストリビューションによって異なります)になります。
–stopはVMを停止し、バックアップを作成し、その後再起動します。–stopを使用すると、VMは数分間ダウンする可能性があります。より迅速な解決策は、…を使用することです。
–suspend:これはVMを一時停止します。VMは一時ディレクトリにrsyncを介してコピーされます。VMはすぐに再開されるため、数秒間ダウンするだけで、その後、一時ディレクトリ内のコピーを使用してダンプが作成されます。長時間のダウンタイムを許容できない場合は、これを使用することをお勧めします。
–stopと–suspendを省略して、実行中のVMをダンプすることもできます。ほとんどの場合、問題はありませんが、ダンプが不整合になる可能性があるため、注意してください!
–allは、すべての利用可能なVMのダンプを作成します。特定のVMのみをダンプしたい場合は、–allをVMのVEIDに置き換えます。
/home/backupにVM 102のダンプを作成し、バックアップ中にVMを停止するには、次のようにします:
vzdump --compress --dumpdir /home/backup --stop 102デフォルトのディレクトリ(/vz/dumpまたは/var/lib/vz/dump)にダンプを作成するには、次のようにします:
vzdump --compress --stop 102出力は次のようになります:
server1:/vz/dump# vzdump –compress –stop 102
INFO: starting backup for VPS 102 (/var/lib/vz/private/102)
INFO: starting first sync /var/lib/vz/private/102 to /var/lib/vz/dump/tmp9009
INFO: stopping vps
Stopping container …
Container was stopped
Container is unmounted
INFO: final sync /var/lib/vz/private/102 to /var/lib/vz/dump/tmp9009
INFO: restarting vps
Starting container …
Container is mounted
Adding IP address(es): 192.168.0.102
Setting CPU units: 1000
Configure meminfo: 65536
Set hostname: test.example.com
File resolv.conf was modified
Container start in progress…
INFO: vps is online again after 15 seconds
INFO: Creating archive ‘/var/lib/vz/dump/vzdump-102.tgz’ (/var/lib/vz/dump/tmp9009/102)
Total bytes written: 340428800 (325MiB, 11MiB/s)
INFO: backup for VPS 102 finished successful (1.37 minutes)
server1:/vz/dump#
停止せずにVMを一時停止するには、次のようにします:
vzdump --compress --suspend 102これはサンプル出力です:
server1:~# vzdump –compress –suspend 102
INFO: starting backup for VPS 102 (/var/lib/vz/private/102)
INFO: starting first sync /var/lib/vz/private/102 to /var/lib/vz/dump/tmp10842
INFO: suspend vps
Setting up checkpoint…
suspend…
get context…
Checkpointing completed succesfully
INFO: final sync /var/lib/vz/private/102 to /var/lib/vz/dump/tmp10842
INFO: resume vps
Resuming…
INFO: vps is online again after 4 seconds
INFO: Creating archive ’/var/lib/vz/dump/vzdump-102.tgz’ (/var/lib/vz/dump/tmp10842/102)
Total bytes written: 340428800 (325MiB, 24MiB/s)
INFO: backup for VPS 102 finished successful (1.57 minutes)
server1:~#
バックアップ後、ダンプディレクトリを確認してください…
ls -l /vz/dump/… そして、a.tgzファイルが表示されるはずです:
server1:~# ls -l /vz/dump/
total 147864
-rw-r–r– 1 root root 1170 2008-11-20 17:40 vzdump-102.log
-rw-r–r– 1 root root 151249685 2008-11-20 17:40 vzdump-102.tgz
server1:~#
これで、ダンプを他のOpenVZサーバーにコピーできます。たとえば、scpを使用して(これにより、/vz/dump/vzdump-102.tgzがserver2.example.comの/homeディレクトリにコピーされます):
scp /vz/dump/vzdump-102.tgz [email protected]:/home 4 VMの復元
(この章はserver2のみです!)
server2.example.comで、次のようにVMを復元できます…
vzdump --restore /home/vzdump-102.tgz 250… ここで、250は復元されたVMの新しいVEIDです - server2.example.comで未使用の任意のVEIDを使用できます - server2.example.comで未使用であれば、102を再度使用することもできます。
VMの設定(例:IPアドレス、ホスト名)を変更したくない場合は、今すぐ起動できますが、元のVMがserver1.example.comで停止していることを確認してください。そうしないと、IPアドレスが競合します:
vzctl start 250元のVMとクローンの両方を同時に実行したい場合は、起動する前にクローンのIPアドレスとホスト名を変更する必要があります。
新しいホスト名を設定するには、次のようにします:
vzctl set 250 --hostname test2.example.com --save新しいIPアドレスを設定するには、まず元のIPアドレスを削除する必要があります…
vzctl set 250 --ipdel 192.168.0.102 --save… そして新しいIPアドレスを設定します:
vzctl set 250 --ipadd 192.168.0.250 --save その後、クローンを起動できます:
vzctl start 2505 リンク
- OpenVZ: http://wiki.openvz.org/
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。