Назад | Перейти на главную страницу

Инкрементальные резервные копии виртуальных машин

В настоящее время у нас работает несколько физических машин. Для резервного копирования мы использовали dirvish, который, по сути, является оболочкой для rsync, и выполняли их постепенно. В настоящее время мы запускаем новую машину в производство, на которой будет работать целая группа виртуальных машин. В идеале я хотел бы создать резервную копию образов виртуальных машин, а не делать резервные копии на уровне файлов с самих виртуальных машин. Есть ли способ делать это постепенно, учитывая, что каждое изображение будет одним гигантским файлом, который потребует новой резервной копии в любое время, когда что-то изменится? Как другие люди делают здесь резервные копии виртуальных машин, просто рассматривая их как физические машины?

Если это важно, мы используем Xen для виртуализации.

Спасибо

вы можете продолжить делать то, что делаете сейчас, с небольшими изменениями в сценариях резервного копирования rsync.

rsync может работать внутри виртуальной машины и выполнять резервное копирование на удаленный хост через ssh, как и с физической машины. например я создаю резервные копии / etc, / usr / local /, / home, частей / var и нескольких других каталогов со всех моих машин в / var / backups / hosts / $ HOSTNAME на моем сервере резервного копирования (который, в свою очередь, получает резервную копию с помощью rsync на другую машину, а также на ленту). серверы баз данных также запускают сценарии, которые выгружают свои базы данных в текст перед rsync.

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

Кстати, я обычно не беспокоюсь о резервном копировании / bin, / sbin, / usr, потому что я запускаю debian почти на всех машинах. это будет тратить слишком много места на диске и тратить время на резервное копирование программ, которые я упаковал в моем локальном зеркале debian. вместо этого я создаю резервную копию списка установленных пакетов с помощью dpkg --get-selections "*"> $ hostname.sel и восстановить их с помощью кот $ hostname.sel | dpkg --set-selections; apt-get dselect-upgrade.

вот как я в настоящее время клонирую физические машины ... я в процессе преобразования нескольких машин в виртуальные (работающие под KVM) и пока не нашел причин, по которым мне пришлось бы внести более чем незначительные изменения в процедура для этого.

на днях я перейду на использование rdiff-backup, а не rsync, чтобы я мог также иметь версионные резервные копии онлайн.

наконец, вы также можете попробовать поискать http://libvirt.org/ веб-сайт или поиск в Google по запросу "+ libvirt + rsync". кто-то, возможно, придумал эффективный метод прямой синхронизации образов виртуальных машин.

Я не могу помочь с образами виртуальных машин для Xen, но я создаю резервные копии своих образов VMware с помощью rsync. Перед копированием необходимо приостановить или выключить образ. Вместо этого можно использовать моментальный снимок LVM, но я считаю, что вам нужен огромный раздел моментального снимка для хранения изменений.

Я использую следующую команду rsync для резервного копирования на удаленный сервер, подключенный к cifs:

rsync -irvtuh --inplace --delete --timeout=120 --whole-file --stats "${DIR}" /mnt/backup

Дополнительные копии не стоили ЦП, необходимого для вычисления различий, но я обнаружил, что некоторые образы виртуальных машин не меняются - только большинство из них :(

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

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

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