DnsServer icon indicating copy to clipboard operation
DnsServer copied to clipboard

Redundancy (clustering) support

Open rlagmlah opened this issue 4 years ago • 71 comments

Hello. TechnitiumDNS is often unresponsive. The cause is unknown, but usually when run for more than 3 days in a row. This issue seems to have no problems during the daytime if I restart TechnitiumDNS every night, but with a low probability (2% in my case) there was a case where TechnitiumDNS stopped working. To solve this, 2 TechnitiumDNS were executed respectively, and 2 TechnitiumDNS were registered in the DHCP server, but it is difficult to manage the settings and statistics because each DNS server has independent configuration files. I think it will be very helpful for stability if it supports clustering officially. thank.

rlagmlah avatar Apr 23 '20 06:04 rlagmlah

Thanks for the feedback. Clustering is already in my to do list but it wont be available immediately as next release is more focused on ability to host primary, secondary and stub zones and for optimizing how zone data is stored in memory. The zone optimization should make the server more responsive under load.

ShreyasZare avatar Apr 23 '20 07:04 ShreyasZare

New release is now available. This should fix most of the scaling issues.

ShreyasZare avatar Jul 05 '20 11:07 ShreyasZare

After applying the new release, the server became much more stable. The response is also stable. Now I'm going to test how many days it works without restarting the server. However, even if the server operates stably, I think it is better to use two or more servers for high availability. Nothing is more annoying than the sudden disconnection of the Internet. :)

rlagmlah avatar Jul 06 '20 17:07 rlagmlah

Thanks for the feedback. I hope it works well and is stable. And as you said, redundancy is always useful no matter how well your infra is setup.

ShreyasZare avatar Jul 07 '20 06:07 ShreyasZare

The secondary DNS server ran without problems for 10 days without restarting, and the main DNS server ran without error for 14 days. It works stably. I decided to restart every weekend at dawn. :)

rlagmlah avatar Jul 20 '20 05:07 rlagmlah

The secondary DNS server ran without problems for 10 days without restarting, and the main DNS server ran without error for 14 days. It works stably. I decided to restart every weekend at dawn. :)

Thanks for sharing. I am planning on using async IO which should improve the performance even more. Will update on it.

ShreyasZare avatar Jul 20 '20 06:07 ShreyasZare

I am currently running 2 DNS Servers for redundancy/resilience and also interested in DHCP Failover and an AD like DNS Setup, where both are writeable. Currently having to have 2 DNS Servers, only 1 with DHCP, and the other with secondary zones only. So if the first is unavailable, no DHCP and even if static address no DNS Entry in the second DNS Server. Also as mentioned having to manually mirror the setup from one to another, ie dns blocked domains, forwarders etc is ok as its simple but would be nice to have a shared location for setup and logs etc

Hemsby avatar Jan 19 '21 17:01 Hemsby

I am currently running 2 DNS Servers for redundancy/resilience and also interested in DHCP Failover and an AD like DNS Setup, where both are writeable. Currently having to have 2 DNS Servers, only 1 with DHCP, and the other with secondary zones only. So if the first is unavailable, no DHCP and even if static address no DNS Entry in the second DNS Server. Also as mentioned having to manually mirror the setup from one to another, ie dns blocked domains, forwarders etc is ok as its simple but would be nice to have a shared location for setup and logs etc

Thanks for the feedback. This should be available in a few months time.

ShreyasZare avatar Jan 20 '21 06:01 ShreyasZare

Huge +1 for this - I'd particularly like to see cluster(able) DHCP, as I just switched away from a highly available Kea solution to Technitium in a very important installation serving two people 🤣 as Technitium has much nicer management of static leases, dynamic DNS and other niceties.

Zorlin avatar Apr 26 '22 00:04 Zorlin

Any update on this feature request? Am manually handling the sync between two servers but would be great to not have to :)

MisterDeee avatar Jul 20 '22 14:07 MisterDeee

Any update on this feature request? Am manually handling the sync between two servers but would be great to not have to :)

Currently, multi user role based access support is being implemented. The clustering feature is planned after that major update.

ShreyasZare avatar Jul 21 '22 05:07 ShreyasZare

hi, i agree on dhcp cluster or failover function. should be nice.

westdam avatar Oct 21 '22 07:10 westdam

news about it?

westdam avatar Apr 06 '23 23:04 westdam

news about it?

It will come after DHCPv6 feature is implemented.

ShreyasZare avatar Apr 07 '23 07:04 ShreyasZare

Hey checking in for updates :) Thanks for all the great work you've been doing, Technitium is awesome :)

ViktorBarzin avatar Sep 13 '23 11:09 ViktorBarzin

Hey checking in for updates :) Thanks for all the great work you've been doing, Technitium is awesome :)

any updates in this feature? no pushing.... just curious

picanl avatar Oct 31 '23 10:10 picanl

Hey checking in for updates :) Thanks for all the great work you've been doing, Technitium is awesome :)

any updates in this feature? no pushing.... just curious

I don't think that they release this feature verry soon. I'm waiting for a long time now. Even before the creation of this thread and its the only reason why I'm still not able to use technitium in most cases. Its the only big and powerfull next-gen dns I know, which is not able to build a cluster..... But if the developers would think the same about it, the feature would already exist.

