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

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

РКН: https://kurl.ru/nQejS
Download Telegram
SWAP: что это такое, как работает и как этим управлять?

SWAP (или SWAP-память) — это механизм виртуальной памяти, используемый операционной системой (ОС) для временного хранения данных, когда оперативная память (RAM) заполнена.

Это помогает предотвратить сбои и замедления системы. В этом посте разберём, что такое SWAP, как он работает и как правильно им управлять.


Что такое SWAP?

SWAP — это резервная область на диске (HDD или SSD), используемая ОС для подкачки данных, когда не хватает оперативной памяти.

Этот механизм позволяет системе продолжать работу даже при высокой загрузке RAM.

SWAP особенно полезен для:
Серверов с ограниченным объёмом RAM.
Запуска тяжёлых программ (например, рендеринга, баз данных).
Обеспечения стабильной работы в условиях нехватки оперативной памяти.

Типы SWAP

SWAP может существовать в двух формах:

1️⃣Раздел подкачки (Swap Partition)

Отдельный раздел диска, выделенный для SWAP. Используется на серверах и в высокопроизводительных системах.

2️⃣ Файл подкачки (Swap File)

Файл на диске, который ОС использует как виртуальную память. Часто применяется на настольных ПК и ноутбуках.

Как работает SWAP?

Когда оперативная память заканчивается, ОС выполняет подкачку данных в SWAP.

Механизм работы
1. Заполнение RAM – когда оперативная память исчерпывается, ОС ищет неактивные данные.
2. Перемещение в SWAP – старые или редко используемые данные переносятся на диск.
3. Загрузка новых данных – освобождённое место в RAM используется для активных процессов.
4. Обратная подкачка (Swap-in) – при необходимости ОС возвращает данные из SWAP в RAM.

Методы управления SWAP:
Подкачка (Swapping) – перемещение целых процессов между RAM и SWAP.
Пейджинг (Paging) – перенос отдельных страниц памяти.
Восстановление (Reclaiming) – перенос редко используемых данных в SWAP для освобождения оперативной памяти.

Swappiness – параметр, управляющий интенсивностью подкачки
Значение 0 – SWAP используется только при нехватке RAM.
Значение 100 – данные активно перемещаются в SWAP даже при наличии свободной RAM.
Оптимальное значение: 10-60, в зависимости от нагрузки системы.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥21
⚡️ Linux теперь в Telegram!

Ребята сделали крутейший канал про Linux, где на простых картинках и понятном языке обучают работе с этой ОС, делятся полезными фишками и инструментами

Подписывайтесь: @linuxos_tg
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🤪1
Релиз Zorin OS 17.3 на базе Ubuntu 22.04

В марте 2025 года вышла версия Zorin OS 17.3, основанная на Ubuntu 22.04, ориентированная на пользователей, переходящих с Windows и macOS.

Размер ISO-образа варьируется от 3,4 до 7,1 ГБ.

В этой версии улучшена интеграция с мобильными устройствами через Zorin Connect и добавлена поддержка Flatpak, AppImage и Snap для установки приложений.

Браузер Brave заменяет Firefox, а база данных установщиков Windows-программ расширена до 150+ приложений.


Zorin OS 17.3 доступна в трёх версиях: Pro, Core и Education.

Улучшена работа с сенсорными экранами и добавлены новые функции удалённого ввода.
👍102👎1🔥1
😁27👍2
This media is not supported in your browser
VIEW IN TELEGRAM
erid: 2W5zFHxWZoW

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

Лига — это:
— Более 6 000 сотрудников по всей России
— Удобный график: удаленка, гибрид или офис
— Полный соцпакет, ДМС, корпоративная связь
— Компенсация фитнеса
— И многое другое

Хочешь расти как профессионал, работать в дружной команде, отдыхать в компании единомышленников, участвовать в масштабных корпоративах? Тогда тебе к нам!

https://tglink.io/6b16620f2dca

