Сборка сервера: от заказа комплектующих до тестирования
Что происходит, когда наш клиент заказывает сервер произвольной конфигурации? Насколько надежны серверы, собранные по индивидуальному заказу? Эти и другие вопросы мы сегодня подробно обсудим в новой статье.
Заказ сервера
Несмотря на то, что в разделе доступных для заказа серверов присутствует несколько десятков различных конфигураций, некоторым клиентам требуются серверы специальной конфигурации. Чаще всего такое необходимо для создания сервера с очень высокой производительностью либо с большим количеством дисковых накопителей.
Чтобы удовлетворить такую потребность, была предусмотрена услуга «Выделенный сервер произвольной конфигурации». Конфигуратор на сайте позволяет за пару минут самостоятельно создать сервер любой сложности и арендовать его. Однако мало кто задумывается, как именно собираются эти серверы.
После того как клиент определился с нужной конфигурацией, сделал заказ и оплатил его, система автоматически создает тикет в панели управления. Такой тикет поступает в отдел сборки, и специалисты приступают к проверке заказа и, собственно, самой сборке сервера.
Процесс сборки
Проверка заказа
Конфигуратор на сайте чаще всего выбирает «правильный» вариант комплектующих, но в некоторых случаях клиенты могут выбрать не самый оптимальный вариант сочетания аппаратных компонентов. Например, RAID-контроллер, который не сможет выдать максимальную производительность в такой конфигурации, или нечетное количество планок оперативной памяти в многопроцессорных системах. Поэтому инженеры вначале проверяют заказ и в случае выявления потенциальных проблем обязательно предупреждают клиента в тикете.
В случае, если клиент согласен, что конфигурация не оптимальна, можно без проблем аннулировать заказ и создать новый. Денежные средства при аннулировании возвращаются на баланс панели управления в полном объеме. После того, как заказ проверен, мы приступаем к подготовке комплектующих и сборке сервера.
Комплектующие
Каждый сервер состоит из следующих комплектующих:
- корпус (идет сразу с блоком питания);
- материнская плата;
- оперативная память;
- процессоры;
- накопители;
- дисковые контроллеры (если есть в заказе);
- видеокарты (если есть в заказе).
Подготовка корпуса
Мы обычно используем корпусы Supermicrо, которые следует подготовить к установке материнской платы с помощью идущих в комплекте метизов. В разных моделях материнских плат разные точки крепления, поэтому следует определить количество метизов и болтов для каждой конкретной сборки.
Пока количество заказов было небольшим, мы просто брали предназначенный для корпуса комплект крепежа, а неиспользованный крепеж откладывали. В определенный момент стало ясно, что тратится очень большое время на поиск нужного болта и мы решили расфасовать весь крепеж, имеющийся на складе.
После того как последний пакет с крепежом был расфасован, стало ясно, что мы не зря проделали эту работу. Теперь каждый болт и каждый метиз лежит в строго отведенном для этого месте и это экономит огромное количество времени.
Для того, чтобы контакты материнской платы не соприкасались с металлическим корпусом и не произошло короткого замыкания, используется специальная пластиковая прослойка. Без нее сборка запрещена. Помимо этого, необходимо аккуратно выломать (да-да, это предусмотрено производителем) отверстия для портов в заглушке с задней части сервера. Выполняется элементарно с помощью плоской отвертки.
После этого на корпус наносятся наклейки с идентификатором заказа, а также серийный номер будущего сервера. Для удобства работы помимо буквенно-числового идентификатора на наклейках содержатся штрих-коды, позволяющие оперативно считать информацию с помощью сканера.
Установка материнской платы
Непосредственно перед установкой материнской платы инженеры выполняют некоторые подготовительные действия:
- надевают тонкие перчатки;
- надевают заземляющий браслет.
После того как материнскую плату поставили на место, закручиваются крепежные болты. При этом следует помнить, что текстолит достаточно хрупок, и не прилагать излишних усилий. Для экономии времени инженеры используют аккумуляторные отвертки.
Теперь к материнской плате подключаются кабели питания, а также вентиляторы системы охлаждения. Здесь важно то, что порой длина кабелей больше, чем необходимо, поэтому их аккуратно стягивают при помощи тонких нейлоновых стяжек. При отсутствии возможности закрепить стяжки к корпусу, производитель поставляет удобные крепежные площадки на двустороннем скотче. Концы аккуратно откусывают бокорезами.
Затем выполняется подключение лицевой панели и бэкплейна с помощью соответствующих кабелей. Теперь можно приступать к установке процессоров и прочих элементов.
Установка процессоров
Эта операция, пожалуй, самая тонкая и требующая внимательности. Еще 10 лет назад процессоры имели удобные «ножки», а сокеты представляли собой пластиковую матрицу с отверстиями. Благодаря этому достаточно было всего лишь аккуратно вставить процессор в сокет и закрыть защелку. Начиная с сокета LGA 775 процессоры лишились «ножек», остались только ровные контактные площадки. Сокеты, наоборот, теперь имеют контакты, однако они настолько маленькие и хрупкие, что любая операция с установкой процессора должна быть максимально точной.
Современный сокет FCLGA3647
Процессор линейки Intel Xeon Scalable
После того, как процессоры установлены на свои места приходит черед установки радиаторов охлаждения. Как правило, используются пассивные радиаторы, однако перед этим наносится термопаста — слой теплопроводящего материала, разделяющий процессор и радиатор. Чаще всего для этого используют кремнийорганическую пасту, такую как КПТ-8.
Здесь следует помнить, что основная задача термопасты — закрыть микроскопические дефекты как на поверхности процессора, так и на поверхности радиатора, обеспечивая максимально большую площадь соприкосновения. Поэтому ее наносят очень тонким и ровным слоем. Для этого используют либо специальную лопаточку, либо по старинке ненужную пластиковую карточку. Излишки убираются с помощью ватных палочек.
Установка оперативной памяти
Каждый производитель материнских плат самостоятельно определяет верный порядок установки модулей оперативной памяти, в зависимости от ее типа и скорости. Для Supermicro этот порядок установки прописан в инструкциях к каждой модели материнской платы. Тем не менее есть несколько достаточно универсальных правил, которые работают в большинстве случаев:
- нежелательно использовать нечетное количество планок (актуально для процессоров Intel® Xeon® линейки E5);
- следует поканально распределять память, чтобы система могла задействовать все возможные режимы механизмов управления;
- в одном сервере желательно использовать память с одинаковым значением задержки (latency), напряжения и частоты, в диапазоне, который поддерживает материнская плата.
Установка накопителей
Тут все просто. Дисковые накопители закрепляются в штатных салазках, после чего вставляются в сервер. Если были заказаны дисковые контроллеры или дополнительные сетевые карты, то они устанавливаются в соответствующие PCI-E слоты и закрепляются винтами. После того, как все установлено на свои места, инженер отдела сборки еще раз проверяет соответствие всех комплектующих заказу и отправляет сервер на стенд для прошивки и тестирования.
Укладка кабелей
Коснемся такой темы, как укладка кабелей внутри сервера. Тут тоже есть свои нюансы, главным из которых является ограниченность пространства. Большинство серверов спроектированы таким образом, чтобы занимать минимум места в стойке. Высота одного монтажного юнита составляет 43,7 мм. Из-за этого места для кабелей после установки материнской платы и прочей периферии остается достаточно мало.
Забавный факт: один монтажный юнит по высоте в точности равен одному вершку (древнерусская единица длины).
Всегда следует учитывать, что сквозь сервер воздух должен проходить беспрепятственно для эффективного охлаждения компонентов. Любые препятствия на его пути будут ухудшать отвод тепла, а следовательно, увеличивать расход электроэнергии из-за увеличенной нагрузки на систему охлаждения. Это особенно важно для серверов с несколькими GPU, температура которых под нагрузкой доходит до 80 градусов.
Воздушный поток разделяется поровну между всеми GPU
Поэтому все кабели укладываются таким образом, чтобы не перекрывать путь прохождения воздуха. Излишки при помощи стяжек закрепляются к штатным проушинам, а в случае их отсутствия к пластиковым площадкам с двусторонним скотчем.
Так выглядит сервер с аккуратно уложенными кабелями, которые не мешают прохождению воздушного потока
Прошивка комплектующих
Для начала ответим на достаточно часто задаваемый вопрос — зачем же это нужно? Ответ прост — эта процедура необходима для того, чтобы все компоненты сервера работали без ошибок, а также, чтобы повысить уровень безопасности.
Большинство компонентов сервера построены с расчетом на то, чтобы их можно было перепрограммировать. После выхода с конвеера в процессе тестирования и эксплуатации в большинстве случаев обнаруживаются ошибки и уязвимости программного обеспечения. Если бы возможности перепрограммирования компонентов не было предусмотрено, то для ликвидации этих программных проблем пришлось бы отзывать всю продукцию. Гораздо дешевле было создать возможность замены микропрограммы.
Перепрошивка IPMI
Модуль удаленного управления (IPMI / iLO / iDrac) — один из важнейших элементов сервера. Он представляет из себя независимый микрокомпьютер, работающий всегда, когда на материнской плате присутствует рабочее напряжение.
Даже когда в сервере нет комплектующих, этот микрокомпьютер работает, выполняя задачу интерпретации и корректировки данных с датчиков сервера. Модуль тесно связан со всеми подсистемами управления питанием и позволяет выполнять практически любые операции удаленно. Поэтому вопрос безопасности при доступе к такому устройству стоит очень остро. Своевременное обновление прошивки позволяет уберечь модуль от взлома.
Установка прошивки обычно производится непосредственно из веб-интерфейса, однако в некоторых случаях ее можно произвести по сети, отправив на модуль прошивку с соответствующим программным обеспечением.
Перепрошивка BIOS
Базовая система ввода-вывода помимо уже перечисленной причины безопасности требует обновления еще для одного важного момента. В прошивке BIOS имеются микрокоды процессоров, поддерживаемых материнской платой, а также микрокоды сетевых интерфейсов и чипсетов. Когда выходит новая версия процессора, производители материнских плат выпускают новые версии прошивок, которые содержат требуемый микрокод. Без этого новый процессор просто не сможет запуститься. Вместе с прошивкой BIOS зачастую обновляются и связанные модули, например, Intel® ME (Management Engine).
Помимо этого, выпуск новых прошивок предотвращает конфликты, возникающие при взаимодействии различных комплектующих (как встроенных в материнскую плату, так и сторонних устройств).
Дабы не быть голословными, приведем пример. Возьмем материнские платы Supermicro X10SRi/X10DRi/X10DRW, которые поддерживают процессоры Intel® Xeon® E5-XXXXv3. Если поставить туда процессор следующей версии E5-XXXXv4 плата стартует, однако будет выдавать странные ошибки сбоя оперативной памяти «Failing DIMM» в разных слотах. И проблема тут вовсе не в памяти, а в том, что контроллер памяти находится в процессоре. Следовательно, неверное опознавание процессора материнской платой ведет к тому, что возникают подобные проблемы. Перепрошивка с помощью поддерживаемого процессора полностью решает эту ситуацию.
В некоторых случаях производители оборудования искусственно прекращают поддержку новыми моделями материнских плат более старого оборудования. Ярким примером может служить материнская плата Supermicro X11DPi, которая с любой версией прошивки BIOS не будет работать с HBA-контроллерами Adaptec 7-ой серии. Дисковый контроллер просто не инициализируется, вызывая полное зависание сервера. И на данный момент эта проблема не имеет решения.
Перепрошивка дисковых контроллеров
Ошибки в программном обеспечении таких важных устройств, как дисковые контроллеры могут не просто доставить неприятности, но и стать источником очень крупных проблем. В большинстве случаев процесс очень простой, перепрошивка происходит с помощью родной утилиты, встроенной непосредственно в сам контроллер.
Следует помнить, что старая прошивка дискового контроллера может не только исправлять ошибки, но и кардинально менять способ хранения метаданных. Чтобы избежать неприятных ситуаций и сохранить данные в целости, перед выполнением перепрошивки следует обязательно прочитать список внесенных изменений в функционал. Эта информация всегда присутствует на сайте производителя оборудования и чаще всего дублируется в архиве с самой прошивкой.
Перепрошивка сетевых карт
Не менее серьезные проблемы, крайне сложные в диагностике, могут доставить сетевые карты с ошибками на уровне встроенного программного обеспечения. Помимо устранения ошибок, программное обеспечение сетевых карт напрямую может влиять на производительность. Так что это еще один обязательный пункт для инженеров, выполняющих сборку серверов.
Важно
Хотелось бы отдельно отметить, что все операции по перепрошивке компонентов потенциально опасны для оборудования, поэтому их допустимо производить только квалифицированным специалистам. Если вы уже являетесь нашим клиентом и обнаружили необходимость перепрошить какой-либо компонент сервера, то ни в коем случае не пытайтесь это делать самостоятельно. Просто напишите нам в тикете, какой компонент следует перепрошить, и это будет выполнено со всеми мерами предосторожности.
Тестирование
Покончив с обновлением программного обеспечения, инженер сборки приступает к нагрузочному тестированию собранного сервера. Такое тестирование позволяет выявить большинство проблем еще до того, как сервер будет сдан клиенту.
Тест оперативной памяти
Для того, чтобы проверить работоспособность всех установленных в сервер модулей оперативной памяти, запускается весьма популярный инструмент под названием memtester. Непосредственно перед выполнением тестирования, инженер сборки проверяет, чтобы все установленные в сервер модули памяти корректно отображались в BIOS.
При запуске тестирования происходит процесс чтения и записи данных в оперативную память, используя разную последовательность данных и порядок заполнения ячеек. Скорость выполнения всех тестов напрямую зависит от объема. Наши минимальные требования — это один полный цикл проверки.
Если в процессе тестирования выявлены ошибки, то мы ищем сбойный модуль оперативной памяти и исключаем его из конфигурации, заменяя на аналогичный. Затем процесс тестирования повторяется целиком. Только когда все итерации тестов будут пройдены без ошибок, сервер отправляется на стресс-тестирование.
Тест процессора и дисков
Нагрузочный тест имитирует максимальную нагрузку на сервер в течение минимум 6 часов для сервера с магнитными накопителями. В случае с твердотельными накопителями столь длительное тестирование может резко увеличить износ накопителя, поэтому для них проводится аналогичное тестирование с меньшим временем исполнения.
Нагрузочное тестирование для процессоров Intel проводится с помощью оригинальной утилиты Intel IPDT (Processor Diagnostic Tool). Этот процесс вызывает повышение температуры процессора до максимально допустимой эксплуатационной температуры, и система охлаждения должна эффективно отводить все это тепло. Инженеры сборочной постоянно следят за тем, чтобы сервер прошел это испытание, и температура всех компонентов не превышала заявленных эксплуатационных пределов.
После завершения тестирования проверяются параметры S.M.A.R.T. всех установленных дисков. Если хотя бы один параметр, заявленный производителем как повод для замены накопителя, имеет ненулевое значение, диск заменяется на другой и также тестируется для исключения вероятности возникновения проблем в «боевом режиме».
Заключение
Каждый сервер произвольной конфигурации, сдаваемый нами в аренду, множество раз проверяется и тестируется, поэтому их можно смело использовать для любых проектов сразу, не тратя время на повторные тестирования и проверки. На каждом заказанном сервере будет самая актуальная версия микропрограммного обеспечения каждого компонента, что дает хорошую защиту от существующих уязвимостей и ошибок.