- Хранение данных. Или что такое NAS, SAN и прочие умные сокращения простыми словами
- Зачем это все?
- Хранение данных
- Unified storage
- Гиперконвергентные системы
- Облака и эфемерные хранилища
- Заключение
- NAS, SAN и DAS: чем отличаются хранилища данных?
- NAS как файловое хранилище
- SAN и DAS или блочные хранилища
- Обеспечение высокой доступности
- Сравнение SAN и NAS
- Выбирать блочное хранилище, подключенное через SAN, или просто NAS?
- Недостаточно знать только тип хранилища
Хранение данных. Или что такое NAS, SAN и прочие умные сокращения простыми словами
TL;DR: Вводная статья с описанием разных вариантов хранения данных. Будут рассмотрены принципы, описаны преимущества и недостатки, а также предпочтительные варианты использования.
Зачем это все?
Хранение данных — одно из важнейших направлений развития компьютеров, возникшее после появления энергонезависимых запоминающих устройств. Системы хранения данных разных масштабов применяются повсеместно: в банках, магазинах, предприятиях. По мере роста требований к хранимым данным растет сложность хранилищ данных.
Надежно хранить данные в больших объемах, а также выдерживать отказы физических носителей — весьма интересная и сложная инженерная задача.
Хранение данных
Под хранением обычно понимают запись данных на некоторые накопители данных, с целью их (данных) дальнейшего использования. Опустим исторические варианты организации хранения, рассмотрим подробнее классификацию систем хранения по разным критериям. Я выбрал следующие критерии для классификации: по способу подключения, по типу используемых носителей, по форме хранения данных, по реализации.
По способу подключения есть следующие варианты:
- Внутреннее. Сюда относятся классическое подключение дисков в компьютерах, накопители данных устанавливаются непосредственно в том же корпусе, где и будут использоваться. Типовые шины для подключения — SATA, SAS, из устаревших — IDE, SCSI.
подключение дисков в сервере
- Внешнее. Подразумевается подключение накопителей с использованием некоторой внешней шины, например FC, SAS, IB, либо с использованием высокоскоростных сетевых карт.
дисковая полка, подключаемая по FC
По типу используемых накопителей возможно выделить:
- Дисковые. Предельно простой и вероятно наиболее распространенный вариант до сих пор, в качестве накопителей используются жесткие диски
- Ленточные. В качестве накопителей используются запоминающие устройства с носителем на магнитной ленте. Наиболее частое применение — организация резервного копирования.
- Flash. В качестве накопителей применяются твердотельные диски, они же SSD. Наиболее перспективный и быстрый способ организации хранилищ, по емкости SSD уже фактически сравнялись с жесткими дисками (местами и более емкие). Однако по стоимости хранения они все еще дороже.
- Гибридные. Совмещающие в одной системе как жесткие диски, так и SSD. Являются промежуточным вариантом, совмещающим достоинства и недостатки дисковых и flash хранилищ.
Если рассматривать форму хранения данных, то явно выделяются следующие:
- Файлы (именованные области данных). Наиболее популярный тип хранения данных — структура подразумевает хранение данных, одинаковое для пользователя и для накопителя.
- Блоки. Одинаковые по размеру области, при этом структура данных задается пользователем. Характерной особенностью является оптимизация скорости доступа за счет отсутствия слоя преобразования блоки-файлы, присутствующего в предыдущем способе.
- Объекты. Данные хранятся в плоской файловой структуре в виде объектов с метаданными.
По реализации достаточно сложно провести четкие границы, однако можно отметить:
- аппаратные, например RAID и HBA контроллеры, специализированные СХД.
RAID контроллер от компании Fujitsu
- Программные. Например реализации RAID, включая файловые системы (например, BtrFS), специализированные сетевые файловые системы (NFS) и протоколы (iSCSI), а также SDS
пример организации LVM с шифрованием и избыточностью в виртуальной машине Linux в облаке Azure
Давайте рассмотрим более детально некоторые технологии, их достоинства и недостатки.
Direct Attached Storage — это исторически первый вариант подключения носителей, применяемый до сих пор. Накопитель, с точки зрения компьютера, в котором он установлен, используется монопольно, обращение с накопителем происходит поблочно, обеспечивая максимальную скорость обмена данными с накопителем с минимальными задержками. Также это наиболее дешевый вариант организации системы хранения данных, однако не лишенный своих недостатков. К примеру если нужно организовать хранение данных предприятия на нескольких серверах, то такой способ организации не позволяет совместное использование дисков разных серверов между собой, так что система хранения данных будет не оптимальной: некоторые сервера будут испытывать недостаток дискового пространства, другие же — не будут полностью его утилизировать:
Конфигурации систем с единственным накопителем применяются чаще всего для нетребовательных нагрузок, обычно для домашнего применения. Для профессиональных целей, а также промышленного применения чаще всего используется несколько накопителей, объединенных в RAID-массив программно, либо с помощью аппаратной карты RAID для достижения отказоустойчивости и\или более высокой скорости работы, чем единичный накопитель. Также есть возможность организации кэширования наиболее часто используемых данных на более быстром, но менее емком твердотельном накопителе для достижения и большой емкости и большой скорости работы дисковой подсистемы компьютера.
Storage area network, она же сеть хранения данных, является технологией организации системы хранения данных с использованием выделенной сети, позволяя таким образом подключать диски к серверам с использованием специализированного оборудования. Так решается вопрос с утилизацией дискового пространства серверами, а также устраняются точки отказа, неизбежно присутствующие в системах хранения данных на основе DAS. Сеть хранения данных чаще всего использует технологию Fibre Channel, однако явной привязки к технологии передачи данных — нет. Накопители используются в блочном режиме, для общения с накопителями используются протоколы SCSI и NVMe, инкапсулируемые в кадры FC, либо в стандартные пакеты TCP, например в случае использования SAN на основе iSCSI.
Давайте разберем более детально устройство SAN, для этого логически разделим ее на две важных части, сервера с HBA и дисковые полки, как оконечные устройства, а также коммутаторы (в больших системах — маршрутизаторы) и кабели, как средства построения сети. HBA — специализированный контроллер, размещаемый в сервере, подключаемом к SAN. Через этот контроллер сервер будет «видеть» диски, размещаемые в дисковых полках. Сервера и дисковые полки не обязательно должны размещаться рядом, хотя для достижения высокой производительности и малых задержек это рекомендуется. Сервера и полки подключаются к коммутатору, который организует общую среду передачи данных. Коммутаторы могут также соединяться с собой с помощью межкоммутаторных соединений, совокупность всех коммутаторов и их соединений называется фабрикой. Есть разные варианты реализации фабрики, я не буду тут останавливаться подробно. Для отказоустойчивости рекомендуется подключать минимум две фабрики к каждому HBA в сервере (иногда ставят несколько HBA) и к каждой дисковой полке, чтобы коммутаторы не стали точкой отказа SAN.
Недостатками такой системы являются большая стоимость и сложность, поскольку для обеспечения отказоустойчивости требуется обеспечить несколько путей доступа (multipath) серверов к дисковым полкам, а значит, как минимум, задублировать фабрики. Также в силу физических ограничений (скорость света в общем и емкость передачи данных в информационной матрице коммутаторов в частности) хоть и существует возможность неограниченного подключения устройств между собой, на практике чаще всего есть ограничения по числу соединений (в том числе и между коммутаторами), числу дисковых полок и тому подобное.
Network attached storage, или сетевое файловое хранилище, представляет дисковые ресурсы в виде файлов (или объектов) с использованием сетевых протоколов, например NFS, SMB и прочих. Принципиально базируется на DAS, но ключевым отличием является предоставление общего файлового доступа. Так как работа ведется по сети — сама система хранения может быть сколько угодно далеко от потребителей (в разумных пределах разумеется), но это же является и недостатком в случае организации на предприятиях или в датацентрах, поскольку для работы утилизируется полоса пропускания основной сети — что, однако, может быть нивелировано с использованием выделенных сетевых карт для доступа к NAS. Также по сравнению с SAN упрощается работа клиентов, поскольку сервер NAS берет на себя все вопросы по общему доступу и т.п.
Unified storage
Универсальные системы, позволяющие совмещать в себе как функции NAS так и SAN. Чаще всего по реализации это SAN, в которой есть возможность активировать файловый доступ к дисковому пространству. Для этого устанавливаются дополнительные сетевые карты (или используются уже существующие, если SAN построена на их основе), после чего создается файловая система на некотором блочном устройстве — и уже она раздается по сети клиентам через некоторый файловый протокол, например NFS.
Software-defined storage — программно определяемое хранилище данных, основанное на DAS, при котором дисковые подсистемы нескольких серверов логически объединяются между собой в кластер, который дает своим клиентам доступ к общему дисковому пространству.
Наиболее яркими представителями являются GlusterFS и Ceph, но также подобные вещи можно сделать и традиционными средствами (например на основе LVM2, программной реализации iSCSI и NFS).
N.B. редактора: У вас есть возможность изучить технологию сетевого хранилища Ceph, чтобы использовать в своих проектах для повышения отказоустойчивости, на нашем практическим курсе по Ceph. В начале курса вы получите системные знания по базовым понятиям и терминам, а по окончании научитесь полноценно устанавливать, настраивать и управлять Ceph. Детали и полная программа курса здесь.
Пример SDS на основе GlusterFS
Из преимуществ SDS — можно построить отказоустойчивую производительную реплицируемую систему хранения данных с использованием обычного, возможно даже устаревшего оборудования. Если убрать зависимость от основной сети, то есть добавить выделенные сетевые карты для работы SDS, то получается решение с преимуществами больших SAN\NAS, но без присущих им недостатков. Я считаю, что за подобными системами — будущее, особенно с учетом того, что быстрая сетевая инфраструктура более универсальная (ее можно использовать и для других целей), а также дешевеет гораздо быстрее, чем специализированное оборудование для построения SAN. Недостатком можно назвать увеличение сложности по сравнению с обычным NAS, а также излишней перегруженностью (нужно больше оборудования) в условиях малых систем хранения данных.
Гиперконвергентные системы
Подавляющее большинство систем хранения данных используется для организации дисков виртуальных машин, при использовании SAN неизбежно происходит удорожание инфраструктуры. Но если объединить дисковые системы серверов с помощью SDS, а процессорные ресурсы и оперативную память с помощью гипервизоров отдавать виртуальным машинам, использующим дисковые ресурсы этой SDS — получится неплохо сэкономить. Такой подход с тесной интеграцией хранилища совместно с другими ресурсами называется гиперконвергентностью. Ключевой особенностью тут является способность почти бесконечного роста при нехватке ресурсов, поскольку если не хватает ресурсов, достаточно добавить еще один сервер с дисками к общей системе, чтобы нарастить ее. На практике обычно есть ограничения, но в целом наращивать получается гораздо проще, чем чистую SAN. Недостатком является обычно достаточно высокая стоимость подобных решений, но в целом совокупная стоимость владения обычно снижается.
Облака и эфемерные хранилища
Логическим продолжением перехода на виртуализацию является запуск сервисов в облаках. В предельном случае сервисы разбиваются на функции, запускаемые по требованию (бессерверные вычисления, serverless). Важной особенностью тут является отсутствие состояния, то есть сервисы запускаются по требованию и потенциально могут быть запущены столько экземпляров приложения, сколько требуется для текущей нагрузки. Большинство поставщиков (GCP, Azure, Amazon и прочие) облачных решений предлагают также и доступ к хранилищам, включая файловые и блочные, а также объектные. Некоторые предлагают дополнительно облачные базы, так что приложение, рассчитанное на запуск в таком облаке, легко может работать с подобными системами хранения данных. Для того, чтобы все работало, достаточно оплатить вовремя эти услуги, для небольших приложений поставщики вообще предлагают бесплатное использование ресурсов в течение некоторого срока, либо вообще навсегда.
Из недостатков: могут заблокировать аккаунт, на котором все работает, что может привести к простоям в работе. Также могут быть проблемы со связностью и\или доступностью таких сервисов по сети, поскольку такие хранилища полностью зависят от корректной и правильной работы глобальной сети.
Заключение
Надеюсь, статья была полезной не только новичкам. Предлагаю обсудить в комментариях дополнительные возможности систем хранения данных, написать о своем опыте построения систем хранения данных.
Источник
NAS, SAN и DAS: чем отличаются хранилища данных?
Хранить все данные на жестком диске сервера зачастую нецелесообразно. Поэтому внешнее хранилище — популярный способ увеличения емкости сервера. Однако свойства и стоимость приобретения разных типов решений существенно различаются. Поэтому мы суммировали их преимущества и недостатки, чтобы облегчить вам выбор.
Создание внешнего хранилища с идеальными параметрами — это незначительное преувеличение. Существует ряд аппаратных компонентов, программного обеспечения и протоколов, которые в конечном итоге придают решениям для хранения данных их особые свойства.
Сокращения NAS, SAN и DAS используются в этом контексте для различения на уровне ключевых критериев. Но чтобы объяснить их, сначала необходимо представить две основные категории внешнего хранилища. Они разделяют хранилище в зависимости от уровня чтения и записи данных.
Первый вариант работает с данными файлового уровня. Это означает, что такое хранилище, по сути, функционирует как сервер с собственной файловой системой. На практике клиентский сервер дает такие команды, как «записать X битов в этот файл» или «извлечь X битов из этого файла» соответственно. Этот тип хранилища называется NAS.
Второй вариант — это доступ к данным на уровне блоков. Это ускоряет обмен данными между сервером и хранилищем, поскольку он прямой, то есть «блок записи X» или «блок вызова X». Такие репозитории связаны друг с другом и с сервером либо как DAS, либо через SAN.
NAS как файловое хранилище
NAS расшифровывается как Network Attached Storage, что можно условно перевести как сетевое хранилище. Поскольку данные обрабатываются на уровне файлов, сервер представляется NAS как сетевой сервер со своей собственной файловой системой.
NAS-хранилище может принимать разные формы. Например, к производственному серверу могут быть подключены другие серверы, виртуальные машины или так называемые дисковые станции, на которых находится другое количество съемных жестких дисков.
Они могут быть организованы как один большой блок или как RAID-массив. В этом случае данные хранятся определенным образом на двух или более независимых дисках одновременно, так что они не будут потеряны в случае выхода из строя одного из них.
На практике обозначение RAID-массива используется вместе с числом, указывающим уровень безопасности. Например, RAID 6 имеет более высокий уровень безопасности данных, чем RAID 1.
Протоколы удаленного доступа к файлам через Интернет используются для связи между сервером и устройством хранения NAS. Наиболее распространенными являются NFS (сетевая файловая система), которая подходит для систем Linux, или SMB (блок сообщений сервера), которая используется для Windows.
SAN и DAS или блочные хранилища
Блочно-ориентированные репозитории можно разделить на две подкатегории в зависимости от того, как они подключены к серверу. Первая возможность заключается в том, что это так называемое DAS (хранилище с прямым подключением), которое напрямую подключено к серверу. Во втором случае дисковые массивы и хранилище связаны через выделенную сеть передачи данных, называемую сетью хранения данных (SAN).
Например, жесткие диски, твердотельные накопители или даже дисковые массивы могут служить в качестве DAS. Эти устройства хранения подключаются по-разному — обычно используется SAS или SATA. DAS может быть очень мощным и часто более дешевым, чем SAN. Однако недостатком является то, что DAS не может быть легко расширен. Количество подключенных компьютеров ограничено физическим количеством портов SAS на DAS. В случае дисковых массивов обычное количество — четыре.
Вот почему многие компании и учреждения предпочитают выбирать блочные хранилища, подключенные через SAN. Эта сеть передачи данных соединяет несколько отдельных дисковых массивов или даже NAS, которые объединены в сеть друг с другом и с сервером через коммутаторы. В случае физического повреждения любого из узлов другое хранилище не подвергается опасности, что снижает риск потери данных.
Передача информации между отдельными хранилищами и сервером обеспечивается отдельной сетью, которая также обладает высокой масштабируемостью и позволяет подключать большое количество хранилищ и конечных серверов.
Для обмена данными между хранилищем и сервером в сети SAN используются различные сетевые технологии. Примерами являются Fibre Channel (FC), Ethernet или Fibre Channel over Ethernet (FcoE). Оптический кабель обычно используется в качестве среды передачи на большие расстояния. Металлические кабели DAC (медные кабели прямого подключения) используются для меньших расстояний.
В зависимости от сети или в зависимости от требуемых свойств необходимо выбрать подходящий протокол передачи. Чаще всего используются FCP (протокол Fibre Channel), iSCSI (интерфейс малых компьютерных систем Интернета) и, в последнее время, особенно NVME-oF (NVM Express over Fabrics).
FCP можно использовать вместе с сетевой технологией FC или FcoE. ISCSI, в свою очередь, работает с Ethernet, но может иметь проблемы — особенно трафик с потерями. Поэтому обычно используется конвергентный Ethernet без потерь.
В настоящее время протокол NVME-oF является наиболее широко используемым, поскольку через него можно совместно использовать хранилище SSD, сохраняя при этом высокую производительность. Старые типы протоколов были построены на обычных дисках, но при подключении SSD-дисков они не работают так же хорошо, как NVME-oF.
Обеспечение высокой доступности
И NAS, и блочно-ориентированное хранилище, подключенные через SAN, могут обеспечить высокую доступность данных. Это не всегда необходимо. Например, для архивации налоговых отчетов вовсе не обязательно, чтобы данные были под рукой.
Если данные из хранилища используются, например, для мобильных приложений или большого интернет-магазина, высокая доступность является обязательной. Он может быть предоставлен двумя основными способами: программным или аппаратным, для которых Dell EMC, например, производит подходящие компоненты.
Существует ряд программного обеспечения с открытым исходным кодом и проприетарного программного обеспечения для создания программно-определяемых NAS и блочных репозиториев, которые позволяют настраивать регулярные репликации, моментальные снимки и резервные копии. Репозитории, реализованные с использованием программного обеспечения на обычном массовом оборудовании, вместе называются программно-определяемыми хранилищами.
Для NAS, например, используются программы FreeNAS, NASLite или GlusterFS, которые также используются для NAS в центрах обработки данных. Блочно-ориентированное хранилище, подключенное через SAN, может быть реализовано с использованием программного обеспечения CEPH, vSAN (для виртуализации VMware vSphere) или Storage Spaces от Microsoft.
Сравнение SAN и NAS
Блочно-ориентированные дисковые массивы, подключенные через SAN и NAS, используются для увеличения емкости сервера или компьютера в сети. Их общее преимущество состоит в том, что данные могут совместно использоваться несколькими узлами, поэтому их не нужно хранить на каждом сервере или компьютере отдельно.
Большим преимуществом NAS является простота внедрения и управления. Конечно, это зависит от конкретного уровня NAS — для более сложных решений здесь также нужна помощь специалиста. Однако самые простые из них можно подключить и настроить без глубоких знаний администратора.
Напротив, SAN соединяет множество программных и аппаратных компонентов и обычно дороже, чем менее требовательный NAS с той же емкостью. Еще несколько лет назад блочное хранилище, подключенное к сети SAN, могло быть предоставлено только действительно крупными организациями, такими как банки, которым для работы обязательно требовались функции этого расширенного хранилища.
Однако сегодня это уже не так. SAN стала значительно дешевле и доступной и для обычных компаний. Однако его установка и особенно администрирование по-прежнему очень дороги. Однако хранилище SAN практически необходимо для хранения чрезвычайно конфиденциальных данных, требующих высокой доступности. Благодаря отдельной сети передача данных также намного безопаснее.
Выбирать блочное хранилище, подключенное через SAN, или просто NAS?
Оба решения во многом отличаются, поэтому никого, наверное, не удивит, что на практике они используются для разных целей. Кроме того, в компаниях принято комбинировать преимущества обоих репозиториев, а благодаря специальным мультипротоколам серверы могут надлежащим образом обмениваться данными с NAS и внутри SAN по мере необходимости. Однако важно заранее продумать, для каких целей вы будете использовать сетевое хранилище.
Например, NAS отлично подходит для обмена файлами внутри компании. Таким образом, каждый имеет доступ, например, к тем же руководствам, фотографиям или документам, которые обычно необходимы им для работы. В то же время файлы, к которым предоставлен общий доступ на NAS, не должны изменяться очень часто.
Из-за более низких затрат на приобретение и обслуживание NAS также используются для хранения или архивирования больших данных, особенно неструктурированных данных — таких как видео. Поэтому, например, записи с камер видеонаблюдения хранятся в NAS.
Сетевое хранилище NAS иногда также используется как расширение памяти виртуального или обычного сервера для данных, которые не читаются или перезаписываются постоянно.
Такие функции SAN, как высокая производительность и доступность или низкая задержка, используются для данных, которые часто меняются и должны быть доступны быстро. Обмен данными по высокоскоростной изолированной сети, а также по всей архитектуре SAN обеспечивает высокую частоту IOPS (входов и выходов в секунду).
Поэтому они подходят для крупных интернет-магазинов с большим количеством посетителей. Он также подходит для приложений, которые работают с базами данных или другими активными данными, которые нецелесообразно или невозможно хранить на сервере, где установлено приложение.
Еще одно популярное использование — быстрое резервное копирование больших объемов данных с очень небольшой задержкой. Благодаря своим свойствам и предсказуемой производительности устройства хранения, подключенные к SAN, также используются — например, для потоковой передачи видео.
Недостаточно знать только тип хранилища
Однако для тщательного выбора хранилища данных, специально предназначенного для конкретных целей, недостаточно просто знать, какой тип доступа к данным или подключения к серверу более подходит. Весь состав и настройки аппаратных компонентов, типов хранилищ, протоколов, сетей и в некоторых случаях даже программного обеспечения — это алхимия, которая обычно требует профессионального опыта.
Источник