私には、約40のLinuxサーバーと複数のPHPプログラマーの従属異種ネットワークがあります。 長い間、私はデータベース、memcached、redis、およびsphinxサーバーへの接続を単一の構成統一ファイルに転送するように要求しました。 しかし今日、素晴らしいアイデアが生まれました。 これは、作業中のサーバーをすばやくオン/オフできず、技術サポートに
アップグレード虐殺を提供できないことが原因でした。 もちろん、サーバーの数が少ないときは数時間待つことができ、お茶を飲んだり、愛する人とチャットしたりできますが、これにより、多数のマシンで作業することが非常に難しくなります。
アイデアは次のとおりです。各ローカルマシンに、すべての内部リソースを記述するゾーンを委任します。記録の有効期間はわずか数秒です。 変更が発生した場合、新しい鉄片をクラスターに追加し、古い鉄片をオフにし、既存のクラスターのアドレスを変更するなど-dns-masterサーバー上のゾーンファイルを編集して、スレーブ、つまり作業中のマシンにアップロードするだけです。 個人的には、そのアイデアはそのシンプルさにおいて依然として素晴らしいようです。
技術的な実装は非常に簡単です。数行の設定を行います。数十台のサーバーを持つ管理者は、何が何であるかをよく理解しているようですが、最初のリクエストで詳細を説明します。
ゾーンに美しい名前を付け、新しいDNSマスターとなるサーバーに委任します。
[root@isp4 manualzone]
新しいサーバーで:
named.conf:
acl "trust" { 127.0.0.1; AA.BB.CC.0/24; }; options { check-names master ignore; allow-transfer { any; }; allow-notify { any; }; allow-query { any; }; directory "/var/lib/named"; dump-file "/var/log/named_dump.db"; statistics-file "/var/log/named.stats"; listen-on { AA.BB.CC.74; 127.0.0.1; }; query-source address * port 53; transfer-source * port 53; notify-source * port 53; notify yes; disable-empty-zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA"; };
もちろん、ゾーンファイルには、関心のあるすべてのサービスが記述されています。 エントリの有効期間を、ニーズに合わせて調整することを忘れないでください。
SER34:/var/lib/named/master
さて、ここで私たちはスレーブに行き、ローカルインターフェース上で名前を上げます(結局、サーバー自体以外は誰も必要としません)そして最小限の設定で。
named.conf
options { allow-update { AA.BB.CC.74; }; directory "/var/lib/named"; dump-file "/var/log/named_dump.db"; statistics-file "/var/log/named.stats"; listen-on port 53 { 127.0.0.1; }; allow-query { 127.0.0.1; }; notify no; disable-empty-zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA"; }; zone "service.noc.corp.ru" { type slave; file "slave/service.noc.corp.ru"; masters { AA.BB.CC.74; }; };
その後、/ etc / resolv.confに書き込みます
SRV03:/var/lib/named/slave
そしてもちろんチェック:
SRV03:/var/lib/named/slave
そして、小さくても手入れの行き届いたサーバーパークのすべてのノードで実行します。 尊敬されるプログラマーが、5分間で多数の構成を実行し、天びんの1つまたは別のノードをオフにする時間を見つけることを考えずに生活を楽しんでいます。
PS。 バランサとプロキシが使用されない理由を尋ねないでください。これにはアーキテクチャ上の理由があります。
PPS 最初にシステム自体をセットアップするよりも多くの時間をこの記事の執筆に費やしました。 すべてのIPアドレス、ホスト名、および構成ファイルは実際に基づいており、パフォーマンスがテストされています。