2
CoreOS: tcpdump แก้ไขปัญหาเครือข่ายอย่างลึกลับ (ใช้ซ็อกเก็ตจำนวนมากเกินไป)
วันนี้ฉันมีเรื่องลึกลับสำหรับคุณ เราเรียกใช้คลัสเตอร์ Elasticsearch ขนาดเล็กสามโหนดที่ใช้ CoreOS (2023.5.0 / Linux 4.19.25-coreos) บน Azure Elasticsearch ทำงานภายในคอนเทนเนอร์นักเทียบท่าในโหมดโฮสต์เครือข่าย หลังจากใช้งานการบำรุงรักษาเกือบทั้งหมดฟรีเป็นเวลานานกว่าหนึ่งปีเราได้เห็นเครื่องเข้าสู่สถานะที่น่าสนใจมาก ปรับปรุง ปัญหานี้ถูกแก้ไขได้โดยการแก้ไขที่จะขับรถในลินุกซ์เคอร์เนล ดูคำตอบด้านล่าง อาการ โดยพื้นฐานแล้วการเชื่อมต่อระหว่างเครื่องที่ได้รับผลกระทบและอีกสองโหนดจะตาย ทั้งหมดอยู่ในเครือข่ายเสมือนเดียวกันและเครือข่ายย่อยเดียวกันและสามารถสื่อสารกับ eath อื่น ๆ ได้ โหนดที่ได้รับผลกระทบยังสามารถเข้าถึงได้จากเครือข่ายย่อยอื่น ๆ (ฉันสามารถ ssh เข้าไปได้) และจากเครือข่ายเสมือนที่แตกต่างกัน เครื่องยังมีการเชื่อมต่อกับอินเทอร์เน็ต (ขาด ๆ หาย ๆ ) แต่การร้องขอส่วนใหญ่จะหมดเวลา เราสังเกตว่าบนโหนดที่ได้รับผลกระทบจำนวน "ซ็อกเก็ตที่ใช้" ที่รายงานโดย/proc/net/sockstatมีค่าสูงมาก (~ 4.5k แทน ~ 300 บนโหนดที่มีสุขภาพดี) การตรวจสอบแสดงให้เห็นว่าจำนวนนี้เพิ่มขึ้นอย่างรวดเร็วจากช่วงเวลาที่โหนดจะไม่พร้อมใช้งาน สิ่งที่สนุกคือเราไม่สามารถระบุแหล่งที่มาของซ็อกเก็ตที่ใช้แล้ว: # cat …