3 dahili dns sunucusuna (bind 9) işaret eden yaklaşık yüz ana bilgisayar ile küçük bir veri merkezimiz var. Sorunumuz, dahili dns sunucularından biri kullanılamadığında gelir. Bu noktada, sunucuya işaret eden tüm istemciler çok yavaş performans göstermeye başlar.
Sorun, hisse senedi linux çözümleyici gerçekten farklı bir dns sunucusuna "başarısız" kavramı var gibi görünüyor. Kullandığı zaman aşımını ve yeniden deneme sayısını ayarlayabilir (ve liste boyunca çalışacak şekilde döndürmeyi ayarlayabilirsiniz), ancak hangi ayarlar kullanılırsa kullanılsın, birincil dns sunucusu kullanılamaz duruma gelirse çok daha yavaş performans gösterir. Şu anda bu bizim için en büyük hizmet kesintileri kaynaklarından biri.
Benim ideal cevabım "RTFM: tweak /etc/resolv.conf böyle ..." gibi bir şey olurdu, ama bu bir seçenekse görmedim.
Başkalarının bu sorunu nasıl ele aldığını merak ediyordum?
3 olası çözüm türünü görebiliyorum:
Linux-ha / Kalp Pili ve yük devretme ips kullanın (böylece dns IP VIP'leri "her zaman" kullanılabilir). Ne yazık ki, iyi bir eskrim altyapımız yok ve eskrimsiz pacemaker çok iyi çalışmıyor (benim deneyimime göre Pacemaker eskrim olmadan kullanılabilirliği düşürüyor).
Her düğümde yerel bir dns sunucusu çalıştırın ve resolv.conf dosyasının localhost'a işaret etmesini sağlayın. Bu işe yarardı, ancak bize izlenecek ve yönetilecek çok daha fazla hizmet verecek.
Her düğümde yerel bir önbellek çalıştırın. Millet nscd "kırık" olarak kabul, ancak dnrd doğru özellik kümesi var gibi görünüyor: dns sunucuları yukarı veya aşağı olarak işaretler ve 'aşağı' dns sunucuları kullanmaz.
Herhangi bir döküm yalnızca ip yönlendirme düzeyinde çalışır gibi görünür ve sunucu hatası için rota güncellemelerine bağlıdır. Çoklu döküm, mükemmel bir yanıt gibi görünüyordu, ancak bağlama yayını veya çoklu yayıncılığı desteklemiyor ve bulabildiğim dokümanlar, çok noktaya yayın dns'in normal dns çözümlemesinden ziyade hizmet keşfi ve otomatik yapılandırmaya daha fazla odaklandığını gösteriyor gibi görünüyor. .
Açık bir çözümü özlüyor muyum?