2009/09/01

Bacula Heartbeat Interval

При использовании резервного копирования Bacula вылезает ньюанс, если между Director-сервером и FD-сервером (клиентом) находится маршрутизатор (используется NAT) - выполняемая задача (job) может вдруг ни с того, ни с сего остановиться с ошибкой "Fatal error: Network error with FD during Backup: ERR=Connection reset by peer".
Дело всё в том, что Director, инициируя задачу на клиенте, в процессе выполнения просто ждёт - весь трафик идёт между FD-сервером (клиентом) и SD-сервером (storage). Маршрутизатор спустя установленное время (timeout, у cisco - 7200 секунд) решив, что соединение между Director-сервером и FD-сервером (клиентом) умерло, просто удаляет информацию о соединении из своей таблицы соединений, обрывая таким образом выполняемую задачу.
Решается проблема тривиально - на FD-сервере (клиенте) в конфигурационном файле в секцию FileDaemon добавить:
Heartbeat Interval = 60
При действующем Heartbeat-интервале FD-сервер в процессе выполнения работы пересылает heartbeat-пакеты Director-серверу, создавая таким образом активность в соединении и маршрутизатор, видя, что соединение "живо", не вмешивается.

Ссылки:
  1. Client/File daemon Configuration
  2. Timeout (?) problems with some Full backups

7 comments:

StasikOS said...

Это в случае если на маршрутизаторе настрен NAT или всегда?

Roman Sozinov said...

to StasikOS:
Хороший вопрос :) У меня проблема вылезла в случае использования NAT, а вот без использования NAT по идее таких проблем быть не должно.

StasikOS said...

Вот-вот. В случае обычного роутинга проблемы быть не должно...

Unit said...

Вероятно это случай только для NAT.
Обычный роутинг - все работает без проблем.

Roman Sozinov said...

to Unit:
Уже поправил пост 6)

Anonymous said...

В моем случае Juniper SRX240h
Heartbeat Interval = 60
помогло.

Anonymous said...

Как выяснилось, может влияет и без NAT.

Если на клиенте перед бэкапом выполняется длительная задача (например, бэкап состояния системы через ntbackup), то может вылезти такая же ошибка.

Решение помогло.