เรามีดาต้าเซ็นเตอร์ขนาดเล็กที่มีโฮสต์ประมาณหนึ่งร้อยตัวชี้ไปยังเซิร์ฟเวอร์ DNS ภายใน 3 ตัว (ผูก 9) ปัญหาของเราเกิดขึ้นเมื่อหนึ่งในเซิร์ฟเวอร์ DNS ภายในไม่พร้อมใช้งาน ณ จุดนั้นไคลเอนต์ทั้งหมดที่ชี้ไปที่เซิร์ฟเวอร์นั้นจะเริ่มทำงานช้ามาก
ปัญหาน่าจะเป็นที่ตัวแก้ไขหุ้น linux ไม่ได้มีแนวคิดของ "ล้มเหลว" ไปยังเซิร์ฟเวอร์ DNS อื่น คุณสามารถปรับการหมดเวลาและจำนวนครั้งในการลองใช้อีกครั้ง (และตั้งค่าการหมุนดังนั้นมันจะทำงานผ่านรายการ) แต่ไม่ว่าการตั้งค่าใดที่ใช้บริการของเราจะทำงานช้ากว่ามากหากเซิร์ฟเวอร์ DNS หลักไม่พร้อมใช้งาน ในขณะนี้นี่คือหนึ่งในแหล่งการหยุดชะงักบริการที่ใหญ่ที่สุดสำหรับเรา
คำตอบที่ดีที่สุดของฉันน่าจะเป็น "RTFM: tweak /etc/resolv.conf เช่นนี้ ... " แต่ถ้านั่นเป็นตัวเลือกที่ฉันไม่ได้เห็น
ฉันสงสัยว่าคนอื่นจัดการปัญหานี้ได้อย่างไร
ฉันเห็นโซลูชันที่เป็นไปได้ 3 ประเภท:
ใช้ linux-ha / Pacemaker และ ips failover (ดังนั้น dns IP VIP จะ "พร้อมเสมอ") อนิจจาเราไม่มีโครงสร้างพื้นฐานการฟันดาบที่ดีและหากไม่มีการฟันดาบเครื่องกระตุ้นหัวใจก็ไม่ได้ผลดีนัก (จากประสบการณ์ของฉัน
รันเซิร์ฟเวอร์ dns โลคัลบนแต่ละโหนดและมี resolv.conf ให้ชี้ไปที่ localhost สิ่งนี้ใช้งานได้ แต่มันจะทำให้เรามีบริการมากขึ้นในการตรวจสอบและจัดการ
รันแคชโลคัลบนแต่ละโหนด ผู้คนดูเหมือนจะพิจารณา nscd "เสีย" แต่ dnrd ดูเหมือนจะมีชุดคุณสมบัติที่ถูกต้อง: มันทำเครื่องหมายเซิร์ฟเวอร์ dns เป็นขึ้นหรือลงและจะไม่ใช้เซิร์ฟเวอร์ dns 'ลง'
การคัดเลือกนักแสดงดูเหมือนว่าจะทำงานที่ระดับการจัดเส้นทาง ip เท่านั้นและขึ้นอยู่กับการอัพเดทเส้นทางสำหรับความล้มเหลวของเซิร์ฟเวอร์ Multi-casting ดูเหมือนว่าจะเป็นคำตอบที่สมบูรณ์แบบ แต่การเชื่อมโยงไม่รองรับการออกอากาศหรือ multi-casting และ docs ที่ฉันสามารถหาได้ดูเหมือนจะแนะนำว่า multicast dns มุ่งเน้นไปที่การค้นพบบริการและตั้งค่าอัตโนมัติมากกว่าการแก้ไข DNS ปกติ .
ฉันขาดวิธีแก้ปัญหาที่ชัดเจนหรือไม่?