Wie berechnet man mathematisch einen Verfügbarkeitsprozentsatz basierend auf einer Anzahl von Knoten und ihrem jeweiligen Verfügbarkeitsprozentsatz?


11

Diese Frage ist eher eine mathematische Frage als eine Serverfrage, aber sie hängt stark mit dem Server zusammen.

Wenn ich einen Server hätte, auf dem ich eine Verfügbarkeit von 95% garantieren könnte, und diesen Server in einen 2er-Cluster stellen würde, wie hoch wäre dann die Verfügbarkeit? Nehmen wir an, ich mache das Gleiche, aber ich mache es zu einem 3er-Cluster.

Betrachten wir nicht Dinge wie Single Point of Failure, sondern konzentrieren uns hier nur auf die Mathematik. Eines der Dinge, die dies etwas kompliziert machen, ist, dass wenn ich zum Beispiel 2 Server habe, die Wahrscheinlichkeit, dass beide ausgeschaltet sind, 2 ^ 2 beträgt, das ist also 1/4; oder für 3 ist das 2 ^ 3, also 1/8. Wenn ich bedenke, dass ich für jeden dieser Server eine Ausfallzeit von 5% habe, wäre der Gesamtdurchschnitt dann 1/8 dieser 5%?

Wie würden Sie so etwas berechnen?


"95% Betriebszeit" - was ist das? Ich weiß, was 5 Tage oder 5 Jahre Betriebszeiten sind. Was ist 0,95 Betriebszeit? Welche Einheiten?
Poige

1
Warum musst du das wissen? Was ist der Anwendungsfall?
ewwhite

@poige Vermutlich bedeutet "95% Betriebszeit" "die Betriebszeit macht 95% der Zeit aus". Wenn Sie sich jedoch dazu entschließen, pedantisch zu sein, können Sie sagen, dass daher alles ~ 0% Betriebszeit hat, da es nicht für alle Zeiten existiert .
Fund Monica Klage

1) Vermutlich sollte der Autor antworten? ;) 2) Ich denke, bevor man etwas berechnet, ist es besser zu verstehen, was es ist. ;)
Poige

Antworten:


11

Die Betriebszeit ist eine schlüpfrige Sache ... Wenn Sie die Verfügbarkeit eines Dienstes berechnen möchten, ist dies einfach

amount of time service is available
-----------------------------------   x 100
  amount of time that has passed 

Wenn Sie einen Cluster haben, der den Dienst bereitstellt, sinkt die Wahrscheinlichkeit, dass der Dienst nicht mehr verfügbar ist, aber die Berechnung der Verfügbarkeit (Verfügbarkeit) für den Dienst bleibt gleich.


8

Die Wahrscheinlichkeit, dass ein Server offline ist, beträgt (1 - 0,95). Die Wahrscheinlichkeit, dass beide Server offline sind, beträgt (1 - 0,95) * (1 - 0,95) = 0,0025 usw.

Wenn Sie also Ihr Modell verwenden und aus rein mathematischer Sicht, sollte einer oder beide Server in 99,75% der Fälle ausgelastet sein

Ich bin mir jedoch nicht sicher, ob die Verwendung eines solchen mathematischen Modells der richtige Weg ist, um Ihre potenzielle Verfügbarkeit zu ermitteln, da es andere Faktoren gibt, die sich auf beide Server auswirken können, dh die 95% könnten in 5% der Fälle liegen Es gibt einen Stromausfall, der sich auf BEIDE Server auswirken würde, sodass ein Cluster keinen Unterschied machen würde


Hallo Phil. Strom ist sicherlich eine Komponente der Verfügbarkeit, die gemindert werden kann, indem Installationen in mehreren Racks installiert und Strom aus verschiedenen Quellen usw. entnommen werden. Die Idee ist rein mathematisch, da offensichtlich mehr Komponenten als nur wenige Server in diesen Bereich einfließen :)
Jeroen Landheer

8
Der Punkt ist, dass die Berechnungen in dieser und Jeroens Antwort nur funktionieren, wenn die Betriebszeiten unabhängig sind (im mathematischen Sinne). Wenn es Korrelationen gibt (z. B. Stromkabel, das beide Racks speist), sind die Dinge nicht so einfach.
TripeHound

@TripeHound Deshalb habe ich meine Antwort geschrieben :)
Seamus

5

Dies hängt davon ab, warum Ihre Server in 5% der Fälle ausfallen. Wenn Sie in 95% der Fälle mit Strom versorgt werden, Ihre Server jedoch ansonsten fehlerfrei sind, erhöht ein zweiter Server am selben Standort Ihre Betriebszeit überhaupt nicht : Wenn einer ausfällt, fallen beide aus. Dies ist ein Beispiel für die Korrelation der Fehler . Es ist wahrscheinlich, dass zumindest ein Teil Ihrer Ausfallzeit auf Fehler zurückzuführen ist, die alle Server zusammen betreffen (Stromversorgung ...). Ein Teil der Ausfallzeiten ist jedoch unabhängigzwischen Servern. Wenn Sie es richtig machen wollen, sollten Sie diese Dinge separat behandeln. Sie möchten also die Wahrscheinlichkeit ermitteln, dass Server 1 keinen unabhängigen Fehler (p) und Server 2 keinen unabhängigen Fehler (q) aufweist und dass kein systemischer Fehler vorliegt, der beide beendet (r). Es wäre relativ sicher anzunehmen, dass diese Fehler unabhängig sind, und Sie könnten sie daher einfach miteinander multiplizieren: p q r ist die Wahrscheinlichkeit, dass ein Server in Betrieb ist.

Das Problem ist, dass Sie keine tatsächlichen Verfügbarkeitsdaten verwenden können, um Werte für p, q und r zu erhalten. Wenn Sie jedoch nur Server 1 haben und dieser in 95% der Fälle aktiv ist, ist p * r = 0,95.


