Относительно долгое время мой домашний сервер мучала одна интересная проблема. Периодически уходил в оффлайн. Подключиться невозможно.
Долгое время грешил на терморежим. Поставил вентилятор (там было пассивное охлаждение). Проблема не решилась. Поставил другие системы (метался между Дебианом, Убунтой и Центосью) - то же самое.
Решил обвинить материнскую плату и железо.
Написал скрипт который следит за состоянием сервера изнутри, образно говоря, каждую минуту пишет запись в лог. И о чудо, когда сервер "висит" - на самом деле он не висит, а работает. В чем я убедился когда подключил дисплей.
Стал грешить на сетевую подсистему. И правда. В логах нашел такое:
[ 304.008655] r8169 0000:02:00.0 enp2s0: link down [ 307.056987] r8169 0000:02:00.0 enp2s0: link up [ 318.711223] r8169 0000:02:00.0 enp2s0: link down [ 321.433996] r8169 0000:02:00.0 enp2s0: link up [ 330.291883] r8169 0000:02:00.0 enp2s0: link down [ 333.198115] r8169 0000:02:00.0 enp2s0: link up [ 334.441311] r8169 0000:02:00.0 enp2s0: link down [ 337.207600] r8169 0000:02:00.0 enp2s0: link up [ 338.095204] r8169 0000:02:00.0 enp2s0: link down [ 341.248507] r8169 0000:02:00.0 enp2s0: link up [ 356.632769] r8169 0000:02:00.0 enp2s0: link down [ 359.651745] r8169 0000:02:00.0 enp2s0: link up [ 687.127200] r8169 0000:02:00.0 enp2s0: link down [ 690.253646] r8169 0000:02:00.0 enp2s0: link up [ 694.503367] r8169 0000:02:00.0 enp2s0: link down [ 697.181026] r8169 0000:02:00.0 enp2s0: link up [ 703.279311] r8169 0000:02:00.0 enp2s0: link downКаждые несколько секунд сеть отключалась и подключалась. Само собой перво-наперво я подумал на роутер. Хоть и Mikrotik, но тем не менее достаточно старенький.
Конечно это было бы странно, учитывая что другие устройства прекрасно с ним работали, но тем не менее роутер я поменял на вкусненький, гигабитненький, с 5-тигигагерцовым WiFi.
Проблема осталась.
Пришла очередь сетевой карты. Ее конечно я менять не стал (да и не смог бы, у меня все на MiniITX), однако на плате их две, и я попробовал другую с предсказуемым результатом: не поменялось ровным счетом НИЧЕГО. Вдобавок обнаружил интересную особенность: если достать-вставить кабель - сеть появляется, т.е. сервер перезагружать уже не нужно. Ну думаю, ладно, придется брать в руки паяльник и паять костыль на Arduine который будет перетыкивать этот сетевой кабель.
И тут меня дернул черт попробовать другой кабель.
Все заработало. Сбоев нет. Интерфейс работает. Ничего не переподключается.
И я реально НЕ ПОНИМАЮ в чем проблема. Этот "нерабочий" патчкорд отлично прозванивается тестером. Работает на других системах. Он не работает только на этом сервере. Чудеса.
Мораль сего поста такова: если у вас стало слишком часто пропадать соединение - не спешите покупать новый роутер или переустанавливать систему. Просто попробуйте другой сетевой кабель.
P.S. этот сайт хостится именно на этом сервере.