Кластер Оплёта — различия между версиями

Материал из Брацка Правки
Перейти к: навигация, поиск
(Наработки)
(Наработки)
 
(не показано 7 промежуточных версий этого же участника)
Строка 1: Строка 1:
[[Кластер Оплёта]] -- это связка ресурсов [[Брацко Облако|Брацка Облака]], обеспечивающая отказоустойчивость [[Оплёт]]а.
+
[[Кластер Оплёта]] -- это связка ресурсов [[Брацко Облако|Брацка Облака]], обеспечивающая отказоустойчивость [[Оплёт]]а, а также распределителей нагрузки (load balancer) остальных кластеров.
 +
 
  
 
==Положение дел==
 
==Положение дел==
Строка 6: Строка 7:
 
:По состоянию на сентябрь 2021, управление пользователями осуществляется с дроплета ([[VPS]]) в Нью-Йоркском вычислительном центре [[DigitalOcean]] ([[DO]]). Другой дроплет во Франции поддерживает тестировку, но практически не используется.
 
:По состоянию на сентябрь 2021, управление пользователями осуществляется с дроплета ([[VPS]]) в Нью-Йоркском вычислительном центре [[DigitalOcean]] ([[DO]]). Другой дроплет во Франции поддерживает тестировку, но практически не используется.
  
===Задача===
+
===Задачи===
:Предполагается переделать структуру на кластер. Сам [[DO]] предлагает [[load balancer]] и [[floating IP address]], но эти решения вроде требовали, чтобы дроплеты были расположены в едином вычислительном центре, что не планируется. Скорее всего, решение должно быть построено на основе [[HAProxy]].
+
:Структура нуждается в переделке на отказоустойчивый кластер прежде всего и, ещё лучше, географически распределённый (Geocast). В перспективе к двум дроплетам в Нью-Йорке и Франции можно добавить ещё один в Сингапуре.
  
 
===Наработки===
 
===Наработки===
 +
:Сам [[DO]] предлагает [[load balancer]] и [[floating IP address]], но эти решения вроде требовали, чтобы дроплеты были расположены в едином вычислительном центре, что не планируется. Скорее всего, решение должно быть построено на основе [[HAProxy]].
 +
 
:Эксперементы проводились на [[Опытно Облако|Опытне Облаке]]. [[HAProxy]] работает прекрасно.  Проблема настройки [[HAProxy]] упирается в проблему настройки самого приложения. По умолчанию любое приложение слушает сервер, на котором само находится, то есть localhost. При отключении одного сервера, мы подсоединяемся к друому и т.д.  
 
:Эксперементы проводились на [[Опытно Облако|Опытне Облаке]]. [[HAProxy]] работает прекрасно.  Проблема настройки [[HAProxy]] упирается в проблему настройки самого приложения. По умолчанию любое приложение слушает сервер, на котором само находится, то есть localhost. При отключении одного сервера, мы подсоединяемся к друому и т.д.  
  
Строка 20: Строка 23:
 
:*<code>iptables -A INPUT -m state --state ESTABLISHED,RELATED  -m comment --comment  "ответы из мира на наши запросы" -j ACCEPT</code>
 
:*<code>iptables -A INPUT -m state --state ESTABLISHED,RELATED  -m comment --comment  "ответы из мира на наши запросы" -j ACCEPT</code>
  
:На [[MariaDB Galera]]:  
+
:На [[MariaDB Galera Cluster]]:  
 
:*<code>iptables -A INPUT -m multiport -p tcp --dport 3306,4567,4568,4444 -m comment --comment  "порты, требующиеся для связи между узлами" -j ACCEPT</code>
 
:*<code>iptables -A INPUT -m multiport -p tcp --dport 3306,4567,4568,4444 -m comment --comment  "порты, требующиеся для связи между узлами" -j ACCEPT</code>
 
:*<code>iptables -A INPUT -p udp --dport 4567 -j ACCEPT -m comment --comment "тоже Galera"</code>
 
:*<code>iptables -A INPUT -p udp --dport 4567 -j ACCEPT -m comment --comment "тоже Galera"</code>

Текущая версия на 11:29, 22 сентября 2021

Кластер Оплёта -- это связка ресурсов Брацка Облака, обеспечивающая отказоустойчивость Оплёта, а также распределителей нагрузки (load balancer) остальных кластеров.


Положение дел

Инфраструктура

По состоянию на сентябрь 2021, управление пользователями осуществляется с дроплета (VPS) в Нью-Йоркском вычислительном центре DigitalOcean (DO). Другой дроплет во Франции поддерживает тестировку, но практически не используется.

Задачи

Структура нуждается в переделке на отказоустойчивый кластер прежде всего и, ещё лучше, географически распределённый (Geocast). В перспективе к двум дроплетам в Нью-Йорке и Франции можно добавить ещё один в Сингапуре.

Наработки

Сам DO предлагает load balancer и floating IP address, но эти решения вроде требовали, чтобы дроплеты были расположены в едином вычислительном центре, что не планируется. Скорее всего, решение должно быть построено на основе HAProxy.
Эксперементы проводились на Опытне Облаке. HAProxy работает прекрасно. Проблема настройки HAProxy упирается в проблему настройки самого приложения. По умолчанию любое приложение слушает сервер, на котором само находится, то есть localhost. При отключении одного сервера, мы подсоединяемся к друому и т.д.
При более подробной настройке самого приложения, в частности, Опытной Правки, оказалось, что оно тоже работает, но очень медленно. Время загрузки страницы примерно 118 с. Начав эксперементировать с этой проблемой, был прямо указан на нужный сервер, и приложение заработало отлично. Так что, похоже, дело в HAProxy.
В связи с этой темой были настроены iptables:
  • iptables -A INPUT -p tcp --dport 22 -j ACCEPT
  • iptables -A INPUT -i lo -j ACCEPT -m comment --comment "трафик LOOPBACK"
  • iptables -A INPUT -m multiport -p tcp --dport 80,443 -m comment --comment "web ports" -j ACCEPT
  • iptables -A INPUT -m state --state ESTABLISHED,RELATED -m comment --comment "ответы из мира на наши запросы" -j ACCEPT
На MariaDB Galera Cluster:
  • iptables -A INPUT -m multiport -p tcp --dport 3306,4567,4568,4444 -m comment --comment "порты, требующиеся для связи между узлами" -j ACCEPT
  • iptables -A INPUT -p udp --dport 4567 -j ACCEPT -m comment --comment "тоже Galera"