이 질문은 서버 질문보다 수학 질문에 가깝지만 서버와 밀접한 관련이 있습니다.
95 % 가동 시간을 보장 할 수있는 서버가 있고 해당 서버를 2 클러스터에 배치 할 경우 가동 시간은 얼마입니까? 자, 내가 똑같이한다고 가정하지만 3의 클러스터로 만듭니다.
단일 실패 지점과 같은 것을 고려하지 말고 순수하게 수학에 집중하십시오. 이것을 조금 복잡하게 만드는 것 중 하나는 예를 들어 2 대의 서버가있는 경우 두 서버가 모두 꺼져있을 가능성이 2 ^ 2이므로 1/4입니다. 또는 3의 경우 2 ^ 3이므로 1/8입니다. 이러한 각 서버에 대해 5 %의 다운 타임이 있다고 가정하면 총 평균이 5 %의 1/8일까요?
이런 식으로 어떻게 계산하겠습니까?
답변
가동 시간은 미끄러운 일입니다 … 서비스 의 가용성을 계산하려면 간단히
amount of time service is available
----------------------------------- x 100
amount of time that has passed
서비스를 제공하는 클러스터가있는 경우 서비스를 사용할 수 없게 될 가능성은 있지만 서비스의 가용성 (가동 시간) 계산은 동일하게 유지됩니다.
답변
한 서버가 오프라인 일 가능성은 (1-0.95)입니다. 두 서버가 오프라인 일 가능성은 (1-0.95) * (1-0.95) = 0.0025 등입니다.
따라서 모델을 사용하고 순수하게 수학적인 관점에서 서버 중 하나 또는 둘 다 시간의 99.75 %가되어야합니다
그러나 이러한 수학적 모델을 사용하는 것이 두 서버 모두에 공통적 인 영향을 줄 수있는 다른 요소가 있기 때문에 잠재적 가동 시간을 해결하는 올바른 방법인지 확실하지 않습니다. 즉 95 %는 5 %의 시간 때문일 수 있습니다. 두 서버 모두에 영향을 미치는 전원 차단이 있으므로 클러스터가 있으면 아무런 차이가 없습니다.
답변
서버가 5 % 다운 된 이유에 따라 다릅니다. 95 %의 전력을 사용하지만 서버에 결함이없는 경우 동일한 위치에있는 두 번째 서버는 가동 시간 을 전혀 증가시키지 않습니다 . 이것은 상관 관계 가있는 실패의 예입니다 . 가동 중지 시간 중 적어도 일부는 모든 서버에 영향을 미치는 오류 (전원 …)로 인한 것일 수 있습니다. 그러나 가동 중지 시간 중 일부는 독립적입니다.서버 간. 제대로하고 싶다면 이러한 것들을 개별적으로 다루어야합니다. 따라서 서버 1에 독립 오류 (p)가없고 서버 2에 독립 오류 (q)가없고 (r)을 모두 종료시키는 시스템 오류가 없을 확률을 계산하려고합니다. 이러한 오류가 독립적이라고 가정하는 상대적으로 안전 할 것이다, 그래서 당신은 곱셈 그들을 함께 수 : P는 Q의 r은 올라가고있는 일부 서버의 확률이다.
문제는 서버 1 만 있고 시간의 95 %가되면 p * r = 0.95라는 점을 제외하고 실제 가동 시간 데이터를 사용하여 p, q 및 r에 대한 값을 제공 할 수 없다는 것입니다.
답변
우선, 클러스터의 총 가용성 또는 가동 시간은 전체 클러스터를 ‘가동’시키기 위해 클러스터의 일부를 활성화해야하는 크기에 따라 다릅니다.
- 하나의 작동 기계로 충분합니까? 즉, 필요한 경우 모든 단일 시스템이 전체로드를 수행 할 수 있습니다.
- 그들 모두 동시에 활동해야합니까? 즉, 중복성이 없습니다.
- 아니면 3 개 중 2 개는 충분합니까? 이는 첫 번째 경우보다 더 큰 작업량을 허용합니다.
알다시피, 처음 두 경우는 계산하기가 매우 간단합니다. 주어진 시간에 단일 서버가 온라인 상태가 될 확률 p = 0.95. 이제 세 대의 서버에서 모두 동시에 온라인 상태 일 가능성은 p 3 = 0.857375입니다.
주어진 시간에 하나 이상의 머신이 활성화되어야하는 반대의 경우, 문제점을 반전시키고 머신이 오프라인 인 머신의 확률을 보면 계산하기가 더 쉽습니다 . 단일 머신이 오프라인 일 확률은 q = 1- p = 0.05이므로, 동시에 모두 다운 될 확률은 q 3 = 0.000125이며, 확률은 1- q 3 = 1- (1- p )입니다. 3 = 0.999875 이상입니다.
3 개 중 2 개는 계산하기가 약간 더 어렵습니다. 서버 3 대 중 2 대 이상이 작동하는 상황은 4 가지입니다. 1) ABC가 상승하고 2) AB가 상승하고 3) AC가 상승하고 4) BC가 상승했다. 이 모든이며, 각각의 확률 PPP , PPQ , PQP 와 QPP . 사례가 분리되어 있으므로 확률을 합하여 총 A = p 3 + 3 p 2 q = 0.992750을 얻을 수 있습니다.
(이는 더 많은 기계로 확장 될 수 있습니다. 요인은 잘 알려진 이항 계수 이므로 수작업으로 다른 사례를 계산하는 것이 주로 운동으로 작용합니다.)
물론, 이와 같은 계산은 기성품 컴퓨터 프로그램을 사용하여 처리하기가 훨씬 쉽습니다 …
http://stattrek.com/online-calculator/binomial.aspx
입력 값 : 성공 확률 = 0.95, 시행 횟수 = 3, 성공 횟수 = 2를 입력하면 “누적 확률 : P (X ≥ 2) = 0.99275″가 표시됩니다. 다른 관련 값도 제공되며 온라인 도구를 사용하면 다른 숫자도 쉽게 재생할 수 있습니다.
그리고 예, 위의 모든 것은 서버가 독립적으로 실패한다고 가정합니다. 즉 a) 클러스터 전체에 영향을 미치는 문제를 무시했습니다 .b) 서버가 실패 할 가능성이있는 구성 요소 노화와 같은 것은 없습니다. 또는 거의 동시에.
답변
각 서버에 대해 5 %의 다운 타임이 있으므로 0.05-0.05 = 0.0025를 곱하여 1-0.0025 = 0.9975-> 99 %의 업타임을 제공합니다. 3 대의 서버를 사용하면 가동 시간이 1-0.000125 = 0.999875> 99.9 %입니다.
필자는 일반적으로 독립형 호스트 (중복 HDD 및 PSU 포함)의 97 % 가용성을 고려하여 2N의 경우 99.9 %, 3N 중복의 경우 99.99 %를 제공합니다.
답변
좀 더 파고이 퍼즐 조각을 발견했습니다.
가용성이 95 % 인 서버의 예를 사용하여 두 번째 서버를 추가하면 가용성이 95 % + (1-95 %) * 95 % = 99.75 %로 증가합니다. 이에 대한 논리는 첫 번째 서버가 다운 될 때 (시간의 5 %) 두 번째 서버가 여전히 95 %의 시간을 차지한다는 것입니다.
세 번째 서버를 추가하면 동일한 방식으로 반복됩니다. 처음 2 개는 이미 99.75 % 사용 가능하므로 세 번째 추가는 99.75 % + (1-99.75 %) * 95 % = 99.9875 %입니다. 그리고 등등. 이것은 Phil의 대답과 비슷하지만 이전 반복의 결과를 가져 와서 다음 반복에서 사용해야하기 때문에 여전히 약간 다릅니다.
서로 의존하는 구성 요소의 경우 단순히 가용성 비율을 곱하기 때문에 50 %의 사용 가능한 구성 요소가 2 개있는 경우 총 가용성은 25 %입니다 (즉, 두 구성 요소가 작동하는 경우에만 시스템이 작동 함).
답변
각 서버의 가동 시간이 다른 서버와 무관하다고 가정하면 총 가동 시간은
1-(0.05) ^ n
여기서 n은 서버 수이고 0.05는 한 서버의 가동 중지 확률입니다.