Mesin debugging Linux macet

9

Saya memiliki 15 severs Linux RH 4.7 64-bit yang identik. Mereka menjalankan database cluster (cluster adalah level aplikasi). Kadang-kadang (setiap bulan atau lebih) kotak acak (tidak pernah sama sekalipun) membeku.

Saya bisa ping kotak dan ping berfungsi. Jika saya mencoba ssh di dalam kotak saya mendapatkan:

ssh_exchange_identification: Connection closed by remote host

SSH diatur dengan benar.

Ketika saya pergi ke ruang server, dan mencoba masuk langsung ke konsol, saya dapat mengganti konsol dengan Alt+ Fn, saya dapat memasukkan nama pengguna, dan karakter ditampilkan, tetapi setelah menekan Enter, tidak ada yang terjadi. Saya menunggu 8 jam sekali dan itu tidak berubah.

Saya mengatur syslog untuk mencatat semuanya ke host jarak jauh, dan tidak ada dalam log tersebut. Ketika saya reboot mesin, itu berfungsi tanpa masalah. Saya telah menjalankan tes HW - semuanya baik-baik saja, dan tidak ada yang ada dalam log. Mesin-mesin juga dimonitor dengan NAGIOS, dan tidak ada beban atau aktivitas yang tidak biasa sebelum membeku.

Saya kehabisan ide; apa lagi yang bisa saya lakukan atau periksa?

Luka Marinko
sumber
Tes perangkat keras apa yang Anda jalankan? Alat apa yang Anda gunakan?
tshepang
HW adalah HP proliant, saya menggunakan util mereka untuk memeriksa status RAID alat pintar normal tidak berfungsi, dan saya menggunakan memtest untuk memeriksa memori. Saya mengalami masalah ini selama beberapa bulan, dan tidak pernah server yang sama.
Luka Marinko
Apa yang disarankan dukungan RedHat?
RedGrittyBrick
Luka, di konsol, tidak terjadi apa-apa setelah memasukkan hanya nama pengguna dan menekan enter, atau apakah itu meminta Anda untuk kata sandi dan setelah itu tidak merespons?
mattdm
jika Anda memecahkan masalah, harap edit pertanyaan Anda untuk menjelaskan apa yang sebenarnya salah dan apa yang Anda lakukan untuk dilihat orang lain.
Thorbjørn Ravn Andersen

Jawaban:

6

Sepertinya kernel Anda panik dengan cara tertentu sehingga sshd tidak dapat mengirim kunci server. Mungkin, kernel terjepit sedemikian rupa sehingga tumpukan jaringan masih naik, tetapi lapisan vfs tidak tersedia.

Ketika saya mengalami masalah yang sama pada sistem RHEL4, saya mengatur layanan netdump dan netconsole , dan server netdump dan syslog khusus untuk menangkap crash dumps dan informasi panik kernel. Saya juga mengatur kernel.panic sysctl ke 10. Dengan begitu, ketika sebuah sistem panik, Anda mendapatkan jejak kernel dan salinan memori pada sistem itu, yang dapat dianalisis dengan utilitas 'crash'.

Anda tentu juga akan mendapat manfaat dari pengaturan konsol serial untuk host, sehingga Anda dapat melihat konsol keluar dan berpotensi menekan tombol sysrq ajaib. Juga, jika Anda ingin mengatur jaringan dan Anda memiliki perangkat keras yang mendukungnya, Anda dapat menggunakan IPMI untuk mematikan, mematikan, menghidupkan ulang, dan meminta perangkat keras dari jarak jauh.

(untuk apa nilainya, RHEL5 memiliki fungsi yang mirip dengan kexec / kdump, hanya crash dump yang disimpan secara lokal)

jsbillings
sumber
Hai, saya punya akses langsung ke konsol (via KVM), dan tidak ada apa-apa di sana. Saya bisa beralih di antara terminal virtual ketik nama pengguna saya, tetapi hanya itu, juga ctr + alt + del tidak berfungsi, tetapi seharusnya dari konsol.
Luka Marinko
Server juga memiliki ILO dari HP, saya bisa reboot dan melihat status HW dari jarak jauh. Tidak ada kesalahan di sana
Luka Marinko
Apakah Anda memeriksa syslogs selama waktu itu? Kedengarannya seperti kernel yang panik. Saya tidak percaya KVM di server linux saya, terlalu sering panik kernel tidak muncul di konsol, atau rusak atau hanya beberapa baris terakhir, itu sebabnya saya lebih suka konsol serial.
jsbillings
1
Ini tidak terdengar seperti panik kernel. Peralihan konsol masih berfungsi dan program masuk masih aktif.
mattdm
ya saya syslog dialihkan ke server syslog pusat. Tidak ada yang aneh di log.
Luka Marinko
3

Saya akan bertaruh dolar untuk donat yang Anda kehabisan memori. Sistem ini terhenti ketika mencoba mencari tahu dari mana mendapatkan beberapa. Ini mungkin terjadi begitu cepat sehingga pemantauan Anda tidak menangkapnya. Saya akan meningkatkan pemantauan, termasuk pendataan jarak jauh penggunaan memori. Periksa log untuk pesan OOM juga.

(Anda bahkan mungkin hanya ingin beberapa ssh windows terbuka menjalankan atas.)

mattdm
sumber
3

Bagi saya ini terdengar seperti sistem kehabisan sumber daya sehingga proses yang dibutuhkan oleh sisi server ssh tidak dapat dialokasikan.

Hambatan sebenarnya dapat bervariasi - dari proses atau kehabisan memori - dan satu-satunya cara untuk memastikan adalah dengan melihat log dan konsol untuk melihat apakah ada sesuatu di sana. Anda mungkin ingin mengatur skenario ssh-job pra-mulai - satu untuk setiap mesin - hanya untuk dipersiapkan saat itu terjadi.

Jika benar - benar buruk, maka Anda mungkin ingin mempertimbangkan memulai shell lain dengan lebih banyak perintah built-in sehingga Anda dapat menyelidiki lebih banyak tanpa harus memulai proses tambahan karena ini tidak mungkin dilakukan. Juga "tail -f / var / log / *" mungkin sangat berguna.

Semoga berhasil.

Thorbjørn Ravn Andersen
sumber
0

Satu-satunya waktu saya telah melihat sesuatu yang serupa adalah di mana saklar KVM digunakan dan tombol pintas keyboard (misalnya alt + n) digunakan untuk beralih antar server. Itu tidak terjadi setiap waktu dan itu adalah server yang beralih dari yang terpengaruh - jadi itu tidak segera terlihat. Tidak ada penguncian yang akan terjadi jika tombol fisik pada sakelar KVM sendiri digunakan untuk beralih antar server. Jika hot-key sering digunakan, kadang-kadang server tidak mengizinkan login baru. Sesi SSH yang ada tidak terpengaruh.

RedGrittyBrick
sumber