Журнал Системный Администратор, Октябрь 2007

Журнал Системный Администратор

Октябрь 2007

Цена: $4.5 US

  Подписаться

Зарегистриванные пользователи, пожалуйста следуйте этой ссылке


Создание и балансировка отказоустойчивых служб с помощью Cisco Content Switch

 

Как построить отказоустойчивый сервис? Можно вбух... вложить крупную сумму в супер-сервер с функцией «горячей» замены процессоров, памяти, блоков питания и т. д., а затем молиться на этот сервер. Убедившись, что молитва все-таки не помогла, перейти к кластерному решению из недорогих компонентов.  Предлагаем вам начать сразу со второго варианта и построить недорогой отказоустойчивый сервис с использованием Cisco Content Switch (CCS).

Итак, для начала немного о ситуации с которой я столкнулся и которая, наверное, знакома большинству системных администраторов.

В нашей компании используются два выделенных DNS-сервера, на каждом из которых установлено два типа DNS-демонов – MyDNS (порядка 10 000 доменов и 2 000 000 записей) для обслуживания запросов, приходящих из Интернета, и DNS cache для обслуживания запросов серверов, расположенных внутри корпоративной сети.

И хотя такое решение являлось достаточно стабильным, но существовал ряд проблем:

n  Отсутствие балансировки. Несмотря на то что в корневых серверах DNS зарегистрированы оба DNS-сервера, соотношение запросов к первому и ко второму DNS составляло около 90/10.

n  Так как первичный сервер DNS cache был указан первым на всех серверах в файле resolv.conf, то он же и обслуживал все 100% запросов, приходящих из локальной сети (для клиентов, не поддерживающих ротацию серверов DNS в resolv.conf).

n  Замедление обслуживания в случае отказа одного из серверов. Из-за того, что вся система DNS построена на протоколе UDP, клиенты вынуждены ожидать стандартное время перед обращением к следующему серверу, что вызывает сильное замедление ответов сервисов.

n  В случае отказа первого сервера с DNS cache многие службы (основанные на проколах POP, FTP, SMTP), использующие обратное преобразование адреса IP в доменное имя, отвечают клиентам с большой задержкой. И это также вызывает шквал сообщений от систем мониторинга из-за превышения времени ожидания (timeout).

n  Невозможность указания более трех серверов DNS для многих служб, использующих DNS, что может быть серьезным ограничением для высоконагруженных сетей.

Одно время я попытался обратиться к проекту Linux-HA (The High Availability Linux Project), но такие ограничения, как отсутствие балансировки, сложная структура при использовании более двух серверов, большое время переключения (порядка 5-7 секунд) на запасной сервер, не позволили использовать этот проект для устранения вышеописанных проблем.

После некоторого исследования был обнаружен замечательный продукт Cisco Content Switch (CCS), который позволил реализовать следующие очень важные функции:

n  Балансировку нагрузки.

n  Обнаружение отказа одного из серверов и исключение его из списка используемых.

n  Построение «виртуального» маршрутизатора. Если установлено два и более CCS, то в случае выхода одного из них клиенты прозрачно переключаются на запасной CCS.

n  Возможность использования более трех серверов DNS.

Аппаратное обеспечение

Семейство Cisco Content Switch включает в себя различные модели, начиная от простейших моделей типа Cisco CCS 11000 до высокопроизводительных Cisco CSS 11506 с полным дублированием всех подсистем (см. таблицу). В моем случае скорость потока к серверам DNS составляла порядка 10 Мбит/c, поэтому я остановился на CCS 11000.

Оставшая часть статьи доступна только подписчикам. Если вы желаете продолжить чтение этой статьи, то вам необходимо подписаться на эту статью или весь номер.

Подписаться на весь номер

Зарегистриванные пользователи, пожалуйста следуйте по этой ссылке
oread