К содержанию
устроено

Как устроено разбор

Что такое сервер и как он устроен: простыми словами

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

Редакция «Как устроено», разборы по первоисточникам 6 мин чтения

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

Клиент и сервер: кто кого обслуживает

В сети почти всё построено по схеме «клиент — сервер». Клиент — тот, кто просит: браузер, почтовое приложение, игра на телефоне. Сервер — тот, кто отвечает. Похоже на кафе: гость делает заказ, официант передаёт его на кухню и приносит блюдо. Гость не знает, как устроена кухня, ему важно получить то, что просил.

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

Из чего состоит серверное железо

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

ЧастьЧто делает и чем отличается от домашней
ПроцессорВыполняет запросы; в сервере часто стоят два процессора с большим числом ядер, чтобы обслуживать много клиентов одновременно
Оперативная памятьХранит данные для быстрых ответов; модули с коррекцией ошибок (ECC) сами находят и исправляют сбой в отдельном бите
НакопителиХранят сайты, базы, файлы; собраны в массив RAID, чтобы поломка одного диска не уничтожила данные
Корзина для дисковПозволяет вынуть неисправный диск и вставить новый, не выключая сервер
Блоки питанияОбычно два: если один сломается, второй продолжит работу
Сетевые картыНесколько быстрых подключений к сети, в том числе на случай, если один кабель выйдет из строя
Плата удалённого управленияОтдельный маленький компьютер внутри, через который администратор может включить, перезагрузить и настроить сервер из другого города
ВентиляторыМощные и шумные, гонят воздух через плотно набитый корпус спереди назад

Программная часть не менее важна: операционная система (чаще всего Linux или Windows Server) и серверные программы — веб-сервер, почтовый сервер, база данных. Именно они принимают запросы и готовят ответы.

Как сервер отвечает на запрос

Посмотрим, что происходит, когда вы открываете страницу интернет-магазина.

  1. Браузер узнаёт IP-адрес сервера магазина по его имени — об этом подробнее в статье о том, как работает интернет.
  2. Запрос уходит по сети к дата-центру и попадает на сетевую карту сервера.
  3. Программа веб-сервера разбирает запрос: какую страницу хотят, от какого пользователя.
  4. Если нужны данные — цены, остатки, корзина, — веб-сервер обращается к серверу базы данных. Часто это другая машина в той же стойке.
  5. Из ответа базы собирается страница, и сервер отправляет её обратно браузеру.
  6. Браузер видит, что к странице нужны ещё картинки и скрипты, и делает новые запросы. Сервер отвечает на каждый.

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

Какие бывают серверы

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

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

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

Чем сервер отличается от домашнего компьютера

  • Режим работы. Домашний ПК включают на несколько часов, сервер работает годами. Детали подбирают с расчётом на постоянный нагрев и нагрузку.
  • Запас на поломку. Дома сгоревший блок питания — это выключенный компьютер. В сервере второй блок подхватывает нагрузку, а администратор получает уведомление.
  • Без монитора и клавиатуры. Сервером управляют по сети. К большинству машин в дата-центре человек подходит, только когда нужно заменить деталь.
  • Нет красивой графики. Видеокарта в обычном сервере — простенькая, только чтобы вывести консоль. Исключение — серверы для нейросетей и расчётов, где видеокарты главные.

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

Стойки и дата-центры

Серверы ставят в стойки — металлические шкафы шириной 19 дюймов под оборудование. Высоту измеряют в юнитах: один юнит (1U) — 44,45 мм. Тонкий сервер занимает 1U, более толстый — 2U или 4U, а в стандартную стойку помещается несколько десятков таких «этажей».

Дата-центр — здание или зал, где стоят сотни стоек. Там есть всё, чтобы серверы не останавливались: два независимых ввода электричества, источники бесперебойного питания, дизельные генераторы на случай долгой аварии, мощные кондиционеры, пожаротушение газом (вода испортила бы технику) и охрана. Стойки часто ставят рядами лицом друг к другу: спереди в «холодный коридор» подают охлаждённый воздух, а горячий выходит сзади. Дома ту же задачу в миниатюре решает ИБП — о нём в статье о том, как выбрать ИБП.

Почему серверы падают и на что смотреть

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

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

Вопросы

Можно ли сделать сервер из старого компьютера?

Да, для дома — файловое хранилище, медиатека, игровой сервер для друзей. Нужно поставить подходящую программу и оставить машину включённой. Но у домашнего ПК нет запаса надёжности, поэтому важные данные на нём всё равно стоит копировать в другое место.

Почему сайт иногда открывается, а иногда пишет «ошибка 502» или «503»?

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

Что такое «облако»?

Это серверы в чужом дата-центре, мощность которых сдают в аренду по частям. Файлы в облачном хранилище лежат на обычных дисках, просто не у вас дома, а в стойке провайдера.

Сервер сильно шумит?

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

Поделиться
Была ли страница полезна?

Автор

Редакция «Как устроено»

разборы по первоисточникам

Пишем по учебникам, исследованиям и клиническим рекомендациям, источники под каждым материалом. Нашли ошибку — напишите на redakciya@kakustroeno.ru, исправим.

Источники

  1. Таненбаум Э., Уэзеролл Д. Компьютерные сети. 5-е изд. СПб.: Питер, 2012.

По теме