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 vzdump

vzdumpの使い方を学ぶために。

サーバー上のすべての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 250

5 リンク

Share: X/Twitter LinkedIn

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

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