
Я хотел бы узнать, какой вариант лучше для переноса доменов и их обновлений между главным и подчиненным серверами PowerDNS.
Я видел много старых постов с 2006 года, в которых говорилось, что лучше использовать репликацию MySQL, но это было 8 лет назад. Поэтому с текущей версией PowerDNS я хотел бы узнать, какой способ лучше — репликация MySQL или метод AXFR?
решение1
В документации говорится: «Встроенная репликация используется по умолчанию, если специально не настроена другая операция».http://doc.powerdns.com/html/replication.html) Под Native подразумевается репликация, которая является родной для используемого вами бэкэнда, где ему не нужно принимать активного участия в самом процессе, а просто использовать представленные ему данные. Для большинства людей MySQL Native обычно означает MySQL Replication, хотя технически так можно назвать и комбинацию rsync и mysqldump.
PowerDNS Server не поддерживает инкрементные передачи зон (IXFR), но использует AXFR. Для действительно больших зон это означало бы увеличение сетевого трафика между вашими серверами имен. Кроме того, у меня нет опыта с тем, что происходит, когда Зона больше доступной оперативной памяти. PowerDNS Server может тогда захлебнуться.
Главный/ведомый сервер AXFR можно настроить только с помощью бэкэнда BIND Zonefile, т. е. в «традиционном» стиле BIND8/9, однако, если вы планируете развернуть DNSSEC с PowerDNS, для хранения метаданных и ключей потребуется бэкэнд с поддержкой DNSsec, например MySQL.
Большинство людей, выбирающих чистую настройку сервера PowerDNS, используют собственную репликацию (с MySQL), поэтому именно по этой теме доступна большая часть информации поддержки от пользователей сервера PowerDNS.
Благодаря MySQL репликация на все ваши серверы имен происходит практически мгновенно, что обеспечивает более удобную работу пользователей, если вы разрешите клиентам изменять собственные зоны/записи, например, через веб-интерфейс к базе данных, которую использует сервер PowerDNS.
решение2
В итоге я использовал кластер MySQL Galera вместо этого, настроив все три сервера Power DNS в качестве главных, все работает просто замечательно.
решение3
Обратите внимание, что MySQL — это обычный текст на линии. Поэтому вам нужно шифровать, чтобы, например, не утечь ваши ключи DNSsec.
MySQL SSL слишком хлопотный (и вам, скорее всего, придется компилировать его вручную). MySQL через туннель ssh - pita для настройки. MySQL поверх всего остального - есть проблема поддержания туннеля работающим и отсутствия отключения подчиненного и главного серверов друг от друга.
Лучшее решение — mysqldump через scp. Вы можете устранить все проблемы с туннелями и соединениями master-slave.
Вы можете настроить пользовательский nanocron для выполнения синхронизации каждые 10 секунд, на небольших базах данных это ничего не значит.