Обновить

Администрирование

Сначала показывать
Порог рейтинга
Уровень сложности

Отказоустойчивый PostgreSQL для почты RuPost: Patroni + etcd + HAProxy за три ВМ

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели6.7K

Когда почта ложится — ложится всё. Переписка, задачи, согласования, доступы — всё завязано на почтовый сервер. А если под ним единственный PostgreSQL без резервирования, то между вами и катастрофой — один сбойный диск или зависший процесс.

В этой статье — пошаговый рецепт: собираем отказоустойчивый кластер PostgreSQL на базе Patroni, используем etcd для консенсуса и HAProxy как единую точку входа. Три виртуальные машины — и ваша почта RuPost переживёт падение ноды без потери писем и без ручного вмешательства.

Читать далее

Зависимость от вендора: что должен знать каждый ITAM-специалист

Уровень сложностиПростой
Время на прочтение12 мин
Охват и читатели5.1K

Продление договора — через три месяца, но поставщик знает уже сейчас, что вы никуда не уйдете. Это и есть vendor lock-in — зависимость от вендора. С ней сталкиваются гораздо чаще, чем принято думать.

Конечно, ITAM-специалисты могут заранее заметить надвигающуюся проблему: у них на руках данные по активам и договорам с поставщиками, статистика использования и календарь продлений. Проблема в том, что зависимость от вендора изначально чаще всего не воспринимается как риск — до того момента, когда уже поздно что-либо менять. Когда риск стал очевиден, простая процедура закупки ПО на замену текущему превращается в крупный проект, который требует отдельного бюджета, ресурсов и многоэтапного плана миграции.

Это руководство поможет выявить, разложить по полочкам и взять под контроль зависимость от вендора — до того, как она начнет управлять вашим бюджетом.

Прочитать о сортах зависимостей

Мастерство поиска в Linux: Grep и регулярные выражения

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели10K

Трудно представить современный компьютер или смартфон без тысяч файлов, хранящих в себе различную информацию. Иногда возникает необходимость что-то найти в этом многообразии, причем критерии для поиска могут быть совсем не тривиальными.

В качестве одного из возможных инструментов для поиска может применяться утилита grep. Grep (сокращение от global/regular expression/print) является одним из самых мощных и часто используемых инструментов в арсенале системного администратора и разработчика. На первый взгляд, её задача проста — найти строки в тексте, соответствующие шаблону. Например, вхождение какого-либо слова в текстовом файле Однако истинная мощь grep раскрывается при использовании регулярных выражений (regex).

В этой статье мы разберём три основных типа регулярных выражений, используемых в экосистеме grep: Basic (BRE), Extended (ERE) и Perl-compatible (PCRE) и рассмотрим несколько практических примеров.

Читать далее

Secure Token и Bootstrap Token в macOS

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели5.7K

Всем привет! Меня зовут Эрик, я инженер технической поддержки в Ринго

Если вы администрируете Mac в корпоративной среде, то рано или поздно сталкиваетесь с загадочными сущностями: Secure Token, Bootstrap Token, volume owner, OIK, KEK, VEK.

Проблема в том, что официальная документация Apple описывает их корректно, но сухо и редко объясняет, как всё это связано между собой на практике. В итоге админ узнаёт о Secure Token не из документации, а когда:

— пользователь не появляется на экране FileVault,

— MDM не может включить FileVault или выполнить Erase All Content,

— обновление macOS требует «volume owner»,

— а Recovery внезапно никого не пускает менять настройки загрузки.

Постараемся разобраться поэтапно, что такое Secure Token, что лежит внутри, как он связан с Bootstrap Token и при чем тут MDM.

Статья подготовлена на основе документации Apple, включая Apple Platform Security, доклада Арека Дрейера на конференции MacSysAdmin и ряда дополнительных источников.

Читать далее

Была ли на самом деле Windows Vista провалом Microsoft

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели6K

Ровно 19 лет назад, 30 января 2007 года, Microsoft выпустила Windows Vista — систему, которую технологическое сообщество постаралось забыть как страшный сон. Медленный, глючный, требующий огромной вычислительной мощи, которой не было ни у кого, сон. Ну, во всяком случае так казалось тогда. Хотя, если честно, то и сейчас кажется. Мем про медлительность Vista по праву стал частью IT-истории – на одном уровне с KDE2 и FreeBSD. Но стоит копнуть чуть глубже, и начинаешь понимать, что все было не так однозначно.

Читать далее

