Pull to refresh

pacemaker: как добить лежачего

Reading time3 min
Views27K
При резервировании некоторых типов ресурсов, очень важно что бы одновременно ресурсом пользовалось не более одного клиента, как, например, с drbd: нельзя допускать что бы drbd была подмонтирована в RW режиме на двух системах. То же касается и дисковых систем, подключаемых к нескольким серверам.

За этим следит сам pacemaker, но могут возникнуть ситуации, когда pacemaker решит что ресурс нужно переносить, но команду на отключение на другом узле дать не сможет (например, потеря сетевой связности при использовании iscsi через отдельную сеть итд). Для борьбы с этим используется stonith (Shoot The Other Node In The Head). В pacemaker он настраивается как ресурс и способен решить многие проблемы.
Настройка и тестирование stonith через ipmi для pacemaker 1.1.9 и Centos 6
Total votes 3: ↑2 and ↓1+1
Comments4

Кластерное хранилище Pacemaker + DRBD (Dual primary) + samba

Reading time5 min
Views10K
В продолжение статьи «Кластерное хранилище Pacemaker + DRBD (Dual primary) + ctdb» представляю полностью готовый и рабочий вариант HA кластера файловой шары на 2-4 ноды для centos 6 и centos 7. Если вы хотите реализовать такое, вы либо извращенец, либо вам не дали никакого выбора, и реализовать надо хоть как-то.

Я просто опишу слоёный пирог, который мы будем собирать:

На блочном устройстве создаём таблицу gpt => один раздел на всё пространство под лвм => группу томов лвм на всё доступное пространство => лвм том на всё доступное пространство => drbd устройство => dlm => размечаем как физический том лвм на всё доступное пространство => на него кластерную группу томов лвм => лвм том на всё доступное пространство => размечаем фс gfs2 => подключаем в точку монтирования.
И рулить всем этим будет pacemaker c virtual ip адресом.


Если вы ещё хотите продолжать, читайте дальше под катом.
Читать дальше →
Total votes 16: ↑15 and ↓1+14
Comments26

Моделирование отказоустойчивых кластеров на базе PostgreSQL и Pacemaker

Reading time12 min
Views11K

Введение


Некоторое время назад передо мной поставили задачу разработать отказоустойчивый кластер для PostgreSQL, работающий в нескольких дата-центрах, объединенных оптоволокном в рамках одного города, и способный выдержать отказ (например, обесточивание) одного дата-центра. В качестве софта, который отвечает за отказоустойчивость, выбрал Pacemaker, потому что это официальное решение от RedHat для создания отказоустойчивых кластеров. Оно хорошо тем, что RedHat обеспечивает его поддержку, и тем, что это решение универсальное (модульное). С его помощью можно будет обеспечить отказоустойчивость не только PostgreSQL, но и других сервисов, либо используя стандартные модули, либо создавая их под конкретные нужды.


К этому решению возник резонный вопрос: насколько отказоустойчивым будет отказоустойчивый кластер? Чтобы это исследовать, я разработал тестовый стенд, который имитирует различные отказы на узлах кластера, ожидает восстановления работоспособности, восстанавливает отказавший узел и продолжает тестирование в цикле. Изначально этот проект назывался hapgsql, но со временем мне наскучило название, в котором только одна гласная. Поэтому отказоустойчивые базы данных (и float IP, на них указывающие) я стал именовать krogan (персонаж из компьютерной игры, у которого все важные органы дублированы), а узлы, кластеры и сам проект — tuchanka (планета, где живут кроганы).


Сейчас руководство разрешило открыть проект для open source-сообщества под лицензией MIT. README в скором времени будет переведен на английский язык (потому что ожидается, что основными потребителями будут разработчики Pacemaker и PostgreSQL), а старый русский вариант README я решил оформить (частично) в виде этой статьи.


Krogan on Tuchanka

Читать дальше →
Total votes 29: ↑27 and ↓2+25
Comments53

Кластер HA для групп доступности AlwaysON MS SQL Server 2022 Linux при помощи Pacemaker для хранения ИБ 1С

Level of difficultyMedium
Reading time26 min
Views5.6K

