LINUX.ORG.RU
ФорумAdmin

Сервер грохнулся

 ,


0

1

Сервер завис. Не отвечал никак и ни на что. После перезагрузки очухался. В логах ничего. Просто глухо с момента X.

После истечения некоторого времени снова был затык, один процесс завис наглухо

В логах

journalctl -k -S -50m

r8169 0000:01:00.0 eth0: NETDEV WATCHDOG: CPU: 0: transmit queue 0 timed out 5128 ms
r8169 0000:01:00.0 eth0: rtl_txcfg_empty_cond == 0 (loop: 42, delay: 100)
r8169 0000:01:00.0: can't disable ASPM; OS doesn't have ASPM control
r8169 0000:01:00.0 eth0: rtl_rxtx_empty_cond == 0 (loop: 42, delay: 100).


И ещё в момент делал strace процесса
strace -p pid
epoll_wait(3, [], 4096, 173)            = 0
epoll_wait(3, [], 4096, 1)              = 0
epoll_wait(3, [], 4096, 1000)           = 0
epoll_wait(3, [], 4096, 1000)           = 0
epoll_wait(3, [], 4096, 1000)           = 0
///
Больше ничего от него не было


Какие диагнозы?

★★★★

Последнее исправление: gobot (всего исправлений: 1)

Хорошо бы в терминал ему посмотреть перед ребутом, может там ядро крэшнулось. Для этого ip kvm нужен. Помимо логов хорошо бы мониторингом обзавестись чтобы было где посмотреть потел ли больной перед кончиной и в каких местах. А то может он банально перегрелся

cobold ★★★★★
()
Последнее исправление: cobold (всего исправлений: 1)

У сервера не может быть RTL8169 в списке загруженных модулей. У тебя какой-то некачественный сервер, наверное, китайский. Потребуй заменить на другой.
А еще можно настроить вывод лога ядра в com-порт, иногда так можно получить больше информации.

Khnazile ★★★★★
()
Ответ на: комментарий от cobold

Ну мониторинг есть, zabbix. Но там глухо сразу в момент кончины стало

gobot ★★★★
() автор топика

r8169 0000:01:00.0 eth0: NETDEV WATCHDOG: CPU: 0: transmit queue 0 timed out 5128 ms

Это одна строка?

Обычно строжевая собака, вырубает все или перезапускает, но я не эксперт.

fucpsy
()
Последнее исправление: fucpsy (всего исправлений: 1)
Ответ на: комментарий от Khnazile

У сервера не может быть RTL8169 в списке загруженных модулей

Почему?

А еще можно настроить вывод лога ядра в com-порт

А ещё можно постелить коврик и спать около сервера ) Не, ну это как-то сложно-нереально. Сервер то я арендую, ясен пень

gobot ★★★★
() автор топика
Ответ на: комментарий от gobot

У сервера не может быть RTL8169 в списке загруженных модулей

Почему?

Вам намекают на то, что это самосбор.

anc ★★★★★
()
Ответ на: комментарий от gobot

Почему?

Потому что это десктопная сетевуха.

firkax ★★★★★
()
Ответ на: комментарий от gobot

Да это понятно... но KVM нет там.

Ищи хостера у которого есть. Или просто попроси сменить железку т.к. эта походу битая.

firkax ★★★★★
()
Ответ на: комментарий от firkax

Вот про

из каких комплектующих его собрали.

Как раз и тема :)

anc ★★★★★
()
Ответ на: комментарий от gobot

раньше он везде был, в недружелюбных странах, а теперь почему то нет.

А как они предлагают начальную установку делать? Только из их образов?

anc ★★★★★
()
Ответ на: комментарий от gobot

У кого ты его арендуешь, если там ни kvm ни последовательной консоли? Это какая-то дичь, я понимаю, когда такое строят в чулане, но не сдают в аренду.

Вообще, возможно сервер под ddos, и тупо не вывозит наплыв пакетов. Сервер физический или виртуальный?

Khnazile ★★★★★
()
Ответ на: комментарий от firkax

Почему нет? Я лично видел, как rtl8269 начинает сыпать ошибками, если гигабитную сетевуху воткнуть в компьютер со слишком слабым процессором.

Khnazile ★★★★★
()
Ответ на: комментарий от Dimez

Какой ужас. Никогда не видел rtl на baremetal.

anc ★★★★★
()
Ответ на: комментарий от Khnazile

Физический, ну так то норм трафик держит в целом. Ну нет KVM, и фаера нет и бэкапов бесплатных. Но это ладно, мелочи...

gobot ★★★★
() автор топика
Ответ на: комментарий от firkax

У меня пару лет назад целиком компьютер зависал из-за драйвера bluetooth. Подумаешь, обычная проблема монолитных ядер, один драйвер легко складывает ядро. Еще много лет назад с драйвером reiserfs аналогично было. Ничего не доказывает.

Khnazile ★★★★★
()

Аттачься по COM порту и дебаж через KGDB. Отпишись о результатах!

water_closed
()
Ответ на: комментарий от gobot

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

Khnazile ★★★★★
()
Ответ на: комментарий от firkax

ещё более важно для каких целей он используется. может, ему и не надо ничего мощного по сети качать. так что намёки на «недостаточно крутое железо» - это чисто понты, чтобы самоутвердиться, наверное. а «сервером» может быть и ардуинка или малинка, смотря какие задачи он решает.

Iron_Bug ★★★★★
()

OS doesn't have ASPM control

Кто-то уснул вечным сном?

GAMer ★★★★★
()

https://superuser.com/a/1885537/1024808

It doesn’t necessary mean that the server crashes when it loses network connectivity, but let’s assume the kernel OOPSed or panics.

Are there modifications I can make to the machine that will provide more data next time it happens? Software I can install that will log useful extra data?

The best is to setup kernel log (dmesg) netconsole forwarder, which will mirror all the kernel messages using low-level networking + UDP.

Save all the UDP packets to the file on another machine. If the server crashes, you’ll be able to get kernel oops/panic message from the log.
Both machines should be in the same network (L2 connectivity).

Alternative is to store crash log in UEFI variable with pstore. It’s not as verbose as network log, and not every UEFI has large enough storage, but you don’t need another machine if it works, and it helps if what crash your system is a network driver or something in network stack.

Are there things I should be checking for beyond looking at the system logs and SMART monitoring data from the machine that could give me a clue?

Try checking EDAC (Error Detection and Correction) subsystem information, it may identify some types of hardware issues: ras-mc-ctl --summary.
On desktop motherboard it probably won’t be very useful though.

If you want your server to automatically reboot on hang, setup hardware watchdog. It’s available on every motherboard at least from the last decade. If the kernel crashes, your server would automatically reboot. For older system, you need to configure Intel TCO iTCO_wdt, and for newer ones this module may not work, use ACPI watchdog wdat_wdt, which works exactly the same (uses the same hardware but access via ACPI). From the userspace side, you need watchdog.

ValdikSS ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.