Platform API в Рег.облаке: унификация протокола доступа и архитектурная база для публичных и приватных облаков

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели3.8K

Привет, Хабр!
Меня зовут Игорь Шишкин, я руковожу отделом разработки облачной платформы Рег.облака. Несколько лет назад, пока облако росло, интеграционный слой между сервисами и брендами естественным образом усложнялся. Каждый новый сценарий требовал отдельного решения — и со временем стало понятно, что нужен общий подход.

В этой статье расскажу, какие решения мы приняли, от чего отказались и где сознательно не стали усложнять систему.

Читать далее

PG_EXPECTO v.7 + DeepSeek: Статистический анализ инцидентов производительности СУБД PostgreSQL

Уровень сложностиСложный
Время на прочтение8 мин
Охват и читатели5.9K

Комплекс pg_expecto помогает администраторам PostgreSQL собирать и структурировать статистику производительности, превращая сырые метрики в понятные отчёты. Однако ключевая проблема всегда оставалась неизменной: интерпретация данных. Именно здесь на помощь приходят большие языковые модели. Интеграция pg_expecto с DeepSeek позволяет выйти за рамки сухих цифр и графиков — нейросеть выступает в роли эксперта, который не просто фиксирует аномалии, но и объясняет причинно-следственные связи между падением скорости, ростом ожиданий и состоянием инфраструктуры.

В представленных отчётах DeepSeek не только выявил переход от проблем с записью к проблемам с чтением в первом инциденте, но и точно определил во втором случае виновника деградации — новый тяжёлый запрос на фоне острого дефицита памяти. Благодаря pg_expecto, нейросеть оперирует не догадками, а точными статистическими показателями (корреляциями, трендами R², приоритетами ожиданий), превращая процесс расследования инцидента из гадания по графикам в быстрый и доказательный анализ.

Telegram: @pg_expecto

MAX: PG_EXPECTO

GitHub - Комплекс pg_expecto для статистического анализа производительности и нагрузочного тестирования СУБД PostgreSQL

GitFlic - pg_expecto - статистический анализ производительности и ожиданий СУБД PostgreSQL

Глоссарий терминов | Postgres DBA | Дзен

Читать далее

25 ЛЕТ НА ИГЛЕ VMWARE: Почему ломка длится дольше, чем вы думаете

Уровень сложностиСредний
Время на прочтение16 мин
Охват и читатели26K

VMware не идеальная система. Исторических костылей там столько, что впору писать отдельную статью, и некоторые архитектурные решения заставляют задуматься о количестве пива на той встрече, где их принимали. Но за двадцать пять лет VMware сделала штуку, которую пока никто не повторил: собрала экосистему, в которой сложное выглядит простым. А когда сложное выглядит простым, люди забывают, насколько оно сложное, и начинают рисовать план миграции на квартал.

Broadcom купила VMware в конце 2023-го за 61 миллиард и перекроила лицензирование. Рынок зашевелился. Каждый второй вендор выпустил пресс-релиз про «замену VMware». Прошло два года. Полностью мигрировали 4%. Четыре процента. Аналитики прогнозируют, что к 2028-му уйдёт 35% рабочих нагрузок — не компаний, а нагрузок. Большинство организаций, даже уходя, будут жить с VMware на части инфраструктуры ещё годы. Эта статья про то, почему четыре.

Я проектирую и эксплуатирую enterprise-платформы виртуализации и VDI, и мне есть что сказать про то, как оно устроено на самом деле.

Анатомия зависимости →

Сборка Docker для микросервисов: 7 шагов к идеальному образу

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели12K

В этой статье разбираем важную тему микросервисной архитектуры — «толстые» образы. Приведен пример реальной практики снижения размера с 800 МБ до 120 МБ, почему Uber перешел на distroless и как 7 простых шагов по multi-stage сборке сделают ваш деплой в разы быстрее и безопаснее. Будут схемы слоев и реальные цифры. Под катом — готовый рецепт оптимального образа для продакшна.

Перейти к статье

Как реализована поддержка DDBoost в «Бересте» при работе с Data Domain

Время на прочтение4 мин
Охват и читатели3.7K

В инфраструктурах среднего и крупного масштаба Data Domain давно используется как стандартное целевое хранилище для резервного копирования. Поэтому при развитии «Бересты» для нас было важно реализовать корректную и полноценную поддержку работы с этой платформой через DDBoost.

Разберёмся, как это устроено.

Что такое Data Domain и почему он используется для бэкапа

