Налагодження машини Linux зависає


9

У мене 15 однакових 64-розрядних серверів Linux RH 4.7. Вони запускають базу даних кластерів (кластер - це рівень програми). При нагоді (щомісяця або близько того) випадкова скринька (ніколи не однакова) замерзає.

Я можу пінг коробку і пінг працює. Якщо я спробую ввести скриньку в поле, я отримаю:

ssh_exchange_identification: Connection closed by remote host

SSH налаштований належним чином.

Коли я заходжу в серверну кімнату і намагаюся увійти безпосередньо до консолі, я можу перемикати консолі на Alt+ Fn, можу ввести ім’я користувача, і символи показують, але після натискання Enterнічого не відбувається. Я чекав 8 годин одного разу, і це не змінилося.

Я налаштував syslog для того, щоб реєструвати все на віддалений хост, і в цих журналах немає нічого. Коли я перезавантажую машину, вона працює без проблем. Я запустив тести на HW - все нормально, і нічого немає в журналах. Машини також контролюються за допомогою NAGIOS, і перед заморожуванням не спостерігається незвичного навантаження чи активності.

У мене закінчилося ідей; що ще я можу зробити або перевірити?


Які апаратні тести ви провели? Якими інструментами ви користувалися?
thepang

HW є HP-надійним, я використовував їх утиліту, щоб перевірити стан RAID, нормальні розумні інструменти не працюють, і я використовував memtest для перевірки пам'яті. У мене ця проблема вже кілька місяців, і її ніколи не той самий сервер.
Лука Марінко

Що пропонує підтримка RedHat?
RedGrittyBrick

Лука за консоллю нічого не відбувається після введення лише імені користувача та натискання клавіші "Введення", або він запрошує вас на пароль і після цього не відповідає?
mattdm

якщо ви вирішили проблему, відредагуйте своє питання, щоб описати, що насправді було не так і що ви зробили, щоб інші бачили.
Thorbjørn Ravn Andersen

Відповіді:


6

Це здається, що ваше ядро ​​якимось чином запанікувало, що sshd не міг надіслати ключі сервера. Можливо, ядро ​​було закріплено таким чином, що мережевий стек все ще був піднятий, але рівень vfs був недоступний.

Коли у мене виникли подібні проблеми в системі RHEL4, я створив сервіси netdump та netconsole , а також виділений сервер netdump та syslog для збору інформації про збої та паніку ядра. Я також встановив kernel.panic sysctl на 10. Таким чином, коли система панікує, ви отримуєте як слід ядра, так і копію пам’яті в тій системі, до якої ви могли проаналізувати за допомогою утиліти «краху».

Ви, безумовно, також отримали б користь від встановлення послідовної консолі для хостів, щоб ви могли побачити консоль поставленою та потенційно вдарити магічні клавіші sysrq. Крім того, якщо ви готові налаштувати мережу, і у вас є обладнання, яке підтримує її, ви можете використовувати IPMI для віддаленого відключення, перезавантаження, перезавантаження та запиту обладнання.

(для чого це варто, RHEL5 має аналогічну функціональність з kexec / kdump, лише скидання на збій зберігається локально)


Привіт, у мене є доступ до консолі безпосередньо (через KVM), і там нічого не було. Я міг перемикатися між типом віртуальних терміналів у моєму імені користувача, але це все, також ctr + alt + del не працював, але повинен з консолі.
Лука Марінко

Також у серверів є ILO HP, я можу перезавантажити їх і побачити стан HW з дистанційного. Помилки там не було
Лука Марінко

Ви перевіряли системні журнали за цей час? Це звучить як панічне ядро. Я не довіряю KVM на моїх серверах Linux, занадто часто паніка ядра не з’являється на консолі, або вона пошкоджена або просто останні кілька рядків, тому я віддаю перевагу послідовній консолі.
jsbillings

1
Це не звучить як паніка ядра. Переключення консолі все ще працює, і програма входу все ще активна.
mattdm

так, я переніс syslog на центральний сервер syslog. У колодах немає нічого незвичайного.
Лука Марінко

3

Я буду обміняти долари на пончики, які вам не вистачають на пам'ять. Система зупиняється, оскільки вона намагається з'ясувати, звідки її взяти. Це може статися настільки швидко, що ваш моніторинг його не вловлює. Я б активізував моніторинг, включаючи віддалений журнал використання пам'яті. Перевірте також журнали для повідомлень OOM.

(Можливо, ви навіть просто хочете, щоб деякі відкриті вікна ssh працювали зверху.)


3

Для мене це здається, що система не має ресурсів, тому процес, необхідний серверу ssh, не може бути виділений.

Фактичне вузьке вузьке місце може відрізнятися - від процесів або від пам'яті - і єдиний спосіб бути впевненим - подивитися на журнали та консолі, щоб побачити, чи є там щось. Ви можете налаштувати сценарій попередньо розпочатих ssh-завдань - по одному для кожної машини - просто бути готовим наступного разу, коли це станеться.

Якщо це дійсно погано, то, можливо, ви захочете розглянути можливість запуску іншої оболонки з більш вбудованими командами, щоб ви могли більше досліджувати, не запускаючи додатковий процес, оскільки це може бути неможливим. Також "хвост -f / var / log / *" може бути дуже корисним.

Удачі.


0

Єдиний раз, коли я бачив щось подібне, це те, коли використовується перемикач KVM і клавіша швидкої клавіші (наприклад, alt + n) для перемикання між серверами. Це не відбувалося кожного разу, і це було постраждало від того, на який сервер відключено, - це було не відразу помітно. Жодного блокування не буде, якщо фізична кнопка на самому перемикачі KVM використовувалася для перемикання між серверами. Якщо гарячу клавішу часто використовували, періодично сервер не дозволяв би входити в систему. Існуючі сесії SSH не впливали.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.