UPD: Последние исследования представлены здесь: Серверы IBM/Lenovo и сторожевой таймер: Эпизод II .
Следующая презентация является прологом к статье по ссылке.
Я столкнулся со значительным регрессом в 12-й версии SLES, связанным с поддержкой сторожевого таймера (устройство /dev/watchdog) на серверах IBM/Lenovo. Сначала краткий ликбез, если кто не в курсе.
Как это должно работать и зачем это нужно? Тот, кто уже знаком с предметом, может смело пропустить следующий абзац.
Серверные и промышленные платформы включают в себя специальную схему — сторожевой таймер.
После активации он начинает отсчитывать указанное время (например, одну минуту).
Если в течение этого времени к нему больше не будет доступа, в конце интервала будет выполнена аппаратная перезагрузка.
При контакте интервал начинает отсчитываться заново.
Это необходимо для того, чтобы автоматически восстановить работоспособность компьютера в случае зависания операционной системы или программного обеспечения, предоставляющего какой-то важный сервис.
Это решение является обязательным для кластеров высокой доступности (HA) и других приложений, которым требуется постоянная доступность системы.
Компьютеры с архитектурой Intel используют несколько аппаратных сторожевых интерфейсов, в зависимости от производителя системы, наиболее распространенным из которых является Intel TCO (iTCO).
В Linux драйверы сторожевого таймера реализованы в виде модулей ядра, которые предоставляют ему программный интерфейс в виде устройства /dev/watchdog. В серверах IBM Intel, которые сейчас производятся компанией Lenovo, за интерфейс со сторожевым таймером отвечает аппаратный уровень Intel TCO и поддерживающий его модуль ядра Linux iTCO_wdt. В SLES версии 11 с этим всё было хорошо и работало автоматически; устройство /dev/watchdog, поддерживаемое драйвером iTCO_wdt, появилось в системе с настройками по умолчанию.
Однако в 12-й версии SLES драйвер iTCO_wdt был переписан, уменьшив его размер в 3 раза, и что-то сломалось.
Как оказалось, в SLES 11 тоже всё было плохо: файл /dev/watchdog был создан, но не был подключен к драйверу и не обеспечивал функционала таймера.
Сейчас (в SLES12) происходит следующее.
Модуль iTCO_wdt загружается, оставляет в системном журнале диагностику: «iTCO_wdt: невозможно сбросить флаг NO_REBOOT, устройство отключено аппаратно/BIOS», остается загруженным в память, но ничего не делает, и устройство /dev/watchdog не появляется.
Загрузка и выгрузка модуля вручную ничего не меняет в этом поведении.
Настройки BIOS и Integrated Services Module (IMM) также на это не влияют. Проблема проявляется совершенно одинаково на нескольких серверах IBM/Lenovo HS23 и x3250. Если я загружаю SLES11 на ту же машину, все работает нормально.
Обходным решением проблемы может быть написание модуля softdog в /etc/modules-load.d, который обеспечивает интерфейс для сторожевого таймера путем его программной эмуляции на уровне ядра ОС.
Но по сути это всего лишь заглушка, которая никак не решает вопрос о возможном сбое самой операционной системы.
Что еще хуже, в одном из недавних промежуточных обновлений SLES12 драйвер softdog был загружен по умолчанию.
Хотя это поведение было очень быстро исправлено, теперь мы не можем быть уверены, предоставляет ли вам аппаратный или программный драйвер сторожевую службу, пока не проверим конкретную версию Linux. Я предоставил разработчикам ядра из Novell диагностическую информацию и описание ошибки и работаю над инцидентом со службой поддержки IBM/Lenovo, но ситуация не разрешилась уже два месяца, хотя формально SLES12 является полностью поддерживаемым и рекомендуемым рабочим система для указанных серверов.
Так что, если читатель вдруг столкнется с неработоспособностью сторожевого таймера (приводящим, например, к невозможности запуска кластера) или неполной реализацией его функций, связанных с заменой аппаратного драйвера на программный, то хотя бы он будет знать, куда копать.
Кажется, найден способ решить проблему; Об этом я написал новую статью, упомянутую в самом верху.
Теги: #linux #lenovo #Системное администрирование #Администрирование сервера #высокая доступность #ibm #ha #SLES #высокая доступность #watchdog #watchdog #watchdog
-
Бессемер, Генри
19 Oct, 24 -
Лучший Источник Знаний У Вас Под Рукой
19 Oct, 24 -
«Эльдорадо» Запустит Распродажу Мебели
19 Oct, 24 -
Интерфейс С Человеческим Лицом
19 Oct, 24 -
Покажите Нам Код, Мистер Балмер.
19 Oct, 24