numactl: привязка процесса к своему NUMA-узлу

На двухсокетном сервере память физически разделена между процессорами: у каждого сокета свой контроллер и свой банк DRAM. Процесс на CPU первого сокета, чьи страницы памяти выделены рядом со вторым, платит лишней латентностью на каждое обращение — оно уходит через межпроцессорную шину вместо локальной. Это и есть NUMA (Non-Uniform Memory Access), и для баз данных или числодробилок разница заметна прямо в задержках запросов. Посмотреть топологию — сколько узлов видит система и какие у них расстояния друг от друга: ...

October 5, 2026 · llexa

Proxmox #13: ZFS как storage backend

Диски VM на ZFS-хранилище в Proxmox VE — это не файлы на файловой системе, а отдельные ZFS-тома (zvol), каждый подключается гостю как блочное устройство. Контейнеры хранятся иначе — через subvol, обычный датасет. Подключается пул как хранилище через /etc/pve/storage.cfg: zfspool: vmdata pool tank/vmdata content rootdir,images sparse Опция sparse — это и есть thin-provisioning: резервирование места под том не равно его номинальному размеру. Создал диск на 100 ГБ — тонкий том займёт ровно столько, сколько гость реально записал. ...

October 5, 2026 · llexa

IT-мем: это всегда DNS

— Сервис недоступен, но пинги ходят, порт открыт, логи чистые. — Проверь DNS. — Да я же тебе говорю, с сетью всё в порядке! — Проверь DNS. Два часа спустя: опечатка в зоне, TTL ещё не истёк, полкластера резолвит старый IP. #юмор

October 4, 2026 · llexa

LGTM-стек #9: Grafana — витрина поверх всего остального, финал серии

Все предыдущие выпуски серии были про то, откуда берётся сырой материал для графиков — метрики хоста, Postgres, очередей, трейсы, логи. Grafana сама ничего не собирает и почти ничего не хранит — она подключается к уже готовым источникам (Prometheus, Loki, Tempo) и рисует поверх них дашборды и алерты. Логично, что в серии про стек она закрывающая, а не первая — смотреть особо не на что, пока нет источников. ...

October 4, 2026 · llexa

Rust-утилиты #1: eza вместо ls

Новая серия — про утилиты, которые переписали классику GNU на Rust и где-то по пути добавили то, чего в оригинале никогда не было. Начинаем с самого используемого — ls. eza — форк давно заброшенного exa, который теперь живёт и развивается сам по себе. ...

October 4, 2026 · llexa

WSL 3.0: контейнеры Linux прямо в Windows

29 сентября Microsoft выпустил WSL 3.0 — первый по-настоящему мажорный апдейт Windows Subsystem for Linux с момента перехода на вторую версию. Под капотом — ядро Linux 6.18 вместо старой ветки, более быстрый старт, меньше потребления памяти и virtiofs для файлового обмена между Windows и Linux теперь по умолчанию, а не опцией для энтузиастов. Главная новая фича — WSL Containers (wslc). Запускать и гонять Linux-контейнеры теперь можно прямо из Windows, без Docker Desktop и без лишнего слоя виртуализации поверх уже виртуализированного WSL. После wsl --update бинарник wslc.exe сразу попадает в PATH, рядом добавляется алиас container.exe — для тех, кто уже набил руку на Docker-стиле команд. ...

October 4, 2026 · llexa

LGTM-стек #8: Mimir — долгосрочное хранилище метрик, итог серии

Prometheus хранит метрики на локальном диске одного сервера — надёжно, но не бесконечно и не горизонтально. Mimir — принимающая сторона remote_write: масштабируется по узлам, хранит историю дольше, чем позволяет один диск. ...

October 3, 2026 · llexa

Афоризмы Мёрфи #13: Одиннадцатое следствие

После десятого следствия (“каждое решение порождает новые проблемы”) — одиннадцатое, объясняющее, почему легаси живёт вечно: «Легче влезть в какое-то дело, чем из него выбраться» Поставить самописный скрипт вместо нормального решения — пять минут. Вывести его из эксплуатации через три года, когда на нём уже завязаны два cron-джоба, дашборд в Grafana и один человек в отпуске, который “точно знает, как оно работает” — отдельный проект с планом миграции. Подключить стороннюю библиотеку — одна строчка в зависимостях. Убрать её, когда выяснилось, что она тянет за собой CVE — grep по всей кодовой базе и переписывание половины бизнес-логики, которая незаметно на неё оперлась. ...

October 3, 2026 · llexa

FUSE #6: mergerfs — объединяем несколько дисков в одну точку монтирования

RAID объединяет диски на уровне блоков — один упавший диск может утянуть за собой весь массив, в зависимости от уровня. mergerfs работает иначе: это FUSE-файловая система, которая просто логически сливает несколько независимых путей в одну точку монтирования, каждый диск остаётся отдельной файловой системой сам по себе. ...

October 2, 2026 · llexa

LGTM-стек #7: Prometheus — ядро стека, откуда всё начиналось

Все предыдущие посты серии — про то, что кормит Prometheus метриками (node_exporter, postgres_exporter, rabbitmq_prometheus) — сам Prometheus в стеке до сих пор не появлялся. Пора закрыть пробел: это сердце модели “L” (метрики) в LGTM, и модель работы у него принципиально другая, чем у Loki/Tempo. ...

October 2, 2026 · llexa