Статья 🚀 Как мы запускали свой хостинг: от кучи железа до BGP между датацентрами

invetrika

Grey Team
29.06.2018
56
25
Расписал от себя как смог)
"Когда друзья спрашивали, зачем нам двадцать серверов, я отвечал — чтоб не скучно жить. А потом понял, что хостинг – это диагноз."

1. Началось всё с железа​

Первое правило любого нормального хостера: серверов много не бывает. Второе — все они разные, кривые и обязательно с сюрпризом.

Выбор серверов​

Решено было собрать гибридный парк:
  • Dell R640 — красавцы, будто созданы для Proxmox.
  • HP DL380 — шумят как взлетающий Boeing, зато живут вечно.
  • GPU-сервера на RTX 4090 48GB — чтобы нейронки обучались, а счёт за электричество не скучал.
    Мораль: если сервер не орёт при запуске как реактивный двигатель, значит, это ноутбук.
Первые пару штук брались «на пробу» с Китая и серверных барахолок, потом уже пошли новые комплекты с гарантией, чтоб не сидеть ночами, слушая, как умирает диск в RAID-массиве.

2. RAID — это не просто кнопка в BIOS​

Как оказалось, RAID — это философия, особенно когда у тебя 20 разных контроллеров и каждый считает, что он умнее тебя.
  • На Dell – PERC H740P, классика: делаем RAID10 под виртуалки и RAID1 под систему.
  • На HP – SmartArray P420, где без фирменного Smart Storage Administrator не запустишь даже RAID0.
Подсказка из опыта: если хочешь жить спокойно — не доверяй «Initialize Array» без проверки, иначе внезапно обнаружишь, что 8 TB бэкапов ушло на покой.

3. Дата-центры и геораспределение​

Когда встал вопрос, где всё это добро ставить, оказалось, что дата-центры — это как отели:
одни — «три звезды, розетки есть, интернет через LTE-модем»,
другие — с резервом по питанию, климатом и нормальной поддержкой.

В итоге получилось три локации:
  • 🇷🇺 Москва – основной узел, Proxmox-кластер.
  • 🇪🇺 Нидерланды – фронт для EU-клиентов и CDN.
  • 🇵🇱 Польша – резерв и площадка для тестов.
Каждая локация подключена по туннелям (WireGuard + GRE) к остальным, чтобы можно было делать BGP-анонс белых IP из любой точки.

4. BGP на MikroTik — боль, гордость и кайф​

Если ты однажды настраивал BGP на MikroTik, то ты уже не просто админ. Ты — шаман, прошедший ритуал инициации.
Если бы был сериал «Настрой BGP и не сойди с ума», там точно играли бы MikroTik и я.

Каждый дата-центр — по MikroTik CCR2004.
Красота, мощь, и GUI, который одновременно гениален и нелогичен, как IKEA без инструкции.

Между локациями:
  • WireGuard — чтобы шифровалось.
  • GRE — чтобы маршрутизировалось.
  • BGP — чтобы жило и ломалось.
Настроил iBGP между датацентрами и eBGP с провайдерами.
Теперь все IP можно анонсировать откуда угодно — хоть из Польши, хоть с балкона.
После трёх ночей настройки понял: BGP — это не Border Gateway Protocol, а “Болит Голова Постоянно”.
Каждый датацентр имеет MikroTik CCR2004 — идеальный вариант по соотношению «жрёт немного, тянет всё».
Схема выглядела так:

DC1 (Москва) ↔ DC2 (NL) ↔ DC3 (Польша)

Бонусом сделали балансировку и фейловер: если один DC падает, IP просто анонсируется с другой площадки.
Клиенты даже не замечают, что «сервер в Москве» внезапно ожил в Польше.

5. MikroTik: настройка и магия фильтров​

Чтобы не превратить всю сеть в свалку пакетов, пришлось поиграться с фильтрами:
  • Белые IP – только из списка доверенных ASN.
  • Админка – по SSH-ключам с двух IP и молитвой.
  • DDOS-блокировки – через address-list и netwatch (всё льётся в zabbix).
И, конечно же, вся внутренняя сеть на VLAN, чтобы случайный клиент не увидел, как живёт соседний VPS.

(Забавный случай: один клиент запустил Masscan внутри своей ВМ и чуть не положил весь внутренний сегмент.
После этого правило «BLOCK Masscan — ALWAYS» прописано на всех MikroTik по умолчанию 😄)

6. Proxmox + VMmanager: автоматизация и порядок​

