Кампусна Ферма

Материал из Брацка Правки
Перейти к: навигация, поиск

Стойкость Ферм -- это архитектура Брацких Ферм (здесь и далее по тексту -- Ферм), обеспечивающая их высокую доступность (high availability) и, в перспективе, Географическую доступность.


Сеть

Архитектура

До начала проекта, один специалист предлагал использовать роутер Microtik, чтобы на proxy сделать два IP адреса, первый использовать для внутренних виртуалок, если они нормально работают, а второй загнать в bridge для внешних серверов и средствами Линукса типа firewall делить тот трафик, который приходит. Кроме того, на том же proxy он предлагал поставить DHCP сервер для раздачи адресов машинам. Другой специалист считал, что безопасных DHCP серверов на рынке нет.
В результате, роутеры и DHCP сервер не устанавливались. Для раздачи адресов виртуальным машинам, используется программа iptables.

Хорошие практики в сетях

Кластеры Облака должны быть переделаны в отказоустойчивые (high-availability cluster).

В теории

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

Веб-доступность

Content delivery network; CDN; reverse proxy

Географическая доступность

Облако распределено по нескольким континентам с тем, чтобы пользователь работал с тем приложением, которое более доступно для этого пользователя. Для этого будут планироваться DNS Anycast, DNS Geocast и аналогичные распределительные системы. Есть план отправлять пользователя на тот сервер, который наиболее доступен конкретному пользователю. Усилия по улучшению географической доступности являются частью Доменных проектов.

Доменные имена

Усилия по улучшению доменных имён являются частью Доменных проектов. Хотя планируется использование десайтков доменных имён, речь пока идёт о двух основных:
  1. cnmcyber.com -- некоммерческий сайт для англоязычных пользователей; на коммерческой стороне, он должен поддерживаться сайтом vit4all.com;
  2. bskol.com -- некоммерческий сайт для русскоязычных пользователей; на коммерческой стороне, он должен поддерживаться сайтом vsemka.com.
Доменные имена зарегистрированы на GoDaddy; nameservers расположены там. Записи делались спонтанно не подвергались ревизии. Планируется:
  • Проверить существующие и создать нехватающие DNS.
  • Рассмотреть добавку новых DNSSEC записей. DNSSEC не является критичной -- может быть отлажено только для какой-то части зон DNS. Проект Школы -- учебный, нам важно иметь разные вещи для того, чтобы показывать ученикам.
  • Изучить возможность Dynamic DNS (DDNS) или виртуальных DNS.

Нахождение в Паутине

Говоря об IP адресах, в данный момент используется IPv4, но есть план разобраться с более новым протоколом. Судя по некоторым публикациям, IPv6 решит проблему отказоустойчивости в части перенаправления трафика.
В дополнение, есть план разобраться с виртуальными адресами (virtual IP address). Digitalocean предлагает floating IP address, который можно устанавливать на те дроплеты (VPS), которые расположены в одном датацентре. То есть, мы этой возможностью не воспользуемся. Hetzner.de предлагает failover IP, хотя с ними надо разобраться. Не похоже, что Contabo предлагает что-то вроде этого.
Усилия по улучшению нахождения Облака в Паутине являются частью Доменных проектов.