return

Что происходит с главной, часть 4: нам нужен металл

1 февраля 2023, 10:01
Всё течёт, всё меняется. linkmeup начинался со скромного шаред-хостинга на площадке xgu.ru, потом был Миран, Даталайн…
Нас мотало в разные стороны — ESXi с виртуалками, облако VMWare, Proxmox с lxc-контейнерами. Со временем накопился багаж костылей и «так-исторически-сложилось»-решений, с которыми очень хотелось расстаться (обычно это называется легаси).
Мы решили опять всё переделать, на этот раз — без облаков, только ржавое голое железо, только хардкор.
В общем, у нас теперь два железных сервера.
Первый — в servers.ru. Спасибо Игорю Мызгину, что нашёл ресурс, даже в такие сложные времена. Тут уже некоторое время (уже полгода) живёт сайт, хранилище файлов и бэкапы (которых много не бывает).
Характеристики сервера, где живёт наш сайт
Второй — по-прежнему в Миране, но уже другой. Компания EdgeЦентр любезно предоставила нам сервер. Здесь будет жить сервер трансляции, зеркало сайта, лаба, бэкапы, и реплика стораджа — теперь наши подкасты будут отдаваться и из Мирана тоже ;). Ну и ещё может чего придумаем — ресурсы позволяют.
В коробке от Juniper лежит HP — всё ж логично, да?

 

Чуть-чуть заглушек не хватает — но это поправимо
Площадки по-прежнему связаны через IPSec+BGP, но сверху теперь есть ещё распределённое s3-like-хранилище (точнее, два), а вся инфраструктура, включая DNS-записи, описана в плейбуках ансибла и манифестах терраформа. Разумеется, всё лежит в приватной репе в гите (разве что CI/CD ещё не прикрутили, и штаны не подвернули).
Вообще хранилище для файлов — это наш давний пунктик. Изначально всё было просто, как два стальных шарика — виртуалка с nfs презентует сторадж виртуалке с сайтом. Схема рабочая, но для веба неудобная: например, чтобы залить файл, нужно было изворачиваться с пробросом портов через ssh, апишки никакой нет, бэкапить неудобно, реплицировать в другой дц тем более.
Подкасты, картинки для анонсов и сами анонсы грузятся с помощью специального скрипта, написанного Маратом — он сказал, что ему лень каждый раз заходить в админку вордпресса и жать на кнопки. Смена стораджа на s3-like позволила этот скрипт значительно упростить, потому что теперь не надо ходить на сторадж по ssh с помощью хитрых заклинаний — всё бегает нативно по https, и, вдобавок, автоматом реплицируется между площадками.  Ещё один плюс — сам сторадж теперь полностью независим от сайта (отдельный домен, отдельные ВМ), т.е. проще проводить обслуживание, переносить при необходимости и т.д.
Как бы мы ни любили Микротик, тут решили обойтись без него — всё на «голом» linux, с минимальным использованием публичных ipv4-адресов, — экономия, знаете ли! — зато воспроизводимо где угодно, хоть у кого-нибудь под столом (тут была шутка про Макса, но Марат сказал, что её никто не поймёт). На эту тему у нас внутри команды было много холиваров, но пришли к тому, что Микротик — это про мелкие энтерпрайзы и операторов, а у нас тут типичный web-scale, так что nginx, iptables и fail2ban — наши лучшие друзья. Опять же, если сделали курс про сети в linux, нужно идти до конца.
Proxmox в качестве гипервизора, потому что всякой проприетарщине веры больше нет. Кто знает, в следующий раз, может, и до OpenStack дорастём? Ну и разумеется, сайт и всё остальное доступно по ipv6 — сетевики мы, или где?
«Зачем так сложно?» — спрашивал Мамонт, а мы (я, Snake), даже и ответить ему ничем не могли. На самом деле всё просто — две площадки, два гипервизора, чутка lxc-контейнеров, StrongSwan, BIRD, minio, nginx… В определённый момент пришлось себя сдерживать и не накручивать MPLS лишнего — вроде, получилось.
Традиционные спасибы:
  • Фёдору Русакову лично и всему коллективу дата-центра «Миран» — за надёжные тылы и долгую дружбу.
  • Игорю Мызгину и servers.ru — за «дом» для нашего сайта.
  • Михаилу Шурыгину и компании EdgeЦентр — за предоставленный проекту сервер.
  • Дмитрию Петрову и Комфортел — за регулярную материальную и моральную поддержку наших начинаний.
  • Сергею Грушко и voxlink — за неоценимый вклад в создание обновлённого сайта.
like 0 views 3100 message 0

0 коментариев

Ещё статьи

Ответ к задаче №7.3
Пример процесса поиска неисправностей: Проверяем работу VPN: Со стороны R1 данные не передаются: R1#ping 10.2.2.0 source 10.0.0.0 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 10.2.2.0, timeout ...
like 0 9499 3
7 марта 2013
LAG и средства обнаружения проблем
Друзья, периодически здесь будут появляться статьи, написанные изначально для других ресурсов мной или другими членами нашей группировки ЛинкМиАп. Но мы считаем их интересными для этого ресурса тоже. Сегодня статья, написанная ...
like 0 12846 7
18 июня 2013
Анонс telecom №150. L7-балансировка
Про балансировку мы уже говорили очень много. Но редко затрагивали тему L7-балансировки, когда нужно заглядывать поглубже, чем в траспортные заголовки. Прокси, HTTP, SSL-терминация, обработка в железе. Кто: Сергей Плотко. Директор ...
like 0 433 0
13 августа 2025