2008年04月17日

备份方法一:前两天测试了一下两种最笨的方法,一是使用ssh登录ESX之后把VM(Windows2003)的整个目录端过来。测试结果:在虚拟机正常运行的情况下拷过来的备份,上传回去之后不能启动,报错;将虚拟机停止之后拷贝过来的备份上传之后正常启动了。 二是使用VIC中的DataStorage Browser下载和上传回去。[存在的问题:是否支持所有的备份,存在问题还未知。缺点:只能冷备份,备份的时候需要一个漫长的过程(40G将近六个小时),期间机器需要关闭]

备份方法二:使用vcbMounter备份,vcbRestore恢复。支持热备份。VMware Consolidated Backup是VMware为VMware Virtual Infrastructure新推出的一款备份工具。
 参考: http://jiaxu2000.spaces.live.com/blog/cns!4540AFEBE15A2A8F!469.entry http://jiaxu2000.spaces.live.com/blog/cns!4540AFEBE15A2A8F!474.entry http://jiaxu2000.spaces.live.com/blog/cns!4540AFEBE15A2A8F!480.entry http://www.vmware.cn/Article/1275.html
由于前两天的备份方法的不便,今天测试VMWARE提供vcb命令备份方式。
 1、备份
    a.在Windows2003上:下载VCB,安装VCB, vcbMounter -h esxhost -u backupuser -p password -a ipaddr:192.168.10.1 -r E:\vm-backups\vm1   
         -h: 指定执行命令的ESX HOST 或 VIRTUAL CENTER。
   -u: 执行命令的帐户, 如果-h指定的是ESX, 要用该ESX上的帐户, 如果是VC, 则要用VC上的帐户        -p: 帐户的PASSWORD
   -a: 指定后备的VM, 可以用, IP, FQDN, VM名等
   -r: 指定存放备份IAMGE的目录。 可以在本地或共享存储上
         -M 1: 不分割。
   -F 1: 不压缩。
 由于Windows下可能需要SAN的支持,备份过程中报错,目前没有SAN环境
     b.在ESX中使用Service Console。参数同windows
         vcbMounter -a ipaddr:192.168.10.1 -r /vmfs/volumes/DataStorage1/vm-backups/vm1
    备份成功。注意:在我备份之后恢复发现快照没有了,可能默认备份是压缩造成的。

2、恢复
vcbRestore -s /vmfs/volumes/DataStorage1/vm-backups/vm1 -b overwrite
恢复如果不加参数 -b overwrite会提示是否覆盖。恢复25G左右系统大概用了25分钟。

 问题:vcbRestore恢复时是恢复至原目录下,即原来VM在DataStorage2下,那么恢复也是恢复至原目录。这样,如果将备份转移至其他ESX,可 能目录结构是不一样的。该如何恢复呢?
 解决:(尚未测试) 修改Catalog文件中的 ServerName 和 storagename。有人测试成功了。

在ESX中备份到远程目录
 参考:http://bbs.vmware.cn/thread-13278-1-1.html
 http://jiaxu2000.spaces.live.com/blog/cns!4540AFEBE15A2A8F!480.entry

1、通过SMB备份到Windows。
    a.连接到Windows共享目录
    1)打开防火墙。必须防火墙不开。打开防火墙 chkconfig iptables on (重启后生效) service iptables start(立即生效)
    2)编辑 /etc/hosts 文件,为 Windows 服务器起个名。这个步骤的原因是 mount 命令只支持主机名,不支持 IP。
    3)如果是临时映射,执行 3a。如果想永久映射(每次重启ESX都自动映射),执行3b。
      3a) mkdir /mnt/software mount -t smbfs -o codepage=936,iocharset=cp936,username=dgsheng,password=123456 //dgsheng/share /mnt/ntserver
       解释: mkdir /mnt/software 是建一个目录,作为映射用。 mount 命令中 dgsheng 是 Windows 的用户名,123456 是 Windows 的密码。dgsheng 是 hosts 文件中的主机名,对应 Windows 服务器 IP 地址。share 是 Windows 服务器上的共享文件夹共享名。
      3b)编辑 /etc/fstab 文件,添加一行: banana/share /mnt/ntserver smbfs codepage=936,iocharset=cp936,username=dgsheng,password=123456 0 0
     备注:使用smbClient测试连接Windows共享 smbclient -L //ip -U dgsheng 查看共享文件夹,注意要用IP,我使用服务器名连接上了但报错。

2、备份 vcbMounter -h host -u username -p password -a ipaddr:192.168.10.101 -r /mnt/ntserver
(测试中)