Архитектура СХД Raidix

Английский термин – SDS (Software Defined Storage). Основное преимущество, задающее вектор развития СХД в этом направлении, – это возможность существенно сэкономить деньги при построении СХД среднего и особенно тяжелого класса. Однако, не следует воспринимать SDS исключительно как «решение для бедных». В первую очередь, SDS - это следующий шаг в развитии технологии СХД вообще, позволяющий реализовать более сложную логику управления системой, имплементировать алгоритмы, которые крайне сложно было бы интегрировать в “классические СХД”, использовать наиболее продвинутые технологии в индустрии при сохранении низкой стоимости решения.

С точки зрения аппаратной платформы, любая СХД, по сути, представляет собой специализированный сервер или кластер серверов. Это, как правило, отказоустойчивый кластер, состоящий из пары серверов, но бывают и более сложные конфигурации. Тем не менее, в каждом из таких серверов, играющих роль контроллеров СХД, можно выделить:

  • подсистему внешних интерфейсов, обеспечивающих подключение СХД к внешним потребителям по определенному типу (DAS, NAS или SAN) или комбинации типов подключения (англоязычное название такой комбинации – Unified Storage System );
  • вычислительную подсистему – собственно, один или несколько центральных процессоров с соответствующей оперативной памятью, на которых исполняется специализированная операционная система (обычно – какой-то диалект Linux), под управлением которой работает специализированное ПО, реализующее все интеллектуальные функции СХД;
  • подсистему внутренних интерфейсов, содержащую аппаратные контроллеры (в классических СХД это - аппаратные RAID-контроллеры), к которым подключаются элементы дисковой подсистемы, а также интерфейсы связи между серверами-контролерами СХД – каналы синхронизации кэшей и канал «Heartbit», с помощью которого сервера определяют «жив ли сосед».
  • дисковую подсистему, образованную локальными дисковыми корзинами и/или внешними полками расширения JBOD
К любой СХД изначально предъявляются три взаимно противоречивых требования:
  • максимальная скорость передачи данных по вводу-выводу (1);
  • максимально возможный объем дискового пространства (2);
  • минимально возможная цена (3).

Для соответствия требованию (1) СХД, помимо скоростных интерфейсных портов, должна иметь большой объем оперативной памяти, используемой под кэш-буфера. Это самая относительно дорогая часть СХД, с точки зрения цены за единицу объема данных. Соответственно, всегда возникает некий компромисс между требованиями (1) и (3).

Далее, для обеспечения адекватно быстрого обмена данными между серверами-контроллерами СХД и дисковой подсистемой, последняя строится в виде многоярусной структуры, наверху которой лежат быстрые ( 10 или 15 krpm) диски SAS. Они достаточно дорого стоят и имеют относительно небольшой объем (в настоящее время max 2,4 TB). Ниже лежит слой дешевых и емких (12-14 TB), но медленных (5,4 - 7,2 Krpm) дисков SATA или NL-SAS. Для обеспечения эффективной работы такой многослойной структуры используется специальное ПО, реализующее функцию тиринга (Tier – ярус) таким образом, чтобы «горячие» данные, по возможности, всегда находились на верхних ярусах СХД, а редко используемые размещались на нижних.

В последнее время явно наметилась тенденция к вытеснению с рынка дисков SAS 10, особенно 15 krpm, и замене их твердотельными дисками SSD, Flash, NVMe, которые обеспечивают ранее недостижимые показатели скорости по количеству операций ввода/вывода в сек (IOPS). Стремительный рост емкости таких твердотельных накопителей в сочетании со столь же стремительным снижением их цены привел к тому, что все чаще классический многоярусный тиринг заменяется более простой функцией SSD-кэширования данных вплоть до ее экстремальной реализации – построения All-Flash массивов, то есть, полностью твердотельных СХД.

