- PVSM.RU - https://www.pvsm.ru -
В этой статье я отклонюсь от традиционной для меня темы систем хранения FAS и подниму тему объектного хранения данных в системах NetApp StorageGrid WebScale. Если кратко, то объектное хранение — это третий тип хранения наряду с NAS и SAN. Представьте себе, что каждый файл состоит из данных и метаинформации (владелец, права, время модификации и т.д.), так вот объектное хранение позволяет разъединить эти части и хранить их в виде «ключ/значение». Такой подход хранения информации открывает возможности децентрализованного, распределённого хранения данных огромных масштабов с прозрачной миграцией данных, репликацией и прозрачным переключением конечных потребителей между нодами объектного кластера. В широком смысле объектное хранилище может быть реализовано как на уровне устройства (жесткого диска), при помощи специализированных SCSI команд (Object-based Storage Device Commands), так и на уровне протокола доступа к системе хранения, которая состоит из нескольких дисков (которые, в свою очередь, вовсе не обязаны быть объектными). В обоих случаях используется Ethernet для подключения и IP протокол для передачи данных. Примером реализации объектного хранилища на уровне устройства являются жесткие диски линейки Seagate Kinetic Open Storage platform. Примером систем хранения данных в облаке может быть Microsoft Azure BLOB, Amazon S3. В этой статье я остановлюсь на объектных СХД, которые можно развернуть у себя на сайте и при необходимости подключить к облаку.

Изначально продукт StorageGRID развивался для здравохранения, так как хранение миллионов крупных и мелких объектов требовало специализированного решения. Крупные производители оборудования для здравохранения такие к Siemens, AGFA и другие поддерживают возможность отсылки объектов напрямую в StorageGRID. Этот подход позволил осуществить сценарий ранее не возможный для файловых хранилищ, к примеру когда врачу нужно получить данные о пациенте за последние 10 лет, хотя больной переехал из Миннесоты в Лос-Анджелес. StorageGRID и сейчас по-прежнему крайне востребован в отрасли здравохранения, но смог также найти применение и в облачных решениях для хранения разнообразных данных.
Семейство NetApp StorageGrid состоит из двух представителей:
Первый вариант (ПО) может поставляться в виде ESXi апплаенса или в виде Docker образа на основе Debian Linux.
Второй вариант состоит из двухконтроллерной системы, где один контроллер — это Storage нода, а второй — Compute нода. Т.е. в шасси есть два контроллера, но это не HIgh-Avalability система сама по себе — рекомендуется минимум 2 такие SG5660 системы (т.е. 4 контроллера), для отказоустойчивости. С другой стороны, можно использовать одну обычную E-Series с двумя контроллерами и High-Availability со стандартной OS SANtricity и поверх всего этого минимум два сервера со Storage и Admin нодами. Оба этих варианта могут сосуществовать в одном кластере.
Рост неструктурированных данных неуклонно набирает обороты, примерами генераторов таких данных являются развивающийся рынок IoT, появившиеся на рынке фито и видео камеры с невиданным доселе разрешением и качеством кадра, медицинское оборудование и другие устройства. Для закрытия всех этих задач, с нуля был разработан продукт StorageGrid:
Web data repositories
Data archives
Позволяет управлять геораспределёнными неструктурированными данными. С единой панелью управления, политиками управления по всем сайтам, где располагается StorageGrid ноды кластера, таким образом данные подтягивая туда, где они нужны. Поддерживаются ленточные библиотеки и RESTful HTTP подобные протоколы, такие CDMI, S3 и Swift, при помощи которых система может быть интегрирована с облачными провайдерами. Данные могут бесшовно перемещаться между всеми уровнями: локальным хранилищем, облаком и ленточными библиотеками.

К преимуществам платформы StorageGrid стоит отнести:

Почти все объектные СХД умеют хранить несколько копий одного объекта (репликация), дублируя данные на разные ноды и сайты, обеспечивая таким образом отказоустойчивость. А Erasure Coding (EC) [2] — это механизм, похожий на RAID, но выполняющийся на уровне объекта, который разбивается на несколько частей, а не на уровне целых жестких дисков. EC позволяет существенно меньше потреблять пространства на хранилище, обеспечивая механизм отказоустойчивости.

Geo Distributed Erasure Coding — это EC, где части объекта, составляющие такую «RAID-группу», могут быть на системах, расположенных в разных частях мира, хранить две или три копии данных, и позволяют достигать невероятных показателей доступности, но это порождает соответствующее количнество трафика и занимаемого пространства. Здесь на помощь приходит функция геораспределённого Erasure Coding позволяющая не ухудшить отказоустойчивость и доступность, существенно уменьшив количество занимаемого пространства. Доступны следующие схемы EC:

