Ceph/Vitastor cluster AFR calculator
 
 
Go to file
Vitaliy Filippov a1fa94d444 Add "same_host" configuration checkbox 2021-01-16 22:21:06 +03:00
dist Wrap cluster AFR calculator in a webpage 2021-01-15 15:46:33 +03:00
.babelrc Wrap cluster AFR calculator in a webpage 2021-01-15 15:46:33 +03:00
README.md Describe algorithm for the simplest case 2021-01-16 00:08:13 +03:00
afr.js Merge all 4 calculation functions into one, fix very small number formatting 2021-01-16 22:15:52 +03:00
index.html Add meta viewport 2021-01-16 00:15:52 +03:00
main.js Add "same_host" configuration checkbox 2021-01-16 22:21:06 +03:00
package.json Wrap cluster AFR calculator in a webpage 2021-01-15 15:46:33 +03:00
webpack.config.js Wrap cluster AFR calculator in a webpage 2021-01-15 15:46:33 +03:00

README.md

Калькулятор вероятности потери данных в кластере 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... :)