Резервное копирование kvm/libvirt: как обеспечить согласованность файловой системы во время онлайн-коммита блоков?

Резервное копирование kvm/libvirt: как обеспечить согласованность файловой системы во время онлайн-коммита блоков?

Я хочу создать онлайн-резервные копии виртуальной машины KVM Windows 10, которая управляется libvirt. У меня настроен агент qemu в гостевой системе.

Если нашлиэта запись викичто предполагает следующее:

1. создать автономный снимок

$ virsh snapshot-create-as --domain my-vm my-snapshot \
    --diskspec vda,file=/export/images/overlay.qcow2 \
    --disk-only --atomic --quiesce

2. резервное копирование базового образа

$ my-backup-tool /path/to/base.image

3. объединить изменения файловой системы, произошедшие после снимка, обратно в базовый образ

$ virsh blockcommit my-vm hda --active --verbose --pivot

4. удалить снимок

$ virsh snapshot-delete my-vm --metadata my-snapshot

Мой вопрос: В статье предлагается указать --quiesceпараметр, гарантирующий последовательное создание моментального снимка (т. е. заморозить активность fs во время создания), но разве не нужно сделать то же самое для шага 3 с помощью, например virsh domfsfreeze? Что происходит с текущей активностью fs во времяблокироватькоммит?

решение1

На самом деле тынехотите заморозить файловую систему во время blockcommit. Это приведет к длительной задержке, пока блоки копируются из одного образа в другой. Поскольку до и во время копирования один (или оба) из двух всегда представляет фактическое состояние файловой системы, нет более высокой вероятности потери данных.

Связанный контент