37 lines
3.2 KiB
Markdown
37 lines
3.2 KiB
Markdown
## Калькулятор вероятности потери данных в кластере Ceph/Vitastor
|
||
|
||
Установлен тут:
|
||
|
||
https://yourcmc.ru/afr-calc/
|
||
|
||
## А что такое Vitastor
|
||
|
||
Это мой быстрый цефозаменитель.
|
||
|
||
https://yourcmc.ru/git/vitalif/vitastor/
|
||
|
||
## Логика расчёта
|
||
|
||
Начнём с варианта, в котором не учитываются отказы серверов:
|
||
|
||
- Вероятность потери данных равна вероятности того, что в течение года выйдет из строя любой 1 диск
|
||
и при этом в течение времени, которое восстанавливается недостающая копия данных, выйдут из строя
|
||
все оставшиеся диски любой из PG, бывших на указанном диске.
|
||
- Вероятность выхода из строя одной PG = (вероятность выхода из строя диска = P) ^ (N-1),
|
||
где N - фактор репликации.
|
||
- Все PG, бывшие на указанном диске, для упрощения мы считаем не имеющими других общих OSD. Это,
|
||
естественно, не совсем корректно, так как в Ceph они, наоборот, почти гарантированно пересекаются,
|
||
однако учесть степень их пересечения в расчётах слишком сложно, а также, теоретически,
|
||
вероятность выхода из строя любой из непересекающихся PG всегда выше, чем если бы какие-то из них пересекались.
|
||
- В таком случае события выхода из строя разных PG независимы и вероятность выхода из строя любой
|
||
из K PG, имевших в своём составе отказавший диск, равна единице минус вероятность того, что ни
|
||
одна из K PG не выйдет из строя, то есть, (1 - (1 - P^(N-1)) ^ K).
|
||
- "Фатальное событие" в каждый момент времени равно тому, что из строя выйдет любой диск и одновременно
|
||
ПОСЛЕ него, на протяжении времени восстановления L (выраженного в годах), также выйдет из строя любая
|
||
из PG, бывших на этом диске. Так как это "мгновенная вероятность", а выход из строя других дисков
|
||
учитывается "после" этого мгновения, события мы опять-таки посчитаем независимыми и вычислим
|
||
вероятность наступления любого из них как `1 - (1 - AFR * (1 - (1 - (AFR*L)^(N-1)) ^ K)) ^ D`,
|
||
где D - общее число дисков.
|
||
|
||
Аргументация остальных вариантов - coming soon... :)
|