Обновить

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

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

«Приходила уставшая, ставила таймер на два часа и училась»: как я стала DevOps-инженером

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

Всем привет, я Настя, DevOps-инженер и выпускница курса «DevOps для эксплуатации и разработки». До того, как я стала DevOps-инженером, работала системным администратором, а ещё немного раньше — училась в IT-вузе. Многие знакомые интересовались, как я прошла этот путь, что именно изучала и с какими сложностями встретилась, так что эту историю я рассказываю не в первый раз. Но в первый раз на Хабре :)

Читать далее

Неочевидные нюансы миграции с Docker на Podman

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

Миграция на Podman — вопрос достаточно интересный. И ответ на него достаточно простой — берете и мигрируете, там делов-то!

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

Читать далее

Дай нам силу, лунная… хотя нет, в нашем случае — «Призма данных»

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

Всем привет! 

Если вы хоть раз пытались свести список установленного ПО из разных источников, вы знаете, как это выглядит. Один и тот же продукт может приезжать как MS Office 2019, Microsoft Office Pro, Office 19 x64 или вообще без версии (как вам, например, MS Comp Ivanov?).

С такими данными дальше приходится жить: нормализовать, сопоставлять, пытаться понять, что у вас вообще установлено и что с этим делать.

Мы в Инферит ИТМен как раз занимаемся этими задачами — развиваем систему учета и контроля ИТ-инфраструктуры. Недавно усилили ее в этой части: добавили библиотеку ПО «Призма данных».

Читать далее

Как мы с внуком подняли свой сервер вместо Gmail в деревне

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

— Дед, Gmail опять всё перекрутил. Письма теряются, половина — реклама, интерфейс другой, ничего не понятно. Ты же у нас главный по всяким проводам, придумай что‑нибудь.

Я посмотрел на него, потом на старый систем ник в углу комнаты, на наш деревенский интернет, который любит падать в самый неподходящий момент, и вдруг поймал себя на мысли: а действительно, почему бы не попробовать завести почту «по‑стариковски» — на своём домене, на своём сервере, со своими правилами. Не потому что я лучше Google, а потому что интересно понять, сколько сегодня стоит «своя почта» для обычного человека из глуши и можно ли на ней жить в реальном, а не лабораторном деревенском быту.

Начал я, как ни странно, не с железа, а с имени.
Объяснил внуку, что домен — это человеческое имя вместо голых цифр. Ящик vnyuk@ded-v-derevne.ru звучит всё‑таки повеселее, чем vanya2008_mega@какой‑нибудь‑бесплатный‑сервис. Домен зарегистрировали, я зашёл в панель и занялся тем, что обычно никого не волнует, пока всё работает, — настройкой записей, которые говорят остальному миру, куда нести письма.

Рассказывал внуку на пальцах: вот у нас есть «адрес дома» — запись, где написано, на какой IP смотреть, когда кто‑то ищет ded-v-derevne.ru. Есть особая запись для почты — мол, «письма складывать вот сюда, в этот ящик на сервере». Есть ещё строка с перечислением тех, кому вообще можно доверять отправку писем от нашего имени — чтобы спамеры не прикидывались нами. Для него это звучало как какая‑то бюрократия, для меня — как привычная настройка, которой просто давно не занимался.

Читать далее

S3 и зачем вообще городить ещё один клиент…

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

Вы нормально знаете Ceph, пулы, RGW, где смотреть логи и почему внезапно полезли 403. Вопрос в другом: вокруг кластера живут люди, которым нужен не Ceph, а S3 как диск в облаке. Им нужно залить билд, вытащить дамп, перекинуть префикс между стендами, выдать временную ссылку, проверить, что объект реально лежит и какой у него размер. Без чтения ceph -w s3cmd rados etc, без объяснений про placement groups и без вашего участия в каждой мелочи.

CLI и скрипты вы держите для себя и для пайплайнов.

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

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

Читать далее

Почему мы до сих пор используем пароли, хотя все их ненавидят

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

