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

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

РКН: https://kurl.ru/nQejS
Download Telegram
💬Вопрос на собеседовании для сисадмина

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

Вопрос: Как работает механизм контроля inodes в файловых системах Linux?

Ответ: Inodes — это структура данных в файловой системе, которая хранит метаинформацию о файле (права доступа, размер, местоположение на диске и т.д.).

1️⃣Количество inodes: Файловая система создаёт фиксированное количество inodes при форматировании. Если inodes заканчиваются, невозможно создать новые файлы, даже если свободное место на диске есть.

2️⃣ Проверка inodes: Команда df -i позволяет узнать количество использованных и доступных inodes.

3️⃣ Увеличение inodes: Чтобы изменить их количество, нужно пересоздать файловую систему с флагом -i, задающим размер inodes. Например:

mkfs.ext4 -i 2048 /dev/sdX
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8😁32🔥2
Использование и мониторинг cgroups v2

В предыдущем посте я создал группу ограничений и задал базовые лимиты для использования CPU и памяти.

Теперь разберёмся, как применять эти настройки к процессам и отслеживать их выполнение.

4️⃣ Добавление процессов в группу
Получите PID нужного процесса:

pgrep <process_name>


Перенесите процесс в группу:

echo <PID> > /sys/fs/cgroup/test_group/cgroup.procs


Пример:

echo 1234 > /sys/fs/cgroup/test_group/cgroup.procs


5️⃣ Мониторинг использования ресурсов
Просмотрите статистику использования CPU:

cat /sys/fs/cgroup/test_group/cpu.stat


Отследите текущий объём используемой памяти:

cat /sys/fs/cgroup/test_group/memory.current


Проверьте логи для диагностики ошибок:

dmesg | grep cgroup


Пример: Ограничение тестовой нагрузки
Установите утилиту stress для создания нагрузки:

sudo apt install stress


Запустите её с нагрузкой на два ядра:

stress --cpu 2 --timeout 60


Перенесите процесс stress в группу ограничений:

echo $(pgrep stress) > /sys/fs/cgroup/test_group/cgroup.procs
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍21
Классика 😂
Please open Telegram to view this post
VIEW IN TELEGRAM
👏25👍8😭5😁3
Трафик YouTube в РФ упал до 20% от нормального состояния

Согласно данным Google и профильных экспертов, 23 декабря 2024 года трафик YouTube в России снизился до 20% от среднего уровня, фиксировавшегося до августа.

С 19 декабря пользователи массово жалуются на проблемы с доступом к видеосервису: видео либо не запускаются, либо загружаются крайне медленно. 


Проблемы затрагивают как мобильные, так и проводные сети всех основных операторов связи, включая МТС, «МегаФон», Т2 и «Билайн».

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

Одновременно «Ростелеком» утверждает, что не ограничивал работу сервиса, но связывает деградацию с устареванием серверов Google Global Cache (GGC), которые не обновлялись более трёх лет.

Роскомнадзор, в свою очередь, обвинил YouTube в «неуважении к нашей стране» и напомнил, что Google прекратил обслуживание кэширующих серверов в России.

По мнению ведомства, это стало причиной ухудшения качества работы сервиса. С 19 по 21 декабря трафик YouTube в РФ снизился ещё на 10%. 


При этом на серверах Google в Нидерландах зафиксирован рост трафика, что может быть связано с перенаправлением запросов пользователей из России.
😁14🤬9👍3😢3
Сегодня расскажу про российское решение для удалённого управления и конфигурирования сетевого оборудования - SSH/SFTP/RDP/VNC-клиент МС22.

Отечественная замена популярных зарубежных программ (PuTTY, Xshell, KiTTY, SecureCRT, SmarTTY, MobaXterm и др.) и встроенных терминалов ОС. Продукт платный, но имеет стоящий функционал:
- Быстрые клавиши, позволяющие сэкономить время на рутину
- Возможность работы в нескольких вкладках, облегчающая одновременное администрование несокльких устройств
- Готовые шаблоны и автоматические сценарии
- Цветная подсветка синтаксиса, берегущая зрение пользователей
- И другие приятные мелочи

Посмотреть и потестировать можно тут - https://МС22.рф
🔥9🥴6🗿3🤷‍♂2😁2
Настройка VLAN с использованием ip и bridge в Linux

VLAN (Virtual Local Area Network) — это способ разделения одной физической сети на несколько логически изолированных сетей.

Это полезно для управления трафиком, повышения безопасности и уменьшения широковещательной нагрузки.

В этом посте мы разберём, как настроить VLAN в Linux с использованием утилит ip и bridge.

Пример задачи

Имеется интерфейс eth0, подключённый к коммутатору, поддерживающему VLAN. Мы хотим настроить две VLAN:
VLAN 10: с IP-адресом 192.168.10.1/24.
VLAN 20: с IP-адресом 192.168.20.1/24.

1️⃣Установка необходимых пакетов

В современных дистрибутивах утилиты ip и bridge уже включены в состав пакета iproute2.

Проверьте, что он установлен:

