Как выбрать числа K и M для кодирования стирания? | Экономичное хранение для ИИ и облака - Ambedded

Как выбрать числа K и M для кодирования стирания? | Готовое решение для хранения Ceph с экспертной поддержкой - Ambedded

Как выбрать числа K и M для кодирования стирания?

Как работает код стирания:
Параметры кодирования стирания Ceph K и M связаны с эффективностью используемой емкости и избыточностью в случае аппаратного сбоя. K - это количество частей данных, а M - это количество частей кода. Когда клиент записывает объект данных в кластер хранения Ceph, объект данных будет разделен на K равных по размеру частей данных. Ceph использует данные фрагменты для кодирования M фрагментов кодирования, которые будут использоваться для расчета потерянных данных фрагментов при сбое оборудования.


Части данных и части кода будут распределены и храниться в указанной области отказов K+M. Максимальное количество частей данных, которые могут быть потеряны, составляет M областей отказов. Доступные области отказов зависят от того, как серверы хранения распределены в физической инфраструктуре. Для кластера Ceph небольшого масштаба отказ может произойти на диске или хостах серверов. Область отказа кластеров большего масштаба может быть в стойках серверов, серверной комнате или дата-центре и т.д.
Объект данных восстанавливается из частей данных, когда клиент хочет прочитать данные.

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

По сравнению с алгоритмом репликации данных Ceph, кодирование с удалением обычно имеет лучшую эффективность использования пространства. Поскольку кодирование с удалением использует больше операций ввода-вывода диска для завершения ввода-вывода данных, оно менее подходит для рабочих нагрузок, требующих высокой производительности IOPS. Чем больше число K+M, тем больше ресурсов IOPS диска потребляет операция ввода-вывода.

При использовании больших K и меньших M общее количество переданных байтов данных в сети кластера Ceph будет меньше. Это может увеличить производительность ввода-вывода для объектов данных большого размера.

Эффективность использования пространства

Эффективность используемого пространства пула кодов стирания равна K/(K+M). Например, эффективность пространства пула кодов стирания K=4, M=2 составляет 4/6 = 66,7%. Это вдвое эффективнее, чем пула реплик 3, которые обеспечивают более высокую производительность IOPS при том же уровне аппаратной избыточности.

Разумное K больше M из-за эффективности используемого пространства. Более крупный код стирания (K-M) обеспечивает лучшую эффективность использования пространства.

Количество серверов-хостов

Количество K+M также определяет количество хостов или более крупные области отказа, необходимые в кластере.

  • Типичный пул кодов стирания требует минимум K+M серверов-хостов для полной распределенности всех EC-частей.
  • Расширенная конфигурация кодов стирания позволяет хранить несколько EC-частей на одну область отказа. Эта конфигурация снижает необходимое количество серверов для распределения EC-частей.

Резюме влияния кодов стирания K и M:

  • M определяет избыточное количество областей отказа.
  • Большее K + M приводит к снижению производительности IOPS для небольших объектов, но улучшает пропускную способность для больших объектов.
  • Эффективность использования пространства хранения = K/(K+M)
  • Минимальное количество необходимых серверов.

Как выбрать числа K и M для кодирования стирания? | Часто задаваемые вопросы о Ceph

Наш раздел FAQ отвечает на самые распространенные вопросы о хранилище Ceph и решениях Ambedded.

Получите ясность по вопросам развертывания, управления и оптимизации вашей инфраструктуры хранения.

Найдите быстрые, экспертные ответы, чтобы максимально эффективно использовать нашу технологию.