Глава 3. Администрирование службы

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

3.1. Настройка службы

Настроив дисковое хранилище и установив приложения, управляемые кластером, с помощью Настройки кластера (Cluster Configuration Tool) вы можете настроить службы, которые будут управлять этими приложениями и ресурсами.

Для настройки службы выполните следующие действия:

  1. Если это необходимо, создайте сценарий для запуска, остановки и проверки состояния приложения, используемого службой. Информацию об этом вы найдёте в разделе 3.1.2 Создание сценариев для службы.

  2. Соберите необходимую информацию о ресурсах службы и её свойствах. Информацию об этом вы найдёте в разделе 3.1.1 Сбор информации о службе.

  3. Настройте файловые системы или неформатированные устройства, используемые службой. Информацию об этом вы найдёте в разделе 3.1.3 Настройка дискового хранилища службы.

  4. Убедитесь в том, что приложение может работать на каждом узле (связанного домена переноса (если используется) или кластера) и что сценарий службы, если таковой используется, может запускать и останавливать приложение службы. Указания по обновлению приведены в разделе 3.1.4 Проверка прикладного программного обеспечения и сценариев службы.

  5. При обновлении существующего кластера, сделайте копию файла /etc/cluster.conf. Указания по обновлению приведены в разделе 2.2 Замечания по установке для пользователей Red Hat Enterprise Linux 2.1.

  6. Запустите Настройку кластера (Cluster Configuration Tool) и добавьте службы, указав информацию о свойствах и ресурсах службы, полученную на шаге 2.

  7. Сохраните свою конфигурацию. Сохранение настроек на одном узле кластера автоматически распространяется на остальные узлы.

За дополнительной информацией о добавлении службы кластера, обратитесь к:

3.1.1. Сбор информации о службе

Прежде чем приступить к настройке службы, соберите всю необходимую информацию о ресурсах службы и её свойствах. В некоторых случаях, для одной службы требуется указать несколько ресурсов (например, несколько IP адресов и дисковых устройств).

Свойства службы и ресурсы, которые вы можете определить в Настройке кластера (Cluster Configuration Tool), описаны в таблице 3-1.

СвойствоОписание
Service name (Имя службы)Каждая служба должна иметь уникальное имя. Имя службы может иметь длину до 63 символов и должно состоять из комбинации букв (верхнего или нижнего регистров), цифр, подчеркиваний, точек и знаков "минус". Начинаться имя службы должно с буквы или подчёркивания.
Failover domain (Домен переноса)

Укажите узлы, на которых будет работать служба, связав её с существующим доменом переноса.
Если используется упорядоченный перенос, и узел, выполняющий службу, выходит из строя, служба автоматически перемещается на следующий узел в упорядоченном списке. (Порядок предпочтения определяется последовательностью имён узлов в списке домена переноса). За дополнительной информацией обратитесь к разделу 2.9 Настройка домена переноса.

Check interval (Интервал проверки)Указывает интервал (в секундах), через который узел будет проверять работу приложения, связанного со службой. Например, если вы укажете ненулевой интервал проверки для службы NFS или Samba, программа Red Hat Cluster Manager проверит, работают ли необходимые демоны NFS или Samba. Для других типов служб Red Hat Cluster Manager проверяет возвращённое состояние, передавая сценарию приложения службы параметр status. По умолчанию, интервал проверки равен 0 – это означает, что наблюдение за службой отключено.
User script (Сценарий пользователя)Если вы используете его, укажите полный путь к сценарию, который будет запускать и останавливать службу. Дополнительную информацию вы найдёте в разделе 3.1.2 Создание сценариев для службы.
IP address (IP адрес)

Один или несколько IP адресов, назначенных службе. Этот IP-адрес (иногда называемый "плавающим" IP-адресом) отличается от IP-адреса, привязанного к Ethernet интерфейсу узла, так как он автоматически перемещается вместе с ресурсами службы, во время переноса службы. Так как клиенты подключаются к службе, используя этот IP адрес, они не знают, на каком узле работает служба, и перенос проходит для них незаметно.
Обратите внимание, сетевые платы узлов кластера должны находиться в IP подсетях, соответствующих IP адресам службы.
Вы можете также указать маску сети и адрес широковещательного запроса для каждого IP; если вы их не укажете, кластер будет использовать маску сети и широковещательный адрес, исходя из класса IP-адреса.

Device special file (Специальный файл устройства)Укажите все разделы общего диска, используемые службой.
File system and sharing options (Параметры файловой системы и общего доступа)

Если служба использует файловую систему, укажите тип этой системы, точку подключения и дополнительные параметры монтирования. Вы можете указать любые из стандартных параметров монтирования файловой системы, описанных на странице man, посвящённой mount(8). Для неформатированных устройств (если они используются службами) задавать информацию о подключении не нужно. В кластере поддерживаются файловые системы ext2 и ext3.
Укажите, разрешено ли выполнять "грубое" отключение файловой системы. При таком отключении инфраструктура управления службой кластера может отключить файловую систему до перемещения или переноса, даже если файловая система используется. Для этого все приложения, использующие файловую систему, будут немедленно завершены.
Вы также можете указать, экспортировать ли файловую систему с набором разрешений NFS. Подробнее об этом вы узнаете в разделе 5.1 Настройка службы NFS.
Укажите, будет ли файловая система доступна SMB-клиентам через службу Samba, задав имя общего ресурса Samba.

