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