Добро пожаловать на форум, Гость!
Войдите или зарегистрируйтесь!
Имя пользователя:   Пароль:  
Запомнить меня 




Начать новую тему Ответить на тему   [ Сообщений: 2 ] 
Автор Сообщение
 Заголовок сообщения: Failover DNS или ставим bind на кластер
СообщениеДобавлено: 29 сен 2011, 12:36 
Бородатый сис
Аватар пользователя
Статус: Не в сети

GeoIP: Kyrgyzstan

Сообщений: 2897
Откуда: Из серверной
Зарегистрирован: 03 мар 2010, 15:12
Благодарил (а): 19 раз.
Поблагодарили: 121 раз.
ОС: RHEL 6.7
Схема такая - 2 сервака работают в HA-режиме (1 нода primary другая standby), надо поставить на них DNS наким образом чтобы сервак работал 24/7 и не реагровал на выпадения машин.
Для обеих машин в моем случае используется общее хранилище данных SAN, но возможно также использование синхронизации данных посредством DRBD или crsync. Обе машины с RedHat на борту, так что с конфигами (точнее с конфигом) проблем не должно быть.

eth1 - ваш сетефой интерфейс для синхронизации (желательно соединить ноды кроссовером) на обоих нодах
eth0 - внешний интерфейс (на обоих нодах)
Предположим что на первой и второй ноде на внешних интерфейсах присвоены адреса 10.0.0.10 и 10.0.0.20 соответственно.
dns1 - имя первичной ноды
dns2 - имя вторичной ноды
10.0.0.1 - это "внешний плавающий" IP нашего DNS-сервера на котором наш bind будет слушать. Этот IP будет переезжать вместе с bind'ом с сервера на сервер.
обязательно вписываем все ip и имена хостов в /etc/hosts

Итак поехали!

Ставим бинд на обе ноды:
Код:
#yum install bind bind-chroot


На переносим папку /var/named/chroot на общий раздел, у меня он примонтирован как /srv/data, если вы используете DRBD, то папку надо переносить на DRBD-раздел, в случае с crsync ничего переносить не надо, надо лишь засинкать эти директории:
Код:
#mv /var/named/chroot /srv/data/named
#rm -rf /var/named
# ln -s /srv/data/named /var/named


правим файл /etc/sysconfig/named (на обоих нодах), в который дописываем строчку
Код:
ROOTDIR="/srv/data/named"

И копируем скелет в нашу песочницу
Код:
# mv /etc/named.conf  /srv/data/named/etc
# mv /etc/named.iscdlv.key  /srv/data/named/etc
# mv /etc/named.localhost  /srv/data/named/etc
# mv /etc/named.loopback  /srv/data/named/etc
# mv /etc/named.rfc1912.zones  /srv/data/named/etc
# mv /etc/named.root.key /srv/data/named/etc
# ln -sf /srv/data/named/etc/named.conf /etc/named.conf


Правим named.conf
Синтаксис: [ Загрузить ] [ Скрыть ]
  1. options { 
  2.     listen-on-v6 { none; }; 
  3.     listen-on { 10.0.0.1; }; 
  4.  
  5.     allow-transfer { 
  6.       <ip вторичного сервера>; 
  7.     }; 
  8.  
  9.     allow-query {any;}; 
  10.     directory    "/var/named"; 
  11.     dump-file    "/var/named/data/cache_dump.db"; 
  12.     statistics-file "/var/named/data/named_stats.txt"; 
  13.     memstatistics-file "/var/named/data/named_mem_stats.txt"; 
  14.     recursion yes; 
  15.  
  16.     dnssec-enable yes; 
  17.     dnssec-validation yes; 
  18.     dnssec-lookaside auto; 
  19.  
  20.     /* Path to ISC DLV key */ 
  21.     bindkeys-file "/etc/named.iscdlv.key"; 
  22. }; 
  23.  
  24. logging { 
  25.     channel default_debug { 
  26.         file "/var/log/named.log"; 
  27.         severity dynamic; 
  28.     }; 
  29. }; 
  30.  
  31. zone "." IN { 
  32.     type hint; 
  33.     file "/var/named/named.ca"; 
  34. }; 
  35.  
  36. include "/etc/named.rfc1912.zones"; 
  37. include "/var/named/zones.conf"; 