Все ругают пароли, но продолжают их вводить. Даже там, где уже есть токены, OAuth и биометрия, привычная строка «Введите пароль» никуда не делась. Кажется, мы привыкли к боли, но у этой устойчивости есть вполне рациональные причины… 

Заходите, расскажу вам правдивую историю про эпоху мейнфреймов, технический долг Unix и иллюзию беспарольного доступа, а также разберу замены и поделюсь классными парольными утилитами.

Читать

От iptables к nftables: O(n) против O(1) на практике

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

Если администрировать Linux-сервера достаточно долго, рано или поздно сталкиваешься с сетевой фильтрацией. Где-то нужно закрыть лишние порты, где-то ограничить доступ между сегментами сети, а где-то настроить NAT.

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

В этой статье разберёмся, как появился nftables, чем он отличается от привычного iptables, как устроена его архитектура и как на практике использовать его для настройки firewall на Linux-сервере.

Читать далее

CSN vs MVCC Postgres: решаем проблему Long Fork аномалии и причем тут деградация Postgres при тысячах SAVEPOINT-ов

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

Одно из узких мест масштабируемости в традиционном PostgreSQL MVCC – получение снимков. Каждый раз, когда транзакции требуется снимок, она должна получить ProcArrayLock и пройтись по всем активным бэкендам, чтобы собрать их идентификаторы транзакций. Эта операция становится все более затратной по мере роста числа одновременных соединений: при тысячах соединений конкуренция за блокировку может серьезно ограничить пропускную способность. CSN (Commit Sequence Number) устраняет это узкое место, заменяя сканирование ProcArray атомарным чтением переменных, что делает получение снимков по сути O(1) независимо от количества соединений. В статье рассказывается о том, как технология работает в СУБД от «Тантор Лабс» и недавно представленной машине баз данных Tantor XData Gen3.

Читать далее

Резервное копирование MS SQL в «Бересте»: как мы используем VDI

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

Вокруг резервного копирования Microsoft SQL Server обычно обсуждают либо штатные BACKUP DATABASE ... TO DISK, либо интеграцию с большими корпоративными системами защиты данных. Между этими двумя мирами есть важный слой: VDI (Virtual Device Interface). Именно через него внешнее приложение может встроиться в процесс резервного копирования и восстановления так, чтобы SQL Server писал не в обычный .bak по своему усмотрению, а в управляемый приложением поток данных.

В этой статье разберем небольшой, но вполне рабочий проект на C++, который реализует РК и ВД для MS SQL Server через VDI в ПО «Береста».

Утилита поддерживает:

• полный, дифференциальный и логический backup;

• restore одной базы или всех найденных;

• striped backup/restore в несколько потоков;

• Windows-аутентификацию и SQL-аутентификацию;

• работу с SQL Server 2008-2022.

Почему VDI?

Если задача ограничивается локальным резервным копированием на диск, VDI не нужен: достаточно стандартных T-SQL команд. Но как только появляется внешняя система резервного копирования, картина меняется.

СРК обычно хочет сама управлять:

• жизненным циклом задания;

• маршрутом потока данных;

• параллелизмом;

• политиками хранения;

• журналированием и обработкой ошибок.

И здесь VDI становится мостом между SQL Server и внешним приложением. SQL Server продолжает выполнять привычные BACKUP и RESTORE, но вместо физического файла работает с виртуальными устройствами. А уже клиент VDI читает или записывает данные туда, куда считает нужным: в локальные файлы, сетевое хранилище, object storage, дедуп-слой или собственный медиасервер.

Читать далее

Windows 10 умрёт в октябре 2026-го. Что будет с сотнями миллионов компьютеров

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

14 октября 2025 года Microsoft прекратила поддержку Windows 10. Не обновила, не перевела на сниженный пакет обслуживания, а именно прекратила. Никаких обновлений безопасности, никаких патчей, никакой технической поддержки. Просто взяла и отрезала операционную систему, которая на тот момент стояла примерно на миллиарде компьютеров по всему миру. Совсем без подстраховки, конечно, дело не обошлось. Microsoft предложила программу Extended Security Updates — платную подписку на обновления безопасности. Но 13 октября 2026-го программа ESU закончится. И тогда начнётся интересное.

