Я хочу надежный метод создания резервной копии KVM VPS файла qcow2 во время работы. После долгого поиска я обнаружил, что мы можем использовать rsync для оперативного резервного копирования. Я использовал следующую команду для rsync:
rsync -avh /vms/base.qcow2 /backup/backup.qcow2
Это сработало правильно. Но я боюсь, что это может повредить образ резервной копии qcow2, если резервное копирование выполняется во время изменения VPS из-за операций записи и удаления (например, установка нового программного обеспечения или обновление).
Поэтому создание резервной копии из снимка живого VPS кажется более интересным вариантом.
Я использовал следующие команды для резервного копирования запущенного VPS:
1. Создать снимок:
qemu-img create -f qcow2 -b base.qcow2 snapshot.qcow2
2. Преобразовать снимок в формате исходного изображения (.img):
qemu-img convert -O raw snapshot.qcow2 /backup/backup.img
Чтобы восстановить VPS:
3. Преобразуйте сырое изображение в изображение qcow2:
qemu-img convert -O qcow2 /backup/backup.img base.qcow2
Затем мы можем запустить VPS по virsh create base.xml
команде.
Несмотря на то, что этот метод также работает отлично, я все еще не уверен, является ли это правильным методом для резервного копирования работающего VPS. Я нашел хорошую документацию по командам qemu-img здесь и здесь . Но они ничего не упоминали о преобразовании снимка живого VPS в необработанное изображение.
Какой метод больше подходит для резервного копирования VPS? Безопасно ли преобразовывать снимок в необработанное изображение?
Если бы я мог получить хорошую подробную документацию о том, как снимки и базовые файлы ведут себя в определенных условиях, это было бы очень полезно.
Возможно, мы можем также преобразовать базовый образ qcow2 в необработанный файл резервной копии вместо преобразования снимка. Таким образом, поток команд будет:
1. Создать снимок
2. Преобразовать базовый qcow2 в резервный необработанный образ
3. Применить изменения снимка в базовый образ
4. Удалить снимок
Я попробовал это, и он работал нормально на небольшом VPS 5 ГБ. Но есть ли вероятность ошибки или повреждения VPS при большом размере VPS?
Заранее спасибо...
Ответы:
Единственное, чего вам не хватает, - это отключить гостевую файловую систему перед тем, как сделать снимок, чтобы убедиться в его согласованности. Это можно сделать,
virsh domfsfreeze
если вы используете libvirtd.Например, порядок операций:
Обратите внимание, что это требует
qemu-guest-agent
установки и запуска на виртуальной машине. В зависимости от выбора дистрибутива и установки, это может иметь место или не иметь место.Это
qemu-guest-agent
также расширяемый; Вы можете добавить сценарии для поддержки конкретного программного обеспечения. Например, он включает в себя пример сценария для перевода MySQL в согласованное состояние.источник
virsh domfsfreeze $VM_NAME
получить разрешение на доступ к моей гостевой файловой системе. Мои гостевые файловые системы зашифрованы, но я не уверен, что это важно.Существует другой подход, который включает создание временных снимков во время резервного копирования и последующую их фиксацию.
Для получения дополнительной информации см .: https://wiki.libvirt.org/page/Live-disk-backup-with-active-blockcommit
источник