Я хочу создать серверную ферму для веб-бизнеса. Мне понадобятся серверы веб-сервисов и общий файловый сервер NAS.
Некоторые компании предпочитают покупать самое быстрое и надежное оборудование, которое стоит дороже. Другие компании предпочитают покупать дешевое оборудование для ПК с более низкими характеристиками, но в большем количестве. Они создают высокоизбыточные системы, которые они заменяют, когда они выходят из строя. Я считаю, что Google использует этот более поздний подход.
Может ли кто-нибудь дать мне реальный жизненный опыт или совет?
решение1
Это зависит от вашего применения и терпимости к отказам.
Если вы используете базу данных Oracle для финансового бизнеса, вам нужны дорогие серверы с возможностью горячей замены компонентов и встроенной избыточностью (блоки питания, диски, даже процессор и память).
Если это веб-сервер или вычислительные серверы с хранилищем NAS, выбирайте недорогой вариант (на сервере, а не на NAS), если вы можете спокойно пережить потерю устройства без особых последствий.
Не экономьте настолько, чтобы вам постоянно приходилось менять неисправное оборудование.
Для меня общее правило заключается в том, чтобы использовать RAID для защиты важных данных на диске, но покупать дешевое оборудование для вычислений и веб-ферм. Приобретите хороший балансировщик нагрузки, который может определять, когда веб-сервер не отвечает, и отмечать его как отключенный.
Реальный жизненный опыт:
Плохо: Запуск Oracle на стандартном оборудовании был дешевым решением, которое мы смогли реализовать очень быстро, но плохой вентилятор ЦП привел к сбою сервера, что заставило нас восстановить Oracle с ленты (ужас!).
Хорошо: Мы заменили 2 высокопроизводительных, сильно избыточных машины на 70 серверов для монтажа в стойку. Мы смогли отказаться от обслуживания 2 машин и начали просто покупать «запчасти» по $2500. За 2 года, я думаю, мы использовали только около 6 «запчастей» (настоящей проблемой было избежать развертывания запасных частей для других целей).
решение2
Лично я рекомендую своим клиентам выбирать компьютеры, которым требуется высокая надежность, — это компьютеры известных марок с актуальной поддержкой высшего уровня.
Я называю это «поддержкой на высоком уровне» в честь инопланетной расы из «Звездного пути», потому что вы должны иметь возможность позвонить на линию поддержки днем или ночью и сказать:Я $NAME в $COMPANY. Мой номер контракта на поддержку $X. Мой компьютер $TYPE, серийный $NUMBER. Он сломан, заставьте его работатьи ожидать, что какой-нибудь парень появится через 2–4 часа, чтобы сделать именно это.
Теперь рассчитывайте заплатить хорошие деньги за такую поддержку. Но если вам нужно быть наверху, это того стоит.
По большей части я предпочитаю предварительно собранные компьютеры с гарантией и поддержкой, поскольку, как правило, клиенту невыгодно платить мне за разработку спецификации, заказ и сборку дешевых компьютеров.
Для компьютеров, которые могут выдержать простой в течение нескольких часов/дней, более дешевое оборудование, вероятно, подойдет. Например, если у меня пять веб-серверов, я захочу, чтобы два из них были высокодоступными, и допущу, чтобы остальные были дешевле. Для вычислительных ферм я выберу более дешевое оборудование.
решение3
Создание серверов с возможностью горячей замены — чрезвычайно сложная задача.
Выбирайте дорогие.
решение4
По моему опыту, дешевое оборудование тоже стоит дорого. Я уверен, что вам не нужна высококлассная модель профессионального сервера для обслуживания нескольких веб-сайтов. Но вы не хотите упустить
- блоки питания с возможностью горячей замены
- IPMI (удалённое управление)
- настоящий аппаратный RAID-контроллер для системных дисков
- шасси с хорошим потоком воздуха
Кроме того, рассмотрите возможность использования хорошего балансировщика нагрузки, HTTP-кэша (например Squid
), PHP-кэша (например ACP
) и memcachd
, если он подходит для вашего веб-приложения. Это может сделать устаревшими некоторые бэкэнд-серверы на достаточно загруженном сайте.