DNS Summer Day 2016 〜 PowerDNS 質疑応答 その2

0

    先日の DNS Summer Day 2016 で PowerDNS についての質問を頂きました。

    回答その2 を投稿します。

     

    Q)

    PowerDNSをスレーブサーバとして使用する時の動作について。

    マスターサーバが複数存在しており、それぞれのマスタのSerialが異なっている場合の挙動を教えてほしい。

     

    A)

    弊社の検証環境で試してみました。

     

    [検証環境の構成]

     

    [検証内容]

    各マスタサーバに slave.com というマスタゾーンを作成。

     

    スレーブサーバに slave.com というスレーブゾーンを作成。

    マスタサーバは、上記構成のマスタサーバ1〜4を指定。

     

    (MariaDBでは以下のような設定になります)

    MariaDB [pdns]> SELECT name,master FROM domains WHERE name = 'slave.com';
    +-----------+-----------------------------------------------------+
    | name      | master                                              |
    +-----------+-----------------------------------------------------+
    | slave.com | 172.16.1.154,172.16.1.155,172.16.1.156,172.16.1.157 |
    +-----------+-----------------------------------------------------+
    1 row in set (0.00 sec)

     

    各マスタサーバの slave.com には、それぞれ異なるSerialを設定。

     

    この時、スレーブサーバのPowerDNSはどのような挙動をするか?

     

    [検証結果]

    PoswerDNSは自分が持っているスレーブゾーン情報のリフレッシュ間隔に到達すると、マスタサーバにSOAレコードの問い合わせを行います。

    この時、SOAレコードのSerialが自分が持っている情報のSerialより大きい時、ゾーン転送を行います。

    自分が持っている情報のSerialと同じ、または、小さい時はゾーン転送は行いません。

     

    マスタサーバが複数指定されている時、この一連の動作はマスタサーバのいずれかひとつのサーバに対して実行されます。

    Serialが小さいからといって次のサーバのSOAを確認したり、すべてのマスタサーバからSerialが一番大きいものを採用したりすることはありませんでした。

     

    リフレッシュ間隔毎に上記動作が実施されますが、SOAレコード確認を行うマスタサーバは都度ローテーションされて使用されます。(どのようなルールでマスタサーバを選択しているかは未確認です。)

    一回のリフレッシュ処理では、スレーブサーバが最新(Serialが一番大きい)レコードを取得することはできませんが、何回かリフレッシュ処理を繰り返すうちにすべてのマスタサーバが確認されて、最終的には最新(Serialが一番大きい)レコードを取得することができました。

     

     

    レアな状況なので、あまり問題にはならないのではないでしょうか。

     


    コメント
    コメントする








       

    calendar

    S M T W T F S
       1234
    567891011
    12131415161718
    19202122232425
    262728293031 
    << July 2020 >>

    selected entries

    categories

    archives

    recent comment

    links

    profile

    search this site.

    others

    mobile

    qrcode

    powered

    無料ブログ作成サービス JUGEM