Назад | Перейти на главную страницу

сервер зависает случайным образом без записей в журнале

Мой физический сервер зависает случайным образом, и в это время я не получаю никаких записей в журнале. Итак, я запустил скрипт:

while true; do date >>/tmp/dates; sleep 1; done & disown

Через несколько минут в файле / tmp / date появляются «дыры». Иногда свидания прерываются на 30 секунд, иногда на 3 минуты подряд:

Thu Feb 13 14:54:39 CET 2014
Thu Feb 13 14:54:40 CET 2014
Thu Feb 13 14:57:45 CET 2014
Thu Feb 13 14:57:46 CET 2014

Сервер не показывает высокую загрузку или использование памяти. / var / log / messages ничего не показывает, когда сервер зависает. Однако в нем есть сообщения о проблемах ввода-вывода, таких как соединение по волоконно-оптическому каналу, которое дремлет. Я загружаюсь из SAN, поэтому / находится на устройстве с несколькими устройствами. Если я позвоню

while true; do date >>/tmp/dates; sleep 1; done & disown
while true; do date >>/dev/shm/dates; sleep 1; done & disown

Не будет дыр в / dev / shm /ates, но будут дыры в / tmp /ates, поэтому я думаю, что это не ситуация зависания ядра, а ситуация зависания ввода-вывода.

Вверху я не вижу процессов в состоянии непрерывного сна. Нет записей в журнале оборудования или хранилища, которые кажутся важными.

Однако iostat показывает высокие всплески задержки при ожидании:

03/28/14 12:32:00
Device:         rrqm/s   wrqm/s     r/s     w/s    rMB/s    wMB/s avgrq-sz avgqu-sz   await  svctm  %util
dm-4              0.00     0.00    0.00    0.00     0.00     0.00     0.00   214.00    0.00   0.00 100.00

03/28/14 12:32:01
Device:         rrqm/s   wrqm/s     r/s     w/s    rMB/s    wMB/s avgrq-sz avgqu-sz   await  svctm  %util
dm-4              0.00     0.00    0.00    0.00     0.00     0.00     0.00   214.00    0.00   0.00 100.00

03/28/14 12:32:02
Device:         rrqm/s   wrqm/s     r/s     w/s    rMB/s    wMB/s avgrq-sz avgqu-sz   await  svctm  %util
dm-4              0.00     0.00    0.00    0.00     0.00     0.00     0.00   214.00    0.00   0.00 100.00

03/28/14 12:32:03
Device:         rrqm/s   wrqm/s     r/s     w/s    rMB/s    wMB/s avgrq-sz avgqu-sz   await  svctm  %util
dm-4              0.00     0.00    0.00 1219.00     0.00     4.76     8.00    45.61 5251.48   0.82 100.40

03/28/14 12:32:04
Device:         rrqm/s   wrqm/s     r/s     w/s    rMB/s    wMB/s avgrq-sz avgqu-sz   await  svctm  %util
dm-4              0.00     0.00    0.00    0.00     0.00     0.00     0.00     2.99    0.00   0.00  99.60

03/28/14 12:32:05
Device:         rrqm/s   wrqm/s     r/s     w/s    rMB/s    wMB/s avgrq-sz avgqu-sz   await  svctm  %util
dm-4              0.00     0.00    0.00    0.00     0.00     0.00     0.00     3.01    0.00   0.00 100.40

03/28/14 12:32:06
Device:         rrqm/s   wrqm/s     r/s     w/s    rMB/s    wMB/s avgrq-sz avgqu-sz   await  svctm  %util
dm-4              0.00     0.00    0.00    0.00     0.00     0.00     0.00     3.00    0.00   0.00 100.00

Может быть, ядро ​​ждет ввода-вывода из хранилища и ничего не делает до прихода блока? Что еще это может быть? Как я могу узнать?

Просматривая журнал ошибок FC-коммутатора, мы обнаружили один порт с огромным журналом ошибок. Мы отключили этот порт и не видели ошибки целые выходные. Поэтому я думаю, что эта ошибка была вызвана нарушением пути волоконно-оптического канала. Обычно, насколько мне известно, такая ошибка должна обнаруживаться (например, с помощью multipathd), регистрироваться и автоматически исправляться. Итак, я предполагаю, что мы имеем дело с одним из случаев необнаруженной неисправности тракта фиброканала.