Что такое блочное хранилище?
Блочное хранилище – это технология управления устройствами хранения и хранения данных. Он берет любые данные, такие как файл или запись в базе данных, и делит их на блоки одинакового размера. Затем блочная система хранения сохраняет блок данных в базовом физическом хранилище таким образом, который оптимизирован для быстрого доступа и извлечения. Разработчики предпочитают блочное хранилище для приложений, которым требуется эффективный, быстрый и надежный доступ к данным. Считайте блочное хранилище более прямым конвейером данных. Напротив, хранилище файлов имеет дополнительный уровень, состоящий из файловой системы (NFS, SMB), которая нуждается в обработке перед доступом к данным.
В чем преимущества блочного хранилища?
Организации используют хранилище на уровне блоков благодаря указанным ниже преимуществам.
Высокая производительность
Метаданные – это дополнительные данные, описывающие первичные данные, содержащиеся в системе хранения. Блочное хранилище использует ограниченные метаданные, но полагается на уникальные идентификаторы, назначенные каждому блоку для операций чтения/записи. Это снижает накладные расходы на передачу данных и позволяет серверу эффективно получать доступ к данным в блочном хранилище и извлекать их.
Поскольку метаданные блочного хранилища ограничены, блочное хранилище обеспечивает сверхнизкую задержку, необходимую для высокопроизводительных рабочих нагрузок. Это необходимо для чувствительных к задержкам приложений, таких как базы данных. Например, Viasat использует Магазин эластичных блоков Amazon (Amazon EBS) для сбора данных с высокой пропускной способностью (транзакционной) и оптимизации затрат на хранение. Организации используют Amazon EBS для оптимизации производительности и затрат, масштабирования и гибкости, а также снимки состояния Amazon EBS для защиты данных.
Архитектура блочного хранилища предусматривает несколько путей к данным, в то время как файловое хранилище предоставляет только один путь. Поэтому блочное хранилище предпочтительно для высокопроизводительных приложений.
Гибкое и масштабируемое использование
Блочные устройства хранения не ограничены определенными сетевыми средами. Отдельные блоки можно настроить для разных операционных систем, таких как Windows или Linux. Разработчики могут обмениваться данными между несколькими средами для обеспечения высокой доступности. Архитектура блочного хранилища также отличается высокой масштабируемостью. Разработчики могут добавлять новые блоки к существующим для удовлетворения растущих потребностей в емкости.
Частая модификация
Блочное хранилище поддерживает частые записи данных без снижения производительности. Вместо того, чтобы переписывать весь файл, система определяет конкретный блок, который необходимо изменить. Затем он перезаписывает выбранный блок с новыми данными. Это делает блочное хранилище очень эффективным для управления большими файлами, требующими частого обновления.
Детальное управление
Разработчики получают высокий уровень контроля над хранением данных в блочном хранилище. Например, они могут оптимизировать производительность, группируя быстро меняющиеся данные в определенных блоках и сохраняя статические файлы в других. Это повышает производительность системы, поскольку текущие обновления затрагивают только небольшое количество блоков данных, а не весь файл. Например, блочное хранилище позволяет размещать быстро меняющиеся данные на высокопроизводительных твердотельных дисках (SSD) и хранить теплые или холодные данные на недорогих жестких дисках (HDD).
Каковы варианты использования блочного хранилища?
Уникальные характеристики блочного хранилища делают его предпочтительным вариантом для транзакционных, критически важных и интенсивных приложений ввода-вывода. Блочное хранилище используется для широкого спектра приложений, включая реляционные или транзакционные базы данных, базы данных временных рядов, контейнеры, загрузочные диски и файловые системы гипервизора.
SAN
Разработчики часто развертывают блочное хранилище в качестве сети хранения данных (SAN). SAN – это сложная сетевая технология, которая предоставляет блочное хранилище нескольким сетевым системам так, как если бы эти блоки были локально подключенными устройствами. В SAN обычно используются оптоволоконные канальные межсоединения. Напротив, сетевое хранилище (NAS) – это единое устройство, которое обслуживает файлы через Ethernet.
Архитектура SAN состоит из трех уровней:
- Уровень хоста состоит из серверов, которые управляют доступом к хранилищу
- Уровень хранения состоит из физических блочных устройств хранения, таких как магнитная лента, дисководы или оптические носители
- Уровень волокна связывает серверы SAN и хранилище SAN с такими устройствами, как коммутаторы SAN, протокольные мосты, маршрутизаторы, кабели и шлюзовые устройства
Важно отметить, что в SAN используется избыточность с использованием синхронной или асинхронной репликации на большие расстояния. Это сокращает время простоя в случае невозможности доступа к географическому местоположению.
Архитектура SAN может работать с несколькими типами хранилищ в единой среде, включая блочное хранилище. Блочное хранилище представляет собой высокоэффективную альтернативу файловому хранилищу в SAN.
Контейнеры
Разработчики используют блочное хранилище для хранения контейнерных приложений в облаке. Контейнеры – это пакеты программного обеспечения, содержащие приложение и его файлы ресурсов для развертывания в любой вычислительной среде. Как и контейнеры, блочное хранилище одинаково гибкое, масштабируемое и эффективное. С помощью блочного хранилища разработчики могут легко переносить контейнеры между серверами, местоположениями и операционными средами.
Транзакционные рабочие нагрузки
Транзакционные рабочие нагрузки – это последовательности данных, генерируемых в определенных точках бизнес-процессов. Например, записи о продажах, журналы операций и оповещения о входе в систему являются транзакционными рабочими нагрузками. Организации, обрабатывающие срочные и критически важные транзакции, хранят такие рабочие нагрузки в базе данных с низкой задержкой, высокой емкостью и отказоустойчивостью.
Блочное хранилище позволяет разработчикам создать надежную, масштабируемую и высокоэффективную транзакционную базу данных. Поскольку каждый блок является автономным блоком, база данных работает оптимально даже при увеличении объема хранимых данных. Кроме того, отдельные блоки хранения могут размещаться на разных серверах, предотвращая узкие места доступа.
В критически важных приложениях блочное хранилище защищено избыточным массивом независимых дисков (RAID) для обеспечения избыточности данных. Система RAID создает резервные копии файлов данных во вторичном хранилище и восстанавливает копию в случае сбоя основного диска. Это гарантирует бесперебойную работу приложения при хранении и извлечении транзакционных рабочих нагрузок в блочном хранилище.
Аналитика и хранение данных
Блочное хранилище используется с архитектурой HDFS Hadoop (распределенная файловая система Hadoop) для хранения данных в виде независимо распределенных блоков, что обеспечивает производительность аналитических приложений Hadoop и Kafka.
Виртуальные машины
Виртуальная машина (ВМ) – это технология, которая позволяет компьютеру запускать отдельную операционную среду с программно определяемыми вычислительными ресурсами. Например, можно запустить операционную систему Linux на рабочем столе Windows с виртуальной машиной. Гипервизор – это уровень абстракции, отвечающий за выделение необходимой памяти, накопителя и вычислительных служб для работы вторичной операционной среды.
Блочное хранилище поддерживает популярные гипервизоры виртуальных машин. Пользователи могут установить операционную систему, файловую систему и другие вычислительные ресурсы на блочном томе хранения. Для этого они форматируют том блочного хранилища и превращают его в файловую систему виртуальной машины. Это позволяет им легко увеличивать или уменьшать размер виртуального диска и переносить виртуализированное хранилище с одного хоста на другой.
Как работает блочное хранилище?
В блочной системе хранения данные можно разбить на независимые блоки или части фиксированного размера. Каждый блок – это отдельный фрагмент хранилища данных. Полная информация, такая как файл данных, хранится в нескольких непоследовательных блоках.
Система блочного хранения не поддерживает высокоуровневые метаданные, такие как тип файла, владение и временная метка. Разработчики должны создать таблицу поиска данных в прикладной системе для управления хранением данных в соответствующих блоках. Приложение может хранить данные в разных операционных средах для повышения эффективности чтения/записи.
Запись данных
Во время последовательности записи приложение разбивает данные на несколько секций размером с блок. Он записывает данные в несколько блоков и записывает идентификатор блока в таблицу поиска данных. Таблица поиска позволяет серверу вычислить относительный адрес данных, хранящихся в блоке.
Чтение данных
Когда пользователи запрашивают определенный файл из блочной системы хранения, сервер использует таблицу поиска данных, чтобы определить, где хранятся фрагменты данных. Затем приложение извлекает данные из нескольких блоков и объединяет их в исходной последовательности.
Какие еще типы хранилищ доступны?
В дополнение к блочному хранилищу существуют также варианты хранения объектов и файлов. Каждый тип обладает своими уникальными преимуществами.
Объектное хранилище
Объектное хранилище – это технология хранения и управления данными в неструктурированном формате, называемом объектами. Каждый объект помечается уникальным идентификатором и содержит метаданные, описывающие базовое содержимое. Например, объектное хранилище фотографий содержит метаданные о фотографе, разрешении, формате и времени создания. Разработчики используют объектное хранилище для хранения неструктурированных данных, таких как текст, видео и изображения.
Блочное хранилище и объектное хранилище
Оба решения для хранения данных выгодны в зависимости от сценария использования. Блочное хранилище обеспечивает низкую задержку и высокую производительность в различных сценариях использования. Эти функции в первую очередь полезны для структурированного хранилища баз данных, томов файловой системы виртуальных машин и больших объемов нагрузок чтения и записи. Объектное хранилище лучше всего использовать для больших объемов неструктурированных данных, особенно когда надежность, неограниченное хранилище, масштабируемость и сложное управление метаданными являются важными факторами для общей производительности.
Файловое хранилище
Файловое хранилище хранит данные в иерархической структуре файлов и папок. В сетевых средах файловое хранилище часто использует технологию сетевого хранилища (NAS). NAS позволяет пользователям получать доступ к данным сетевого хранилища аналогично локальному жесткому диску. Хранилище файлов удобно для пользователя и позволяет пользователям управлять управлением общим доступом к файлам.
Блочное хранилище и файловое хранилище
Файловая система хранения хранит данные в определенной среде, а блочные системы хранения можно интегрировать с различными операционными системами. Файловое хранилище предоставляет интуитивно понятный интерфейс для вычислений конечных пользователей. Тем временем вы можете добавлять новые блоки данных в блочную систему хранения без увеличения задержек при работе.
Хранилище инстанса
Хранилище инстансов является временным блочным хранилищем данных для ваших инстансов. Это хранилище расположено на дисках, физически подключенных к главному компьютеру. Хранилище инстансов идеально подходит для временного хранения часто меняющейся информации, такой как буферы, кэши, временные данные и другое временное содержимое, или для данных, которые реплицируются в парке инстансов, таких как пул веб-серверов с балансировкой нагрузки.
Хранилище инстансов состоит из одного или нескольких томов хранилища инстансов, представленных как блочные устройства. Размер хранилища инстансов, а также количество доступных устройств зависят от типа инстанса.
Как AWS может удовлетворить ваши потребности в блочном хранилище?
Amazon EBS – это простое в использовании блочное хранилище для облачных рабочих нагрузок. Разработчики используют Amazon EBS для предоставления службы постоянного хранения для рабочих нагрузок Эластичного вычислительного облака Amazon (Amazon EC2).
- Amazon EBS предоставляет высокомасштабируемое решение хранения для критически важных приложений и приложений с интенсивным вводом-выводом.
- Снимки состояния Amazon EBS – это простой и безопасный способ защиты данных блочного хранилища.
- Разработчики могут устанавливать различные типы баз данных на Amazon EBS, включая SAP HANA, Oracle, Microsoft SQL Server, MySQL, Cassandra и MongoDB.
Начните работу с блочным хранилищем, создав бесплатный аккаунт AWS уже сегодня.
Блочное хранилище на AWS: следующие шаги
Получите мгновенный доступ к уровню бесплатного пользования AWS.