Реклама. ООО "ЭЙТИ КОНСАЛТИНГ". ИНН 7715744096.
👍3
Как проверить, настроить и использовать SWAP?

Проверка SWAP

Перед настройкой SWAP важно проверить его текущее состояние:

Linux
free -m — отображает общий объём, доступный и используемый SWAP в мегабайтах.
swapon --show — показывает список активных файлов и разделов подкачки.
cat /proc/swaps — выводит детали всех SWAP-разделов.
top или htop — отображает загрузку памяти и использование SWAP в реальном времени.

Windows
• systeminfo — показывает основные параметры виртуальной памяти.
• Панель управления → Система → Дополнительные параметры системы → Виртуальная память.

macOS
• top — аналогично Linux.
• Мониторинг системы → вкладка Память → Использование своп (Swap Used).

Настройка SWAP в Linux

Если SWAP отсутствует или его объёма недостаточно, его можно настроить вручную.

Создание и настройка файла подкачки

1️⃣Проверить текущие SWAP-разделы:

swapon --show


2️⃣ Отключить текущий SWAP:

sudo swapoff -a


3️⃣ Создать новый файл SWAP (например, 4 ГБ):

sudo fallocate -l 4G /swapfile


Если fallocate не поддерживается:

sudo dd if=/dev/zero of=/swapfile bs=1M count=4096


4️⃣ Назначить нужные права:

sudo chmod 600 /swapfile


5️⃣ Создать файл подкачки:

sudo mkswap /swapfile


6️⃣ Включить SWAP:

sudo swapon /swapfile


7️⃣ Добавить SWAP в автозагрузку:

echo "/swapfile none swap sw 0 0" | sudo tee -a /etc/fstab


Настройка параметра swappiness

swappiness определяет, как активно система использует SWAP.
0-10 — минимальное использование (актуально для SSD).
30-60 — сбалансированный режим.
60-100 — агрессивное использование SWAP (рекомендуется для малых объёмов ОЗУ).

Проверить текущее значение:

cat /proc/sys/vm/swappiness


Временно изменить параметр (до перезагрузки):

sudo sysctl vm.swappiness=30


Сохранить настройку навсегда:

echo "vm.swappiness=30" | sudo tee -a /etc/sysctl.conf
Please open Telegram to view this post
VIEW IN TELEGRAM
👍191
💬 Вопрос на собеседовании для сисадмина

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


Вопрос: Как работает D-Bus в Linux и зачем он нужен?

Ответ: D-Bus (Desktop Bus) — это межпроцессная шина, используемая для обмена сообщениями между приложениями и сервисами в Linux. Она позволяет процессам взаимодействовать без необходимости напрямую обращаться друг к другу.

Основные принципы работы:
Шина сообщений: процессы подписываются на D-Bus и могут отправлять или получать сообщения через централизованный демонт (dbus-daemon).
Две основные шины: System Bus используется для взаимодействия системных сервисов (например, systemd-logind), а Session Bus обслуживает пользовательские приложения.
Методы и сигналы: процессы могут вызывать методы в других сервисах или подписываться на сигналы для получения уведомлений.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥3
rConfig – резервное копирование конфигураций сетевого оборудования

rConfig – это бесплатное программное обеспечение для автоматического резервного копирования конфигураций сетевого оборудования.

Оно работает на CentOS 7, поддерживает SSH и интеграцию с LDAP, а также позволяет планировать задачи на автоматический бэкап.

Установка rConfig
1. Устанавливаем CentOS 7 и подключаемся по SSH.
2. Скачиваем и запускаем установочный скрипт:

cd /home
curl -O https://files.rconfig.com/downloads/scripts/install_rConfig.sh
chmod +x install_rConfig.sh
./install_rConfig.sh


3. Установка займет 20-30 минут. Проверять процесс можно командой:

tail -f /home/install.log


4. После завершения установки перезагружаем сервер:

/home/centos7_postReboot.sh


Настройка rConfig
1. Создаем базу данных:

