В Selectel много конфигураций готовых серверов, но некоторым клиентам нужен уникальный набор комплектующих. Для них у нас есть услуга по созданию кастомного сервера, который можно «собрать» в специальном конфигураторе, — накликать нужное количество процессоров, дисков, видеокарт, объем памяти и т.д. В этом тексте расскажем, что происходит после нажатия кнопки «Заказать сервер».

Заказ сервера


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

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

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

Так выглядит «классический» конфигуратор

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

Проверка заказа


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

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

Комплектующие


Каждый сервер состоит из следующих комплектующих:

  • корпус (идет сразу с блоком питания);
  • материнская плата;
  • оперативная память;
  • процессоры;
  • накопители;
  • дисковые контроллеры (если есть в заказе);
  • видеокарты (если есть в заказе).

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

Подготовка корпуса


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

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

«Пустой» корпус сервера

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

Установка материнской платы


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

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

Материнская плата

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

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

Установка процессоров


Эта операция самая тонкая и требует особой внимательности. Еще 10 лет назад процессоры имели удобные «ножки», а сокеты представляли собой пластиковую матрицу с отверстиями. Достаточно было аккуратно вставить процессор в сокет и закрыть защелку. Начиная с сокета LGA 775 процессоры лишились «ножек», остались только ровные контактные площадки. Сокеты, наоборот, теперь имеют контакты, однако они настолько маленькие и хрупкие, что любая операция с установкой процессора должна быть максимально точной.

Сокет процессора на плате

Процессор

После мы устанавливаем радиаторы охлаждения. Как правило, используются пассивные радиаторы, однако перед этим наносится термопаста — слой теплопроводящего материала, разделяющий процессор и радиатор.

Радиатор

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

Установка оперативной памяти


Каждый производитель материнских плат самостоятельно определяет верный порядок установки модулей оперативной памяти. Обычно это прописано в инструкциях для каждой модели материнской платы. Ими и руководствуются инженеры при сборке серверов.

Несколько модулей оперативной памяти

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

Установка накопителей


Дисковые накопители закрепляются в штатных салазках, после чего вставляются в сервер. Если были заказаны дисковые контроллеры или дополнительные сетевые карты, то они устанавливаются в соответствующие PCI-E слоты и закрепляются винтами. После того, как все установлено на свои места, инженер отдела сборки еще раз проверяет соответствие всех комплектующих заказу и отправляет сервер на стенд для прошивки и тестирования.

Дисковый накопитель

Сетевая карта

Укладка кабелей


Здесь тоже есть свои нюансы, главным из которых является ограниченность пространства. Большинство серверов спроектированы таким образом, чтобы занимать минимум места в стойке. Высота одного монтажного юнита составляет 43,7 мм. Из-за этого места для кабелей после установки материнской платы и прочей периферии остается достаточно мало.

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

Вот такую GPU можно поставить в кастом

Или такую – Tesla T4

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

Прошивка комплектующих



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

В Selectel перепрошивка производится автоматически: инженер ставит сервер в стойку и запускает специальный скрипт.

Что перепрошиваем:

  • IPMI, или модуль удаленного управления (IPMI / iLO / iDrac). Один из важнейших элементов сервера.Представляет из себя независимый микрокомпьютер, работающий всегда, когда на материнской плате присутствует рабочее напряжение.
  • BIOS. В прошивке BIOS имеются микрокоды процессоров, поддерживаемых материнской платой, а также микрокоды сетевых интерфейсов и чипсетов. Когда выходит новая версия процессора, производители материнских плат выпускают новые версии прошивок, которые содержат требуемый микрокод. Без этого новый процессор просто не сможет запуститься. Помимо этого, выпуск новых прошивок предотвращает конфликты, возникающие при взаимодействии различных комплектующих.
  • Дисковые контроллеры. Старая прошивка дискового контроллера может не только исправлять ошибки, но и кардинально менять способ хранения метаданных. Поэтому здесь перед прошивкой нужно ознакомиться со списком внесенных в функционал изменений. Эта информация всегда присутствует на сайте производителя оборудования и чаще всего дублируется в архиве с самой прошивкой.
  • Сетевые карты. Перепрошивка помогает устранить ошибки на уровне встроенного программного обеспечения. Также ПО напрямую влияет на производительность карт.

Тестирование


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

Каждый сервер всегда проверяют минимум два инженера


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

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

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

После завершения тестирований проверяются параметры S.M.A.R.T. всех установленных дисков. Если хотя бы один параметр, заявленный производителем как повод для замены накопителя, имеет ненулевое значение, диск заменяется на другой и так же тестируется.

После тестирования


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