5

Zuallererst hängt die Gesamtverfügbarkeit oder Verfügbarkeit eines Clusters davon ab, wie groß ein Teil des Clusters sein muss, um aktiv zu sein, damit der gesamte Cluster als "aktiv" betrachtet werden kann.

  • Reicht eine funktionierende Maschine aus? Das würde bedeuten, dass jede einzelne Maschine bei Bedarf die volle Last aufnehmen kann.
  • Müssen alle gleichzeitig aktiv sein? Das heißt, es gibt keine Redundanz.
  • Oder sind vielleicht zwei von drei online ausreichend? Dies würde eine größere Arbeitsbelastung als im ersten Fall ermöglichen.

Wie Sie herausgefunden haben, sind die ersten beiden Fälle recht einfach zu berechnen. Die Wahrscheinlichkeit, dass ein einzelner Server zu einem bestimmten Zeitpunkt online ist, sei p = 0,95. Für drei Server beträgt die Wahrscheinlichkeit, dass alle gleichzeitig online sind, p 3 = 0,857375.

Im umgekehrten Fall, in dem mindestens eine Maschine zu einem bestimmten Zeitpunkt aktiv sein sollte, ist es einfacher zu berechnen, indem das Problem invertiert und die Wahrscheinlichkeiten der Offline- Maschinen untersucht werden . Die Wahrscheinlichkeit, dass eine einzelne Maschine offline ist, beträgt q = 1 - p = 0,05, und daher beträgt die Wahrscheinlichkeit, dass alle gleichzeitig außer Betrieb sind, q 3 = 0,000125, was eine Wahrscheinlichkeit von 1 - q 3 = 1 - (1 - p ) ergibt. 3 = 0,999875, dass mindestens einer aktiv ist.

Der 2 von 3 Fall ist etwas schwieriger zu berechnen. Es gibt vier mögliche Situationen, in denen mindestens zwei von drei Servern aktiv sind. 1) ABC sind aktiv, 2) AB sind aktiv, 3) AC sind aktiv, 4) BC sind aktiv. Die Wahrscheinlichkeiten für alle diese sind jeweils ppp , ppq , pqp und qpp . Da die Fälle disjunkt sind, können die Wahrscheinlichkeiten addiert werden, was insgesamt A = p 3 + 3 p 2 q = 0,992750 ergibt.

(Dies kann auf weitere Maschinen erweitert werden. Die Faktoren sind die bekannten Binomialkoeffizienten , sodass das Zählen der verschiedenen Fälle von Hand meist als Übung funktioniert.)


Natürlich sind solche Berechnungen mit einem vorgefertigten Computerprogramm viel einfacher zu handhaben ... Mindestens ein Online-Rechner finden Sie hier:
http://stattrek.com/online-calculator/binomial.aspx

Eingabe der Eingabewerte: Erfolgswahrscheinlichkeit = 0,95, Anzahl der Versuche = 3, Anzahl der Erfolge = 2, wir erhalten das Ergebnis "Kumulative Wahrscheinlichkeit: P (X ≥ 2) = 0,99275". Einige andere verwandte Werte werden ebenfalls angegeben, und das Online-Tool erleichtert das Spielen mit anderen Zahlen.


Und ja, bei alledem wird davon ausgegangen, dass die Server unabhängig voneinander ausfallen. Das heißt, a) ich habe alle Probleme, die den Cluster als Ganzes betreffen, ignoriert, b) es gibt nichts Vergleichbares, was dazu führen könnte, dass die Server ausfallen oder fast zur gleichen Zeit.


3

Sie haben 5% Ausfallzeit für jeden Server, also multiplizieren Sie diese - 0,05 * 0,05 = 0,0025, was 1-0,0025 = 0,9975 -> 99% Betriebszeit ergibt. Mit 3 Servern haben Sie 1-0.000125 = 0,999875> 99,9% Betriebszeit.

Normalerweise mache ich 97% Verfügbarkeit für Standalone-Hosts (mit redundanter Festplatte und Netzteil) aus, was> 99,9% für 2N und> 99,99% für 3N-Redundanz ergibt.


3

Ich habe noch ein bisschen gegraben und dieses Puzzleteil gefunden.

Am Beispiel eines Servers mit einer Verfügbarkeit von 95% würde das Hinzufügen eines zweiten Servers die Verfügbarkeit auf 95% + (1-95%) * 95% = 99,75% erhöhen. Die Logik dahinter ist, dass wenn der erste Server ausfällt (5% der Zeit), der zweite Server in 95% der Fälle immer noch in Betrieb ist.

Das Hinzufügen eines dritten Servers würde dies auf die gleiche Weise durchlaufen. Die ersten 2 zusammen sind bereits zu 99,75% verfügbar, daher wäre das Hinzufügen der dritten: 99,75% + (1-99,75%) * 95% = 99,9875%. Und so weiter und so fort. Dies ist nahe an Phils Antwort, aber immer noch etwas anders, da Sie das Ergebnis der vorherigen Iteration nehmen und in der nächsten verwenden müssen.

Für voneinander abhängige Komponenten multiplizieren Sie einfach die Verfügbarkeitsprozentsätze. Wenn Sie also 2 Komponenten haben, die zu 50% verfügbar sind, haben Sie eine Gesamtverfügbarkeit von 25% (dh das System funktioniert nur, wenn beide Komponenten funktionieren.)


0

Unter der Annahme, dass die Verfügbarkeit jedes Servers unabhängig von den anderen ist, beträgt die Gesamtverfügbarkeit

1 - (0,05) ^ n

Dabei ist n die Anzahl der Server und 0,05 die Ausfallzeitwahrscheinlichkeit eines Servers

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.