[room] Разработка механизма резервирования виртуальных машин.

Илья Кучмин ikuchmin на gmail.com
Вс Янв 1 15:59:29 MSK 2012


Задумался об автоматизации процесса резервирования виртуальных машин
на платформах openvz, kvm. Так как backup HN не требуется то
возникает, вполне законное желание, осуществлять перекрестный backup.
Особенно если учесть, что винчестеры нынче дешевые, да и raid обычно
нулевой используется.
Процесс резервирования видится следующим: Имеется два компонента
Сервер и Клиент. Сервер выполняет процесс резервирования для
виртуальных машин которые на нем хостятся. В зависимости от типа
виртуализации процесс резервирования может отличаться, соответственно
должны использоваться утилиты предоставленные авторами механизма
виртуализации, либо инструмент который пожелает использовать
администратор. После того как процесс снятия резервных копий окончен,
сервер рассылает(клиентам) уведомления, после чего клиенты
осуществляют процедуру выгрузки копий зарезервированных на сервере
виртуальных машин. Также клиенты должны с определенной периодичностью
проверять наличие последних обновлений доступных на сервере. Таким
образом решается проблема потерявшихся в пути уведомлений. По
истечении таймаута клиент самостоятельно спросит сервер и выгрузит
последние копии машин. Понятие Клиент и Сервер существуют в рамках
одной сессии передачи данных, так как для одних VPS, HW является
клиентам(выгружая их с другой машины) для других сервером(предоставляя
свои ресурсы гостям). В случае если в дальнейшем появиться желание
выделить отдельный сервер для хранения резервных копий, будет
достаточно обозначить его как клиента для всех VPS.

Примечания:
Уведомления должны передаваться не только в рамках одной
широковещательной сети. Гарантии что промежуточные маршрутизаторы
поддерживают multicast также нет.
Механизм передачи должен позволять контролировать использование
пропускной способности сети, на стадии старта
Имеется Архив. В него складываются данные которые снимаются единожды и
в дальнейшем не требуют обновления. Должна присутствовать возможность
сказать клиенту, что он хранит архив, который он самостоятельно
синхронизирует согласно представленной выше схеме.

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

На данный момент видятся следующие задачи:
Передача файлов между несколькими ВМ, с проверкой контрольных сумм
Запус задачи начала процесса резервирования по графику
Рассылка и прием notify сообщений

Премного благодарен за любую критику и наводку на инструменты.


Подробная информация о списке рассылки smoke-room