Современные ФС #6: ZFS — RAIDZ

Зеркало (mirror) — 50% полезного места на N дисков. raidz экономнее: чётность распределена по всем дискам, как в RAID5; raidz2 — двойная чётность, переживает потерю двух дисков разом (аналог RAID6). zpool create tank raidz sda sdb sdc zpool create tank raidz2 sda sdb sdc sdd Целостность проверяется не fsck, а scrub — ZFS перечитывает блоки, сверяет контрольные суммы и чинит найденное за счёт избыточности: zpool scrub tank zpool status tank # прогресс и найденные ошибки Замена упавшего диска — без остановки пула: ...

22 июля 2026 г. · llexa

Архиваторы #5: bzip2 — где он ещё оправдан

bzip2 — блочный архиватор на BWT (Burrows-Wheeler Transform), долго был стандартом для .tar.bz2. Сжимает лучше gzip, но однопоточный и заметно медленнее современных алгоритмов. bzip2 -9 file.bin # максимальное сжатие → file.bin.bz2 bzip2 -k file.bin # сжать, оставив оригинал pbzip2 -p4 -9 file.bin # многопоточно, формат тот же Сравнение на 1 ГБ логов: gzip -9 12с 380МБ bzip2 -9 34с 290МБ xz -6 22с 290МБ zstd -19 18с 310МБ Степень сжатия на уровне xz, но в разы медленнее и без многопоточности из коробки. Оправдан сегодня по инерции: legacy-пайплайны, ждущие .bz2, патчи ядра Linux. Для новых задач — zstd или xz. ...

20 июля 2026 г. · llexa

chroot и arch-chroot: смена корня файловой системы

chroot меняет корень файловой системы для процесса — программа видит /mnt/rescue как /, а всё, что выше, ей недоступно. Классический сценарий — сломанный загрузчик: грузимся с LiveCD, монтируем раздел и чиним систему изнутри неё. mount /dev/sda2 /mnt for d in dev proc sys; do mount --bind /$d /mnt/$d; done chroot /mnt /bin/bash grub-install /dev/sda update-grub exit Три bind mount руками — то, что забывают чаще всего: без /dev и /proc внутри chroot откажутся работать даже базовые команды. В Arch Linux это автоматизировал arch-chroot из пакета arch-install-scripts — та же задача одной командой: ...

18 июля 2026 г. · llexa

LVM с нуля: pvcreate, vgcreate, lvcreate, lvextend

Без LVM размер раздела фиксирован разметкой диска — расширить его без даунтайма сложно. LVM добавляет промежуточный слой: физические тома (PV) объединяются в группу (VG), из которой нарезаются логические тома (LV) — их можно растягивать, пока в VG есть свободное место. pvcreate /dev/sdb /dev/sdc # физические тома из целых дисков vgcreate data_vg /dev/sdb /dev/sdc # группа томов lvcreate -L 50G -n data_lv data_vg # логический том 50 ГБ mkfs.ext4 /dev/data_vg/data_lv Расширение на лету, когда место закончилось: ...

18 июля 2026 г. · llexa

nmcli: NetworkManager из терминала

На серверах с NetworkManager настройки сети живут не в /etc/network/interfaces, а в connection-профилях самого NetworkManager. nmcli — способ управлять ими из терминала, без риска потерять единственный SSH-сеанс на неудачный ifconfig. nmcli device status # список интерфейсов и их состояние nmcli con show # все сохранённые подключения nmcli con up "Wired connection 1" # поднять nmcli con down eth0 # погасить Статический IP без правки конфигов руками: nmcli con mod eth0 ipv4.addresses 192.168.1.50/24 nmcli con mod eth0 ipv4.gateway 192.168.1.1 nmcli con mod eth0 ipv4.dns "8.8.8.8 1.1.1.1" nmcli con mod eth0 ipv4.method manual nmcli con up eth0 Изменения применяются сразу после con up — перезагрузка не нужна. ...

