Настройка событий
Уведомление об ошибках
Средство уведомления об ошибках в HACMP является отличным инструментом мониторинга приложений и устройств, поддерживающим и использующим журналы ошибок AIX. При возникновении ошибки в приложении или устройстве, выполняется отправка сообщения в демон ведения журнала ошибок (error logger daemon, errdemon) с соответствующей информацией: датой, именем устройства или приложения, типом ошибки, описанием ошибки и прочей отладочной информацией. Демон errdemon записывает эти данные в файл журнала ошибок. Если уведомление об ошибках в HACMP настроено на этот тип ошибок, errdemon выполняет определенный пользователем метод уведомления/восстановления.
Автоматическое уведомление об ошибках
HACMP может сконфигурировать уведомление об ошибках и действие восстановления для некоторых типов ресурсов и ошибок:
- диски Rootvg;
- все диски, определенные в группе ресурсов HACMP;
- SCSI-адаптеры, используемые ресурсами HACMP или rootvg;
- адаптеры Fibre Channel, используемые ресурсами HACMP;
- адаптер SP Switch.
Для серьезных, необратимых ошибок настраивается инициирование перехвата с использованием команды /usr/es/sbin/cluster/diag/cl_failover. При некритических ошибках /usr/es/sbin/cluster/diag/cl_logerror отправляет сообщение электронной почты пользователю root и записывает ошибку в файл /tmp/hacmp.out.
Рассмотрение мониторинга дисков
HACMP осуществляет мониторинг только для "традиционных" автономных дисков, например для встроенных SCSI-дисков или SSA-хранилищ. При обнаружении ошибок на дисках этого типа используются стандартные метки журнала ошибок AIX, такие,как DISK_ERR1 или SCSI_ERR3. Кроме того, HACMP может осуществлять мониторинг групп томов с полным зеркальным отображением, независимо от типа диска. В этом случае при обнаружении потери кворума (запись LVM_SA_QUORCLOSE в журнале ошибок) HACMP может инициировать перемещение.
ESS, FAStT, DS4000 Series и другие современные дисковые подсистемы имеют встроенные средства обеспечения высокой доступности, так что они содержат встроенные механизмы восстановления после ошибок, например аппаратные функции RAID и multipath-подключения. Так как они имеют собственные драйверы устройств, при возникновении аппаратных ошибок они используют другие метки журнала ошибок. В разделе "Мониторинг общих дисков с уведомлением об ошибках HACMP", представлен пример мониторинга такой дисковой подсистемы.
Настройка автоматического уведомления об ошибках
- Запустите smit hacmp.
- Выберите Problem Determination Tools (Инструменты определения проблем).
- Выберите HACMP Error Notification (Уведомления об ошибках HACMP).
- Выберите Configure Automatic Error Notification (Конфигурирование автоматического уведомления об ошибках).
- Выберите Add Error Notify Methods for Cluster Resources (Добавить методы уведомления об ошибках для ресурсов кластера).
HACMP добавляет автоматическое уведомление об ошибках на всех узлах.
Вывод методов автоматического уведомления об ошибках
- Запустите smit hacmp.
- Выберите Problem Determination Tools (Инструменты определения проблем).
- Выберите HACMP Error Notification (Уведомления об ошибках HACMP).
- Выберите Configure Automatic Error Notification (Конфигурирование автоматического уведомления об ошибках).
- Выберите List Error Notify Methods for Cluster Resources (Вывести методы уведомления об ошибках для ресурсов кластера).
На рис. 12.4 представлен образец вывода методов автоматического уведомления об ошибках.
Удаление методов автоматического уведомления об ошибках
- Запустите smit hacmp.
- Выберите Problem Determination Tools (Инструменты определения проблем).
- Выберите HACMP Error Notification (Уведомления об ошибках HACMP).
- Выберите Configure Automatic Error Notification (Конфигурирование автоматического уведомления об ошибках).
- Выберите Remove Error Notify Methods for Cluster Resources (Удалить методы уведомления об ошибках для ресурсов кластера).
- Выберите Remove Error Notify Methods for Cluster Resources (Удалить методы уведомления об ошибках для ресурсов кластера).
Использование уведомления об ошибках
Можно вручную добавить объекты уведомления об ошибках для всех возможных типов ресурсов и ошибок. При создании объекта уведомления определяется набор правил или критериев типа ошибки, для которого следует осуществлять мониторинг. Эти правила могут включать метку для журнала ошибок, имя ресурса и т. д. При возникновении ошибки errlogger сопоставляет критерии, заданные в ODM-классе уведомления об ошибках, и в случае соответствия errdemon выполняет требуемый метод уведомления.
Добавление метода уведомления
- Запустите smit hacmp.
- Выберите Problem Determination Tools (Инструменты определения проблем).
- Выберите HACMP Error Notification (Уведомления об ошибках HACMP).
- Выберите Add a Notify Method (Добавить метод уведомления).
- Определите объект уведомления:
- Notification Object Name (Имя объекта уведомления). Заданное пользователем имя, идентифицирующее объект уведомления об ошибках.
- Persist across system restart? (Сохранять после перезапуска системы?). Yes – уведомление об ошибках будет использоваться постоянно; No – уведомление об ошибках будет использоваться только до следующей перезагрузки. Process ID for use by Notify Method (Идентификатор процесса, используемый методом уведомления). Уведомление об ошибках отправляется от имени выбранного идентификатора процесса. По умолчанию применяется 0 (root)1; мы рекомендуем оставить здесь 0. При использовании ненулевого кода процесса следует установить для параметра Persist across system restart? (Сохранять после перезапуска системы?) значение No.
- Select Error Class (Выбор класса ошибки). None – класс ошибок для сопоставления отсутствует; All – выполнять сопоставление для всех классов ошибок, Hardware – аппаратные ошибки, Software – программные ошибки, Errlogger – уведомления и сообщения оператора из программы errlogger.
- Select Error Type (Выбор типа ошибки). None – тип ошибок для сопоставления отсутствует, All – выполнять сопоставление для всех типов ошибок, PEND– предстоящая потеря доступности, PERF – снижение производительности, PERM – постоянные ошибки, TEMP – временные ошибки, UNKN – неизвестный тип ошибки.
- Match Alertable errors? (Сопоставлять ошибки с возможностью оповещения?). Это поле предназначено для использования агентами оповещения приложений управления системами. None – игнорировать этот параметр, All – оповещение для всех ошибок, TRUE – сопоставлять ошибки с возможностью оповещения, FALSE – сопоставлять ошибки без возможности оповещения. Если у вас нет приложения удаленного управления, оставьте в этом поле значение None.
- Select Error Label (Выбор метки ошибки). Нажмите F4, чтобы выбрать метку ошибки. Краткое описание меток ошибок см. в файле /usr/include/sys/errids.h. Resource Name (Имя ресурса). Имя отказавшего ресурса. Для класса аппаратных ошибок представляет имя устройства. Для класса программных ошибок представляет имя отказавшего исполняемого файла. Выберите All для сопоставления всех типов ресурсов.
- Resource Class (Класс ресурса). Для класса аппаратного ресурса представляет класс устройства. Неприменимо к программным ошибкам. Выберите All для сопоставления всех классов ресурсов.
- Resource Type (Тип ресурса). Тип устройства, под которым ресурс известен в объекте устройств. Применимо только к аппаратным ошибкам. Выберите All для сопоставления всех классов ресурсов.
- Notify Method (Метод уведомления). Полное имя (включая путь) программы
для запуска при регистрации ошибки, соответствующей критериям, определенным выше. В исполняемый файл можно передать следующие переменные:
$1 – порядковый номер ошибки в журнале; $2 – идентификатор ошибки; $3 – класс ошибки; $4 – тип ошибки; $5 – флаг оповещения; $6 – имя ресурса отказавшего устройства; $7 – тип ресурса отказавшего устройства; $8 – класс ресурса отказавшего устройства; $9 – метка для регистрации в журнале ошибок.
- Нажмите Enter для создания объекта уведомления об ошибках.
На рис. 12.5 показано, как добавить метод уведомления через SMIT.
Изменение/вывод метода уведомления
- Запустите smit hacmp.
- Выберите Problem Determination Tools (Инструменты определения проблем).
- Выберите HACMP Error Notification (Уведомления об ошибках HACMP).
- Выберите Change/Show a Notify Method (Изменение/вывод метода уведомления).
- Выберите изменяемый метод уведомления из выпадающего списка.
- Измените объект уведомления. Описание полей см. в разделе "Добавление метода уведомления".
Удаление метода уведомления
- Запустите smit hacmp.
- Выберите Problem Determination Tools (Инструменты определения проблем).
- Выберите HACMP Error Notification (Уведомления об ошибках HACMP).
- Выберите Remove a Notify Method (Удаление метода уведомления).
- Выберите удаляемый метод уведомления из выпадающего списка.
- Нажмите Enter для удаления.
Тестирование метода уведомления
Вы можете легко протестировать свои объекты уведомления. HACMP может эмулировать запись в журнале ошибок с использованием заданной меткой ошибки. Метка ошибки выводится в журнале ошибок, и метод уведомления запускается демоном errdemon.
- Запустите smit hacmp.
- Выберите Problem Determination Tools (Инструменты определения проблем).
- Выберите HACMP Error Notification (Уведомления об ошибках HACMP).
- Выберите Emulate Error Log Entry (Эмуляция записи в журнал ошибок).
- Выберите метку ошибки или метод уведомления из выпадающего списка. Здесь выводятся только те методы уведомления, для которых определены метки ошибок.
- SMIT выводит метку ошибки, имя объекта уведомления и метод уведомления. Нажмите Enter для подтверждения эмуляции записи в журнал ошибок.