Talk:CNM Bureau Farm

From CNM Wiki
Jump to: navigation, search

TFB-1

The issues to work on may include (a) security outside of iptables, (b) adding NAS, as well as advanced backup and recovery systems, and (c) advanced monitoring systems.

Development

Development of the Farm occurs under the Administration for CNM Farms project.

История разработки

Предыстория

Пользовательские приложения Делова Бюро изначально ставились на то, что сейчас называется Кампусной Фермой. При создании курса Брацки Техобзор появилась идея вынести их на отдельную платформу. Идея развилась, когда было решено создать кластер на "железных" серверах.

Собственные попытки

Весной 2022 года, в дополнение к железному серверу Опытной Фермы, был арендован второй "железный" сервер. Наталья и подрядчик Андрей собственными силами в течение пары месяцев пытались сделать из них кластер.

Советы по созданию

В результате собственных попыток, стало понятно, что компетенций команды для создания кластера не хватает. Для получения сторонней экспертизы, следующее объявление было размещено на Upwork:

Hetzner/RAID/Proxmox consultant is needed Tech Support

Hey, guys, I need a consultant for this project - https://pravka.bskol.com/en/CNMC_bare-metal. I plan to buy a bare-metal server at hetzner.de, setup RAID and Proxmox, as well as start setting up the rest of technology

По итогам консультаций, были сформулированы задания на создание кластера. Деловы прилады были выбраны в качестве "жителей" этого кластера из-за того, что требования кампусных прилад к инфраструктуре ниже.

Создание кластера

Летом 2022-го, проект создания кластера был оформлен и Каролина была назначена координатором. Она привлекала подрядчиков на изготовление Фермы по разработанным на этой вики-странице требованиям.
Объявление на разовую работу было опубликовано на Upwork:

HA Proxmox Hetzner cluster is needed Systems Administration

Guys, we need the most affordable well-documented HA (high availability) ProxmoxVE 7.2 cluster that is assembled on three Hetzner nodes:

  • 2 Intel Xeon E3-1275v5/2x SSD M.2 NVMe 512 GB/4x RAM 16384 MB DDR4 ECC/NIC 1 Gbit Intel I219-LM and
  • One Intel Core i7-7700/2x SSD SATA 512 GB/2x RAM 16384 MB DDR4/NIC 1 Gbit Intel I219-LM.

Ceph, iptables. We plan that each node would have one VM or container for testing. We will assign a domain name to that.

Each has a primary IPv4. However, there are some unresolved issues related to the network. Initially, we planned to use vSwitch; however, it seems to require additional IP addresses, from which IPv4 are expensive and IPv6 may not be able to deliver HA. Thus, we plan to offer two different contract prices -- one is if we need to buy additional IPv4 addresses for vSwitch and another is if we don't.

We see two parts of acceptance testing. If both are successful, the contract shall be considered completed.

  1. During software testing, we will shut down 2 of 3 nodes to see whether the cluster is still available.
  2. During documentation testing, we will erase the software from one, implement the rescue, and one expert will try to restore the software using your documentation. She will video-record her attempts and, if not successful, will provide you with the recording, so either you can show her errors or correct yours.

What else do you need? If nothing, please give your minimum project budget (your project fare + initial costs of additional purchases such as setup fees for additional IP addresses, if any, required by the contract + first year costs of additional purchases, if any) and timeframe up to 2-3 weeks.

This project is a fixed-price one. When we send you an offer, we will change the terms. To complete the project, the selected contractor will be given an admin access, but not full robot credentials, for three weeks. After three weeks, that access would be revoked; if you don't complete the project by that time, you will never finish it!

Подрядчики отбирались по следующему принципу. Нам нужен кластер с нуля и мы отдадим подряд тому,
  1. Кто сможет это сделать,
  2. В чьём графике завершение контракта не растянется на более, чем два месяца, и
  3. Чей бюджет будет наименьший. Имеется в виду весь бюджет, включая и оплату подрядчиков, и расходы на покупку и ежегодного поддержания Фермы.
Контракт был присуждён 8-го июля со сроком действия до 12 августа 2022 года.
Подрядчик завершил роботу по контракту, результатом которой есть кластер ProxmoxVE 7.2 HA реализован на трех узлах Hetzner c помощью vSwitch. В процессе разработки и на этапе приемки было выявлено ряд проблем, решение которых было вынесено на следующий проект. Основная проблема с доступом до кластеру, на данный момент доступ реализован с помощью дополнительного IPv6. Однако это решение не дает достаточной доступности нашему кластеру, так как не все поставщики Интернет услуг работают с ним. Хорошим решением есть покупка IPv4 для этой цели, но это очень затратное. По этому было принято решения поискать другие варианты решения. Так же много вопросов осталось относительно улучшения безопасности, резервного копирования и мониторинг кластера.

Доступ IPv4

Кластер ProxmoxVE 7.2 HA реализован на трех узлах Hetzner c помощью vSwitch. Для внешнего доступа к кластеру используется IPv6, что ограничивает его доступность в Интернете. Можно использовать дополнительный IPv4. Нас интересуют другие способы решения на вход.
Объявление на разовую работу было опубликовано на Upwork:
Guys, we need IPv4 access to our HA (high availability) ProxmoxVE 7.2 cluster that is assembled on three Hetzner nodes through vSwitch.
We know that we can add a IPv4 net to vSwitch. Do we have other options?
As the same or separate projects, we would also like to consider some improvements to its security (right now, we use iptables only), backup (right now, we deploy Proxmox backup only, no ZFS, no RAID1 nor anything else), and monitoring (no any special features is deployed).

Варианты на вход

  1. На вход поставить HAProxy на отдельном VPS.

Безопасность

На данный момент используются только iptables. Вопросы относительно улучшения безопасности вынесены на отдельный проект.
Предложение от кандидатов:
  1. ipset + fail2ban + iptables
  2. Pfsense FW
  3. (M) firewall + fail2ban.

Резервное копирования

На данный момент используется резервное копирования Proxmox (Proxmox Backup Server). Рассматриваются другие возможности резервного копирования.

Ввод в работу

Передача и приёмка

Объёмы работ

Мы предоставляем подрядчику Инфраструктуру и изложенные на этой вики-странице требования. Подрядчик должен представить нам объект приёмки -- отлично задокументированные Виртуальные среды с установленными высокоустойчивыми Пользовательскими приладами.

Приёмочные тесты

Для того, чтобы убедиться в том, что то, что представлено подрядчиком -- это то, что нам надо (aka отвечает критериям приемлемости), порядок приёмочного тестирования установлен следующим:
  1. Созданную Ферму тестируем, насильно отключивши два случайно выбранные Железа из трёх доступных. Если Ферма продолжает работать, то сборка принимается.
  2. Программное обеспечение случайно выбранного Узла (одного из трёх) удаляется и наш специалист, Natly, восстанавливает его по созданной документации, одновременно записывая восстановление на видео. Восстановленная Ферма тестируется аналогично созданной. Если Ферма продолжает работать, то документация принимается. Если нет, то видео передаётся подрядчику для доработки документации или указания ошибок Natly.

Вопросы для прояснения

Архитектура платформы

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

Начало работы