Bind rndc reconfig bei vielen Zonen zu langsam

Bind, PowerDNS
Post Reply
stickybit
Posts: 59
Joined: 2007-08-16 09:39
 

Bind rndc reconfig bei vielen Zonen zu langsam

Post by stickybit »

Hi Leute,

hab sehr viele (ca. 100.000) Zonen auf meinem Bind Server eingerichtet.
Nach Hinzufügen einer neuen Zone führe ich den Befehl

Code: Select all

rndc regonfig
aus.

Leider parst der Bind die gesamte Konfiguration nach Änderungen und das dauert viel zu lange, bis zu 30 Sekunden.
Leider habe ich keinen Befehl gefunden, nur diese eine neue Zone zu laden, wie beim Update.

Code: Select all

rndc reload zone
Gibt es einen Trick, um Bind für eine neue Zone schneller autoritativ zu machen?

Für jeden Hinweis / Vorschlag wäre ich sehr dankbar!
tiberian
Posts: 61
Joined: 2006-04-14 01:45
 

Re: Bind rndc reconfig bei vielen Zonen zu langsam

Post by tiberian »

Hallo stickybit,

also mir wäre nichts anderes bekannt um dem Bind eine neue Zone bekannt zu machen. Habe auch schon mal danach gesucht, aber nichts gefunden was für solche Fälle weiterhilft.
Falls Du aber was dazu findest, sag Bescheid würde mich auf jeden Fall interessieren :)

Grüße
Tiberian
stickybit
Posts: 59
Joined: 2007-08-16 09:39
 

Re: Bind rndc reconfig bei vielen Zonen zu langsam

Post by stickybit »

Tiberian wrote: Falls Du aber was dazu findest, sag Bescheid würde mich auf jeden Fall interessieren :)
Tiberian
nein, habe ich leider nichts gefunden.
Ich hatte schon die Idee, noch einen Bind auf der gleichen Maschine auf einem anderen Port laufen zu lassen. Da nur neue Zonen zu registrieren, damit das Ding schnell die Config lädt. Bei unbekannten Zonen soll dann der "Haupt-Namserver" den anderen abfragen. Hab ausprobiert. Es hat super funktioniert. Nur das nächste Problem. In diesem Fall antwortet der Haptserver nicht authoritativ (kein AA Flag). Das hilft mir leider nicht weiter. Ich habe auch keine Option gefunden den AA Flag zu "erzwingen".

Ich frage micht, was die Entwickler von bind sich dabei gedacht haben. Wieso läuft er beim Reconfig ALLE Zonen durch? Ich will ja nur eine hinzufügen. Wieso gibt es nicht so eine Option wie "reconfig zone".
Oder ist bind für viele Zonen nicht ausgelegt? Wie machen dann die großen Hoster? Ich kann doch nicht hingehen und bei jeden 10.000 Zonen eine neue Maschine hinstellen...
Roger Wilco
Posts: 5923
Joined: 2004-05-23 12:53
 

Re: Bind rndc reconfig bei vielen Zonen zu langsam

Post by Roger Wilco »

Woher soll Bind denn ohne das Parsen der Konfigurationsdatei bei `rndc reconfig` wissen, welche Zonen hinzugekommen sind? Das steht nunmal nur in der named.conf (bzw. den Dateien, die du in die named.conf einbindest).

Vielleicht willst du dir ja mal Bind DLZ ansehen.
stickybit
Posts: 59
Joined: 2007-08-16 09:39
 

Re: Bind rndc reconfig bei vielen Zonen zu langsam

Post by stickybit »

Roger Wilco wrote:Woher soll Bind denn ohne das Parsen der Konfigurationsdatei bei `rndc reconfig` wissen, welche Zonen hinzugekommen sind?
Das Update mit

Code: Select all

rndc reload domain.tld
dauert ein Bruchteil von Sekunde.
Man könnte doch

Code: Select all

rndc reconfig domain.tld
erlauben oder sowas.
Ich habe im Buch gelesen, dass Bind beim "reconfig" in der gesamten namde.conf nach Änderungen sucht. Das kann natürlich dauern. Er soll aber nur die neue(n) Zone(n) hinzufügen. Egal. Wenn es nicht geht, dann geht es halt nicht. Wie gesagt, ein Reconfig dauert bei mir bei 100.000 Zonen bis zu 1/2 Minute. Sowas kann ich leider nicht gebrauchen.
Roger Wilco wrote:Vielleicht willst du dir ja mal Bind DLZ ansehen.
Besten Dank für den Tipp! Da steht

Code: Select all

dlz "Mysql zone" {
...
};
Dies soll dann in die named.conf hinzugefügt werden. Ich habe es nicht ganz verstanden. Geschieht es nur einmal? Oder steht "Mysql zone" für eine einzige Zone? Das würde ja dann das o.g. Problem nicht lösen?

Danke im Voraus!!!
Roger Wilco
Posts: 5923
Joined: 2004-05-23 12:53
 

Re: Bind rndc reconfig bei vielen Zonen zu langsam

Post by Roger Wilco »

stickybit wrote:Das Update mit

Code: Select all

rndc reload domain.tld
dauert ein Bruchteil von Sekunde.
Man könnte doch

Code: Select all

rndc reconfig domain.tld
erlauben oder sowas.
Der Unterschied ist, dass die Bind-Instanz bei `rndc reload ...` bereits "weiß", dass sie Daten für die Zone hat. Bei `rndc reconfig ...` muss die gesamte Konfiguration geparsed werden, da sonst eine massiv von der Konfiguration in der named.conf abweichende Bind-Instanz laufen könnte.
stickybit wrote:Geschieht es nur einmal? Oder steht "Mysql zone" für eine einzige Zone?
Ja. Nein, das steht dann für alle Zonen, die in der entsprechenden Datenbank stehen. Lies einfach die Dokumentation. Es gibt darin auch Beispiele.
Post Reply