Использование Pacemaker для высокой доступности

Подробная инструкция по настройке и использованию Pacemaker в CentOS.
/ Системное администрирование Высокая доступность

Использование Pacemaker для высокой доступности: Подробная инструкция по настройке и использованию Pacemaker в CentOS

Введение

Pacemaker — это мощный и гибкий менеджер кластеров для обеспечения высокой доступности (HA) приложений. Он помогает автоматически мигрировать рабочие нагрузки между узлами кластера и минимизировать время простоя. В этой статье мы рассмотрим подробную инструкцию по настройке и использованию Pacemaker в операционной системе CentOS.

Шаг 1: Подготовка окружения

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

Шаг 2: Установка необходимых пакетов

На каждом узле кластера установите пакеты «pacemaker», «corosync» и «pcs» (Pacemaker/Corosync Configuration System). Выполните следущие команды для установки пакетов:

sudo yum install -y pacemaker corosync pcs

Шаг 3: Настройка пользователя

Сервис «pcs» требует наличия пользователя HACLUSTER с установленным паролем на всех узлах кластера. Создадим такого пользователя и зададим ему пароль:

sudo passwd hacluster

Повторите эту операцию на всех узлах.

Шаг 4: Настройка и запуск Corosync

Corosync — это служба, которая обеспечивает обмен сообщениями и управление кластером. Настроим Corosync:

Создайте файл конфигурации `/etc/corosync/corosync.conf` на одном из узлов:

sudo nano /etc/corosync/corosync.conf

Добавьте в файл следующий конфигурационный шаблон:

totem {
    version: 2
    secauth: off
    cluster_name: my_cluster
    transport: udpu
    interface {
        ringnumber: 0
        bindnetaddr: 192.168.1.0 # Укажите ваш сетевой адрес
        mcastport: 5405
    }
}
nodelist {
    node {
        ring0_addr: node1
        nodeid: 1
    }
    node {
        ring0_addr: node2
        nodeid: 2
    }
}
quorum {
    provider: corosync_votequorum
}

Скопируйте этот файл на все остальные узлы кластера.

Запустите и включите службы Pacemaker и Corosync на всех узлах:

sudo systemctl start corosync
sudo systemctl start pacemaker
sudo systemctl enable corosync
sudo systemctl enable pacemaker

Шаг 5: Авторизация и создание кластера

Теперь авторизуемся с помощью команду pcs на главном узле:

sudo pcs cluster auth node1 node2 -u hacluster

Задайте пароль пользователя HACLUSTER, которого вы создали ранее.

Создайте и запустите кластер:

sudo pcs cluster setup --name my_cluster node1 node2
sudo pcs cluster start --all
sudo pcs cluster enable --all

Шаг 6: Настройка ресурсов

Сначала убедитесь, что кластер работает и видит все узлы:

sudo pcs status

Теперь можно добавить ресурсы, которые вы хотите сделать высокодоступными. Например, если это служба Apache HTTP:

Установите Apache на всех узлах:

sudo yum install -y httpd

Добавьте ресурс httpd в кластер:

sudo pcs resource create my_httpd ocf:heartbeat:apache configfile=/etc/httpd/conf/httpd.conf

Заключение

Настройка и использование Pacemaker в CentOS для обеспечения высокой доступности — это мощный способ минимизировать время простоя ваших приложений. Следуя шагам, описанным в данной статье, вы сможете настроить базовый кластер и защитить свои критически важные сервисы от простоев.

Поиск