Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать.
Основные возможности:
— Наложение слоев: изменения записываются только в upperdir, а чтение происходит сначала из него, затем из lowerdir.
— Эффективность: экономия дискового пространства за счёт разделения слоёв и уменьшения количества копий.
— Применение: используется в Docker для организации copy-on-write хранилищ, а также в live-системах и сборках образов.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤3
Готовитесь к собеседованию в IT-компанию? 👀
Скачайте курс-гайд «Алгоритмы: roadmap для работы и собеседований» бесплатно.
👉 Готовый план подготовки: алгоритмы, вопросы и советы от эксперта, практика и доп. литература.
Скачать курс-гайд бесплатно через бота ➡️ по ссылке
Скачайте курс-гайд «Алгоритмы: roadmap для работы и собеседований» бесплатно.
👉 Готовый план подготовки: алгоритмы, вопросы и советы от эксперта, практика и доп. литература.
Скачать курс-гайд бесплатно через бота ➡️ по ссылке
👍1
Изоляция окружения без root: Mount namespaces и unshare
Используя Linux namespaces и unshare, можно запускать процессы в изолированных файловых средах — удобно для тестов, CI, экспериментов с пакетами или конфигурациями.
Что такое mount namespace?
Это изоляция файловой системы: процесс видит только свои монтирования и не влияет на другие процессы.
Даже без root-прав можно поднять временное окружение и работать «внутри», не затрагивая хост-систему.
Пример:
Теперь вы внутри своего namespace, но пока общая файловая система. Добавим chroot-подобную изоляцию:
Что это даёт?
• Тест конфигураций без риска для системы
• Мини-среда без виртуализации
• Контейнеризация «на коленке» без Docker
• Повышенная безопасность: ограничение доступа к файловой системе
Нужна песочница без Docker и без прав root?
Используя Linux namespaces и unshare, можно запускать процессы в изолированных файловых средах — удобно для тестов, CI, экспериментов с пакетами или конфигурациями.
Что такое mount namespace?
Это изоляция файловой системы: процесс видит только свои монтирования и не влияет на другие процессы.
Даже без root-прав можно поднять временное окружение и работать «внутри», не затрагивая хост-систему.
Пример:
mkdir ~/sandbox
cp /bin/bash ~/sandbox/
unshare --mount --uts --ipc --net --pid --fork --user --map-root-user bash
Теперь вы внутри своего namespace, но пока общая файловая система. Добавим chroot-подобную изоляцию:
mount --bind ~/sandbox ~/sandbox
cd ~/sandbox
pivot_root . .
exec chroot . /bash
Что это даёт?
• Тест конфигураций без риска для системы
• Мини-среда без виртуализации
• Контейнеризация «на коленке» без Docker
• Повышенная безопасность: ограничение доступа к файловой системе
👍14❤2🤔1
✅ 21 курс по цене одного с подпиской на курсы Слёрма.
Kubernetes, Docker, Postgres, Gitlab, Terraform, Golang, Python и многое другое.
Экономия до 90%.
Гибкий график, обратная связь, поддержка от спикеров – всё, что нужно для интенсивного и эффективного обучения.
Выбрать тариф и узнать подробности ➡️ по ссылке
Kubernetes, Docker, Postgres, Gitlab, Terraform, Golang, Python и многое другое.
Экономия до 90%.
Гибкий график, обратная связь, поддержка от спикеров – всё, что нужно для интенсивного и эффективного обучения.
Выбрать тариф и узнать подробности ➡️ по ссылке
👍1
Что делает параметр fs.protected_hardlinks = 1 в sysctl?
Anonymous Quiz
28%
Запрещает создание всех жёстких ссылок
16%
Разрешает создавать жёсткие ссылки только на исполняемые файлы
35%
Защищает от атак повышения привилегий через жёсткие ссылки
21%
Блокирует жёсткие ссылки на файлы владельца root
👍12❤1
HIGGS — новый open-source метод сжатия LLM от Яндекса и научных партнёров
Исследователи из Yandex Research, ВШЭ, MIT, KAUST и ISTA представили HIGGS — способ квантизации больших языковых моделей без потери качества.
Метод уже доказал свою эффективность на DeepSeek R1 (671B параметров) и Llama 4 Maverick (400B), позволяя запускать их на более доступных устройствах.
Что делает HIGGS:
⏺ Уменьшает размер модели без дообучения
⏺ Работает даже без доступа к обучающим данным
⏺ Лучше GPTQ и AWQ в диапазоне 2–4 бит
⏺ Уже проверен на Llama 3, Llama 4, Qwen2.5
Доступно на:
• GitHub
• Hugging Face
• arXiv (научная статья принята на NAACL 2025)
HIGGS делает LLM доступнее не только для корпораций, но и для независимых разработчиков и лабораторий.
Исследователи из Yandex Research, ВШЭ, MIT, KAUST и ISTA представили HIGGS — способ квантизации больших языковых моделей без потери качества.
Метод уже доказал свою эффективность на DeepSeek R1 (671B параметров) и Llama 4 Maverick (400B), позволяя запускать их на более доступных устройствах.
Что делает HIGGS:
Доступно на:
• GitHub
• Hugging Face
• arXiv (научная статья принята на NAACL 2025)
HIGGS делает LLM доступнее не только для корпораций, но и для независимых разработчиков и лабораторий.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥2
tmpfs и zram: ускоряем систему или забиваем оперативку впустую?
RAM-диски — это круто, пока они не начинают мешать.
tmpfs и zram дают разные преимущества, и использовать их надо с пониманием.
tmpfs: максимально быстро, но без компромиссов
Пишет напрямую в оперативную память. Отлично подходит для:
– /tmp на десктопе
– Сборок в CI
– Хранения промежуточных логов, сокетов, lock-файлов
Монтирование:
Или прописать в fstab:
Ошибка №1: tmpfs в /tmp на 512M в системе с 1ГБ RAM — и скрипт сборки падает с ENOSPC. Лучше:
zram: компромиссы — компрессией
Создаёт блочное устройство в RAM с on-the-fly сжатием. Применяется:
– Как swap на слабых системах
– Для кэша journald
– Для контейнеров в Kubernetes с ограниченной RAM
Пример настройки swap:
Плюсы:
– Можно выжать до 2–2.5x RAM (особенно с текстовыми данными)
– Не убивает SSD
– Работает с приоритетом (можно сделать swapfile + zram)
Ошибка №2: Использовать zram как swap на сервере с heavy-load БД. Это не замена оперативке, это аварийный буфер.
Компрессия имеет цену
Для более точной настройки swap с zram — используйте systemd-zram-generator или zram-tools.
Пример конфига для zram-generator.conf:
RAM-диски — это круто, пока они не начинают мешать.
tmpfs и zram дают разные преимущества, и использовать их надо с пониманием.
tmpfs: максимально быстро, но без компромиссов
Пишет напрямую в оперативную память. Отлично подходит для:
– /tmp на десктопе
– Сборок в CI
– Хранения промежуточных логов, сокетов, lock-файлов
Монтирование:
mount -t tmpfs -o size=256M tmpfs /tmpfs
Или прописать в fstab:
tmpfs /var/cache/build tmpfs size=1G,mode=1777 0 0
Ошибка №1: tmpfs в /tmp на 512M в системе с 1ГБ RAM — и скрипт сборки падает с ENOSPC. Лучше:
mount -t tmpfs -o size=50% tmpfs /tmp
zram: компромиссы — компрессией
Создаёт блочное устройство в RAM с on-the-fly сжатием. Применяется:
– Как swap на слабых системах
– Для кэша journald
– Для контейнеров в Kubernetes с ограниченной RAM
Пример настройки swap:
modprobe zram
echo lz4 > /sys/block/zram0/comp_algorithm
echo 1G > /sys/block/zram0/disksize
mkswap /dev/zram0
swapon /dev/zram0
Плюсы:
– Можно выжать до 2–2.5x RAM (особенно с текстовыми данными)
– Не убивает SSD
– Работает с приоритетом (можно сделать swapfile + zram)
Ошибка №2: Использовать zram как swap на сервере с heavy-load БД. Это не замена оперативке, это аварийный буфер.
Компрессия имеет цену
Для более точной настройки swap с zram — используйте systemd-zram-generator или zram-tools.
Пример конфига для zram-generator.conf:
[zram0]
zram-size = ram / 3
compression-algorithm = zstd
swap-priority = 100
👍11
Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать.
Основные возможности:
— Сохранение состояния памяти, сокетов, дескрипторов, PID и даже TCP-соединений.
— Используется в live-миграции контейнеров (например, в Docker и LXC).
— Полезен для отказоустойчивости, быстрого запуска сервисов и отладки.
Пример:
criu dump -t <pid> --images-dir /tmp/checkpoint
criu restore --images-dir /tmp/checkpoint
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19🔥2
Мониторинг сети с помощью 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
👍11
🔥 ОТ ДЖУНА ДО СЕНЬЁРА ЗА 2 ГОДА — МОЙ ПУТЬ В IT.
Привет! Я сеньёр, который прошёл путь от джуна до эксперта за два года. И я делюсь с вами абсолютно всем, что узнал на этом пути. Всё, что работает, всё, что не сработало — и как я из этого сделал выводы.
💻 IT Sharks — это не просто канал с полезными советами. Это реальный опыт, который я прошёл, работая с крупнейшими проектами, получая оферы с зарплатами до 800.000₽ и сталкиваясь с падениями и взлётами.
На канале я делюсь всем этим опытом:
▪️Советы по карьерному росту — что я делал, чтобы попасть в большие компании, и как получать офферы с высокими зарплатами.
▪️Менторство до оффера — буду помогать вам, делиться инсайтами, чтобы вы могли сделать правильные шаги в своём пути.
▪️Процесс прохождения собеседований — лайфхаки, как пройти собеседование, переговоры, как не упасть в цене, и как не бояться ставить амбициозные цели.
Если я прошёл этот путь, то сможете и вы. Но я не буду обещать, что это будет легко. Это путь, который потребует усилий, но результат того стоит.
Подписывайтесь на канал, и я буду делиться с вами всеми фишками, которые помогли мне стать сеньёром.
Привет! Я сеньёр, который прошёл путь от джуна до эксперта за два года. И я делюсь с вами абсолютно всем, что узнал на этом пути. Всё, что работает, всё, что не сработало — и как я из этого сделал выводы.
💻 IT Sharks — это не просто канал с полезными советами. Это реальный опыт, который я прошёл, работая с крупнейшими проектами, получая оферы с зарплатами до 800.000₽ и сталкиваясь с падениями и взлётами.
На канале я делюсь всем этим опытом:
▪️Советы по карьерному росту — что я делал, чтобы попасть в большие компании, и как получать офферы с высокими зарплатами.
▪️Менторство до оффера — буду помогать вам, делиться инсайтами, чтобы вы могли сделать правильные шаги в своём пути.
▪️Процесс прохождения собеседований — лайфхаки, как пройти собеседование, переговоры, как не упасть в цене, и как не бояться ставить амбициозные цели.
Если я прошёл этот путь, то сможете и вы. Но я не буду обещать, что это будет легко. Это путь, который потребует усилий, но результат того стоит.
Подписывайтесь на канал, и я буду делиться с вами всеми фишками, которые помогли мне стать сеньёром.
👎9❤2👍2🔥1🌭1
Какой из параметров ядра отвечает за включение защиты от Spectre v2?
Anonymous Quiz
10%
noexec=on
38%
spec_store_bypass_disable=on
42%
nospectre_v2
10%
mitigations=auto
👍9
Angie 1.9.0 — форк Nginx от бывших разработчиков, теперь с 0-RTT и новым кэшем
Проект развивается как форк Nginx, уже получил сертификаты совместимости с российскими ОС и включён в реестр отечественного ПО. Angie распространяется по BSD-лицензии и активно развивается.
Что нового в Angie 1.9.0:
• proxy_cache_path теперь сохраняет индекс кэша между перезапусками — ускоряет восстановление.
• Поддержка ssl_early_data (0-RTT) в stream — клиент может слать данные до завершения TLS-рукопожатия.
• В acme_hook появился параметр uri= — можно переопределять путь до обработчика.
• В acme_client:
— renew_on_load — обновляет сертификат при перезагрузке конфига;
— enabled=off отключает обновление, но переменные остаются.
Вышел релиз Angie 1.9.0 — веб-сервера от команды бывших разработчиков Nginx и FreeBSD.
Проект развивается как форк Nginx, уже получил сертификаты совместимости с российскими ОС и включён в реестр отечественного ПО. Angie распространяется по BSD-лицензии и активно развивается.
Что нового в Angie 1.9.0:
• proxy_cache_path теперь сохраняет индекс кэша между перезапусками — ускоряет восстановление.
• Поддержка ssl_early_data (0-RTT) в stream — клиент может слать данные до завершения TLS-рукопожатия.
• В acme_hook появился параметр uri= — можно переопределять путь до обработчика.
• В acme_client:
— renew_on_load — обновляет сертификат при перезагрузке конфига;
— enabled=off отключает обновление, но переменные остаются.
👍16
Swap-файл vs swap-раздел: как влияет на SSD и работу в системах с малым ОЗУ
На слабых серверах и миниатюрных VPS наличие подкачки решает всё. Даже базовая установка apt без swap может закончиться «убийством» процессов через OOM-killer.
Что выбрать — swap-файл или swap-раздел?
Swap-раздел исторически считался более «надёжным» вариантом: он выделяется на физическом уровне и не фрагментируется. Но в реальности:
⏺ менять его размер сложно (особенно без LVM);
⏺ требует переформатирования или изменения разметки;
⏺ неудобен в облаках и на VPS.
Swap-файл — более гибкий и удобный. Особенно если:
⏺ вы работаете на облаке с единственным диском;
⏺ у вас ограниченное место;
⏺ нужно быстро изменить размер или выключить swap.
На современных ядрах swap-файл работает почти так же эффективно, как и раздел, особенно если создать его правильно.
Как правильно создать swap-файл
Не используйте dd — он может создать фрагментированный файл:
Вместо этого:
В fstab:
Дополнительные улучшения: zswap и zram
Чтобы продлить срок службы SSD и ускорить работу на слабых системах:
Zswap — сжатая подкачка в RAM. Включается одной командой:
Zram — компрессированный swap в памяти. Особенно эффективен на embedded и ARM-устройствах:
Настройка поведения подкачки
Чтобы система не бросалась в swap при любой нагрузке:
10–20 — хороший баланс: сначала используется RAM, и только потом swap.
На слабых серверах и миниатюрных VPS наличие подкачки решает всё. Даже базовая установка apt без swap может закончиться «убийством» процессов через OOM-killer.
Но что выбрать: swap-файл или swap-раздел? И главное — как сделать, чтобы не угробить SSD и не словить тормоза?
Что выбрать — swap-файл или swap-раздел?
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
👍22🔥2
Почему apt не чистит /var/cache/apt — и как это может убить ваш контейнер
На голом Ubuntu-бейзовом контейнере вы устанавливаете пару пакетов, а потом обнаруживаете, что образ раздулся на сотни мегабайт.
Причина почти всегда одна — автоматический кэш deb-пакетов, который apt сохраняет в /var/cache/apt/archives, но не торопится удалять.
Что происходит
При установке пакета:
apt скачивает .deb в /var/cache/apt/archives, а потом уже ставит. Но не удаляет их, если вы явно не вызвали:
или
Во многих минималистичных контейнерных сборках вы этого не делаете — и копите десятки мегабайт мусора при каждом apt install.
Почему это критично в контейнерах
⏺ Образы раздуваются — и занимают в 2–3 раза больше места, чем нужно.
⏺ Файловая система в overlayfs не освобождается даже если удалить файл вручную позже. Он всё равно останется в нижнем слое.
⏺ Контейнеры могут падать из-за переполнения ограниченного volume или rootfs (особенно в CI/CD).
Как это чинить правильно
Перед завершением сборки — чистите кэш:
или в Dockerfile:
Трюк с overlayfs
Если вы уже создали контейнер, в котором /var/cache/apt раздулся, а чистка не помогает — потому что это уже лежит в нижнем readonly-слое — можно:
1️⃣ Использовать docker export / import — сохранит только активный слой.
2️⃣ Пересобрать образ с clean’ом до commit.
3️⃣ Смонтировать внешний tmpfs в /var/cache/apt в рантайме:
На голом Ubuntu-бейзовом контейнере вы устанавливаете пару пакетов, а потом обнаруживаете, что образ раздулся на сотни мегабайт.
Причина почти всегда одна — автоматический кэш deb-пакетов, который apt сохраняет в /var/cache/apt/archives, но не торопится удалять.
Что происходит
При установке пакета:
apt install nginx
apt скачивает .deb в /var/cache/apt/archives, а потом уже ставит. Но не удаляет их, если вы явно не вызвали:
apt clean
или
apt autoclean
Во многих минималистичных контейнерных сборках вы этого не делаете — и копите десятки мегабайт мусора при каждом apt install.
Почему это критично в контейнерах
Как это чинить правильно
Перед завершением сборки — чистите кэш:
apt-get clean
rm -rf /var/lib/apt/lists/*
или в Dockerfile:
RUN apt update && apt install -y \
curl \
&& apt clean \
&& rm -rf /var/lib/apt/lists/*
Трюк с overlayfs
Если вы уже создали контейнер, в котором /var/cache/apt раздулся, а чистка не помогает — потому что это уже лежит в нижнем readonly-слое — можно:
mount -t tmpfs -o size=100m tmpfs /var/cache/apt
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17❤2🔥2
Тратите много времени на повторяющиеся SQL-запросы, выполняя рутинные задачи вручную?
На бесплатном вебинаре, который пройдет 22 апреля в 20:00, мы решим эту проблему и научим вас создавать и использовать хранимые процедуры для автоматизации процессов в SQL! https://otus.pw/sYDb/
Представьте, что вы можете автоматизировать эти задачи с помощью хранимых процедур в MS SQL Server и PostgreSQL, увеличив свою эфффективность. Больше не придется тратить на это лишние силы.
Записывайтесь на урок, получайте практические навыки, а также скидку на большое обучение «SQL для разработчиков и аналитиков»: https://otus.pw/sYDb/
erid: 2W5zFGp9d2g
На бесплатном вебинаре, который пройдет 22 апреля в 20:00, мы решим эту проблему и научим вас создавать и использовать хранимые процедуры для автоматизации процессов в SQL! https://otus.pw/sYDb/
Представьте, что вы можете автоматизировать эти задачи с помощью хранимых процедур в MS SQL Server и PostgreSQL, увеличив свою эфффективность. Больше не придется тратить на это лишние силы.
Записывайтесь на урок, получайте практические навыки, а также скидку на большое обучение «SQL для разработчиков и аналитиков»: https://otus.pw/sYDb/
erid: 2W5zFGp9d2g
👍1
Какой способ безопаснее всего для передачи переменных окружения в systemd unit?
Anonymous Quiz
21%
Использовать Environment= внутри unit-файла
12%
Экспортировать переменные в shell перед systemctl start
46%
Использовать EnvironmentFile= и ограничить права доступа к файлу
22%
Добавить переменные в /etc/environment
👍6🔥2
Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать.
Ключевые особенности:
— Изоляция через PID, mount, user и network namespaces.
— Интеграция с systemd: контейнер можно управлять как обычным сервисом.
— Поддержка journald и машинного журнала логов.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤3
MTU + TSO/GSO/UDP: когда jumbo frame ломает overlay-сеть
VxLAN, GENEVE и прочие overlay-технологии давно стали стандартом — но часто ломаются на ровном месте.
Что происходит
При использовании VxLAN поверх обычной сети каждый пакет получает дополнительный заголовок (VxLAN + UDP + IP), что увеличивает размер.
Если интерфейсы или туннельная прослойка не умеют в fragment/reassembly или MTU меньше ожидаемого, пакеты просто начинают теряться.
Особенно часто это бьёт по TCP SYN-ACK и UDP VoIP/QUIC.
Где это проявляется
• SSH зависает после ввода пароля
• веб-приложения внезапно «грузятся вечно»
• мониторинг теряет метрики
• nginx падает в 502 на старте TLS
• kubelet не подключается к apiserver через туннель
Как диагностировать
1️⃣ Проверить MTU на всех интерфейсах в цепочке:
2️⃣ Проверить наличие offload’ов:
3️⃣ Поймать разрыв через tcpdump — будут видны обрезанные пакеты или ICMP fragmentation needed (не всегда!):
4️⃣ Визуально ловить баги через ping -M do:
Как лечить
⏺ Убедитесь, что внутренний MTU на overlay-интерфейсах (vxlan0, flannel.1 и т.п.) занижен хотя бы на 50 байт.
⏺ Отключите GSO/TSO, если видите нестабильность:
⏺ Используйте sysctl для отключения Path MTU discovery в VxLAN:
⏺ Проверяйте наличие проблемных маршрутов:
VxLAN, GENEVE и прочие overlay-технологии давно стали стандартом — но часто ломаются на ровном месте.
Один из таких кейсов — «всё работает, кроме какого-то странного трафика, который висит/рвётся/отваливается без объяснения». Виновник — неправильное сочетание MTU, jumbo-фреймов и offload’ов.
Что происходит
При использовании VxLAN поверх обычной сети каждый пакет получает дополнительный заголовок (VxLAN + UDP + IP), что увеличивает размер.
Если интерфейсы или туннельная прослойка не умеют в fragment/reassembly или MTU меньше ожидаемого, пакеты просто начинают теряться.
Особенно часто это бьёт по TCP SYN-ACK и UDP VoIP/QUIC.
Где это проявляется
• SSH зависает после ввода пароля
• веб-приложения внезапно «грузятся вечно»
• мониторинг теряет метрики
• nginx падает в 502 на старте TLS
• kubelet не подключается к apiserver через туннель
Как диагностировать
ip link show dev eth0
ip link show dev vxlan0
ethtool -k eth0 | grep -E '(tso|gso|gro)'
tcpdump -i vxlan0 -n -s 0 -vvv
ping -s 8972 -M do <ip>
Как лечить
ethtool -K eth0 gso off tso off
sysctl -w net.ipv4.ip_no_pmtu_disc=1
ip route get <destination>
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥3