Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать.
mkfs.ext4 -i 2048 /dev/sdX
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8😁3❤2🔥2
Использование и мониторинг cgroups v2
В предыдущем посте я создал группу ограничений и задал базовые лимиты для использования CPU и памяти.
Теперь разберёмся, как применять эти настройки к процессам и отслеживать их выполнение.
4️⃣ Добавление процессов в группу
Получите PID нужного процесса:
Перенесите процесс в группу:
Пример:
5️⃣ Мониторинг использования ресурсов
Просмотрите статистику использования CPU:
Отследите текущий объём используемой памяти:
Проверьте логи для диагностики ошибок:
Пример: Ограничение тестовой нагрузки
Установите утилиту stress для создания нагрузки:
Запустите её с нагрузкой на два ядра:
Перенесите процесс stress в группу ограничений:
В предыдущем посте я создал группу ограничений и задал базовые лимиты для использования CPU и памяти.
Теперь разберёмся, как применять эти настройки к процессам и отслеживать их выполнение.
Получите PID нужного процесса:
pgrep <process_name>
Перенесите процесс в группу:
echo <PID> > /sys/fs/cgroup/test_group/cgroup.procs
Пример:
echo 1234 > /sys/fs/cgroup/test_group/cgroup.procs
Просмотрите статистику использования 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👍2❤1
Please open Telegram to view this post
VIEW IN TELEGRAM
👏25👍8😭5😁3
Трафик YouTube в РФ упал до 20% от нормального состояния
Согласно данным Google и профильных экспертов, 23 декабря 2024 года трафик YouTube в России снизился до 20% от среднего уровня, фиксировавшегося до августа.
Проблемы затрагивают как мобильные, так и проводные сети всех основных операторов связи, включая МТС, «МегаФон», Т2 и «Билайн».
Представитель Google заявил, что проблемы с доступом не связаны с техническими сбоями на стороне компании.
Одновременно «Ростелеком» утверждает, что не ограничивал работу сервиса, но связывает деградацию с устареванием серверов Google Global Cache (GGC), которые не обновлялись более трёх лет.
Роскомнадзор, в свою очередь, обвинил YouTube в «неуважении к нашей стране» и напомнил, что Google прекратил обслуживание кэширующих серверов в России.
При этом на серверах Google в Нидерландах зафиксирован рост трафика, что может быть связано с перенаправлением запросов пользователей из России.
Согласно данным 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.рф
Отечественная замена популярных зарубежных программ (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.
Проверьте, что он установлен:
2️⃣ Настройка VLAN
Создайте VLAN-интерфейсы
С помощью команды ip link создадим виртуальные интерфейсы для VLAN 10 и VLAN 20:
Назначьте IP-адреса VLAN-интерфейсам
Включите интерфейсы
3️⃣ Проверка конфигурации
Проверьте, что интерфейсы созданы и включены:
Вы должны увидеть интерфейсы eth0.10 и eth0.20, связанные с eth0.
4️⃣ (Опционально) Настройка VLAN-мостов
Если требуется подключить несколько VLAN к мосту (например, для виртуализации):
Создайте мост:
Добавьте VLAN к мосту:
Назначьте IP-адрес мосту:
5️⃣ Удаление VLAN
Чтобы удалить VLAN-интерфейс:
Теперь ваш сервер поддерживает две изолированные VLAN. Это полезно для разделения трафика между службами или пользователями.
И используйте конфигурационные файлы (например, в /etc/netplan или /etc/sysconfig/network-scripts), чтобы сделать настройки постоянными после перезагрузки.
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.
В современных дистрибутивах утилиты ip и bridge уже включены в состав пакета iproute2.
Проверьте, что он установлен:
sudo apt install iproute2 # Для Debian/Ubuntu
sudo yum install iproute # Для CentOS/RHEL
Создайте 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
Проверьте, что интерфейсы созданы и включены:
ip -d link show
Вы должны увидеть интерфейсы eth0.10 и eth0.20, связанные с eth0.
Если требуется подключить несколько 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
Чтобы удалить 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👍10❤1
Какой механизм SELinux отвечает за проверку доступа процессов к ресурсам системы?
Anonymous Quiz
37%
Мандатное управление доступом (MAC)
23%
Дискреционное управление доступом (DAC)
28%
Ролевая модель доступа (RBAC)
12%
Контроль целостности (IMA)
👍5❤1
Что такое SR-IOV и зачем это нужно
SR-IOV (Single Root Input/Output Virtualization) — технология аппаратной виртуализации ввода-вывода, позволяющая нескольким виртуальным машинам напрямую использовать одну физическую сетевую карту.
⏺ PF (Physical Function): основной интерфейс для управления устройством. Он отвечает за настройку SR-IOV.
⏺ VF (Virtual Function): выделенные виртуальные интерфейсы, которые подключаются к виртуальным машинам, обеспечивая минимальные задержки и высокую скорость.
Зачем использовать SR-IOV?
1️⃣ Разгрузка гипервизора: виртуальные машины работают с сетью напрямую, снижая нагрузку на центральный процессор.
2️⃣ Оптимизация ресурсов: обеспечивает баланс между производительностью и количеством виртуальных машин.
3️⃣ Повышение безопасности: изоляция VF снижает риск вмешательства одной ВМ в работу другой.
Пример использования
В среде виртуализации с высокой сетевой нагрузкой (например, для финансовых транзакций) SR-IOV позволяет:
• Включить поддержку SR-IOV на физической сетевой карте через настройки гипервизора.
• Выделить несколько VF для виртуальных машин.
• Настроить PF для управления и мониторинга.
SR-IOV (Single Root Input/Output Virtualization) — технология аппаратной виртуализации ввода-вывода, позволяющая нескольким виртуальным машинам напрямую использовать одну физическую сетевую карту.
Это достигается за счёт разделения сетевой карты на физическую функцию (PF) и виртуальные функции (VF).
Зачем использовать SR-IOV?
Пример использования
В среде виртуализации с высокой сетевой нагрузкой (например, для финансовых транзакций) SR-IOV позволяет:
• Включить поддержку SR-IOV на физической сетевой карте через настройки гипервизора.
• Выделить несколько VF для виртуальных машин.
• Настроить PF для управления и мониторинга.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥3❤1
Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤2⚡1
Мониторинг сети с помощью sFlow
sFlow — это протокол мониторинга сети, который позволяет администраторам получать выборочные данные о трафике в реальном времени.
Его основное преимущество — минимальная нагрузка на устройство благодаря выборочному сбору данных.
Как работает sFlow
• Агент sFlow: встроен в сетевое устройство и собирает выборки пакетов.
• Коллектор: сервер, принимающий выборки и анализирующий данные.
• Выборки: небольшие фрагменты трафика передаются на коллектор для анализа.
Настройка sFlow на коммутаторе
1️⃣ Включение агента sFlow
На устройствах Cisco:
На устройствах HPE/Aruba:
2️⃣ Настройка параметров
Cisco: Установите IP-адрес агента (IP устройства):
Укажите частоту выборок:
Настройте интервал опроса счётчиков:
Укажите IP и порт коллектора:
3️⃣ Проверка и мониторинг
Проверьте текущую конфигурацию:
На HPE:
Убедитесь, что данные отправляются на коллектор. Для анализа можно использовать инструменты, такие как sFlowTrend или ntopng.
sFlow — это протокол мониторинга сети, который позволяет администраторам получать выборочные данные о трафике в реальном времени.
Его основное преимущество — минимальная нагрузка на устройство благодаря выборочному сбору данных.
Как работает sFlow
• Агент sFlow: встроен в сетевое устройство и собирает выборки пакетов.
• Коллектор: сервер, принимающий выборки и анализирующий данные.
• Выборки: небольшие фрагменты трафика передаются на коллектор для анализа.
Настройка sFlow на коммутаторе
На устройствах Cisco:
sflow enable
На устройствах HPE/Aruba:
sflow 1 sampling 1000
sflow 1 destination 192.168.1.2 6343
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
Проверьте текущую конфигурацию:
show sflow
На HPE:
show sflow agent
Убедитесь, что данные отправляются на коллектор. Для анализа можно использовать инструменты, такие как sFlowTrend или ntopng.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
Реплики и согласованность в распределённых системах
Репликация — это процесс создания копий данных между узлами в распределённой системе для повышения отказоустойчивости, масштабируемости и доступности.
Модели репликации
1. Синхронная репликация
⏺ Данные подтверждаются только после записи на все узлы.
⏺ Плюсы: строгая консистентность.
⏺ Минусы: высокая задержка, проблемы с доступностью при сбоях.
⏺ Пример: финансовые системы, где важна точность данных.
2. Асинхронная репликация
⏺ Данные записываются на один узел, а потом синхронизируются с остальными.
⏺ Плюсы: высокая доступность, быстрая обработка запросов.
⏺ Минусы: возможны временные несоответствия данных.
⏺ Пример: географически распределённые системы, CDN.
Настройка репликации в MongoDB
1️⃣ Создайте репликационный набор:
2️⃣ Проверьте статус репликации:
Настройка консистентности в Kafka
1️⃣ Установите минимальное количество реплик, которые должны подтвердить запись:
2️⃣ Гарантируйте консистентность для записи:
Репликация — это процесс создания копий данных между узлами в распределённой системе для повышения отказоустойчивости, масштабируемости и доступности.
Системные администраторы часто сталкиваются с задачами настройки и управления репликами, особенно в масштабируемых системах, таких как Cassandra, Kafka или Redis.
Модели репликации
1. Синхронная репликация
2. Асинхронная репликация
Настройка репликации в MongoDB
rs.initiate(
{
_id: "myReplicaSet",
members: [
{ _id: 0, host: "node1:27017" },
{ _id: 1, host: "node2:27017" },
{ _id: 2, host: "node3:27017" }
]
}
)
rs.status()
Настройка консистентности в Kafka
min.insync.replicas=2
acks=all
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤1
Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать.
• A: Соединяет домен с IPv4-адресом.
• AAAA: Соединяет домен с IPv6-адресом.
• CNAME: Создает псевдоним для домена.
• MX: Указывает почтовый сервер.
• NS: Указывает серверы, управляющие доменом.
• TXT: Хранит текстовую информацию, например, для проверки подлинности.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21❤2
Какой инструмент используется для поиска утечек памяти в программе на 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 и не хотите, чтобы оно замедляло сервер:
2️⃣ Проверить текущий приоритет процесса:
Для процесса с PID 1234:
Вывод покажет текущий класс и приоритет процесса.
3️⃣ Установить высокий приоритет для базы данных: Если нужно ускорить работу MySQL:
4️⃣ Запуск ресурсоемкого скрипта с низким приоритетом:
Для минимизации влияния скрипта на другие задачи:
Команда ionice позволяет управлять приоритетом операций ввода-вывода (I/O) для процессов в Linux.
Это полезно для оптимизации использования дисковых ресурсов, особенно на серверах с высокой нагрузкой, где конкурируют множество процессов.
Зачем использовать ionice?
Вы можете снизить влияние ресурсоемких процессов на более важные задачи.
Используется для повышения скорости критически важных операций, таких как базы данных или резервное копирование.
Администратор может задать точные правила, определяя, какой процесс и с каким приоритетом будет работать с диском.
Основные классы приоритетов
ionice работает с тремя классами:
• Idle (Класс 3):
Процесс выполняет операции ввода-вывода только тогда, когда диск не занят другими задачами.
• Best-effort (Класс 2, значение по умолчанию):
I/O операции выполняются с указанным приоритетом (от 0 — самый высокий, до 7 — самый низкий).
• Realtime (Класс 1):
Процесс получает доступ к диску немедленно, игнорируя другие задачи. Использовать с осторожностью!
Примеры использования
Если вы запускаете резервное копирование с помощью rsync и не хотите, чтобы оно замедляло сервер:
ionice -c3 rsync -a /source /destination
Для процесса с PID 1234:
ionice -p 1234
Вывод покажет текущий класс и приоритет процесса.
ionice -c1 -p $(pgrep mysqld)
Для минимизации влияния скрипта на другие задачи:
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, что упрощает разработку и автоматизирует рутинные задачи. Сгенерированный код в тестах работал корректно.
Однако пользователи могут добавлять и другие инструменты, что открывает возможности для выбора наиболее подходящей модели для конкретных задач.
Microsoft завершила тестирование новой интерактивной оболочки AI Shell, которая интегрирует возможности искусственного интеллекта непосредственно в Windows PowerShell.
Этот инструмент позволяет пользователям формулировать запросы на естественном языке, а ИИ преобразует их в соответствующие команды.
Пример использования AI Shell: запрос о отображении списка файлов на компьютере больше 200 МБ, который после нескольких уточнений ИИ преобразовал в подходящую команду.
AI Shell также обладает функцией генерации кода.
Тесты показали, что ИИ может создавать простые программы, такие как калькулятор на Python, что упрощает разработку и автоматизирует рутинные задачи. Сгенерированный код в тестах работал корректно.
На данный момент оболочка поддерживает два ИИ-инструмента: Azure OpenAI и Copilot.
Однако пользователи могут добавлять и другие инструменты, что открывает возможности для выбора наиболее подходящей модели для конкретных задач.
👍12