bind9 - problem (bindnamed: no process killed)

Dawn

Registered User
Ich haben einen eben erst neu installierten Debian Edge Server übernommen. Natürlich habe ich zuerst alle Packete aktualisiert und nacher musste ich bind9 installieren. Wenn ich bind9 neu starten will verhält sich dieses aber sehr merkwürdig:

Code:
 /etc/init.d/bind9 restart
Stopping domain name service...: bindnamed: no process killed
 failed! Starting domain name service...: bind.

Ein "ps aux | grep bind" ergibt folgende Ausgabe:
Code:
bind      3603  0.0  0.1  30400  2904 ?        Ssl  21:29   0:00 /usr/sbin/named -t /var/named/run-root -c /etc/named.conf -u bind

Wenn ich mein Syslog anschaue sehe ich nichts ungewöhliches (meine IP's habe ich mit 1.2.3.4 bzw. 1.2.4.4 ersetzt):
Code:
Dec 18 21:29:12 km31117 named[3561]: shutting down: flushing changes
Dec 18 21:29:12 km31117 named[3561]: stopping command channel on 127.0.0.1#953
Dec 18 21:29:12 km31117 named[3561]: no longer listening on 127.0.0.1#53
Dec 18 21:29:12 km31117 named[3561]: no longer listening on 1.2.3.4#53
Dec 18 21:29:12 km31117 named[3561]: no longer listening on 1.2.4.4#53
Dec 18 21:29:12 km31117 named[3561]: exiting
Dec 18 21:29:15 km31117 named[3603]: starting BIND 9.3.4 -t /var/named/run-root -c /etc/named.conf -u bind
Dec 18 21:29:15 km31117 named[3603]: found 1 CPU, using 1 worker thread
Dec 18 21:29:15 km31117 named[3603]: loading configuration from '/etc/named.conf'
Dec 18 21:29:15 km31117 named[3603]: listening on IPv4 interface lo, 127.0.0.1#53
Dec 18 21:29:15 km31117 named[3603]: listening on IPv4 interface eth0, 1.2.3.4#53
Dec 18 21:29:15 km31117 named[3603]: listening on IPv4 interface eth0:0, 1.2.4.4#53
Dec 18 21:29:15 km31117 named[3603]: command channel listening on 127.0.0.1#953
Dec 18 21:29:15 km31117 named[3603]: zone 0.0.127.IN-ADDR.ARPA/IN: loaded serial 20010622
Dec 18 21:29:15 km31117 named[3603]: zone 120.118.87.in-addr.arpa/IN: loaded serial 1198000840
Dec 18 21:29:15 km31117 named[3603]: running

Trotzdem gefällt mir die oben hervorgehobene Fehlermeldung nicht. Hat jemand eine Ahnung woran dies liegen könnte bzw. wie ich weiter nach dem Fehler suchen könnte?

Gruss,
Dawn
 
@LinuxAdmin: Ich habe nur die folgende Benachrichtigung erhalten, finde aber dein Posting leider hier nicht im Forum...


Wenn ich bind9 neu starten will [...]

Code:
---------
/etc/init.d/bind9 restart
---------

Ich sehe da einen kleinen Widerspruch ;)

Kannst du bitte ein wenig genauer werden? ;) Ich bin sicher ich übersehe etwas kleines dummes, aber ich komme wirklich nicht selber darauf. Habe schon stunden verloren inzwischen.
 
Ich hatte was in Deinem Post übersehen, wodurch meine Antwort keinen Sinn mehr ergeben hat... Daher habe ich sie wieder gelöscht ;)

Kommt die Fehlermeldung auch, wenn Du bind mit
Code:
/etc/init.d/bind9 stop
anhälst? Wurde es dann auch richtig gestoppt (d.h. tauch auch im 'ps' nicht mehr auf)?

Zum Testen könntest Du auch in dem bind9-Script in der Zeile nach '#!/bin/bash' ein 'set -x' einfügen. Dadurch wird eine Art debug-Modus altiviert, bei der die shell alle aufgerufenen Befehle nochmal ausgibt. Das könnte Dir vielleicht einen Hinweis geben, woran es liegt.

Ansonsten glaube ich nicht, dass der Fehler irgendwelche Auswirkungen hat (im logfile steht ja eindeutig drin, dass bind vor dem Starten korrekt beendet wurde).

Viele Grüße,
LinuxAdmin
 
Wenn ich das ausführe erhalte ich folgende Meldung. Allerdings ist der Prozess wirklich gestoppt. Meiner Meinung nach sieht es so aus als würde wie versucht ein zweiter Prozess zu stoppen. Ein "start" funktioniert ohne Fehlermeldungen.

Code:
/etc/init.d/bind9 stop
Stopping domain name service...: bindnamed: no process killed
 failed!

