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?
Jawaban:
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)
sumber
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.)
sumber
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.
sumber
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.
sumber