Назад | Перейти на главную страницу

Как настроить резервные серверы?

Для системных администраторов я пытаюсь понять, как вы относитесь к поддержке избыточных серверов для небольших проектов. На мой взгляд, скромное количество серверов - два, и на ум приходят три основных важных сервиса: HTTP, почта и DNS. Как автоматизировать это двуличие? Является ли rsync предпочтительным инструментом (опять же, для небольших проектов)?

В дополнение к общим инструментам для этих задач были бы очень благодарны за ссылки на книги и статьи. Чем более практичный подход, тем лучше.

Похоже, ваш настоящий вопрос на самом деле заключается в том, как сделать сервис высокодоступным (игнорируйте, если это не настоящий вопрос). Поскольку вы говорите о серверах, сервисах и данных (файлы зон, apache docroot, ...) - если я правильно думаю, вы можете изменить заголовок и теги своего вопроса :)

Избыточность (как при множестве копий данных)

может быть достигнуто с помощью:

  • drbd (синхронно - дает определенные гарантии, что на обоих серверах всегда будут одни и те же данные)
  • rsync (асинхронный - нет гарантий согласованности данных между 2 хостами)
    • scp или любой другой инструмент, который может копировать данные между хостами (или даже cp если вы монтируете NFS)

Я считаю, что это не то, о чем вы на самом деле просите ...

Высокая доступность

rsync - это не инструмент выбора для высокая доступность (HA).
Это инструмент выбора если хочешь синхронизировать 2 каталога.

Вы должны пройти через Кластеры с нуля от Clusterlabs, чтобы получить представление. Это охватывает следующие темы:

  • HA услуг
  • Миграция служб между хостами (чтобы любой мог выйти из строя, а вы по-прежнему предоставляете услуги)
  • Образцы услуг
    • Apache (без синхронизации данных)
    • drbd (синхронная синхронизация блочных устройств)
    • GFS (кластерная файловая система, которая позволяет монтировать одно и то же блочное устройство на разных хостах)
  • Активный / пассивный и активный / активный кластеры

Это более или менее пошаговое руководство, которое даст вам правильные указатели. Но имейте в виду, что HA - это не тема, которую нужно решать за один день, если вы только начали с нее. Кроме того, поскольку вы отметили его sysadmin-basics: ожидайте, что у вас будут проблемы (но это окупится после понимания концепции)

Избыточность обычно не является чем-то, что можно просто использовать в существующих системах с помощью rsync. Для HTTP обычно используется балансировщик нагрузки, поддерживающий аварийное переключение, например HAProxy или MS NLB, или, возможно, решение для совместного использования IP, такое как CARP; внутренний сервер будет обслуживать из общего общего хранилища, или из двух файловых систем, синхронизированных с чем-то вроде rsync, или из системы базы данных (опять же, это может быть более или менее сложно). Для электронной почты у него есть собственные системы в сочетании с DNS, чтобы обеспечить циклический перебор и порядок предпочтений для SMTP; несколько серверов POP или IMAP для резервной СУБД; или Exchange имеет группы DAG. DNS также имеет свои собственные механизмы, в основном несколько серверов имен в конфигурациях главный / подчиненный (или в некоторых случаях мультимастер).

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

Это довольно широкий вопрос; поскольку вы упомянули rsync, я предполагаю, что вы говорите о системе * nix.

Это действительно зависит от типа вашей настройки. Если ваша HTTP-служба полностью статична (без базы данных или чего-то еще), тогда два сервера-близнеца apache с корневыми каталогами rsync.

С почтой сложнее, потому что если вы размещаете почтовые ящики, они, вероятно, находятся в базе данных, и rsyncing базы данных на уровне файловой системы вызовет повреждение.

В зависимости от того, как работает ваш DNS (если он использует плоские файлы для хранения), вы также можете настроить программное обеспечение DNS для работы одинаково на обеих машинах и rsync плоских файлов, если оно использует базу данных или пользовательский двоичный файл, rsync не будет Помогите.

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