使用vzdump克隆/备份/还原OpenVZ VM

使用vzdump克隆/备份/恢复OpenVZ虚拟机

版本1.0
作者:Falko Timme

vzdump是OpenVZ VM的备份和恢复实用程序。 本教程将介绍如何使用vzdump克隆/备份/还原虚拟机。

我不会保证这将为您工作!

1初步说明

本教程中使用了两个OpenVZ服务器:

  • server1.example.com:IP 192.168.0.100
  • server2.example.com:IP 192.168.0.101

(两者都使用Debian Etch,并根据本教程设置: 在Debian Etch上安装和使用OpenVZ - 但它也适用于任何其他发行版。)

我正在运行虚拟机,主机名为test.example.com ,IP地址为192.168.0.102 ,而server1.example.com上为VEID 102 ,我想备份该机器并将其还原到server2.example.com上

我们可以在server2.example.com上进行恢复,而无需更改(例如,相同的IP地址和主机名),但是在这种情况下,我们必须在server1.example.com上停止虚拟机, 否则 IP地址和主机名将会冲突; 第二种可能性是在server2.example.com上恢复它,但是使用vzctl set命令更改一些参数,如IP地址和主机名 - 在这种情况下,我们可以运行两个虚拟机(原来的一个在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

要备份服务器上的所有虚拟机,您可以使用类似的

vzdump --compress --dumpdir /home/backup --stop --all

--compress意味着:压缩转储文件(结果为.tgz )。

--dumpdir指定要存储转储的目录。 如果不指定dumpdir,那么它默认为/ vz / dump/ var / lib / vz / dump (取决于您的分发)。

--stop停止VM,创建备份,然后重新启动。 如果您使用--stop,您的虚拟机可能会在几分钟后关闭 。 一个更快的解决方案是使用...

- 悬浮 :它暂停虚拟机; 然后将VM通过rsync复制到临时目录。 之后,VM将恢复正常,这样它只会停留几秒钟,然后使用临时目录中的副本创建转储。 如果您不能承受长时间的停机时间,我建议使用这个。

您也可以忽略--stop和 - 悬挂并转储正在运行的虚拟机。 在大多数情况下,这没有问题,但是转储可能不一致,因此请注意!

- 将创建所有可用虚拟机的转储。 如果要仅转储特定的VM,请使用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/

...你应该看到一个.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 root@192.168.0.101:/home

4恢复虚拟机

(本章仅适用于server2!)

server2.example.com上 ,您现在可以按如下方式还原VM

vzdump --restore /home/vzdump-102.tgz 250

...其中250是恢复的虚拟机的新VEID - 您可以使用server2.example.com上未使用的任何VEID - 如果在server2.example.com上未使用,您甚至可以再次使用102

如果您不想修改VM的设置(例如IP地址,主机名),可以立即启动, 但是请确保原始虚拟机在server1.example.com上停止,否则会导致IP地址冲突:

vzctl start 250

如果要同时运行两个VM(原始和克隆), 则必须在启动克隆之前更改克隆的IP地址和主机名

要设置新的主机名,请像这样运行sonething:

vzctl set 250 --hostname test2.example.com --save

要设置新的IP地址,我们必须先删除原来的一个...

vzctl set 250 --ipdel 192.168.0.102 --save

...然后设置一个新的:

vzctl set 250 --ipadd 192.168.0.250 --save

之后我们可以开始克隆:

vzctl start 250

5链接

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