Читать далее

Кто мониторит монитор? Рекурсивная задача, у которой нет чистого решения

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

У вас есть Grafana. Она показывает графики с Prometheus. Prometheus скрейпит метрики с ваших сервисов. Если сервис упал — вы видите красный на дашборде. Если Prometheus упал — вы не видите ничего. Дашборд замирает на последних известных значениях. Если не знать, что Prometheus лежит, можно час смотреть на «зелёный» дашборд, который на самом деле показывает данные часовой давности.

Это не гипотетика. Я видел это дважды.

Читать далее

Как найти причину латенси в пайплайне обработки HTTP запроса за 5 минут: разбираем шаг за шагом

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

Как найти причину латенси в пайплайне обработки HTTP запроса за 5 минут: разбираем шаг за шагом

Я достаточно ленивый и рациональный человек. В конце прошлого года у CloudFlare и его клиентов были непростые дни и утро Infra инженеров начиналось не с кофе. Плюс, те, кто много работает с CF знают про 503 и 520 ошибки и, если вы не на Enterprise тарифе, они также могу доставить неприятности. Хочу поделиться подходом и инструментом, которые помогли решить эти проблема и рационализировать/автоматизировать их решение в последствии.

Алерт в три часа ночи: время ответа выросло с 150 ms до 1.2 секунды. Или хуже — пользователи получают 502/503/504. Дежурный инженер открывает дашборд и видит красный график. Что-то тормозит. Но что именно?

Это CDN? Ingress? Приложение? База? Сеть между чем-то из вышеперечисленного? Каждый вариант ведёт к совершенно разному исправлению: перезапуск пода не поможет, если проблема в маршрутизации CDN, а звонок в поддержку хостера бесполезен, если у вас медленный SQL-запрос. Гадать дорого — особенно в три часа ночи.

В этой статье я покажу системный подход к поиску узкого места. Шаг за шагом, с минимумом телодвижений, используя данные, которые у вас скорее всего уже есть (или которые легко начать собирать). Акцент будет на CDN, Hosting Provider, Ingress.

Путь запроса

Прежде чем искать проблему, давайте зафиксируем, через какие этапы проходит типичный HTTP-запрос. Это простая архитектура, характерная для небольшой команды — но знакомая и наглядная(межсерверное взаимодействие в Netflix в качестве примера не будем использовать):

User → CDN → SLB (Nginx) → App(POD) → Connection Pooler → RDBMS

Шесть слоёв. Каждый может вносить свою задержку, свои ошибки — и каждый дает свои сигналы для диагностики.

Ключевое наблюдение: SLB (балансировщик, Nginx, HAProxy, ALB) сидит в центре и является вашей точкой отсчёта. Его логи подскажут, куда смотреть — налево (сеть, CDN) или направо (приложение, база).

Шаг 1. Точка опоры: логи балансировщика

Это лучший стартовый шаг — особенно если у вас еще нет развитого observability-стека и внешнего мониторинга. Достаточно Nginx access log.

Два ключевых значения:

Переменная Nginx Что измеряет $request_time Полное время обработки запроса — от первого байта клиента до последнего байта ответа $upstream_response_time Время ожидания ответа от upstream (вашего приложения)

Если вы ещё не логируете эти значения, добавьте их в log_format:

log_format timing '$remote_addr - $request_uri ' 'status=$status ' 'rt=$request_time ' 'uct=$upstream_connect_time ' 'urt=$upstream_response_time'; access_log /var/log/nginx/access.log timing;

Теперь у ва

Читать далее

Как технологии MySQL ускоряют PostgreSQL

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

В статье - обзор доклада Алексея Копытова (автора sysbench) на конференции PG BootCamp 2026.

Доклад заинтересовал меня тем, что я только после конференции узнал, что Алексей - создатель утилиты sysbench, работал в MySQL AB (High Performance group within the MySQL Support Team) и Percona. MySQL используется в больших компаниях там, где нужна большая производительность. Это значит, что в мире MySQL есть разработчики, которые хорошо понимают архитектуру реляционных баз данных, то есть могут быстро внести в PostgreSQL программные решения из MySQL, которые повысят производительность и отказоустойчивость PostgreSQL.

