Привет!
Ищешь, где почитать про различия серверов и систем хранения данных? И чтобы не уснуть в процессе? Тогда ты удачно припарковался.
Главное из статьи: введение в тему, в чём главные различия между серверами и системами хранения данных (СХД), типы хранилищ и серверов, как они работают вместе и по отдельности, немного терминологии и важные нюансы. На десерт — ответ на вопрос, почему СХД выходит дороже сервера под вашу задачу.
Материал подойдёт как начинающим админам (закрыть пробелы), так и бывалым (заполнить пороховницы).
Важно: если вы создаёте серьёзную IT-архитектуру — по-взрослому, без полумер, то для вас серверы и СХД — это дуэт, а не выбор “или”. Они не соперничают, а работают вместе, как Шерлок Холмс и Доктор Ватсон, дополняя друг друга.
IT-архитектура (если требует задача) вполне может включать следующее:
-
Отказоустойчивый кластер из нескольких серверов (возможно, с виртуализацией);
-
Коммутатор;
-
СХД, подключенная к кластеру по скоростному интерфейсу, а-ля FC (Fiber Channel);
-
Отдельный NAS (Network Attached Storage) для резервных копий.
-
Другие устройства или их комбинации.
Так что заваривай чашечку кофе и закуривай трубку — мы начинаем.
P.S. Курить, разумеется, вредно. Нинада :)
Основные функции серверов и систем хранения данных
Дальше в статье будет отдельный разбор серверов (Шерлока) и СХД (Ватсона), но чтобы вникнуть в различия этих
парней устройств, нужно узнать про их основной функционал. Если базу знаете, то смело переходите к следующему абзацу.
-
Хранение данных: Серверы и СХД могут хранить большие объемы информации: файлы, базы данных, веб-содержимое и другие виды.
-
Управление доступом: Серверы и СХД обеспечивают контроль доступа к данным. Они определяют права доступа пользователей и регулируют уровни доступа для защиты конфиденциальности и безопасности информации.
-
Обработка данных: Серверы и СХД выполняют задачи обработки данных, включая вычисления и аналитику, обновление информации, генерацию отчетов и выполнение других операций.
-
Распределение данных: Серверы и СХД используют для распределения данных между разными устройствами или компонентами системы. Это позволяет обеспечить быстрый доступ к данным и более эффективное использование ресурсов оборудования.
-
Резервное копирование и восстановление данных: Серверы и СХД предоставляют средства для создания резервных копий данных и их восстановления в случае сбоев или потери информации. Это важная функция для обеспечения безопасности и сохранности данных.
-
Совместное использование данных: Серверы и СХД дают возможность совместного использования и изменения данных между различными пользователями и устройствами. Это позволяет сотрудникам эффективнее работать над одними и теми же данными, не теряя согласованности.
-
Масштабируемость: Серверы и СХД можно масштабировать. Это позволяет добавлять/заменять новые комплектующие или устройства, улучшать характеристики и производительность без замены устройства.
-
Удалённый мониторинг и управление: Серверы и СХД дают возможности мониторинга и управления ресурсами оборудования. Они позволяют админам отслеживать использование ресурсов, производительность и статус системы, а также дают средства (например IPMI) для удалённой настройки и управления системой.
На мой взгляд, это основные функции серверов и СХД, но не все. Как видите, многие пункты схожи, но дьявол, как водится, кроется в деталях.
И да, если того требует задача, то эти системы могут и в другой функционал: шифрование данных, репликация, высокая доступность, машинное обучение и многое другое.
Различия между сервером и СХД
Итак, не буду долго мусолить, а сразу пройдусь по главным отличиям между серверами и СХД в контексте их основных функций:
-
Физическая архитектура:
-
Сервер — это сложное устройство общего назначения; многие компоненты можно заменить и/или модернизировать: процессоры (ЦПУ), память (ОЗУ), блоки питания (БП), накопители, RAID-контроллеры и карты расширения.
-
СХД также построен на этих комплектующих, но с упором на дисковые контроллеры и накопители, а ЦПУ или ОЗУ обычно не трогают, достаточно тех, что идут по-умолчанию, вдобавок их меньше и ниже производительность. Зато дисковая подсистема значительно превосходит многие серверы общего назначения.
-
Хранение данных:
-
Серверы могут хранить информацию, но не специализируются только на этом. Обычно их используют для работы операционных систем, виртуальных машин, приложений, вычислений, хранения баз данных и т.д., а также для сетевого доступа к этому функционалу пользователями и другими устройствами.
-
В первую очередь, СХД — это ёмкое и отказоустойчивое хранилище данных. СХД обычно имеют больше накопителей и производительные дисковые контроллеры с памятью. Они отлично подходят для работы с большими объемами данных, имеют высокую производительность и отказоустойчивость.
-
-
Управление доступом:
-
Серверы могут полноценно настраивать и контролировать различные уровни доступа к данным — зависит от настроек безопасности и прав доступа.
-
СХД также могут в управление доступом, например: функции шифрования данных, контроля доступа и аутентификации. Но зачастую всё ограничивается разными уровнями хранения данных.
-
-
Обработка данных:
-
Серверы отлично подходят для обработки данных и сложных (и не очень) вычислительных операций. Многие модели поддерживают по несколько ЦПУ и графических ускорителей (ГПУ) в одном компактном корпусе.
-
СХД не специализируются на вычислениях (хотя есть модели для аналитики). Встроенный ЦПУ занимается управлением, передачей и распределением данных. Основная задача СХД — обеспечить эффективное хранение и доступ к информации. Многие модели поддерживают огромное количество накопителей.
-
-
Распределение данных:
-
Серверы могут быть настроены для распределения данных между несколькими устройствами или узлами в сети. Серверы могут выполнять операции обработки данных на основе распределенных вычислений, при которых данные могут быть разделены и обработаны на разных серверах.
-
СХД могут распределять данные между своими накопителями или различными устройствами хранения для обеспечения высокой производительности и доступности, но их основная задача — хранение данных и доступ к ним, а не вычисления или активное распределение в инфраструктуре.
-
-
Резервное копирование и восстановление данных:
-
Серверы могут создавать резервные копии данных и восстанавливать их в случае сбоя или потери данных. Но хранить бэкапы на самом сервере — это как шторы рядом с газовой плитой повесить. Вроде стену от жира защищает, но если полыхнёт, то сгорит всё. Поэтому нужен отдельный сервер в другом месте.
-
СХД лучше подходят для создания резервных копий и восстановления, так как дают большую производительность работы с данными, а также делают IT-систему более надёжной (сервер сгорел, а СХД с резервной копией в другой стойке — нет). При этом меньше вероятность, что память для резервирования закончится, так как СХД и вместительнее, и масштабировать проще, плюс потенциал выше.
-
-
Масштабируемость:
-
Серверы можно отлично масштабировать вертикально (то есть в рамках одного узла aka ноды) и горизонтально путем добавления дополнительных серверов для распределения нагрузки или увеличения производительности.
-
СХД также можно вертикально масштабировать, но в основном только по количеству накопителей. К примеру в обычном сервере может быть 8 SFF накопителей, а в СХД — 24 SFF. Зато горизонтальное масштабирование отличное, СХД может обслуживать дополнительные дисковые полки (более дешевые системы хранения без встроенного ЦПУ).
-
-
Подключение и интеграция:
-
Серверы обычно работают в сети из десятков/сотен/тысяч устройств, где они предоставляют услуги и ресурсы другим юзерам и устройствам. Для быстрого обмена данными в сети у серверов есть несколько скоростных сетевых интерфейсов (1 Гбит/c Ethernet-порты, например).
-
СХД часто подключают к серверам или другим устройствам напрямую, словно это внутренний накопитель сервера/ов — такой функционал поддерживает либо RAID-контроллер, либо специальный адаптер HBA (Host Bus Adapter). Или же создают отдельную сеть хранения данных (да, тоже СХД, об этом ниже), строят эту сеть используя скоростные и надёжные интерфейсы, такие как SAS (редко), Fibre Channel, InfiniBand или Ethernet (10-40-100G).
-
Как я и сказал, серверы и СХД — это Шерлок и Ватсон в мире сетевого оборудования. Они в чём-то похожи, но сильно различаются и при этом отлично дополняют друг друга. Серверы и СХД взаимодействуют в IT-системе, где первые обрабатывают и предоставляют результат, а вторые организуют физическое место для надёжного хранения и доступа к данным. Оба компонента важны для построения эффективных и надёжных IT-инфраструктур — как дуэт двух сыщиков для раскрытия сложного дела.
Системы хранения данных: определение
СХД — это система хранения данных, а в моей аналогии — Доктор Ватсон. По сути СХД это и есть сервер, но не общего назначения, а специализированного, поэтому в этой статье мы будем разделять понятия, чтобы не запутаться :)
Итак, СХД, как и серверы, выполняют бизнес-задачи и могут обрабатывать данные, включая аналитику (несложные улики и логические цепочки в случае Ватсона), но в основном они занимаются управлением, распределением и хранением большого объёма данных.
Представьте себе СХД как виртуального ассистента, который занимается данными. Аналогично и Доктор Ватсон помогает Шерлоку Холмсу анализировать, собирать и организовывать информацию.
Примеры систем хранения данных (СХД)
Вместо того, чтобы хранить информацию на своем сервере, ПК или другом устройстве, вы можете организовать всё на СХД. Получится безопасное и удалённое хранилище с постоянным доступом к данным по сети. Системы хранения надёжны, высокодоступны и относительно компактны. Все критические узлы в СХД дублируются для максимальной отказоустойчивости: блоки питания, охлаждение, контроллеры, диски в массивах и т.д.
Важный нюанс: в кругах системных архитекторов и других IT-специалистов ранга повыше, чем эникей или начинающий сисадмин, не очень любят, когда системы хранения данных называют СХД, так как есть сеть хранения данных, которая также складывается в аббревиатуру СХД (англ. Storage Area Network, SAN). И да, на английском такой путаницы нет. В SAN есть свои нюансы, они отлично масштабируются горизонтально, но об этом расскажу дальше в статье, чтобы не сбивать вас :)
Почему СХД дороже сервера под вашу задачу
Если очень коротко:
Сервер просто не решит задачу, на которую рассчитана СХД. Системы хранения поддерживают высокопроизводительные дисковые контроллеры и огромное количество серверных накопителей в одном компактном корпусе, которые и составляют львиную долю стоимости всего устройства.
Если развернуто:
Сервер отлично справится с обработкой данных, запуском приложений, он возьмёт на себя контроль сети, доступа и другие задачи. Тут ему равных нет.
Но что, если вам нужно централизованно хранить огромные объемы корпоративной информации (базы данных, рабочие файлы, проекты, документы, резервные копии, архивы, веб-содержимое и электронная почта)? Что, если доступ к ним должен быть у десятков/сотен сотрудников одновременно, и эти данные постоянно растут, а в сервере больше нет места под накопители? Ещё и бэкап нужен на другом физическом носителе по правилу 3-2-1?
Или второй сценарий. На круглосуточном производстве 50 IP-камер 24 часа в сутки пишут FullHD видео, 25 кадров/c, сжатие H264. Глубина архива — 60 дней. Архив выйдет где-то на 180 ТБ. Но даже двухюнитовому серверу Dell R740 из верхнего сегмента не хватит максимального объема хранилища, чтобы хранить такой объем данных. А если и хватит с дополнительным сжатием, то только на это. Но знаете, кому хватит? Средней СХД — и с запасом на будущее, включая другие задачи.
Вот почему стоимость СХД оправдана: Если вам не нужна обработка данных, запуск приложений, управление сетью и т.д., но при этом объем данных, с которыми вы работаете большой, то с вероятностью 9/10 вам нужна именно СХД, а не сервер. Ну и не забываем начало статьи — эти устройства отлично работают вместе. Так что возможно нужна связка сервер-СХД.
Перейдём к особенностям.
Особенности СХД.
Я выделю основное, но при желании можно найти и больше отличительных черт СХД.
Особенности СХД:
-
Масштабируемость: СХД можно легко масштабировать по мере роста объема данных и рабочих нагрузок. Во-первых, есть вместительная дисковая корзина (12 LFF или 24 LFF дисков — это стартовый уровень, есть и больше). Во-вторых, можно подключать дисковые полки (JBOD) — это что-то вроде СХД, но без мозгов (контроллеров), а потому стоят дешевле; всю вычислительную часть возьмёт на себя СХД. В-третьих, есть горячее подключение накопителей: вам не нужно выключать СХД, чтобы извлечь/вставить жёсткий диск — всё можно сделать на лету.
-
Высокая производительность: СХД рассчитаны на высокую скорость доступа к данным по сети и быструю обработку запросов, что особенно важно при работе с критическими приложениями и большими объемами данных, а также при резервировании и восстановлении.
-
Отказоустойчивость и резервирование: СХД проектируют со встроенными механизмами отказоустойчивости, такими как два и более дисковых контроллера, дублирование интерфейсных карт, создание дисковых массивов c избыточными накопителями, репликация данных и механизмы автоматического резервного копирования и восстановления. СХД сделана так, чтобы сбой любого компонента не приводил к остановке работы.
-
Управление данными: СХД не только хранят данные, но дают функционал управления: разделение, миграция, сжатие и шифрование, чтобы обеспечить эффективное использование ресурсов хранения и безопасность информации. При этом можно централизованно управлять всем хранилищем, чтобы оптимизировать расходы на администрирование и мониторинг.
-
Гибкость: СХД поддерживают различные протоколы и интерфейсы, позволяющие интегрировать и использовать их с различными ИТ-инфраструктурами, системами и приложениями.
-
Распределение данных: СХД могут распределять данные на несколько физических устройств или узлов, обеспечивая балансировку нагрузки и повышая производительность.
Подчеркну ещё раз: СХД играют важную роль в предоставлении надёжного, централизованного и эффективного хранения данных для организаций, обеспечивая высокую производительность, отказоустойчивость и масштабируемость. Это не альтернатива обычному серверу, а полноценное устройство для других задач. О задачах и поговорим.
Задачи и обязанности СХД
Задач и обязанностей у систем хранения данных больше, чем кажется из названия :) А часть из них связана с особенностями, о которых я рассказал выше. Опять же, в этой статье поговорим только о самых главных, но их может быть и больше. Всё зависит от конкретных требований и реализации вашей инфраструктуры.
-
Хранение данных: Основная задача СХД — предоставление пространства для хранения больших объемов данных. Они обеспечивают устойчивое и эффективное хранение информации, включая файлы, базы данных, виртуальные хранилища и любые другие данные.
-
Управление данными: СХД отвечают за управление данными, включая их организацию, распределение, резервное копирование, архивирование и восстановление. Они обеспечивают централизованное управление данными и обеспечивают доступ к ним.
-
Высокая доступность: Это может быть дублирование данных на разных устройствах или узлах, репликация данных для создания резервных копий и механизмы быстрого восстановления после сбоев, а также автоматизация этих процессов.
-
Высокая производительность: СХД должны обеспечивать быстрый доступ к данным и обработку запросов с минимальной задержкой. Они оптимизируют производительность хранения данных, используя кэширование, технологии RAID, оптимизацию процессов чтения/записи и другие методы.
-
Защита данных: СХД обеспечивают безопасность и защиту данных. Это может включать механизмы шифрования данных, контроль доступа, аудит и мониторинг, чтобы обеспечить конфиденциальность, целостность и доступность информации. Есть даже специализированные линейки СХД для защиты данных, например, Dell PowerProtect DD.
-
Масштабируемость: СХД должны масштабироваться по мере роста объемов данных. Они предлагают возможности добавления новых дисков, узлов или расширения системы для увеличения ёмкости хранения и производительности.
-
Мониторинг и управление: СХД обеспечивают инструменты и интерфейсы для мониторинга состояния системы, производительности и использования ресурсов. Они также предоставляют средства управления, позволяющие администраторам контролировать и настраивать работу СХД, в том числе удалённо по сети.
Как вы поняли, в рамках СХД можно решать множество задач. Поэтому есть и разные виды хранилищ, которые активно используют админы в построении IT-инфраструктур.
Типы хранилищ: что такое DAS, SAN, NAS
Итак, вот основные типы хранилищ данных: DAS (Direct Attached Storage), SAN (Storage Area Network), NAS (Network Attached Storage) и облачные хранилища.
Выше в статье была простая терминология, но сейчас будет немного посложнее. Выходим на поле к сисадминам, так сказать :) Чтобы вам было легче разобраться, я снова вернусь к аналогии с Шерлоком и Ватсоном.
Вот краткое описание каждого типа хранилища:
-
DAS (Direct Attached Storage): это хранилище данных, подключенное напрямую к одному серверу. DAS даёт доступ к данным только подключенному серверу — без участия других устройств сети.
Пример из жизни: внешний жёсткий диск, на который вы скидываете фото с опусков — это тоже своего рода DAS-хранилище. На практике, конечно, с DAS всё посложнее: блоки питания, серверные накопители, охлаждение, контроллеры :) То есть вам понадобится флешка на стероидах — выделенный сервер или СХД.
Если сравнить с Доктором Ватсоном, то он расследует дела только с Шерлоком Холмсом и делится знаниями, опытом и умениями только с ним — это позволяет держать детали расследования в тайне от всех. А DAS быстро и безопасно передаёт данные серверу, другие не смогут получить доступ. Да, классический пример DAS — тот же самый JBOD.
-
SAN (Storage Area Network): это
солнышкосеть хранения данных, которая позволяет серверам работать с удалёнными ленточными библиотеками, СХД и другими видами накопителей так, словно они часть сервера; ОС сервера распознаёт нарезанные куски этих накопителей (LUN, Logical Unit Number) как своих — родненьких, но сама SAN ничего не знает об операционной и файловой системе, которую использует сервер.
На уровне инфраструктуры получаем две сети, в которой каждый занят своим делом:
-
Локальная сеть с интернетом и прикладным ПО,
-
SAN — специальная отдельная сеть для доступа серверов к дискам-лунам.
Итак, Ватсон в аналогии с SAN — это как раз сеть. Шерлоку тяжело общаться с обычными людьми, а обычным людям с Шерлоком. Но благодаря Ватсону, который выступает посредником, обычные люди (устройства хранения) могут общаться (по сети) с Холмсом (сервером), терпеть его манеры и выходки (ОС, файловые системы, интерфейсы), раскладывать улики по полочкам (хранить данные в LUN’ах), анализировать их и находить преступника (обрабатывать данные серверу).
Ключевое преимущество SAN-систем в том, что любое устройство в сети может получить любой доступный ресурс этого хранилища (включая управление), при этом узлы могут получать доступ одновременно. Ограничения только в пропускной способности (SAN быстрые) или в настройках доступа (в SAN гибкие настройки). Также к серверу можно, например, подключить парочку дублирующих СХД, которые находятся в разных концах города, чтобы авария в одном месте не остановила работу вашей сети. Ну и резервирование в SAN на удалённых ленточных библиотеках — это выгодно, так как 1 ТБ данных выходит дешевле, чем на жёстких дисках.
Но администрирование сетей SAN (пардон за тавтологию) дело дорогое и сложное. Не лучший выбор для маленьких предприятий и неопытных сисадминов.
-
NAS (Network Attached Storage): NAS — это по сути сервер с ролью хранения файлов (у него даже своя СХД может быть).
Во-первых, NAS — это физический компьютер, специализирующийся на хранении файлов. Именно файлов, а не любых данных, так как устройства этого типа работают на файловом уровне.
Во-вторых, NAS подключают к серверу (или ПК) по сети, но, как правило, по отличным от SAN протоколам файловой системы: SMB/CIFS, NFS, FTP, SFTP, HTTP, WebDAV, DC, BitTorrent и др. В итоге NAS даёт простой и удобный совместный (или частный) доступ к данным для устройств (клиентов) в сети; подходит для обмена файлами, хранения, резервных копий и много другого.
Простота NAS и относительная дешевизна делают его популярным в админских кругах для домашнего или корпоративного медиасервера или архива. Мощных вычислительных возможностей не нужно, полноценной ОС — тоже (достаточно бесплатных FreeNAS или NAS4Free). Дисковая корзина, простенькое железо да сетевой интерфейс надёжный. А если добавить аппаратный RAID 5 или 6, то цены не будет. Некоторые даже делают NAS из обычных персональных компьютеров, но конечно специализированные NAS получше будут.
Новых аналогий здесь не нужно, NAS — это что-то вроде инспектора Лестрейда (сам дела расследует, улики собирает, но до дуэта Шерлока и Ватсона ему далеко): помощник-хранилище для вычислительного сервера, рабочей станции или ПК, но для работы с файлами и централизованного хранения.
Что ещё добавить? Каждый тип хранилища востребован; нужный выбирают, исходя из требований организации, проектов и сценариев использования. Их можно использовать отдельно или в комбинации для создания комплексных систем хранения данных. Осталось только узнать, на чём вся эта радость работает.
Компоненты и технологии, используемые в системах хранения данных
Так, мы тут про компуктеры серверы говорим, поэтому очевидно, что СХД — это сложное комплексное устройство. На коленке из железок с авито такое не собрать, так что расскажу немного об устройстве современных систем хранения. Для общего развития, так сказать.
Основные компоненты и технологии, которые есть в СХД:
-
Корпус: СХД визуально похожи на серверы и сильно отличаются от ПК. Самый распространённый форм-фактор — это стоечные (Rack-mounted) модели для монтажа в серверные стойки и шкафы, ширина 19 дюймов (48.26 см). Размеры СХД, конечно, отличаются. Всё зависит от вендора, модели и конфигурации. Есть общепринятая монтажная единица высоты: 1U (U, Unit равен 1.75 дюйма или 44,45 мм), 2U, 3U или 4U. Обычно, чем больше юнитов, тем больше накопителей, контроллеров и возможностей. Но это нужно уточнять в Data Sheet конкретной модели.
-
Интерфейсы и встроенные сетевые карты: СХД в вакууме не имеют смысла, поэтому для подключения к хостам (серверам) и быстрой передачи данных системам хранения нужно скоростное и надёжное соединение. В СХД используют производительные сетевые платы NIC (Network Integrated Card) на десятки Гбит/c и следующие интерфейсы: Fibre Channel, SAS (Serial Attached SCSI), Ethernet и многие другие.
-
Накопители: Зависит от модели СХД, но в целом это серверные жёсткие диски (HDD), состоящие из вращающихся магнитных дисков, на которые записываются и с которых считываются данные магнитными подвижными головками. Второй вариант — твердотельные накопители (SSD). Они используют флэш-память для хранения данных, стоят дороже, работают быстрее, но менее надёжны и плохо прогнозируемы в сбоях. Выбирайте внимательно, так как не все модели СХД поддерживают одновременно два варианта. У накопителей также есть разные интерфейсы для подключения (SATA, SAS, NVMe и даже FC), но в корпоративных системах хранения почти всегда интерфейс SAS — он быстрый и надёжный. Также есть несколько форм-факторов накопителей в СХД: 2.5’ он же SFF; 3.5’ он же LFF. Учитывайте это, так как заменить в процессе не получится — либо все диски SFF, либо все LFF. Иногда можно подключить диски другого форм-фактора, докупив дисковую полку.
-
Контроллеры (они же дисковые или RAID-контроллеры): В СХД они RAID-контроллеры уже встроены из коробки (или добавляются при закупке оборудования). Дисковые контроллеры позволяют объединить несколько физических накопителей в логический массив. За счёт избыточности получается повысить отказоустойчивость и производительность всей системы хранения данных, но полезное дисковое пространство уменьшается. Контроллеров может быть и несколько, если СХД рассчитана на большое количество накопителей. Такие дела.
-
Кэш-память: Корпоративные СХД имеют энергозависимую кэш-память для временного хранения часто используемых данных и ускорения чтения/записи. Зачастую кэш-память — это часть дискового контроллера, но в некоторых вариантах (распределённые системы хранения) бывают и другие реализации. Кэш может быть в виде DRAM (динамическая оперативная память) или как комбинация DRAM и накопителей на основе флеш-памяти. Энергозависимость кэша значит, что данные хранятся, пока есть электричество. Поэтому на случай аварий предусмотрены батарейки BBU (Battery Backup Unit), чтобы данные из кэша не пропали при аварии.
-
Софт: Подсистема управления СХД — это встроенное программное обеспечение, которые нужно для базового функционала: шифрование, хранение и передача данных, управление, настройка и мониторинг системы, репликация, резервирование и восстановление данных. ПО может быть простым или сложным — зависит от класса и стоимости СХД.
-
Блоки питания (БП): БП для СХД работают с высоким КПД, на высоких мощностях и в резервирующих режимах, чтобы выход одного не остановил работу.
Это лишь некоторые из компонентов и технологий в СХД, нередко документация по конкретной модели больше, чем эта статья. А производителей очень много и моделей за годы вышло немало.
С СХД покончили, начнём препарацию серверов :)
Примеры серверов
Сервер — это Шерлок в мире компьютеров. Его задача — выполнять бизнес-задачи, принимать запросы пользователей/клиентов и отвечать на них (заказы от простых людей для Шерлока) и перемалывать большие объемы информации (дедукция, улики, все дела), делать это быстро, без сбоев и нередко круглосуточно. Серверы — многоцелевые устройства для выполнения огромного пула задач, но обычно их выделяют для какой-то одной — такие серверы называют выделенными.
Главные особенности серверов:
-
Высокая производительность: Серверы, за счёт уникальной архитектуры и охлаждения, поддерживают мощные ЦПУ (и сразу несколько штук) с высокими показателями TDP (Thermal Design Power), большой объём ОЗУ с коррекцией ошибок, быстрые накопители и сетевые платы с повышенной надёжность. Всё, чтобы эффективно обрабатывать запросы и выдавать высокую производительность.
-
Надёжность и отказоустойчивость: Серверы проектируют с учётом резервирования основных узлов и максимальной отказоустойчивости: дополнительные БП, избыточные накопители в массивах, дополнительные платы расширения (те же сетевые), механизмы автоматического бэкапирования и восстановления, кластеризация и многое другое, чтобы обеспечить непрерывную работу и защиту данных.
-
Удалённое управление: Серверы зачастую работают без вмешательств человека после настройки, за редким исключением. Но если понадобится что-то изменить или проверить, то сервером можно удалённо и полноценно управлять по IPMI — с любого устройства с доступом к сети.
-
Сеть: В серверы устанавливают высокоскоростные и многопортовые сетевые интерфейсы, чтобы обмен данных с другими устройствами в сети был максимально быстрым и стабильным. В некоторых моделях сразу из коробки, в других можно докупить и установить.
-
Контроль доступа и безопасность: Серверы обычно работают с корпоративными и конфиденциальными данными, утечка которых аукнется проблемой. Поэтому в серверы встроены технологии контроля доступа к данным и ресурсам, а также дополнительные механизмы аутентификации и авторизации пользователей. Как на программном, так и на аппаратном физическом уровне (чипы безопасности TPM, безель с ключом, фаерволы и т.д.).
-
Специализированные функции: Серверы могут выполнять специализированные функции: серверы баз данных, серверы приложений, сервер виртуализации, серверы веб-хостинга и т.д., в зависимости от требований бизнеса. Конечно, чтобы оптимизировать затраты и производительность, нужно подбирать железо под эти требования,
Да, особенностей у серверов больше, но для общего понимания достаточно и этих. На серверах построен почти весь современный интернет — они есть в любой крупной IT-инфраструктуре. Если на вашем смартфоне работает онлайн-приложение, то не сомневайтесь — серверы замешаны и здесь; без них, к слову, современный бизнес (крупнее малого) невозможен.
Задачи и обязанности серверов
По задачам пройдусь вкратце, так как развёрнутый ответ будет объёмом с «Атлант
затарил гречи расправил плечи», а нам оно не надо :) Уточню, что это задачи в общем, а про серверные роли будет в следующем абзаце.
Итак, роли и функции серверов могут сильно различаться, всё зависит от характеристик, приложений, конкретных требований и контекста использования.
Задачи и обязанности серверов:
-
Отказоустойчивость и обеспечение непрерывной работы.
Сервер может работать год или лет 5 без выключений. И не только за счёт более надёжных, чем у ПК, комплектующих. Например, в обычный сервер можно поставить: 2 блока питания (БП), каждый их которых подключен к разным источникам питания и к разным бесперебойникам; диски c горячей заменой в RAID-массивах, второй сервер в кластере и сделать автоматическую миграцию виртуальных машин; две сетевые карты с разными магистральными провайдерами. Если ничего не поняли, то скажу проще — всё продублировано и отключение света, интернета или полыхающий синим пламенем сервер работу не остановят. Хоть молотком ломай. Но это, конечно, опционально — от уровня стандартного ПК до неубиваемой системы против локального апокалипсиса. Был бы бюджет :) А у больших компаний, тех же банков, он есть.
-
Предоставление услуг и ресурсов другим компьютерам и клиентам в сети.
-
Обработка запросов и выполнение вычислений.
-
Хранение и управление данными.
-
Обеспечение совместного доступа к ресурсам.
-
Резервное копирование и восстановление данных.
-
Обеспечение безопасности и контроля доступа к данным и ресурсам.
-
Мониторинг.
-
Удалённое управление системой.
-
Поддержка и обновление программного обеспечения и операционной системы.
Например, инженер отправляет рендериться 3D-модель здания на сервер и продолжает работу, так как ресурсы его ПК свободны.
Например, сервер хостит сайт и обрабатывает запросы его посетителей.
Например, сервер хранит базу данных по всем клиентам за последние 5 лет и оптимизирует работу с постоянно растущей базой.
Два бухгалтера с разных ПК одновременно работают с одним документом в корпоративном хранилище. Редактируют и сохраняют без конфликтов версий.
Например, сервер автоматически создаёт резервную копию бухгалтерских документов на удалённой СХД, чтобы налоговая
на отшлепала сбой в системе или авария не привели к потере данных.
Например, сервер даёт доступ к финансовой информации только бухгалтерам и владельцу — по логину и паролю. Но у бухгалтеров нет доступа к маркетинговой информации.
Например, сервер в автоматическом режиме отслеживает сбои в работе и отправляет журналы (отчёты) и алерты (тревога) админу, если замечена проблема.
Например, админ при умении/желании/мотивации/ (нужное подчеркнуть) может управлять серверами хоть со смартфона, попивая виски сауэр в ЮАР. А может решать все проблемы через консоль и клавиатуру, если серверная под боком. Возможностей очень много.
Например, на сервере крутятся удалённые рабочие места (VDI) в компании для 50 человек. Администратор на сервере может за одну ночь обновить всё программное обеспечение, даже в офис не заходя. Если бы это были 50 отдельных ПК, то на обновления ушло бы несколько дней или недель.
А теперь кратенько по серверным ролям.
Типы
серверов, серверные
роли
Приземлённый пример: есть авто для быстрой перевозки картошки, а есть для быстрой перевозки пятой точки. Если сильно хочется, то можно сделать раллийный Камаз, который с обеими задачами справится на ура.
С серверами аналогично: один может хранить и распределять данные, другой их обрабатывать, а третий и то и то совмещать. Данные — это лишь малая часть.
Ролей у сервера масса, перечислю самые распространенные:
-
Веб-сервер: Отвечает за обслуживание и доставку веб-страниц по протоколу HTTP. Примеры: Apache, Nginx, Microsoft IIS.
-
Файловый сервер: Предоставляет доступ к файлам и папкам на сервере для удаленных клиентов. Примеры: Windows Server с ролью "Файловые службы", Samba.
-
Базы данных: Хранит и управляет данными, обеспечивает доступ к базам данных. Примеры: MySQL, PostgreSQL, Microsoft SQL Server, Oracle Database.
-
Почтовый сервер: Обрабатывает и доставляет электронную почту. Примеры: Microsoft Exchange Server, Postfix, Sendmail.
-
DNS-сервер: Обрабатывает запросы о преобразовании доменных имен в IP-адреса. Примеры: BIND, Microsoft DNS Server.
-
DHCP-сервер: Автоматически назначает IP-адреса и другие сетевые параметры клиентам в сети. Примеры: ISC DHCP Server, Microsoft DHCP Server.
-
Контроллер домена: Управляет сетью и обеспечивает авторизацию и аутентификацию пользователей. Примеры: Active Directory (Windows Server), FreeIPA.
-
VPN-сервер: Позволяет удаленным пользователям безопасно подключаться к локальной сети через интернет. Примеры: OpenVPN, Cisco AnyConnect.
-
Прокси-сервер: Промежуточный сервер, который принимает запросы от клиентов и пересылает их на другие серверы. Примеры: Squid, Microsoft Forefront Threat Management Gateway (TMG).
-
Сервер управления системами: Осуществляет централизованное управление компьютерами и серверами в сети. Примеры: Microsoft System Center Configuration Manager (SCCM), Puppet, Ansible.
Нередко производительные серверы разбивают на виртуальные машины aka ВМ (несколько раздельных серверов со своими ОС в одном физическом сервере, грубо говоря). Каждой ВМ можно назначать разные роли — это сокращает расходы, но не всегда.
А можно одному физическому серверу отдать одну ОС и одну задачу — вполне рабочий сценарий, иногда так дешевле и безопаснее. в таком случае, чтобы всё правильно и быстро работало, нужно подбирать оптимальные комплектующие. Ещё и бюджет учитывать. Задача непростая — требует опыта. Мои коллеги из Servermall за долгие годы на этом много собак съели :) Если нет времени разбираться, то они всё подскажут и(или) подберут сервер за вас. Бесплатно, разумеется.
Для смелых — идём дальше. Поподробнее расскажу, что и как там устроено в техническом плане.
Аппаратные
компоненты
и технические
характеристики
серверов
Почти всё, что я говорил про СХД выше — применимо и к серверам общего назначения. Так что будут повторы.
Но в серверах больше гибкости, почти все комплектующие, кроме “голой базы”, можно заменить, настроить, убрать и т.д. “Голая база” — это разговорный термин в админских кругах, некая основа сервера: корпус, материнская плата да некоторые несъемные (интегрированные) или незаменимые комплектующие.
Аппаратные компоненты и технические характеристики серверов:
-
Корпус/база: Серверы бывают трёх основных форм-факторов. Самые распространённые— это стоечные (Rack-mounted) модели для монтажа в серверные стойки и шкафы, ширина 19 дюймов (48.26 см). Второй вариант — это башенные (Tower) серверы, похожи на ПК, но обычно побольше. Третий вариант — это модульные (Blade) серверы-лезвия, там логика такая: есть общий корпус-хаб со всеми основными комплектующими, куда вставляют, как лезвие катаны в ножны, упрощенные (но не по производительности) серверы без БП, вентиляторов и т.д. Блейды дороже обычных, но в больших IT-инфраструктурах востребованы, так как проще в обслуживании, экономят место и сокращают текущие расходы на электричество и администрирование. Размеры, как и в СХД, различаются. Всё зависит от вендора, модели и конфигурации. Есть общепринятая монтажная единица высоты: 1U (U, Unit равен 1.75 дюйма или 44,45 мм), 2U, 3U или 4U. Обычно, чем больше юнитов, тем больше накопителей, контроллеров и возможностей. Но это нужно уточнять в Data Sheet конкретной модели.
-
Материнская плата: Материнская плата — это компонент, который связывает все комплектующие сервера: процессор, память, жесткие диски, платы расширения, сетевые адаптеры и т.д. Отсюда и название :) Если сервер брендовый (Dell, HPE, Lenovo и др.), а не самосбор, то материнскую плату, как правило, заменить нельзя. На материнской плате также распаивают чипы и другие несъемные компоненты, например, BMC-контроллер для работы IPMI (Intelligent Platform Management Interface, здесь моя статья об этом на примере Dell). При этом слоты PCIe на материнской плате позволяют расширить возможности сервера — их количество сильно отличается у разных моделей серверов.
-
Центральный процессор (CPU): Это главный вычислительный компонент сервера, который обрабатывает данные и выполняет инструкции. От него зависит потенциал, возможности и производительность (мощность, если угодно). Серверный процессор похож на CPU в вашем ПК, но это профессиональное решение: технологии виртуализации, криптошифрования, оптимизация под ИИ, специальные вычислительные блоки, работают в паре или даже в 4 процессора на одной материнской плате, ядер — под сотню, потоков — под две, герцовки высокие, охлаждение серьезное (TDP) и многое другое.
Crysis в 4К точно потянет :)Есть, конечно, серверные CPU базового уровня, которые не сильно отличаются по характеристикам от обычного в ПК. И проигрывать могут по пиковой производительности. Всё зависит от бюджета и задач — не всегда нужна мощь. -
Оперативная память (RAM): память служит для временного хранения инструкций и данных, к которым CPU обращается в процессе работы. Оперативная память влияет на производительность сервера, особенно при обработке больших объемов данных или запуске множества приложений одновременно. Продвинутые серверы поддерживают быструю серверную памяти, которая сильно отличается от обычной в ПК: технологии коррекции ошибок (ECC, Error-Correcting Code), буферизация (Registered), огромные максимальные объемы (до нескольких терабайт) и т.д. Слотов под RAM в сервере может быть несколько десятков.
-
Интерфейсы и сетевые карты: Серверы — устройства, которые работают удалённо в отдельной серверной комнате или дата-центре, а не под столом, как ПК. За редким исключением. Плюс сервер может работать сразу с десятками, сотнями или тысячами клиентов. Чтобы сетевой доступ был стабильным, быстрым и безопасным нужны хорошие сетевые карты и скоростные интерфейсы. Обычно есть интегрированные в материнскую плату, но можно установить и дополнительные в слоты PCIe. Скорость этого добра бывает в десятки раз выше, чем у ПК (10 Гбит/c, 100 Гбит/c и это не предел). Плюс профессиональные интерфейсы: Fibre Channel, SAS (Serial Attached SCSI), Ethernet и многие другие.
-
Накопители: В целом ситуация схожа с СХД, есть даже модели с расширенной дисковой корзиной, например, Dell R750xd (тут мой обзор), который вмещает до 24 накопителей SFF. Но это скорее исключение, обычно у серверов меньше накопителей, чем у СХД. По самим дискам всё схоже: серверные HDD и SSD, надёжные (высокие показатели наработки на отказ, MTBF), производительные (быстрые интерфейсы, включая SAS или NVMe) и с дополнительным функционалом (ПО для мониторинга состояния накопителей, предупреждения о возможных отказах и удалённого управления). Цены тоже выше, чем на диски от ПК. Почти все серверы рассчитаны на два форм-фактора накопителей: 2.5’ — SFF или 3.5’ — LFF. Выбирают это на этапе закупки, то есть в процессе заменить не получится. Есть устаревшие серверы, в которых можно встретить накопители 1.8’ — этот форм-фактор был популярен в прошлом, но сейчас это редкость.
-
Контроллеры (они же дисковые или RAID-контроллеры): В серверах RAID-контроллеры встроены не всегда, но всегда можно добавить их в конфигураторе перед закупкой или докупить после, если понадобится. Дисковые контроллеры позволяют объединить несколько физических накопителей в логический массив. За счёт избыточности получается повысить отказоустойчивость и производительность дисковой подсистемы, но полезное пространство уменьшается. Важно, что RAID-массив не про сохранность данных, для этого есть резервирование.
-
Кэш-память: почти во всех серверных RAID-контроллерах есть энергозависимая кэш-память для временного хранения часто используемых данных и ускорения чтения/записи. Зачастую кэш-память — это часть дискового контроллера, но в некоторых вариантах (распределённые системы хранения) бывают и другие реализации. Кэш может быть в виде DRAM (динамическая оперативная память) или как комбинация DRAM и накопителей на основе флеш-памяти. Энергозависимость кэша значит, что данные хранятся, пока есть электричество. Поэтому на случай аварий предусмотрены батарейки BBU (Battery Backup Unit), чтобы данные из кэша не пропали при аварии.
-
Блоки питания (БП): БП для серверов работают с высоким КПД, на высоких мощностях и в резервирующих режимах, чтобы выход одного не остановил работу сервера.
-
Проприетарные технологии и софт: Сюда входит и вышеупомянутый IPMI (например iDRAC, iLO), и технологии оптимизации охлаждения (например, Dell Fresh Air 2.0), и технологии продолжения работы, если планка RAM выйдет из строя (например, Dell Fault Resilient Memory), и те же RAID-контроллеры (например, Smart Array, PERC).
Список можно расширять ещё очень долго, но у всех серверов характеристики, комплектующие и возможности сильно отличаются, поэтому остановимся на этом.
Синергия
и совместная
работа СХД и
серверов
Отдельно системы мы разобрали, теперь пора поговорить об их совместной работе. Когда речь о более-менее полноценной IT-инфраструктуре, то появляется и серверы, и СХД, и коммутаторы для их связи в придачу. Подробнее про коммутаторы я расскажу как-нибудь в другой статье, поэтому здесь только вкратце.
Коммутатор — это отдельное устройство в IT-инфраструктуре, которое соединяет разные системы в общую сеть. Коммутаторы постоянно поддерживает связь и передачу данных между ними и имеют много портов (интерфейсов) на борту, к которым подключают серверы и СХД (и не только) по сетевым кабелям (патч-кордам). Если сеть растёт, то можно подключить ещё один коммутатор — ноу проблем.
Важно, что коммутатор умеет управлять трафиком данных, как дорожный регулятор. Он знает, куда и какие данные нужно отправить, чтобы они достигли адресата. Коммутатор умеет и в безопасность с контролем доступа. Он знает, какие ребята могут проехаться по закрытой трассе, а какие нет. Благодаря коммутатору не получится ситуации, когда все устройства в сети одновременно закричат: "Я хочу передать/получить данные!", и всё смешивается в кучу чего-то непотребного :)
На этом краткий экскурс в коммутаторы всё. Теперь к главным героям.
Взаимозависимость
между серверами
и системами
хранения данных
В связке серверы-СХД устройства постоянно взаимодействуют, а потому зависят друг от друга, как Шерлок и Ватсон. Они работают вместе для достижения высокой производительности, надёжности и эффективности в рамках сетей и приложений.
Вот некоторые примеры их взаимозависимости:
-
Хранение данных: СХД дают серверам пространство для хранения данных. Серверы используют СХД для сохранения и управления информацией, включая файлы, базы данных, виртуальные машины и другие данные, необходимые для работы приложений и услуг.
-
Доступ к данных: СХД дают (или не дают некоторым, как настроите) серверам доступ к хранилищу данных. Серверы могут читать/записывать данные с/на СХД. Быстрый и надёжный доступ к данным на СХД — основа для эффективной работы серверов и непрерывной работы приложений. Критичный пункт.
-
Интеграция и конфигурация: Серверы и СХД в единой инфраструктуре должны быть интегрированы и настроены для полноценной совместной работы: настройка сетевых протоколов, конфигурация сетевых интерфейсов и оптимизация производительности ввода-вывода между серверами и СХД — всё это требует знаний, согласования и совместных усилий для наилучшей производительности и надёжности.
-
Управление и обслуживание: Серверы и СХД хоть и работают автономно после настройки и введения в эксплуатацию, всё равно требуют управления и постоянного обслуживания для нормальной работы. Это и мониторинг состояния устройств, обновление ПО, управление ёмкостью хранения, резервное копирование, миграция данных и другие задачи сисадмина. На произвол оставлять нельзя.
Роль
хранилища в
обеспечении
высокой доступности
и избыточности
данных
СХД играет важную роль в высокой доступности IT-инфраструктуры и приложений. Важный параметр — это избыточность данных. По сути — дублирование важной (или всей) информации. Такое решение позволяет не допустить потерю данных или простои системы в случае сбоев или отказов оборудования.
Способов для достижения высокой доступности и избыточности данных много, чаще всего их комбинируют:
-
Рейд-технологии: Хранилища данных почти всегда используют технологии RAID (Redundant Array of Independent Disks). Если грубо, то это распределение информации между несколькими дисками. Если один выходит из строя, то на втором восстанавливаются недостающие данные без остановки работы. Производительность упадёт на какое-то время, но потом восстановится — только неисправный накопитель нужно не забыть заменить. Видов RAID много (RAID 1, RAID 5, RAID 6 и т.д.). Это всегда баланс между надёжностью, полезным пространством и скоростью работы. Админ исходит из бюджета, оборудования и задач, которые нужно решить.
-
Репликация данных: СХД может на автомате реплицировать данные, то есть создавать дополнительные копии данных и размещать их на отдельных накопителях, устройствах или в удалённых хранилищах. Это обеспечивает избыточность и повышенную доступность данных, поскольку при отказе одного экземпляра данных они остаются доступными на других устройствах.
-
Кластеризация: Из СХД можно делать кластеры, где несколько физических узлов (нод) объединены в единое хранилище. Кластеризация обеспечивает высокую доступность, поскольку в случае отказа одного узла в кластере данные могут быть доступны на других узлах. Это также позволяет распределить нагрузку и обеспечить более высокую производительность.
-
Резервное копирование и восстановление: СХД поддерживают резервное копирование данных, что позволяет создавать регулярные бэкапы и сохранять их на отдельных устройствах или в удаленных локациях. В случае потери данных или повреждения они могут быть восстановлены из резервных копий, что обеспечивает защиту и доступность данных.
-
Мониторинг и управление: Состояние СХД можно мониторить в реальном времени мониторить, чтобы обнаруживать и предотвращать отказы накопителей, а также управлять ресурсами и настройками для непрерывной работы и высокой доступности данных.
Как я сказал, это всё комбинируют и получают отличный результат. Если постараться, то даже непредвиденные сбои, отказы, а порой и катастрофы (пожары, потопы) не остановят работу вашей IT-инфраструктуры.
Оптимизация
производительности
за счёт эффективной
координации
сервера и хранилища
Чтобы связка СХД-сервер давала жару, нужно её правильно настроить и оптимизировать. Иначе потенциал оборудования не будет раскрыт, а вы переплатите за неиспользованные возможности.
Вот несколько практик, как координируют работу серверов и СХД:
-
Балансировка нагрузки: Например, распределение данных по различным дискам или массивам хранения, а также методы балансировки нагрузки на уровне приложений или операционной системы для равномерного распределения запросов к хранилищу. Балансировка позволяет распределить нагрузку равномерно между ресурсами оборудования, нивелируя узкие места и перегрузки.
-
Конфигурация сети: Настройка сетевых интерфейсов сервера и СХД — архиважно для оптимизации производительности. Правильная настройка сетевых параметров: размер буфера, скорость передачи данных и задержка. Всё, чтобы выдавать оптимальную скорость и пропускную способность передачи данных между сервером и хранилищем.
-
Мониторинг и оптимизация: Непрерывный мониторинг производительности сервера и СХД позволяет выявлять узкие места и проблемы производительности. На основе этих данных можно проводить оптимизацию, внесение изменений в конфигурацию и апгрейдное планирование для повышения производительности системы в целом. Сейчас и в будущем.
-
Кэширование данных: Использование кэширования данных на сервере или в СХД позволят ускорить доступ к часто используемым данным и снизить нагрузку на физические накопители. Кэширование данных на уровне операционной системы, в кэше RAID-контроллера или в сетевых устройствах может существенно увеличить производительность.
-
Выбор и настройка протоколов: Выбор и настройка протоколов связи между сервером и СХД — не последнее по важности дело. Выбор большой: iSCSI, Fibre Channel, SMB и NFS (для NAS или SAN) и многие другие. Оптимальный выбор и конфигурация протокола позволят получить отличную производительность и низкую задержку передачи данных.
Ситуация такая: купить сервер и СХД мало. Не важен размер вашей IT-инфраструктуры, важно то, как вы ей пользуетесь :) Оптимизируйте, а пользователи и коллеги скажут спасибо.
Выводы
Статья вышла огромной, поэтому соберу всё воедино и подведу черту.
Отличия. Серверы и СХД во многом похожи, но в корне отличаются и дополняют друг друга. Оба компонента важны для построения эффективных и надёжных IT-инфраструктур. Отличия влияют на их функциональность, стоимость, аппаратные характеристики, возможности, способы подключения и роль в обеспечении высокой доступности данных.
Функции. Серверы обычно про обработку данных и предоставление услуг, будь то веб-серверы, базы данных или приложения. А СХД специализируются на хранении и управлении огромными объемами данных.
Аппаратная составляющая. В аппаратном плане, серверы обладают мощными процессорами, большим объемом оперативной памяти и сетевыми интерфейсами для обработки данных и взаимодействия с другими компонентами сети. СХД имеют большую емкость дисков, высокую производительность ввода-вывода для обеспечения хранения и доступа к данным, повышенную надёжность сохранности данных. Серверы могут в хранение данных, но не специализируются на этом.
Подключение и интеграция. Серверы обычно подключены к сетевому окружению и взаимодействуют с другими узлами сети. СХД же могут быть подключены к серверам через сеть (как NAS или SAN) или прямо (DAS), в зависимости от потребностей и требований организации.
Взаимодействие. Важно понимать, что серверы и СХД тесно сотрудничают. Серверам нужны надёжные системы хранения данных, чтобы обрабатывать и предоставлять информацию. А СХД обеспечивают доступность, избыточность данных и повышают производительность, работая в связке с серверами.
В итоге. Для достижения максимальной производительности и надёжности IT-системы нужно хорошо скоординировать и интегрировать серверы и СХД. Это включает правильную настройку сети, выбор лучших протоколов связи и балансировку нагрузки между ними.
Я постарался затронуть все вопросы и ответить на них, но у вас должны появиться уточняющие моменты по вашему конкретному случаю. Если так, то задавайте их менеджерам Servermall. Ответят, проконсультируют — быстро и бесплатно.
Спасибо, что прочитали статью! Если понравилось и не хотите пропустить следующую — подписывайтесь на уведомления в форме ниже:)