Теплый Резерв Jira И Confluence (На Пороге Импортозамещения)

За почти четырнадцатилетнюю историю использования Jira и Confluence на Московской бирже накопился огромный объем данных: у нас более 350 проектов в Jira и более 200 пространств в Confluence. Не будет преувеличением сказать, что над этими продуктами сейчас работает вся биржа, а не только ИТ-специалисты.

Операционный блок ведет чек-листы регуляторных операций в Confluence, бизнес и аналитики пишут и утверждают функциональные задачи.

Портал проекта, которым управляет Проектный офис, недавно был переведен в Jira. Фактически мы используем продукты Atlassian в режиме, близком к 24*7. Поэтому вопросы резервного копирования, восстановления в случае сбоя и вынужденного простоя для нас уже давно очень актуальны.

В прошлом году мы буквально на коленях сделали теплый резерв Jira и Confluence, о чем и поговорим в этой статье.

Ничего уникального, но чем выше шанс, что наш подход принесет пользу кому-то другому — увы, Atlassian уже начал отзывать лицензии, и неизвестно, что будет дальше.



Как это было

На рисунке ниже показана предыдущая архитектура развертывания, а также механизмы резервного копирования и восстановления:

Теплый резерв Jira и Confluence (на пороге импортозамещения)

Как вы знаете, Jira и Confluence хранят пользовательские данные в СУБД и файловой системе.

В случае проблем с основным дата-центром, чтобы запустить Jira или Confluence в резервном дата-центре, необходимо было скопировать базу данных и архив с данными файловой системы на соответствующие серверы в резервном дата-центре, развернуть базу данных, распакуйте архив и запустите службу.

У этого решения есть недостатки.

Во-первых, вы можете потерять боевые данные за сутки, если сбой в основном дата-центре произойдет непосредственно перед созданием копий из базы данных и/или файловой системы Jira или Confluence. Второй недостаток заключается в том, что при необходимости восстановления сервиса в резервном дата-центре время простоя сервиса исчисляется часами, так как резервная копия базы данных Confluence составляет более 100 ГБ, а архивы данных в файле Jira и Confluence. системы под 50 Гб, только копирование и распаковка архивов занимает 2-3 часа.

То есть нужно было как-то решить проблему оперативной доставки обновлений данных в резервный дата-центр.



Как это произошло

На следующем рисунке показана текущая архитектура развертывания, а также механизмы резервирования и репликации:

Теплый резерв Jira и Confluence (на пороге импортозамещения)

Репликация данных, хранящихся в СУБД, осуществляется стандартными средствами MS SQL Server ( см.

например ).

Для репликации файловой системы была выбрана утилита lsyncd — демон, который отслеживает изменения файлов в локальном дереве каталогов и один раз в некоторое настраиваемое время отправляет изменения в удаленный, локально смонтированный каталог.

В настройках lsyncd можно указать, какие подкаталоги игнорировать (например, нет смысла копировать логи).

О lsyncd вы можете читай здесь .

В плане репликации файловой системы мы пошли немного дальше и реплицируем не только каталоги с данными (вложениями и т.п.

), но и каталоги, в которых установлены сами Jira и Confluence. Таким образом, обновление до новой версии продукта необходимо производить только в основном дата-центре; все будет автоматически скопировано в резервный центр обработки данных.

Старые механизмы резервного копирования один раз в день также работают; мы используем эти резервные копии, если нам нужно обновить данные в тестовой схеме.

В результате использования такой схемы данные реплицируются в резервный дата-центр в течение минуты.

Поднятие сервиса в резервном дата-центре занимает 5-10 минут, в чём мы убедились в ходе DR-тестирования в июле 2021 и январе 2022 года.

Сценарий запуска сервиса в резервном дата-центре на примере Confluence следующий.

  1. Используя MS SQL Server на сервере базы данных в резервном дата-центре, останавливаем репликацию данных.

  2. На сервере приложений в резервном дата-центре останавливаем сетевой доступ к общей папке, где установлен Confluence.
  3. Убеждаемся, что в файле confluence.cfg.xml на сервере в резервном дата-центре указан IP-адрес сервера базы данных в резервном дата-центре.

  4. Запустим Confluence.
  5. В DNS переключаемся на Confluence в резервном дата-центре и идем смотреть, что там произошло в основном дата-центре.

В результате мы смогли перенести сервисы Jira и Confluence в резервный дата-центр в случае возникновения проблем в основном дата-центре за 5-10 минут практически без потери данных.

Решение не потребовало материальных вложений на приобретение специализированного программного или аппаратного обеспечения; все делалось на имеющиеся средства.

Теперь нам предстоит решить вопрос импортозамещения обеих продуктов.

Учитывая, что в отечественных реестрах ПО таких зрелых продуктов нет, задача выглядит сложной.

Мы поделимся нашими исследованиями и успехами на этом пути.

Теги: #it-инфраструктура #Московская биржа #atlassian #confluence #atlassian jira #moex

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.