Dell EMC Data Domain — это специализированная платформа для резервного копирования и архивного хранения данных. По сути, это целевое хранилище для бэкапа: на него сохраняются данные из файловых систем, виртуальных сред и баз данных.

Ключевая особенность Data Domain — дедупликация на уровне блоков. Система хранит не полные копии данных, а только уникальные фрагменты. Повторяющиеся блоки не записываются повторно.

Это даёт два очевидных эффекта:

·      существенно сокращается объём хранения;

·      снижается нагрузка на сеть при регулярных инкрементальных копированиях.

Дополнительно используется компрессия и оптимизация структуры хранения под задачи резервного копирования и восстановления данных.

 

Почему NFS — не самый эффективный вариант

Data Domain может использоваться как обычная файловая система по NFS. Но при таком подходе вся логика дедупликации остаётся на стороне хранилища.

Это означает:

·      по сети передаются полные объёмы данных;

·      дедупликация выполняется уже после приёма;

·      растёт нагрузка на сеть и увеличивается окно резервного копирования.

Для крупных инфраструктур такой подход быстро становится узким местом.

Читать далее

Как HAProxy принимает решения: ACL, mode и маршрутизация трафика

Уровень сложностиСредний
Время на прочтение16 мин
Охват и читатели7K

HAProxy часто появляется в инфраструктуре незаметно. Сначала это просто балансировщик: принял трафик, отправил дальше — всё понятно. Потом появляется второй сервис, третий, routing по домену, path, заголовкам, SNI, а заодно canary и временные исключения. И вот конфиг, который когда-то помещался на один экран, превращается в логическую задачу со звёздочкой.

В этот момент почти всегда всплывают ACL. Кто-то использует их осознанно, кто-то — по принципу: нашёл в примере, вроде работает. Рядом с ACL неизбежно стоит mode: tcp или http. Снаружи это выглядит как простая настройка, но на деле — фундаментальное решение, от которого зависит, какие данные HAProxy вообще видит и какие условия способен проверить.

Проблема в том, что HAProxy не делает догадок. Он последователен и выполняет конфигурацию ровно так, как она написана. Отсюда и классика жанра: ACL есть, но backend не выбирается; mode вроде http, но заголовки недоступны; routing работает почти всегда, кроме пятницы.

Читать далее

Platformize It! Часть 2: Расширяем Kubernetes с помощью API Aggregation Layer

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели4.8K

В предыдущей части статьи мы разобрались, как построить платформу для развертывания управляемых приложений с единым API и UI. Сегодня мы сделаем следующий шаг — дополним стандартный API Kubernetes своим API-сервером для синхронизации состояния. Рассказываем по порядку, это сделать.

Читать далее

FinOps на практике: фаза Inform и управление облачными затратами с помощью штатных инструментов

Уровень сложностиПростой
Время на прочтение13 мин
Охват и читатели4.1K

Облако по природе своей устроено так, что деньги из него утекают как песок сквозь пальцы. Не потому что провайдеры жадные или инженеры попались безответственные. Всему виной органический рост: тут один сервис поднял новый кластер, здесь команда не выключила стейджинг после релиза, там забыли про снапшот двухлетней давности. По отдельности каждый из этих факапов – вроде не катастрофа. Но в конце месяца счета неизменно напоминают о том, что думать так — большое заблуждение. В прошлых материалах цикла мы уже разбирали типичные боли тех, кто работает с облаками, и рассматривали, почему счета растут, хотя инфраструктура не меняется. А сегодня поговорим про первый и самый важный методологии FinOps, которая должна решить эти проблемы: Inform.

Практики FinOps в Telegram| Бот

Почему начинать с оптимизации — плохая идея

Первая мысль, которая появляется, когда счет за облако в очередной раз оказывается процентов на 40 выше запланированного, — взять и что-нибудь урезать. Неважно что. Лишь бы сократить расходы. Ну, оно вроде и логично. Режем лишнее – оставляем нужное – сокращаем траты.

Вот только вся проблема в том, что без понимания структуры затрат такая оптимизация — это что угодно, только не она. Потому что так можно запросто угробить десяток-другой человекочасов на тюнинг компонента, который дает 2% от общего счета, и не заметить, что 60% уходит на базы данных, про которые никто не вспоминал с момента основания компании. Или, скажем, прибить сервис, который выглядел как заброшенный, но на самом деле держал чей-то продакшн. И ходи потом доказывай, что не верблюд.

Читать далее

Ближайшие события

