2.4. Рассуждения о сервисах высокой доступности (HA Services)
Для обеспечения высокой доступности можно построить кластер, настроив сервисы высокой доступности. Ключевой компонент управления сервисами высокой доступности в кластере Red Hat, rgmanager
, реализует возможность перезапуска любого приложения после сбоя. В процессе настройки кластера формируются сервисы высокой доступности, способные в процессе восстановления после сбоя мигрировать с одного узла кластера на другой без видимых последствий для клиентов кластерного сервиса. Процесс восстановления после сбоя инициируется либо при сбое узла кластера, либо при переносе сервиса администратором с одного узла на другой (например, если планируется отключение узла кластера).
Для создания сервиса высокой доступности необходимо настроить его в конфигурационном файле кластера. Сервис высокой доступности включает в себя ресурсы кластера. Кластерные ресурсы представляют собой структурные единицы, настраиваемые в конфигурационном файле кластера — например, IP-адреса, скрипты инициализации приложений или общие разделы Red Hat GFS.
Сервис высокой доступности в любой момент времени может работать только на одном из узлов кластера; тем самым обеспечивается целостность данных. Можно определить приоритетные узлы для восстановления сервиса после сбоя, настроив failover-домен. Определение приоритетных узлов заключается в назначении уровня приоритета каждому узлу failover-домена. Уровень приоритета определяет, на каком из узлов будет запущен сервис после сбоя. Если приоритеты для узлов не определены, сервис восстановится на произвольном узле в границах своего failover-домена. Можно, также, указать, ограничен ли сервис границами соответствующего failover-домена. (Если сервис работает в failover-домене без таких ограничений, то, в случае недоступности всех узлов failover-домена, восстановление сервиса возможно на любом узле кластера.)
На
рисунке 2.1, “Пример кластерного сервиса - Web-сервер” показан пример сервиса высокой доступности - Web-сервера "content-webserver". Сервис запущен на узле B кластера и функционирует в границах failover-домена, включающего узлы A, B и D. В failover-домене приоритеты восстановления сервисов после сбоя определены таким образом, что сервис вначале восстанавливается на узле D, а затем на узле А. Восстановление сервиса после сбоя возможно только на узлах, входящих в соответствующий failover-домен. Сервис высокой доступности включает в себя следующие кластерные ресурсы:
IP resource — IP-адрес 10.10.10.201.
Application resource — приложение "httpd-content": скрипт инициализации web-сервера /etc/init.d/httpd
(httpd
).
File system resource — раздел Red Hat GFS "gfs-content-webserver".
Клиенты обращаются к сервису высокой доступности используя IP-адрес 10.10.10.201, позволяющий взаимодействовать с приложением web-сервера, httpd-content. Приложение httpd-content использует файловую систему gfs-content-webserver. Если узел B перестает функционировать, сервис восстанавливается на узле D. Если узел D недоступен, сервис восстановится на узле A. Процедура восстановления оказывает минимальное влияние на клинтов кластерного сервиса. Например, в приведенном примере может быть потеряна информация о состоянии (данные текущей сессии). Сервис высокой доступности, после восстановления на другом узле кластера, будет доступен по тому же IP-адресу.
Сервис высокой доступности представляет собой группу кластерных ресурсов, объединенных в единое целое. В конфигурационном файле кластера, /etc/cluster/cluster.conf
, сервис высокой доступности представлен в виде дерева ресурсов. Каждое дерево ресурсов в файле конфигурации является XML-представлением ресурса, его атрибутов и его отношений с прочими ресурсами в дереве (родительскими, дочерними или родственными).
Замечание
Поскольку сервис высокой доступности включает в себя ресурсы, организованные в виде иерархического дерева, сервис часто упоминается как дерево ресурсов или группа ресурсов. Обе фразы являются синонимами для фразы сервис высокой доступности .
Вершиной каждого дерева ресурсов является ресурс специального типа — a ресурс сервиса. Прочие типы ресурсов определяют его характеристики. Процесс настройки сервиса высокой доступности состоит из создания ресурса сервиса, создания подчиненных ресурсов кластера и объединения их в единое целое в соответствии с иерархическими ограничениями сервиса.
Кластер Red Hat поддерживает следующие сервисы высокой доступности:
Apache
Application (Script)
LVM (HA LVM)
MySQL
NFS
Open LDAP
Oracle
PostgreSQL 8
Samba
SAP
Tomcat 5
Существует два основных соображения, о которых стоит помнить в процессе настройки сервиса высокой доступности:
Типы ресурсов, необходимые для создания сервиса
Родительские, дочерние или родственные отношения между ресурсами
Типы ресурсов и их иерархия зависят от типа настраиваемого сервиса.