Задавайте вопросы, если хотите узнать о чем-то подробнее, или просто попробуйте собрать сервер в конфигураторе — для этого не нужно регистрироваться в панели управления компании. А еще следите за новостями — скоро будут классный апдейт по кастомам.

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


  1. homeles
    18.01.2022 18:55

    Немного побурчать и для корректной терминологии:

    While a rack unit is defined as 1+3⁄4 inches (44.45 mm) - высота 1 юнита сотставляет 44.45мм

    но, Вы правильно отметили (и в стандарте это таки описано), что именно высота устройства (НЕ ЮНИТА !!!) должна быть меньше:

    a 1U front panel would be 123⁄32 inch (1.71875 in or 43.66 mm) tall - т.е. для зазора.

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

    А еще для примера - и на Хабре была статья про это (MicroDC от Huawei) - это поставка клиенту полностью готового комплекта (шкаф-ИБП-PDU-мониторинг-серверы-СХД-коммутаторы-маршрутизаторы) под ключ - только дай электричество и кабель "интернета".....


  1. dkolomiets
    18.01.2022 20:53
    -2

    А почему самосбор, а брендовые серверы?


    1. gibson_dev
      19.01.2022 00:09

      А вы посчитайте сколько будет стоить брендовый сервер кастомной конфигурации, в количестве 1 штуки и когда он будет поставлен.


      1. dkolomiets
        19.01.2022 09:50

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


        1. cherry_velly Автор
          19.01.2022 14:59
          +1

          Здравствуйте! В нашем случае точно нельзя говорить о случайном наборе компонентов. Экспертиза инженеров позволяет собирать только хорошо совместимые между собой комплектующие. Мы это делаем уже не первый год и за корректную работу серверов отвечаем по SLA.


  1. Barseadar
    19.01.2022 09:49
    +1

    Небольшая неточность: у вас на фото материнская плата Supermicro X12DPi-N6 с сокетом LGA-4189. При этом вы указываете, что сначала устанавливается процессор, а потом уже термопаста и радиатор. На практике же сокет LGA-4189 не имеет держателя с рычагом. Вместо этого всё устанавливается с помощью направляющих и винтов, поэтому сначала наносится термопаста тончайщим слоем, потом процессор соединяется с радиатором, а уже в последнюю очередь вся эта конструкция устанавливается в сокет (как на вашей КДПВ). На сокете LGA-3647 принцип такой же был.


    1. cherry_velly Автор
      19.01.2022 15:00
      +2

      Спасибо за внимательность! Приятно видеть в комментариях знающего человека. У нас в арсенале довольно много материнских плат от разных производителей. Естественно, процесс установки отличается в ряде случаев. Мы описали частотный процесс установки, а вот фотографию сделали только Supermicro) Спасибо, что отметили это в комментариях. Мы этот дисклеймер в тексте решили не указывать.


  1. krids
    19.01.2022 10:36

    А почему ваш конфигуратор на голдах 63XX дает только 1 процессор ? Только односокетные платформы доступны ? А 2049U-TR4 на 3TB RAM можете собрать ? ;-)


    1. skovalev
      19.01.2022 12:12

      Двухсокетные платформы для 3rd scalable скоро выключим.


      1. skovalev
        19.01.2022 18:27

        включим, конечно же


  1. Uchitel123
    19.01.2022 13:31

    Сколько же там комплектующих "сгниёт" при таком подходе... Tesla T4 - около 5$К и в 5 дней в России обычно не доступна. А если их надо несколько? А если AMD захочу? Надеюсь, хорошо бизнес просчитали.


  1. Uchitel123
    19.01.2022 13:31

    Сколько же там комплектующих "сгниёт" при таком подходе... Tesla T4 - около 5$К и в 5 дней в России обычно не доступна. А если их надо несколько? А если AMD захочу? Надеюсь, хорошо бизнес просчитали.


    1. cherry_velly Автор
      19.01.2022 15:02

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


  1. belch84
    19.01.2022 15:24

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

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

    Есть еще много особенностей, а вообще, сборка заказных конфигураций — дело непростое и интересное


  1. JFlynn
    20.01.2022 10:29

    А расскажите, как вы автоматизировали прошивку биоса? Я пробовал шить биос из линукса через AFULNX, но он периодически превращал серверы в кирпичи. Автоматизацию на лайв-образах с DOS отложил до лучших времён, т.к. все остальные тестовые скрипты и софт работают под Linux. Знаю, что супермикры можно шить через IPMI, но для этого нужно либо лицензию покупать, либо обходным путём ключ генерировать. В Redfish ещё сейчас завезли функционал удалённой прошивки, но это только относительно свежие модели материнок и там своих проблем хватает.

    По памяти тоже интересно, сами используем stress-ng и memtest86 Pro, но вдруг что-то более удобное упустили?