Как мы внедряли ядро ВКС IVA в инфраструктуру Заказчика

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели3.8K

Привет, Хабр!

В прошлом году мы реализовали большой и очень важный для нас проект - внедрение UCрешения (UC – unified communications, в самом простом варианте – ВКС + мессенджер) IVA в инфраструктуру одного из наших крупных Заказчиков из сферы финансов. Хотели бы рассказать, из чего состоял данный проект, что мы делали и чем все закончилось.

Читать далее

Keepalived и Orchestrator: реализуем сценарии отказоустойчивости

Уровень сложностиСложный
Время на прочтение11 мин
Охват и читатели5.4K

Привет, Хабр!

Продолжаем рассказывать, как построить отказоустойчивую связку на кластере MySQL.

Краткое содержание первой серии части (гиперссылка) нашего мануала:

мы развернули двухузловой кластер MySQL с асинхронной репликацией по GTID, улучшенной полу-синхронностью, и добавили два уровня отказоустойчивости: на уровне сервиса IP и роли БД.

Теперь пришло время рассмотреть, как происходит отказоустойчивое переключение пошагово в разных сценариях.

Читать далее

Как настроить swap в Linux, чтобы поды не убивались и не вытеснялись

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели8.7K

С недавних пор в Kubernetes можно включать swap. Говорят, теперь можно забыть о внезапном вытеснении и убийствах подов. Но так ли это на самом деле, если риски никуда не делись?

В статье на тестах и графиках показано, как разные значения параметров ядра Linux влияют на swap и расход памяти в целом. Спойлер: если грамотно всё настроить, можно избежать проблем.

В конце — набор рекомендаций и базовых настроек, которые можно протестировать на своих приложениях.

Читайте, как настроить без риска

Разбираемся с необычным видом терминалов

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели7.9K

Физические терминалы сейчас встретить маловероятно. Однако, чем будет являться GSM модем, работающий через асинхронный последовательный интерфейс для, например, компьютера. Настроим модем и разберёмся в терминологии модели ME(Mobile Equipment) - TE(Terminal Equipment).

Читать далее

Как я написал оптимизатор Windows для геймеров и выложил в open source

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели20K

Привет, Хабр! Меня зовут Sonic. Я собрал SonicBoost — бесплатную утилиту с открытым кодом, которая вытаскивает из Windows 10/11 максимум FPS. 28 твиков реестра, управление службами, блокировка телеметрии, оптимизация сети — всё в одном EXE на 65 МБ. Под капотом .NET 8, WPF UI с Mica-эффектом и ни одного подозрительного скрипта — весь код на GitHub.

В статье — подробный разбор: какие параметры реестра реально влияют на производительность, почему Windows по умолчанию тормозит в играх, и как мы это исправляем.

Зачем вообще нужен ещё один твикер?

Каждый геймер знает ощущение: собрал машину за 200к, а в Valorant на ALT+TAB — фриз на 3 секунды. FPS скачет, пинг гуляет, микрофризы в самый неподходящий момент.

Проблема не в железе. Проблема в том, что Windows — это корпоративная ОС, а не игровая. По умолчанию там крутятся:

Соник, что ты сделал?

Защита от DoS-атак в Angie стандартными модулями

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели7.5K

Атаки на отказ в обслуживании (Denial‑of‑service attack, DoS), к сожалению, стали обыденным явлением для публичных веб‑сервисов. Типов и разновидностей атак на отказ в обслуживании существует огромное количество, поэтому мы не будем даже пытаться провести классификацию. Скажем только, что для полноценной защиты от распределённых DoS‑атак (DDoS — Distributed DoS) необходима специализированная облачная система. В этой статье мы проведём обзор возможностей защиты от обычных DoS‑атак и простейших DDoS‑атак встроенными средствами веб‑сервера Angie.

Читать далее

Как мы организовали работу с Persistent Volume в кластере

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели7.3K

Привет, Хабр! Я Анна Мелкомукова — инженер команды Spirit Compute в T-Банке. Наша команда отвечает за создание и полную поддержку Kubernetes-кластеров. 

Раньше трава была зеленее и небо голубее, а в Kubernetes крутились только легкие и беззаботные stateless-микросервисы. Поды появлялись и исчезали, как будто так будет всегда, но затем в архитектуре появился Stateful.

В статье я постараюсь ответить на вопрос «Как научить Kubernetes работать с приложениями, которым необходимо стабильное и надежное локальное хранилище».

Читать далее