Btw: Does anyone know another, not annoying, way to rollout 2-n technitium servers in a docker/kuberneetes Cluster with automatic replication of everything?

computerkoenig avatar Oct 31 '23 11:10 computerkoenig

I tried exposing the relevant volumes of two technitium containers and rsyncing them between the two different servers. Didn't work great. Technitium writes a lot of data so there was too many conflicts.

madeofpendletonwool avatar Oct 31 '23 11:10 madeofpendletonwool

FYI: https://gravity.beryju.io/ in docker has been working well for me since it offers redundancy.

jho1670 avatar Oct 31 '23 14:10 jho1670

Hey checking in for updates :) Thanks for all the great work you've been doing, Technitium is awesome :)

any updates in this feature? no pushing.... just curious

Thanks for asking. Will try to get this feature prioritized since its being requested frequently. This means other planned features like DHCPv6 will be done after this.

ShreyasZare avatar Oct 31 '23 16:10 ShreyasZare

Just chiming in with my vote for clustering to be prioritized ahead of DHCPv6. ;)

rinseaid avatar Oct 31 '23 16:10 rinseaid

FYI: https://gravity.beryju.io/ in docker has been working well for me since it offers redundancy.

prefer clustering in Technitium

picanl avatar Nov 01 '23 12:11 picanl

another vote for clustering over DHCPv6.

advisorgee avatar Nov 07 '23 14:11 advisorgee

Also throwing in a vote for clustering over DHCPv6

techguydave avatar Dec 10 '23 20:12 techguydave

Also throwing in a vote for clustering over DHCPv6

Initial clustering is planned for DNS zones and overall settings. DHCP clustering support will be added later with DHCPv6.

ShreyasZare avatar Dec 11 '23 07:12 ShreyasZare

I'm adding yet another vote for redundancy. In my use case, high availability is much more important than DHCPv6.

The0cdguy avatar Dec 23 '23 21:12 The0cdguy

Agree.

Redundancy is higher for me too instead dhcpv6

Byez Marco

Il sab 23 dic 2023, 22:17 Jamie @.***> ha scritto:

I'm adding yet another vote for redundancy. In my use case, high availability is much more important than DHCPv6.

— Reply to this email directly, view it on GitHub https://github.com/TechnitiumSoftware/DnsServer/issues/134#issuecomment-1868371658, or unsubscribe https://github.com/notifications/unsubscribe-auth/AP7YGHRTQ5E5MMZOTVOZSZ3YK5DAHAVCNFSM4MOZHPLKU5DIOJSWCZC7NNSXTN2JONZXKZKDN5WW2ZLOOQ5TCOBWHAZTOMJWGU4A . You are receiving this because you commented.Message ID: @.***>

westdam avatar Dec 25 '23 07:12 westdam

Subject: Support for Redundancy (Clustering) in TechnitiumDNS

Dear @ShreyasZare and TechnitiumDNS Community,

I've been closely following the ongoing discussions regarding the implementation of redundancy (clustering) support in TechnitiumDNS, specifically in the context of issue #134. The insights shared by various contributors, notably @rlagmlah, have highlighted the critical need for stability and high availability in DNS services.

As someone who appreciates the robustness and user-friendly features of TechnitiumDNS, I strongly believe that introducing clustering support would significantly enhance its reliability. The challenges outlined by users, such as @Hemsby and @computerkoenig, regarding the manual synchronization of settings and the need for a seamless failover solution, resonate with my own experiences.

The progressive updates and responsiveness from the Technitium team, particularly in addressing scalability and performance issues, are commendable. However, as the demand for uninterrupted internet connectivity grows, the importance of redundancy cannot be overstated. It's encouraging to see the community's unanimous support for prioritizing clustering over other features like DHCPv6, as echoed in recent comments by @rinseaid and @The0cdguy.

In conclusion, I add my voice to the chorus of users advocating for the swift integration of clustering capabilities into TechnitiumDNS. This feature is not just a convenience but a necessity for ensuring continuous and reliable DNS services in various deployment scenarios.

Thank you for your dedication to enhancing TechnitiumDNS, and I eagerly await further updates on this feature.

Best regards, majiajun

majiajun7 avatar Jan 05 '24 07:01 majiajun7

@majiajun7 Thanks for the feedback and kind words. The clustering feature is already prioritized now and is in design phase with reading of Catalog Zones (RFC 9432).

Note that it may take a couple of releases for this to be available. The next release is already being worked for some common options, bug fixes, and upgrade to .NET 8 runtime. Later, the next major release should have Catalog Zones support at minimum and mostly full clustering support too.

ShreyasZare avatar Jan 05 '24 12:01 ShreyasZare

Looking forward clustering as well. I am slowly testing TechnitiumDNS for a future migration from Pi-hole.

In the meantime, assuming I run 2 instances, is it safe to:

  • Stop server 1 and 2
  • Rsync the config folder over server 2
  • Restart both servers?

Should I target only specific files or would I even be able to rsync the content while server 1 is running?

I am planning on testing that scenario next week. It's mostly my existing flow with Pi-hole, copying over the static entries from dnsmasq, altough I don't have to stop server 1, as it's flat text files. Essentially I want to script replicating the static DNS entries. DHCP is a non issue, as both servers will server different range, at least for now.

Thanks.

Prevok avatar Jan 06 '24 20:01 Prevok