- Серверная стойка, вид сзади
- Серверы Фонда Викимедиа , вид спереди
- Серверы Фонда Викимедиа , вид сзади
- Серверы Фонда Викимедиа , вид сзади
Сервер — это компьютер , который предоставляет информацию другим компьютерам, называемым « клиентами » в компьютерной сети . [1] Такая архитектура называется моделью клиент-сервер . Серверы могут предоставлять различные функции, часто называемые «услугами», такие как совместное использование данных или ресурсов несколькими клиентами или выполнение вычислений для клиента. Один сервер может обслуживать нескольких клиентов, а один клиент может использовать несколько серверов. Клиентский процесс может работать на одном и том же устройстве или может подключаться по сети к серверу на другом устройстве. [2] Типичными серверами являются серверы баз данных , файловые серверы , почтовые серверы , серверы печати , веб-серверы , игровые серверы и серверы приложений . [3]
Клиент-серверные системы обычно чаще всего реализуются (и часто отождествляются с) моделью запрос-ответ : клиент отправляет запрос на сервер, который выполняет некоторое действие и отправляет ответ обратно клиенту, как правило, с результатом или подтверждением. Обозначение компьютера как «аппаратного обеспечения серверного класса» подразумевает, что он специализирован для запуска на нем серверов. Это часто подразумевает, что он более мощный и надежный, чем стандартные персональные компьютеры , но в качестве альтернативы большие вычислительные кластеры могут состоять из многих относительно простых, заменяемых серверных компонентов.
Использование слова «сервер» в вычислительной технике происходит из теории очередей , [4] , где оно датируется серединой 20-го века, в частности, в работе Кендалла (1953) (вместе с «службой»), которая ввела нотацию Кендалла . В более ранних работах, таких как Erlang (1909), используются более конкретные термины, такие как «[телефонные] операторы».
В вычислительной технике «сервер» датируется по крайней мере RFC 5 (1969), [5] одним из самых ранних документов, описывающих ARPANET (предшественника Интернета ), и противопоставляется «пользователю», различая два типа хоста : «сервер-хост» и «пользователь-хост». Использование «обслуживания» также восходит к ранним документам, таким как RFC 4, [6] противопоставляя «обслуживающий-хост» «использующему-хосту».
В « Файле жаргона» сервер определяется в общепринятом смысле как процесс, выполняющий обслуживание запросов, обычно удаленных, [7] в версии 1981 года: [8]
СЕРВЕР (сущ.) Разновидность ДАЕМОНА , который выполняет обслуживание для запрашивающей стороны, который часто работает на компьютере, отличном от того, на котором работает сервер.
Средний уровень использования сервера в начале 2000-х годов составлял от 5 до 15%, но с внедрением виртуализации этот показатель начал расти, чтобы сократить количество необходимых серверов. [9]
Строго говоря, термин сервер относится к компьютерной программе или процессу (запущенной программе). Через метонимию он относится к устройству, используемому для (или устройству, предназначенному для) запуска одной или нескольких серверных программ. В сети такое устройство называется хостом . Помимо сервера часто используются слова serve и service (как глагол и как существительное соответственно), хотя servicer и server не используются. [a] Слово service (существительное) может относиться к абстрактной форме функциональности, например, веб-служба . С другой стороны, оно может относиться к компьютерной программе, которая превращает компьютер в сервер, например, служба Windows . Первоначально использовавшееся как «серверы обслуживают пользователей» (и «пользователи используют серверы»), в смысле «подчиняться», сегодня часто говорят, что «серверы обслуживают данные», в том же смысле, что и «давать». Например, веб-серверы «обслуживают [вверх] веб-страницы пользователям» или «обслуживают их запросы».
Сервер является частью модели клиент-сервер ; в этой модели сервер обслуживает данные для клиентов . Природа связи между клиентом и сервером — запрос и ответ . Это контрастирует с моделью одноранговой связи , в которой отношения представляют собой взаимное взаимодействие по требованию. В принципе, любой компьютеризированный процесс, который может использоваться или вызываться другим процессом (особенно удаленно, особенно для совместного использования ресурса), является сервером, а вызывающий процесс или процессы — клиентом. Таким образом, любой компьютер общего назначения, подключенный к сети, может размещать серверы. Например, если файлы на устройстве совместно используются каким-либо процессом, этот процесс является файловым сервером . Аналогично, программное обеспечение веб-сервера может работать на любом подходящем компьютере, и поэтому ноутбук или персональный компьютер могут размещать веб-сервер.
Хотя запрос-ответ является наиболее распространенной клиент-серверной конструкцией, существуют и другие, такие как шаблон публикации-подписки . В шаблоне публикации-подписки клиенты регистрируются на сервере pub-sub, подписываясь на определенные типы сообщений; эта первоначальная регистрация может быть выполнена с помощью запроса-ответа. После этого сервер pub-sub пересылает соответствующие сообщения клиентам без каких-либо дополнительных запросов: сервер отправляет сообщения клиенту, а не клиент извлекает сообщения с сервера, как в случае запроса-ответа. [10]
Роль сервера заключается в совместном использовании данных, а также ресурсов и распределении работы. Серверный компьютер может также обслуживать свои собственные компьютерные программы; в зависимости от сценария это может быть частью транзакции quid pro quo или просто технической возможностью. В следующей таблице показано несколько сценариев использования сервера.
Почти вся структура Интернета основана на клиент-серверной модели. Высокоуровневые корневые серверы имен , DNS и маршрутизаторы направляют трафик в Интернете. К Интернету подключены миллионы серверов, работающих непрерывно по всему миру [13] , и практически каждое действие, предпринимаемое обычным пользователем Интернета, требует одного или нескольких взаимодействий с одним или несколькими серверами. Существуют исключения, которые не используют выделенные серверы; например, одноранговый обмен файлами и некоторые реализации телефонии (например, до Microsoft Skype ).
Требования к оборудованию для серверов сильно различаются в зависимости от назначения сервера и его программного обеспечения. Серверы часто более мощные и дорогие, чем клиенты, которые к ним подключаются.
Сервер имен используется как для аппаратных, так и для программных частей. Для аппаратных серверов он обычно ограничивается высокопроизводительными машинами, хотя программные серверы могут работать на различном оборудовании.
Поскольку доступ к серверам обычно осуществляется через сеть, многие из них работают без присмотра, без компьютерного монитора или устройства ввода, аудиооборудования и USB- интерфейсов. Многие серверы не имеют графического пользовательского интерфейса (GUI). Они настраиваются и управляются удаленно. Удаленное управление может осуществляться различными способами, включая Microsoft Management Console (MMC), PowerShell , SSH и браузерные системы управления по внешнему каналу, такие как iDRAC от Dell или iLo от HP .
Большие традиционные одиночные серверы должны работать в течение длительных периодов без перерыва. Доступность должна быть очень высокой, что делает надежность и долговечность оборудования чрезвычайно важными. Критически важные корпоративные серверы должны быть очень отказоустойчивыми и использовать специализированное оборудование с низким уровнем отказов , чтобы максимизировать время безотказной работы . Источники бесперебойного питания могут быть включены для защиты от сбоев питания. Серверы обычно включают в себя избыточность оборудования, такую как двойные источники питания , дисковые системы RAID и память ECC , [14] наряду с обширным тестированием и проверкой памяти перед загрузкой . Критические компоненты могут быть с возможностью горячей замены , что позволяет техническим специалистам заменять их на работающем сервере, не выключая его, а для защиты от перегрева серверы могут иметь более мощные вентиляторы или использовать водяное охлаждение . Их часто можно будет настраивать, включать и выключать или перезагружать удаленно, используя внеполосное управление , как правило, на основе IPMI . Корпуса серверов обычно плоские и широкие и предназначены для монтажа в стойку, либо на 19-дюймовые стойки , либо на открытые стойки .
Эти типы серверов часто размещаются в выделенных центрах обработки данных . Обычно они имеют очень стабильное питание и Интернет, а также повышенную безопасность. Шум также не так важен, но потребление энергии и тепловыделение могут быть серьезной проблемой. Серверные комнаты оборудованы устройствами кондиционирования воздуха.
Ферма серверов или кластер серверов — это набор компьютерных серверов, поддерживаемых организацией для предоставления серверной функциональности, далеко выходящей за рамки возможностей одного устройства. Современные центры обработки данных теперь часто строятся из очень больших кластеров гораздо более простых серверов, [15] и существует совместная работа, Open Compute Project , вокруг этой концепции.
Класс небольших специализированных серверов, называемых сетевыми устройствами, обычно находится в нижнем ценовом диапазоне и часто меньше обычных настольных компьютеров.
Мобильный сервер имеет портативный форм-фактор, например, ноутбук . [16] В отличие от крупных центров обработки данных или стоечных серверов, мобильный сервер предназначен для развертывания в дороге или по мере необходимости в чрезвычайных ситуациях, катастрофах или временных условиях, где традиционные серверы нецелесообразны из-за их требований к питанию, размера и времени развертывания. [17] Основными бенефициарами так называемой технологии «сервера на ходу» являются сетевые менеджеры, разработчики программного обеспечения или баз данных, учебные центры, военный персонал, правоохранительные органы, криминалисты, группы оказания чрезвычайной помощи и сервисные организации. [18] Для обеспечения портативности такие функции, как клавиатура , дисплей , батарея ( источник бесперебойного питания , обеспечивающий резервирование питания в случае сбоя) и мышь, интегрированы в шасси.
В Интернете доминирующими операционными системами среди серверов являются дистрибутивы с открытым исходным кодом UNIX-подобные , например, основанные на Linux и FreeBSD , [19] при этом Windows Server также имеет значительную долю. Проприетарные операционные системы, такие как z/OS и macOS Server , также развернуты, но в гораздо меньших количествах. Серверы, работающие под управлением Linux, обычно используются в качестве веб-серверов или банков данных. Windows Server используются для сетей, которые состоят из клиентов Windows.
Специализированные серверно-ориентированные операционные системы традиционно обладают такими функциями, как:
На практике сегодня многие настольные и серверные операционные системы используют схожие кодовые базы , различаясь в основном по конфигурации.
В 2010 году на центры обработки данных (серверы, системы охлаждения и другая электрическая инфраструктура) приходилось 1,1–1,5% потребления электроэнергии во всем мире и 1,7–2,2% в Соединенных Штатах. [21] [ требуется обновление ] Согласно одной из оценок, общее потребление энергии для информационных и коммуникационных технологий позволяет сократить выбросы углерода более чем в 5 раз [22] в остальной экономике за счет повышения эффективности.
Глобальное потребление энергии растет из-за растущего спроса на данные и пропускную способность. Совет по защите природных ресурсов (NRDC) утверждает, что центры обработки данных использовали 91 миллиард киловатт-часов (кВт-ч) электроэнергии в 2013 году, что составляет 3% от мирового потребления электроэнергии. [ требуется обновление ]
Экологические организации обратили внимание на выбросы углерода в центрах обработки данных, поскольку на их долю приходится 200 миллионов метрических тонн углекислого газа в год.
Серверы — это хосты, на которых установлено программное обеспечение, позволяющее им предоставлять информацию...Клиенты — это компьютерные хосты, на которых установлено программное обеспечение, позволяющее им запрашивать и отображать информацию, полученную от сервера.
Сервер — сравнительно новый термин в компьютерных сетях, возникший из теории очередей.
{{cite web}}
: CS1 maint: несколько имен: список авторов ( ссылка )