Design des virtualisierten Rechenzentrums

Design des virtualisierten Rechenzentrums

EinfĂŒhrung

Das Informationssystem aus Sicht des Benutzers wird gut in GOST RV 51987 definiert – „ein automatisiertes System, dessen Funktion darin besteht, Ausgangsinformationen zur weiteren Nutzung bereitzustellen“. Betrachtet man die interne Struktur, ist im Grunde jedes IS ein System von in Code umgesetzten miteinander verknĂŒpften Algorithmen. Im weitesten Sinne transformiert der Algorithmus (und entsprechend das IS) eine Menge von Eingabedaten in eine Menge von Ausgabedaten.
Man kann sogar sagen, dass der Sinn der Existenz eines Informationssystems gerade in der Transformation der Eingabedaten liegt. Dementsprechend wird der Wert des IS und des gesamten Komplexes von IS durch den Wert der Eingabedaten und der Ausgabedaten definiert.
Aus diesem Grund sollte das Design beginnen und auf den Daten basieren, indem die Architektur und Methoden an die Struktur und Bedeutung der Daten angepasst werden.

Gespeicherte Daten
Ein entscheidender Schritt bei der Vorbereitung auf die Planung ist das Erfassen der Merkmale aller DatensÀtze, die bearbeitet und gespeichert werden sollen. Diese Merkmale umfassen:
— Datenvolumen;
— Informationen ĂŒber den Lebenszyklus der Daten (Zuwachs neuer Daten, Lebensdauer, Verarbeitung veralteter Daten);
— Klassifizierung der Daten hinsichtlich ihres Einflusses auf das HauptgeschĂ€ft des Unternehmens (in der Triade von Vertraulichkeit, IntegritĂ€t, VerfĂŒgbarkeit) zusammen mit finanziellen Kennzahlen (z. B. die Kosten fĂŒr den Verlust von Daten in der letzten Stunde);
— Geografie der Datenverarbeitung (physikalische Lage der Verarbeitungssysteme);
— Anforderungen der Regulierungsbehörden fĂŒr jede Datenklasse (z. B. FZ-152, PCI DSS).

Informationssysteme

Daten werden nicht nur gespeichert, sondern auch von Informationssystemen verarbeitet (transformiert). Der nĂ€chste Schritt nach dem Erfassen der Datenmerkmale ist eine möglichst vollstĂ€ndige Inventarisierung der Informationssysteme, ihrer architektonischen Besonderheiten, AbhĂ€ngigkeiten und Infrastrukturvoraussetzungen in Einheitspreisen fĂŒr vier Arten von Ressourcen:
— Rechnerische Prozessleistung;
— Volumen des Arbeitsspeichers;
— Anforderungen an Volumen und LeistungsfĂ€higkeit des Datenspeichers;
— Anforderungen an das Datennetzwerk (externe KanĂ€le, KanĂ€le zwischen IS-Komponenten).
Die Anforderungen mĂŒssen fĂŒr jeden Dienst/Mikrodienst im Rahmen des IS vorliegen.
Es ist besonders wichtig, dass fĂŒr die korrekte Planung Daten ĂŒber den Einfluss des IS auf das HauptgeschĂ€ft des Unternehmens in Form der Kosten fĂŒr Ausfallzeiten des IS (Rubel pro Stunde) vorliegen.

Bedrohungsmodell

Es muss zwingend ein formelles Bedrohungsmodell vorhanden sein, gegen das die Daten/Dienste geschĂŒtzt werden sollen. Dabei umfasst das Bedrohungsmodell nicht nur Aspekte der Vertraulichkeit, sondern auch der IntegritĂ€t und VerfĂŒgbarkeit. Das heißt zum Beispiel:
— Ausfall des physischen Servers;
— Ausfall des Top-of-the-Rack-Switches;
— Unterbrechung des optischen Kommunikationskanals zwischen den Rechenzentren;
— Totalausfall des laufenden Storage Systems.
In einigen FĂ€llen werden Bedrohungsmodelle nicht nur fĂŒr infrastrukturelle Komponenten, sondern auch fĂŒr spezifische IS oder deren Komponenten geschrieben, wie zum Beispiel der Ausfall der DBMS mit logischer Zerstörung der Datenstruktur.
Alle Entscheidungen im Rahmen des Projekts zum Schutz vor nicht beschriebenen Bedrohungen sind ĂŒberflĂŒssig.

Anforderungen der Regulierungsbehörden

Wenn die verarbeiteten Daten unter spezielle Regelungen fallen, die von Aufsichtsbehörden festgelegt werden, ist zwingend Informationen ĂŒber DatensĂ€tze und die Regeln fĂŒr Verarbeitung/Speicherung erforderlich.

Zielwerte RPO/RTO

Die Planung jeglicher Art von Schutz erfordert die Festlegung von Werten fĂŒr den angestrebten Datenverlust und die angestrebte Wiederherstellungszeit des Dienstes fĂŒr jede der beschriebenen Bedrohungen.
Idealerweise sollten RPO und RTO mit den entsprechenden Kosten fĂŒr Datenverluste und Ausfallzeiten pro Zeiteinheit verbunden sein.

Design des virtualisierten Rechenzentrums

Aufteilung in Ressourcenpools

Nach der Erhebung aller primĂ€ren Informationen ist der erste Schritt die Gruppierung von DatensĂ€tzen und IS in Pools, basierend auf Bedrohungsmodellen und Anforderungen der Regulierungsbehörden. Es wird der Typ der Trennung der verschiedenen Pools festgelegt – programmatisch auf der Ebene der Systemsoftware oder physisch.
Beispiele:
— Der Rahmen, der personenbezogene Daten verarbeitet, ist vollstĂ€ndig physisch von anderen Systemen getrennt;
— Backups werden auf einem separaten Storage-System gespeichert.

Dabei können die Pools teilweise unabhĂ€ngig sein, zum Beispiel werden zwei Pools von Rechenressourcen (Rechenleistung + Arbeitsspeicher) definiert, die einen gemeinsamen Datenspeicherpool und einen gemeinsamen DatenĂŒbertragungspool nutzen.

Rechenleistung

Design des virtualisierten Rechenzentrums

Die abstrakten Anforderungen an die Verarbeitungsleistung eines virtualisierten Rechenzentrums werden in der Anzahl der virtuellen Prozessoren (vCPU) und dem VerhĂ€ltnis ihrer Konsolidierung auf physischen Prozessoren (pCPU) gemessen. In diesem speziellen Fall entspricht 1 pCPU = 1 physischer Prozessorkern (ohne Hyper-Threading). Die Anzahl der vCPUs wird ĂŒber alle definierten RessourcensĂ€ulen hinweg summiert (jede kann ihren eigenen Konsolidierungsfaktor haben).
Der Konsolidierungsfaktor fĂŒr stark belastete Systeme wird empirisch ermittelt, basierend auf der bereits bestehenden Infrastruktur oder wĂ€hrend der Pilotinstallation und Lasttests. FĂŒr unbelastete Systeme kommen „Best Practices“ zur Anwendung. VMware nennt beispielsweise einen durchschnittlichen Konsolidierungsfaktor von 8:1.

Arbeitsspeicher

Der gesamte Speicherbedarf wird durch einfaches Summieren ermittelt. Die Verwendung von Overcommitment bei Arbeitsspeicher wird nicht empfohlen.

Speicherressourcen

Die Anforderungen an Speicherressourcen ergeben sich durch die einfache Addition aller Pools in Bezug auf Umfang und Leistung.
Die Leistungsanforderungen werden in IOPS ausgedrĂŒckt, in Kombination mit dem durchschnittlichen VerhĂ€ltnis von Lese- zu SchreibvorgĂ€ngen und gegebenenfalls der maximalen Antwortzeit.
Die Anforderungen an die QualitĂ€t des Service (QoS) mĂŒssen fĂŒr spezifische Pools oder Systeme separat angegeben werden.

Netzwerkressourcen

Die Anforderungen an die Netzwerkressourcen werden durch die einfache Addition aller Pools in Bezug auf die Bandbreite ermittelt.
Die Anforderungen an die QualitĂ€t des Service (QoS) und die Latenz (RTT) mĂŒssen fĂŒr spezifische Pools oder Systeme separat angegeben werden.
Im Rahmen der Anforderungen an die Netzwerkressourcen mĂŒssen auch Anforderungen an die Isolation und/oder VerschlĂŒsselung des Datenverkehrs sowie bevorzugte Mechanismen (802.1q, IPSec usw.) angegeben werden.

Architekturwahl

Im Rahmen dieses Leitfadens wird keine andere Wahl als die x86-Architektur und 100% Virtualisierung von Servern betrachtet. Daher reduziert sich die Wahl der Rechenarchitektur auf die Auswahl der Servervirtualisierungsplattform, die Bauform der Server und die allgemeinen Konfigurationsanforderungen der Server.

Ein entscheidender Punkt bei der Wahl ist die Klarheit hinsichtlich der Verwendung des klassischen Ansatzes mit Trennung der Funktionen fĂŒr Verarbeitung, Speicherung und DatenĂŒbertragung oder des konvergenten Ansatzes.

Klassische Architektur bedeutet die Verwendung intelligenter externer Datenspeicher- und Übertragungssysteme, wĂ€hrend die Server nur Rechenleistung und Arbeitsspeicher in den allgemeinen Pool physischer Ressourcen einbringen. Im Extremfall werden Server völlig anonym, ohne eigene Festplatten und sogar ohne Systemidentifikatoren. In diesem Fall erfolgt das Booten des Betriebssystems oder Hypervisors von eingebauten Flash-Laufwerken oder von einem externen Datenspeichersystem (Boot von SAN).
Im Rahmen der klassischen Architektur erfolgt die Wahl zwischen Blade- und Rack-Servern in erster Linie nach folgenden Prinzipien:
— Wirtschaftlichkeit (Rack-Server sind im Durchschnitt gĂŒnstiger);
— RechenkapazitĂ€t (bei Blades höher);
— Energieverbrauch und WĂ€rmeabgabe (bei Blades höher pro Einheit);
— Skalierbarkeit und Managebarkeit (Blades erfordern insgesamt weniger Aufwand bei großen Installationen);
— Verwendung von Erweiterungskarten (bei Blades sehr begrenzte Auswahl).
Konvergente Architektur (auch bekannt als hyperkonvergent) bedeutet die Kombination von Datenverarbeitungs- und Speicherfunktionen, was zur Nutzung von lokalen Festplatten der Server fĂŒhrt und folglich den Verzicht auf das Formfaktor klassischer Blades zur Folge hat. FĂŒr konvergente Systeme werden entweder Rack-Server oder Cluster-Systeme verwendet, die mehrere Blade-Server und lokale Festplatten in einem GehĂ€use kombinieren.

CPU / Arbeitsspeicher

FĂŒr die korrekte Berechnung der Konfiguration muss der Typ der Last fĂŒr die Umgebung oder jeden der unabhĂ€ngigen Cluster verstanden werden.
CPU bound – Umgebung, die in der Leistung durch die ProzessorkapazitĂ€t begrenzt ist. Die HinzufĂŒgung von Arbeitsspeicher Ă€ndert nichts an der LeistungsfĂ€higkeit (Anzahl der VMs pro Server).
Memory bound – Umgebung, die durch den Arbeitsspeicher begrenzt ist. GrĂ¶ĂŸere Menge an Arbeitsspeicher auf dem Server ermöglicht das Starten einer grĂ¶ĂŸeren Anzahl von VMs auf dem Server.
GB / MHz (GB / pCPU) – das durchschnittliche VerhĂ€ltnis des Verbrauchs ebendieser spezifischen Last von Arbeitsspeicher und ProzessorkapazitĂ€t. Kann zur Berechnung des benötigten Speichervolumens bei gegebener Leistung und umgekehrt verwendet werden.

Berechnung der Serverkonfiguration

Design des virtualisierten Rechenzentrums

ZunĂ€chst mĂŒssen alle Arten von Lasten bestimmt und entschieden werden, ob verschiedene Berechnungspools innerhalb verschiedener Cluster kombiniert oder getrennt werden sollen.
Anschließend wird fĂŒr jeden der bestimmten Cluster das VerhĂ€ltnis von GB / MHz bei bekannter Last festgelegt. Wenn die Last nicht im Voraus bekannt ist, aber eine ungefĂ€hre Vorstellung vom Auslastungsniveau der Rechenleistung besteht, können standardisierte VerhĂ€ltnisse von vCPU:pCPU verwendet werden, um die Anforderungen der Pools in physische Ressourcen zu ĂŒbersetzen.

