ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Как настроить кластер высокой доступности Nginx с помощью Pacemaker на CentOS 7

В этой статье мы покажем вам, как настроить кластер высокой доступности Nginx с помощью Pacemaker на CentOS 7. Чтобы иметь сервер Nginx, который может работать непрерывно без сбоев в течение длительного времени, нам нужно настроить сервер с активными пассивными экземплярами Nginx. Pacemaker – это программное обеспечение с открытым исходным кодом cluster manager, которое обеспечивает максимальную доступность ваших услуг. Это расширенный и масштабируемый диспетчер кластеров высокой доступности, распределенный с помощью ClusterLabs, он управляет всеми службами кластеров и использует возможности обмена сообщениями и членства базового механизма кластеров.

1. Предпосылки

Для выполнения этой статьи вам необходимо:

2. Вход и обновление CentOS

ssh root@IP_Address -p7022
yum update
yum upgrade

 

Отредактируйте файл /etc/hosts на сервере, с любого терминала в текстовом редакторе, допустим nano

nano /etc/hosts

 

Добавьте следующие строки в /etc/hosts:

192.168.0.22    webserver-01
192.168.0.23    webserver-02

3. Установка репозитория Epel и Nginx

Дополнительные пакеты для Enterprise Linux в хранилище (Epel) необходимо для того, чтобы установить Nginx. Выполните следующие команды на обоих серверах.

yum install epel-release -y

yum install nginx -y
systemctl enable nginx
systemctl start nginx

4. Изменение индексной страницы Nginx по умолчанию

После завершения, необходимо внести изменения в индексной странице Nginx по умолчанию на сервере.

Выполните следующую команду на первом сервере

echo ‘<h1>webserver-01</h1>’ > /usr/share/nginx/html/index.html

 

Выполните следующую команду на втором сервере

echo ‘<h1>webserver-02</h1>’ > /usr/share/nginx/html/index.html

5. Установка и настройка Pacemaker

В этом разделе мы установим стек Pacemaker. Вы должны выполнить этот шаг на обоих серверах.

yum install corosync pacemaker pcs -y

 

После того, как установка завершена, включите все службы на автоматический запуск при загрузке системы с помощью команды systemctl.

systemctl enable pacemaker
systemctl enable corosync
systemctl enable pcsd

6. Синхронизация конфигурации

Установка создаст пользователя системы «hacluster». Мы также должны запустить PCSD для синхронизации конфигурации

systemctl start pcsd

7. Создание пароля

Затем создайте новый пароль для пользователя «hacluster», который был автоматически создан во время предыдущей установки, мы должны использовать один и тот же пароль для всех серверов

passwd hacluster

8. Создание кластеров

Затем запустите эту команду ниже

pcs cluster auth webserver-01 webserver-02

Как настроить кластер высокой доступности Nginx с помощью Pacemaker на CentOS 7

На данный момент мы готовы к созданию кластера.

pcs cluster setup –name rosecluster webserver-01 webserver-02

Как настроить кластер высокой доступности Nginx с помощью Pacemaker на CentOS 7

rosecluster это имя кластера, в то время как webserver-01 и webserver-02 являются серверы, которые будут частью rosecluster.

Включите его при загрузке и запустите его.

pcs cluster enable –all
pcs cluster start –all

Как настроить кластер высокой доступности Nginx с помощью Pacemaker на CentOS 7

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

pcs status

Как настроить кластер высокой доступности Nginx с помощью Pacemaker на CentOS 7

9. Отключение STONITH

STONITH или Shoot другой узел в голове является реализация ограждения на Pacemaker. Если вы находитесь в производстве, лучше включить STONITH. Поскольку мы не используем устройства ограждения, мы отключаем STONITH.

При выполнении команды pcs status вы увидите предупреждение в выходных данных о том, что никакие устройства STONITH не настроены, и STONITH не отключен:

Отключите STONITH с помощью следующей команды pcs.

pcs property set stonith-enabled=false

10. Игнорировать политику кворума

Здесь мы настроим Pacemaker игнорировать кворум:

pcs property set no-quorum-policy=ignore

 

Проверьте список свойств и убедитесь, что STONITH и политики quorum отключены.

pcs property list

Как настроить кластер высокой доступности Nginx с помощью Pacemaker на CentOS 7

11. Добавление ресурсов

Плавающий IP является IP-адрес, который может быть мгновенно перенесен с одного сервера на другой в одной и той же сети, он используется для поддержки восстановления после сбоя в кластере высокой доступности. В этой статье, плавающий IP-адрес для Pacemaker высокой доступности будет «192.168.0.100». Сейчас мы собираемся добавить два ресурса, плавающую адрес ресурса IP с именем «v_ip» и новый ресурс для Nginx веб-сервера с именем ‘webserver’.

Добавить новый плавающий IP-адрес «v_ip» с помощью следующей команды.

pcs resource create v_ip ocf:heartbeat:IPaddr2 ip=192.168.0.100 cidr_netmask=32 op monitor interval=20s

 

Далее, мы можем добавить второй ресурс в кластер. Ресурс агент службы ocf:heartbeat:nginx под названием ‘webserver’.

pcs resource create webserver ocf:heartbeat:nginx configfile=/etc/nginx/nginx.conf op monitor timeout=”5s” interval=”5s”

 

Убедитесь, что нет ошибок, проверьте ресурсы.

pcs status resources

Как настроить кластер высокой доступности Nginx с помощью Pacemaker на CentOS 7

Если вы видите два ресурса; ‘v_ip’ и ‘webserver’, это означает, что плавающий IP и веб-сервер Nginx были добавлены.

12. Настройка ограничения

На этом шаге мы скажем серверу сделать так, чтобы оба ресурса, созданные ранее, работали на одном хосте. Мы установим ограничение коллокации для ресурсов со счетом бесконечности.

pcs constraint colocation add webserver v_ip INFINITY

 

Установка Nginx ресурсов (webserver), чтобы всегда работать на том же хосте, где v_ip активен.

pcs constraint order v_ip then webserver

 

Чтобы проверить работающие ресурсы на том же хосте, мы можем вызвать:

pcs status

13. Тест кластера.

Перейдите по адресу http://192.168.0.100 на вашем веб-браузере, вы увидите страницу Nginx по умолчанию на webserver-01.

 

Как настроить кластер высокой доступности Nginx с помощью Pacemaker на CentOS 7

Затем выполните следующую команду, чтобы остановить кластер webserver-01:

pcs cluster stop webserver-01

 

Теперь, если вы обновите страницу по адресу http://192.168.0.100, вы получите страницу Nginx по умолчанию от webserver-02.

 

Как настроить кластер высокой доступности Nginx с помощью Pacemaker на CentOS 7

Поздравляем, вы успешно создали кластер высокой доступности Nginx с помощью Pacemaker. Если у вас есть очень загруженный веб-сайт, вы можете рассмотреть возможность запуска вашего сайта на Nginx HA. Есть много хорошо известных сайтов, работающих на Nginx HA и они используют Nginx HA, чтобы поставлять их содержание быстро, надежно и безопасно.

Как настроить кластер высокой доступности Nginx с помощью Pacemaker на CentOS 7

Exit mobile version