Optimierung der Verteilung von Servern auf Racks

In einem der Chats wurde mir eine Frage gestellt:

— Gibt es etwas, das ich darüber lesen kann, wie man Server richtig in Racks packt?

Mir wurde klar, dass ich einen solchen Text nicht kannte, also schrieb ich meinen eigenen.

In diesem Text geht es zunächst um physische Server in physischen Rechenzentren (DCs). Zweitens glauben wir, dass es ziemlich viele Server gibt: Hunderttausende; für eine kleinere Anzahl macht dieser Text keinen Sinn. Drittens berücksichtigen wir, dass wir drei Einschränkungen haben: physischer Platz in den Racks, Stromversorgung pro Rack und die Racks in Reihen stehen lassen, damit wir einen ToR-Switch verwenden können, um Server in benachbarten Racks zu verbinden.

Die Antwort auf die Frage hängt stark davon ab, welche Parameter wir optimieren und was wir variieren können, um das beste Ergebnis zu erzielen. Wir müssen beispielsweise nur ein Minimum an Platz beanspruchen, um mehr für weiteres Wachstum übrig zu lassen. Oder vielleicht haben wir die Freiheit, die Höhe der Racks, die Leistung pro Rack, die Steckdosen in der PDU, die Anzahl der Racks in einer Schaltergruppe (ein Schalter für 1, 2 oder 3 Racks), die Länge der Kabel und die Zugarbeit zu wählen ( Dies ist an den Enden der Reihen von entscheidender Bedeutung: Bei 10 Racks in einer Reihe und 3 Racks pro Switch müssen Sie die Drähte in eine andere Reihe ziehen oder die Ports im Switch nicht ausreichend nutzen usw. usw. Separate Geschichten: Auswahl von Servern und Auswahl von DCs, wir gehen davon aus, dass sie ausgewählt sind.

Es wäre gut, einige Nuancen und Details zu verstehen, insbesondere den durchschnittlichen/maximalen Verbrauch von Servern und die Art und Weise, wie wir mit Strom versorgt werden. Wenn wir also eine russische Stromversorgung mit 230 V und einer Phase pro Rack haben, kann eine 32-A-Maschine etwa 7 kW verarbeiten. Nehmen wir an, wir zahlen nominell 6 kW pro Rack. Wenn der Anbieter unseren Verbrauch nur für eine Reihe von 10 Racks und nicht für jedes Rack misst und die Maschine auf eine bedingte 7-kW-Abschaltung eingestellt ist, können wir technisch gesehen 6.9 kW in einem einzelnen Rack verbrauchen, 5.1 kW in einem anderen und Alles wird gut – nicht strafbar.

Normalerweise ist es unser Hauptziel, die Kosten zu minimieren. Das beste Messkriterium ist eine Reduzierung der TCO (Total Cost of Ownership). Es besteht aus folgenden Teilen:

  • CAPEX: Kauf von DC-Infrastruktur, Servern, Netzwerkhardware und Verkabelung
  • OPEX: DC-Miete, Stromverbrauch, Wartung. OPEX hängt von der Lebensdauer ab. Man kann davon ausgehen, dass es 3 Jahre sind.

Optimierung der Verteilung von Servern auf Racks

Abhängig davon, wie groß die einzelnen Stücke im Gesamtkuchen sind, müssen wir die teuersten optimieren und den Rest alle verbleibenden Ressourcen so effizient wie möglich nutzen lassen.

Nehmen wir an, wir haben einen bestehenden DC, es gibt eine Rackhöhe von H Einheiten (z. B. H=47), Strom pro Rack Prack (Prack=6 kW) und wir haben uns für die Verwendung von h=2U-Servern mit zwei Einheiten entschieden. Wir werden 2..4 Einheiten für Switches, Patchpanels und Organizer aus dem Rack entfernen. Diese. physisch haben wir Sh=rounddown((H-2..4)/h) Server in unserem Rack (d. h. Sh = Rounddown((47-4)/2)=21 Server pro Rack). Erinnern wir uns an diesen Sh.

Im einfachen Fall sind alle Server in einem Rack identisch. Wenn wir insgesamt ein Rack mit Servern füllen, können wir auf jedem Server im Durchschnitt die Leistung Pserv=Prack/Sh (Pserv = 6000W/21 = 287W) aufwenden. Der Einfachheit halber ignorieren wir hier den Switch-Verbrauch.

Machen wir einen Schritt zur Seite und ermitteln wir den maximalen Serververbrauch Pmax. Wenn es sehr einfach, sehr ineffektiv und absolut sicher ist, dann lesen wir, was auf dem Netzteil des Servers steht – das ist es.

Wenn es komplexer und effizienter ist, dann nehmen wir die TDP (Thermal Design Package) aller Komponenten und fassen sie zusammen (das stimmt zwar nicht ganz, ist aber möglich).

Normalerweise kennen wir die TDP von Komponenten (außer der CPU) nicht, daher wählen wir den korrektesten, aber auch komplexesten Ansatz (wir brauchen ein Labor) – wir nehmen einen experimentellen Server mit der erforderlichen Konfiguration und laden ihn. Beispielsweise messen wir mit Linpack (CPU und Speicher) und fio (Festplatten) den Verbrauch. Wenn wir es ernst nehmen, müssen wir während der Tests auch die wärmste Umgebung im kalten Korridor schaffen, da sich dies sowohl auf den Lüfterverbrauch als auch auf den CPU-Verbrauch auswirkt. Wir ermitteln den maximalen Verbrauch eines bestimmten Servers mit einer bestimmten Konfiguration unter diesen bestimmten Bedingungen und unter dieser bestimmten Auslastung. Wir meinen lediglich, dass eine neue System-Firmware, eine andere Softwareversion und andere Bedingungen das Ergebnis beeinflussen können.

Also zurück zu Pserv und wie wir es mit Pmax vergleichen. Es kommt darauf an, zu verstehen, wie die Dienste funktionieren und wie stark die Nerven Ihres technischen Leiters sind.

Wenn wir überhaupt kein Risiko eingehen, glauben wir, dass alle Server gleichzeitig beginnen können, ihr Maximum zu verbrauchen. Im gleichen Moment kann eine Eingabe in den Gleichstrom erfolgen. Selbst unter diesen Bedingungen muss die Infrastruktur Dienste bereitstellen, also ist Pserv ≡ Pmax. Dies ist ein Ansatz, bei dem Zuverlässigkeit absolut wichtig ist.

Wenn der Tech-Direktor nicht nur an die ideale Sicherheit denkt, sondern auch an das Geld des Unternehmens und mutig genug ist, dann kann man das entscheiden

  • Wir beginnen mit der Verwaltung unserer Lieferanten. Insbesondere verbieten wir geplante Wartungsarbeiten zu Zeiten geplanter Spitzenlast, um den Rückgang einer Eingabe zu minimieren.
  • und/oder unsere Architektur ermöglicht es Ihnen, ein Rack/eine Reihe/einen DC zu verlieren, aber die Dienste funktionieren weiterhin;
  • und/oder wir verteilen die Last gut horizontal auf die Racks, sodass unsere Dienste nie insgesamt den maximalen Verbrauch in einem Rack erreichen.

Hier ist es sehr nützlich, nicht nur zu raten, sondern den Verbrauch zu überwachen und zu wissen, wie die Server unter normalen Bedingungen und Spitzenbedingungen tatsächlich Strom verbrauchen. Daher quetscht der technische Direktor nach einiger Analyse alles zusammen, was er hat, und sagt: „Wir treffen eine freiwillige Entscheidung, dass der maximal erreichbare Durchschnitt des maximalen Serververbrauchs pro Rack **so viel** unter dem maximalen Verbrauch liegt“, bedingt Pserv = 0.8* Pmax.

Und dann kann ein 6-kW-Rack nicht mehr 16 Server mit Pmax = 375 W aufnehmen, sondern 20 Server mit Pserv = 375 W * 0.8 = 300 W. Diese. 25 % mehr Server. Das ist eine sehr große Ersparnis – schließlich benötigen wir sofort 25 % weniger Racks (und sparen auch PDUs, Switches und Kabel). Ein gravierender Nachteil einer solchen Lösung besteht darin, dass wir ständig überwachen müssen, dass unsere Annahmen noch korrekt sind. Dass die neue Firmware-Version den Betrieb der Lüfter und den Verbrauch nicht wesentlich verändert, dass die Entwicklung mit der neuen Version plötzlich nicht begonnen hat, die Server viel effizienter zu nutzen (sprich: Sie erreichten eine höhere Auslastung und einen höheren Verbrauch auf dem Server). Denn dann werden sowohl unsere anfänglichen Annahmen als auch unsere Schlussfolgerungen sofort falsch. Dies ist ein Risiko, das verantwortungsvoll eingegangen werden muss (oder vermieden und dann für offensichtlich nicht ausgelastete Racks bezahlt werden muss).

Ein wichtiger Hinweis: Sie sollten versuchen, Server verschiedener Dienste nach Möglichkeit horizontal auf Racks zu verteilen. Dies ist notwendig, damit es nicht zu Situationen kommt, in denen ein Stapel Server für einen Dienst eintrifft. Die Racks werden vertikal damit gepackt, um die „Dichte“ zu erhöhen (weil es so einfacher ist). In der Realität stellt sich heraus, dass ein Rack mit identischen Servern mit geringer Auslastung desselben Dienstes und das andere mit Servern mit gleich hoher Auslastung gefüllt ist. Die Wahrscheinlichkeit des zweiten Sturzes ist deutlich höher, denn Das Lastprofil ist das gleiche und alle Server in diesem Rack beginnen aufgrund der erhöhten Last die gleiche Menge zu verbrauchen.

Kehren wir zur Verteilung der Server in Racks zurück. Wir haben uns den physischen Platz im Rack und die Leistungsbeschränkungen angesehen. Schauen wir uns nun das Netzwerk an. Sie können Switches mit 24/32/48 N-Ports verwenden (wir haben beispielsweise ToR-Switches mit 48 Ports). Glücklicherweise gibt es nicht viele Optionen, wenn Sie nicht über Breakout-Kabel nachdenken. Wir erwägen Szenarien, in denen wir einen Switch pro Rack, einen Switch für zwei oder drei Racks in der Rnet-Gruppe haben. Mir scheint, dass mehr als drei Racks in einer Gruppe schon zu viel sind, weil... Das Problem der Verkabelung zwischen Racks wird viel größer.

Für jedes Netzwerkszenario (1, 2 oder 3 Racks in einer Gruppe) verteilen wir die Server auf die Racks:

Srack = min(Sh, Rounddown(Prack/Pserv), Rounddown(N/Rnet))

Für die Variante mit 2 Racks in einer Gruppe gilt also:

Srack2 = min(21, Rounddown(6000/300), Rounddown(48/2)) = min(21, 20, 24) = 20 Server pro Rack.

Die übrigen Optionen betrachten wir auf die gleiche Weise:

Srack1 = 20
Srack3 = 16

Und wir sind fast da. Wir zählen die Anzahl der Racks, um alle unsere Server S zu verteilen (es sei 1000):

R = Roundup(S / (Srack * Rnet)) * Rnet

R1 = Roundup(1000 / (20 * 1)) * 1 = 50 * 1 = 50 Racks

R2 = Roundup(1000 / (20 * 2)) * 2 = 25 * 2 = 50 Racks

R3 = Roundup(1000 / (16 * 3)) * 3 = 25 * 2 = 63 Racks

Als nächstes berechnen wir die Gesamtbetriebskosten für jede Option basierend auf der Anzahl der Racks, der erforderlichen Anzahl an Switches, der Verkabelung usw. Wir wählen die Option, bei der die Gesamtbetriebskosten niedriger sind. Profitieren!

Beachten Sie, dass die erforderliche Anzahl an Racks für die Optionen 1 und 2 zwar gleich ist, ihr Preis jedoch unterschiedlich ist, weil Bei der zweiten Option ist die Anzahl der Schalter halb so hoch und die Länge der erforderlichen Kabel länger.

PS: Wenn man die Möglichkeit hat, mit der Leistung pro Rack und der Höhe des Racks zu spielen, erhöht sich die Variabilität. Durch einfaches Durchgehen der Optionen lässt sich der Vorgang aber auf den oben beschriebenen reduzieren. Ja, es wird mehr Kombinationen geben, aber immer noch eine sehr begrenzte Anzahl – die Stromversorgung des Racks zur Berechnung kann in Schritten von 1 kW erhöht werden, typische Racks sind in einer begrenzten Anzahl von Standardgrößen erhältlich: 42U, 45U, 47U, 48U , 52U. Und hier kann die Was-wäre-wenn-Analyse von Excel im Datentabellenmodus bei Berechnungen hilfreich sein. Wir schauen uns die erhaltenen Teller an und wählen das Minimum aus.

Source: habr.com

Kommentar hinzufügen