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

Основные моменты, требующие внимания при выборе сервера


Задачи


Основной и главный фактор выбора — тип и характер нагрузки. Исходя из них подбираются общие параметры конфигурации: количество и характеристики CPU, объем оперативной памяти, параметры дисковой подсистемы и т.п. Очевидно, что конфигурация нагруженного сервера СУБД будет отличаться от контроллера домена или хоста виртуализации. Здесь обычно отталкиваются от системных требований конкретного ПО для необходимой нагрузки, а также опыта в оценке требуемой производительности для необходимого софта. Если говорить о каких-то советах, то для хоста виртуализации лучше сконфигурировать сервер с максимальным для бюджета объёмом оперативной памяти (её все равно вскоре станет мало :)). Для сервера СУБД лучше позаботиться о производительности процессоров и очень быстрой как по IOPS, так и по минимальным задержкам дисковой подсистеме (если, конечно, планируется использование локальных дисков). Сервер файлового хранилища стоит выбрать с большим количеством дисковых слотов и достойным контроллером RAID.

Расширяемость


Несмотря на стандартную практику добавления определённого запаса по характеристикам при покупке сервера, нередки ситуации, когда незапланированный рост нагрузки требует больше ресурсов, чем имеется. В таком случае предусмотрительность в вопросе дальнейшего апгрейда поможет обойтись существенно меньшими затратами. В первую очередь это касается объёма оперативной памяти (количество свободных слотов и утилизация каналов), количества дисков и портов расширения PCIe для добавления какого-нибудь сетевого адаптера, HBA, nVMe SSD и т.п. Однако, крайне не рекомендую, к примеру, покупать двухсокетный сервер с одним процессором, поскольку часто бывают банальные ситуации, когда второй процессор для апгрейда уже не купить (за давностью лет) нигде кроме eBay. Экономия средств на старте превращается в переплату. Также многие заказчики могут в последствии столкнуться с тем, что ревизия и степпинг процессоров отличаются, и возникают странные зависания, ошибки и прочие неприятности, что, впрочем, обычно решается обновлением BIOS/UEFI до свежей версии, при наличии таковой, конечно. И если вендоры брендового железа стараются обновлять прошивки в течение всего цикла поддержки сервера, то в случае с самосборным решением и около-noname производителями комплектующих (в первую очередь, материнских плат) вполне можно остаться у разбитого корыта.

RAS


Reliability, Availability, Serviceability — термин введён компанией IBM и описывает надёжность системы в целом, как она обеспечивает непрерывность возложенной на неё работы. При необходимости наличия достаточно высоких показателей RAS стоит смотреть в сторону машин серьёзных брендов, поскольку в них данным особенностям уделяется довольно большое внимание, в отличие от брендов нижнего сегмента или самостоятельной сборки из компонентов.

Reliability (или, по-русски, надёжность)


Подразумевает возможность системы самостоятельно устранять сбои без влияния на конечный результат. К данной характеристике относятся разнообразные технологии, применяемые практически во всех компонентах: как типовые для всех определение ошибок в инструкциях процессоров и оповещение об этом операционной системе (к примеру, MCA от Intel), коррекция ошибок в оперативной памяти (ECC, scrubbing), так и вендор-специфичные вроде предиктивного анализа на уровне сервисного процессора (PFA).

Availability (доступность)


Определяет как долго система находится в работоспособном состоянии относительно запланированного времени. Доступность повышается за счёт использования качественных комплектующих, резервирования критичного оборудования (блоки питания, вентиляторы, HBA), общего запаса прочности сервера для конкретных условий эксплуатации. Типичный анти-пример – десктопные SSD под серверной нагрузкой: да, это приблизительно так же быстро, да, это серьёзно дешевле, но при превышении порога DWPD (который крайне низок у десктопных накопителей), SSD запросто выходят из строя, и хорошо, если подход администратора и стечение обстоятельств привели только к downtime, а не к потере данных.

Serviceability (простота и скорость обслуживания)


Даёт возможность увеличить доступность в случае, если сбой все же произошёл, за счёт быстрого восстановления. Для этого используется большое количество компонентов с горячей заменой, удобные рельсы с возможностью обслуживания без прерывания работы, различные диагностические решения как доступные по сети через сервисный процессор, так и расположенные на корпусе сервера — они позволяют быстро определить сбойный компонент. Некоторые производители добавляют функционал «Call Home», который автоматически сообщает о сбое в техническую поддержку, тем самым сокращая время восстановления. Если критичность сервисов, располагающихся на сервере, достаточно высока, стоит уделить RAS серьезное внимание.

Окружающие условия


