Можно ли и как бекапить запущенные виртуалки QEMU (libvirt) в Linux?
Привет, можно ли бекапить запущенную виртуальную машину qemu в линуксе? (я имею ввиду qcow2 диск прежде всего!)
Допустим через rsync. Не будет ли неконсистенции данных в конечном файле? Если не получится, то как тогда без остановки виртуальной машины сбекапить целиком её образ?
В любом случае, содержание файловой системы будет в состоянии как если бы системе рубануть питание. Так что подобным образом нормальные бэкапы не очень хорошо делать.
Если внутри виртуалки используется система с возможностью снапшотов (zfs, btrfs), то можно внутри сделать снапшот и его сбэкапить.
Но правильнее выбирать инструмент под конкретные условия, сразу же думая о том, как этот бэкап использовать. Просто делать бэкапы бинарных данных не имеет смысла. Например, у меня был случай, когда наличие бинарного бэкапа mysql не помогло. Потому что данные в ibdata очень капризны, чуть что не сойдётся - и всё, приехали... Даже медитация со строго такой же версией mysql и таким же конфигом не спасает. Для баз данных есть свои специальные средства для бэкапа. А чтобы исключить влияние - делается репликация базы и бэкап снимается с реплики. Опять же, если бэкап делается с целью восстановить состояние базы на любой момент, то надо иметь регулярные бэкапы плюс бинлоги в качестве инкрементов. Мне приходилось такое восстанавливать для убитой базы, которой неприемлемо было откатиться на сутки.
Для файлов имеет смысл делать файловые бэкапы, код лучше держать в git, ну а вместо (и/или помимо!) бэкапа всей системы надо наладиться над автоматизацией разворачивания (automated install, ansible итд). Чтобы если с сервером что-то случилось - можно было бы быстро поднять такой же, а не страдать полночи.
Делать snapshot виртуальной машины и бэкапить именно snapshot.
Просто копировать файл - будет не консистентная копия.
Насколько критично - зависит от виртуалки.
Активная база данных с такого бэкап не поднимется..
Как правило, копия виртуалки делается с ее снапшота. То есть сначала делается снапшот (средствами гипера, который знает, как приостановить работу машины), а потом уже бэкап этого снапшота (а машина продолжает работать дальще).