sudo apt install iproute2  # Для Debian/Ubuntu  
sudo yum install iproute # Для CentOS/RHEL


2️⃣ Настройка VLAN
Создайте VLAN-интерфейсы

С помощью команды ip link создадим виртуальные интерфейсы для VLAN 10 и VLAN 20:

sudo ip link add link eth0 name eth0.10 type vlan id 10  
sudo ip link add link eth0 name eth0.20 type vlan id 20


Назначьте IP-адреса VLAN-интерфейсам

sudo ip addr add 192.168.10.1/24 dev eth0.10  
sudo ip addr add 192.168.20.1/24 dev eth0.20


Включите интерфейсы

sudo ip link set eth0.10 up  
sudo ip link set eth0.20 up


3️⃣ Проверка конфигурации

Проверьте, что интерфейсы созданы и включены:

ip -d link show  


Вы должны увидеть интерфейсы eth0.10 и eth0.20, связанные с eth0.

4️⃣ (Опционально) Настройка VLAN-мостов

Если требуется подключить несколько VLAN к мосту (например, для виртуализации):

Создайте мост:

sudo ip link add name br-vlan type bridge  


Добавьте VLAN к мосту:

sudo ip link set eth0.10 master br-vlan  
sudo ip link set eth0.20 master br-vlan


Назначьте IP-адрес мосту:

sudo ip addr add 192.168.30.1/24 dev br-vlan  
sudo ip link set br-vlan up


5️⃣ Удаление VLAN

Чтобы удалить VLAN-интерфейс:

sudo ip link delete eth0.10  
sudo ip link delete eth0.20


Теперь ваш сервер поддерживает две изолированные VLAN. Это полезно для разделения трафика между службами или пользователями.

И используйте конфигурационные файлы (например, в /etc/netplan или /etc/sysconfig/network-scripts), чтобы сделать настройки постоянными после перезагрузки.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥15👍101
👍51
Что такое SR-IOV и зачем это нужно

SR-IOV (Single Root Input/Output Virtualization) — технология аппаратной виртуализации ввода-вывода, позволяющая нескольким виртуальным машинам напрямую использовать одну физическую сетевую карту.

Это достигается за счёт разделения сетевой карты на физическую функцию (PF) и виртуальные функции (VF).


PF (Physical Function): основной интерфейс для управления устройством. Он отвечает за настройку SR-IOV.
VF (Virtual Function): выделенные виртуальные интерфейсы, которые подключаются к виртуальным машинам, обеспечивая минимальные задержки и высокую скорость.

Зачем использовать SR-IOV?
1️⃣Разгрузка гипервизора: виртуальные машины работают с сетью напрямую, снижая нагрузку на центральный процессор.
2️⃣ Оптимизация ресурсов: обеспечивает баланс между производительностью и количеством виртуальных машин.
3️⃣ Повышение безопасности: изоляция VF снижает риск вмешательства одной ВМ в работу другой.

Пример использования

В среде виртуализации с высокой сетевой нагрузкой (например, для финансовых транзакций) SR-IOV позволяет:

Включить поддержку SR-IOV на физической сетевой карте через настройки гипервизора.
Выделить несколько VF для виртуальных машин.
Настроить PF для управления и мониторинга.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥31
💬 Вопрос на собеседовании для DevOps-инженера

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


Вопрос: Что такое “Continuous Integration” (CI) и как оно помогает в DevOps?

Ответ: Continuous Integration (CI) — это практика регулярного объединения кода в основную ветку с автоматическим тестированием и сборкой.

1️⃣Автоматизация сборки: Каждый коммит автоматически проверяется и собирается, что позволяет быстро обнаружить ошибки.
2️⃣ Повышение качества кода: Автоматическое тестирование помогает выявить баги на ранней стадии.
3️⃣ Быстрая доставка: CI помогает ускорить процесс развертывания и интеграции новых функций.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1221
Мониторинг сети с помощью sFlow

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

Его основное преимущество — минимальная нагрузка на устройство благодаря выборочному сбору данных.

Как работает sFlow

Агент sFlow: встроен в сетевое устройство и собирает выборки пакетов.
Коллектор: сервер, принимающий выборки и анализирующий данные.
Выборки: небольшие фрагменты трафика передаются на коллектор для анализа.

Настройка sFlow на коммутаторе

1️⃣Включение агента sFlow

На устройствах Cisco:

sflow enable  


На устройствах HPE/Aruba:

sflow 1 sampling 1000  
sflow 1 destination 192.168.1.2 6343


2️⃣ Настройка параметров

Cisco: Установите IP-адрес агента (IP устройства):

sflow agent-ip 192.168.1.1  


Укажите частоту выборок:

sflow sampling-rate 1000  


Настройте интервал опроса счётчиков:

sflow polling-interval 30  


Укажите IP и порт коллектора:

sflow collector-ip 192.168.1.2 6343  


3️⃣ Проверка и мониторинг

Проверьте текущую конфигурацию:

show sflow  


На HPE:

show sflow agent  


Убедитесь, что данные отправляются на коллектор. Для анализа можно использовать инструменты, такие как sFlowTrend или ntopng.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
Есть такое?)
😁21👀5👍4
Реплики и согласованность в распределённых системах

Репликация — это процесс создания копий данных между узлами в распределённой системе для повышения отказоустойчивости, масштабируемости и доступности.

Системные администраторы часто сталкиваются с задачами настройки и управления репликами, особенно в масштабируемых системах, таких как Cassandra, Kafka или Redis.


Модели репликации

1. Синхронная репликация
Данные подтверждаются только после записи на все узлы.
Плюсы: строгая консистентность.
Минусы: высокая задержка, проблемы с доступностью при сбоях.
Пример: финансовые системы, где важна точность данных.

2. Асинхронная репликация
Данные записываются на один узел, а потом синхронизируются с остальными.
Плюсы: высокая доступность, быстрая обработка запросов.
Минусы: возможны временные несоответствия данных.
Пример: географически распределённые системы, CDN.

Настройка репликации в MongoDB

1️⃣Создайте репликационный набор:

rs.initiate(
{
_id: "myReplicaSet",
members: [
{ _id: 0, host: "node1:27017" },
{ _id: 1, host: "node2:27017" },
{ _id: 2, host: "node3:27017" }
]
}
)


2️⃣ Проверьте статус репликации:

rs.status()


Настройка консистентности в Kafka

1️⃣Установите минимальное количество реплик, которые должны подтвердить запись:

min.insync.replicas=2


2️⃣ Гарантируйте консистентность для записи:

acks=all
Please open Telegram to view this post
VIEW IN TELEGRAM
👍91
💬Вопрос на собеседовании для сисадмина

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

Вопрос: Что такое DNS-записи и какие их типы?

Ответ: DNS-записи — это данные, которые связывают доменные имена с различной информацией, такой как IP-адреса или почтовые серверы.

1️⃣Типы DNS-записей:
A: Соединяет домен с IPv4-адресом.
AAAA: Соединяет домен с IPv6-адресом.
CNAME: Создает псевдоним для домена.
MX: Указывает почтовый сервер.
NS: Указывает серверы, управляющие доменом.
TXT: Хранит текстовую информацию, например, для проверки подлинности.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍212
Какой инструмент используется для поиска утечек памяти в программе на Linux?
Anonymous Quiz
36%
strace
14%
valgrind
13%
gdb
38%
top
👍10
Команда ionice — Управление приоритетами ввода-вывода

Команда ionice позволяет управлять приоритетом операций ввода-вывода (I/O) для процессов в Linux.

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

Зачем использовать ionice?

1️⃣Устранение конфликтов:
Вы можете снизить влияние ресурсоемких процессов на более важные задачи.
2️⃣Оптимизация производительности:
Используется для повышения скорости критически важных операций, таких как базы данных или резервное копирование.
3️⃣ Контроль ресурсов:
Администратор может задать точные правила, определяя, какой процесс и с каким приоритетом будет работать с диском.

Основные классы приоритетов

ionice работает с тремя классами:
Idle (Класс 3):
Процесс выполняет операции ввода-вывода только тогда, когда диск не занят другими задачами.
Best-effort (Класс 2, значение по умолчанию):
I/O операции выполняются с указанным приоритетом (от 0 — самый высокий, до 7 — самый низкий).
Realtime (Класс 1):
Процесс получает доступ к диску немедленно, игнорируя другие задачи. Использовать с осторожностью!

Примеры использования
1️⃣Установить минимальный приоритет для резервного копирования:
Если вы запускаете резервное копирование с помощью rsync и не хотите, чтобы оно замедляло сервер:

ionice -c3 rsync -a /source /destination


2️⃣ Проверить текущий приоритет процесса:
Для процесса с PID 1234:

ionice -p 1234


Вывод покажет текущий класс и приоритет процесса.

3️⃣Установить высокий приоритет для базы данных: Если нужно ускорить работу MySQL:

ionice -c1 -p $(pgrep mysqld)


4️⃣ Запуск ресурсоемкого скрипта с низким приоритетом:
Для минимизации влияния скрипта на другие задачи:

ionice -c2 -n7 ./heavy_script.sh
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥2
Microsoft создаёт AI Shell для командной строки Windows 11

Microsoft завершила тестирование новой интерактивной оболочки AI Shell, которая интегрирует возможности искусственного интеллекта непосредственно в Windows PowerShell.

Этот инструмент позволяет пользователям формулировать запросы на естественном языке, а ИИ преобразует их в соответствующие команды.


Пример использования AI Shell: запрос о отображении списка файлов на компьютере больше 200 МБ, который после нескольких уточнений ИИ преобразовал в подходящую команду.

AI Shell также обладает функцией генерации кода.

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

На данный момент оболочка поддерживает два ИИ-инструмента: Azure OpenAI и Copilot. 


Однако пользователи могут добавлять и другие инструменты, что открывает возможности для выбора наиболее подходящей модели для конкретных задач.
👍12