Оглавление |
---|
Информация |
---|
Данная статья является частью статьи: Развертывание двухузлового кластера pacemaker и применима в рамках указанной статьи. |
Установка пакетов
Информация |
---|
Установка пакетов выполняется на каждом узле кластера. |
Установить пакеты сервера apache2:
Command |
---|
sudo apt install apache2 |
Подготовка данных для тестирования
Информация |
---|
Подготовка данных для тестирования выполняется на каждом узле кластера. |
Указать имя узла в конфигурации web-сайта Apache, используемой по умолчанию (файл /etc/apache2/sites-available/000-default.conf):
Command sudo sed -i "1i ServerName $(hostname)" /etc/apache2/sites-available/000-default.conf Заменить содержимое индексного файла в пространстве документов Apache, используемое по умолчанию
Command echo "Test Site - $(hostname)" | sudo tee /var/www/html/index.html Только для ОС Astra Linux Special Edition: отключить AstraMode режим в главной конфигурации Apache (файл /etc/apache2/apache2.conf):
Command sudo sed -i 's/^\s*#\?\s*AstraMode.*/AstraMode off/' /etc/apache2/apache2.conf
Так как в дальнейшем работой службы apache будет управлять Corosync, следует исключить apache2 из автоматической загрузки
Command sudo systemctl disable apache2 Перезапустить Apache:
Command sudo apachectl restart
Подключение ресурса
Информация |
---|
Выполняется на любом узле |
Добавить службу Apache как ресурс с именем WebSite:
Command sudo pcs resource create WebSite ocf:heartbeat:apache configfile=/etc/apache2/apache2.conf op monitor interval=1min Информация Параметры команды, задающиеся колючем op (в примере выше - параметр op monitor interval=1min должны указываться последними. Установить ограничения:
Ограничение "ресурс WebSite должен работать на узле, где размещен ClusterIP”:
Command sudo pcs constraint colocation add WebSite with ClusterIP INFINITY Ограничение "сначала запускается ClusterIP, затем WebSite”:
Command sudo pcs constraint order ClusterIP then WebSite
Тестирование
Тестирование должно продемонстрировать отказоустойчивость созданного кластера. Для тестирования используется отдельный компьютер, подключенный к той же сети.
Подготовка теста
На компьютере, предназначенном для тестирования:
Создать сценарий test-request.sh следующего содержания:
Блок кода language bash #!/bin/sh while true ; do wget --no-cache -qO- http://192.168.23.100/index.html sleep 1s done
Установить созданному файлу сценария права на исполнение
Command chmod +x test-request.sh Запустить сценарий:
Command ./test-request.sh После запуска сценарий будет отправлять запрос кластеру 1 раз в секунду и выводить полученное содержимое на экран.
Если в данный момент ресурс ClusterIP размещён на узле 1, то вывод сценарий тестового сценария будет таким:Блок кода Test Site - pcmk-1 Test Site - pcmk-1 Test Site - pcmk-1 Test Site - pcmk-1 Test Site - pcmk-1 Test Site - pcmk-1
Отключение узла кластера от сети
Найти узел кластера, на котором размещены ресурсы, выполнив команду на любом узле:
Command sudo pcs status resources На узле с кластерными ресурсами отключить сетевое соединение:
Command sudo nmcli c d path 1 Кластерные ресурсы мигрируют на другой узел кластера и вывод скрипта test-request.sh изменится. Например, если кластерные ресурсы располагались на узле 1, то после отключения узла 1 от сети, ресурсы переместятся на узел 2. Пример вывода тестового сценария:
Блок кода Test Site - pcmk-1 Test Site - pcmk-1 Test Site - pcmk-1 Test Site - pcmk-2 Test Site - pcmk-2 Test Site - pcmk-2
Включить сетевое соединение на отключённом от сети узле:
Command sudo nmcli c u path 1 Дождаться возвращение узла в кластер. После возвращения узла в кластер команда;
Command sudo pcs status должна вывести:
Блок кода Online: [ pcmk-1 pcmk-2 ]
Если вывод команды на разных узлах различается - значит узел еще не вернулся в кластер. В этом случае проверку повторить после небольшой паузы.
Полное выключение узла кластера
Найти узел кластера, на котором размещены ресурсы, выполнив команду на любом узле:
Command sudo pcs status resources Выключить узел с кластерными ресурсами, перезагрузив его:
Command sudo reboot Кластерные ресурсы мигрируют на другой узел кластера и вывод сценария test-request.sh изменится. Если кластерные ресурсы располагались на узле 2, то после выключения узла 2 ресурсы переместятся на узел 1. Пример вывода тестового сценария:
Блок кода Test Site - pcmk-2 Test Site - pcmk-2 Test Site - pcmk-2 Test Site - pcmk-1 Test Site - pcmk-1 Test Site - pcmk-1
Когда выключенный узел загрузится вернуть его в кластер, выполнив на нем команду:
Command sudo pcs cluster start