Хранилище¶
- Описание хранилища
- Типы хранилищ
- Производительность хранилищ
- Отказоустойчивость
- Описание томов
- Доступные операции с томами
Описание хранилища
Система хранения данных
Системы хранилищ в облаке SIM-Cloud построены с применением комбинированных архитектурных решений, часть gs1 и cs1 построено на основе программно-определяемых хранилищ (Software-defined storage, SDS). Наилучшим решением в качестве распределенного высокодоступного хранилища для задач SIM-Cloud, стало решение на базе Ceph.
Ceph – это объектная сеть хранения с блочным и файловым доступом, она управляется свободным программным обеспечением с открытым исходным кодом.
Распределенная файловая система Ceph обеспечивает возможности:
- репликации (хранения запасных дубликатов каждого блока данных в разных узлах сети);
- распределения рабочей нагрузки между узлами;
- создания дубликатов блоков данных (взамен недоступных) на других узлах, в случае отказа диска, узла или группы узлов;
- перебалансировки массивов данных при удалении (отказе) узлов или добавлении новых в сеть (восстановлении);
- увеличения производительности за счет кеширования (переноса самых востребованных данных и журналов файловой системы на самые быстрые диски).
Все это гарантирует высокую доступность и надёжность системы хранения данных.
Другие же хранилища SIM-Cloud - io1 и cs2 построены на основе iSER — набор протоколов RDMA, обеспечивающий более высокую пропускную способность для передачи блочного хранилища (поведение с нулевым временем копирования). iSER — это транспорт RDMA для iSCSI, протокол связи — InfiniBand с поддерживаемой скоростью 56 Гбит/с). Данный технологический стек выбран для опеспечения более высокй производительности чем это может обеспечить Ceph.
На рисунке ниже отображена диаграмма сравнения сравнения протоколов и ипроизводительности:
iSER во много раз быстрее iSCSI и прост в управлении. С набором протоколов RDMA он обеспечивает более высокую пропускную способность для передачи блочного хранилища. Он имеет самую низкую задержку и самую низкую загрузку ЦП. Кроме того, он стабилен и сохраняет преимущества протокола iSCSI, такие как безопасность и высокая доступность.
Типы хранилищ
В 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 |
|
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.
Доступные операции с томами
Пользователю проекта доступны следующие операции с томами:
- Создание тома
- Редактирование тома
- Подключение тома к инстансу
- Отключение тома
- Удаление тома
- Расширение тома
- Изменение типа тома
- Трансфер тома
- Создание снапшота тома
- Удаление снапшота
- Создание образа из снапшота
Более предметно ознакомиться с вышеперечисленными операциями с томами Вы можете в нашей статье.