FĂŒr jeden Cluster teilen wir die Summe der Anforderungen der vCPU-Pools durch den Koeffizienten:
vCPUsumme / vCPU:pCPU = pCPUsumme – benötigte Anzahl physischer Kerne
pCPUsumme / 1.25 = pCPUht – Anzahl der Kerne unter BerĂŒcksichtigung des Hyper-Threadings
Angenommen, wir mĂŒssen einen Cluster mit 190 Kernen / 3,5 TB RAM berechnen. Dabei nehmen wir eine Zielauslastung von 50 % fĂŒr die Rechenleistung und 75 % fĂŒr den RAM an.

pCPU
190
CPU-Auslastung
50%

Mem
3500
RAM-Auslastung
75%

Sockel
Kern
Srv / CPU
Srv RAM
Srv / RAM

2
6
25,3
128
36,5

2
8
19,0
192
24,3

2
10
15,2
256
18,2

2
14
10,9
384
12,2

2
18
8,4
512
9,1

In diesem Fall verwenden wir immer die Rundung auf die nÀchste ganze Zahl nach oben (=ROUNDUP(A1;0)).
Aus der Tabelle wird offensichtlich, dass mehrere Serverkonfigurationen den Zielvorgaben entsprechen:
— 26 Server 2*6c / 192 GB
— 19 Server 2*10c / 256 GB
— 10 Server 2*18c / 512 GB

Die Auswahl aus diesen Konfigurationen sollte basierend auf zusĂ€tzlichen Faktoren erfolgen, wie zum Beispiel dem WĂ€rmepaket und der verfĂŒgbaren KĂŒhlung, bereits genutzten Servern oder den Kosten.

Besonderheiten der Serverkonfiguration

Breite VMs. Bei der Notwendigkeit, breite VMs (vergleichbar mit 1 NUMA-Knoten und mehr) unterzubringen, wird empfohlen, nach Möglichkeit Server auszuwĂ€hlen, die es diesen VMs ermöglichen, innerhalb eines NUMA-Knotens zu bleiben. Bei einer großen Anzahl von breiten VMs besteht die Gefahr der Fragmentierung der Clusterressourcen, und in diesem Fall werden Server ausgewĂ€hlt, die eine möglichst dichte Unterbringung breiter VMs ermöglichen.

GrĂ¶ĂŸe der DomĂ€ne einzelner AusfĂ€lle.

Die Auswahl der ServergrĂ¶ĂŸe erfolgt ebenfalls nach dem Prinzip der Minimierung der DomĂ€ne einzelner AusfĂ€lle. Zum Beispiel bei der Auswahl zwischen:
— 3 x 4*10c / 512 GB
— 6 x 2*10c / 256 GB
Bei gleichbleibenden Bedingungen sollte die zweite Option gewÀhlt werden, da beim Ausfall eines Servers (oder wÀhrend der Wartung) nicht 33 % der Clusterressourcen verloren gehen, sondern nur 17 %. Ebenso wird die Anzahl der VMs und IS, die von dem Vorfall betroffen sind, halbiert.

Berechnung der klassischen SAN nach Leistung

Design des virtualisierten Rechenzentrums

Eine klassische SAN wird immer nach dem schlechtesten Szenario (worst case scenario) berechnet, wobei der Einfluss des Arbeitsspeichers und die Optimierung der VorgÀnge ausgeschlossen werden.
Als Basisleistungskennzahlen nehmen wir die mechanische Leistung von der Festplatte (IOPSdisk):
— 7,2k – 75 IOPS
— 10k – 125 IOPS
— 15k – 175 IOPS

Anschließend wird die Anzahl der Festplatten im Festplattenspeicher mit der folgenden Formel berechnet: = TotalIOPS * ( RW + (1 –RW) * RAIDPen) / IOPSdisk. Wo:
— TotalIOPS – die insgesamt benötigte Leistung in IOPS aus dem Festplattenspeicher
— RW – der prozentuale Anteil der LesevorgĂ€nge
— RAIDpen – RAID-Strafmaß fĂŒr das gewĂ€hlte RAID-Level

