약 100 개의 호스트가 3 개의 내부 DNS 서버 (바인드 9)를 가리키는 작은 데이터 센터가 있습니다. 내부 DNS 서버 중 하나를 사용할 수 없게되면 문제가 발생합니다. 이 시점에서 해당 서버를 가리키는 모든 클라이언트의 성능이 매우 느리게 시작됩니다.
문제는 주식 리눅스 리졸버가 실제로 다른 DNS 서버로 "장애 조치"라는 개념을 가지고 있지 않은 것 같습니다. 사용하는 시간 제한과 재시도 횟수를 조정할 수 있고 (목록을 통해 작동하도록 회전을 설정할 수 있음) 기본 DNS 서버를 사용할 수없는 경우 서비스를 사용하는 설정이 훨씬 느리게 수행됩니다. 현재 이것은 우리에게 가장 큰 서비스 중단 요인 중 하나입니다.
나의 이상적인 대답은 "RTFM : tweak /etc/resolv.conf like this ..."와 같은 것이지만, 이것이 옵션이라면 그것을 보지 못했습니다.
다른 사람들이이 문제를 어떻게 처리했는지 궁금했습니다.
가능한 3 가지 유형의 솔루션을 볼 수 있습니다.
linux-ha / Pacemaker 및 장애 조치 IP를 사용하십시오 (dns IP VIP는 "항상 사용 가능"). 아아, 우리는 좋은 펜싱 인프라가 없으며 펜싱 장치가 없으면 맥박 조정기가 잘 작동하지 않습니다 (제 경험에 따르면 Pacemaker는 펜싱없이 가용성을 낮 춥니 다).
각 노드에서 로컬 dns 서버를 실행하고 resolv.conf가 localhost를 가리 키도록합니다. 이것은 효과가 있지만 모니터링하고 관리 할 수있는 더 많은 서비스를 제공 할 것입니다.
각 노드에서 로컬 캐시를 실행하십시오. 사람들은 nscd를 "깨진"것으로 생각하지만 dnrd는 dns 서버를 작동 또는 중지 상태로 표시하고 '작동 중지'dns 서버를 사용하지 않는 올바른 기능을 설정 한 것으로 보입니다.
모든 캐스팅은 IP 라우팅 수준에서만 작동하는 것으로 보이며 서버 오류에 대한 경로 업데이트에 따라 다릅니다. 멀티 캐스팅은 완벽한 해답 인 것처럼 보였지만 bind는 브로드 캐스트 또는 멀티 캐스팅을 지원하지 않으며, 발견 할 수있는 문서는 멀티 캐스트 DNS가 일반 DNS 해결보다는 서비스 검색 및 자동 구성에 더 중점을 둔 것으로 보입니다. .
확실한 해결책이 없습니까?