XanMod — оптимизированная сборка ядра Linux для Debian/Ubuntu. На серверах-нодах его ставят ради встроенного TCP BBRv3 (Google) и обработки tcp_collapse от Cloudflare — это заметно поднимает пропускную способность и снижает задержки на прокси-трафике под нагрузкой.
Зачем это нужно
Стоковое ядро Debian/Ubuntu использует CUBIC. BBRv3 даёт более высокую и стабильную скорость на каналах с потерями пакетов и большим RTT — типичная ситуация для зарубежных нод.
Что даёт ядро
- BBRv3 — встроен (
tcp_bbr), включается без сборки модулей - Обработка
tcp_collapseот Cloudflare для высокой пропускной способности - Оптимизации планировщика, поддержка
sched_ext(SCX) - Свежие версии ядра (LTS и MAIN) с регулярными обновлениями
Установка
Шаг 1: Определите уровень psABI процессора
wget -qO - https://dl.xanmod.org/check_x86-64_psabi.sh | awk -f -Скрипт выведет x86-64-v2, v3 или v4. Бери максимальный поддерживаемый уровень — пакеты x64v3/x64v4 собраны с оптимизациями под современные CPU.
Шаг 2: Добавьте GPG-ключ
wget -qO - https://dl.xanmod.org/archive.key \
| sudo gpg --dearmor -o /usr/share/keyrings/xanmod-archive-keyring.gpgШаг 3: Добавьте репозиторий
echo "deb [signed-by=/usr/share/keyrings/xanmod-archive-keyring.gpg] http://deb.xanmod.org $(lsb_release -sc) main" \
| sudo tee /etc/apt/sources.list.d/xanmod-release.listШаг 4: Установите LTS-ядро
Подставь уровень psABI из шага 1 (например 3):
sudo apt update
sudo apt install linux-xanmod-lts-x64v3Варианты ядра
linux-xanmod-lts-x64vN— LTS, рекомендуется для серверов (стабильность)linux-xanmod-x64vN— MAIN, свежая веткаlinux-xanmod-rt-x64vN— RT (PREEMPT_RT), для спецзадач
Для серверов-нод используйте LTS.
Шаг 5: Перезагрузите сервер
sudo rebootПроверка
После перезагрузки убедитесь, что ядро XanMod запущено:
uname -r
# пример: 6.18.x-x64v3-xanmod1Проверьте, что BBRv3 доступен и включите его (см. ниже про sysctl):
modinfo tcp_bbr | head -3Включение BBR (sysctl)
Установка ядра не включает BBR автоматически — нужно задать congestion control через sysctl. В remna-ansible это делает роль sysctl. Вручную:
cat <<'EOF' | sudo tee /etc/sysctl.d/99-bbr.conf
net.core.default_qdisc = fq
net.ipv4.tcp_congestion_control = bbr
EOF
sudo sysctl --systemПроверка:
sysctl net.ipv4.tcp_congestion_control
# net.ipv4.tcp_congestion_control = bbr
sysctl net.ipv4.tcp_available_congestion_control
# должно содержать bbrBBRv3 vs BBR
В XanMod ядре tcp_bbr — это уже BBRv3. Отдельного значения bbr3 для sysctl нет: указываем bbr, версию определяет ядро.
Откат
Если нужно вернуться на стоковое ядро:
# Посмотреть установленные ядра
dpkg --list | grep linux-image
# Удалить XanMod-пакет
sudo apt remove 'linux-xanmod-lts-x64v*'
sudo update-grub
sudo rebootПосле перезагрузки выберите штатное ядро Debian/Ubuntu в GRUB.
Ядро XanMod