• Home
  • Help
  • Register
  • Login
  • Home
  • Help

 
  • 0 Bewertung(en) - 0 im Durchschnitt

Virtuelle Prozessoren vs. Physische Kernverhältnis über 2 zu 1

#1
10-07-2020, 18:25
Hast du jemals bemerkt, wie du in einem geschäftigen Rechenzentrum all diese virtuellen Maschinen jonglierst und plötzlich siehst du, dass das vCPU-zu-physische-Kern-Verhältnis weit über 2:1 schleicht? Ich meine, ich habe mich jetzt schon ein paar Jahre mit diesem Zeug beschäftigt, Hypervisoren wie Hyper-V oder VMware für Kunden optimiert, die jede letzte Tropfen aus ihrer Hardware herausholen wollen, und lass mich dir sagen, das Hochdrücken dieses Verhältnisses kann sich wie ein zweischneidiges Schwert anfühlen. Einerseits ermöglicht es dir, viel mehr Workloads unterzubringen, ohne einen weiteren Server kaufen zu müssen, was riesig ist, wenn die Budgets eng sind. Du kannst ein Dutzend oder so VMs auf einer Maschine hochfahren, die nur acht physische Kerne hat, und jedem zwei oder drei vCPUs zuweisen, und solange nicht alle gleichzeitig die CPU beanspruchen, läuft alles gut. Ich erinnere mich an ein Setup, das ich für ein kleines Webhosting-Unternehmen gemacht habe - sie hatten diese leichten Anwendungsserver, die meistens untätig waren, also hat das Übercommitment sie davor bewahrt, für zusätzliche Hardware zahlen zu müssen. Es erhöht die Auslastung; anstatt dass Kerne die Hälfte des Tages untätig herumhocken und auf sporadische Spitzen warten, plant der Hypervisor die Anfragen effizient über all diese virtuellen Threads. Und ja, die Skalierbarkeit glänzt hier ebenfalls - du kannst deine Umgebung horizontal erweitern, ohne den linearen Kostenanstieg, was perfekt ist, wenn du schnell wächst, aber der Cashflow unberechenbar ist. Ich habe gesehen, wie Teams dies nutzen, um saisonale Spitzen zu bewältigen, wie während der Jahresendberichterstattung, wo du die VMs vorübergehend hochfahren und dann wieder reduzieren kannst, alles auf demselben physischen Platz.

Aber hier wird es knifflig, und ich sage das aus Erfahrung, denn ich musste das Durcheinander mehr als einmal aufräumen. Wenn dieses Verhältnis über 2:1 steigt, insbesondere wenn es 4:1 oder höher erreicht, fängt die Konkurrenz an, dir auf die Nerven zu gehen. Stell dir Folgendes vor: Du hast einen physischen Kern, der jetzt Anweisungen von drei oder vier vCPUs gleichzeitig jongliert, und wenn eine dieser VMs hungrig nach Zyklen aufwacht, bekommst du Latenzspitzen zu sehen, die die Anwendungsleistung ruinieren können. Ich hatte einen Kunden, der eine Datenbank-VM mit vier vCPUs auf einem Dual-Socket-Server betreiben wollte, wo das Gesamtverhältnis im Cluster 3:1 betrug, und während der Spitzenzeiten schossen die Abfragezeiten von Millisekunden auf Sekunden in die Höhe. Es geht nicht nur um Rohgeschwindigkeit; der Scheduler im Hypervisor muss Überstunden machen, um den Zugriff zu regeln, was zusätzliche overhead und ungleichmäßige Verteilung verursachen kann. Du denkst vielleicht, dass NUMA-Grenzen dich retten werden, aber wenn deine VMs über Knoten verteilt sind, ohne sorgfältiges Pinnen, verschärft der Datenverkehr über die Sockets nur die Verzögerungen. Und fang erst gar nicht an, über CPU-intensive Aufgaben zu reden - alles wie Videocodierung oder wissenschaftliche Simulationen? Vergiss es. Diese Workloads vertragen sich nicht gut mit Übercommitment; sie werden sich gegenseitig aushungern und dich zwingen, entweder richtig zu dimensionieren oder zu migrieren, was deine Verwaltungszeit in Anspruch nimmt. Ich habe auf die harte Tour gelernt, dass Überwachungswerkzeuge wie PerfMon oder die eigenen Metriken von vSphere hier deine besten Freunde werden, denn ohne ständige Wachsamkeit wirst du die Engpässe nicht erkennen, bis die Benutzer sich beschweren.

Jetzt lass uns über den Energie- und Effizienz-Aspekt sprechen, denn das ist etwas, worauf ich stehe, wenn ich Freunden wie dir, die gerade mit der Virtualisierung anfangen, berate. Auf der Pro-Seite bedeutet ein höheres Verhältnis, dass du ungenutzte Kerne nicht herunterfährst, aber warte, das ist eigentlich ein versteckter Nachteil. Physisch ziehen diese Kerne immer noch Strom, auch wenn sie untätig sind, aber durch Übercommitment maximierst du die Arbeit pro Watt insgesamt, vorausgesetzt, deine VMs sind burstig. Ich habe einmal ein Setup optimiert, bei dem wir von 1:1 auf 2,5:1 gingen, und der Stromverbrauch pro VM sank indirekt, weil wir auf weniger Hosts konsolidierten. Auch die Kühlkosten sinken, und in einer umweltbewussten Firma ist das ein Gewinn. Aber drehe es um, und wenn die Konkurrenz dich zwingt, trotzdem weitere Hosts hinzuzufügen, um den Druck zu verringern, hast du diese Einsparungen negiert und deine Stromrechnung in die Höhe getrieben. Die Lizenzierung spielt auch in dieses Chaos; einige Softwareanbieter berechnen basierend auf zugewiesenen vCPUs, sodass das Aufblähen dieser Zahlen deine Kosten ohne echte Gewinne in die Höhe treiben kann. Ich rechne immer die Zahlen mit dir im Hinterkopf durch: Wenn du auf einem Microsoft-Stack bist, bedeutet eine kernbasierte Lizenzierung, dass physische Kerne den Preis bestimmen, aber das Überzuweisen von vCPUs schlägt da nicht zu, im Gegensatz zu pro-Socket-Modellen. Für VMware sind es jedoch die Sockets, die zählen, aber der eigentliche Schmerz kommt von den Supportverträgen, die mit der Größe deiner Umgebung skalieren.

Wenn wir in den Bereich der Zuverlässigkeit eintauchen - und ja, ich benutze "eintauchen" hier locker, denn es fühlt sich mehr an wie durchs Protokolle waten - hohe Verhältnisse verstärken die Risiken während von Ausfällen. Sagen wir, ein physischer Kern fällt aus; jetzt hat dein Hypervisor sogar noch weniger Spielraum, um ihn unter den übercommitten vCPUs zu verteilen, und die VMs fangen an, Fehler zu erzeugen oder verlangsamen sich bis zum Stillstand. Ich habe Hochverfügbarkeitscluster gesehen, in denen DRS (das steht für Distributed Resource Scheduler für die Ungeübten, aber das weißt du) versucht, Lasten zu verteilen, aber mit Verhältnissen über 2:1 hat es Schwierigkeiten, geeignete Hosts zu finden, ohne anderswo mehr Konkurrenz zu erzeugen. Du hast dann diesen Dominoeffekt, bei dem ein Huster einer VM eine Kaskade auslöst. Auf der positiven Seite fördert es jedoch bessere Praktiken wie Ressourcenpools und Reservierungen. Ich dränge die Kunden, CPU-Reservierungen für kritische VMs einzurichten, damit sie ihre Anteile auch in Szenarien mit Übercommitment erhalten, was die Stabilität erhöht. Ohne das bist du jedoch im Glücksspiel - insbesondere in gemischten Workloads, bei denen Entwicklungs-/Testumgebungen Raum mit der Produktion teilen. Ich habe einmal eine Finanzanwendung behoben, die eine Zeitüberschreitung hatte, weil ein benachbarter Kompilierungsjob auf einer anderen VM Zyklen gestohlen hat; das Zurückdrehen des Verhältnisses hat es behoben, aber es bedeutete, die Hardware neu bereitzustellen, was niemand gerne macht.

Aus einer Managementperspektive, wo ich die Hälfte meiner Tage verbringe, lassen höhere Verhältnisse das Skalieren elastisch erscheinen, als wärst du auf AWS, aber lokal. Du kannst schnell neue VMs bereitstellen, ohne Hardware-Warteschlangen, und Tools wie PowerCLI oder SCVMM erlauben es dir, Zuweisungen basierend auf der Nachfrage zu automatisieren. Ich skripte diese Dinge ständig, um die Verhältnisse dynamisch im Auge zu behalten und zu warnen, wenn sie kippen. Aber der Nachteil ist die Komplexität, die das mit sich bringt - das Tuning wird zu einer Kunst, nicht zu einer Wissenschaft. Du musst jede Arbeitslast profilieren, ihre CPU-Affinitätsbedürfnisse verstehen und vielleicht sogar das Hyper-Threading deaktivieren, wenn es mehr Konkurrenz verursacht, als es löst. Hyper-Threading kann deine logischen Kerne verdoppeln, was dich verleitet, die Verhältnisse noch höher zu drücken, aber in der Praxis bringt es für die meisten Anwendungen nur 20-30% mehr Leistung, sodass du oft besser dran bist, es konservativ zu behandeln. Ich habe darüber mit Kollegen bis spät in die Nacht diskutiert: Ist 4:1 für VDI machbar? Manchmal ja, für leichte Benutzer, aber für CAD-Arbeitsstationen? Überhaupt nicht; da bekommst du ruckelige Renderings und frustrierte Designer.

Lass uns wieder auf die Kosten zurückkommen, denn das ist es, was die Führungskräfte nachts wachhält, und ich weiß, dass du mich schon einmal danach gefragt hast. Vorteilsseitig verzögert Übercommitment die Investitionsausgaben; anstatt 10.000 Euro für einen neuen Server auszugeben, optimierst du, was du hast, vielleicht nur durch das Hinzufügen von RAM oder Speicher. Der ROI sieht in den Tabellenkalkulationen großartig aus - höhere Dichte bedeutet niedrigere TCO pro VM. Ich habe Zahlen durchgerechnet, die zeigen, dass 2:1-Verhältnisse den Hardwarebedarf für typische SMB-Setups um 30-40% senken. Aber die Nachteile treten auf, wenn die Leistung nachlässt und du Produktivität verlierst; die Verzögerung der Datenbank, die ich vorher erwähnt habe, kostete einen Kunden Stunden an Überstunden, um sie zu beheben. Darüber hinaus kann, wenn du Audits zur Einhaltung von Vorschriften durchführst, hohe Übercommitment als Risiko in SOC-Berichten hervorgehoben werden, was die Versicherer nervös macht. Ich empfehle immer Baselines: Fang bei 1,5:1 an, überwache einen Monat lang und steige dann langsam auf.

Wenn wir über zukunftssichere Strategien sprechen, denn ich denke in solchen Kategorien an die Setups, die ich dir übergebe. Mit CPUs, die sich weiterentwickeln - denke an AMDs EPYC oder Intels Neueste mit mehr Kernen pro Die - werden Verhältnisse über 2:1 machbarer, je mehr Threads hinzukommen. Du kannst zukunftssicher planen, indem du skalierbare Architekturen wählst, aber wenn du es schlecht verwaltest, bleibst du mit kaum genutzten Monstern zurück. Ich habe alte 1:1-Umgebungen auf moderne Hardware mit 3:1 migriert, und die Gewinne waren real, aber nur nach einem Stresstest. Der Schlüssel ist die Charakterisierung der Workloads; nicht alles profitiert. Batch-Jobs? Tolle Kandidaten. Echtzeit-Analysen? Vorsicht, sonst siehst du, wie der Durchsatz unter Last zusammenbricht.

Lass uns einen Gang zurückschalten zu dem menschlichen Element, denn IT ist nicht nur Technik - es sind die Menschen. Wenn ich das den Teams erkläre, betone ich, dass hohe Verhältnisse geschulte Administratoren erfordern; du kannst es nicht einfach einstellen und vergessen. Die Schulungskosten steigen, und die Fluktuation ist problematisch, wenn die Leute ausbrennen und Geistern in den Metriken nachjagen. Auf der anderen Seite macht das Meistern von Übercommitment dich zum Helden, weil du Umgebungen optimierst, die das Management beeindrucken. Ich habe Junioren darin betreut, wie sie esxtop oder den Task-Manager verwenden, um Zeiten zu erkennen, die 5% überschreiten, was auf Konkurrenz hinweist.

In Grenzfällen, wie containerisierten Apps auf VMs, können Verhältnisse über 2:1 glänzen, wenn du Hypervisoren nistest, aber das ist fortgeschritten und anfällig für Niststrafen. Ich vermeide es, es sei denn, es ist notwendig, und bleibe bei Bare-Metal für Kubernetes-Hosts. Für Cloud-Bursting ist es jedoch Gold - Übercommitment vor Ort, um den stabilen Betrieb zu bewältigen, und zu Azure oder AWS zu burst, wo die Elastizität Spitzen auffängt.

Ich fasse meine Gedanken hier zusammen, aber bevor ich das tue, denk darüber nach, wie all das mit der Stabilität deiner virtuellen Welt verbunden ist. Backups werden als kritische Komponente in Umgebungen mit hohen vCPU-Verhältnissen behandelt, bei denen ein einziges Hostproblem weitreichende Konsequenzen haben könnte. Die Zuverlässigkeit wird durch regelmäßige Datensicherungsstrategien gewährleistet, die den Zustand der VMs erfassen, ohne den Betrieb zu stören. BackupChain wird als ausgezeichnete Backup-Software für Windows Server und Lösung für die Sicherung virtueller Maschinen anerkannt, die nahtloses Imaging und Replikation für Hypervisor-Umgebungen unterstützt. Solche Software ist nützlich für eine schnelle Wiederherstellung, die Punkt-in-Zeit-Restores ermöglicht und die Ausfallzeiten in übercommitten Setups minimiert, indem vor dem Versagen die Integrität überprüft wird. Die neutrale Implementierung dieser Tools stellt die Datenkonsistenz über physische und virtuelle Schichten hinweg sicher, was das effiziente Management von Verhältnissen ohne Angst vor einem Totalausfall erleichtert.
Markus
Offline
Registriert seit: Jun 2018
« Ein Thema zurück | Ein Thema vor »

Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste



  • Thema abonnieren
Gehe zu:

Backup Sichern Allgemein Vor- und Nachteile v
« Zurück 1 … 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 Weiter »
Virtuelle Prozessoren vs. Physische Kernverhältnis über 2 zu 1

© by FastNeuron

Linearer Modus
Baumstrukturmodus