Сюда относятся параметры питания (мощность и эффективность БП), охлаждения (качество исполнения системы охлаждения, возможность работы при повышенных температурах, в том числе и без потери гарантии), датчики температуры внутри корпуса, форм-фактор (который также влияет на исполнение и эффективность охлаждения — актуально при высокой плотности размещения). При наличии «горячих» компонентов (CPU с высоким TDP, GPU и т. п.) не нужно гнаться за малым форм-фактором без явной необходимости высокоплотного размещения, лучше выбрать что-нибудь типоразмера 2U или даже больше.

Совместимость


Наличие сервера и компонентов в HCL нужного производителя позволит избежать неприятных ситуаций, связанных с запуском ПО. Также, запрос на поддержку к вендору ПО может как превратиться в пинг-понг между вендорами железа и софта, так и вовсе может быть отклонён в случае запуска на неподдерживаемом оборудовании. Да и в целом, куда приятнее получить работающее из коробки решение, нежели заниматься перепаковкой образа гипервизора для того, чтобы положить туда драйвер RAID-контроллера (этот пример — отсылка к совместимости ESXi и контроллеров Adaptec, которая формально есть, но требует предварительных ласк). Поэтому, если задача и ПО требуют совместимости с железом – данный пункт требует тщательного подбора комплектующих (с серверами крупных производителей с этой точки зрения все очень даже просто – они присутствуют в HCL практически всех компаний-разработчиков ПО как покомпонентно, так и целиком).

Управление


Практически все серверы оснащены контроллерами удалённого управления, предоставляющими интерфейс, совместимый с IPMI и/или web-консоль. В зависимости от вендора, контроллеры могут обладать различным функционалом, от монтирования образов по сети, автоматической установки ОС и централизованного обновления прошивок до полноценного Life-cycle Management, что значительно упрощает и ускоряет ввод в строй новых серверов и их дальнейшее обслуживание. Степень внимания к данному пункту зависит от величины парка серверов и потребностей в удобстве удалённого управления. Честно говоря, всегда закладываю в конфигурацию опциональные лицензии на дополнительный функционал управления (за исключением LCM без явного указания потребностей в нем), поскольку это банально удобно, а удобство обслуживания серьёзно сокращает его время.

Производительность


На первый взгляд, странный пункт: ведь в серверах разных вендоров используются одни и те же процессоры, оперативная память, диски и т. п. Однако, если «в лоб» измерить производительность серверов разных производителей в одинаковых конфигурациях, можно получить неодинаковые результаты. В первую очередь, это объясняется (но не ограничивается) различными настройками и оптимизациями на уровне firmware. Для понимания уровня производительности относительно конкурентных предложений можно обратиться к серверным бенчмаркам (например, VMmark от VMware).

Гарантия и сервис


Многие вендоры предлагают сервисные пакеты, которые дают возможность быстро выявлять причину аппаратного сбоя и устранять её с помощью замены компонентов. Пакеты отличаются по гарантийным и сервисным срокам, а также времени реакции и восстановления. Также, различается доступность запчастей на сервисных складах после снятия конкретной модели с производства. В случае самостоятельной сборки приходится либо держать у себя ЗИП, либо полагаться на поставщика/сборщика оборудования в вопросах доступности запчастей на складе и длительности их доставки.

Заключение


Вот основные моменты, на которые стоит обращать внимание при выборе сервера. Надеюсь это будет кому-то полезно и позволит избежать типичных ошибок. Если же у вас есть дополнительные вопросы, пишите в комментариях, либо приходите на предстоящий семинар — Обзор оборудования Fujitsu и настройка среды VDI. Зарегистрироваться и посмотреть программу можно по данной ссылке.

Также вы можете подписаться на наши каналы (YouTube, VK, Telegram), чтобы не пропустить новые статьи, курсы и семинары.

Комментарии (15)


  1. pogorzhelskiy
    19.07.2018 13:54
    -1

    Отличные советы! Значит я правильно для себя решил, что покупать сервера — не правильно и нужно их арендовать.


    1. Areso
      20.07.2018 09:13
      +1

      У меня стоит собственный сервер в конфигурации 2*4C, 64GB RAM
      poiskvps.ru/index.php?search_ram_min=60000 12 тыс рублей месяц, следующее предложение 15 тыс и дальше-больше.
      Мне мой сервер обошелся в ~18 тыс рублей с полным фаршем, за исключением дисков.


      1. pogorzhelskiy
        20.07.2018 09:24

        Вы сделали всё правильно. Обычно, когда компании требуется сервер или сервера, оно подразумевается, что размещаться они будут в ДЦ. Если внимательно почитать статью, то нюансов в выборе сервера — очень много и без реального опыта это сложно применить, как следствие, часто либо перезакладываются по ресурсам или слишком сильно зажали.
        Например, очень часто ситуация возникает с процессорами. Для 1С важно количество Ггц в ядре, а не количество физических ядер. Мне, лично, нравится проц 1650v4, но чаще компании хотят 2х процессорные системы.
        Я клоню к тому, что с арендой сервера, можно быстро менять комплектующие и не париться с гарантией на железки и его размещение в ДЦ.


        1. madgnu Автор
          20.07.2018 11:03

          А можно взять SaaS и не париться вообще ни с чем, не правда ли?)
          Вопрос необходимости собственного парка для каждой компании решается по-своему.


  1. ibKpoxa
    19.07.2018 16:25

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


    1. madgnu Автор
      20.07.2018 11:30

      Ну, во-первых, не интелом единым — в серверах и СХД брендов много SSD от Micron, Samsung и т.п.
      Во-вторых, разница все же есть как по DWPD (параметр Endurance Rating на ark.intel.com), так и по частоте возникновения некорректируемых ошибок (Uncorrectable Bit Error Rate там же, причем, отличается он зачастую на два порядка).

      По поводу буферизации тоже не все однозначно — бывает, нужно использовать сырые тома без ФС или же ФС с отключённым журналом для максимальной производительности и повышения ресурса накопителей при крайне интенсивной записи. Плюс, представьте ситуацию, когда запись в журнал осталась в буфере накопителя на момент отключения питания (т.н. barrier просто не успел отработать).
      Если взять для примера какую-нибудь ext4, то по умолчанию режим работы у нее data=ordered + delayed allocation, и чтобы приблизиться к ситуации, которую вы описываете, нужно монтировать ее с data=journal, что как бы не очень способствует высокой производительности.


      1. ibKpoxa
        20.07.2018 11:36

        Теория теорией, у меня практика, 50 серверов с ссд, в основном от Интела, разных серий и размеров, нагрузки от больших до очень больших (например и серверные и десктопные ССД на 1Тб серий 3700 и 5400s исчерпывают лимит по записи за год). Десктопные, в большинстве, своем ведут себя лучше серверных, еще не плохо профессиональные, типа 750 серии.


        1. madgnu Автор
          20.07.2018 11:49

          Практика это всегда интересно. Ведут себя лучше по производительности записи (тут глупо спорить) или по жизнеспособности? 3700 и 5400s несколько некорректно сравнивать, как мне кажется — между ними разрыв чуть ли не 5 лет.
          Optane не пробовали? Сейчас их показатели надёжности пусть и не драматически (как обещалось сначала), но всё же превышают NAND.


          1. ibKpoxa
            20.07.2018 12:56

            Optane пока не пробовал, планирую осенью. Пока что циферки у них могообещающие.

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


  1. DoGraf
    20.07.2018 11:36
    +1

    А еще можно брать б/у брендовые сервера. Этот совет не очень актуален для России, т.к. у нас железо обычно работает пока морально не устареет настолько, что его только выбросить. А вот в США рынок б/у серверов очень развит, на том же ибей можно подобрать нужную конфигурацию 2-3 лет и нет проблем с запчастями.


    1. madgnu Автор
      20.07.2018 11:40

      В последнее время этот рынок в РФ получил определённое распространение, и это, наверное, хорошо.
      Однако, открытым остаётся вопрос сервиса (поставщики б/у оборудования в основной массе готовы предложить только гарантию), а также доступность з/ч — на ebay их полно, но что делать, если вылетел какой-то специфичный для платформы компонент, искать по порталам объявлений и ждать его пару-тройку недель?


      1. Areso
        20.07.2018 11:44

        У крупных игроков на этом рынке обычно есть запчасти. Либо можно целиком платформу пустую взять и перекинуть.


    1. Chugumoto
      20.07.2018 13:43

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


      1. DoGraf
        20.07.2018 14:54

        Да, тут актуален именно внутренний рынок, иначе сэкономить вряд ли получится. Мы арендовали стойку в ДЦ в США, закупали там used/refurbished серверы DELL, при этом оборудования этого в живую не видели ни разу! Т.е. все организовывали удаленно отсюда из России. Если нужна какая-то запчасть, кулер там поменять или диск в рейде, или памяти в сервер добавить, то нужная запчасть заказывается через амазон/ибей и создается тикет на замену в саппорт ДЦ. Т.е. не нужно держать склад ЗИП, нужные запчасти легко найти и втечение суток они будут в ДЦ.
        Примерно так же хочется и в России, но, понятно, что большое предложение на рынке б/у (и с хорошей скидкой относительно нового оборудования) будет когда и на рынке новых серверов будет закупаться постоянно их большое количество.


  1. navion
    20.07.2018 13:24

    Из опроса можно вычеркнуть IBM и добавить Intel, который стоит как Supermicro, но с лучшей документацией, политикой обновления ПО и гарантией в РФ.