Создаем файл zones.conf
Код:
# cat > /srv/data/named/var/named/zones.conf
// Пример файла в котором будем прописывать зоны DNS. Я не буду расписывать что и как делать - этого в интернете валом.
zone "google.com" {
    type forward;
    forward only;
    forwarders {
        206.124.64.1;
        85.115.208.29;
    };
};


правим фалик /etc/logrotate.d/named (на обоих нодах)
Код:
/srv/data/named/var/log/named.log {
    compress
    daily
    rotate 5
    missingok
    #create 0644 named named
    postrotate
        /sbin/service named reload  2> /dev/null > /dev/null || true
    endscript
}


Запускаем, проверяем:
Код:
# service named start

если есть ошибки - смотрим логи и поправляем.

Ставим heatrbeat (также на обе ноды) - пора подумать об отказоустойчивости.

Код:
#yum install heartbeat


Создаем и правим файл /etc/ha.d/authkeys
Код:
 # touch /etc/ha.d/authkeys && vi /etc/ha.d/authkeys


в который добавляем следующие строки
Код:
 auth 1
 1 md5 supersecret


где supersecret - это секретная фраза для аутентификации.

Меняем права на файл /etc/ha.d/authkeys:
Код:
 # chmod 0600 /etc/ha.d/authkeys


Создаем и правим файл /etc/ha.d/ha.cf
Код:
 # touch /etc/ha.d/ha.cf && vi /etc/ha.d/ha.cf


и добавляем следующие строки
Код:
 logfile /var/log/ha-log
 logfacility     local0
 keepalive 2
 deadtime 30
 warntime 10
 initdead 120
 udpport 694
 baud    19200
 bcast eth1
 auto_failback on
 autojoin none
 node dns1
 node dns2


Создаем и правим файл /etc/ha.d/haresources
Код:
# touch /etc/ha.d/haresources && vi /etc/ha.d/haresources

вписываем:
Код:
dns1 IPaddr2::10.0.0.1/32/eth0 named


Запуск
Инициируем автозапуск сервисов
Код:
# chkconfig heartbeat on

Заметьте, что я не добавляю в автозапуск named - его, как и ip-адрес 10.0.0.1 поднимет heartbеat.

Запускаемся
Код:
# service heartbeat start

если все конфиги написаны без ошибок и мы все сделали правильно, то через пару минут мы увизим named в списке процессов.
Теперь то же самое нужно проделать на второй ноде.

Изначально named будет жить на сервере dns1, но стоит выключить эту машину или просто выдернуть кабель из eth1 - через пару минут named переедет на dns2 и прихватит с собой IP-адрес.


Я не злопамятный, я просто часто ковыряю логи
Изображение


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Failover DNS или ставим bind на кластер
СообщениеДобавлено: 30 сен 2011, 07:52 
Эникейщик
Аватар пользователя
Статус: Не в сети

GeoIP: Kyrgyzstan

Сообщений: 493

Зарегистрирован: 19 май 2010, 08:52
Благодарил (а): 5 раз.
Поблагодарили: 17 раз.
Raven
круть *COMP*


Помни прошлое, живи настоящим и думай о будущем.
Изображение


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 2 ] 
   Похожие темы   Автор   Ответов   Просмотров   Последнее сообщение 
Нет новых непрочитанных сообщений в этой теме где храняться в системе настройки видео и эквалайзера

в форуме Windows

Anton_uz

0

659

19 авг 2012, 21:53

Anton_uz Перейти к последнему сообщению

Перенесенная ^_^

в форуме Linux

root

3

38

02 мар 2010, 16:15

Gen1us2k Перейти к последнему сообщению

Нет новых непрочитанных сообщений в этой теме Компания Microsoft представила виртуальную файловую систе...

в форуме Новости *nix

[Ботя]

0

134

04 фев 2017, 03:30

Гость Перейти к последнему сообщению



Кто сейчас на форуме

Сейчас этот форум просматривают: Google и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Собрано Raven. Русская поддержка phpBB
phpBB SEO