Полностью твердотельные СХД обладают выдающимися показателями производительности по вводу/выводу: в то время, как типовой диск SAS 15 Krpm имеет производительность 180-220 IOPS, а диск SATA или NL-SAS 7,2 Krpm – всего 80-12 IOPS, хороший диск SSD выдает 50-60 тыс IOPS, а бывает и больше. Но все же полностью твердотельные СХД пока еще имеют высокую стоимость, так что их использование для хранения петабайтных объемов данных  неоправданно дорого. Кроме того, необходимо отметить, что все flash технологии подвержены общей болезни постепенного «прогорания» ячеек при многократной перезаписи. Одним из косвенных показателей надежности твердотельного накопителя является параметр «среднее количество перезаписей в сутки». Если несколько лет назад для SSD объемом до 1 TB этот параметр составлял 20-25, то у современных накопителей емкостью 10-15 TB он заметно меньше 1. Причем, если шпиндельный HDD выходит из строя постепенно, и его отказ в какой-то степени предсказуем, а данные при отказе можно полностью или частично восстановить, то SSD отказывает внезапно и полностью, как правило – без возможности восстановления данных.

Таким образом, дисковые массивы на основе шпиндельных HDD для хранения большого объема данных будут актуальны еще много лет.

СХД начального уровня у всех производителей, в том числе брендов «класса А» относительно недороги, но при переходе к тяжелым системам картина разительно меняется. Причем, многие производители сознательно проводят политику ограничения доступности компонентов общего применения для апгрейда, масштабирования и/или ремонта таких систем, что позволяет им завышать цены и получать дополнительную прибыль. Именно на этот сегмент рынка СХД и нацелены программно-определяемые системы.

В нашей стране решения на основе SDS предлагает ряд компаний, однако некоторые из них прячут это за брендом готового программно-аппаратного комплекса, другие используют свою адаптацию открытого решения Ceph, но компания «Рэйдикс» открыто позиционирует себя как разработчик и поставщик полностью оригинального ПО для конвертации серверов общего назначения в СХД.

Продукция компании «Рэйдикс» – это ПО RAIDIX, которое, будучи установлено на обычный сервер общего применения, пусть даже собранный «на коленке» из дешевых рыночных компонентов, превращает его в полнофункциональную высокопроизводительную и высоконадежную СХД. Рассмотрим по отдельности главные аспекты решения RAIDIX: надежность, производительность, функциональность и экономические показатели. 

Надежность

С учетом приведенного выше замечания о том, что сервер порой собирается из компонентов, качество и надежность которых оставляют желать лучшего, понятно, что первое, на что нацелена интеллектуальная мощь RAIDIX, это – обеспечение надежности СХД в условиях интенсивного потока отказов аппаратуры. Причем, термин «надежность» в данном случае имеет несколько оттенков: это не просто выживание системы и сохранение данных, но и поддержание производительности системы с отказавшими компонентами на борту на уровне, не сильно отличающемся от производительности полностью исправной системы. Для этого используется ряд мер. Общепринятая мера повышения надежности – избыточная архитектура. Система RAIDIX может быть построена в одноконтроллерной или двухконтроллерной архитектуре. Схема 2-контроллерной системы приведена на рис. 1.

архитектура reidix.jpg

Рис. 1. Схема двухконтроллерной СХД RAIDIX

На схеме показаны 2 контроллера (Node 1 и Node 2), соединенных между собой каналами синхронизации кэшей (Infiniband 40 Gb или несколько линий SAS 12 Gb) и каналом Heart beat (Ethernet 1 Gb). Внешние интерфейсы физически могут быть реализованы картами любого из общепринятых сегодня сетевых стандартов и поддерживают одновременно доступ как по блочным протоколам FC, SAS, iSCSI, так и по файловым SMB/CIFS, NFS, FTP, AFP. Таким образом, СХД RAIDIX реализует принцип Unified Storage.

