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

Сервер

Сервер

Сервер закрывает потребности приложений и онлайн-сервисов, а не конкретного пользователя, как в случае с ПК. Сервер отвечает за вычисления, используется для хранения данных или других задач — все зависит от его вида и назначения. Например, провайдеры, которые оказывают услуги хостинга, хранят на серверах сайты и данные клиентов. Игровые серверы занимаются тем, что координируют взаимодействие огромного количества компьютеров, с которых пользователи выходят в онлайн-игру. На корпоративном сервере размещают важные для организации приложения и данные: CRM-систему, бухгалтерскую базу данных, файлы и папки с общим доступом.

Процессор, CPU

Процессор часто называют мозгом сервера: от него зависит эффективность работы оборудования и скорость передачи данных. От процессоров для персональных ПК их отличает повышенная надежность, способность работать на высоких частотах, в широком температурном диапазоне и в других стрессовых условиях. Практически все современные процессоры поддерживают самокоррекцию ошибок (ECC, Error Correction Code).

Считается, что чем больше ядер в процессоре, тем лучше — каждое ядро будет работать как отдельный процессор. Однако важно, чтобы незадействованных в работе ядер было как можно меньше, так как с увеличением числа ядер повышается стоимость чипа. Ощутимый рост производительности будет в приложениях, которые поддерживают распараллеливание процесса вычислений. В большинстве современных серверов установлены двух- или четырехядерные процессоры, в то время как количество ядер в самых продвинутых решениях может достигать 12 или 14. Многие современные приложения разрабатываются с расчетом на то, чтобы параллельно использовать несколько ядер серверного процессора.

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

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

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

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

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

Память, memory

В общем случае оперативная память используется для временного хранения информации — ровно до отключения питания. Но так как серверы работают в режиме 24/7 и останавливаются только в случае поломки или на время обслуживания, в них память хранит данные запущенных приложений.

Главное отличие серверной памяти от оперативной заключается в поддержке технологий, отвечающих за безотказную работу первой. Как минимум для этого используется контроль четности и ECC — функция коррекции ошибок. ЕСС защищает от сбоев, которые возникают при высокой интенсивности вычислений, но может увеличивать стоимость модуля памяти на 10–30 %.

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

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

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

Накопители, HDD / SSD / NVMe

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

Сегодня в серверы устанавливают как традиционные HDD, так и более современные SSD или NVMe-накопители. Винчестеры занимают больше места, сильнее греются в процессе работы, шумят, и в целом они более хрупкие — любая встряска может привести к повреждению данных. Хотя в последнее время появились HDD с увеличенным количеством головок, что позволило ускорить доступ к данным, они до сих пор популярны только из-за своей цены: у них самая низкая стоимость 1 Гб хранимых данных.

Принцип работы SSD-накопителей такой же, как у обычных флешек. При этом SSD лишены большинства недостатков, характерных для HDD: компактные, не боятся механических повреждений, более быстрые и производительные. Это тот случай, когда увеличенная стоимость в пересчет за 1 Гб полностью оправдывается высокой надежностью и эффективностью работы.

NVMe — самая современная и быстрая разновидность SSD. Это идеальный вариант для серверов, к которым предъявляют наиболее высокие требования к скорости доступа. До сих пор это самые дорогие накопители, которые к тому же нуждаются в эффективной системе охлаждения. Однако в работе с 4К и 8К контентом, профессиональными приложениями для проектирования и в 3D-рендеринге им нет равных.

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

Подключают накопители к серверу через интерфейсы SATA, SAS и NVMe. Первые два используют наборы команд ATA и SCSI, они известны со времен HDD. Интерфейс SAS привлекает тем, что позволяет выполнять «горячую» замену накопителей, без отключения сервера. В основе нового интерфейса NVMe лежат протоколы RDMA и Fibre Channel, а для обмена данными используется шина PCI-E. Скорость доступа по NVMe-интерфейсу в несколько раз выше, чем по SAS/SATA.

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

Корпус

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

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

Компактнее всего серверные компоненты размещаются в корпусе блейд-сервера, который еще называют шасси. Шасси предоставляет доступ к общим компонентам вроде блока питания и сетевых контроллеров.

Улучшение конструкции сервера и оптимизация размещения компонентов внутри него прямо влияет на энергоэффективность оборудования.

Другие компоненты

Помимо основных компонентов, современный сервер включает в себя:

  • сетевые платы для передачи данных;
  • блок (или несколько блоков) питания;
  • аппаратные контроллеры.

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

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