Comments 8
Есть у меня роль ansible, https://github.com/D1abloRUS/xenserver-backupvm, бэкапит вм из списка на стордж подключенный, можете переписать как вам угодно. На стордж, потому что время восстановления из бэкапа меньше 5 сек, так же там есть в репе есть роль, которая апдейты на ксен накатывает разных версий, тож ansible и нотификации шлет если новый апдейт вышел, вроде как работает начиная с версия ксена 6.2 и по 7
+1
А только я ловил проблемы при использовании снепшотов в XenServer?
В том плане, что вот такой подход в итоге привел меня к тому, что производительность диска VM оочень замедлилась, а краткое расследование показало наличие десятков дельта файлов, которые Xen никак не мог смёржить с основным разделом и делал снепшоты один поверх другого, с каждой новой итерацией «поедая» драгоценные IOPS.
В итоге конечно всё решилось — пара часов машина полежала выключенной и всё смёржилось, но осадочек остался.
В том плане, что вот такой подход в итоге привел меня к тому, что производительность диска VM оочень замедлилась, а краткое расследование показало наличие десятков дельта файлов, которые Xen никак не мог смёржить с основным разделом и делал снепшоты один поверх другого, с каждой новой итерацией «поедая» драгоценные IOPS.
В итоге конечно всё решилось — пара часов машина полежала выключенной и всё смёржилось, но осадочек остался.
0
Продолжительное время использую скрипт Andy Burton.
http://www.andy-burton.co.uk/blog/.
http://www.andy-burton.co.uk/blog/.
0
XenCenter позволяет создавать снепшоты и сохранять их в файл, не выключая машину (конечно, если на ней установлен XenTools.
Это vm-snapshot-with-quiesce зависит от установленных xentools, а для vm-snapshot этого не требуется.
Мы раньше бэкапили не все запущенные виртуалки, а только с тэгом backup:
xe vm-list tags:contains=backup ...
Добавляешь к виртуалке тэг — она начинает бэкапится, убираешь — перестает. Нам так было удобнее.
Позднее, чтобы ничего не запускать на хостнодах и не монтировать всякие NFS, вынесли бэкапы на отдельный хост, который общается с xen'ом через XenAPI. Пример получения списка виртуалок для бэкапа:
...
all_vms = xen_session.xenapi.VM.get_all_records()
for vm in all_vms:
record = all_vms[vm]
if not record["is_control_domain"] and \
not record["is_a_template"] and \
record["power_state"] == "Running" and \
not 'Transfer' in record["name_label"] and \
"backup" in record["tags"]:
backup_vms.append((vm, record["name_label"]))
logging.info("%s added for backup" % record["name_label"])
...
Бэкапить надо не только сами виртуалки, но еще и метаданные пула и сами хостноды.
Сейчас переходим на vdi-export, поскольку это позволяет в каких-то случаях исключать из бэкапа ненужные диски, а так же делает возможным делать incremental-бэкапы, как это реализовано в XO.
0
Кто бы сделал доброе дело и написал бы просто про Xen, свободно распространяемый.
0
Интересно, почему автор (tecadmin) ни слова не упомянул о консистентности при таком типе бэкапа?
А если внутри работает СУБД, так можно и в ногу себе выстрелить :)
Таким подходом хорошо бэкапить файловые помойки, например, но если внутри MySQL или еще чего, что в памяти хранит/обрабатывает транзакции — я бы рекомендовал останавливать базу или делать дамп перед снапшотом.
А если внутри работает СУБД, так можно и в ногу себе выстрелить :)
Таким подходом хорошо бэкапить файловые помойки, например, но если внутри MySQL или еще чего, что в памяти хранит/обрабатывает транзакции — я бы рекомендовал останавливать базу или делать дамп перед снапшотом.
0
Sign up to leave a comment.
Автоматический бекап виртуальных машин в XenServer