Полки расширения JBOD подключаются по внутренним интерфейсам SAS 12 Gb. В зависимости от выбранной архитектуры дисковой подсистемы и количества SAS-контроллеров в серверах, полки JBOD могут подключаться как звездой, так и каскадно. Существенным требованием к аппаратной платформе, на которой может быть построена СХД RAIDIX, является тип SAS-контроллеров: они должны иметь возможность отключения в сетапе функции «аппаратный RAID» и предоставления центральным процессорам контроллерных нод прямого доступа к дискам по SCSI-протоколу. Все функции RAID, как общие, так и специфические, реализуются программно на центральных процессорах по собственным патентованным алгоритмам RAIDIX. Существует список совместимых SAS-контроллеров, который доступен на сайте RAIDIX. Обе контроллерных ноды работают по схеме «несимметричный Active-Active», то еcть, каждый LUN в каждый момент времени доступен только через одну из нод. При выходе из строя одной из нод, все LUN’ы, подключенные к ней, переезжают на оставшуюся ноду.

Еще одной общепринятой технологией повышения устойчивости системы к отказам оборудования является поддержание функции Spare Pool – пул дисков горячего резерва. В систему устанавливаются и находятся в полностью рабочем состоянии некоторое количество резервных дисков, которые могу быть назначены какой-то конкретной RAID-группе или доступны любой из имеющихся RAID-групп. При отказе какого-то из рабочих дисков, ему на замену автоматически назначается диск из резервного пула, он вводится в RAID-группу и производится ребилд (восстановление полной конфигурации) массива RAID. Все это происходит автоматически, без участия человека, что особенно полезно для необслуживаемых или эпизодически посещаемых ЦОДов.

Помимо вышеописанных общеизвестных технологий обеспечения надежности в СХД RAIDIX применяется ряд уникальных технологий, присущих только данному решению.

Упреждающая реконструкция (Advanced Reconstruction). Как известно, RAID-массив всегда работает со скоростью самого медленного диска в группе. Если в силу нормального технологического разброса параметров дисков или в результате износа механизма позиционирования головок в каком-то из дисков RAID-группы время отклика диска существенно превосходит среднее по группе, то такой диск замедляет работу всего массива. При использовании технологии Упреждающей реконструкции медленный диск логически исключается из RAID’а на операциях чтения, и данные с этого диска по уникальным алгоритмам RAIDIX восстанавливаются из контрольных сумм быстрее, чем они бы были физически прочитаны с такого медленного диска. На графиках Рис.2 представлены несколько кривых времени отклика группы в целом во времени, полученных на лабораторном стенде, моделирующем отказы дисков.

reidix graph.png

Рис. 2. Время отклика RAID-группы при моделировании отказов дисков

Верхняя кривая фактически представляет собой 3 слившиеся вместе кривые, соответствующие одной из ситуаций:

  • все диски работают нормально (1);
  • есть несколько медленных дисков, функция AR включена (2);
  • RAID в режиме деградации, функция AR включена (3).

Таким образом, использование функционала AR делает RAID практически нечувствительным к отказу или износу некоторого количества дисков.

Средняя кривая соответствует ситуации, когда в группе присутствуют несколько медленных дисков и функция AR отключена – так ведет себя в этой ситуации обычный, «классический» дисковый массив.

Нижняя кривая соответствует работе обычного дискового массива в режиме деградации. Масштаб по оси ординат: если принять верхнюю кривую за 100%, то нижняя соответствует уровню примерно 60%, т.е. обычный дисковый массив в режиме деградации «проседает» по производительности в 1,5 раза.

Специальные форматы RAID. В настоящее время наиболее популярными форматами RAID являются RAID-5 и RAID-6. Эти форматы позволяют сохранить и затем восстановить данные при отказе соответственно, 1 и 2 дисков в группе. Естественной платой за это является потеря 20-30 % «сырого» дискового пространства при пересчете в полезное пространство RAID. Фирма Рэйдикс использует специальные форматы RAID 7.3 и RAID N+M, устойчивые к отказу 3 и вообще любого наперед заданного числа N в массиве из M дисков. В текущем релизе ПО RAIDIX 4.x максимальные значения чисел M и N составляют соответственно, 64 и 32, т.е. RAID-группа в СХД RAIDIX может выдержать одновременный отказ до 32 дисков. В качестве примера: для реализации «закона Яровой» в одном из проектов было заложено использование массивов RAID 50+4, что с одной стороны дало существенный экономический эффект, а с другой стороны обеспечило устойчивость системы к одновременному отказу до 4-х дисков в каждой RAID-группе.

Функция Silent Data Corruption Protection – защита от «скрытого» повреждения данных. Используемый в RAIDIX уникальный алгоритм позволяет обнаружить и исправить скрытые ошибки (ошибки в работе драйверов, прошивки диска, памяти, повреждения поверхности диска и др.) во время выполнения обычных дисковых операций путем анализа контрольных сумм, без потери производительности. В обычной СХД скрытые ошибки не распознаются контроллерами жестких дисков и операционной системой до тех пор, пока не приведут к повреждению структуры данных. Сканирование и исправление скрытых ошибок выполняется системой RAIDIX в фоновом режиме.

Функция «Частичная реконструкция» (Partial Reconstruction) особенно полезна в ситуации, когда какой-то диск (например, в процессе технического обслуживания СХД) на некоторое время становится недоступным, а потом возвращаемся в массив. Функция PR позволяет восстанавливать только некоторую конкретную область жесткого диска, тем самым сокращая общее время восстановления массива. Для понимания ценности этой функции нужно иметь в виду следующее обстоятельство. Рост емкости жестких дисков и вызванное этим увеличение времени восстановления данных на диске повышает нагрузку на остальные диски массива и тем самым увеличивает вероятность выхода из строя в процессе ребилда и других дисков. В результате увеличивается риск потери данных. В СХД RAIDIX пространство массива разбито на 2048 частей, по которым ведется отслеживание изменений. Восстановление данных происходит только в тех зонах, где было зафиксировано изменение блоков данных, что особенно эффективно для массивов больших объемов.

Начиная с релиза ПО RAIDIX 4.5 поддерживается Быстрая реконструкция массивов форматов RAID-6 и RAID-7.3. Ребилд массива производится примерно в 6 раз быстрее, чем это делают аналогичные «классические» СХД того же класса, причем это происходит в фоновом режиме без снижения производительности массива и практически незаметно для пользователей.

Все эти и еще некоторые функции обеспечивают надежность СХД RAIDIX на уровне «5 девяток», т.е. 99,999%.

Функциональность

Как уже было упомянуто, СХД Raidix обеспечивает одновременный доступ как по файловым (NFS, SMB, AFP, FTP), так и по блочным (FC, SAS, iSCSI, IB) протоколам.

Поддерживается архитектура x86 и «Эльбрус».

Поддерживаются физические внешние интерфейсы:

  • Ethernet 10, 25 и 40 Gb;
  • Fibre Channel 8 и 16 Gb;
  • Infiniband 40, 56 и 100 Gb.
  • SAS 12 Gb.

Помимо простой одноконтроллерной, поддерживается также двухконтроллерная конфигурация в режиме «Несимметричный Active-Active».

Максимальное количество дисков в системе – до 600 дисков, что при емкости дисков в 12 TB обеспечивает суммарную сырую емкость в 7,2 PB на систему. Максимальное количество дисков в одной RAID-группе = 64. Максимальное количество LUN в системе = 447.

Поддерживаются уровни RAID: 0, 10, 5 (i), 6(i) 7.3(i), N+M(i). Буква (i) означает, что поддерживается также «инициализированная» версия соответствующего формата RAID.

Функция «Оптимизатор SAN» – технология виртуализации, позволяющая организовать несколько отдельных СХД в единую виртуальную систему. При помощи оптимизатора SAN можно подключать к RAIDIX тома, находящиеся на внешних СХД, и осуществлять с ними работу, как с локально подключенными дисками, например, создавать RAID-массивы и разделы LUN. Оптимизатор SAN также может обеспечивать виртуализацию («проброс») диска как блочного устройства без внесения изменений.

Поддерживается функция сознания LUN неограниченных размеров за счет расширения LUN на несколько RAID-групп.

Классический многоуровневый тиринг не поддерживается, но его с успехом заменяет функция SSD-кэширования.

Функционал Snapshot в текущих релизах не поддерживается.

Функционал репликаций ( синхронных и асинхронных) будет включен в релиз RAIDIX 4.7 «ноябрь 2018».

Веб-интерфейс управляющего ПО поддерживает русский, английский, китайский и корейский языки.

Производительность

Уже на ранних релизах ПО Raidix СХД на основе этого решения обеспечивали выдающиеся характеристики производительности на потоковой нагрузке, что определило их выбор в качестве рабочей СХД многими ведущими киностудиями мира. Благодаря оптимизации параллельных вычислений производительность системы составляет порядка 25 GB/sec на каждое ядро процессора. Скорость обработки информации не снижается и данные остаются доступными даже в режиме деградации RAID и при пиковой нагрузке на систему.

В то же время до недавнего времени слабым местом Raidix была работа с рандомной нагрузкой, т.е. с приложениями транзакционного характера. Одним из узких мест являлся канал синхронизации кэшей между контроллерными нодами. Однако, сейчас благодаря поддержке высокоскоростных соединений (IB 100 Gb) и улучшению алгоритмов работы с кэшем производительность системы поднялась до уровня лучших мировых образцов, в том числе, на поддержке актуальных сейчас All-Flash массивов.

В ходе испытаний на твердотельном массиве Lenovo с модулями NVMe система Raidix показала производительность порядка 4,5 млн IOPS, что оказалось несколько выше показателей того же массива на собственном ПО Lenovo.

Экономические показатели

Как было упомянуто в самом начале этой статьи, главной целью разработки программно-определяемой СХД явилась задача экономии денег при построении системы с равными или лучшими техническими характеристиками по сравнению с классическими дисковыми массивами. Однако, надо иметь в виду, что стоимость лицензий на ПО RAIDIX также должна учитываться при сравнении цен на то или иное решение. С учетом того, что цена базовой лицензии на 2-контроллерную конфигурацию RAIDIX соизмерима с ценой стартового комплекта СХД младших продуктовых линеек основных мировых производителей, таких, как HPE, Dell, Huawei, Infortrend и пр., становится ясно, что экономический эффект на системах начального уровня и даже в нижней части среднего ценового сегмента достигнут быть не может. Зато на системах, цена которых уходит выше 80-100 тыс USD - системах, включающих десятки, а то и сотни дисков общей емкостью 0,5 PB и выше, цена лицензий RAIDIX становится пренебрежимо малой, по сравнению с общей стоимостью аппаратуры, и тут преимущества программно-определяемой СХД проявляются в полной мере. Так, например, расчет типового узла под «закон Яровой» для города с населением 100 тыс чел показал экономию примерно 250-300 тыс USD по сравнению с классическим решением, которое, кстати, тоже было построено отнюдь не на продукции брендов класса «А». Выигрыш было получен в основном за счет архитектурных преимуществ СХД RAIDIX: применение формата RAID 50+4 в сочетании с консолидацией пулов дисков горячего резерва и консолидацией узлов хранения по сравнению с ранее применявшейся архитектурой системы СОРМ.

Вывод

Программно-определяемые СХД позволяют получить существенный выигрыш в цене при проектировании тяжелых и сверхтяжелых систем хранения данных, обеспечивая при этом высокие показатели надежности и производительности



Возврат к списку

X
Вас интересует: ?!
Напишите нам и мы с вами свяжемся!
ФИО:*
Телефон:
E-mail:*
Компания:
Комментарий:
Вложенный файл/документ:
 
 
X
Заказ обратного звонка
Ваше имя*
Контактный телефон*
Комментарии

* - обязательные поля