VK Private Cloud logo
Помощь
Обновлена 10 сентября 2026 г. в 14:07

Расчет доступного объема для Ceph

Доступный объем Ceph — это объем безопасного заполнения: максимальный объем заполнения после вычета объема дисков на отказ.

Расчет доступного объема

Доступный объем Ceph рассчитывается по формулам:

Craw=SBFDRFC_{raw} = \frac {S \cdot BF \cdot D}{RF}

Csafe=SBF(DL)RFC_{safe} = \frac {S \cdot BF \cdot (D - L) }{RF}

Ratio=CsafeCrawRatio = \frac {C_{safe}}{C_{raw}}

Здесь:

  • CrawC_{raw} — максимальный объем заполнения.
  • CsafeC_{safe} — объем безопасного заполнения.
  • BFBF — параметр osd_backfillfull_ratio.
  • RFRF — фактор репликации (параметр size).
  • DD — суммарное количество физических дисков.
  • SS — объем одного диска.
  • LL — количество дисков на отказ. Сценарии расчета приведены в разделе Расчет количества дисков на отказ.
  • RatioRatio — коэффициент безопасного заполнения.

Стандартные значения:

  • BFBF — 0,9 (90%). Значение ниже 1 компенсирует неравномерное распределение объектов по OSD. Значение 1 (100%) недопустимо. Для больших OSD допустимо повысить до 0,95.
  • RFRF — 3. Для новых инсталляций рекомендуются параметры size = 3 и min_size = 2. Значения size = 2 и min_size = 1 повышают риск split-brain. Значения выше 3 увеличивают потребление дискового пространства.
  • SS — для новых инсталляций используйте диски одинакового объема и равное количество дисков на каждом узле.

Если распределение по стойкам неизвестно или может меняться, ориентируйтесь на домен отказа host. Методика применима и для других доменов отказа, например rack.

На физическом диске может быть несколько OSD. В формулах учитывается объем дисков, а не OSD.

Расчет количества дисков на отказ

Количество дисков на отказ зависит от сценария:

Число узлов равно фактору репликации

Сценарий применим к кластерам из 3 узлов. Минимум — 2 диска на узел, то есть 6 дисков на кластер.

Штатный режим кластера приведен на рисунке 1.

Штатный режим
Рисунок 1 — Штатный режим

При отказе одного узла операции backfill и rebalance не выполняются: третью реплику негде разместить. Перераспределение данных не приводит к нехватке дискового пространства (рисунок 2).

Отказ узла
Рисунок 2 — Отказ узла

Количество дисков на отказ — L=3L = 3: по одному диску на каждом узле. На рисунке 3 показано перемещение копий данных при отказе дисков.

Отказ дисков
Рисунок 3 — Отказ дисков

Узлов больше, чем фактор репликации

В этом сценарии после отказа возможны backfill и rebalance.

Количество дисков на отказ:

L=Q+NL = Q + N

Здесь:

  • QQ — количество дисков в одном домене отказа. Для host это все диски узла, для rack — все диски стойки.
  • NN — количество дополнительных дисков сверх домена отказа. Например, если диск меняют и в это же время отказывает узел.

Примеры:

  • 5 узлов, на каждом 5 дисков:

    • отказ одного узла — 5 дисков (QQ);
    • диски сверх домена отказа — 1 (NN);
    • количество дисков на отказ — L=5+1L = 5 + 1.
  • 20 узлов, на каждом 5 дисков, 10 стоек по 2 узла:

    • отказ двух узлов — 10 дисков (QQ);
    • диски сверх домена отказа — 2 (NN);
    • количество дисков на отказ — L=10+2L = 10 + 2.

Схема штатного режима приведена на рисунке 4.

Штатный режим
Рисунок 4 — Штатный режим

Схема перемещения копий данных при отказе узла приведена на рисунке 5.

Отказ узла
Рисунок 5 — Отказ узла
Была ли статья полезна?