mysql -u root -p
mysql> CREATE DATABASE rconfig_db;
mysql> GRANT ALL ON rconfig_db.* TO 'username'@'localhost' IDENTIFIED BY 'password';
mysql> FLUSH PRIVILEGES;


2. Открываем веб-интерфейс по адресу:

https://yourhostname/install


3. Проходим установку, указываем данные для БД и нажимаем Install Settings.
4. Удаляем каталог установки:

rm -fr /home/rconfig/www/install/
👍13
Куда пропали все, кто хочет открыть своё AI-агентство по автоматизации?

С вероятностью 99.99% вы ещё не подписаны на StartDuck — один из самых быстрорастущих образовательных каналов по автоматизации бизнес-процессов на базе n8n и Make.com.

А здесь делятся:
🟧Не только готовыми инструкциями и файлами — скачал, указал креденшиалы и запустил,
🟧Но и советами по созданию собственного агентства — учись и продавай готовые автоматизации вместе со StartDuck!

🔥 К примеру, сейчас наше цифровое решение «Джарвис на Steroid’ах» уже входит в топ поисковых запросов в сфере Ai.
Виртуальный ассистент как у Тони Старка из «Железного человека» — он знает всё, управляет технологиями и помогает своему создателю работать в разы эффективнее. Теперь такой помощник может быть и у тебя!

🦢 Подписывайся – в канале тебя ждёт масса полезного:

👉[N8N]
🟧 Твой личный Jarvis в Telegram
🟧 Автоматизация RSS для YouTube в n8n
🟧 Автоматизация обработки YouTube-видео для Telegram в n8n
🟧 RSS Автопостинг Youtube

👉[Кейсы с действующими клиентами]
🟧 Автоматизация и рост эффективности косметологического салона
🟧 Рост прибыли для Бадов
🟧 Рост вовлечения для строительной компании

👉[BigDuck.ai]
🟧 Подключаем Instagram через BigDuck
🟧 Подключаем Facebook (Messenger) через BigDuck
🟧 Как подключить AI-Агента в WhatsApp
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2😁2
Ansible в действии: развернем кластер с Kuberspray и запустим AI-приложение 🚀

Приглашаем на бесплатный вебинар от Слёрма, на котором расскажем и покажем:

🔸 Как развернуть нейронную сеть в контейнере и сделать её доступной для всего мира?
🔸 Как быстро настроить кластер и управлять им?
🔸 Как Kubernetes управляет AI-приложениями?
🔸 Как Docker работает в Kubernetes?

🎁 Бонус: каждый зритель получит репозиторий для собственного Kubernetes-кластера с AI-приложением и полную инструкцию по развертыванию.

Дата: 9 апреля 19:00
Занять место через бота 👈

erid: 2W5zFK3BE24
👍2
Предсказание отказов HDD/SSD: как мониторить диски и избегать аварий

Жесткие диски и SSD рано или поздно выходят из строя, но их отказ редко бывает внезапным. 


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

Какие параметры критичны?

Самый простой способ оценить состояние диска — анализ S.M.A.R.T.-атрибутов. Вот ключевые показатели, на которые стоит обратить внимание:

Reallocated Sectors Count – количество переназначенных секторов. Рост этого значения — первый тревожный сигнал.
Pending Sectors – секторы, ожидающие перераспределения. Если диск не может их исправить, он может скоро выйти из строя.
Uncorrectable Sectors – необратимо поврежденные сектора, которые диск не может ни исправить, ни перенести.
CRC Errors – ошибки интерфейса SATA/NVMe, указывают на проблемы с кабелем или контроллером.
Power-On Hours – возраст диска. HDD редко живут больше 5-7 лет, SSD – до 3-5 лет при высокой нагрузке.
SSD Wear Leveling Count – степень износа ячеек памяти у SSD. Если значение приближается к 100%, диск скоро выйдет из строя.

Эти параметры можно отслеживать вручную, но лучше автоматизировать процесс.

Мониторинг S.M.A.R.T. в Linux

