Открыть сервис

Object-based Storage Device

Object-based Storage Device (OSD, объектное запоминающее устройство) — это устройство хранения данных, которое управляет данными в виде объектов, а не блоков или файлов. Каждый объект включает в себя сами данные, метаданные (описательную информацию) и уникальный идентификатор. OSD является ключевым компонентом объектных систем хранения (Object Storage), которые широко используются в облачных вычислениях, распределённых системах и архивах больших данных.

История и развитие

Концепция объектного хранения возникла в конце 1990-х годов как ответ на ограничения традиционных блочных (Block Storage) и файловых (File Storage) систем. В 1999 году Национальная лаборатория Лоуренса в Беркли (США) представила протокол OSD (Object-based Storage Device) в рамках проекта Network Attached Secure Disks (NASD). Этот проект был направлен на создание масштабируемых и безопасных систем хранения для суперкомпьютеров.

В 2004 году Международная организация по стандартизации (ISO) и Международная электротехническая комиссия (IEC) приняли стандарт ISO/IEC 14776-451, который определял интерфейс OSD. Позднее, в 2005 году, Комитет по стандартам интерфейсов малых компьютерных систем (T10 SCSI) включил OSD в спецификации SCSI (Small Computer System Interface) как команду SCSI-3 OSD. Это позволило использовать OSD в рамках существующих инфраструктур хранения.

В 2010-х годах объектное хранение стало доминирующей моделью для облачных сервисов, таких как Amazon S3 (Simple Storage Service), Google Cloud Storage и Microsoft Azure Blob Storage. Хотя эти сервисы не всегда напрямую используют аппаратные OSD, их архитектура основана на тех же принципах — хранение данных в виде объектов с уникальными идентификаторами и метаданными.

Архитектура и принцип работы

Основные компоненты

OSD состоит из трёх ключевых элементов:

  • Данные — собственно содержимое объекта (например, файл, изображение, видеофрагмент).
  • Метаданныеинформация об объекте (размер, тип, дата создания, права доступа, контрольные суммы).
  • Идентификатор (Object ID) — уникальный ключ, по которому объект может быть найден и извлечён.

Процесс записи и чтения

При записи данных в OSD система генерирует уникальный идентификатор объекта, который затем используется для доступа. Метаданные хранятся вместе с данными, что позволяет быстро находить объекты без необходимости сканирования всей файловой системы. При чтении система отправляет запрос с идентификатором, и OSD возвращает объект целиком или его часть.

Отличия от блочного и файлового хранения

ХарактеристикаБлочное хранениеФайловое хранениеОбъектное хранение
Единица данныхБлок (обычно 512 байт — 4 КБ)ФайлОбъект (от нескольких байт до терабайт)
МетаданныеОграничены (только адрес блока)Иерархические (путь, имя, атрибуты)Расширенные (любые пользовательские атрибуты)
ИдентификацияНомер блокаПуть к файлуУникальный идентификатор (UUID)
МасштабируемостьОграничена (до 16 ТБ на том)Средняя (до нескольких ПБ)Высокая (до эксабайт)
ДоступЧерез SCSI, iSCSI, NVMeЧерез NFS, SMB/CIFSЧерез REST API (HTTP/HTTPS)

Классификация OSD

По типу реализации

  1. Аппаратные OSD — специализированные устройства хранения, которые напрямую поддерживают протокол OSD. Примеры: Seagate Kinetic Open Storage (диски с Ethernet-интерфейсом, поддерживающие объектное хранение), а также некоторые модели от NetApp и EMC (ныне Dell Technologies).
  2. Программные OSD — реализованы на уровне операционной системы или прикладного программного обеспечения. Примеры: Ceph RADOS (Reliable Autonomic Distributed Object Store), OpenStack Swift, MinIO.

По способу организации

  1. Централизованные — один OSD-сервер, который управляет всеми объектами. Используются в небольших системах или для специализированных задач.
  2. Распределённые — кластер из нескольких OSD-узлов, которые обеспечивают отказоустойчивость и масштабирование. Примеры: Amazon S3, Google Cloud Storage, Ceph.

Применение

Облачные вычисления

Объектное хранение является основой для большинства облачных сервисов. Например, Amazon S3, запущенный в 2006 году, стал стандартом де-факто для хранения неструктурированных данных в облаке. В России аналогичные сервисы предоставляют Яндекс.Облако, VK Cloud, SberCloud, а также провайдеры, использующие решения на базе Ceph или MinIO.

Резервное копирование и архивирование

OSD идеально подходят для долгосрочного хранения резервных копий и архивов благодаря низкой стоимости хранения и возможности автоматического управления жизненным циклом объектов (например, автоматическое удаление старых версий).

Медиаконтент и потоковая передача

Видеохостинги, такие как YouTube и Vimeo, используют объектное хранение для хранения миллионов видеофайлов. Каждый видеоролик хранится как объект с метаданными (разрешение, кодек, длительность).

Научные исследования

В крупных научных проектах, таких как ЦЕРН (CERN) или проект «Сколково», объектное хранение используется для хранения данных с ускорителей частиц, телескопов и других приборов, генерирующих терабайты данных в день.

Критика и ограничения

Несмотря на преимущества, OSD имеют ряд недостатков:

  • Задержки доступа — из-за необходимости обрабатывать метаданные и выполнять REST-запросы, объектное хранение обычно медленнее блочного для операций в реальном времени.
  • Сложность модификации — объекты, как правило, неизменяемы (immutable). Для изменения данных нужно создать новый объект и удалить старый, что может быть неэффективно для часто обновляемых данных.
  • Зависимость от сети — большинство OSD доступны через сеть, что создаёт риски при перегрузках или сбоях в сетевой инфраструктуре.
  • Отсутствие стандартизации — хотя протокол OSD был стандартизирован, многие коммерческие реализации (например, Amazon S3) используют собственные API, что затрудняет миграцию между системами.

Интересные факты

  • Первый коммерческий продукт на основе OSD — Seagate Kinetic Open Storage (2013 год) — представлял собой жёсткий диск с Ethernet-интерфейсом, который напрямую поддерживал объектное хранение. Однако проект был закрыт в 2016 году из-за низкого спроса.
  • В России объектное хранение активно используется в государственных информационных системах, таких как «Единая система идентификации и аутентификации» (ЕСИА) и «Госуслуги», для хранения документов и персональных данных.
  • Крупнейшая в мире объектная система хранения — Amazon S3 — по состоянию на 2023 год хранит более 100 триллионов объектов, обрабатывая миллионы запросов в секунду.

Источники

  • ISO/IEC 14776-451:2004 — Information technology — Small Computer System Interface (SCSI) — Part 451: Object-based Storage Device Commands (OSD).
  • Seagate Technology. (2013). Seagate Kinetic Open Storage Platform.
  • Weil, S. A., et al. (2006). Ceph: A Scalable, High-Performance Distributed File System. Proceedings of the 7th USENIX Symposium on Operating Systems Design and Implementation.
  • Amazon Web Services. (2006). Amazon S3 Developer Guide.
  • OpenStack. (2010). OpenStack Swift Object Storage Documentation.
  • MinIO, Inc. (2020). MinIO Object Storage Guide.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →