Как защищаются данные в Dell EMC ECS

24/04/2022


Dell EMC ECS или Elastic Cloud Storage — система объектного хранения данных, которая мне показалась интересной в процессе изучения. Мой основной опыт в области СХД на данный момент приходился на блочные и файловые системы. Те методики для обеспечения сохранности данных, которые использует Dell ECS, любопытны с точки зрения архитектурных особенностей и однозначно заслуживают внимания всех спецов, кто интересуется тематикой стораджей. Что делают блочные системы — это используют, как правило, различные уровни RAID, для обеспечения сохранности данных в случае выхода из строя одного или нескольких дисков. При этом частенько это маскируется под именем собственной технологии, которая выполняет аналогичные действия. Если говорить про Scale-out системы, как например, CEPH, то они обеспечивают запись каждого блока информации сразу на несколько нод кластера, страхуясь от выхода из строя не только нескольких дисков, но и отдельных серверов системы.

Основные типы СХД можно разделить на 3 большие разновидности. Это блочные системы, файловые системы, а также объектные. Особенность последних, к которым относится и Elastic Cloud Storage, это хранение разнородного массива данных. При этом все эти многообразные объекты находятся в одном общем плоском пространстве, без вложенных директорий. Ряд аналогичных решений использует дополнительные шлюзы поверх файлового или блочного хранилища, которые обеспечивают доступ через протоколы Amazon S3 или OpenStack Swift. Разработчики ECS использовали отличные методики в своей архитектуре по хранению данных, про которые хотелось бы поговорить. В целом Elastic Cloud Storage изначально заточен сугубо под хранение объектных данных, без оглядки на объектное или файловое хранение. Именно это его делает эффективным и интересным в своем направлении.

Используемые техники создания локальной отказоустойчивости

В первую очередь следует упомянуть о двух типах данных, которые хранятся на объектной СХД — это непосредственно сами объектные данные, а также метаданные. Последнии содержат пользовательские метаданные и системные метаданные, состоящие из журналов и записей Btree, которые позволяют оперативно находить нужную информацию на сторадже и работать с нею. Все типы данных на Elastic Cloud Storage записываются в чанки размером 128 MB. Однако, в зависимости от типа информации, такие чанки используют разные стратегии обеспечения отказоустойчивости.

Метаданные журналов как наиболее востребованные и требующие высокой скорости обработки хранятся в трех зеркальных копиях на разных нодах кластера. Это позволяет обеспечить живучесть информации в случае выхода из строя диска или отдельного сервера кластера в дата центре. Кроме того, это обеспечивает высокую скорость обработки этих метаданных, что необходимо для эффективной работы системы. Интересно, что разработчики системы выделили именно этот сегмент данных, который занимает сравнительно небольшой объем, при этом требует высокой скорости доступа.

Метаданные, которые представляют собой записи Btree, а также пользовательские метаданные, хранятся в виде фрагментов по технологии Erasure Coding по схеме Рида-Соломона, а также в виде дублированных копий этих же фрагментов данных. Сама по себе технология Erasure Coding является ключевой в обеспечении отказоустойчивости данных на ECS. Она позволяет записывать фрагменты одного чанка по различным нодам и дискам таким образом, что выход из строя нескольких дисков или серверов кластера в одном дата центре не приведет к потере информации. Каждый чанк в 128 мегабайт разбивается на 12 сегментов, которые распологаются на различных дисках тех или иных нод кластера. Также используются дополнительные 4 сегмента для просчета четности. С помощью них обеспечивается отказоусточивость хранимой информации таким образом, что одновременный выход из строя любых 4 дисков с сегментами из данного чанка не приведет к потере информации.

Непосредственно пользовательские объекты хранятся в системе, используя 2 методики записи. При первоначальном поступлении в систему объекты записываются в отдельные чанки. Чанки могут быть в запечатанном состоянии и в незапечатанном состоянии. Пока объем данных в чанке не достиг 128 мегабайт или не был превышен установленный интервал времени на запись, он находится в незапечатанном виде. Такой чанк использует стратегию защиты данных под названием Triple mirror plus in place erasure coding. При этом чанк также разделен на 12 сегментов, которые разбросаны по разным нодам и дискам, но отдельные сегменты четности не используются. Для обеспечения отказоустойчивости задействованы дополнительные две копии чанка на двух разных нодах.

Как только чанк с пользовательскими данными переходит в запечатанное состояние, механизм защиты меняется на Inline erasure coding. В этом случае используется стандартная схема цикличного кода Рида-Соломона с 12 сегментами данных и 4 сегментами четности. Никаких дополнительных зеркальных копий больше не записывается. Данная схема обеспечивает отличную живучесть данных вкупе с невысокой избыточностью. При этом сам процесс вычисления дополнительных блоков четности происходит в системе уже после непосредственной записи данных и не влияет на производительность операций чтения и записи. Следует упомянуть, что у ECS есть опция использования Inline erasure coding в сочетании 10 сегментов данных и 2 сегментов четности, которая называется Cold Storage, и позволяет обеспечить еще меньший оверхед при хранении. Однако, уровень живучести и способности восстановиться при выходе из строя дисков или нод уменьшается в два раза. Данный способ хранения данных должен выбираться с осторожностью.

Заключение

Понимание внутренних принципов работы Dell EMC Elastic Cloud Storage очень хорошо расширяет горизонты теории и практики современных СХД. Как можно умно построить систему исходя из базовых требований к ней, а также использовать широкий математическй аппарат и возможности современного ПО — все это про данный продукт. В данной статье мы рассмотрели методики, которые используются для обеспечения отказоустойчивости данных внутри одного кластера виртуального дата центра Dell EMC ECS. Кроме этого сам Elastic Cloud Storage оснащен возможностями репликации и хранением данных одновременно в нескольких дата центрах, что требует отдельную статью.

Добавить комментарий

Ваш адрес email не будет опубликован.