Admin Guides | Сисадмин
11.4K subscribers
1.25K photos
20 videos
34 files
556 links
Обучающий канал по ОС Linux & Windows для начинающих и действующих администраторов.

Админ, реклама: @Ak_Mihail
Биржа: https://telega.in/c/admguides

РКН: https://kurl.ru/nQejS
Download Telegram
fstrim: освобождение места на SSD

SSD не всегда «понимает», что файлы были удалены — блоки могут оставаться помеченными как занятые.

Из-за этого диск со временем теряет скорость записи.


Команда fstrim помогает сообщить диску, какие блоки можно реально очистить.

Проверка вручную:

sudo fstrim -v /


Выведет, сколько байт освободилось на корневом разделе.

Чтобы не делать это руками, есть встроенный systemd-таймер. Достаточно один раз включить:

sudo systemctl enable fstrim.timer
sudo systemctl start fstrim.timer


Теперь очистка будет выполняться автоматически раз в неделю.

Это безопасный и простой способ поддерживать SSD в нормальной форме без лишних ухищрений.
👍164
💬 Вопрос на собеседовании для DevOps-инженера

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


Вопрос: Что такое SoftIRQ в Linux и зачем он используется?

Ответ: SoftIRQ (Software Interrupt Request) — это механизм в ядре Linux для обработки отложенных задач, которые нельзя выполнить в контексте аппаратного прерывания (IRQ), но и запускать как обычные процессы слишком дорого.

SoftIRQ используется, например, в сетевом стеке (обработка пакетов), планировщике задач и таймерах. Он позволяет разгрузить обработчики прерываний, обеспечивая баланс между низкими задержками и производительностью.
Please open Telegram to view this post
VIEW IN TELEGRAM
9👍3
lsns: кто держит namespace?

Linux активно использует namespaces — они изолируют процессы по сетям, PID, пользователям, монтам и прочим ресурсам. 


В обычной работе это не видно, но как только в системе появляются контейнеры, systemd-изоляторы или «подозрительные» процессы, namespaces становятся критически важны для отладки.

Инструмент lsns позволяет быстро посмотреть, какие процессы «сидят» в каких пространствах имён.

Простейший запуск:

lsns


На выходе будет таблица: PID, тип namespace, время создания и т.д.

Это помогает понять, например, кто держит лишний mount namespace или почему сетевой стек не совпадает с основным.

Можно фильтровать по типу:

lsns -t net


Покажет все сетевые namespaces — полезно для диагностики контейнеров.

А если нужно конкретно узнать, кто держит PID namespace:

lsns -t pid
👍97
В crontab записано:

0 2 * * * /usr/local/bin/backup.sh Когда будет выполняться скрипт?
Anonymous Quiz
11%
Каждое воскресенье в 2 ночи
78%
Каждый день в 2 ночи
7%
Каждую минуту в 2 ночи
4%
Каждый час
😁12🤪6👍53
Swap-файл vs swap-раздел: как влияет на SSD и работу в системах с малым ОЗУ

На слабых серверах и миниатюрных VPS наличие подкачки решает всё. Даже базовая установка apt без swap может закончиться «убийством» процессов через OOM-killer.

Но что выбрать: swap-файл или swap-раздел? И главное — как сделать, чтобы не угробить SSD и не словить тормоза?


Что выбрать — swap-файл или swap-раздел?

Swap-раздел исторически считался более «надёжным» вариантом: он выделяется на физическом уровне и не фрагментируется. Но в реальности:
менять его размер сложно (особенно без LVM);
требует переформатирования или изменения разметки;
неудобен в облаках и на VPS.

Swap-файл — более гибкий и удобный. Особенно если:
вы работаете на облаке с единственным диском;
у вас ограниченное место;
нужно быстро изменить размер или выключить swap.

На современных ядрах swap-файл работает почти так же эффективно, как и раздел, особенно если создать его правильно.

Как правильно создать swap-файл

Не используйте dd — он может создать фрагментированный файл:

# Плохо:
dd if=/dev/zero of=/swapfile bs=1M count=1024


Вместо этого:

# Хорошо:
fallocate -l 1G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile


В fstab:

/swapfile none swap sw 0 0


Дополнительные улучшения: zswap и zram

Чтобы продлить срок службы SSD и ускорить работу на слабых системах:

Zswap — сжатая подкачка в RAM. Включается одной командой:

echo 1 > /sys/module/zswap/parameters/enabled


Zram — компрессированный swap в памяти. Особенно эффективен на embedded и ARM-устройствах:

modprobe zram
echo lz4 > /sys/block/zram0/comp_algorithm
echo 512M > /sys/block/zram0/disksize
mkswap /dev/zram0
swapon /dev/zram0