Den "set -x" Parameter habe ich mal ausprobiert. Beim stoppen wird folgendes ausgegeben:
Code:
+ PATH=/sbin:/bin:/usr/sbin:/usr/bin
+ OPTIONS=
+ RESOLVCONF=yes
+ test -f /etc/default/bind9
+ . /etc/default/bind9
++ OPTIONS=' -t /var/named/run-root  -c /etc/named.conf -u bind'
+ test -x /usr/sbin/rndc
+ . /lib/lsb/init-functions
++ FANCYTTY=
++ '[' -e /etc/lsb-base-logging.sh ']'
++ true
++ lsb_release -is
++ echo Debian
+ DISTRO=Debian
+ case "$1" in
+ log_daemon_msg 'Stopping domain name service...' bind
+ '[' -z 'Stopping domain name service...' ']'
+ '[' -z bind ']'
+ echo -n 'Stopping domain name service...: bind'
Stopping domain name service...: bind+ '[' Xyes '!=' Xno ']'
+ '[' -x /sbin/resolvconf ']'
+ /usr/sbin/rndc stop
+ sleep 1
+ killall -9 named
named: no process killed
+ log_end_msg 1
+ '[' -z 1 ']'
+ log_use_fancy_output
+ TPUT=/usr/bin/tput
+ EXPR=/usr/bin/expr
+ '[' xxterm '!=' xdumb ']'
+ '[' -x /usr/bin/tput ']'
+ '[' -x /usr/bin/expr ']'
+ /usr/bin/tput hpa 60
+ /usr/bin/tput setaf 1
+ '[' -z ']'
+ FANCYTTY=1
+ case "$FANCYTTY" in
+ true
++ /usr/bin/tput setaf 1
+ RED=''
++ /usr/bin/tput op
+ NORMAL=''
+ '[' 1 -eq 0 ']'
+ /bin/echo -e ' failed!'
 failed!
+ return 1
+ exit 0

Beim starten:
Code:
+ PATH=/sbin:/bin:/usr/sbin:/usr/bin
+ OPTIONS=
+ RESOLVCONF=yes
+ test -f /etc/default/bind9
+ . /etc/default/bind9
++ OPTIONS=' -t /var/named/run-root  -c /etc/named.conf -u bind'
+ test -x /usr/sbin/rndc
+ . /lib/lsb/init-functions
++ FANCYTTY=
++ '[' -e /etc/lsb-base-logging.sh ']'
++ true
++ lsb_release -is
++ echo Debian
+ DISTRO=Debian
+ case "$1" in
+ log_daemon_msg 'Starting domain name service...' bind
+ '[' -z 'Starting domain name service...' ']'
+ '[' -z bind ']'
+ echo -n 'Starting domain name service...: bind'
Starting domain name service...: bind+ modprobe capability
+ true
+ mkdir -p /var/run/bind/run
+ chmod 775 /var/run/bind/run
+ chown root:bind /var/run/bind/run
+ '[' '!' -x /usr/sbin/named ']'
+ start-stop-daemon --start --quiet --exec /usr/sbin/named --pidfile /var/named/run-root/var/run/named/named.pid -- -t /var/named/run-root -c /etc/named.conf -u bind
+ '[' Xyes '!=' Xno ']'
+ '[' -x /sbin/resolvconf ']'
+ log_end_msg 0
+ '[' -z 0 ']'
+ log_use_fancy_output
+ TPUT=/usr/bin/tput
+ EXPR=/usr/bin/expr
+ '[' xxterm '!=' xdumb ']'
+ '[' -x /usr/bin/tput ']'
+ '[' -x /usr/bin/expr ']'
+ /usr/bin/tput hpa 60
+ /usr/bin/tput setaf 1
+ '[' -z ']'
+ FANCYTTY=1
+ case "$FANCYTTY" in
+ true
++ /usr/bin/tput setaf 1
+ RED=''
++ /usr/bin/tput op
+ NORMAL=''
+ '[' 0 -eq 0 ']'
+ echo .
.
+ return 0
+ exit 0

Ich persönlich sehe das Problem von "killall -9 named" nicht. Das ist ja das original Bind9-Script (vorher war nur bind installiert und ist immer noch in /etc/init.d/ vorhanden). Hast du eine Idee was das Problem sein könnte, ich stehe leider immer noch auf dem Schlauch.

Gruss und besten Dank,
Dawn
 
Das Script hat offensichtlich eine Art Sicherheitsnetz eingebaut:

Code:
/usr/sbin/rndc stop
sleep 1
killall -9 named

Zuerst wird versucht, den named-Prozess mit dem zugehörigen Steuerungs-Tool 'rndc' (siehe man rndc) zu beenden und dann (falls das nicht geklappt hat) wird noch mit 'killall' versucht den Prozess zu beenden. Wenn der erste Versuch funktioniert, hat das 'killall' nichts zu tun und produziert die Fehlermeldung.

Viele Grüße,
LinuxAdmin
 
Ok nun ist alles klar, nur frage ich mich ob das wirklich normal ist. Ist ja wirklich sehr unschön auch in einem positiven Fall eine Fehlermeldung auszugeben. Nenn es Perfektionismus, aber mich würde es echt interessieren wie dies bei anderen aussieht, welche Debian Etch und Bind 9 einsetzen, was für ein Script habt ihr bzw. wird bei euch auch diese "Fehlermeldung" ausgegeben?

@LinuxAdmin: Besten Dank für deine super Hilfe.
 
Back
Top