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 1361 message 0

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

Ещё статьи

Ответ к задаче №7.2
R3 —> R1crypto isakmp policy:encr desauthentication pre-sharegroup 1hash md5Генерируем трафик с R3 на R1:R3#ping 10.0.0.0 source 10.1.1.0Type escape sequence to abort.Sending 5, 100-byte ICMP Echos to 10.0.0.0, timeout is 2 ...
like 0 7678 1
7 марта 2013
Ответ к задаче №МВ3.1
Дело в том, что промежуточный маршрутизатор ничего не знает о маршрутах BGP (100.0.0.0/24 и 200.0.0.0/24) — он же не BGP-оратор. И поэтому когда R1 отправляет на него трафик для подсети ...
like 0 11421 6
19 октября 2013
Анонс подкаста linkmeup_sysadmins. Выпуск 15. Разговоры про Atlassian и не только\\\ 03.09 ...
Что больше все любит любое руководство? Правильно, всякое планирование, графики, задачники и прочие атрибуты «совиного правильного менеджмента» Вот об одном из самых известных инструментов для планирования мы и поговорим — ...
like 470 6043 0
30 августа 2019