пятница, 13 мая 2016 г.

Citrix XENServer Backup VM


XEN: Бекап работающей виртуальной машины


По шагам:
Заходим в командную консоль XEN

1. Найти UUID VM

# xe vm-list is-control-domain=false is-a-snapshot=false
uuid ( RO)           : 8ac95696-94f3-83c1-bc89-8bb2603f832b
     name-label ( RW): test-vm
     power-state ( RO): running
Из этого вывода получается, что у VM test-vm uuid “8ac95696-94f3-83c1-bc89-8bb2603f832b“.

2. Создать снимок VM

Используем uuid из предыдущей команды:
# xe vm-snapshot uuid=8ac95696-94f3-83c1-bc89-8bb2603f832b new-name-label=testvmsnapshot
Команда выдает нам uuid снимка, который мы конвертируем в VM для экспорта
# xe template-param-set is-a-template=false ha-always-run=false uuid=b15c0531-88a5-98a4-e484-01bc89131561

3. Экспорт снимка

Все готово для экспорта в .xva файл, из которого можно легко воссоздать VM через консоль или XenCenter
# xe vm-export vm=b15c0531-88a5-98a4-e484-01bc89131561 filename=vm-backup.xva

4. Удаление снимка

После того как снимок экспортировали, его можно удалять
# xe vm-uninstall uuid=b15c0531-88a5-98a4-e484-01bc89131561 force=true

Bash скрипт для экспорта работающих VMs

#!/bin/bash
#
# Written By: Rahul Kumar
# Created date: Jun 14, 2014
# Version: 1.1
# Visit: http://tecadmin.net
#

DATE=`date +%d%B%y`
XSNAME=`echo $HOSTNAME`
mkdir -p /mnt1
UUIDFILE=/tmp/uuids.txt

### Mounting remote nfs share backup drive

[ ! -d /mnt1 ]  && echo "No mount point found, kindly check"; exit 0
mount -F nfs 192.168.10.100:/backup/citrix/metadata /mnt1

BACKUPPATH=/mnt1/$XSNAME/$DATE
mkdir -p $BACKUPPATH
[ ! -d $BACKUPPATH ]  && echo "No backup directory found"; exit 0


# Fetching list UUIDs of all VMs running on XenServer
xe vm-list is-control-domain=false is-a-snapshot=false | grep uuid | cut -d":" -f2 > $UUIDFILE

[ ! -f $UUIDFILE ] && echo "No UUID list file found"; exit 0

while read VMUUID
do
    VMNAME=`xe vm-list uuid=$VMUUID | grep name-label | cut -d":" -f2 | sed 's/^ *//g'`

 SNAPUUID=`xe vm-snapshot uuid=$VMUUID new-name-label="SNAPSHOT-$VMUUID-$DATE"`

 xe template-param-set is-a-template=false ha-always-run=false uuid=$SNAPUUID
 
 xe vm-export vm=$SNAPUUID filename="$BACKUPPATH/$VMNAME-$DATE.xva"
 
 xe vm-uninstall uuid=$SNAPUUID force=true
 
done < $UUIDFILE

umount /mnt1
Алгоритм таков:
Примонтировал внешнею шару, куда буду скидывать образ с кластера xen server'a
[root@xenserver ~]# mount -t cifs -o "user=admin,domain=domain.ru" //172.16.0.чегото/шара /media

далее смотрю uuid ( RO) машинки, которую хочу перетащить командой
[root@xenserver ~]# xe sr-list

ну и экспортирую, командой:
[root@xenserver ~]# xe vm-export vm=uuid filename=/media/WIN3.xva
ну а далее импорт на новый XEN Server.
ИСТОЧНИК статьи https://zotovp.wordpress.com/2015/03/03/xen-%D0%B1%D0%B5%D0%BA%D0%B0%D0%BF-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%D1%8E%D1%89%D0%B5%D0%B9-%D0%B2%D0%B8%D1%80%D1%82%D1%83%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B9-%D0%BC%D0%B0%D1%88%D0%B8%D0%BD%D1%8B/

Комментариев нет:

Отправить комментарий