Резервное копирование KVM raw-образов

`Привет, ребята! Я использую qemu-img-0.12.1.2-2.355.0.1.el6 в CentOS 6.3, используя необработанные образы для своих виртуальных машин. Есть ли способ безопасно сделать резервную копию гостей, не останавливая их? Я попытался сделать снимок на тестовом госте, который не работал, но получил ошибку: "Снимок живого диска не поддерживается этим двоичным файлом qemu". Означает ли это, что формат raw не подходит для снимков любого типа, или это что-то с моим пакетом KVM? Я читал, что приостановки гостя достаточно для выполнения операции dd, верно? Пожалуйста, не могли бы вы поделиться некоторыми из ваших лучших практик в этой области?

2 ответа

Если вы используете необработанные файлы изображений, то единственный способ получить согласованный снимок - это приостановить или завершить работу виртуальной машины.

Вы можете сделать снимок, используя файлы изображений qcow2, не останавливая виртуальную машину, но снимок становится частью этого файла. Это может или не может быть целесообразным, в зависимости от вашей ситуации.

У вас будет больше возможностей, если вы используете CentOS 7 или текущий гипервизор Fedora, например, моментальные снимки томов LVM или ZFS zvols. На этих современных системах вы бы virsh domfsfreeze гость, сделай снимок, virsh domfsthaw гость, а затем сделайте резервную копию снимка. Для этого требуется, чтобы в гостевой системе работал qemu-guest-agent.

Приостановка ВМ-ов с virsh suspend <domain> просто замораживает ВМ, согласно документам все дисковые операции ввода-вывода и сетевые операции ввода-вывода приостанавливаются, в то время как виртуальная машина все еще потребляет ОЗУ хоста.

Если у вас есть Centos, то существует высокая вероятность того, что у вас также есть раздел LVM и, кроме того, раздел XFS. Если утверждение верно, то вы можете сделать его резервную копию следующим образом:

  • сбросить кеш на ВМ и приостановить его,
  • сбросьте кеш на хост и сделайте снимок LVM,
  • Смонтируйте моментальный снимок LVM где-нибудь на хосте и создайте расписание резервного копирования.

Это работает для меня даже с серверами баз данных. Резервное копирование файлового сервера (например, samba) даже полностью безопасно без сброса кэша на хосте или виртуальной машине, при условии, что параметры ядра на хосте и guset заданы по умолчанию. Потеря данных минимальна. Например, Ext4 фиксирует грязные страницы в оперативной памяти каждые 5 секунд (настройка по умолчанию). Это может привести к потере данных, которые были зафиксированы менее чем за 5 секунд до замораживания. Эта потеря данных была приемлемой для меня.

У каждого метода резервного копирования есть свои недостатки. Простои или потенциальная потеря данных. Многие администраторы баз данных полагают, что потеря данных может привести к повреждению данных, когда ядро ​​базы данных (например, MS SQL) обязательно должно передать каждую транзакцию в файловую систему, прежде чем принять изменение. С другой стороны, они соглашаются восстановить данные из резервной копии и соглашаются с потерей данных.

Другие вопросы по тегам