Кампусна Ферма — различия между версиями

Материал из Брацка Правки
Перейти к: навигация, поиск
(Приёмка)
(Содержимое страницы заменено на «Кампусны Кластер -- это отказоустойчивый (high availability) кластер (здесь…»)
(Метка: заменено)
Строка 1: Строка 1:
[[Кампусны Кластер]] -- это отказоустойчивый ([[high availability]]) кластер (здесь и далее по тексту -- ''Кластер'') на основе трёх "физических" ([[bare metal]]) узлов (здесь и далее по тексту -- ''Желез'') [[Брацки Фермы|Брацких Ферм]] (здесь и далее по тексту -- ''Ферм''), который обеспечивает высокую доступность услуг, предположительно, [[Брацка Правка|Брацкой Правки]] и [[Брацка Учебка|Брацкой Учебки]]. Оба приложения принадлежат [[Брацки Кампус|Брацку Кампусу]], однако их номенклатура и, соответственно, название ''Кластера'' могут измениться в результате его разработки.
+
[[Кампусны Кластер]] -- это отказоустойчивый ([[high availability]]) кластер (здесь и далее по тексту -- ''Кластер'') на основе ??? узлов (здесь и далее по тексту -- ''???'') [[Брацки Фермы|Брацких Ферм]] (здесь и далее по тексту -- ''Ферм''), который обеспечивает высокую доступность услуг, предположительно, [[Брацка Правка|Брацкой Правки]] и [[Брацка Учебка|Брацкой Учебки]]. Оба приложения принадлежат [[Брацки Кампус|Брацку Кампусу]], однако их номенклатура может измениться в результате его разработки.
 
 
 
 
==Инфраструктура==
 
 
 
===Размещение===
 
:[[Hetzner]] является поставщиком услуг размещения, у которого "Железо" арендуется.
 
 
 
===Сеть инфраструктуры===
 
:Три ''Железа'' необходимы для обеспечения высокой доступности, из который два являются "несущими", из которых одно является основным. Если основное ''Железо'' неспособно обслуживать клиентов, ''Кластер'' изолирует его и переключает клиентов на второе несущее, работающее ''Железо''. Третье ''Железо'' -- это требование [[ProxmoxVE]] для обеспечения кворума. [[#Характеристики Железа|Характеристики Железа]] представлены ниже.
 
 
 
:Для переключения на то ''Железо'', которое работает с клиентами, используется инструмент [[Hetzner vSwitch]].
 
 
 
==Характеристики Железа==
 
''Железo'' для [[#Инфраструктура|Инфраструктуры]] выбрано на аукционе -- https://www.hetzner.com/sb?hdd_from=500&hdd_to=1000 -- поделившись экраном с выбранным подрядчиком исходя из следующих соображений:
 
:*Рабочий объём жёсткого диска -- 512Gb.
 
:*Как минимум один, основной сервер выбран с SSD и, желательно, NVMe, и частотой процессора в 64Gb.
 
:*Как минимум два "несущих" сервера выбраны в одном датацентре. Хотя [[Hetzner]] не берёт оплату за траффик, это обстоятельство повышает скорость работы ''Кластера''.
 
 
 
===Железо 1===
 
:1 x Dedicated Root Server "Server Auction"
 
:* Intel Xeon E3-1275v5
 
:* 2x SSD M.2 NVMe 512 GB
 
:* 4x RAM 16384 MB DDR4 ECC
 
:* NIC 1 Gbit Intel I219-LM
 
:* Location: FSN1-DC1
 
:* Rescue system (English)
 
:* 1 x Primary IPv4
 
 
 
===Железо 2===
 
:1 x Dedicated Root Server "Server Auction"
 
:* Intel Core i7-7700
 
:* 2x SSD SATA 512 GB
 
:* 2x RAM 16384 MB DDR4
 
:* NIC 1 Gbit Intel I219-LM
 
:* Location: FSN1-DC1
 
:* Rescue system (English)
 
:* 1 x Primary IPv4
 
 
 
===Железо 3===
 
:Пока не куплено. Вопросы для выяснения: какое требование к нему? правда, что его объём может быть меньше?
 
 
 
==Виртуальные среды==
 
Виртуальная среда каждого ''Железа'' собрана на основе [[ProxmoxVE]] (здесь и далее -- "Среды''), в данный момент, v.7.2.
 
 
 
===Сети Сред===
 
:Сеть каждой ''Среды'' использует мост по выбираемой по умолчанию в [https://pve.proxmox.com/wiki/Network_Configuration#_default_configuration_using_a_bridge Network Configuration] модели.
 
 
 
===Хранилища Сред===
 
:Для хранения данных, каждая ''Среда'' использует платформу распределённого хранилища Ceph.
 
 
 
===Защитные стены===
 
:Для раздачи адресов виртуальным машинам, каждая ''Среда'' использует программу [[iptables]].
 
 
 
==Пользовательские прилады==
 
===Сетка===
 
===Почта===
 
 
 
==Поиск подрядчиков==
 
Для ускорения проекта и привлечения сторонней экспертизы, Каролина в качестве рекрутера ищет подрядчиков на новый кластер или пару их.
 
 
 
===Объявление===
 
:Объявление на разовую работу опубликовано на [[upwork]]:<blockquote>Guys, we need the most affordable well-documented HA ProxmoxVE 7.2 cluster that is assembled on Hetzner. Ceph, IPtables, vSwitch. Please give your minimum project budget (your project fare + initial purchases + first year costs) and timeframe. No nodes have been purchased yet; we plan to do that while awarding the contract. To complete the project, the selected contractor will be given an admin access, but not full robot credentials.</blockquote>
 
 
 
===Принцип отбора===
 
:Нам треба кластер з нуля и мы отдадим подряд тому,
 
:#кто сможет это сделать,
 
:#в чьём графике завершение контракта не растянется на более, чем два месяца, и
 
:#чей бюджет будет наименьший. Имеется в виду весь бюджет, включая и оплату подрядчиков, и расходы на покупку и ежегодного поддержания ''Кластера''.
 
 
 
===Собеседования===
 
:Найм людей -- отличный способ узнать об аспектах проекта и получаемого в его процессе изделия. Идеально проведённые собеседования добавляют документации на Правку.
 
 
 
===Полученные заявки===
 
:Мы можем публиковать полученные заявки, но не публикуем имена подрядчиков, так как они нам на публикацию разрешений не давали. С юридической точки зрения, мы не можем публиковать конфиденциальную информацию наших подрядчиков.
 
 
 
===Уточнение деталей и присвоение контракта===
 
Під час конференції обрати, які саме сервери на Hetzner купуємо. Один з експертів сказав, що потрібно три сервера. Два з яких забезпечують HA і мають більшу ємність (512 Гб у нашому випадку), а третій може мати меншу ємність, так як на ньому буде тільки ProxmoxVE.
 
Скласти контракт, в якому прописати такі пункти:
 
:#Створення HA кластеру з трьох серверів на Hetzner з ProxmoxVE за тиждень (домовитись про якийсь період)
 
:#Після закінчення роботи приймаємо в онлайн режимі через один із засобів для конференцій.
 
:#Крім створеного HA кластеру має бути також детальна документація по створенню HA кластеру.
 
:#Створений HA кластер тестуємо, примусово вимкнувши одну з нод.
 
:#При наявності документації у повному об’ємі та створеного працюючого HA кластера – приймаємо роботу.
 
 
 
==Порядок разработки==
 
 
 
===Кто и что===
 
:Заказчик платит за ''Кластер'' и согласовывает эту вики-страницу перед присуждением подряда. Заказчик подразумевает, что координатор отработает проект, в том числе, документируя требования на этой вики-странице и ставя задачи подрядчику. По доброте душевной и в целях профессиональной подготовки, заказчик может делать работу координатора временно до той поры, пока заказчик верит в то, что координатор когда-то сможет работать самостоятельно :)
 
 
 
===Как не надо===
 
:*Знаходимо людину, яка нас задовільняє на даний проект (або декілька людей), так как он или она хорошо говорит, пишет, выглядит, вовремя выходит на связь, быстро отвечает и так далее.
 
:*Зв'язуємось (бажано дзвінком) для уточнення деталей і надання необхідних даних (в цей же етап можна задавати питання про сервера, які, куди, як..).
 
:*Согласовываем полученные детали, щоб розуміти всі ці тонкощі і надавати комусь якісь доступи - заслуховуємо його или её оцінку по бюджету цього проекту - розуміємо підходить нам чи ні.
 
:*Даємо роботу або відмовляємо.
 
 
 
===Как надо===
 
#Задокументировать требования на этой вики-странице. Эти требования должны включать описание того, что мы должны получить (так называемые "[[#Объёмы работ|Объёмы работ]]") и как мы о том узнаем (так называемая "[[#Приёмка|Приёмка]]").
 
#Перевести указанные в "[[#Объёмы работ|Объёмы работ]]" секции и секцию "[[#Приёмка|Приёмка]]" на английский и включить в контракт. Если они не включены, то мы получим то, что нам надо в одном случае из 100. В 99 остальных случаях, мы получим то, что нам не надо или за те деньги, на которые мы не рассчитываем.
 
#Действовать далее по рубрике [[#Как не надо|Как не надо]]; после выполнения предыдущих пунктов, она имеет смысл.
 
 
 
==Передача и приёмка==
 
 
 
===Объёмы работ===
 
:Мы предоставляем подрядчику [[#Инфраструктура|Инфраструктуру]] и изложенные на этой вики-странице требования. Подрядчик должен представить нам объект приёмки -- отлично задокументированные [[#Виртуальные среды|Виртуальные среды]] с установленными высокоустойчивыми [[#Пользовательские прилады|Пользовательскими приладами]].
 
 
 
===Приёмочные тесты===
 
Как мы убедимся в том, что то, что представлено -- это то, что нам надо (aka что будет критериями приемлемости и как мы будем проводить приёмочное тестирование)?
 
 
 
==Вопросы для прояснения==
 
===Архитектура платформы===
 
:Есть две окончательно неразрешённые проблемы касаемые [[#ПО платформы|ПО платформы]]:
 
:*Один подрядчик предлагает вместо Ceph задействовать TrueNAS.
 
:*До начала проекта, один специалист предлагал использовать роутер [[Microtik]], чтобы на proxy сделать два IP адреса, первый использовать для внутренних виртуалок, если они нормально работают, а второй загнать в bridge для внешних серверов и средствами Линукса типа firewall делить тот трафик, который приходит. Кроме того, на том же proxy он предлагал поставить [[DHCP]] сервер для раздачи адресов машинам. Другой специалист считал, что безопасных [[DHCP]] серверов на рынке нет. В результате, роутеры и [[DHCP]] сервер не устанавливались.
 
 
 
===Начало работы===
 
:Что надо от нас, кроме присуждения контракта, решений по [[#Архитектура платформы|Архитектуре платформы]] и данных ''Железа''?
 
 
 
==Полезные рекоммендации==
 
*https://www.informaticar.net/how-to-setup-proxmox-cluster-ha/
 
*https://community.hetzner.com/tutorials/hyperconverged-proxmox-cloud
 
*https://pve.proxmox.com/wiki/High_Availability
 
*https://docs.hetzner.com/robot/dedicated-server/network/vswitch/
 

Версия 22:59, 5 июля 2022

Кампусны Кластер -- это отказоустойчивый (high availability) кластер (здесь и далее по тексту -- Кластер) на основе ??? узлов (здесь и далее по тексту -- ???) Брацких Ферм (здесь и далее по тексту -- Ферм), который обеспечивает высокую доступность услуг, предположительно, Брацкой Правки и Брацкой Учебки. Оба приложения принадлежат Брацку Кампусу, однако их номенклатура может измениться в результате его разработки.