Note about PG failure event probability
parent
3f52f73608
commit
fe06536dd0
12
README.md
12
README.md
|
@ -19,6 +19,16 @@ https://yourcmc.ru/git/vitalif/vitastor/
|
||||||
диски любой из PG, бывших на одном из его дисков.
|
диски любой из PG, бывших на одном из его дисков.
|
||||||
- Вероятность выхода из строя одной PG = (вероятность выхода из строя диска = P) ^ (N-1),
|
- Вероятность выхода из строя одной PG = (вероятность выхода из строя диска = P) ^ (N-1),
|
||||||
где N - фактор репликации. Либо вероятность выхода из строя любых K из N-1 дисков в случае EC.
|
где N - фактор репликации. Либо вероятность выхода из строя любых K из N-1 дисков в случае EC.
|
||||||
|
- Это не на 100% верно, т.к. за время восстановления первого диска выйти из строя может не N-1
|
||||||
|
дисков, а, например, только 1, и тогда к исходному времени восстановления добавляется в среднем
|
||||||
|
ещё какое-то время (в среднем 1/2 исходного, но в любом случае <= исходного), в течение которого
|
||||||
|
первый диск уже будет восстановлен, но второй ещё не будет, и данные снова будут потеряны, если
|
||||||
|
из строя выйдет N-1 других дисков. И если за это время опять выйдет из строя какой-то диск,
|
||||||
|
то время опять будет продлено, в среднем уже на 3/4 исходного, и так может быть до бесконечности.
|
||||||
|
Однако пока считаем, что этими величинами можно пренебречь, т.к. они обычно меньше исходной
|
||||||
|
вероятности минимум на порядок, т.к. исходная - условно P^N, а "повторная" начинается от P^(N+1).
|
||||||
|
Подлянка может ожидать нас в случае EC с неразумным N и вероятностью отказа (N >= 1/P) - исходная
|
||||||
|
C(n,k) * P^(k+1), а "повторная" - C(n,1) * C(n,k+1) * P^(k+2).
|
||||||
- Все PG, бывшие на указанном диске, для упрощения мы считаем не имеющими других общих OSD. Это,
|
- Все PG, бывшие на указанном диске, для упрощения мы считаем не имеющими других общих OSD. Это,
|
||||||
естественно, не совсем корректно, так как в Ceph они, наоборот, почти гарантированно пересекаются.
|
естественно, не совсем корректно, так как в Ceph они, наоборот, почти гарантированно пересекаются.
|
||||||
Однако, теоретически, вероятность выхода из строя любой из непересекающихся PG всегда выше, чем
|
Однако, теоретически, вероятность выхода из строя любой из непересекающихся PG всегда выше, чем
|
||||||
|
@ -31,7 +41,7 @@ https://yourcmc.ru/git/vitalif/vitastor/
|
||||||
(1 - (1 - (умерло из-за диска))^(общее число дисков) * (1 - (умерло из-за хоста))^(число хостов)).
|
(1 - (1 - (умерло из-за диска))^(общее число дисков) * (1 - (умерло из-за хоста))^(число хостов)).
|
||||||
- (Умерло из-за диска) = (Умер диск) * (1 - (не умерла ни одна из его PG)) =
|
- (Умерло из-за диска) = (Умер диск) * (1 - (не умерла ни одна из его PG)) =
|
||||||
(Умер диск) * (1 - (1 - умерла PG)^(число PG)).
|
(Умер диск) * (1 - (1 - умерла PG)^(число PG)).
|
||||||
- (Умерла PG) = ((AFR диска) + (AFR сервера)/(число дисков)) * (Время восстановления в годах).
|
- (Умер диск) = ((AFR диска) + (AFR сервера)/(число дисков)) * (Время восстановления в годах).
|
||||||
AFR сервера эмпирически поделен на число дисков, чтобы "размазать" вероятность отказа сервера
|
AFR сервера эмпирически поделен на число дисков, чтобы "размазать" вероятность отказа сервера
|
||||||
по его дискам.
|
по его дискам.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue