Есть небольшой гейм-проект. Все работает на 2-х железках от Hetzner, поверх ProxMox 5.2-12 и сверху KVM. С некоторого времени заметил что периодами подлагивает игра (в данном случае - Minecraft) и выкидывает меня или игроков.
Начал собирать стектрейсы из игры, вывело на коннект к БД (если что - пуллы есть, не каждый раз коннектит :)). Далее путем перебора вариантов выяснил что пропадает всякая связь между виртуалками с игрой и базой (mysql). Не отвечает даже ICMP. Пропадает не равномерно, на разные промежутки времени. Между этими машинами есть Mikrotik (делит сеть игровую и сеть БД). Погрешил на него, сделал между ними прямую сеть. Проблема осталась. Сменил OVS Bridge на Lonux Bridge (мало ли...) - аналогично
Повесил такой-же мониторинг на остальные связи (сайт-БД, zabbix-БД, zabbix-игра etc) и заметил что аналогичная проблема везде, даже на второй машине - так же пропадает связь между виртуалками.
В логах - чисто, кроме "netlink: 'ovs-vswitchd': attribute type 5 has an invalid length." в dmesg, но по времени не совпадает никак. Единственное что не пробовал - не перезагружал железку, буду сегодня пробовать. Правда ввиду проблемы на обеих серверах - слабо верится что поможет...
Искать зависимости. Пропадает связь между виртуалками только, или также и у виртуалок с внешним миром? На одном хосте крутится несколько виртуалок? И между ними (в пределах одного хоста) пропадает? Высокая загрузка CPU или IO в моменты пропадания (по идее - zabbix должен показать, раз он и так уже есть)?
Чтобы выследить глюки такого рода, надо собрать максимум статистической информации и уже из неё определить зависимости, причинно-следственные связи.
ТыжСисАдмин, исключаю. Сеть пропадает между виртуалками одного хоста. Проявляется на 2х хостах (т.е. проблема не хостозависима).
hint000, судя то тому что icmp не ходит на виртуалку - Вряд ли чтото может выйти наружу. Но на всякий повешу пинг на 8.8.8.8 для теста. Статистику по железу и сети смотрел в первую очередь - зависимости не увидел...
а на хосте при этом: (1) есть связь с внешним миром? (2) пингуются виртуалки с хоста или хост с виртуалок? или же виртуалки в отдельном VLAN и в принципе хоста не видят?
hint000, таки поймал некоторую зависимость.
У меня на хосте А расположен в частности Zabbix, а на B - игровые сервера (если что - пингую через fping с агентов, не серверный симплчек).
Одна из пинговалок сделана с одной из виртуалок хоста А на Zabbix (т.е. внутри хоста А). Обрывы происходят синхронно на обоих хостах.
Машины связаны микротами через ipip и поверх сделан ospf. Но я не представляю как это может влиять когда у меня есть варинты обрывов в пределах одной сети (2 виртуалки торчат в одну сеть)
hint000, да, нужен - машин больше чем 2. Как и связей. :)
Я изначально сам погрешил на сеть (и ее настройку), но:
а) В логах микротов чисто, ничто не перестраивалось
б) Рвет даже прямой коннект, т.е. без маршрутизации как таковой
hint000, на одной площадке 2 канала в мир, связь "каждый с каждым". Если вылетает одна из связей - OSPF дает отказоустойчивость, переключает маршруты и трафик "обходит" проблемную связь.
ТыжСисАдмин, hint000, найдена зависимость. Дисковые операции. Например если разворачивать бекап вирт.машины - сеть умирает пчти полностью. Попытался сделать стенд и повторить проблему на нем - не удалось, все работает как часики... На дисках смарты чисты...
У меня вот какая идея. Заранее прошу прощения, что она не техническая. Уже давно Прокс и текущая версия 5.0-30. Я не сталкивался с подобным, правда, не было связей между виртуалками. Все виртуалки работают по принципу: VM <--> realPC
Когда я выбирал Прокс, то так размышлял: если вырастут задачи и будут проекты, то можно купить и подписку — пусть на вопросы отвечают разрабы. Может у вас как раз настало это время?
Посмотрел что по сабсабскрайбу предлагает производитель. Минимум 21 евро в месяц с оплатой сразу на год за сокет. Дороговато выходит для pet-project :(