Периодически зависает сервер на Debian

Автор Mahmud, 21 января 2018, 13:16:29

« назад - далее »

0 Пользователи и 3 гостей просматривают эту тему.

Mahmud

Господа, всем доброго дня.
Имею проблему, которой уже 2 года - периодически зависает web-сервер.
Сначала на нем стояла Ubuntu 15.10, достало - переставил Debian 9.

Значит, вот как оно происходит: через 2-3 дня работы, система начинает использовать Swap, причем ОЗУ занята на 30% - 5 гигабайт из 16 гигабайт, но чуть-чуть идет в своп. Под Ubuntu это чут-чуть было около 500 мегабайт, под Deb9 - около 100 мегабайт. Как только своп начал задействоваться, все - скоро повиснет. Ubuntu зависала через 2 дня после активации свопа, Debian живет примерно неделю. Я думал, что проблема в железе, т.к. перед переустановкой Ubuntu уже редко выдерживала больше суток.


Виснет наглухо:
При зависании - пинги есть, но не по SSH, не по другим протоколам не зайти.
Консоль подключить не могу - он стоит далеко от мониторов.

Слушаю работу жестких дисков - они щелкают как обычно в простое, то есть активности нет, сервисы не работают.
В логах - пустота, никаких ошибок.

Чего стоит: Apache, Mysql, Webmin, php 5.6, fail2ban. Даже lm-sensors я теперь удалил.

Вечно буду благодарен тем, кто мне расскажет, как побороть эту напасть. Временно в cron поставил ежедневный reboot, так как считаю, что проблема связана с распределением памяти.

yoric

Как это - ЖД щёлкают? Не должны они щёлкать.
С распределением - это вряд ли, вот если с работоспособностью... Память на ошибки проверяли? Даже если безошибочно, всё равно поменять бы, да и может быть всё что угодно, потому только постепенная замена всего чего можно. Ну или тесты, пока валиться не начнёт.

Mahmud

Харды щелкают так как полагается при подключении к SAS и простое - они так калибруются. То есть, записи/чтения нет, но аппаратно контроллер работает.

Память менял полностью -  не помогало.

Тесты - ну только нагрузочные. То есть, гонять до умопомрачения стандартные запросы пробовал - на сайт спайдеров напускал в 100 потоков, все ему нипочем. А потом раз - и зависает. Ночью, подло, когда никто не видит.

yoric

БП, матерь и прочие мелочи. Как тут подскажешь точно? ТЯжёлый случай, когда неисправность редкая или плавающая...

Mahmud

Я железо менял полностью.

Вот на Ubuntu у меня аптайм снизился с 13 дней до 2 дней. И пока я не переставил на Debian, больше двух дней система не работала.  Debian начал с 11 дней.

Ну не дохнет железо таким образом, уверен, что дело в софте, хотя конечно железо тоже перетряхну снова.

yoric

Ну хорошо, проверим софт :-) Опубликуйте /etc/apt/sources.[d/* | list]

Mahmud

#

# deb cdrom:[Debian GNU/Linux 9.3.0 _Stretch_ - Official amd64 NETINST 20171209-12:10]/ stretch main

#deb cdrom:[Debian GNU/Linux 9.3.0 _Stretch_ - Official amd64 NETINST 20171209-12:10]/ stretch main

deb http://mirror.yandex.ru/debian/ stretch main
deb-src http://mirror.yandex.ru/debian/ stretch main

deb http://security.debian.org/debian-security stretch/updates main
deb-src http://security.debian.org/debian-security stretch/updates main

# stretch-updates, previously known as 'volatile'
deb http://mirror.yandex.ru/debian/ stretch-updates main
deb-src http://mirror.yandex.ru/debian/ stretch-updates main


yoric

Не вижу ничего криминального. Должно быть стабильно. Вручную не устанавливали чего?
А железо дохнет иногда очень странно. Год на работе не могли вычислить, меняя по одному компоненту, что виноват БП в редких зависаниях, когда напряжение в розетке просаживалось, БП и киксовал.

Mahmud

#8
Вручную ставили Webmin и PHP 5.6 который из каких-то неофициальных репозитариев ставится.
В общем-то, пожалуй и все.


Cообщение объединено 22 января 2018, 10:23:48

кстати, подскажите, как правильно делать reboot через cron? Что-то у меня система не перегружается по расписанию.

В кроне стоит просто команда reboot. может ей какие-то параметры нужны?

yoric

А зачем из неофициальных? Версия на одну тысячную выше? Зато и рисков больше.

Попробуйте прописать как /где/reboot, смотрите логи и напишите, как делаете.

Mahmud

вот в /var/spool/crontab/crontabs/root прописал:

20 5 * * * reboot

Оно не работает. Заменить на /reboot    ?

endru

мало вероятно что это софт косячит.
99% что это дисковая подсистема косячит.
я бы проверил для начала смарт дисков. + логи нужно смотреть.

p.s. смысл перегружать по крону систему? чем это поможет?
и вам писали нужно указывать полный путь до reboot! обычно это /sbin/reboot

Mahmud

Дисковая система менялась. Сейчас это SAS диски в зеркале. По данным встроенного мониторинга, все нормально с ними.


Mahmud

Да, LSI контроллер, простенький.

Тут сложность в том, что я не могу специально заставить сервер зависнуть. Любые тесты он выдерживает, даже если отключаю все кеширование и эмулирую dos-атаку, все что угодно происходит - база выключается, apache отваливается, но машина не зависает. Я его повесить не могу никак, что ни делал.