18 июля 2026 г. · llexa

lynis: аудит безопасности сервера одной командой

lynis — сканер безопасности для Linux/Unix без агента и без сети: работает локально, читает конфиги и состояние системы. На выходе — не список уязвимостей, а числовой hardening index и причина по каждой находке. apt install lynis # или git clone для последней версии lynis audit system # полный прогон, ~200 тестов lynis show tests # список проверок с ID lynis audit system --cronjob # тихий прогон для cron Результат — в /var/log/lynis.log и /var/log/lynis-report.dat. В конце — блок Suggestions с ID вида SSH-7408 и кратким пояснением. Категории: SSH-конфиг, права на файлы, устаревшие пакеты, параметры ядра — первый прогон на свежем сервере обычно выдаёт полсотни рекомендаций. ...

17 июля 2026 г. · llexa

rkhunter: охота за руткитами и бэкдорами

rkhunter (Rootkit Hunter) ищет то, что обычный антивирус на сервере не ловит: подмену системных бинарников, скрытые процессы, следы известных руткитов. Работает по базе сигнатур плюс сравнение с сохранённым эталоном — эталон нужно снять сразу после чистой установки. apt install rkhunter rkhunter --propupd # снять эталон после установки rkhunter --update # обновить базу сигнатур rkhunter --check --sk # проверка без пауз (--skip-keypress) Результат — в /var/log/rkhunter.log, предупреждения помечены [Warning]. Часть — стандартный шум (изменённые пути после апдейта пакетов, нестандартные права) — разобрать один раз и занести в /etc/rkhunter.conf через ALLOWHIDDENDIR. Для регулярного контроля — --cronjob вместо интерактивного режима. ...

17 июля 2026 г. · llexa

Новые версии: 10 июля — 17 июля

Новые релизы за неделю — только то, что важно для сервера. vscode 1.129.0 nginx 1.31.3 — nginx-1.31.3 mainline: фикс переполнения буфера при использовании map с конкатенацией строк. loki helm-loki-7.1.0 immich v3.0.3 — исправления багов, публикация в собственный F-Droid репозиторий. node_exporter v1.12.1 — фикс обработки флага perf-профайлера, опциональный сбор csrow ue_count в edac. postgres 19_BETA2 3x-ui v3.5.0 — MTProto Multi-Client, миграция SQLite → PostgreSQL, доработки под нагрузку до 500k. terminal v1.25.1912.0 prometheus v0.313.1 bottom 0.14.4 — фикс бага с колонками процессов в конфиге и хоткеем выхода. skim v5.1.0 eza v0.23.5 #linux #sysadmin #releases

17 июля 2026 г. · llexa

iostat и sar: где потерялась производительность

Общая картина по CPU и памяти не отвечает на вопрос «какой конкретно диск тормозит». Для этого — iostat (снимок сейчас) и sar (история за прошлые дни). iostat -xz 1 5 # расширенная статистика, обновление раз в секунду, 5 раз # %util — занятость диска, await — латентность запроса в мс await выше 10-20 мс на HDD или 1-2 мс на SSD — сигнал упереться в диск. sar из пакета sysstat собирает метрики в фоне и хранит историю: ...

16 июля 2026 г. · llexa

Proxmox #6: установка и swap, который забыли создать

Установщик Proxmox VE — обычный Debian-инсталлятор. При выборе ZFS как корневой ФС (raid0/raid1/raidz) он не создаёт swap — итог: под нагрузкой хост не деградирует плавно, а падает в OOM killer. Проверить после установки: free -h swapon --show # пусто — swap отсутствует Вариант 1 — swap-файл: fallocate -l 8G /swapfile chmod 600 /swapfile mkswap /swapfile swapon /swapfile echo '/swapfile none swap sw 0 0' >> /etc/fstab Вариант 2 — zvol, без сжатия (иначе deadlock под памятью): ...

16 июля 2026 г. · llexa