ОТРАБОТКА ОТКАЗА
Функция обработки отказа позволяет внутренним серверам автоматически
переключаться на другой сервер в случае сбоя текущего сервера.
Синтаксис обработки отказа
Список серверов разделяется запятыми; рядом с запятыми допускается любое
количество пробелов. Серверы перечислены в порядке приоритета. Список может
содержать любое количество серверов.
Для каждого параметра конфигурации с поддержкой отработки отказа существуют
два варианта: основной (primary) и
резервный (backup). Смысл в том, что приоритет получают
серверы из списка основных, а поиск резервных серверов выполняется только в
том случае, если не удалось связаться с основными серверами. Если выбран
резервный сервер, устанавливается 31-секундный тайм-аут. По его истечении
SSSD будет периодически пытаться восстановить подключение к одному из
основных серверов. Если попытка будет успешной, текущий активный (резервный)
сервер будет заменён на основной.
Механизм отработки отказа
Механизм отработки отказа различает компьютеры и службы. Внутренний сервер
сначала пытается разрешить имя узла указанного компьютера; если попытка
разрешения завершается неудачей, компьютер считается работающим в автономном
режиме. Дальнейшие попытки подключиться к этому компьютеру для доступа к
другим службам не выполняются. Если попытка разрешения успешна, внутренний
сервер пытается подключиться к службе на этом компьютере. Если попытка
подключения к службе завершается неудачей, работающей в автономном режиме
будет считаться только эта служба, и внутренний сервер автоматически
переключится на следующую службу. Компьютер продолжает считаться находящимся
в сети, возможны дальнейшие попытки подключения к другим службам на нём.
Дальнейшие попытки подключения к компьютерам или службам, обозначенным, как
работающие в автономном режиме, выполняются по истечении определённого
периода времени; в настоящее время это значения является жёстко заданным и
составляет 30 секунд.
Если список компьютеров исчерпан, внутренний сервер целиком переключается на
автономный режим и затем пытается восстановить подключение каждые 30 секунд.
Тайм-ауты и тонкая настройка отработки отказа
Разрешение имени сервера, к которому следует подключиться, может быть
выполнено как за один запрос DNS, так и за несколько шагов, например, при
поиске корректного сайта или переборе нескольких имён узлов, если некоторые
из настроенных серверов недоступны. Для более сложных сценариев требуется
больше времени, и SSSD требуется соблюсти баланс между предоставлением
достаточного количества времени для завершения процесса разрешения и не
слишком долгим ожиданием перед переходом в автономный режим. Если в журнале
отладки SSSD есть данные о том, что время на разрешение сервера истекло до
обращения к реальному серверу, рекомендуется изменить значения тайм-аутов.
В этом разделе перечислены доступные настраиваемые параметры. Их описание
содержится на справочной странице
sssd.conf5
.
dns_resolver_server_timeout
Время (в миллисекундах), в течение которого SSSD будет обращаться к одному
серверу DNS перед переходом к следующему.
По умолчанию: 1000
dns_resolver_op_timeout
Время (в секундах), в течение которого SSSD будет пытаться разрешить один
запрос DNS (например, разрешение имени узла или записи SRV) перед переходом
к следующему имени узла или домену обнаружения.
По умолчанию: 3
dns_resolver_timeout
Как долго SSSD будет пытаться разрешить резервную службу. Это разрешение
службы может включать несколько внутренних шагов, например, при разрешении
запросов SRV DNS или определении расположения сайта.
По умолчанию: 6
Для поставщиков данных на основе LDAP операция разрешения выполняется как
часть операции установления LDAP-соединения. Следовательно, тайм-аут
ldap_opt_timeout
также следует установить в большее значение,
чем dns_resolver_timeout
, который, в свою очередь, следует
установить в большее значение, чем dns_resolver_op_timeout
,
который должен быть больше dns_resolver_server_timeout
.