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

Bacula: начальное задание полного резервного копирования занимает слишком много времени

Я выбрал Bacula (v.5.0.2) для резервного копирования данных наших офисных работников.

Демон директора и хранилища запускается на корневом сервере на основе Debian ( SERVER) арендован у крупной немецкой хостинговой компании.

Все ценные данные и, следовательно, File Daemon Bacula ( CLIENT) находится на сервере Samba на основе Debian, который расположен на сайте и подключен к Интернету через ADSL (~ 768 Кбит) за маршрутизатором SOHO (это некоммерческая организация, у которой хронически не хватает денег).

Более того, CLIENTподключение к Интернету отключается интернет-провайдером каждые 24 часа и его IP действительно меняется время от времени.

Мне удалось настроить базовую инфраструктуру и успешно протестировать резервное копирование и восстановление файлов. Но теперь, когда пришло время определять автоматизированные задания, я столкнулся с проблемой, которую просто не могу понять:

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

Далее bacula предполагает, что ваше сетевое подключение является надежным - он не ожидает, что ваше соединение разорвется, и, честно говоря, это разумное предположение со стороны bacula.

В НАДЛЕЖАЩИЙ решение вашей проблемы - сменить провайдера.
Откровенно говоря, если ваше сетевое соединение настолько ненадежно, как вы описываете (отключается каждые 24 часа!), И вы не получаете соединение на 100% бесплатно, вы, вероятно, переплачиваете.


Если вы не можете реализовать правильное решение, лучшей альтернативой является запуск локального Storage Daemon на клиентском сайте и резервное копирование на диск там.
Затем вы можете использовать такой инструмент, как rsync для копирования файлов виртуальной ленты в другое место.

Основными недостатками этого решения являются то, что вам понадобится (по крайней мере) дополнительный диск для резервного копирования, и вам придется управлять заданием rsync (что вы можете сделать с помощью RunAfterBackup скрипт в Bacula).
В зависимости от ваших потребностей жесткого диска USB может хватить для дополнительного диска.


Другие альтернативы, которые вы описали в своем вопросе, либо ошибочны, либо невозможны.
В частности, в Bacula нет концепции «приостановки» резервного копирования, а разделение резервной копии на несколько заданий (единственный способ разбить ее) означает, что вы провалите подзадачу, а не целиком - вы все равно можете создайте резервную копию, которая не восстановит вас до хорошего / согласованного состояния, если вы это сделаете, поэтому вы на самом деле не решаете проблему.

По состоянию на версия 7.2, bacula поддерживает приостановку и возобновление заданий (через stop и resume/restart команды).