Почему виртуалки в KVM начинают лагать после миграции
Иногда мигрируешь VM на другой хост - всё «зелёное», CPU свободен, память есть… но виртуалка вдруг работает будто на тостере.
Теряются миллисекунды, проседает UI, базы дергаются.
Причина почти всегда одна - вместо железного CPU VM внезапно уезжает на софт-эмуляцию.
⏺ Что происходит: после миграции хост не может дать гостю ту же CPU-модель, что была раньше, и QEMU включает fallback на TCG - software emulation. А это сотни раз медленнее.
Как проверим:
Смотри на CPU-mode: если там qemu64 или что-то абстрактное вместо host-model, VM точно не использует реальные фичи процессора.
Иногда видно в логах:
⏺ Как пофиксить: На обоих хостах привести CPU-модель к единому виду: либо одинаковые процессоры, либо единая модель.
В конфиге VM выставить:
или (если железо 1-в-1)
Проверить, что включена аппаратная виртуализация:
Иногда мигрируешь VM на другой хост - всё «зелёное», CPU свободен, память есть… но виртуалка вдруг работает будто на тостере.
Теряются миллисекунды, проседает UI, базы дергаются.
Причина почти всегда одна - вместо железного CPU VM внезапно уезжает на софт-эмуляцию.
Как проверим:
virsh domcapabilities --domain <vm>
virsh dominfo <vm>
Смотри на CPU-mode: если там qemu64 или что-то абстрактное вместо host-model, VM точно не использует реальные фичи процессора.
Иногда видно в логах:
kvm: host doesn't support requested feature...
falling back to tcg
В конфиге VM выставить:
<cpu mode="host-model"/>
или (если железо 1-в-1)
<cpu mode="host-passthrough"/>
Проверить, что включена аппаратная виртуализация:
egrep -c '(vmx|svm)' /proc/cpuinfo
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤3
GitHub теперь в Telegram!
Самый прогерский канал, где за 10 минут ты научишься:
/ Пробив по фото и номеру в ТГ
// Как взломать вебку подруги
/// Мануал по OSINT разведке
Подписывайся, нас уже сотни тысяч: >@GitHub
Самый прогерский канал, где за 10 минут ты научишься:
/ Пробив по фото и номеру в ТГ
// Как взломать вебку подруги
/// Мануал по OSINT разведке
Подписывайся, нас уже сотни тысяч: >@GitHub
😁2❤1
Почему systemd-таймер срабатывает «внезапно»
Иногда кажется, что таймер живёт своей жизнью: вы ставите запуск на 03:00, а он внезапно стрельнул после загрузки сервера или вообще в другое время.
Что чаще всего ломает ожидания
1️⃣ Persistent=true
После перезагрузки systemd проверяет: «Было пропущено выполнение?».
Если да, то запускает задачу сразу. Поэтому «неожиданный» ранний старт - норма.
2️⃣ RandomizedDelaySec
Если включена рандомизация, systemd сам добавляет задержку к запуску. Нужно точное время - выключайте.
3️⃣ Разные часовые зоны
Таймер считает локальное время, сервис может работать в UTC.
Результат: старт «не по расписанию».
4️⃣ Логика OnCalendar
OnCalendar=03:00 - это «когда наступят ближайшие 03:00», а не «строго каждый день».
При изменении времени или зоны совпадение может пересчитаться.
Чем проверить
Что отключить/исправить
Иногда кажется, что таймер живёт своей жизнью: вы ставите запуск на 03:00, а он внезапно стрельнул после загрузки сервера или вообще в другое время.
На деле systemd просто делает ровно то, что вы ему сказали, но не всегда так, как вы ожидаете.
Что чаще всего ломает ожидания
После перезагрузки systemd проверяет: «Было пропущено выполнение?».
Если да, то запускает задачу сразу. Поэтому «неожиданный» ранний старт - норма.
Если включена рандомизация, systemd сам добавляет задержку к запуску. Нужно точное время - выключайте.
Таймер считает локальное время, сервис может работать в UTC.
Результат: старт «не по расписанию».
OnCalendar=03:00 - это «когда наступят ближайшие 03:00», а не «строго каждый день».
При изменении времени или зоны совпадение может пересчитаться.
Чем проверить
systemctl list-timers
systemctl status myjob.timer
journalctl -u myjob.timer
systemd-analyze calendar "*-*-* 03:00"
Что отключить/исправить
Persistent=false
RandomizedDelaySec=0
timedatectl
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥6
Наконец-то ребята из контейнерной платформы “Штурвал” прислушались к сообществу и сделали альтернативу бесячей форме на сайте для получения community-лицензии. Теперь ее можно получить через бота в телеге: @l4_helper_bot.
Может ещё и Open-Source-версию сделают?
Может ещё и Open-Source-версию сделают?
❤2
Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать.Зачем это важно:
• Улучшает интерактивность и снижает задержки для задач с низким временем отклика;
• Полезно в реальном времени и высокочувствительных системах;
• Однако включает дополнительные накладные расходы на переключение контекста, что может слегка снизить общую пропускную способность.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍3
Изоляция рунета ближе, чем ты думаешь
Каждый сталкивался с блокировками, а «белые списки» сайтов тестируют уже в десятках регионов. И гайки будут закручиваться только сильнее.
Чтобы в одночасье не лишиться доступа к Интернету, просто сохрани Only Hack.
Тут профессиональный хакер делится фишками, с которыми доступ к глобальной сети у тебя будет даже в случае ядерного апокалипсиса.
Не жди момента «Х». Перестрахуйся подпиской.
Loading …
██████████████] 99%
Каждый сталкивался с блокировками, а «белые списки» сайтов тестируют уже в десятках регионов. И гайки будут закручиваться только сильнее.
Чтобы в одночасье не лишиться доступа к Интернету, просто сохрани Only Hack.
Тут профессиональный хакер делится фишками, с которыми доступ к глобальной сети у тебя будет даже в случае ядерного апокалипсиса.
Не жди момента «Х». Перестрахуйся подпиской.
🤡5❤2👎2🔥1💊1
Что является ключевым признаком проблемы с файловой системой на сервере?
Anonymous Quiz
54%
Появление операций, переходящих в состояние D при обращении к диску
19%
Рост временных каталогов, созданных в пользовательской сессия
10%
Снижение производительности сервисов после обновления ядра
17%
Изменение размера swap во время интенсивных вычислений
🔥8❤5
Cloudflare раскрыла причину получасового глобального сбоя 5 декабря - ошибка в Lua
Во время инцидента примерно треть запросов через Cloudflare возвращалась с ошибкой 500. Причиной стало обновление WAF для блокировки уязвимости CVE-2025-55182.
Однако вызов execute для отключённого набора правил остался, что привело к аварийному завершению Lua-обработчика.
Проблему обнаружили и устранили через 25 минут. Сбой затронул клиентов на старых прокси FL1 с активным Cloudflare Managed Ruleset, но трафик в Китае и у других клиентов работал корректно.
Во время инцидента примерно треть запросов через Cloudflare возвращалась с ошибкой 500. Причиной стало обновление WAF для блокировки уязвимости CVE-2025-55182.
Инженеры изменили размер буфера для проверки трафика и отключили тестовый Lua-инструментарий через killswitch.
Однако вызов execute для отключённого набора правил остался, что привело к аварийному завершению Lua-обработчика.
Проблему обнаружили и устранили через 25 минут. Сбой затронул клиентов на старых прокси FL1 с активным Cloudflare Managed Ruleset, но трафик в Китае и у других клиентов работал корректно.
В Cloudflare отметили, что аналогичная ошибка не возникает в новом прокси FL2 на Rust.
❤8👍2😁1
Реальная история:
Дизайнерское агентство разработало интерфейс приложения в сервисе Figma, но из-за того, что карты Visa и Mastercard оказались заблокированы, не смогли выгрузить проект.
Потому что день самовыпиления платежек в России совпал с днём оплаты подписки.
Осложнялось всё тем, что они могли олатить сервис только с корпоративной карты.
Читпей организовали оплату в течение 10 минут. Ребята оплатили подписку, и выгрузили проект. Интерфейс приложения был спасён!
Что делает CheatPay:
Помогает оплатить зарубежные сервисы российскими картами, в том числе Visa и Mastercard.
Например:
Потеряли доступ к Zoom, Airtable, Atlassian, Canva и другим программам для управления IT-проектами? Простаивают проекты в Adobe Photoshop, Premiere Pro и After Effects? Другие сервисы? Помогут.
Обращаться в https://news.1rj.ru/str/cheatpay_ru
Дизайнерское агентство разработало интерфейс приложения в сервисе Figma, но из-за того, что карты Visa и Mastercard оказались заблокированы, не смогли выгрузить проект.
Потому что день самовыпиления платежек в России совпал с днём оплаты подписки.
Осложнялось всё тем, что они могли олатить сервис только с корпоративной карты.
Читпей организовали оплату в течение 10 минут. Ребята оплатили подписку, и выгрузили проект. Интерфейс приложения был спасён!
Что делает CheatPay:
Помогает оплатить зарубежные сервисы российскими картами, в том числе Visa и Mastercard.
Например:
Потеряли доступ к Zoom, Airtable, Atlassian, Canva и другим программам для управления IT-проектами? Простаивают проекты в Adobe Photoshop, Premiere Pro и After Effects? Другие сервисы? Помогут.
Обращаться в https://news.1rj.ru/str/cheatpay_ru
🗿3❤1👍1😁1
Почему Docker не видит локальную сеть
Иногда контейнеры вроде работают, но не могут достучаться до хоста или соседних машин. Часто причина не в Docker, а в сетевом стеке хоста.
1️⃣ Конфликт iptables: legacy vs nft
Если хост использует nftables, а Docker старые iptables, часть правил просто не применяется. NAT и bridge «живут в разных мирах», и контейнеры теряют связь с сетью.
2️⃣ NetworkManager перехватил мост
Иногда NM считает docker0 лишним и начинает управлять мостом, правила ломаются.
3️⃣ IPv4 forwarding выключен
Без него Docker не маршрутизирует пакеты наружу.
⚡ Быстрые исправления
Переключить iptables в правильный режим (чаще legacy):
Включить IPv4 forwarding:
Отключить управление docker0 в NetworkManager:
Создать /etc/NetworkManager/conf.d/docker.conf:
Иногда контейнеры вроде работают, но не могут достучаться до хоста или соседних машин. Часто причина не в Docker, а в сетевом стеке хоста.
Если хост использует nftables, а Docker старые iptables, часть правил просто не применяется. NAT и bridge «живут в разных мирах», и контейнеры теряют связь с сетью.
iptables -V
update-alternatives --config iptables
docker network inspect bridge
Иногда NM считает docker0 лишним и начинает управлять мостом, правила ломаются.
nmcli dev show | grep docker
Без него Docker не маршрутизирует пакеты наружу.
sysctl net.ipv4.ip_forward
Переключить iptables в правильный режим (чаще legacy):
sudo update-alternatives --config iptables
Включить IPv4 forwarding:
sudo sysctl -w net.ipv4.ip_forward=1
Отключить управление docker0 в NetworkManager:
Создать /etc/NetworkManager/conf.d/docker.conf:
[keyfile]
unmanaged-devices=interface-name:docker0
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍4
Как выбрать систему управления проектами и не пожалеть?
На российском рынке представлены сотни решений. Тонете в многообразии? Хотите, чтобы ИСУП приносила реальную пользу бизнесу и не пылилась без дела?
Подойдите к выбору с умом:
✅ проанализируйте текущую ситуацию и определите цели;
✅ сравните функциональные возможности;
✅ проведите тестирование на реальных задачах и соберите обратную связь пользователей.
В этом вам поможет подробный гайд от экспертов Directum Projects. Внутри — сравнительные таблицы, чек-листы и практические советы. Скачивайте, чтобы ничего не упустить.
🔥 Получить гайд
На российском рынке представлены сотни решений. Тонете в многообразии? Хотите, чтобы ИСУП приносила реальную пользу бизнесу и не пылилась без дела?
Подойдите к выбору с умом:
✅ проанализируйте текущую ситуацию и определите цели;
✅ сравните функциональные возможности;
✅ проведите тестирование на реальных задачах и соберите обратную связь пользователей.
В этом вам поможет подробный гайд от экспертов Directum Projects. Внутри — сравнительные таблицы, чек-листы и практические советы. Скачивайте, чтобы ничего не упустить.
🔥 Получить гайд
❤1😁1
Автоматический монт сетевых папок при старте: systemd .mount и .automount
Если сетевые диски нужно подключать при каждом старте системы — не обязательно лезть в /etc/fstab.
⏺ .mount — это юнит для постоянного монтирования. Его имя строится по пути к точке монтирования. Например, для /mnt/share файл будет называться:
Пример содержимого:
⏺ .automount — позволяет подключать ресурс только при обращении к нему. Это ускоряет загрузку, если сеть ещё не поднята.
Пример:
При первой попытке зайти в /mnt/share systemd автоматически поднимет mnt-share.mount.
Если сетевые диски нужно подключать при каждом старте системы — не обязательно лезть в /etc/fstab.
Современный способ — использовать systemd-юниты .mount и .automount.
mnt-share.mount
Пример содержимого:
[Unit]
Denoscription=Mount network share
[Mount]
What=//192.168.0.10/share
Where=/mnt/share
Type=cifs
Options=credentials=/etc/smb.cred,_netdev,vers=3.0
[Install]
WantedBy=multi-user.target
mnt-share.automount
Пример:
[Unit]
Denoscription=Automount network share
[Automount]
Where=/mnt/share
[Install]
WantedBy=multi-user.target
При первой попытке зайти в /mnt/share systemd автоматически поднимет mnt-share.mount.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤5