datacenter

Внутренняя структура и архитектура сервера

Сервер – крайне важный элемент современной IT-инфраструктуры. В основе этого слова лежит американский глагол «to serve», переводимый как «служить» или «обслуживать». Если проще – это компьютер, который обслуживает информационную сеть и позволяет ей полноценно работать. При этом для функционирования используется разнообразные по своей сути архитектура и структура сервера.

Общее понятие

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

В стандартной модели функционирования связи “сервер-клиент” программа принимает и выполняет запросы от клиентских устройств. Они могут быть запущены на том же или других компьютерах. Принцип работы и архитектура могут отличаться.

Например, в некоторых форматах server применяется для:

  • хранения информации одного или определенного количества сайтов – это серверы хостинг-провайдеров;
  • координации работы компьютеров в сети (игровые, локальные);
  • хранения базы файлов организации и простого доступа к ней сотрудников (компьютер в центральном отделении организации, на котором запущено бухгалтерское или иное ПО).

Различают виды серверов:

  • Локальный, физический или выделенный сервер - находиться в определенном помещении - серверной комнате, или центре обработки данных (ЦОД). Это устройства с определенным, четко обозначенным физическим местоположением;
  • Облачный – представляет собой некое виртуальное пространство, ресурсы которого используются одновременно несколькими пользователями. В таком формате клиенту не нужно оборудовать помещение и обеспечивать работоспособность вычислительной техники. Все операции производятся через интернет.

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

классификация серверов
  • Веб-сервер – программа для ПК, обслуживающая запросы на открытие HTML-кода и файлов. В такой системе клиентом является браузер;
  • Для приложений – ПО для компьютера в распределительной сети, через него проходят бизнес-операции прикладных программ;
  • Прокси – это посредник между конечным устройством и другим сервером, через которого клиент отправляет свои запросы;
  • Почтовый – локальные пользователи направляют ему электронные сообщения, также взаимодействует с удаленным клиентами, присылающими исходящую информацию;
  • Виртуальный – ПО, установленное на общую вычислительную машину и настроенное в таком формате, что клиент думает, что эта программа полностью контролирует всю систему;
  • Блейд-сервер – шасси, на котором устанавливается несколько небольших модульных плат (серверные лезвия), выступающих отдельными серверами и обслуживающих конкретный софт;
  • Файловое хранилище – отвечает за структурирование хранение и управление данным, чтобы другие клиенты в сети могли получать доступ к общим файлам;
  • Для политик – часть общей сети, обеспечивающая безопасность политик: отвечает за права авторизации и следит за состоянием, доступом к файлам;
  • Для базы данных – на нем хранится одна или более баз данных. Когда пользователь направляет к ним запрос, то получает информацию из базы или вносит изменения в существующую структуру;
  • Сервер печати – позволяет клиентам подключиться к сети принтеров или других печатающих устройств. Некоторые варианты позволяет контролировать приоритет запросов.

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

Внутренняя структура сервера

Среди основных внутренних компонентов сервера можно выделить:

  1. Операционные системы – это может быть Windows Server или Linux. Речь о платформе, для работы приложений. Через ОС осуществляется доступ приложений ко всем аппаратным ресурсам и сетевое подключение. Приложением называют то, что позволяет серверу функционировать по определенному алгоритму. Например, обработка запросов базы данных запускает софт для работы с этими базами данными. По аналогичному механизму сервер электронной почты должен уметь принимать почтовые сообщения через приложение.
  2. Аппаратное обеспечение. Сервер учитывает компоненты разного уровня. Аппаратная система обычно складывается из шасси для установки в стойку: блока питания, модульной платы, процессора (одного или нескольких), памяти, систем хранения, интерфейса сетевых подключений. Основная масса систем может управляться через специальный сетевой порт. Это позволяет контролировать работу на низшем уровне и отслеживать функционирование независимо от ОС. Системы управления применяются для удаленной активации, установки операционной системы, контроля состояния и настройки.

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

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

Для Windows подобная структура непривычна. В этой операционной системе каждый жесткий диск является собственной файловой системой, которая обозначается буквами (например, С: - является стандартным каталогом верхнего уровня иерархии файлов, а другим дискам выдаются иные буквенные обозначения.

В Linux все файла или устройства в системе хранятся в корневом каталоге, который помечается символом слеша - /.

Архитектура сервера

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

  1. Одноуровневая архитектура – все используемые программы распределены по рабочим устройствам, которые направляют запросы серверу баз данных или файловому хранилищу. Прикладного ПО на самом сервере не предусматриваются – он только предоставляет информацию. Это надежная, но сложная в управлении архитектура из-за проблем синхронизации на разных устройствах.
  2. Двухуровневая архитектура – прикладное ПО установлено на машине для приложений, а на устройствах используются программы-клиенты, которые обеспечивают пользователю удобный интерфейс для обращения. Это оптимальная архитектура для взаимодействия «клиент-сервер».
  3. Трехуровневая архитектура – в таком формате машина баз данных, файловое хранилище и прочие элементы устроены на отдельном уровне, результаты работы которого отображаются на сервере приложений. Вся логика информации и бизнес-процессов установлена на нем же. Клиенты обращаются через промежуточное ПО, которое обеспечивает гибкость взаимодействия и высокую производительность.
сетевая архитектура сервера

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

В типовой сетевой архитектуре используется два базовых компонента – сетевой драйвер и сервис. Драйвер функционирует на уровне ядра ОС, имея возможность пропускать, фильтровать и задерживать трафик для контроля скорости. У сетевой карты может быть активирован режим «прослушки», когда она принимает не только свои, но и чужие пакеты. Это позволяет учитывать весь трафик в сети, а не только тот, что проходит через сервер.

Рассматривая архитектуру файловой системы (ФС), то разработчики стремятся предоставить пользователю возможность работать сразу с нескольких вариантами. На верхнем уровне используется переключатель ФС. Он обеспечивает удобство управления запросами приложений и конкретных ФС, к которым они обращаются. Переключатель преобразует сигналы в формат, воспринимаемый уровнем ФС. Каждый компонент архитектуры ФС - это драйвера, поддерживающий определенную организацию. Переключатель – это базовый модуль, способный обращаться к драйверу. Приложение не наделено такими полномочиями. Для выполнения своих задач ФС обращаются к подсистеме ввода-вывода, образующий другой слой архитектуры. Это составная часть ФС, отвечающая за загрузку и управление всему модулями низших уровней.

Программное обеспечение

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