Weitere Informationen ĂŒber RAID-GerĂ€te und RAID-Strafmaß finden Sie hier — Leistung der SAN. Teil eins. und Leistung der SAN. Teil zwei. und Leistung der SAN. Teil drei.

Aus der erhaltenen Anzahl von Festplatten werden mögliche Optionen berechnet, die den Anforderungen an die SpeicherkapazitĂ€t entsprechen, einschließlich Optionen mit mehrstufiger Speicherung.
Die Berechnung von Systemen unter Verwendung von SSDs als Speicherebene wird gesondert betrachtet.
Besonderheiten der Berechnung von Systemen mit Flash Cache

Flash Cache – ein allgemeiner Begriff fĂŒr alle proprietĂ€ren Technologien zur Nutzung von Flash-Speicher als zweiter Cache-Ebene. Bei Verwendung von Flash-Cache wird der SAN in der Regel zur Sicherstellung der etablierten Last von magnetischen Festplatten berechnet, wĂ€hrend die Spitzenlast vom Cache bedient wird.
Dabei ist es notwendig, das Lastprofil und das Maß der Lokalisation von Anfragen an die Speicherblöcke zu verstehen. Flash-Cache ist eine Technologie fĂŒr Arbeitslasten mit hoher Lokalisierung von Anfragen und ist nahezu nicht anwendbar fĂŒr gleichmĂ€ĂŸig belastete Volumes (wie beispielsweise bei Analysesystemen).

Berechnung hybrider Systeme fĂŒr den unteren / mittleren Markt

Hybride Systeme der unteren und mittleren Klasse verwenden mehrstufige Speicherung mit einer Datenbewegung nach Zeitplan. Dabei betrĂ€gt die BlockgrĂ¶ĂŸe der mehrstufigen Speicherung bei den besten Modellen 256 MB. Diese Eigenschaften lassen nicht zu, die Technologie der mehrstufigen Speicherung als technologie zur Leistungssteigerung zu betrachten, wie viele fĂ€lschlicherweise annehmen. Die mehrstufige Speicherung in Systemen der unteren und mittleren Klasse ist eine Technologie zur Optimierung der Speicherkosten fĂŒr Systeme mit ausgeprĂ€gter ungleichmĂ€ĂŸiger Last.

Bei der mehrstufigen Speicherung wird in erster Linie die Leistung der obersten Ebene berechnet, wĂ€hrend die untere Speicherebene lediglich als ErgĂ€nzung zur fehlenden SpeicherkapazitĂ€t betrachtet wird. FĂŒr hybride mehrstufige Systeme ist der Einsatz von Flash-Cache-Technologie fĂŒr den mehrstufigen Pool unerlĂ€sslich, um die Leistungseinbußen bei plötzlich angeforderten Daten aus der unteren Ebene auszugleichen.

Einsatz von SSDs in mehrstufigen Festplattenspeicher-Pools

Design des virtualisierten Rechenzentrums

Der Einsatz von SSDs in mehrstufigen Festplattenspeicher-Pools variiert je nach den Besonderheiten der Implementierung von Flash-Cache-Algorithmen des jeweiligen Herstellers.
Allgemeine Praxis der Speicherpolitik fĂŒr einen Festplattenspeicher-Pool mit SSD-Ebene — SSD zuerst.
Nur-Lese-Flash-Cache. FĂŒr den Nur-Lese-Flash-Cache tritt die Speicherebene auf der SSD bei erheblicher Lokalisierung von Schreiboperationen unabhĂ€ngig vom Cache auf.
Lese-/Schreib-Flash-Cache. Bei einem schreibe-Flash-Cache wird zunĂ€chst die maximale Cache-GrĂ¶ĂŸe festgelegt, die Speicherebene auf der SSD tritt jedoch nur auf, wenn die Cache-GrĂ¶ĂŸe zur BewĂ€ltigung der gesamten lokalisierten Last nicht ausreicht.
Die Berechnung der Leistung von SSD und Cache erfolgt jedes Mal gemĂ€ĂŸ den Empfehlungen des Herstellers, jedoch immer fĂŒr den schlechtesten Fall.

Quelle: habr.com

60GB SSD 8Gb DDR4