การดีบักเครื่อง Linux หยุดทำงาน


9

ฉันมี Linux RH 4.7 64- บิต severs เหมือนกัน พวกเขาเรียกใช้ฐานข้อมูลคลัสเตอร์ (คลัสเตอร์คือระดับแอปพลิเคชัน) ในบางโอกาส (ทุกเดือนหรือมากกว่านั้น) กล่องสุ่ม (ไม่เหมือนกัน) ค้าง

ฉันสามารถ ping กล่องและ ping ทำงานได้ ถ้าฉันพยายาม ssh ในกล่องฉันจะได้รับ:

ssh_exchange_identification: Connection closed by remote host

ติดตั้ง SSH อย่างถูกต้อง

เมื่อฉันไปที่ห้องเซิร์ฟเวอร์และพยายามลงชื่อเข้าใช้คอนโซลโดยตรงฉันสามารถสลับคอนโซลด้วยAlt+ Fnฉันสามารถป้อนชื่อผู้ใช้และตัวละครจะแสดง แต่หลังจากกดEnterไม่มีอะไรเกิดขึ้น ฉันรอ 8 ชั่วโมงหนึ่งครั้งและมันก็ไม่เปลี่ยน

ฉันตั้งค่า syslog เพื่อบันทึกทุกอย่างไปยังโฮสต์ระยะไกลและไม่มีอะไรในบันทึกเหล่านั้น เมื่อฉันรีบูทเครื่องมันก็ทำงานได้โดยไม่มีปัญหา ฉันได้ทำการทดสอบ HW - ทุกอย่างโอเคและไม่มีอะไรในบันทึก เครื่องยังได้รับการตรวจสอบด้วย NAGIOS และไม่มีภาระหรือกิจกรรมผิดปกติก่อนที่จะหยุด

ฉันไม่มีความคิด ฉันจะทำอะไรหรือตรวจสอบอะไรอีก


คุณเรียกใช้การทดสอบฮาร์ดแวร์ใด คุณใช้เครื่องมืออะไร
tshepang

HW เป็นซอฟต์แวร์ HP ฉันใช้ของพวกเขาในการตรวจสอบสถานะเครื่องมืออัจฉริยะปกติของ RAID ไม่ทำงานและฉันใช้ memtest เพื่อตรวจสอบหน่วยความจำ ฉันมีปัญหานี้หลายเดือนและเซิร์ฟเวอร์ไม่เคยเหมือนกัน
Luka Marinko

การสนับสนุน RedHat แนะนำอะไร?
RedGrittyBrick

Luka ที่คอนโซลไม่มีอะไรเกิดขึ้นหลังจากป้อนแค่ชื่อผู้ใช้และกดปุ่ม Enter หรือไม่ก็แจ้งให้คุณใส่รหัสผ่านหลังจากนั้นไม่ตอบสนอง?
mattdm

หากคุณแก้ไขปัญหาได้โปรดแก้ไขคำถามของคุณเพื่ออธิบายสิ่งที่ผิดพลาดจริงและสิ่งที่คุณทำเพื่อให้ผู้อื่นเห็น
Thorbjørn Ravn Andersen

คำตอบ:


6

ดูเหมือนว่าเคอร์เนลของคุณจะตื่นตระหนกในบางกรณีที่ sshd ไม่สามารถส่งคีย์เซิร์ฟเวอร์ อาจเป็นไปได้ว่าเคอร์เนลถูกทำให้งอในลักษณะที่สแต็กเครือข่ายยังคงมีอยู่

เมื่อฉันพบปัญหาที่คล้ายคลึงกันในระบบ RHEL4 ฉันตั้งค่าบริการ netdump และ netconsole และเซิร์ฟเวอร์ netdump และ syslog โดยเฉพาะเพื่อตรวจจับความผิดพลาดและข้อมูลเคอร์เนลที่น่าตกใจ ฉันยังตั้งค่า kernel.panic sysctl เป็น 10 ด้วยวิธีนี้เมื่อระบบตื่นตระหนกคุณจะได้รับทั้งการติดตามเคอร์เนลและสำเนาหน่วยความจำบนระบบนั้นซึ่งคุณสามารถวิเคราะห์ด้วยยูทิลิตี้ 'crash'

คุณจะได้รับประโยชน์อย่างแน่นอนจากการตั้งค่าคอนโซลแบบอนุกรมสำหรับโฮสต์ดังนั้นคุณจะเห็นว่าคอนโซลออกวางและอาจกดปุ่ม sysrq เวทย์มนตร์ นอกจากนี้หากคุณยินดีที่จะติดตั้งเครือข่ายและคุณมีฮาร์ดแวร์ที่รองรับคุณสามารถใช้ IPMI เพื่อใช้พลังงานจากระยะไกล, เปิดเครื่อง, เริ่มต้นใหม่และสอบถามฮาร์ดแวร์

