Ссылки:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
zabbix: https://b14esh.com/nix/syslog-rsyslog-zabbix/konspekt-zabbix.html https://www.zabbix.com/ru/download?zabbix=5.4&os_distribution=ubuntu&os_version=20.04_focal&db=mysql&ws=apache https://www.zabbix.com/ru/download?zabbix=5.4&os_distribution=debian&os_version=11_bullseye&db=mysql&ws=apache https://habr.com/ru/post/485538/ https://medium.com/@r.szulist/zabbix-6-0-native-high-availability-c3d98e2d3d92 https://blog.zabbix.com/zabbix-ha-cluster-setups/8264/ https://medium.com/@daian.m/multi-site-high-availability-with-automatic-failover-for-zabbix-server-and-proxy-f65f4179a9d2 https://habr.com/ru/post/536194/ pacemaker: https://clusterlabs.org https://xakep.ru/2019/01/24/corosync-pacemaker/ https://docs.microsoft.com/ru-ru/sql/linux/sql-server-linux-availability-group-cluster-ubuntu?view=sql-server-ver15 https://clusterlabs.org/pacemaker/doc/deprecated/en-US/Pacemaker/1.1/html/Clusters_from_Scratch/ https://clusterlabs.org/pacemaker/doc/crm_fencing.html https://fibex.su/corosync-pacemaker https://habr.com/ru/post/319550/ https://habr.com/ru/company/postgrespro/blog/359230/ https://xakep.ru/2019/01/24/corosync-pacemaker/ https://server-fault.ru/questions/222987/pacemaker-resurs-peremeschenija-ogranichenija-razmeschenija https://www.b-blog.info/ru/ustanavlivaem-klaster-zabbix-v-azure-na-centos.html https://clusterlabs.org/pacemaker/doc/deprecated/en-US/Pacemaker/1.1/html/Clusters_from_Scratch/_move_resources_manually.html https://habr.com/ru/post/200348/ https://server-fault.ru/questions/187581/oshibka-sostojanija-pk-httpd_monitor_5000-na-servere-ne-vypolnenie-7 mysql/galera: https://system-admins.ru/ustanovka-mariadb-galera-dlya-upravleniya-klasterom-replikacii/ https://www.digitalocean.com/community/tutorials/how-to-configure-a-galera-cluster-with-mysql-on-ubuntu-18-04-servers-ru https://tokmakov.msk.ru/blog/item/600 https://netpoint-dc.com/blog/mariadb-galera-3-node-cluster/ zabbix.MIBS https://ixnfo.com/ustanovka-mib-v-ubuntu-i-reshenie-oshibki-snmp-cannot-find-module.html |
Задачи:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
0. Определить количество нод в кластере. Минимальное количество нод в кластере три. Возможен вариант две полноценные ноды и один арбитр. Для правильной работы кворума необходимо не четное количество нод. 1. Настроить pacemaker. Собрать кластер. Настроить IP для кластера. Настроить STONITH / ip должен приезжать туда где у нас работает clusterip/apache/mariadb/zabbix 2. Настроить mariadb galera 3. Если у нас всего две ноды, настроить арбитр для pacemaker и galera. |
Собираем кластер
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
0. Ставим пакеты для управления кластером: apt-get install pacemaker pcs fence-agents resource-agents 1. Нужно задать пароль для Pacemaker и Corosync. !!!Используйте на всех узлах один и тот же пароль. passwd hacluster 2. Включение и запуск службы pcsd и Pacemaker systemctl enable pcsd systemctl start pcsd systemctl enable pacemaker 3. Очищаем конфигурацию по умолчанию pcs cluster destroy systemctl enable pacemaker 4. создаем кластер sudo pcs host auth <node1> <node2> <node3> -u hacluster -p <password for hacluster> sudo pcs cluster setup <clusterName> <node1> <node2> <node3> sudo pcs cluster start --all sudo pcs cluster enable --all |
STONITH
1 2 3 |
Временно отключен STONITH Ограждение на уровне ресурсов гарантирует отсутствие повреждений данных в случае сбоя за счет настройки ресурса. pcs property set stonith-enabled=false |
Задание свойства кластера cluster-recheck-interval
1 2 3 4 5 6 7 8 9 10 11 12 |
cluster-recheck-interval указывает интервал опроса, с которым кластер проверяет наличие изменений в параметрах ресурсов, ограничениях или других параметрах кластера. Если реплика выходит из строя, кластер пытается перезапустить ее с интервалом, который связан со значениями failure-timeout и cluster-recheck-interval. Например, если для failure-timeout установлено значение 60 с, а для cluster-recheck-interval — 120 с, то повторная попытка перезапуска предпринимается с интервалом, который больше 60 с, но меньше 120 с. Рекомендуем установить для failure-timeout значение, равное 60 с, а для cluster-recheck-interval значение больше 60 с. Задавать для cluster-recheck-interval небольшое значение не рекомендуется. pcs property set cluster-recheck-interval=2min pcs property set start-failure-is-fatal=true pcs resource update ag1 meta failure-timeout=60s |
CLUSTER_IP на виртуальной сетевушке:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
0. На нодах установлен и живет openswitch ovs-vsctl add-br ovsbr0 ####ovs-vsctl add-bond ovsbr0 bond0 eth1 eth2 lacp=active - добавляем в свитч с именем ovsbr0 интерфейс bond0 ####ovs-vsctl add-port ovsbr0 eno1 - добавляем в свитч с именем ovsbr0 интерфейс eno0 1. Создаем виртуальную сетевушку: ovs-vsctl add-port ovsbr0 clusterip ovs-vsctl set interface clusterip type=internal ovs-vsctl set port clusterip tag=4081 2. Редактируем настройки сети на всех нодах в кластере: /etc/network/interfaces auto clusterip iface clusterip inet manual 3. Добавим ресурс "ocf:heartbeat:IPaddr2" с именем "CLUSTER_IP" привяжем к сетевушке "clusterip" Печально но нада отключить стонис pcs property set stonith-enabled=false Добавил ресурс ip pcs resource create cluster_vip ocf:heartbeat:IPaddr2 ip="4.1.7.2" cidr_netmask="25" nic="clusterip" op monitor interval=5s Запретили ресурс cluster_vip запускать на zbxhaa.comfortel.pro pcs constraint location cluster_vip avoids zbxhaa.comfortel.pro=INFINITY Добавил ресурс zabbix pcs resource create zabbix_server systemd:zabbix-server op monitor interval=10s Разрешил загружать ресурс ip вместе zabbix_server pcs constraint colocation add zabbix_server with cluster_vip INFINITY Запускать ip потом zabbix pcs constraint order cluster_vip then zabbix_server Запрещаем также на арбитре zbxhaa.comfortel.pro запуск ресурса zabbix_server pcs constraint location zabbix_server avoids zbxhaa.comfortel.pro=INFINITY Смотрим состояние кластера: pcs status Смотрим полный конфиг \ увидем запреты pcs config show На нодах отключили автозагрузку, теперь загрузкой zabbix занимается pacemaker systemctl disable zabbix-server.service systemctl status zabbix-server.service Если требуется переместить ресурсы на ноду zbxha1.comfortel.pro pcs resource move cluster_vip zbxha1.comfortel.pro # Говорим, что предпочитаемый сервер - "zabbixserver1" pcs constraint location cluster_vip prefers zabbixserver1 pcs constraint location zabbix_server prefers zabbixserver1 |
Установка MariaDB Galera
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
Преимущества кластера Galera True Multi-master. Чтение и запись на любой узел в любое время. Синхронная репликация. Отсутствует ведомое устройство, данные не теряются при сбое узла. Tightly Coupled. Все узлы имеют одинаковое состояние. Нет разнесенных данных между разрешенными узлами. Многопоточный Slave. Для лучшей производительности. Для любой рабочей нагрузки. Нет операций переключения мастер-слэйва или использования VIP. Горячий режим ожидания. Отсутствие простоев при переходе на другой ресурс (так как нет перехода на другой ресурс). Автоматическое создание узлов. Не нужно вручную создавать резервную копию базы данных и копировать ее на новый узел. Поддерживает InnoDB. Прозрачный для приложений. Требуется минимальные изменения в приложении или вообще не трубует изменений. Нет необходимости разделения чтения и записи. Результатом этого является решение высокой доступности, которое является одновременно надежным с точки зрения целостности данных и высокой производительности с отказоустойчивостью. |