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

Лучшая конфигурация инфраструктуры для хостинга приложений (IIS / MSSQL)? Голый металл, виртуализировать?

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

Вчера мы испытали двойной отказ жесткого диска на одном из наших серверов с RAID5. Редко такое случается. К счастью, у нас были резервные копии, и мы просто перенесли затронутые базы данных и веб-приложения на другие серверы. Нам действительно повезло, только один диск вышел из строя на 100%, другой просто был отмечен как ожидающий сбой, поэтому мы смогли вживую переместить почти все (нужно было восстановить одну базу данных из резервной копии), и у нас было всего около 5 минут простоя на клиент, поскольку мы отключили их базу данных и переместили ее.

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

Наша текущая инфраструктура (полностью голая):

У нас достаточно небольшой трафик, но простои в нем недопустимы. Глядя на мониторы ЦП в течение дня, мы видим, что ЦП очень и очень мало используется.

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

Я изначально склоняюсь к созданию SAN (следуя руководству вроде этого: http://www.smallnetbuilder.com/nas/nas-howto/31485-build-your-own-fibre-channel-san-for-less-than-1000-part-1) для размещения виртуальных машин. Я бы построил его в RAID 1 + 0, чтобы избежать неприятной проблемы с отказом жесткого диска, которая возникла вчера.

Мы будем запускать большинство виртуальных машин на сервере, на котором в настоящее время вышли из строя жесткие диски, поскольку он самый мощный. Запускайте другие виртуальные машины на серверах 1U, которые в настоящее время сбалансированы по нагрузке. P2V - старое негарантийное оборудование (кроме pfSense, я предпочитаю его на физическом оборудовании). Продолжайте запускать unRaid для резервного копирования.

У меня куча вопросов, но вот инфраструктурные:

Я обозначил ряд вопросов.

  • Какая виртуализация имеет для нас смысл (XEN?)?

Вы в значительной степени привязаны к W2K8R2. ИМХО, вам следует глубже взглянуть на Microsoft Hyper-V (а я парень Linux / Unix!). Модель лицензирования может быть привлекательной: купите один, получите три виртуальных сервера бесплатно (если я правильно помню, что говорят об этом наши Windows-ребята).

Я использую XEN для виртуализации PV-Linux на основе SLES10 SP4. Он отлично работает, и мне это очень нравится. Но у меня там также работает сервер W2K3 (полностью виртуализированный), и я хочу избавиться от него (-> Hyper-V).

  • Как предотвратить такие сбои в будущем?

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

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

  • Как правильно настроить HA?

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

  • Как настроить быстрое и дешевое хранилище высокой доступности?

Используйте два DAS-бокса с возможностью подключения двух контроллеров (чтобы два сервера могли подключаться к каждому блоку). Сделайте зеркальное отображение между этими полями на хосте.

ИЛИ:

Поместите достаточное количество локального хранилища на свои серверы и отразите этот локальный хост-хранилище между этими серверами (не знаю, работает ли это с Hyper-V, но я использую Linux / DRBD8 для этой цели).

  • Это проблема с использованием неподдерживаемого оборудования?

Нет, если у вас достаточно запасных частей. Жесткие диски, ОЗУ, блок питания, ЦП, сетевые карты - именно в таком порядке - HD и RAM являются наиболее распространенными.