Серверы

Серверы

Драйверы серверных устройств

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

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

В контексте сети Интернет-протокола (IP) сервер — это программа, которая работает как прослушиватель сокетов.

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

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

Аналогичным образом рассмотрим приложение веб-сервера (например, многоплатформенный HTTP-сервер Apache). Это программное обеспечение веб-сервера можно запустить на любом способном компьютере. Например, хотя ноутбук или персональный компьютер обычно не называют сервером, в таких ситуациях они могут выполнять его роль и, следовательно, обозначаться как сервер. В данном случае именно роль машины помещает ее в категорию сервера.

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

Хотя практически любой персональный компьютер способен выступать в качестве сетевого сервера, выделенный сервер будет содержать функции, делающие его более подходящим для производственных сред. Эти функции могут включать более быстрый процессор, увеличенную высокопроизводительную оперативную память и увеличенную емкость хранилища за счет более крупных или нескольких жестких дисков. Серверы также обычно обладают функциями надежности, доступности и удобства обслуживания (RAS) и отказоустойчивости, такими как резервирование источников питания, хранилища (как в RAID) и сетевых подключений.

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

В период с 1990-х по 2000-е годы рост использования выделенного оборудования привел к появлению автономных серверных устройств . Одним из хорошо известных продуктов является Google Search Appliance, устройство, сочетающее в себе аппаратное и программное обеспечение в готовой упаковке. Более простые примеры таких устройств включают коммутаторы, маршрутизаторы, шлюзы и серверы печати, все из которых доступны в конфигурации, практически готовой к работе по принципу «подключи и работай».

Современные операционные системы, такие как дистрибутивы Microsoft Windows или Linux, по праву кажутся спроектированными с учетом архитектуры клиент-сервер. Эти операционные системы пытаются абстрагировать аппаратное обеспечение, позволяя широкому спектру программного обеспечения работать с компонентами компьютера. В некотором смысле операционную систему можно рассматривать как аппаратное обеспечение программного обеспечения, которое во всех языках программирования, кроме языков программирования низкого уровня, должно взаимодействовать с помощью API.

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

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

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

Требования к аппаратному обеспечению серверов различаются в зависимости от серверного приложения. Абсолютная скорость процессора обычно не так важна для сервера, как для настольного компьютера. Обязанности серверов по предоставлению услуг множеству пользователей по сети приводят к различным требованиям, таким как быстрые сетевые соединения и высокая пропускная способность ввода-вывода. Поскольку доступ к серверам обычно осуществляется через сеть, они могут работать в автономном режиме без монитора или устройства ввода. Процессы, не необходимые для работы сервера, не используются. Многие серверы не имеют графического пользовательского интерфейса (GUI), поскольку он не нужен и потребляет ресурсы, которые можно было бы выделить в другом месте. Аналогично, аудио- и USB-интерфейсы могут быть опущены.

Серверы часто работают без перебоев в течение длительного времени, а доступность часто должна быть очень высокой, что делает надежность и долговечность оборудования чрезвычайно важными. Хотя серверы могут быть собраны из обычных компьютерных частей, критически важные корпоративные серверы в идеале очень отказоустойчивы и используют специализированное оборудование с низкой интенсивностью отказов, чтобы максимально увеличить время безотказной работы, поскольку даже кратковременный сбой может стоить дороже, чем покупка и установка системы. . Например, на национальной фондовой бирже может потребоваться всего несколько минут простоя, чтобы оправдать затраты на полную замену системы чем-то более надежным. Серверы могут включать более быстрые жесткие диски большей емкости, более крупные компьютерные вентиляторы или водяное охлаждение для отвода тепла, а также источники бесперебойного питания, которые гарантируют, что серверы продолжат работать в случае сбоя питания. Эти компоненты обеспечивают более высокую производительность и надежность при соответственно более высокой цене. Широко используется аппаратное резервирование — установка более одного экземпляра модулей, таких как блоки питания и жесткие диски, расположенные таким образом, что в случае отказа одного автоматически доступен другой. Используются устройства памяти ECC, обнаруживающие и исправляющие ошибки; Память без ECC с большей вероятностью приведет к повреждению данных.

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

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

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