Компания IBM
Опубликован: 01.02.2008 | Доступ: свободный | Студентов: 612 / 22 | Оценка: 4.60 / 4.40 | Длительность: 43:55:00
Специальности: Разработчик аппаратуры
Лекция 12:

Настройка событий

< Лекция 11 || Лекция 12: 123 || Лекция 13 >

Мониторинг общих дисков с использование функции уведомления об ошибках HACMP

Здесь на конкретном примере мы покажем, как можно использовать функцию уведомления об ошибках для мониторинга общих дисков. Этот пример основан на нашей аппаратной конфигурации. Вы можете легко изменить этот пример для работы с вашей дисковой подсистемой.

Наши общие диски находятся в дисковой подсистеме ESS 2105-800 с подключением FC. Мы используем драйвер SDD, группы томов располагаются на дисковых устройствах vpath. Наша цель состоит в осуществлении мониторинга устройств vpath. При отказе ссылки vpath (hdiskX) требуется отправить уведомление системному администратору. При отказе дискового устройства vpath (vpathX) требуется выполнить перехват HACMP.

В нашем примере у нас есть общая группа томов под названием db2vg. Она расположена на устройстве vpath1, имеющем два базовых пути: hdisk3 и hdisk11 (один LUN, через два разных HBA).

Выбор метки ошибки

Сначала посмотрим, что произойдет, если на несколько минут отключить кабели Fibre Channel из адаптеров. Конечно же, ввод-вывод останавливается и драйвер SDD регистрирует ошибки в журнале ошибок AIX.

Теперь посмотрим на содержимое журнала ошибок (командой errpt); ( пример 12.4 ).

Важно! Не рекомендуется выполнять этот тест преднамеренно, особенно при работе приложения с реальными данными. Несмотря на то что HACMP и SDD способны справиться с таким отказом, необходимо, чтобы и приложение тоже было способно справиться с отказом.
#errpt
3074FEB7	0624164705 T H fscsiO	ADAPTER ERROR
3074FEB7	0624164705 T H fscsiO	ADAPTER ERROR
D7B7FF7E	0624164705 I 0 SYSJ2	USER DATA I/O ERROR
07B7FF7E	0624164705 1 0 SYSJ2	USER DATA I/O ERROR
613E5F38	0624164705 P H LVDD	I/O ERROR DETECTED BY LVM
F4D25312	0624164705 P H vpathl	UNABLE TO COMMUNICATE WITH DEVICE
A7212C7B	0624164705 P H hdiskll	DEVICE ACCESS PROBLEM
A7212C7B	0624164705 P H hdisk3	DEVICE ACCESS PROBLEM
3074FEB7	0624164705 T H fscsiO	ADAPTER ERROR
3074FEB7	0624164705 T H fscsiO	ADAPTER ERROR
3074FEB7	0624164705 T H fscsiO	ADAPTER ERROR
3074FEB7	0624164705 T H fscsiO	ADAPTER ERROR
B8113DD1	0624164705 T H fcsO	LINK ERROR
AFA89905	0624163505 I 0 grpsvcs	Group Services daemon started
Пример 12.4. Журнал ошибок AIX

Существует два типа записей в журнале ошибок (см. Пример 12.4 ):

  • vpath1: unable to communicate with device (отсутствует связь с устройством). Эта ошибка возникает при отказе всех путей, принадлежащих к определенному устройству vpath. На устройстве vpath также происходит отказ, вследствие чего группа томов становится недоступной. Эта ошибка очень серьезно влияет на кластер, поэтому требуется, чтобы в этом случае произошло перемещение при сбое.
  • hdisk11 и hdisk13: device access problem (проблема с доступом к устройству): Ошибка возникает при отказе пути для связи с устройством vpath. Устройство vpath все еще доступно, однако отказ влияет на производительность и доступность. В этом случае адекватной реакцией является уведомление системного администратора.

Все эти ошибки произошли по одному разу и указывали на отказавшее устройство. Другие родственные сообщения об ошибках возникали по нескольку раз и не указывали на действительную причину проблемы. Теперь давайте рассмотрим эти записи журнала ошибок подробно. Запись см. в VPATH_OUT_SERVICE примере 12.5 .

ferrpt -a|more
LABEL:       VPATH_0UT_5ERVICE
IDENTIFIER:    F4D25312 
Date/Time:	Fr1 Jun 24 16:47:29 CDT
Sequence Number:	222
Machine Id:	0OO197BA4C00
Node Id:	p650n02
Class:	H
Type:	PERM
Resource Name:	vpathl
Resource Class:	disk
Resource Type:	vpath
Location:
Description
UNABLE TO COMMUNICATE WITH DEVICE
Probable Causes
DISK
SCSI ADAPTER
SCSI CABLE
Failure causes
DISK
SCSI ADAPTER
CABLE LOOSE OR DEFECTIVE
Recommended Actions
PERFORM PROBLEM DETERMINATION ON SCSI TARGET 
DEVICE PERFORM PROBLEM DETERMINATION ON HOST 
SCSI ADAPTER REPLACE SCSI CABLE
Detail Data
SENSE DATA
02IF 4664 OOOO 0000 0029 0001 0000 0004 
0000 0000 0000 0000 0000 0001
Пример 12.5. Записи журнала ошибок Vpath

Запись VPATH_DEVICE_OFFLIN см. в журнале ошибок в примере 12.6 .

#errpt -a|more
LABEL:	VPATH_DEVICE_OFFLIN
IDENTIFIER:	A7212C7B
Date/Time:	Fri Jun 24 16:47:29 CDT
Sequence Number: 221
Machine Id:	0GO19/BA4CO0
Node Id:	p650n02
Class:	H
Type:	PERM
Resource Name:	hdiskll
Пример 12.6. Запись журнала ошибок Vpath

