Глава 4. Настройка службы и администрирование

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

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

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

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

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

  2. Соберите необходимую информацию о ресурсах службы и её свойствах. Обратитесь к разделу Сбор информации о системе за дополнительной информацией.

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

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

  5. Выполните резервное копирование файла /etc/cluster.conf. Обратитесь к разделу Резервное копирование и восстановление базы данных кластера в Главе 8 за дополнительной информацией.

  6. Запустите утилиту cluadmin и выполните команду service add. Утилита cluadmin запросит у вас информацию, собранную во втором пункте. Если служба проходит проверки конфигурации, она будет запущена на выбранной вами системе, если только вы не решите её отключить. Например:
    cluadmin> service add

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

Сбор информации о системе

Перед созданием службы соберите всю необходимую информацию о ресурсах службы и её свойствах. Когда вы будете добавлять службу в базу данных кластера, утилита cluadmin запросит у вас эту информацию.

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

Свойства службы и используемые ресурсы, которые вы можете задать, приведены в следующей таблице.

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

Свойство или ресурс службыОписание
Service name (Название службы)Каждая служба должна иметь уникальное название. Название службы может иметь длину до 63 символов и должно состоять из комбинации букв (верхнего или нижнего регистров), цифр, подчеркиваний, точек и знаков "минус". Однако, начинаться название службы должно с буквы или подчеркивания.
Preferred member (Предпочитаемый узел кластера)Укажите кластерную систему, в которой будет работать служба, если только не произойдет перенос или перемещение службы вручную.
Preferred member relocation policy (Политика перемещения на предпочитаемый член кластера)Если политика включена, при подсоединении к кластеру предпочитаемого узла, служба будет автоматически перенесена на этот узел. Если она отключена, служба продолжит свою работу на не предпочитаемом узле. Например, если администратор включает эту политику и отказавший предпочитаемый узел перезагружается и подсоединяется к кластеру, служба автоматически запуститься на предпочитаемом узле.
Script location (Расположение сценария)Если вы используете его, укажите полный путь к сценарию, который будет использоваться для запуска и остановки службы. Обратитесь к разделу Создание сценариев для службы за дополнительной информацией.
IP address (IP адрес)

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

Disk partition (Дисковый раздел)Укажите все разделы общего диска, используемые службой.
Точки подключения, типы файловых систем, параметры подключения, параметры экспортируемых NFS устройств и общих дисков Samba

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

Интервал проверки службыУказывает интервал (в секундах) через который система будет проверять работу приложения, связанного со службой. Например, она будет проверять, работают ли необходимые демоны NFS или Samba. Для других типов служб, проверка состоит в анализе кода, возвращаемого сценарием службы, запущенного с параметром "status". Указав значение интервала, равным 0, вы отключите проверку службы.
Политика отключения службыЕсли администратор не хочет запускать службу сразу после добавления в кластер, он может оставить её в отключенном состоянии.

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

Программное обеспечение кластера запускает и останавливает службы определенных приложений с помощью специальных сценариев служб. Для служб NFS и Samba, соответствующие сценарии уже включены в программное обеспечение кластера. Поэтому, настраивая с помощью cluadmin службы NFS и Samba, не задавайте имя сценария службы. Для других служб такой сценарий необходимо указать. Например, настраивая службу базы данных в cluadmin, укажите полный путь к соответствующему сценарию запуска базы данных.

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

Помимо выполнения функций запуска и остановки, сценарии служб также используются для наблюдения за состоянием службы. Для этого сценарий вызывается с параметром status. Для включения наблюдения за службой, задайте в приглашении Status check interval: ненулевое значение, настраивая службу в cluadmin. Если сценарий вернул код состояния, отличный от нуля, программа кластера сначала попытается перезапустить эту службу на том же узле кластера. Функции анализа состояния не обязательно в полной мере реализовывать в сценарии службы. Если в сценарии не выполняется анализ состояния, в нём должна присутствовать заглушка, возвращающая для параметра status нулевой код состояния.

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

В каталоге /usr/share/cluster/doc/services/examples находятся шаблоны, полезные при создании сценариев служб, и кроме этого, примеры таких сценариев. Обратитесь к разделу Настройка Oracle в Главе 5 и разделу Настройка службы MySQL в Главе 5 и разделу Настройка службы Apache в Главе 7 и разделу Настройка службы DB2 в Главе 5 за примерами сценариев для этих служб.

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

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

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

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

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

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

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

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

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

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

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