Table 3-1. Информация о свойствах и ресурсах службы

3.1.2. Создание сценариев для службы

Программное обеспечение кластера запускает и останавливает определённые приложения с помощью специальных сценариев служб. Для служб NFS и Samba, соответствующие сценарии уже включены в программное обеспечение кластера. Поэтому, настраивая с помощью программы Настройка кластера (Cluster Configuration Tool) службы NFS и Samba, не заполняйте поле Сценарий пользователя (User Script). Для других типов приложений такой сценарий необходимо указать. Например, настраивая службу базы данных, укажите полный путь к соответствующему сценарию запуска базы данных.

Формат сценариев служб соответствует соглашениям, принятым для сценариев init в System V. В этом соглашении указывается, что сценарии должны обрабатывать параметры: start, stop и status. В случае успешного завершения они должны возвращать 0.

Если происходит сбой службы на одном узле кластера, Red Hat Cluster Manager попытается запустить службу на других узлах. Если запустить службу на других узлах не удаётся, Red Hat Cluster Manager пытается остановить эту службу на всех узлах. Если при остановке службы по какой-то причине произошёл сбой, инфраструктура кластера переводит службу в состояние Сбой (Failed). Затем администраторы должны запустить Состояние кластера (Cluster Status Tool), выделить отказавшую службу и щёлкнуть Отключить (Disable), только после этого службу можно будет включить.

Помимо выполнения функций запуска и остановки, сценарий также используется для наблюдения за состоянием службы приложения. Для этого сценарий службы вызывается с параметром status. Чтобы включить наблюдение за службой, настраивая свойства службы, введите ненулевое значение в поле Интервал проверки (Check Interval) в программе Настройка кластера (Cluster Configuration Tool). Если сценарий вернул код состояния, отличный от нуля, инфраструктура кластера сначала пытается перезапустить эту службу на том же узле кластера. Функции анализа состояния не обязательно в полной мере реализовывать в сценарии службы. Если в сценарии не выполняется анализ состояния, в нём должна присутствовать заглушка, возвращающая для параметра status нулевой код состояния.

Действия, выполняемые сценарием с параметром status, могут различаться в зависимости от конкретной службы, а также от особенностей вашей конфигурации кластера. Например, простая проверка состояния базы данных может проверить, работает ли процесс сервера базы данных. В более сложной проверке может выполняться запрос к таблицам базы.

В каталоге /usr/share/cluster/doc/services/examples находится шаблон, полезный при создании сценариев служб, и кроме этого, примеры таких сценариев. Примеры сценариев вы также найдёте в разделе 4.1 Настройки службы Oracle, разделе 4.3 Настройка службы MySQL, главе 6 Настройка HTTP-сервера Apache.

3.1.3. Настройка дискового хранилища службы

До того, как создавать службу, настройте используемые ей общие файловые системы и неформатированные устройства. За дополнительной информацией обратитесь к разделу 1.4.4 Настройка общего дискового хранилища.

Если кластерная служба использует неформатированные устройства, вы можете воспользоваться файлом /etc/sysconfig/rawdevices для привязки устройств на этапе загрузки. Отредактируйте файл и укажите неформатированные символьные и блочные устройства, которые должны быть связаны при загрузке узла. За дополнительной информацией обратитесь к разделу 2.5 Редактирование файла rawdevices.

Обратите внимание, RAID-массивы, реализованные программно или на внутреннем контроллере, использовать нельзя. В общем дисковом хранилище должны использоваться только сертифицированные SCSI-контроллеры RAID-массивов.

Вы должны придерживаться следующих рекомендаций к дисковому хранилищу службы:

  • Для увеличения производительности используйте при создании файловых систем размер блока 4 КБ. Обратите внимание, некоторые из утилит mkfs, создающих файловую систему, задают размера блока по умолчанию 1 КБ, что приводит к длительной проверке диска (fsck).

  • Для уменьшения времени, требуемого для переноса службы, рекомендуется использовать файловую систему ext3. За дополнительной информацией обратитесь к разделу 1.4.4.6 Создание файловых систем.

  • Для больших файловых систем используйте параметр nocheck для отмены проверки всех групп блоков в разделе. Параметр nocheck позволяет значительно сократить время, необходимое для подключения большой файловой системы.

3.1.4. Проверка прикладного программного обеспечения и сценариев службы

Прежде чем заниматься настройкой службы, установите все приложения, используемые службой на каждом узле кластера (или на каждом узле в домене переноса, если он используется). Установив приложение на этих узлах, убедитесь в том, что оно запускается и обращается к общему дисковому хранилищу. Не запускайте приложение одновременно на нескольких узлах, чтобы избежать разрушения данных.

Если вы применяете сценарий для запуска и остановки приложения службы, установите его и проверьте, как он работает на всех узлах кластера. Дополнительную информацию вы найдёте в разделе 3.1.2 Создание сценариев для службы.