Чтобы проверить диск вручную, можно использовать smartmontools:

smartctl -a /dev/sda


Но вручную это делать неудобно, поэтому подключаем мониторинг в Zabbix и Prometheus.

Автоматический мониторинг дисков в Zabbix

В Zabbix есть готовые шаблоны для S.M.A.R.T. Чтобы подключить мониторинг:
1️⃣Устанавливаем Zabbix Agent (если он еще не установлен):

sudo apt install zabbix-agent


Для CentOS/RHEL:

sudo yum install zabbix-agent


2️⃣ Добавляем модуль для работы с S.M.A.R.T.

sudo apt install smartmontools


3️⃣ Настраиваем Zabbix Agent для сбора данных о дисках. Добавляем в /etc/zabbix/zabbix_agentd.conf:

UserParameter=smartctl.discovery, sudo /usr/local/bin/smartctl_discovery.sh
UserParameter=smartctl.info[*], sudo smartctl -A /dev/$1 | grep "$2" | awk '{print $10}'


4️⃣ Перезапускаем агент:

sudo systemctl restart zabbix-agent


5️⃣ Импортируем шаблон “SMART Monitoring” в Zabbix и привязываем к хосту.

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

В следующем посте продолжим!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍28
Релиз открытой утилиты GNU patch 2.8

В конце марта 2025 года состоялся релиз открытой утилиты GNU Patch 2.8. 


Решение позволяет применить к файлам патчи, включающие списки изменений, созданные программой diff. Исходный код проекта написан на языке C и распространяется под лицензией GPLv3+. Версия GNU patch 2.7 вышла в сентябре 2012 года.

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

По информации OpenNET, основные изменения и доработки в GNU patch 2.8:

решена проблема 2038 года — утилита теперь корректно обрабатывает данные о времени файлов, созданных после 2038 года, даже на платформах с 32-разрядным типом time_t;
опция «‑follow‑symlinks» теперь распространяется не только на входные файлы, но и на создаваемые файлы;
в соответствии с требованиями стандарта POSIX.1–2024 запрещено использование символа перевода строки в именах файлов;
запрещено использование нулевых байтов ('\0') в строках с директивами diff;
разрешено указание пробелов и табуляций перед значениями с номерами строк и после них;
проведена работа по исключению неопределённого или некорректного поведения в нештатных ситуациях, например при обработке очень больших размеров полей, ошибках ввода/вывода, нехватке памяти, состояниях гонки и отправке сигналов в неподходящие моменты;
удалён старый код «Plan B», созданный для систем с 16-разрядными указателями;
повышены требования к компилятору, который теперь должен поддерживать стандарт C99 (ранее требовался C89);
добавлена поддержка новых версий GCC, Autoconf и Gnulib.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👍2
Предсказание отказов HDD/SSD: как мониторить диски и избегать аварий
Часть 2


Продолжим обсуждение мониторинга жестких дисков

Мониторинг дисков в Prometheus + Grafana

Если в инфраструктуре уже есть Prometheus, можно использовать node_exporter с поддержкой S.M.A.R.T.:

1️⃣Устанавливаем node_exporter:

wget https://github.com/prometheus/node_exporter/releases/latest/download/node_exporter-linux-amd64.tar.gz
tar xvf node_exporter-linux-amd64.tar.gz
cd node_exporter-linux-amd64
sudo ./node_exporter --collector.smartmon


2️⃣ Добавляем в конфиг Prometheus новый таргет (prometheus.yml):

scrape_configs:
- job_name: 'node'
static_configs:
- targets: ['localhost:9100']


3️⃣ Настраиваем Grafana для визуализации
В Grafana импортируем готовый Dashboard 12430 “SMART Monitoring”.

Теперь мы видим наглядную динамику параметров S.M.A.R.T. и можем заранее предсказать сбои.

Использование AI для предсказания отказов

