Резервное копирование необработанных изображений KVM

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

2
задан 1 October 2015 в 16:00
2 ответа

Приостановка виртуальных машин с помощью virsh suspend просто замораживает виртуальную машину, согласно документации все дисковые операции ввода-вывода и сетевой ввод-вывод приостановлены, в то время как виртуальная машина все еще потребляет оперативную память хоста.

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

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

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

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

2
ответ дан 3 December 2019 в 10:01

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

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

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

2
ответ дан 3 December 2019 в 10:01

Теги

Похожие вопросы