实战教程:VMware虚拟机的裸设备级备份(2)
快照前的准备工作
既然Delta和交换文件不会被备份,那么第一步要做的事是将目录中的文件列出来,将其通过管道命令输出到一个文件中。以下为执行命令:
$ ls /vmfs/volumes/storage1/VM1 > /tmp/filestocopy
#使用ls命令,列出虚拟机目录下的所有文件,通过pipe命令“>”输出到“filetocopy”文件中。(“#”后为注释,下同。)
然后开始创建虚拟机VM1的快照,在ESX服务器的控制台上执行以下命令:
$ /usr/bin/VMware-cmd /vmfs/volumes/storage1/VM1/VM1.vmx
createsnapshot dailybackups “Backups snapshot” 1
以下对命令进行分开解释:
/usr/bin/VMware-cmd
#这是一个用来进行虚拟机备份的可执行命令。
/vmfs/volumes/storage/VM1/VM1.vmx
#这是虚拟机的配置文件。
Createsnapshot
#创建快照的命令。
Dailybackups
#快照名称。
“Backups snapshot”
#ESX服务器上的日志记录及虚拟机中心环境
备份虚拟机文件
现在,虚拟机的快照做好了,可以开始备份虚拟机上的所有文件了。上期文章中我们提到过Openssh服务。在备份服务器上,我们需要先设置Openssh服务,然后再使用Openssh。
这种方式可以安全地从ESX服务器上将文件复制到备份服务器。采用这种方法,一方面在ESX服务器上不用安装备份软件,最小化了传输文件的时间;同时,也省略了在ESX服务器上加载备份软件的时间。
除了Delta与快照文件外,需要将虚拟机上所有目录中的所有文件进行备份。由于操作系统本身的问题,在Unix、Linux系统中对文件的权限管理比较严格,所以,请注意快照文件的创建权限。同时,请记住要使用SFTP来传输快照进行前的所有虚拟机文件。
执行备份步骤如下:
1. 在ESX服务器上执行SFTP
$ sftp -b /tmp/filestocopy root@.FTPServerIP
根据系统,输入备份服务器上的root的口令
2. 将备份文件复制到备份服务器上
请注意:这种情况下,我们需要使用管理控制台那块网卡来复制文件(不是虚拟机以太网卡)。使用管理控制台网卡可以减少对虚拟机性能的影响。图1显示了执行备份时的快照备份数据流的情况。
3. 提交Delta文件
一旦备份完成,原来的一些写磁盘等操作,例如写磁盘动作,将被重新补入虚拟机的原始VMDK文件中。要完成这一步,运行以下命令,将把Delta文件中备份过程中的动作写入VMDK文件;最后,从磁盘上删除快照和Delta文件。
$ /usr/bin/VMware-cmd /vmfs/volumes/storage/VM1/VM1.vmx removesnapshot
以上命令及解释如下:
/usr/bin/VMware-cmd
#这是一个用来进行虚拟机备份的可执行命令。
/vmfs/volumes/storage/VM1/VM1.vmx
#虚拟机的配置文件
removesnapshot
#将所有的delta中动作补入VMDK文件后,然后删除快照文件、delta文件。
至此,裸文件已经保存到了备份服务器上。以后,备份好的文件可以被复制到磁带安全保存。
恢复虚拟机的裸文件
恢复虚拟机的裸文件(raw files)的过程如下:
1. 将虚拟机的核心文件恢复到任意一台ESX服务器上;
2. 在服务器上注册虚拟机;
3. 在服务器上打开虚拟机。
基于裸文件可以将发生故障的虚拟机快速恢复。恢复时间只相当于基于文件级恢复时间的几分之一。较之文件级的备份,真是省略了很多时间,并且不会出现其他的错误。
不懂 发表于: 2009-11-04
我要回答相关推荐
-
运行在Esxi主机A上的vmware虚拟机可以同时使用主机EsxiA和主机Esxi B的计算资源吗?
请问大家,如果有两台Esxi主机,假设A和B。那么运行在Esxi主机A上的某台vmware虚拟机可以同时使用主 […]
-
如何在Linux下创建VMware虚拟机?
-
有谁试过在VMWare虚拟机上安装Android么?
-
如何避免VMware虚拟机出现备份缺陷?
-
vmware虚拟机文件锁了 ,怎么解锁呢?