Доклад Алексея Копытова шёл за докладом Вадима Яценко, чей доклад представил слушателям новую СУБД Tantor Polar. На момент доклада, за две недели до конференции, была опубликована статья, где подробно описывалась новая архитектура, поэтому выступление Яценко вызвало особый интерес и явилось публичной презентацией этих наработок.

Читать далее

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

Регистрация доменов .ru и.рф только через Госуслуги с 1 сентября 2026: что это значит для разработчиков и владельцев

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

С 1 сентября 2026 зарегистрировать или продлить домен .ru/.рф/.su можно только через Госуслуги. Закон 569-ФЗ принят, подзаконные акты опубликованы. Разбираю, что конкретно меняется: идентификация через ЕСИА, реестр регистраторов, стоп-листы, переходный период для существующих доменов. И почему мошенники просто уйдут в .com.

Читать далее

SherlockOps, или как мы победили мониторинг

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

На протяжении всего моего опыта работы DevOps-инженером, я всегда терпеть не мог мониторинг, алерты и всё что с этим связано. Мало того, что я не любил всё это настраивать, но больше всего я ненавидел получать и резолвить алерты.

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

Читать далее

Как музыка и IT пересеклись в моей жизни

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

Привет, дорогой читатель! На связи Саша, системный администратор из отдела хелпдеска в ЮMoney, вот уже 20 лет как «тот самый шумный сосед» — барабанщик. Сегодня я приоткрою завесу нашей деятельности, возможно, вдохновлю кого-то на первый шаг в работе с «железом» — компьютерным или барабанным.

Как ни странно, но в обеих профессиях началось всё примерно идентично: меня привели, показали, и в моей голове прозвучала фраза: «Это то, чем я хочу заниматься».

Читать далее

Podman Compose: как устроен, что умеет, чем отличается от Docker Compose

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

Если у вас есть конфигурационный файл docker‑compose.yml, то в большинстве случаев его можно запустить через Podman без переписывания. Так вы, с одной стороны, сохраните привычный воркфлоу, а с другой — получите преимущества rootless‑контейнеров. В Docker же для запуска compose-файлов раньше использовалась внешняя утилита Docker Compose, но спустя время Docker внедрил возможность запускать такие файлы нативно через Docker Compose plugin.

Да, старый способ запуска все еще актуален. Его можно встретить на легаси-проектах, но лучше все-таки использовать современные методы и не тащить за собой старье.

В Podman аналогично есть Podman Compose — подкоманда, которая запускает внешний провайдер. В качестве такого провайдера может выступать Docker Compose / docker‑compose. Вот во всем этом сегодня и разберемся.

Читать далее

У меня нет звука, но я должен слышать: история одной регрессии ядра

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

Что делать, если после очередного обновления Linux на старом ноутбуке намертво отвалился звук, а в логах висит зловещее CORB reset timeout и 0xFFFF? Переустановка аудио-серверов не поможет, параметры загрузчика GRUB система упорно игнорирует, а LTS-ядро больше не гарантирует стабильности. В этой статье разбираем, как спуститься в логи dmesg, понять, почему устройство «задыхается» на шине PCI, и заставить ядро заново проинициализировать аудиокарту «на горячую» с помощью sysfs и systemd.

Найти звук

Telegram умер. Мы нашли, чем его заменить

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

Созвоны ломаются, VPN отваливается, сообщения теряются. Мы просто хотели рабочий чат — и в итоге сменили мессенджер. Рассказываю, что получилось.

Читать далее

«Увидеть» сигнал, «нарисовать» комнату, построить виртуальное пространство — исследования и эксперименты с Wi-Fi

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

Сегодня мы рассмотрим несколько исследований, посвященных использованию Wi-Fi в задачах визуализации. Речь пойдет не только о том, как «увидеть» движение внутри помещений, используя информацию о состоянии канала (CSI), но и о попытках визуализировать комнату и даже сам процесс распространения радиосигналов.

Читать далее