VirtBKP

创建oVirt / RHEV的VM的备份

https://github.com/vacosta94/VirtBKP

介绍

 从3.5 版  开始,我就一直在使用  oVirt  作为主要的虚拟化平台,从第一天起,我就在寻找一种基于快照创建VM备份的工具,就像许多解决方案都使用  VMWARE一样,经过一番研究,发现没有一个工具可以满足要求我的要求,所以 决定使用oVirt python API 创建一个

要求

  • oVirt > = 4.0
  • 安装了此工具的装有CentOS 7的虚拟机,我们将其称为VM  bkpvm
  • bkpvm  应该在 我们要备份的VM 的同一  oVirt数据中心上
  • bkpvm  应该有足够的空间来存储备份
  • 存储域 应有足够的 空间来拍摄快照

它是如何工作的?

该脚本应在bkpvm上运行,   并连接到  oVirt API  以执行以下操作:

  • 创建快照
  • 将磁盘附加到  bkpvm
  • 创建虚拟 机磁盘的  qcow2 文件
  • 删除快照

完成后,它将 为每个虚拟机的磁盘创建一个  qcow2 文件

安装方式

先决条件

bkpvm上安装所需的存储库  

yum install -y epel-release
yum install -y http://resources.ovirt.org/pub/yum-repo/ovirt-release41.rpm 

从配置的存储库中安装所需的软件包:

yum install -y qemu-img python-ovirt-engine-sdk4 python-requests git ovirt-guest-agent

下载

cd /opt
git clone https://github.com/vacosta94/VirtBKP.git

我们需要获取oVirt的 CA,以便建立与oVirt API的安全连接 

cd /opt/VirtBKP
curl --insecure "https://ovirt.infratic.com/ovirt-engine/services/pki-resource?resource=ca-certificate&format=X509-PEM-CA" -o ca.crt
 

用法

配置

有一个配置文件  default.conf  内  VirtBKP  文件夹,该文件都被工具所需要的参数。应根据您的环境修改此文件,如下所示:

vi /opt/VirtBKP/default.conf
[bkp]
url		= https://ovirt.example.com/ovirt-engine/api
user		= [email protected]
password	= password
ca_file		= ca.crt
bkpvm		= bkpvm
bckdir 		= /mnt/

[restore]
url		= https://ovirt.example.com/ovirt-engine/api
user		= [email protected]
password	= password
ca_file		= ca.crt
storage		= gfs_pool0
proxy		= ovirt.example.com
proxyport	= 54323

      

  • url :  oVirt API  URL(写完整ovirt-engineFQDN主机名,不可以使用IP)
  • 用户名:  用户名
  • 密码:  用户密码
  • ca_file:ca.crt的路径 
  • bkpvm:我们的bkpvm的名称 
  • bckdir:以.qcow2  格式存储备份的路径 
  • storage :我们将在其中还原备份的存储域
  • 代理:  ovirt -image代理FQDN主机名(默认值:ovirt-engine,不可以使用IP)
  • proxyport:ovirt -image-proxy的TCP端口   (默认:54323)

创建备份

为了创建虚拟机的备份,您应该使用以下语法:

/opt/VirtBKP/backup_vm.py <configuration_file> <vm_name>

例:

/opt/VirtBKP/backup_vm.py /opt/VirtBKP/default.conf webserver

恢复备份

为了还原现有备份,您应该使用以下语法:

/opt/VirtBKP/upload_disk.py <configuration_file> <qcow2_file>

/opt/VirtBKP/upload_disk.py /opt/VirtBKP/default.conf /mnt/webserver_2017-04-28-00h.qcow2

upload_disk.py测试发现传输1GB数据就断开问题,后使用ovirt-engine界面直接上传qcow2成功

oVirt 虚拟机备份脚本程序VirtBKP

oVirt 虚拟机备份脚本程序VirtBKP

oVirt 虚拟机备份脚本程序VirtBKP

oVirt 虚拟机备份脚本程序VirtBKP

oVirt 虚拟机备份脚本程序VirtBKP

关机的虚拟机磁盘可以从此界面下载:

oVirt 虚拟机备份脚本程序VirtBKP

上传完成后,新建虚拟机,将上传的 磁盘挂载上就可以使用该磁盘。

相关文章: