Хранилище

Описание хранилища

Система хранения данных

Системы хранилищ в облаке SIM-Cloud построены с применением комбинированных архитектурных решений, часть gs1 и cs1 построено на основе программно-определяемых хранилищ (Software-defined storage, SDS). Наилучшим решением в качестве распределенного высокодоступного хранилища для задач SIM-Cloud, стало решение на базе Ceph.

alternate text

Ceph – это объектная сеть хранения с блочным и файловым доступом, она управляется свободным программным обеспечением с открытым исходным кодом.

Распределенная файловая система Ceph обеспечивает возможности:

  • репликации (хранения запасных дубликатов каждого блока данных в разных узлах сети);
  • распределения рабочей нагрузки между узлами;
  • создания дубликатов блоков данных (взамен недоступных) на других узлах, в случае отказа диска, узла или группы узлов;
  • перебалансировки массивов данных при удалении (отказе) узлов или добавлении новых в сеть (восстановлении);
  • увеличения производительности за счет кеширования (переноса самых востребованных данных и журналов файловой системы на самые быстрые диски).
../_images/CEPH.png

Все это гарантирует высокую доступность и надёжность системы хранения данных.

Другие же хранилища SIM-Cloud - io1 и cs2 построены на основе iSER — набор протоколов RDMA, обеспечивающий более высокую пропускную способность для передачи блочного хранилища (поведение с нулевым временем копирования). iSER — это транспорт RDMA для iSCSI, протокол связи — InfiniBand с поддерживаемой скоростью 56 Гбит/с). Данный технологический стек выбран для опеспечения более высокй производительности чем это может обеспечить Ceph.

На рисунке ниже отображена диаграмма сравнения сравнения протоколов и ипроизводительности:

alternate text alternate text

iSER во много раз быстрее iSCSI и прост в управлении. С набором протоколов RDMA он обеспечивает более высокую пропускную способность для передачи блочного хранилища. Он имеет самую низкую задержку и самую низкую загрузку ЦП. Кроме того, он стабилен и сохраняет преимущества протокола iSCSI, такие как безопасность и высокая доступность.

alternate text alternate text

Типы хранилищ

В SIM-Cloud доступны 4 типа хранилищ (io1, gs1, cs1 и cs2)

gs1 – основное хранилище (general storage), универсальное хранилище, применяется для большинства сервисов.

cs1 – хранилище (cold storage), предназначенное для хранения данных или бэкапов.

cs2 – хранилище (cold storage второго поколения), предназначенное для решения задач с низкой нагрузкой.

io1 - хранилище (i/o optimized storage), предназначенное для высоконагруженных приложений с интенсивным обменом данных.

Хранилище «io1» создано для клиентов, проекты которых содержат высоконагруженные сервисы, которые нуждаются в высокой производительности дисковой подсистемы. Как видно из характеристик, у нового хранилища io1 количество операций ввода/вывода (IOPS) значительно больше чем у основного хранилища gs1, которое было спроектировано для типичных задач в SIM-Cloud.

Дополнительным преимуществом хранилища «io1» заключается в значительно большем количестве операций i/o (в равнении с хранилищем gs1) для программного обеспечения, которое работает с данными на диске в однопоточном режиме. Оптимальным вариантом повышенной производительности будет комбинация использования хранилища «io1» вместе с высокочастотными ядрами Power vCPU.

Рекомендуемые сервисы:

В первую очередь «io1» будет интересен для сервисов баз данных. Для терминальных серверов - MS RDS Свой профит от использования хранилища могут получать и системы учета, к примеру 1С. В рамках запуска нового хранилища был выполнен комплекс работ по обновлению облачного сервиса резервного копирования и восстановления - BaaS. Тома созданные в хранилище «io1» также можно добавлять в бэкап планы BaaS. Отметим, что резервное копирование томов в «io1» несколько отличается и не имеет механизма инкрементального бэкапирования. Каждая точка восстановления представляет собой полный бэкап создаваемый средствами снашота. При выборе количества необходимого пространства в хранилищах для бэкапирования томов из «io1» необходимо рассчитывать с коэффициентом 1:1, каждая резервная точка - примерно полный объем тома. После создания снапшота данные сжимаются, используюя максимально эффективный алгоритмы компрессии, и передаются в хранилища зон доступности, которые выбрал клиент: Backup Storage (Local) - AVZ1 Backup Storage (Remote) - AVZ2 Применяемые инструменты компрессии могут эффективно сжимать незанятое место на диске, выполнять копрессию для текстовых типов файлов, хорошо сжимают операционные системы и малоэффективны для сжатия медиа контента.

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

Для удобства сравнения хранилищ, мы разместили их качественные характеристики в табличном виде:

Storage name Bandwidth (up to) IOPS (up to) Volume Size Durability AVZ
io1 300MB/s 50000/s R/W 1GB до 2000GB 99,95% AVZ1
gs1 300MB/s 10000/s R/W 1GB до 2000GB 99.98% AVZ1,AVZ2
cs1 200MB/s (Read) 40MB/s (Write) 750/s(Read) 200/s(Write) 1GB до 2000GB 99.98% AVZ1,AVZ2
cs2 200MB/s 500/s R/W 1GB до 2000GB 99.95% AVZ1
  • Пропускная способность - «Bandwidth»;
  • Количество операций ввода-вывода - «IOPS»;
  • Объем - «Volume Size»;
  • Надежность хранения данных - Durability;
  • Зона доступности хранилища - AVZ;

Как видно из таблицы, хранилище io1 имеет высокую пропускную способность, такую же как и хранилище gs1 но значительно превосходит хранилище gs1 по количеству операций ввода/вывода, что делает его востребованнным для высоконагруженных систем с интенсивным обменом данных.

Storage name Storage Performance Explained Interpretation
io1 Max IOPS Performance (Write): Blosck size 4-8KB  
Max IOPS Performance (Read): Blosck size 4KB
Max Bandwidth Performance (Write): Blosck size 128KB
Max Bandwidth Performance (Read): Blosck size 8-1024KB
gs1 Max IOPS Performance (Write): Blosck size 4KB
  1. Symmetric read/write speeds.
Max IOPS Performance (Read): Blosck size 4KB 2) Well suited for most types of loads with different block sizes.
Max Bandwidth Performance (Write): Blosck size 64-1024KB
Max Bandwidth Performance (Read): Blosck size 64-1024KB
cs1 Max IOPS Performance (Write): Blosck size 4-8KB  
Max IOPS Performance (Read): Blosck size 64-256KB
Max Bandwidth Performance (Write): Blosck size 1024KB
Max Bandwidth Performance (Read): Blosck size 256KB
cs2 Max IOPS Performance (Write): Blosck size 4-8KB  
Max IOPS Performance (Read): Blosck size 4-8KB
Max Bandwidth Performance (Write): Blosck size 1024KB
Max Bandwidth Performance (Read): Blosck size 1024KB

Отказоустойчивость

Все данные в хранилищах SIM-Cloud на основе Ceph реплицируются с фактором x2 (каждый идентичный блок данных находится на двух различных физических узлах, размещённых в двух разных стойках в ДЦ). Хранилища типа iSER реализуют отказоустойчивость на основе внесенной избыточности и резервных элементов хранения данных. Для всех систем, независимо от степени их нажежности рекомендуем обязательно создавать резервные копии томов с помощью нашего сервиса резервного копирования - BaaS

Каждому проекту назначается определенная квота на хранилище типа io1, gs1, cs1 или cs2. Объем необходимой квоты определяет владелец проекта. Дополнительно пользователь может увеличить объем хранилища.

В пределах доступной квоты хранилища того или инного типа, пользователь проекта может создавать тома (volumes), а на их основе создавать и запускать инстансы.

Примечание

Обратите внимание, что в документации не использовать термин «диск» как физическое устройство (hard disk), а вместо этого применяем более точные определения - «хранилище» или «том» в зависимости от контекста. Прежде всего это связано с тем, что основные качественные характеристики физического диска (пропускная способность, IOPS) отличаются от характеристик тома в понимании сервиса openstack. Кроме того, понятие «том» или «хранилище» уже подразумевает использование избыточности, за счет которой достигается отказойстойчивость и надежность блочного устройства хранения данных.

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

Описание томов

Том - это блочное устройство, созданное на базе хранилища cs1 или gs1. В зависимости от хранилища, в котором стоздаются блочные устройства, тома наследуют их показатели производительности. Это значит, что том, созданный в хранилище cs1, будет иметь следующие характериситики: пропускная способность: 200MB/s, количество операций ввода-вывода - 750 IOPS, а том, созданный в хранилище gs1, будет иметь пропускную способность: 300MB/s, количество операций ввода-вывода - 10000 IOPS.

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

Пользователь может создать как загрузочный (системный) том, с которого в дальнейшем будет запускаться инстанс, так и «чистый»том - пустой том, который не содержит файловой системы или таблицы разделов. «Пустой» том можно подключить к инстансу в качестве дополнительного.

Мы не рекомендуем создавать загрузочные (системные) диски на основе хранилищ cs1 и cs2, для этих задач предназначены хранилища io1 и gs1.

Доступные операции с томами

Пользователю проекта доступны следующие операции с томами:

  • Создание тома
  • Редактирование тома
  • Подключение тома к инстансу
  • Отключение тома
  • Удаление тома
  • Расширение тома
  • Изменение типа тома
  • Трансфер тома
  • Создание снапшота тома
  • Удаление снапшота
  • Создание образа из снапшота

Более предметно ознакомиться с вышеперечисленными операциями с томами Вы можете в нашей статье.