Настройка поведения подкачки

Чтобы система не бросалась в swap при любой нагрузке:

sysctl vm.swappiness=10


10–20 — хороший баланс: сначала используется RAM, и только потом swap.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥127👍2
💬 Вопрос на собеседовании для сисадмина

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


Вопрос: Что такое Writeback в Linux и как он влияет на производительность системы?

Ответ: Writeback — это процесс записи изменённых (dirty) страниц памяти обратно на диск. Когда приложение изменяет данные в памяти, они сначала остаются в RAM для ускорения работы, а ядро периодически переносит их на постоянное хранилище.

Система управляет writeback через параметры vm.dirty_ratio и vm.dirty_background_ratio, а также через демоны pdflush или flush. Правильная настройка writeback снижает задержки при записи, предотвращает перегрузку диска и балансирует использование оперативной памяти и I/O.
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍7
capsh и Linux capabilities

В Linux root-аккаунт обладает полным набором прав, но далеко не всегда это нужно. Capabilities позволяют «разрезать» привилегии на части и выдавать только нужные.

Это снижает риски: сервис не сможет сделать ничего лишнего, даже если его взломают.


Например, чтобы процесс слушал порты ниже 1024, достаточно capability CAP_NET_BIND_SERVICE. Полный root здесь избыточен.

Проверка текущих прав:

capsh --print


Запуск процесса только с нужной capability:

capsh --drop=all --add=cap_net_bind_service -- -c "./server"


⚡️Так можно запускать сервисы безопаснее, следуя принципу «минимально необходимых прав». Это актуально и для контейнеров, и для демонов в продакшене.
Please open Telegram to view this post
VIEW IN TELEGRAM
11👍8
This media is not supported in your browser
VIEW IN TELEGRAM
⚡️ На Stepik вышел курс по Linux

Внутри 20+ модулей: от установки Linux и работы с файлами до сетей, прав, дисков, процессов, автоматизации на Bash и многого другого. Всё сразу закрепляется на практике (200+ заданий с автопроверкой).

Материал подаётся понятным языком, шаг за шагом, на реальных примерах и с наглядными схемами.

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

Есть бесплатные демо-уроки для ознакомления. В ближайшие 48ч курс доступен со скидкой 20% по промокоду «ADMGUIDES»: открыть курс на Stepik
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍4🔥1
Multikernel: несколько ядер Linux на одном хосте

Проект Multikernel позволяет запускать на одной машине сразу несколько независимых экземпляров ядра Linux — без гипервизора и накладных расходов виртуализации.

Каждый экземпляр ядра получает прямой доступ к CPU и ресурсам, изоляция выше, чем у контейнеров, а производительность близка к «железу».

Запуск через улучшенный kexec, управление и отладка — через /proc/multikernel.
Для обмена сообщениями используется собственный IPI-фреймворк.
Поддерживается динамическое выделение ресурсов и изоляция отказов.
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍2🔥1
⚡️ RECURA — прокачка инфраструктуры: от админа до security

Один канал для решения трёх задач: сделать систему эффективной, стабильной и безопасной.
Без воды, только практика:

🔹Мощные скрипты для автоматизации рутины (Bash, Python)
🔹Конфиги для отказоустойчивых и защищённых контейнеров (Docker, K8s)
🔹Инструменты для мониторинга, аудита и харденинга Linux-серверов
🔹Прицельные советы по интеграции security в процессы разработки

⚠️ Подпишись, чтобы быть инженером-универсалом.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥21
Профилирование CPU с perf и Flamegraph

Когда сервер «тормозит» или высокая загрузка CPU не очевидна, стандартных инструментов вроде top часто недостаточно. 


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

Здесь на помощь приходит perf и Flamegraph.

perf — запись стека вызовов

Для начала нужно установить perf (apt install linux-tools-common linux-tools-$(uname -r) на Debian/Ubuntu).

Простейший пример:

sudo perf record -F 99 -a -g -- sleep 10


-F 99 — частота выборки 99 Гц
-a — профилируем все CPU
-g — сохраняем стеки вызовов
-- sleep 10 — профилируем 10 секунд

После этого создаётся файл perf.data, содержащий информацию о нагрузке CPU.

perf script + Flamegraph — визуализация горячих функций

Flamegraph позволяет видеть «горячие» участки кода:

perf script | stackcollapse-perf.pl | flamegraph.pl > out.svg


stackcollapse-perf.pl — склеивает одинаковые стеки
flamegraph.pl — генерирует интерактивный SVG

Открыв out.svg в браузере, можно увидеть, какие функции съедают процессорное время. Чем выше «полоса», тем дольше выполняется функция.
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍3