PostgreSQL/Cluster: различия между версиями
(Новая страница: «== Конфигурация стенда == <source> alt-node-1 192.168.170.40/24 alt-node-2 192.168.170.41/24 alt-node-3 192.168.170.42/24 </source> <source> master 192.168.170.32/24 </source> IP-адреса нод кластера; alt-node-1, alt-node-2, alt-node-3; IP-адрес который назначается "мастер-ноде" кластера БД: master; Дальнейшие операции должны быть выполнены д...») |
Нет описания правки |
||
Строка 9: | Строка 9: | ||
</source> | </source> | ||
IP-адреса нод кластера; alt-node-1, alt-node-2, alt-node-3; | IP-адреса нод кластера; <code>alt-node-1</code>, <code>alt-node-2</code>, <code>alt-node-3</code>; | ||
IP-адрес который назначается "мастер-ноде" кластера БД: master; | IP-адрес который назначается "мастер-ноде" кластера БД: <code>master</code>; | ||
Дальнейшие операции должны быть выполнены для каждой ноды кластера. | Дальнейшие операции должны быть выполнены для каждой ноды кластера. | ||
Строка 28: | Строка 28: | ||
Команда синхронизации часов: | Команда синхронизации часов: | ||
<source lang="sh"> | <source lang="sh"> | ||
ntpdate -s pool.ntp.org | ntpdate -s pool.ntp.org; | ||
</source> | </source> | ||
Строка 35: | Строка 35: | ||
Команда исправления: | Команда исправления: | ||
<source lang="sh"> | <source lang="sh"> | ||
rm /etc/hostsln && -v /var/resolv/etc/hosts /etc/hosts | rm /etc/hostsln && -v /var/resolv/etc/hosts /etc/hosts; | ||
</source> | </source> | ||
== Установка пакетов базы данных == | == Установка пакетов базы данных == | ||
<source lang="sh">apt-get update && apt-get install postgresql13 postgresql13-server postgresql13-contrib</source> | <source lang="sh">apt-get update && apt-get install postgresql13 postgresql13-server postgresql13-contrib;</source> | ||
== Необходимое исправления для работоспособности PosgreSQL == | |||
<source lang="sh">usermod --home '/var/lib/pgsql' --shell '/bin/sh' postgres;</source> | |||
== Установка пакетов кластера == | |||
<source lang="sh">apt-get update && apt-get install pacemaker pcs fence-agents-virsh resource-agents-paf corosync resource-agents;</source> | |||
== Примерная настройка кластера == | |||
=== Установка пароля для пользователя hacluster === | |||
<source lang="sh">passwd hacluster</source> | |||
Пароль: <code>hacluster</code> | |||
=== Включение демона === | |||
<source lang="sh">systemcctl enable --now pcsd</source> | |||
=== Разрушить кластер === | |||
<source lang="sh">pcs cluster destroy --all;</source> | |||
=== Добавить сервисы кластера в автозапуск === | |||
<source lang="">systemctl enable --now corosync.service pacemaker.service</source> | |||
=== Сборка нод в кластер === | |||
==== Аутентификация на нодах кластера ==== | |||
<source lang="sh">pcs host auth -u hacluster alt-node-1 alt-node-2 alt-node-3;</source> | |||
пароль для пользователя <code>hacluster</code>, который использован ранее:<code>hacluster</code> | |||
==== Сборка нод в кластер ==== | |||
<source lang="sh"> | |||
pcs cluster setup \ | |||
sng-cluster \ | |||
alt-node-1 addr=$(grep alt-node-1 /etc/hosts | cut -d ' ' -f 1) \ | |||
alt-node-2 addr=$(grep alt-node-2 /etc/hosts | cut -d ' ' -f 1) \ | |||
alt-node-3 addr=$(grep alt-node-3 /etc/hosts | cut -d ' ' -f 1) \ | |||
transport udpu; | |||
</source> | |||
==== Запуск кластера ==== | |||
<source lang="sh">pcs cluster start --all --wait=60;</source> | |||
==== Просмотр полного статуса кластера ==== | |||
<source lang="sh">pcs status --full;</source> | |||
==== Включить кластер ==== | |||
<source lang="sh">pcs cluster enable --all;</source> | |||
==== Просмотр статуса участников кластера ==== | |||
<source lang="sh">corosync-cmapctl | grep members;</source> |
Версия от 15:19, 10 января 2023
Конфигурация стенда
alt-node-1 192.168.170.40/24
alt-node-2 192.168.170.41/24
alt-node-3 192.168.170.42/24
master 192.168.170.32/24
IP-адреса нод кластера; alt-node-1
, alt-node-2
, alt-node-3
;
IP-адрес который назначается "мастер-ноде" кластера БД: master
;
Дальнейшие операции должны быть выполнены для каждой ноды кластера.
cat >> /var/resolv/etc/hosts << EOF
192.168.170.40 alt-node-1
192.168.170.41 alt-node-2
192.168.170.42 alt-node-3
EOF
Важные требования (типичные фиксы)
1. Часы у нод кластера должны идти правильно и синхронно
Команда синхронизации часов:
ntpdate -s pool.ntp.org;
2. /etc/hosts
должен быть hardlink`ом на /var/resolv/etc/hosts
Команда исправления:
rm /etc/hostsln && -v /var/resolv/etc/hosts /etc/hosts;
Установка пакетов базы данных
apt-get update && apt-get install postgresql13 postgresql13-server postgresql13-contrib;
Необходимое исправления для работоспособности PosgreSQL
usermod --home '/var/lib/pgsql' --shell '/bin/sh' postgres;
Установка пакетов кластера
apt-get update && apt-get install pacemaker pcs fence-agents-virsh resource-agents-paf corosync resource-agents;
Примерная настройка кластера
Установка пароля для пользователя hacluster
passwd hacluster
Пароль: hacluster
Включение демона
systemcctl enable --now pcsd
Разрушить кластер
pcs cluster destroy --all;
Добавить сервисы кластера в автозапуск
systemctl enable --now corosync.service pacemaker.service
Сборка нод в кластер
Аутентификация на нодах кластера
pcs host auth -u hacluster alt-node-1 alt-node-2 alt-node-3;
пароль для пользователя hacluster
, который использован ранее:hacluster
Сборка нод в кластер
pcs cluster setup \
sng-cluster \
alt-node-1 addr=$(grep alt-node-1 /etc/hosts | cut -d ' ' -f 1) \
alt-node-2 addr=$(grep alt-node-2 /etc/hosts | cut -d ' ' -f 1) \
alt-node-3 addr=$(grep alt-node-3 /etc/hosts | cut -d ' ' -f 1) \
transport udpu;
Запуск кластера
pcs cluster start --all --wait=60;
Просмотр полного статуса кластера
pcs status --full;
Включить кластер
pcs cluster enable --all;
Просмотр статуса участников кластера
corosync-cmapctl | grep members;