事象
bind でmasterからslaveへゾーン転送できない。
調査
①プロセスが死んでいるのか
⇒ps -ef | grep named | grep -v grep
②応答は返すのか
⇒お互いのサーバから通信する。
nslookup memo.wakaue.info ns01.wakaue.info
nslookup memo.wakaue.info ns02.wakaue.info
③tcp53番、udp53番が生きているか。
⇒telnet ns01.wakaue.info 53
telnet ns02.wakaue.info 53
nmapなどのポートスキャンモジュールがあればそれでもよい。
④ログは正常に出力されているか
⇒tail -f /var/named/chroot/var/log/named.log
tail -f /var/log/messages
⑤シリアル番号がmasterよりslaveのほうが大きくなっていないか
解決方法
①②③④は、該当サーバのnamedをrestartしてみる。
おそらく、下記のようなメッセージとなる。
/etc/init.d/named restart
Stopping named: .umount: /var/named/chroot/var/named: device is busy.
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))
[ OK ]
Starting named: [ OK ]
⑤は、slaveの対象ゾーンファイルを削除して、slaveのnamedを再起動する。
ゾーン転送が開始される。
※⑤④のエラーで実際に転送できない状態となっていたことがある。
上記対処をして、「device is busy.」表示が出たが、転送が正常にできた。
ログにも正常に転送できたログが出力された。
Jul xx xx:xx:xx ns02 named[1234]: transfer of 'memo.wakaue.info' from xxxxxxx#53: Transfer completed: 1 messages, 5 records, 275 bytes, 0.001 secs (275000 bytes/sec)
「device is busy.」になった場合は、namedをストップして、namedにてマウント
されるものを全て解除する。
その後にnamedをスタートしたら治った。
以上