Pull to refresh
0

Сегмент Clodo во втором ДЦ и работа над ошибками

Reading time 3 min
Views 4.9K
На предыдущей неделе мы запустили в коммерческую эксплуатацию второй сегмент облака Clodo — в ЦОДЕ KIAEHOUSE, расположенном на территории Курчатовского Института.

Тестировали и отлаживали мы его долго. Основная задача, которую мы ставили перед собой, когда работали над вторым сегментом — это сделать «работу над ошибками», избавиться от тех недочетов, которые привели к тем событиям, про которые вы, дорогие читатели нашего хабраблога, не устаете напоминать нам в наших постах.

Как вы знаете, никакая авария и никакой простой не обходится так или иначе без человеческого фактора. Люди, какими бы они не были профессионалами, склонны ошибаться. Поэтому мы постарались минимизировать человеческий фактор и автоматизировать все процессы жизнедеятельности облака. Кроме того, мы поставили перед собой еще ряд задач, имеющих отношение к стабильности.

  • При подключении новых узлов/выходе и строя и последующем вводе существующих, эти узлы должны конфигурироваться без человеческого вмешательства.
  • Все важные системы должны быть кластеризованы. При выходе из строя узла кластеризованного ресурса (например, базы данных) ресурс
    должен работать на других узлах, а вышедший из строя узел — подняться автоматически.
  • Архитектура должна быть максимально переносимой и транспортабельной (мы хотим использовать ее в двух ДЦ и иметь возможность расширяться с наименьшими накладными расходами).
  • При потере связности между ДЦ, а также при выходе из строя одного ДЦ, клиент не должен терять возможность работать с сущностями в другом/других ДЦ.

Основным оплотом дегуманизации нашего облака стал Chef, неоднократно описанный на Хабре. Chef — это инструмент кофигурационного управления, ответственный за воспроизводимость софтверной архитектуры. Chef имеет следующие сущности:
  • Chef Server
  • Chef Client
  • Chef Solo — клиент, работающий без поддержки сервера.

Для работы с конфигурациями используется Ohai, для взаимодействия с Chef Server API — Knife.
Последовательность загрузки нашего кластера такова:
  1. На контроллере кластера загружается Chef Solo. У него есть одна задача — установить и настроить Chef Server.
  2. Узлы оборудования загружаются с образа Debian Live с установленным Chef Solo. Chef Solo настраивает Chef Client и назначает узлу роль (это может быть Storage-нода, XEN-нода, релей, веб-сервер).
  3. Chef Client, общаясь с Chef Server, настраивает узел оборудования под его роль.

Storage-ноды, web-серверы и базы данных кластеризованы. В качестве менеджера кластерных ресурсов используется Pacemaker с коммуникационным слоем CoroSync.

Отдельных слов заслуживает наша Панель управления. Одновременно с серьезными внешними изменениями, панель кардинально поменяла свое устройство. Теперь это клиент нашего API. Физически, у нас есть набор серверов API для каждого ДЦ (kh.clodo.ru для KIAEHOUSE и oversun.clodo.ru для «Оверсан-Меркурия») и отдельно — api.clodo.ru, спрятанный за DNS Round Robin. Панель является API-клиентом и все управление серверами и хранилищами из панели осуществляется посредством API. С серверами, расположенными в некотором ДЦ, панель общается через API этого датацентра. Если между ДЦ потерялась связность, панель продолжит работу. Если случится какая-то очень крупная авария в одном датацентре, машинами из второго ДЦ можно будет управлять как и раньше.

Сейчас мы заняты тем, что переделываем мониторинг всех узлов. Скоро у нас будет совсем новая система мониторинга. Сейчас мы внимательно изучаем Icinga. Это очень интересный инструмент, к сожалению, пока не освещенный на Хабре. Перед мониторингом ставится целый ряд серьезных задач. Особое внимание мы уделяем точности оповещений — при неисправности какого-то узла, на которого завязано несколько систем, мы хотим получать оповещения именно о неисправном узле и не тонуть в других оповещениях. Кроме того, мониторинг должен функционировать независимо от связности между ДЦ, быть кластеризованным, уметь распределять нагрузку между узлами кластера и очень качественно мониторить сам себя.

Конечно, изменений гораздо больше, но все мы охватить одним кратким описанием не можем. Нам еще есть над чем поработать — чтобы с использованием сегментов в двух ДЦ можно было построить отказоустойчивое решение, мы обязательно добавим услугу аренды балансировщиков. Однако как нам кажется, с вводом в эксплуатацию сегмента во втором ЦОДе, мы сделали важную часть работы над ошибками. А пока мы хотим предложить аудитории Хабра выбрать, о чем нам следует рассказать подробнее в следующем материале. Опрос — в следующем посте.

Важный P. S. Все желающие потестировать обновленный Clodo могут обратиться с письмом на info@clodo.ru. Задав вам пару вопросов, мы предложим вам промо-код или иные подходящие условия тестирования.
Tags:
Hubs:
+14
Comments 6
Comments Comments 6

Articles

Information

Website
www.clodo.ru
Registered
Founded
Employees
11–30 employees
Location
Россия