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?
quelle
Antworten:
Die Betriebszeit ist eine schlüpfrige Sache ... Wenn Sie die Verfügbarkeit eines Dienstes berechnen möchten, ist dies einfach
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.
quelle
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
quelle
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.
quelle
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.
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.
quelle
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.
quelle
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.)
quelle
Unter der Annahme, dass die Verfügbarkeit jedes Servers unabhängig von den anderen ist, beträgt die Gesamtverfügbarkeit
Dabei ist n die Anzahl der Server und 0,05 die Ausfallzeitwahrscheinlichkeit eines Servers
quelle