Синхронизация внутреннего и системного времени

Система резервирования не нуждается в синхронизации времени между серверами. Каждый принятый сетевой пакет состояния сервера содержит время пославшего его сервера, поэтому каждому серверу известна разница времени между серверами. Эта разница учитывается при проведении сравнения времени БД, поэтому синхронизация времени серверов является желательной (но не обязательной).

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

Во избежание подобных проблем управляющая программа ведет свой внутренний отсчет времени. В момент старта внутренние часы устанавливаются по системным. В случае обнаружения скачка системных часов внутренние часы постепенно начинают подстройку. Обычно подстройка выполняется за удесятеренное время скачка. Этот параметр может регулироваться ключом /tcorrect.