(สำหรับสิ่งที่คุ้มค่า RHEL5 มีฟังก์ชันการทำงานที่คล้ายกันกับ kexec / kdump เฉพาะการถ่ายโอนข้อมูลความผิดพลาดจะถูกเก็บไว้ในเครื่อง)


สวัสดีฉันมี acces ที่จะปลอบใจโดยตรง (ผ่าน KVM) และไม่มีอะไรที่นั่น ฉันสามารถสลับระหว่างชนิดเทอร์มินัลเสมือนในชื่อผู้ใช้ของฉันได้ แต่นั่นก็ ctr + alt + del ไม่ทำงาน แต่ควรมาจากคอนโซล
Luka Marinko

นอกจากนี้เซิร์ฟเวอร์ยังมี ILO ของ HP ฉันสามารถรีบูตพวกเขาและดูการหยุดชะงักของ HW จากระยะไกล ไม่มีข้อผิดพลาดที่นั่น
Luka Marinko

คุณตรวจสอบ syslogs ในช่วงเวลานั้นหรือไม่? ดูเหมือนเคอร์เนลที่น่ากลัว ฉันไม่เชื่อถือ KVM บนเซิร์ฟเวอร์ linux ของฉันบ่อยครั้งที่ kernel panic ไม่ปรากฏขึ้นบนคอนโซลหรือเกิดความเสียหายหรือเป็นเพียงสองบรรทัดสุดท้ายนั่นคือสาเหตุที่ฉันชอบคอนโซลอนุกรม
jsbillings

1
สิ่งนี้ไม่ได้เสียงเหมือนความตื่นตระหนกของเคอร์เนล การสลับคอนโซลยังคงใช้งานได้และโปรแกรมลงชื่อเข้าใช้ยังคงทำงานอยู่
mattdm

ใช่ฉันเปลี่ยนเส้นทาง syslog ไปยังเซิร์ฟเวอร์กลาง syslog ในบันทึกไม่มีอะไรผิดปกติ
Luka Marinko

3

ฉันจะเดิมพันดอลลาร์เพื่อโดนัทที่คุณมีหน่วยความจำไม่เพียงพอ ระบบกำลังหยุดชะงักในขณะที่พยายามหาจุดที่จะได้รับ อาจเกิดขึ้นอย่างรวดเร็วว่าการตรวจสอบของคุณไม่ได้ ฉันจะตรวจสอบขั้นตอนรวมถึงการบันทึกการใช้หน่วยความจำจากระยะไกล ตรวจสอบในบันทึกสำหรับข้อความ OOM เช่นกัน

(คุณอาจต้องการเปิดหน้าต่าง ssh ขึ้นมาบางอัน)


3

สำหรับฉันแล้วดูเหมือนว่าระบบไม่มีทรัพยากรดังนั้นกระบวนการที่ฝั่งเซิร์ฟเวอร์ของ ssh ไม่สามารถจัดสรรได้

คอขวดที่เกิดขึ้นจริงอาจแตกต่างกัน - ออกจากกระบวนการหรือหน่วยความจำไม่เพียงพอ - และวิธีเดียวที่จะแน่ใจได้คือดูที่บันทึกและคอนโซลเพื่อดูว่ามีอะไรเกิดขึ้นที่นั่นหรือไม่ คุณอาจต้องการตั้งค่าสถานการณ์จำลองของ ssh-jobs ล่วงหน้า - หนึ่งรายการสำหรับแต่ละเครื่อง - เพื่อเตรียมพร้อมในครั้งต่อไปที่เกิดขึ้น

หากไม่ดีจริง ๆคุณอาจต้องการเริ่มต้นเชลล์ใหม่ด้วยคำสั่งในตัวมากขึ้นเพื่อให้คุณสามารถตรวจสอบได้มากขึ้นโดยไม่ต้องเริ่มกระบวนการเพิ่มเติมเนื่องจากอาจเป็นไปไม่ได้ นอกจากนี้ "tail -f / var / log / *" อาจมีประโยชน์มาก

โชคดี.


0

ครั้งเดียวที่ฉันเห็นสิ่งที่คล้ายกันคือใช้สวิตช์ KVM และแป้นพิมพ์ลัด (เช่น alt + n) ถูกใช้เพื่อสลับระหว่างเซิร์ฟเวอร์ มันไม่ได้เกิดขึ้นทุกครั้งและเป็นเซิร์ฟเวอร์ที่ถูกเปลี่ยนไปจากที่ได้รับผลกระทบ - ดังนั้นจึงไม่สามารถสังเกตเห็นได้ทันที จะไม่เกิดการล็อคหากมีการใช้ปุ่มทางกายภาพบนสวิตช์ KVM เพื่อสลับระหว่างเซิร์ฟเวอร์ หากใช้คีย์ลัดบ่อยครั้งเซิร์ฟเวอร์จะไม่อนุญาตให้มีการเข้าสู่ระบบใหม่ เซสชัน SSH ที่มีอยู่ไม่ได้รับผลกระทบ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.