Mamy małe centrum danych z około setką hostów wskazujące na 3 wewnętrzne serwery dns (powiązanie 9). Nasz problem pojawia się, gdy jeden z wewnętrznych serwerów dns staje się niedostępny. W tym momencie wszyscy klienci wskazujący ten serwer zaczynają działać bardzo wolno.
Problemem wydaje się być to, że podstawowy program do rozwiązywania problemów z linuksem tak naprawdę nie ma pojęcia „przełączania awaryjnego” na inny serwer dns. Możesz dostosować limit czasu i liczbę ponownych prób, z których korzysta, (i ustawić rotację, aby działał na liście), ale bez względu na to, jakie ustawienia korzystasz z naszych usług, działają znacznie wolniej, jeśli podstawowy serwer dns stanie się niedostępny. W tej chwili jest to dla nas jedno z największych źródeł zakłóceń usług.
Moją idealną odpowiedzią byłoby coś w stylu „RTFM: tweak /etc/resolv.conf like this ...”, ale jeśli jest to opcja, nie widziałem tego.
Zastanawiałem się, jak inni poradzili sobie z tym problemem?
Widzę 3 możliwe typy rozwiązań:
Użyj linux-ha / Pacemaker i przełączania awaryjnego ips (więc VIP dns IP VIP jest „zawsze” dostępny). Niestety, nie mamy dobrej infrastruktury do szermierki, a bez szermierki stymulator serca nie działa zbyt dobrze (z mojego doświadczenia Pacemaker zmniejsza dostępność bez szermierki).
Uruchom lokalny serwer dns na każdym węźle i niech resolv.conf wskazuje na localhost. To by działało, ale dałoby nam znacznie więcej usług do monitorowania i zarządzania.
Uruchom lokalną pamięć podręczną na każdym węźle. Wydaje się, że ludzie uważają nscd za „zepsuty”, ale dnrd wydaje się mieć odpowiedni zestaw funkcji: oznacza, że serwery dns są w górę lub w dół i nie będą używać serwerów „down”.
Wydaje się, że rzutowanie dowolne działa tylko na poziomie routingu IP i zależy od aktualizacji tras z powodu awarii serwera. Wydawało się, że wielokrotne przesyłanie byłoby idealną odpowiedzią, ale bind nie obsługuje emisji ani wysyłania wielokrotnego, a dokumenty, które mogłem znaleźć, wydają się sugerować, że dns multiemisji jest bardziej ukierunkowany na wykrywanie usług i automatyczną konfigurację niż na zwykłe rozwiązywanie dns .
Czy brakuje mi oczywistego rozwiązania?