在suse上克隆XEN 虚拟机

如何在suse上克隆XEN 虚拟机,或者说复制,备份一台XEN VM。
最简单的办法,如果你不是在使用XEN SERVER。比如,运行在SUSE 上的虚拟机。

1.虚拟机克隆脚本
1.1.从http://virt-manager.et.redhat.com/download.html 下载virt-clone工具,在virt-install包中。
1.2.确定你打算备份的XEN 虚拟机的存储位置,比如:镜像文件的路径,或者LVM的路径。
1.3.创建一个目录,作为目标存储位置。
1.4.关闭待复制的虚拟机。
1.5.运行./virt-clone 命令,交互式地填写克隆虚拟机的名字,源虚拟机的路径、目的虚拟机的路径、新的UUID、新的MAC地址等信息,  信息填写完成后,开始克隆虚拟机。(UUID和MAC不指定的话,将会随机生成)
1.6.克隆完成后,克隆出的虚拟机被自动加入到VMM中。
克隆速度还是很快的,工具会自动产生新虚拟机的所有配置文件,因此克隆完成后立刻在VMM中能够看到新虚拟机。
1.7 也可以非交互式方式克隆,例如
./virt-clone -o 原虚拟机名字 -n 新虚拟机名字 -f 新虚拟机镜像文件名字


2.参考:
http://virt-manager.et.redhat.com/download.html

之前使用了一个xen-backup的脚本,也很不错。虽然在全虚拟化环境下有些问题(无法备份windows虚拟机)。
但是在半虚拟化环境下还是很好用的。提供了本地备份和异地备份方式。详细介绍可参考
http://www.johnandcailin.com/blog/john/backing-your-xen-domains

3. 虚拟机备份脚本
3.1 使用xenbackup脚本,
来自:http://www.johnandcailin.com/blog/john/backing-your-xen-domains
3.1.1 修改脚本中的如下位置:
  修改以下路径:(本例是以tar方式本机备份,若使用其他备份方式,需要修改相应的路径,例如rsync)
  #mountPoint="/mnt/xen"                    # the mount point to use to mount disk areas
  #xenDiskArea="/dev/skx-vg"                # the LVM volume group to use
  #tarExe=/usr/bin/tar                      # tar executable
3.1.2 执行备份,在/tmp目录中产生.gz的备份包
  xenBackup -a vmname-t /tmp

4. 从备份恢复虚拟机
4.1 解压缩备份包
  #gzip -d beifen.gz
  #tar xvf beifen.gz
4.2 新建LVM,比如叫做vg2/lvbk,并mount上。
4.3 拷贝解压缩后的备份到vg2/lvbk
4.4 通过从YaST/XEN Management建立新的虚拟机,或者手工建立虚拟机,需要修改如下参数:
4.4.1 disk 指向vg2/lvbk
4.4.2 boot 指向hda2(这个要和是原虚拟机的参数一致)
4.4.3 vif 要和是原虚拟机的参数一致
4.5 启动虚拟机,检查下是否OK。

你可能感兴趣的:(虚拟机,脚本,SuSE,虚拟化,xen,disk)