Рекомендации по инфраструктуре - серверы приложений и сети

Я хотел бы попросить совета по инфраструктуре сервера. Мы будем модернизировать нашу сетевую инфраструктуру (построенную на экосистеме MS), и пока у нас есть два сервера (не считая ISA-сервера): одна машина обслуживает службы приложений, такие как Exchange, IIS, SQL и т. Д., Другая машина обслуживает сетевые службы (контроллер домена, сетевые сервисы, такие как DNS, DHCP, cert, это также файловый сервер. Оба сервера находятся в локальной подсети 192.168.xx

Сервер приложений был частично доступен извне через правила публикации сервера через ISA-сервер для определенных служб (например, Exchange-сервер). Эта настройка предназначена для организации малого и среднего размера, поэтому производительность не является проблемой.

Теперь мы будем обновлять старое оборудование, и, возможно, было бы неплохо рассмотреть нашу текущую серверную инфраструктуру. Что нам нужно это:

  • контроллер домена
  • сетевые сервисы (DNS, DHCP,...)
  • Exchange сервер
  • SQL-сервер
  • IIS
  • TFS
  • файловый сервер
  • обновить услуги
  • Центр сертификации
  • нечто большее, но в основном незначительное -

Вы бы порекомендовали сохранить текущую инфраструктуру с двумя серверами (один компьютер для сервера приложений в локальной сети с некоторыми опубликованными службами) и один компьютер в качестве DC, сетевого и файлового сервера или все на одном сервере (но Exchange и DC на одной машине не ' Насколько я знаю), или что-то совсем другое, или держать сервер приложений в DMZ и т. д. Кстати, вы видите какие-либо проблемы с наличием DC и файлового сервера на одной машине?

Добавлено после комментариев и ответов Nextraztus и Golmaal:

Что касается виртуализации, я определенно для Hyper-V - я полностью MS человек, я занимаюсь разработкой для Windows начиная с WfW 3.1 и в последнее десятилетие я работаю с ASP.NET и ядром IFS Windows (да, два довольно, но приятных разных мира, C# и чистый C).

Наша стандартная настройка - RAID 10 для системных и критических данных, RAID 5 для "обычных" данных.

Я почти боюсь признать это вслух, но у меня есть некоторые личные проблемы с виртуализацией - и я был бы признателен, если бы вы могли помочь мне преодолеть это:) Я использую это день и ночь для разработки, особенно для ядра velopmnet с проверенными сборками Windows. Я использую его в нашей работе над Azure (мы используем почти все сервисы, которые предлагает Azure, виртуальные машины, веб-сайты, веб-роли, кэши и многое другое), но здесь я "чувствую", что все еще хотел бы иметь реальные физические серверы.

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

Без виртуализации я могу указать, что система работает на SSD, эти данные работают на RAID 10, эти данные на RAID 5 (и, если мне нужно, я могу добавить специально новые диски к тому объему данных) и т. Д. Я знаю, что это становится другим вопрос, и действительно кажется, что с вами все в порядке, но какова реальная выгода от виртуализации всего, кроме гораздо более низких затрат?

РЕДАКТИРОВАТЬ 2:

Я могу понять, что DC следует хранить в одиночестве (но это нормально для сетевых служб, особенно DNS и DHCP) - но почему кажется, что лучше показывать почти каждую роль сервера на отдельном сервере? Обмен на один сервер, SQL Server на другой сервер, TFS на другой сервер - единственная причина, о которой я могу думать, это балансировка нагрузки, но если это не проблема...? Напротив, я вижу, что, например, TFS может выиграть от запуска на компьютере с SQL Server, IIS и Exchange.

2 ответа

Решение

В небольшой / средней установке, где кластеризация /HA не являются главной проблемой (особенно из-за сложности и затрат, связанных с несколькими лицензиями, необходимостью для версий более высокого уровня / корпоративной версии и т. Д.), Виртуализация может не показаться привлекательным вариантом; При этом все зависит от количества пользователей и степени важности операций. Поскольку вы упомянули, что "Эта установка предназначена для организаций малого и среднего размера, поэтому производительность не является проблемой", я беру некоторую свободу предположить, что кластеризация /HA и т. Д. Не требуются. В конце концов все зависит от допустимого простоя.

Я бы выбрал два физических сервера с четырьмя виртуальными машинами (каждая лицензия Windows Server 2008 может работать на одном физическом сервере или двух виртуальных серверах):

Server 1:
   VM1:
      PDC
      Network Services
      File Server (Use DFS replication)
   VM2:
      SQL Server

Server 2:
   VM3:
      Secondary Domain Controller (global catalog; backup dhcp etc)
      File Server (Use DFS replication)
   VM4:
      Exchange

Вы можете иметь другие службы, работающие на VM1 или VM3. Ликвидировать ISA и перейти на третий физический сервер (low-end); установите на него pfSense и сделайте его полноценным TMG/UMG с брандмауэром, антивирусом, кешированием, VPN и т. д. Обратитесь к службам ретрансляции почты / резервного копирования, предоставляемым cos, например dnsexit.com; это может быть наименее дорогим способом достижения аварийного переключения Exchange (зависит от ожиданий).

Таким образом, у вас будет домен с аварийным переключением для некоторых наиболее важных служб. Например, если ваш PDC недоступен по каким-либо причинам, ваш VM3 вступит во владение, и ваши клиенты все еще смогут получить доступ к файлам и использовать Интернет и почту.

При правильной стратегии резервного копирования вы сможете минимизировать время простоя до приемлемых пределов для других служб, таких как SQL Server, Exchange и т. Д. Использование RAID 10, SSD и т. Д. Может дать вам свободу конфигурации и повысить надежность без значительных затрат. или сложности.

Я надеюсь, что это помогает.

РЕДАКТИРОВАТЬ:

Я не сильно разбираюсь в Exchange, но это один сервер, который вы захотите сохранить в DMZ, и поэтому имеет смысл сохранить его в своей собственной виртуальной машине. То же самое касается IIS - в той же виртуальной машине, что и Exchange. Я вижу, что вы полностью погружены в экосистему MS и Azure. Есть ли какая-то конкретная причина для внутреннего Exchange, а не хостинга?

DFS - работает и работает хорошо. На мой взгляд, это плохое решение HA администратора для файлового сервера. Если вам не нужно создавать автономные файлы, попробуйте DFS.

TFS может пойти с VM2. Я не использовал его, но понимаю, что это приложение, требующее больших ресурсов. Если вы используете размещенный Exchange, используйте VM4 для TFS.

Запуск Exchange, SQL Server и TFS на одной физической машине / одной и той же виртуальной машине - это нормально, если вы спросите меня. Но когда вы запускаете их на разных виртуальных машинах, это не имеет никаких недостатков по сравнению с запуском их на одной физической / виртуальной машине. Для меня самое большое преимущество - это гибкость и спокойствие. Например, если администратор SQL Server что-то испортил, и вам нужно перестроить этот компьютер, остальные службы будут работать без перебоев, пока вы восстанавливаете виртуальную машину SQL Server из резервной копии или с нуля.

Как отметил @Sarge в своем комментарии, виртуализация - это хороший путь для вашего варианта использования. Пожалуйста, обратите внимание, что это все в основном мнения и взгляды на самом высоком уровне.

Выберите платформу для виртуализации.

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

  • Microsoft HyperV
  • VMWare

Есть основные плюсы и минусы для каждого, в основном цена и условия лицензии. Вы захотите поработать со своими поставщиками, чтобы убедиться, что вы не перепроданы и не перепроданы (и не провалите призрак аудита).

Решите, насколько избыточным вы хотите быть

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

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

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

Пройти соответствующее обучение

Вирутализация - это совершенно новый червь, иногда требующий осторожной руки. Тем не менее, это действительно хорошо, когда вам нужно что-то протестировать и не хотите рисковать своей существующей инфраструктурой. Какую бы технологию вы ни выбрали, получите профессиональное развитие, как ее администрировать.

развертывание

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

улучшать

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

Архитектура

Я не специалист по Windows, но мне всегда говорили, что иметь на DC что- либо, кроме только служб каталогов, плохо. Я также слышал, что вы почти всегда хотите, чтобы два DC разделили роли (RID, PDC и IM), а также очевидную избыточность, если что-то случится с одним из DC.

Очевидно, что лицензирование является проблемой для такого рода вещей. Но на самом деле, если вы следите за нагрузкой и выполняете свои обязанности, небольшая среда, вероятно, не станет большой проблемой для дублирования работы серверов. Кроме того, серверы в наши дни, STUPID мощные по доступным ценам.

Gotchas

Виртуализация делит ресурсы. Это очевидно, но необходимо упомянуть. RAM, HardDrive и все остальное нужно держать в центре внимания, если вы идете по этому пути. Не недооценивайте свое оборудование, так как все будет делиться сейчас. Если что-то сходит с ума и пожирает все пространство в вашем хранилище, ваши другие машины теперь пострадают, если вы не будете следить за этим.

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

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

Другие вопросы по тегам