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.
Это vm-snapshot-with-quiesce зависит от установленных xentools, а для vm-snapshot этого не требуется.
Мы раньше бэкапили не все запущенные виртуалки, а только с тэгом backup:
Добавляешь к виртуалке тэг — она начинает бэкапится, убираешь — перестает. Нам так было удобнее.
Позднее, чтобы ничего не запускать на хостнодах и не монтировать всякие NFS, вынесли бэкапы на отдельный хост, который общается с xen'ом через XenAPI. Пример получения списка виртуалок для бэкапа:
Бэкапить надо не только сами виртуалки, но еще и метаданные пула и сами хостноды.
Сейчас переходим на vdi-export, поскольку это позволяет в каких-то случаях исключать из бэкапа ненужные диски, а так же делает возможным делать incremental-бэкапы, как это реализовано в XO.