Из выходных данных команды errpt -a мы можем получить всю требуемую информацию (в нашем примере они выделены полужирным шрифтом) для конфигурирования уведомления об ошибках HACMP.

Определение объектов уведомления об ошибках

Установите в SMIT уведомления об ошибках – отказах vpath – на всех узлах кластера. Мы используем значения команды errpt -a, представленные в примере 12.5 .

  1. Запустите smit hacmp.
  2. Выберите Problem Determination Tools (Инструменты определения проблем).
  3. Выберите HACMP Error Notification (Уведомления об ошибках HACMP).
  4. Выберите Add a Notify Method (Добавить метод уведомления).
  5. Определите метод уведомления со следующими значениями (рис. 12.6):
    • Notification Object Name (Имя объекта уведомления): vpath_failed.
    • Persist across system restart? (Сохранять после перезапуска системы?): Yes.
    • Process ID for use by Notify Method (Идентификатор процесса, используемый методом уведомления): 0 (root) подойдет.
    • Select Error Class (Выбор класса ошибки): Hardware (см. "Class: H").
    • Select Error Type (Выбор типа ошибки): Permanent (см. "Тип: PERM").
    • Match Alertable errors? (Сопоставлять ошибки с возможностью оповещения?): None.
    • Select Error Label (Выбор метки ошибки): VPATH_OUT_OF_SERVICE.
    • Resource Name (Имя ресурса): All. Требуется установить уведомления об ошибках для всех устройств vpath.
    • Resource Class (Класс ресурса): disk (см. "Resource Class: disk").
    • Resource Type (Тип ресурса): vpath (см. "Resource Type: vpath").
      Конфигурирование уведомления об ошибках для ошибок vpath

      Рис. 12.6. Конфигурирование уведомления об ошибках для ошибок vpath
    • Notify Method (Метод уведомления): /usr/es/sbin/cluster/diag/cl_failover $6 $9. Этот скрипт предоставляется HACMP и запускает событие-ошибку HACMP errnotify, что осуществляет перемещение при сбое. Аргумент $6 представляет имя устройства, $9 представляет метку ошибки.

Установите через SMIT уведомление об ошибках для ошибок связи с vpath на всех узлах.

Мы используем значения из команды errpt -a, представленные в примере 12.6.

  1. Запустите smit hacmp.
  2. Выберите Problem Determination Tools (Инструменты определения проблем).
  3. Выберите HACMP Error Notification (Уведомления об ошибках HACMP).
  4. Выберите Add a Notify Method (Добавить метод уведомления).
  5. Определите метод уведомления со следующими значениями (рис. 12.6):
    • Notification Object Name (Имя объекта уведомления): path_offline.
    • Persist across system restart? (Сохранять после перезапуска системы?): Yes.
    • Process ID for use by Notify Method (Идентификатор процесса, используемый методом уведомления): 0 (root) подойдет.
    • Select Error Class (Выбор класса ошибки): Hardware (см. "Class: H").
    • Select Error Type (Выбор типа ошибки): Permanent (см. "Тип: PERM").
    • Match Alertable errors? (Сопоставлять ошибки с возможностью оповещения?): None.
    • Select Error Label (Выбор метки ошибки): VPATH_DEVICE_OFFLIN.
    • Resource Name (Имя ресурса): All. Требуется установить уведомления об ошибках для всех устройств vpath.
    • Resource Class (Класс ресурса): disk (см. "Resource Class: disk").
    • Resource Type (Тип ресурса): 2105 (см. "Resource Type: 2105").

Notify Method (Метод уведомления): /usr/ha/notify_root $6 $9. Исходный текст скрипта /usr/ha/notify_root представлен в примере 12.7 . Мы передаем аргументы $6 и $9: имя устройства и метку ошибки. Скрипт отправляет сообщение электронной почты пользователю root, содержащее сведения о возникшей ошибке.

#!/bin/ksh
#	Processing the arguments
#	device name DEVICE-$1
#	Error log label
ERRLABEL=$2
mail -s "Vpath conmunl cation error" root < <EOF
The SDEVICE device encountered an SERRLABEL error. 
 The disk subsystem performance and availability is
 degraded. Perform problem determination!
EOF
exit 0
Пример 12.7. Скрипт /usr/ha/notify_root

Тестирование уведомления об ошибках

Существует два способа тестирования объекта уведомления об ошибках:

  1. Поочередное отключение кабелей FC от адаптеров HBA. Это в действительности позволяет протестировать решение; если все настроено правильно, HACMP инициирует перемещение при сбое.
  2. Имитация записей в журнале ошибок:
    1. Запустите smit hacmp.
    2. Выберите Problem Determination Tools (Инструменты определения проблем).
    3. Выберите HACMP Error Notification (Уведомления об ошибках HACMP).
    4. Выберите Emulate Error Log Entry (Эмуляция записи в журнал ошибок).
    5. Выберите метку ошибки VPATH_OUT_OF_SERVICE или VPATH_DEVICE_OFFLIN из выпадающего списка.
    6. SMIT выводит метку ошибки, имя объекта уведомления и метод уведомления. Нажмите Enter для подтверждения эмуляции записи в журнал ошибок (рис. 12.7).
Эмуляция записи VPATH_OUT_SERVICE журнала ошибок

Рис. 12.7. Эмуляция записи VPATH_OUT_SERVICE журнала ошибок

Теперь HACMP отправляет запрошенную запись журнала ошибок демону журналов ошибок AIX и запускает метод уведомления. Если все настроено правильно, HACMP инициирует перемещение при сбое. Сведения о происходящих действиях записываются в файл /tmp/hacmp.out.

< Лекция 11 || Лекция 12: 123 || Лекция 13 >