Kami memiliki beberapa lusin server Proxmox (Proxmox beroperasi pada Debian), dan sekitar sebulan sekali, salah satu dari mereka akan mengalami kepanikan kernel dan terkunci. Bagian terburuk tentang penguncian ini adalah ketika server yang ada di sakelar terpisah dari master kluster, semua server Proxmox lain di sakelar itu akan berhenti merespons hingga kami dapat menemukan server yang benar-benar macet dan reboot.
Ketika kami melaporkan masalah ini di forum Proxmox, kami disarankan untuk meningkatkan ke Proxmox 3.1 dan kami sedang dalam proses melakukan itu selama beberapa bulan terakhir. Sayangnya, salah satu server yang kami migrasi ke Proxmox 3.1 dikunci dengan panik kernel pada hari Jumat, dan sekali lagi semua server Proxmox yang berada di saklar yang sama tidak dapat dijangkau melalui jaringan sampai kami dapat menemukan server yang crash dan reboot.
Yah, hampir semua server Proxmox di sakelar ... Saya merasa menarik bahwa server Proxmox di sakelar yang sama yang masih di Proxmox versi 1.9 tidak terpengaruh.
Berikut ini adalah cuplikan layar konsol server yang mogok:
Ketika server terkunci, seluruh server pada switch yang sama yang juga menjalankan Proxmox 3.1 menjadi tidak terjangkau dan memuntahkan yang berikut ini:
e1000e 0000:00:19.0: eth0: Reset adapter unexpectedly
e1000e 0000:00:19.0: eth0: Reset adapter unexpectedly
e1000e 0000:00:19.0: eth0: Reset adapter unexpectedly
...etc...
uname -a output dari server yang terkunci:
Linux ------ 2.6.32-23-pve #1 SMP Tue Aug 6 07:04:06 CEST 2013 x86_64 GNU/Linux
pveversion -v output (disingkat):
proxmox-ve-2.6.32: 3.1-109 (running kernel: 2.6.32-23-pve)
pve-manager: 3.1-3 (running version: 3.1-3/dc0e9b0e)
pve-kernel-2.6.32-23-pve: 2.6.32-109
Dua pertanyaan:
Ada petunjuk apa yang menyebabkan panik kernel (lihat gambar di atas)?
Mengapa server lain pada sakelar dan versi Proxmox yang sama dihilangkan dari jaringan sampai server yang terkunci di-reboot? (Catatan: Ada server lain di sakelar yang sama yang menjalankan Proxmox versi 1.9 yang lebih lama yang tidak terpengaruh. Selain itu, tidak ada server Proxmox lain di gugus 3.1 yang terpengaruh yang tidak berada pada sakelar yang sama.)
Terima kasih sebelumnya atas sarannya.
sumber
Jawaban:
Saya hampir yakin masalah Anda bukan disebabkan oleh satu faktor tunggal melainkan oleh kombinasi faktor. Apa faktor-faktor individu itu tidak pasti, tetapi kemungkinan besar satu faktor adalah antarmuka jaringan atau driver dan faktor lain ditemukan pada sakelar itu sendiri. Oleh karena itu sangat mungkin masalah hanya dapat direproduksi dengan merek switch khusus ini dikombinasikan dengan merek antarmuka jaringan tertentu.
Anda tampaknya pemicu untuk masalah ini adalah sesuatu terjadi pada satu server individual yang kemudian memiliki kepanikan kernel yang memiliki efek yang entah bagaimana berhasil menyebar melalui switch. Ini kedengarannya mungkin, tetapi saya akan mengatakan itu adalah tentang kemungkinannya, bahwa pemicunya ada di tempat lain.
Bisa jadi ada sesuatu yang terjadi pada switch atau antarmuka jaringan, yang secara bersamaan menyebabkan kepanikan kernel dan masalah tautan pada switch. Dengan kata lain, bahkan jika kernel tidak memiliki kepanikan kernel, pemicunya mungkin telah menurunkan konektivitas pada switch.
Kita harus bertanya, apa yang mungkin terjadi pada server individual, yang dapat memiliki efek ini pada server lain. Seharusnya tidak mungkin, jadi penjelasannya harus melibatkan cacat di suatu tempat dalam sistem.
Jika itu hanya tautan antara server yang mogok dan sakelar yang turun atau menjadi tidak stabil, maka itu tidak akan berpengaruh pada status tautan ke server lain. Jika ya, itu akan dianggap sebagai cacat pada sakelar. Dan dengan lalu lintas, server lain akan melihat lalu lintas sedikit lebih sedikit setelah server macet kehilangan konektivitas, yang tidak dapat menjelaskan mengapa mereka melihat masalah yang mereka lakukan.
Hal ini membuat saya percaya bahwa cacat desain pada sakelar mungkin terjadi.
Namun masalah tautan bukanlah penjelasan pertama yang akan dicari ketika mencoba menjelaskan bagaimana masalah pada satu server dapat menyebabkan masalah ke server lain di sakelar. Badai siaran akan menjadi penjelasan yang lebih jelas. Tetapi mungkinkah ada hubungan antara server yang mengalami kepanikan kernel dan badai penyiaran?
Multicast dan paket yang ditujukan untuk alamat MAC yang tidak diketahui lebih atau kurang diperlakukan sama dengan siaran, sehingga badai paket seperti itu akan dihitung juga. Mungkinkah server paniced mencoba mengirim crashdump di seluruh jaringan ke alamat MAC yang tidak dikenali oleh switch?
Jika itu pemicunya, maka ada sesuatu yang salah pada server lain. Karena paket badai seharusnya tidak menyebabkan kesalahan semacam ini pada antarmuka jaringan.
Reset adapter unexpectedly
tidak terdengar seperti paket badai (yang seharusnya hanya menyebabkan penurunan kinerja tetapi tidak ada kesalahan seperti itu), dan itu tidak terdengar seperti masalah tautan (yang seharusnya menghasilkan pesan tentang tautan turun, tetapi bukan kesalahan Anda melihat).Jadi kemungkinan ada beberapa cacat pada antarmuka perangkat keras jaringan atau driver, yang dipicu oleh saklar.
Beberapa saran yang dapat memberikan petunjuk tambahan:
sumber
Kedengarannya bagi saya seperti bug di driver ethernet atau perangkat keras / firmware, ini menjadi bendera merah:
Saya telah melihat ini sebelumnya dan dapat mengetuk server offline. Saya tidak ingat persis apakah itu pada kartu ethernet intel tapi saya percaya begitu. Bahkan mungkin terkait dengan bug di kartu ethernet sendiri. Saya ingat pernah membaca sesuatu tentang kartu ethernet intel tertentu yang mengalami masalah seperti itu. Tapi saya kehilangan tautan artikel.
Saya akan membayangkan bahwa pemicunya untuk ini sebagian tergantung pada driver (versi) yang digunakan, fakta bahwa versi yang lebih lama dari perangkat lunak berfungsi dengan baik tampaknya mengonfirmasi hal itu. Anda mengatakan vendor menggunakan kernel kustom mereka sendiri, cobalah untuk memperbarui modul driver ethernet yang digunakan untuk perangkat keras ethernet Anda. Baik satu dari vendor Anda atau satu dari pohon sumber kernel resmi.
Lihat juga ikatan perangkat keras ethernet Anda, biasanya server akan memiliki dua port ethernet, onboard, dan / atau kartu tambahan. Dengan begitu jika satu kartu ethernet mengalami masalah ini, yang lain akan mengambilnya. Saya menggunakan kata "kartu" tetapi ini berlaku untuk perangkat keras ethernet apa saja.
Mengganti perangkat keras ethernet juga dapat memperbaikinya. Ganti atau tambahkan kartu ethernet (intel) yang lebih baru dan gunakan itu. Kemungkinannya adalah jika masalah ada di perangkat keras / firmware, kartu yang lebih baru memiliki perbaikan (atau lebih lama?).
sumber