В сети огромное количество мануалов по созданию отказоустойчивых групп доступности AlwaysON Microsoft SQL Server посредством Windows Server Failover Cluster. Но что делать, если экземпляры Microsoft SQL Server развёрнуты на Linux, а очень хочется создать отказоустойчивые группы доступности AlwaysON? В русскоязычном сегменте не нашёл внятных мануалов, посвящённых этому вопросу. Решил написать гайд. Сразу скажу, гайд в некоторых местах будет очень подробный и разжёвыванием банальных вещей может раздражать опытных системных администраторов, однако, как показывает практика, людей которым хотелось бы, чтобы он был ещё подробнее куда больше, чем тех, кому эта подробность не по нраву. Тут мы затронем и вопросы оптимизации производительности, которые актуальны для наверно самого популярного прикладного применения Microsoft SQL Server в России — хранения информационных баз 1С. На самом деле данная задача не особо сложная, но важна к освящению.

Читать далее
Total votes 3: ↑3 and ↓0+3
Comments12

Тестируем Jet9 — отказоустойчивый хостинг сайтов с географической оптимизацией

Reading time7 min
Views8.6K
Мы создали платформу для выполнения веб-приложений Jet9 и сейчас проводим публичное бета-тестирование веб-хостинга, построенного на этой платформе. Здесь мы расскажем о том, что это такое, какие задачи решает, и как все организовано.

В последующих статьях мы расскажем подробнее про устройство Jet9, про использованные технические решения для различных компонентов, про подводные камни, с которыми мы сталкивались, и о том как их устранять или обходить.

Цель этих публикаций — привлечь к тестированию специалистов и получить багрепорты, информировать о проекте потенциальных клиентов и поделиться опытом с коллегами. По мере появления материалов здесь, будем добавлять материалы на нашем сайте.
Читать дальше →
Total votes 7: ↑7 and ↓0+7
Comments20

HA-Cluster на основе Pacemaker под контейнерную виртуализацию LXC и Docker

Reading time24 min
Views56K
В этой статье я опишу установку и настройку Active/Active кластера на основе Pacemaker, Corosync 2.x и CLVM с использованием разделяемого хранилища. Покажу, как приспособить этот кластер для работы с контейнерами LXC и Docker. Опишу команды для работы с кластером. И припомню те грабли, в которые вляпался, что, надеюсь, облегчит судьбу следующим проходимцам.

В качестве серверных дистрибутивов буду использовать CentOS 7 + epel и актуальные версии пакетов в них. Основной инструмент для работы с Pacemaker-ом будет PCS (pacemaker/corosync configuration system).



Читать дальше →
Total votes 13: ↑11 and ↓2+9
Comments16

Кластерное хранилище Pacemaker + DRBD (Dual primary) + ctdb

Reading time4 min
Views13K
Доброго времени суток, хабровчане. Поступила задача — развернуть отказоустойчивое High Available хранилище по средствам pacamaker + drbd (в режиме dual primary) + clvmd + ctdb, которое будет монтироваться на сервер. Оговорюсь, что со всеми этими инструментами я сталкиваюсь впервые и буду рад критике и дополнениям\исправлениям. В интернете инструкций конкретно по этой связке либо нет, либо информация устарела. Эта рабочая на данный момент, но есть одна проблема, решение которой, я надеюсь найти в ближайшее время. Все действия нужно выполнять на обоих нодах, если не указано обратное.

Читать дальше →
Total votes 22: ↑19 and ↓3+16
Comments24

Ещё один рецепт отказоустойчивого файлового сервера средствами PaceMaker

Level of difficultyHard
Reading time9 min
Views6.6K

В конце прошлого года нам поступила задача по реализации отказоустойчивого хранилища для разрабатываемого сервиса.

Ранее для этих целей предложили бы готовое решение в виде СХД с поддержкой сетевых протоколов вроде Hitachi NAS Platform (HNAS). Но текущая ситуация и особенности контракта обязывали проработать решение на мощностях заказчика.

В итоге выбрали и реализовали решение с использованием ОС на ядре Linux и кластере PaceMaker — с общим диском, поддержкой кворума, демона SDB и протокола NFS. Кому интересны особенности реализации, прошу под кат.

Читать далее
Total votes 20: ↑20 and ↓0+20
Comments10

Linux HA на основе Pacemaker