Erasure Coding с одной стороны позволяет экономить дисковое пространство, с другой стороны добавляет накладные расходы при высчете контрольной суммы и востановлению объекта. В случае с Geo-EC при чтении объекта ещё увеличивается скорость ответа так как чтение выполняется из двух сайтов. Т.е. EC необходимо использовать с умом, и далее я раскажу как.
StorageGrid позволяет распределять данные на основе политик их долговечности и отказоустойчивости. Hierarchical Erasure Coding позволяет на основе этих политик автоматически выполнять локальный EC и Geo-EC. Hierarchical EC хорошо подходит для инсталяций с минимум 3 сайтами для защиты от выхода из строя целого сайта.
Dynamic Disk Pools (используется StorageGrid WebScale как локальный EC) это, функционал оборудования NetApp E-Series, своего рода RAID, как и обычные RAID группы, он создаётся на одной локальной системе. DDP позволяет не терять в производительности в случае локального сбоя одного или нескольких дисков (ведь иначе объекты будут подтягиваться с других нод или сайтов), плюс экономится электроенергия и сетевой (WAN/LAN) трафика: доступ к данным и восстановление будет выполнено локально. Этот функционал отлично дополняет Geo-EC.
ILM позволит гибко и намного более рационально использовать дисковое пространство благодаря политикам жизненного цикла данных. Так, к примеру, можно настроить политику, чтобы в случае, если объект был записан или к нему в течении 30 дней было хоть одно обращение, хранить Х его копий на нескольких разных сайтах. Если же к нему не было обращений больше чем 30 дней, то удалять копии и прогнать его через EC, в этом случае увеличенное время чтения объекта уже не будет такой проблемой. А если к объекту не было обращений в течении 1 года, то отправить его в облако или на ленту. Важно отметить, что приведенный пример гранулярно работает на уровне каждого отдельного объекта а не на уровне большого набора данных, такого как LUN или файловая шара (в SAN или NAS соответственно). Если цена на ресурсы изменится, политика подтянет и переразмажет данные в соответствии с новыми изменениями.
Можно разделить на две части: целостность и доступность данных.
Целостность данных обеспечивается благодаря: использованию цифровых хэш-сумм, когда данные записываются, считываются, мигрируют, и периодической проверке. Повреждённые объекты прозрачно пересоздаются из копий. Геораспределённый механизм Erasure Coding позволяет экономно использовать пространство для хранения копий данных.
Доступность данных обеспечивается за счёт Fault-tolerent архитектуры, поддержки беспрерывности операций, обновлений ПО и оборудования платформы. Распределение нагрузки, как при нормальной работе, так и при сбое. NetApp AutoSupport может автоматически уведомлять поддержку для преактивного решения проблем. Erasure coding на уровне ноды улучшает доступность каждой ноды, время восстановления, влияние на производительность и сетевую активность (доступно только на платформе E-Series с Dynamic Disk Pools).
Функционал NAS с протоколами CIFS/NFS может быть реализован при помощи файловых шлюзов (File Getaway Node). Это позволит не модифицировать существующую инфраструктуру и предоставлять конечным пользователям стандартный файловый доступ. StorageGrid, в свою очередь, благодаря политикам жизненного цикла сможет на основе метаинформации (к примеру, последнему времени модификации или создания файла) прозрачно перемещать эти данные по уровням хранения. Лицензии на файловые шлюзы входят в поставку StorageGrid, их докупать не нужно. Поддерживается интеграция с Active Directory и LDAP.
Поддержка End-to-End шифрования каждого объекта и Secure Multi-Tenancy. Поддержка аутентификации и механизмов безопасности для S3 и CDMI. Поддерживается интеграция с LDAP/AD для аутентификации пользователей в рамках одного Tenant.
Это очень важный момент, когда у заказчика нет армии программистов и администраторов, важно, чтобы комплекс был надёжным. Технологии StorageGrid уже больше 14 лет (в 2001 первая инсталяция), и она успела обрости большим количеством интеграций с другими известными продуктами для резервного копирования, архивирования, файловой синхронизации, колаборейшн и т.д.
Продукт лицензируется по терабайтно, вне зависимости от количества и типа нод. Аппаратная и софтовая реализация StorageGRID могут сосуществовать в одном кластере. Весь возможный функционал включён в базовую поставку:
StorageGRID это продукт для приложений поддерживающие RESTful HTTP, который подходит для больших и мелких объектов, высокой пропускной способностью, транзакционностью и автоматическим, прозрачным перемещением данных по уровням хранения. Geo-кластеризация позволяет достичь невероятно высокой отказоустойчивости и доступности данных, скрывая выход из строя целых сайтов. Технология EC позволяет существенно экономить пространство за счёт применения RAID-подобной архитектуры. StorageGRID имеет поддержку множества уровней хранения и один из самых развитых механизмов управления жизненным циклом данных. ILM автоматически переместит данные при изменении цены на том или ином уровне хранения, что позволит более рационально использовать ресурсы и гибко реагировать на изменения стоимости хранения данных (к примеру в Облаке или в Ленточных библиотеках). StorageGRID это устоявшийся, зрелый продукт с широким списком интеграции трете-стороннего ПО, что упрощает поддержку и интеграцию в существующую инфраструктуру. Шифрование объектов и поддержка аутентификации LDAP/AD позволяет обеспечивать защиту от кражи данных. StorageGRID может выступать полной заменой Amazon S3, позволяя сдавать в аренду нескольким компаниям хранилище и выступая в роли частного облака, для тех кто не может размещать данные в публичном облаке. А может выступать дополнением к AWS S3, используя его как уровень хранения данных и имеет механизм подсчёта стоимости их хранения для арендаторов хранилища StorageGRID.
Здесь могут содержаться ссылки на Habra-статьи, которые будут опубликованы позже.
Сообщения по ошибкам в тексте прошу направлять в ЛС.
Замечания, дополнения и вопросы по статье напротив, прошу в комментарии.
Автор: bbk
Источник [4]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/backup/120270
Ссылки в тексте:
[1] Media repositories: http://www.storagenewsletter.com/rubriques/customer-wins/media-companies-adopt-netapp-storagegrid-webscale-object-storage/
[2] Erasure Coding (EC): http://community.netapp.com/t5/Technology/Erasing-Misconceptions-Around-RAID-amp-Erasure-Codes/ba-p/83689
[3] NetApp AltaVault (SteelStore): https://habrahabr.ru/post/279849/
[4] Источник: https://habrahabr.ru/post/279743/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best
Нажмите здесь для печати.