Сервер (аппаратное обеспечение)
Се́рвер (англ. server от англ. to serve — служить, мн. ч. се́рверы) — выделенный или специализированный компьютер для выполнения сервисного программного обеспечения (в том числе серверов тех или иных задач).
Сервер — выделенный компьютер
Сервером называется компьютер, выделенный из группы персональных компьютеров (или рабочих станций) для выполнения какой-либо сервисной задачи без непосредственного участия человека. Сервер и рабочая станция могут иметь одинаковую аппаратную конфигурацию, так как различаются лишь по участию в своей работе человека за консолью.
Некоторые сервисные задачи могут выполняться на рабочей станции параллельно с работой пользователя. Такую рабочую станцию условно называют невыделенным сервером.
Консоль (обычно — монитор/клавиатура/мышь) и участие человека необходимы серверам только на стадии первичной настройки, при аппаратно-техническом обслуживании и управлении в нештатных ситуациях (штатно, большинство серверов управляются удалённо). Для нештатных ситуаций серверы обычно обеспечиваются одним консольным комплектом на группу серверов (с коммутатором, например, KVM-переключателем, или без такового).
Специализация
Специализация серверного оборудования идёт несколькими путями, выбор того, в каком направлении идти, каждый производитель определяет для себя сам. Большинство специализаций удорожают оборудование.
Надёжность
Серверное оборудование зачастую предназначено для обеспечения работы сервисов в режиме 24/7, поэтому часто комплектуется дублирующими элементами, позволяющими обеспечить «пять девяток» (99,999 %; время недоступности сервера или простой системы составляет менее 6 минут в год). Для этого конструкторами при создании серверов создаются специальные решения, отличные от создания обычных компьютеров:
- память обеспечивает повышенную устойчивость к сбоям. Например для i386-совместимых серверов, модули оперативной памяти и кэша имеет усиленную технологию коррекции ошибок (англ. Error Checking and Correction, ECC). На некоторых других платформах, например SPARC (Sun Microsystems), коррекцию ошибок имеет вся память. Для собственных мэйнфреймов IBM разработала специальную технологию Chipkill™.
- Повышение надёжности сервера достигается резервированием, в том числе с горячими подключением и заменой (англ. Hot-swap) критически важных компонентов:
- при необходимости вводится дублирование процессоров (например, это важно для непрерывности выполнения сервером задачи долговременного расчёта — в случае отказа одного процессора вычисления не обрываются, а продолжаются, пусть и на меньшей скорости)
- блоков питания,
- жёстких дисков в составе массива RAID и самих контроллеров дисков,
- групп вентиляторов, обеспечивающих охлаждение компонентов сервера.
- В функции аппаратного мониторинга вводят дополнительные каналы для контроля большего количества параметров сервера: датчики температуры контролируют температурные режимы всех процессоров, модулей памяти, температуру в отсеках с установленными жёсткими дисками; электронные счётчики импульсов, встроенные в вентиляторы, выполняют функции тахометров и позволяют, в зависимости от температуры, регулировать скорость их вращения; постоянный контроль напряжения питания компонентов сервера позволяет сигнализировать об эффективности работы блоков питания; сторожевой таймер не позволяет остаться незамеченным зависанию системы, автоматически производя принудительную перезагрузку сервера.
Размеры и другие детали внешнего исполнения
Серверы (и другое оборудование), которые требуется устанавливать на некоторое стандартное шасси (например, в 19-дюймовые стойки и шкафы), приводятся к стандартным размерам и снабжаются необходимыми крепёжными элементами.
Серверы, не требующие высокой производительности и большого количества внешних устройств, зачастую уменьшают в размерах. Часто это уменьшение сопровождается уменьшением ресурсов.
В так называемом «промышленном исполнении», кроме уменьшенных размеров, корпус имеет бо́льшую прочность, защищённость от пыли (снабжён сменными фильтрами), влажности и вибрации, а также имеет дизайн кнопок, предотвращающий случайные нажатия.
Конструктивно аппаратные серверы могут исполняться в настольном, напольном и стоечном вариантах. Последний вариант обеспечивает наибольшую плотность размещения вычислительных мощностей на единицу площади, а также максимальную масштабируемость. С конца 1990-х всё большую популярность в системах высокой надёжности и масштабируемости получили так называемые блейд-серверы (от англ. blade — лезвие) — компактные модульные устройства, позволяющие сократить расходы на электропитание, охлаждение, обслуживание и т. п…
Ресурсы
По ресурсам (частота и количество процессоров, количество памяти, количество и производительность жёстких дисков, производительность сетевых адаптеров) серверы специализируются в двух противоположных направлениях — наращивании ресурсов и их уменьшении.
Наращивание ресурсов преследует целью увеличение ёмкости (например, специализация для файл-сервера) и производительности сервера. Когда производительность достигает некоторого предела, дальнейшее наращивание продолжают другими методами, например, распараллеливанием задачи между несколькими серверами.
Уменьшение ресурсов преследует цели уменьшения размеров и энергопотребления серверов.
Аппаратные решения
Крайней степенью специализации серверов являются, так называемые аппаратные решения (аппаратные роутеры, сетевые дисковые массивы, аппаратные терминалы и т. п.). Аппаратное обеспечение таких решений строится «с нуля» или перерабатывается из существующей компьютерной платформы без учёта совместимости, что делает невозможным использование устройства со стандартным программным обеспечением.
Программное обеспечение в аппаратных решениях загружается в постоянную и/или энергонезависимую память производителем.
Аппаратные решения, как правило, более надёжны в работе, чем обычные серверы, но менее гибки и универсальны. По цене, аппаратные решения могут быть как дешевле, так и дороже серверов, в зависимости от класса оборудования.
Псевдоаппаратные решения
В последнее время появилось большое количество бездисковых серверных решений на базе компьютеров (как правило x86) формфактора Mini-ITX и меньше со специализированной переработкой GNU/Linux на SSD-диске (ATA-флэш или флеш-карте), позиционируемых как «аппаратные решения». Данные решения не принадлежат к классу аппаратных, а являются обычными специализированными серверами. В отличие от (более дорогих) аппаратных решений они наследуют проблемы платформы и программных решений, на которых основаны.
Производительность
Масштабируемость
Масштабируемость — это возможность увеличить вычислительную мощность сервера или операционной системы (в частности, их способности выполнять больше операций или транзакций за определённый период времени, либо запускать больше различных служб) за счёт установки большего числа процессоров, оперативной памяти и т. д. или их замены на более производительные. Это масштабируемость аппаратная. Изначально серверы в продаже идут в базовой комплектации, но с заложенным потенциалом к «апгрейду» — аппаратная масштабируемость. К примеру, базовый набор сервера имеет один процессор, два модуля памяти, например, 2х2 ГБ и дисковый массив из двух жёстких дисков, допустим, 146 ГБ. Далее (или сразу) по мере потребности можно доустановить ещё один процессор, память или добавить диски в массив.
Масштабируемость бывает вертикальная и горизонтальная. Под вертикальной масштабируемостью подразумевается создание одной системы с множеством процессоров, а под горизонтальной — объединение компьютерных систем в единый виртуальный вычислительный ресурс. Каждый из этих подходов рассчитан на использование в различных областях. Так, горизонтальное масштабирование лучше всего подходит для балансировки нагрузки Web-приложений, а вертикальное масштабирование лучше всего подходит для больших баз данных, управлять которыми на одной системе проще и эффективнее.
Так же бывает программная масштабируемость.
Размещение и обслуживание
Серверы размещаются в специально оборудованных помещениях, называемых дата-центром. Младшие модели серверов могут размещаться в обычных офисных помещениях, и от простых десктопных компьютеров их зачастую отличает лишь автономная работа и подключение к блоку бесперебойного питания повышенной ёмкости. Управление серверами осуществляют квалифицированные специалисты — системные администраторы.
Примечания
Литература
- Comer, Douglas E.; Stevens, David L. Vol III: Client-Server Programming and Applications (англ.). — Department of Computer Sciences, Purdue University, West Lafayette, IN 47907: Prentice Hall, 1993. — P. 11d. — (Internetworking with TCP/IP). — ISBN 0-13-474222-2.