Reading time5 min
Views120K
В своей предыдущей статье я вкратце коснулся темы создания High Availability решения на основе демона heartbeat. Однако, как выяснилось, что-то сложнее чем 2-х узловой кластер на нем делать не так уж удобно. Изучение проблемы вывело меня на след проекта Pacemaker. Его-то мы сейчас в кратце и рассмотрим.
Читать дальше →
Total votes 59: ↑54 and ↓5+49
Comments32

Pacemaker HA: сетевые соединения и динамическое размещение ресурсов кластера

Reading time5 min
Views21K
Ноды кластера очень сильно зависят от их физического соединения. Как показывает практика, большинство случаев отработки failove-миграций ресурсов происходит по вине именно сетевых соединений. Поэтому от того, как у вас осуществляется соединение между нодами и настроены размещения ресурсов, зависит очень многое.
Читать дальше →
Total votes 25: ↑24 and ↓1+23
Comments14

Результаты тестирования Jet9 и ввод сервиса в рабочий режим

Reading time7 min
Views3.3K
Два месяца назад мы начали публичное бета-тестирование веб-хостинга на платформе Jet9. За это время с помощью участников тестирования мы проверили работу подсистем платформы: отказоустойчивого кластера, CDN и веб-акселераторов, окружения веб-хостинга сайтов, и получили оценки по взаимодействию пользователей с платформой. В одних случаях подтвердились ожидаемые результаты, в других случаях обнаружились искомые недостатки. Одновременно с этим мы оптимизировали среду веб-хостинга для типовых PHP/MySQL-сайтов и усовершенствовали работу пользовательских контейнеров.

Неделю назад тестирование завершилось, мы подвели итоги и теперь предоставляем хостинг Jet9 в рабочем режиме c обеспечением для клиентов всех услуг и заявленных SLA.

Результаты тестирования и новые усовершенствования
Total votes 10: ↑9 and ↓1+8
Comments1

Строим свое собственное отказоустойчивое облако на базе OpenNebula с Ceph, MariaDB Galera Cluster и OpenvSwitch

Reading time20 min
Views108K


На этот раз я бы хотел рассказать, как настроить сей сабж, в частности каждый отдельный компонент, что бы в итоге получить свое собственное, расширяемое, отказоустойчивое облако на базе OpenNebula. В данной статье я рассмотрю следующие моменты:


Темы сами по себе очень интересные, так что даже если вас не интересует конечная цель, но интересует настройка какого-нибудь отдельного компонента. Милости прошу под кат.
Читать дальше →
Total votes 24: ↑23 and ↓1+22
Comments20

Альтернативные технологии обеспечения высокой доступности приложений

Reading time5 min
Views4.5K
При построении High Availability Configuration на базе оборудования RISC-платформ мы выбираем из весьма ограниченного набора кластерного ПО. В первую очередь это вендорские разработки – Oracle Solaris Cluster, PowerHA (IBM), Serviceguard (HP), а также Veritas Cluster Server. Последнее решение по факту является основным предлагаемым на данный момент вариантом построения кластерных конфигураций, причем для разных платформ – Oracle, IBM и т.д.

Однако мы решили не ограничиваться только этими разработками и поискать альтернативное кластерное решение для x86. Так был инициирован внутренний проект по тестированию кластерной конфигурации на базе ПО Pacemaker.
Читать дальше →
Total votes 7: ↑4 and ↓3+1
Comments2

Балансировка нагрузки с Pacemaker и IPaddr (Active/Active cluster)

Reading time5 min
Views31K


Хочу рассказать вам еще об одном способе балансировки нагрузки. Про Pacemaker и IPaddr (ресурс-агент) и настройке его для Active/Passive кластера сказано уже и так достаточно много, но информации по организации полноценного Active/Active кластера, используя этот модуль я нашел крайне мало. Постараюсь исправить эту ситуацию.


Для начала расскажу подробнее чем такой метод балансировки примечателен:


  • Отсутсвие внешнего балансировщика — На всех нодах в кластере настраивается один общий виртуальный IP-адрес. Все запросы отправляются на него. Ноды отвечают на запросы на этот адрес случайно и по договоренности между ссобой.
  • Высокая доступность — Если одна нода падает ее обязаности подхватывает другая.
  • Простота настройки — Настройка осуществляется всего в 3-5 команд.
Читать дальше →
Total votes 15: ↑15 and ↓0+15
Comments10