Red Hat Cluster Manager: Руководство по установке и администрированию Red Hat Cluster Manager | ||
---|---|---|
Назад | Вперед |
В этой главе содержатся инструкции по настройке Red Hat Enterprise Linux AS для реализации Web-сервера Apache высокой степенью доступности.
В этом разделе рассматривается пример настройки отказоустойчивой кластерной службы Web-сервера Apache. Хотя значения параметров службы зависят от конкретной конфигурации, приведенный пример поможет вам настроить службу в вашем окружении.
Для настройки службы Apache вы должны настроить каждую кластерную систему в роли сервера Apache. Кластерное программное обеспечение гарантирует что в один момент времени Apache будет работать только в одной кластерной системе. Настройка сервера Apache включает в себя установке RPM-пакетов Apache в каждой кластерной системе и настройки общей файловой системы для размещения содержимого web-сайта.
Установив Apache в кластерных системах, отключите автоматический запуск службы Apache при загрузки системы, выполнив следующую команду: chkconfig --del httpd. Вместо системных сценариев загрузки, запускающих httpd, кластерное программное обеспечение запустит этот демон на действующем узле кластера, исполняющего службы Apache. Таким образом гарантируется, что соответствующий IP адрес и точка подключения файловой системы используется только одной кластерной системой.
При добавлении службы Apache, ей должен быть присвоен "плавающий" IP адрес. Кластерное программное обеспечение сопоставит этот IP адрес сетевому интерфейсу кластерной системы, в данный момент выполняющей службы Apache. Этот IP адреса, позволяет HTTP-клиентам не зависеть от конкретной кластерной системы, в которой работает Apache.
Файловые системы, в которых хранится Web-содержимое сервера, при загрузке кластерной системы не должны подключаться автоматически. Вместо этого, кластерное программное обеспечение самостоятельно подключает и отключает файловые системы при запуске и остановке в кластерных системах службы Apache. Это предотвращает одновременное обращение двух кластерных систем к одним и тем же данным, которое может привести к разрушению этих данных. Поэтому, ну описывайте такие файловые системы в файле /etc/fstab.
Настройка службы Apache состоит из следующих четырех этапов:
Настройка для службы общей файловой системы. Эта файловая система используется для хранения содержимого web-узла.
Установка программного обеспечения Apache в двух кластерных системах.
Настройка программного обеспечения Apache в двух кластерных системах.
Добавления службы в базу данных кластера.
Для создания общих файловых систем для службы Apache, от имени root выполните в одной кластерной системе следующие действия:
На общем диске, с помощью интерактивной утилиты fdisk создайте раздел, который будет использоваться для корневого каталога документов Apache. Обратите внимание, вы можете создать несколько корневых каталогов документов на разных разделах диска. Обратитесь к разделу Разбиение дисков в главе 2 за дополнительной информацией.
Воспользуйтесь командой mkfs для создания файловой системы ext2 на разделе, определенном вами на предыдущем этапе. Укажите букву диска и номер раздела. Например:
mkfs /dev/sde3 |
Подключите файловую систему, в которой будет находиться Web-содержимое корневого каталога документов Apache. Например:
mount /dev/sde3 /var/www/html |
Не добавляйте информацию об этом подключении в файл /etc/fstab, так как только кластерное программное обеспечение может правильно подключить и отключить файловые системы, используемые службой.
Скопируйте все требуемые файлы в корневой каталог документов.
Если у вас также используются файлы CGI или файлы, которые должны располагаться в других каталогах или в разных разделах, повторите эти действия.
Apache должен быть установлен в каждой кластерной системе. Обратите внимание, чтобы перенос службы происходил корректно, основная конфигурация сервера Apache должна быть одинаковой во всех кластерных системах. В следующем примере показана базовая инсталляция Web-сервера Apache, без дополнительных модулей или оптимизации производительности. По вопросам установки модулей Apache, или оптимизации его производительности, обратитесь к документации Apache, размещенной в каталоге инсталляции Apache, или на Web-сайте Apache, http://httpd.apache.org/docs-project/.
В каждой кластерной системе установите RPM-пакеты сервера Apache. Например:
rpm -Uvh apache-1.3.20-16.i386.rpm |
Для настройки кластерных систем в качестве серверов Apache, измените файл конфигурации httpd.conf, и создайте сценарий для запуска и остановки службы Apache. Затем, скопируйте эти файлы в обе кластерные системы. Эти файлы в каждой кластерной системе должны быть идентичны, чтобы служба Apache переносилась правильно.
В одной системе, выполните следующие действия:
Отредактируйте файл /etc/httpd/conf/httpd.conf конфигурации Apache в соответствии с вашей конфигурацией. Например:
Укажите каталог, содержащий HTML-файлы. Вы укажете эту точку подключения при добавлении службы Apache в базу данных кластера. Вы должны изменить этот каталог, если точка подключения содержимого вашего web-сайта отличается от принятой по умолчанию /var/www/html. Например:
DocumentRoot "/mnt/apacheservice/html" |
Если каталог сценариев CGI располагается не в стандартном каталоге, укажите каталог, содержащий эти сценарии. Например:
ScriptAlias /cgi-bin/ "/mnt/apacheservice/cgi-bin/" |
Укажите путь, использованный на предыдущем этапе и установить разрешения по умолчанию на доступ к этому каталогу. Например:
<Directory mnt/apacheservice/cgi-bin"> AllowOverride None Options None Order allow,deny Allow from all </Directory> |
Возможно также потребуется внести дополнительные изменения, для тонкой настройки Apache или добавления дополнительных модулей. За информацией о других параметрах настройки, обратитесь к документации проекта Apache на Web-сайте: http://httpd.apache.org/docs-project/.
Стандартный сценарий запуска Apache, /etc/rc.d/init.d/httpd также будет использоваться в схеме кластера для запуска и остановки сервера Apache на работающем узле кластера. Поэтому, настраивая службу, укажите имя этого файла в качестве параметра User script (Сценарий пользователя).
Замечание | |||
---|---|---|---|
В зависимости от версии Apache, стандартный сценарий службы /etc/rc.d/init.d/httpd может некорректно возвращать состояние httpd демонов в ответ на команду service httpd status. В таком случае наблюдение за этой службой не будет работать в кластере (если вы укажете интервал наблюдения при настройке службы). Обработка параметра status в этом сценарии может выглядеть следующим образом:
В этом случае, чтобы наблюдение за работой Apache велось правильно, добавьте следующие строки в обработку параметра status:
|
Перед добавлением службы Apache в базу данных кластера, убедитесь в том, что каталоги Apache не подключены. Затем, в одной кластерной системе добавьте службу. Укажите IP адрес, который программ кластера привяжет к сетевому интерфейсу в кластерной системе, выполняющей службу Apache.
Ниже приведен пример использования утилиты cluadmin для добавления службы Apache.
cluadmin> service add apache The user interface will prompt you for information about the service. Not all information is required for all services. Enter a question mark (?) at a prompt to obtain help. Enter a colon (:) and a single-character command at a prompt to do one of the following: c - Cancel and return to the top-level cluadmin command r - Restart to the initial prompt while keeping previous responses p - Proceed with the next prompt Preferred member [None]: devel0 Relocate when the preferred member joins the cluster (yes/no/?) \ [no]: yes User script (e.g., /usr/foo/script or None) [None]: \ /etc/rc.d/init.d/httpd Do you want to add an IP address to the service (yes/no/?): yes IP Address Information IP address: 10.1.16.150 Netmask (e.g. 255.255.255.0 or None) [None]: 255.255.255.0 Broadcast (e.g. X.Y.Z.255 or None) [None]: 10.1.16.255 Do you want to (a)dd, (m)odify, (d)elete or (s)how an IP address, or are you (f)inished adding IP addresses: f Do you want to add a disk device to the service (yes/no/?): yes Disk Device Information Device special file (e.g., /dev/sda1): /dev/sdb3 Filesystem type (e.g., ext2, reiserfs, ext3 or None): ext3 Mount point (e.g., /usr/mnt/service1 or None) [None]: /var/www/html Mount options (e.g., rw, nosuid): rw Forced unmount support (yes/no/?) [no]: yes Do you want to (a)dd, (m)odify, (d)elete or (s)how devices, or are you (f)inished adding device information: f Disable service (yes/no/?) [no]: no name: apache disabled: no preferred node: devel0 relocate: yes user script: /etc/rc.d/init/httpd IP address 0: 10.1.16.150 netmask 0: 255.255.255.0 broadcast 0: 10.1.16.255 device 0: /dev/sdb3 mount point, device 0: /var/www/html mount fstype, device 0: ext3 mount options, device 0: rw,sync force unmount, device 0: yes owner, device 0: nobody group, device 0: nobody Add apache service as shown? (yes/no/?) y Added apache. cluadmin> |
Замечание | |
---|---|
Утилита с графическим интерфейсом Red Hat Cluster Manager не может быть использована в кластерах, где настроены службы Apache высокой степени доступности. Дополнительную информацию вы можете получить в Главе 9. |