Под виртуалки выбрали Proxmox VE — надёжный, бесплатный, и если поломался — всегда можно починить.
А вот VMmanager стал лицом к клиенту: биллинг, создание VM, квоты, API, всё красиво.

VMmanager стоит на отдельной виртуалке в Москве, подключён к Proxmox-кластеру по API.
Через него клиенты могут создавать виртуалки, перезагружать и даже ставить ISO (если сильно попросят).

7. WHMCS — биллинг №2​

WHMCS отдельно живёт на другой площадке — для web-хостинга и DNS-услуг.
Там крутятся модули для регистрации доменов, SSL, тарифов и прочей бюрократии.
Система, конечно, капризная, но интеграция с платёжками и тикет-система окупают.

8. Сеть, туннели, и как всё соединилось​

Все локации связаны по схеме:

WG (шифрование) → GRE (маршрутизация) → BGP (объявление IP)

Каждая площадка знает маршруты всех остальных.
На MikroTik поднят Routing Filters, Prefix Lists, Peer Templates.
Маршруты от провайдеров принимаются частично, чтобы не схлопотать весь интернет в таблицу.

9. Подводные камни​

  • Туннели рвались, когда включал fasttrack (всегда выключай его при BGP, иначе получишь призрак маршрута).
  • RAID терял метаданные, когда решил «обновить прошивку, пока тихо».
  • BGP с NL однажды отвалился из-за того, что провайдер «забыл» наш ASN в фильтрах.
Мораль: хостинг — это не бизнес, это стиль жизни.
Ты не спишь, не отдыхаешь, а просто ждёшь, когда очередной диск скажет: "Я устал, я ухожу"

10. Что получилось в итоге​

  • Три дата-центра в разных странах.
  • Единая автономная система с BGP и белыми IP везде.
  • Автоматизация VM и биллинга.
  • Полные бэкапы и инкрементальные копии на отдельном узле.
  • И, конечно, нервы из титана и чувство юмора, без которых в этом деле никак.
“Если ты думаешь, что твой хостинг готов — значит, просто ещё не падал BGP.” 😅
P.S.
От идеи до первого клиента ушло 3 недели, 4 человека сотрудников, сисадмин с опытом dev (то есть я) проект менеджер, который подпинывал задачи в jira делать, а ну и совсем забыл, надо ещё поднимать и админить все свои же административные штуки типа jira, confluence, почты, домены прописывать то туда то сюда, в целом приколов много)
 
Интересно про выхлоп почитать, по лаве, да и в принципе какие ещё штуки всплыли по прошествии времени и с увеличением нагрузки, трафа и клиентов в целом)
 
Интересно про выхлоп почитать и в принципе какие ещё штуки всплыли по прошествии времени и с увеличением нагрузки, трафа и клиентов в целом)
Если почитаете то у каждого vds/vps провайдера есть оверселлинг на проц, память и т.д., так вот допустим HA кластер из трёх r640 на борту у каждого по 12Tb ssd в десятом raid по 1тб оперативы и почти топовые процы в общем 302 потока на кластер получается. По скромным подсчётам потянут 700-900 средних клиентов по 500+ рублей. с учётом оверселлинга и сбестоимости получается затраты с нашей стороны по 150-180р на машину выходит.
опять же клиенты разные. А ещё подводный огромный камень это цены на каналы в ДЦ, они заоблачные. Клиентам всем же минимум сотку надо или гигабит, а гарантированно дать это самому повешаться. Балансировка между трёх провадеров ещё более менее сглаживает углы, это узкое и дорогое место считается. Ну и электроэнергия за киловат, в некоторых ДЦ дороже чем ГАЗ в отдалённых посёлках страны)

А, ну и клиенты, некоторым хочется винду, или свою инфрастуктуру перетаскивать. Тут тоже отдельная песня.

whmcs он относительно недорогой, у реселлера стоит 15$ в мес, но костылить его с proxmox это примерно как "напиши cms с личным кабинетом и биллингом и нормальным обменом по API запросам на физические железки"
vmmanager береёт бабки за ядра, в чём прикол так и не понял, они дают свой типа дистрибутив на базе ceontos (almalinux) со строенным в коробку libvirt и там из коробки всё работает, но ispsystem не дураки, они ещё берут бабки за оборот денег.
 
  • Нравится
Реакции: TR1X
Так как очень стремительно расширяемый парк железа (его просто в избытке), буду дополнять, какие плюшки планирую внедрять в дальнейшем
 
  • Нравится
Реакции: SSSenkoqwa
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab