О кластере хранилища данных

О кластере хранилища данных#

Кластер хранилища обеспечивает наиболее эффективное использование оборудования благодаря помехоустойчивому кодированию (технология Erasure Coding), встроенному кэшированию на твердотельных накопителях, автоматической балансировке нагрузки и поддержке RDMA/InfiniBand. Пространство кластера можно использовать для хранилищ следующих типов:

  • блочное хранилище iSCSI,

  • объектное хранилище S3,

  • файловое хранилище NFS.

Кроме того, продукт Кибер Инфраструктура интегрирован с решением Кибер Бэкап, что позволяет хранить резервные копии в кластере, отправлять их в облачные сервисы (такие как Yandex.Cloud) либо сохранять их на устройстве NAS по протоколу NFS. Георепликация доступна для шлюзов Backup Gateway, установленных на различных внутренних хранилищах: это может быть локальный кластер хранилища, том NFS или публичное облако.

Политики хранения данных можно настроить в зависимости от сценариев использования: каждый том данных может иметь свои настройки режима избыточности, уровня хранилища и области отказов. Также данные могут шифроваться по стандарту AES-256.

Архитектура кластера хранилища данных

Базовым компонентом продукта Кибер Инфраструктура является кластер хранилища — группа физических серверов, связанных посредством сети. Основное хранилище состоит из дисков, каждому из которых назначаются одна или несколько ролей. Обычно на каждом сервере в кластере выполняются основные службы хранилища, которые соответствуют следующим дисковым ролям:

  • Метаданные

    На узлах метаданных работают службы метаданных (metadata servers, или MDS). На них хранятся метаданные кластера, также они управляют тем, как пользовательские файлы разделяются на фрагменты и где сохраняются эти фрагменты. Узлы метаданных также обеспечивают наличие достаточного количества реплик для фрагментов. Наконец, на них регистрируются в журналах все важные события, происходящие в кластере. Для обеспечения надежности системы Кибер Инфраструктура использует алгоритм консенсуса Паксос. Он гарантирует отказоустойчивость при работоспособности большинства узлов, на которых работают службы метаданных.

    Чтобы обеспечить высокую доступность метаданных в производственной среде, службы метаданных должны выполняться как минимум на трех узлах кластера. В этом случае при отказе одной службы остающиеся две продолжат контролировать кластер. Рекомендуется применять пять служб метаданных, чтобы кластер мог выдержать одновременный отказ двух узлов без потери данных и остановки.

    Первичный узел метаданных является ведущим узлом в кворуме метаданных. В случае отказа ведущего узла со службой метаданных в качестве ведущего выбирается другой доступный узел с этой службой.

  • Хранилище

    На узлах хранения выполняются службы фрагментов данных (chunk servers, или CS). Эти узлы хранят данные в виде фрагментов фиксированного размера и предоставляют доступ к этим фрагментам. Все фрагменты данных реплицируются, и реплики размещаются на разных узлах хранения для обеспечения высокой доступности данных. При отказе одного из узлов хранения оставшиеся исправные узлы продолжат предоставлять доступ к фрагментам данных, которые хранились на отказавшем узле. Роль хранилища можно назначить только серверу с дисками определенной емкости.

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

    • Кэширование данных улучшает производительность кластера путем размещения часто используемых данных на твердотельном накопителе.

    • При контрольном суммировании данных контрольные суммы создаются при каждом изменении данных в кластере. Когда эти данные в дальнейшем считываются, вычисляется новая контрольная сумма, которая сравнивается со старой. Если две суммы не совпадают, операция чтения повторяется, что обеспечивает повышенную надежность и целостность данных.

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

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

  • Дополнительные роли:

    • Журнал и кэш на твердотельном накопителе

      Повышает производительность чтения/записи фрагментов данных путем создания кэша записи на выбранных твердотельных накопителях (SSD). Такие накопители также рекомендуется использовать для размещения метаданных. Использование журналов записи может более чем вдвое увеличить скорость записи в кластере.

    • Система

      Один диск на узел, зарезервированный для операционной системы и недоступный для хранения данных.

      Обратите внимание на следующее:

      • Отменить назначение роли Система диску невозможно.

      • Если физический сервер содержит системный диск емкостью более 100 ГБ, этому диску можно дополнительно назначить роль Метаданные или Хранилище.

      • Рекомендуется назначать роль Система+Метаданные твердотельному накопителю. Назначение обеих этих ролей жесткому диску приведет к посредственной производительности, подходящей только для холодных данных (например, архивов).

      • Роль Система не может сочетаться с ролями Кэш или Метаданные+Кэш. Причина состоит в том, что операции ввода-вывода, создаваемые операционной системой и приложениями, будут конкурировать с операциями ввода-вывода при ведении журнала, что нивелирует преимущества твердотельного накопителя по производительности.

Наряду с основными службами хранения на серверах выполняются службы, обеспечивающие доступ к данным хранилища с использованием выбранных протоколов доступа.

_images/storage_architecture.png

В крупных кластерах могут быть серверы, дискам которых назначена только роль "Система". Обычно на таких серверах выполняются службы доступа к данным хранилища.