Если нужно автоматически анализировать аномалии, можно использовать AI-модель для предсказания отказов.
1. Собираем данные за 6-12 месяцев с проблемных и рабочих дисков.
2. Обучаем ML-модель на основе реальных данных.
3. Настраиваем прогнозирование аномалий через TensorFlow/Scikit-Learn и уведомления в Telegram/Slack.

Пример простого скрипта на Python, который анализирует S.M.A.R.T. и ищет аномалии:

import pandas as pd  
from sklearn.ensemble import IsolationForest

# Загружаем данные S.M.A.R.T.
df = pd.read_csv("smart_data.csv")

# Выбираем критичные параметры
features = ["Reallocated_Sectors", "Pending_Sectors", "Uncorrectable_Sectors"]

# Обучаем модель аномалий
model = IsolationForest(contamination=0.01)
model.fit(df[features])

# Предсказываем аномалии
df["anomaly"] = model.predict(df[features])

# Выводим проблемные диски
print(df[df["anomaly"] == -1])
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🔥71
💬 Вопрос на собеседовании для DevOps-инженера

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


Вопрос: Как работает механизм FUSE в Linux и зачем он нужен?

Ответ: FUSE (Filesystem in Userspace) — это интерфейс, позволяющий создавать файловые системы в пространстве пользователя без необходимости писать код в ядре. Он применяется для реализации виртуальных файловых систем, шифрования, работы с удаленными хранилищами.

Основные возможности:
Изоляция: FUSE работает в user-space, снижая риски сбоев и уязвимостей в ядре.
Гибкость: можно монтировать файлы из облака, архивов или даже из базы данных.
Применение: SSHFS (удаленная файловая система через SSH), EncFS (шифрованные каталоги), rclone (доступ к облачным хранилищам).
Please open Telegram to view this post
VIEW IN TELEGRAM
👍151
Policy-Based Routing (PBR) в Linux: Как разделять трафик по приложениям и протоколам

Обычно маршрутизация в Linux строится по таблице маршрутов, но что если нужно разделять трафик не просто по IP-адресу, а по приложению, порту или протоколу?

Здесь на помощь приходит Policy-Based Routing (PBR) – механизм, позволяющий задавать гибкие правила маршрутизации.

Когда это нужно?
Выводить разный трафик через разные каналы – например, HTTP/S через VPN, а SSH и RDP напрямую.
Разграничивать нагрузку между несколькими провайдерами – балансировка трафика между двумя интернет-каналами.
Ограничивать взаимодействие сервисов – запрет доступа контейнеров в интернет, но разрешение выхода в локальную сеть.

Настройка PBR в Linux

Создаём дополнительные таблицы маршрутов

По умолчанию в Linux есть таблица main, но для PBR нам нужны дополнительные. Добавим их в /etc/iproute2/rt_tables:

echo "100 vpn_table" >> /etc/iproute2/rt_tables
echo "200 direct_table" >> /etc/iproute2/rt_tables


Добавляем маршруты в новые таблицы

Предположим, что у нас два выхода:
• eth0 – основной интернет,
• tun0 – VPN-интерфейс.

Добавим маршруты:

ip route add default via 192.168.1.1 dev eth0 table direct_table
ip route add default via 10.8.0.1 dev tun0 table vpn_table


Создаём правила для выбора таблицы

Теперь направим трафик определённых приложений в нужные таблицы.

Например, весь трафик от процесса firefox через VPN:

iptables -t mangle -A OUTPUT -m owner --uid-owner firefox -j MARK --set-mark 1
ip rule add fwmark 1 table vpn_table


Или весь SSH-трафик (порт 22) напрямую:

iptables -t mangle -A OUTPUT -p tcp --dport 22 -j MARK --set-mark 2
ip rule add fwmark 2 table direct_table


Проверяем настройки

Убедимся, что правила работают:

ip rule show
ip route show table vpn_table
ip route show table direct_table
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🔥41👎1
Вот кто смог😎
Please open Telegram to view this post
VIEW IN TELEGRAM
👍34😁111🥱1