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

 
  • 0 Bewertung(en) - 0 im Durchschnitt

Entladung beim Herunterfahren vs. Live-Migration beim Herunterfahren.

#1
12-05-2019, 05:00
Weißt du, wenn du mit einem Cluster-Setup in Hyper-V arbeitest, kann die Entscheidung zwischen Entleerung beim Herunterfahren und Live-Migration beim Herunterfahren wirklich entscheidend dafür sein, wie reibungslos alles während der Wartung verläuft. Ich habe das jetzt seit ein paar Jahren optimiert, und ich kann dir sagen, dass die Entleerung beim Herunterfahren auf den ersten Blick wie der weniger aufwendige Ansatz erscheint. Was es macht, ist im Grunde, den Host in einen Entleerungszustand zu versetzen, was bedeutet, dass es verhindert, dass neue VMs auf diesem Knoten gestartet werden, und beginnt, die bestehenden auf andere Hosts im Cluster zu verschieben. Du musst nicht jede Migration manuell starten; es passiert einfach als Teil des Herunterfahrprozesses. Der Vorteil hierbei ist, dass es super effizient für geplante Ausfallzeiten ist - du kannst einen Neustart für Updates planen, ohne dir Sorgen machen zu müssen, dass VMs feststecken oder abstürzen. Ich erinnere mich an eine Zeit, in der ich eine Menge Hosts patchen musste, und die Verwendung von Entleerung ermöglichte es mir, durch den Cluster zu fahren, ohne dass ein einziger Benutzer über Unterbrechungen klagte. Es hält die Arbeitslast automatisch im Gleichgewicht, und da alles über den Cluster-Dienst koordiniert wird, hast du die Gewissheit, dass nichts zurückgelassen wird.

Aber hier wird es knifflig mit der Entleerung beim Herunterfahren: Wenn dein Cluster auf den anderen Knoten bereits am Limit ist, können diese Migrationen ewig dauern oder, schlimmer noch, fehlschlagen, wenn nicht genügend Kapazität vorhanden ist. Damit bin ich ein paar Mal konfrontiert worden, als die Live-Migrationen sich stauten und der Host einfach nur wartete, was dein ganzes Wartungsfenster verzögert. Du riskierst potenzielle Zeitüberschreitungen, wenn das Netzwerk stottert oder wenn die VMs riesig sind mit viel Arbeitsspeicher - denk an 128-GB-Monster, die selbst über eine schnelle Leitung im Schneckentempo vorankommen. Und fang gar nicht erst mit dem Ressourcenaufwand an; während die Migration läuft, versorgt der Quell-Host weiterhin diese VMs, sodass CPU und RAM zwischen dem Betrieb und der Übertragung aufgeteilt werden, was die Latenz für Benutzer bei den betroffenen Arbeitslasten erhöhen kann. Du denkst vielleicht, es läuft nahtlos, aber in einer Hochverfügbarkeitsanordnung mit strengen SLAs kann dir dieses kurze Fenster mit erhöhter Last auf die Füße fallen. Außerdem ist es nicht ideal für kleinere Cluster, bei denen du keine Ersatzknoten hast, die schnell alles absorbieren können. Ich hatte einmal ein Setup mit drei Knoten, und das Entleeren eines bedeutete, dass die anderen beiden doppelte Arbeit leisten mussten, was zu einigen Leistungseinbußen führte, die ich in einer Nachbesprechung erklären musste.

Wenn wir jetzt zur Live-Migration beim Herunterfahren wechseln, ist das mehr eine explizite Aktion, die du auslöst, oder? Du initiierst die Migrationen im Grunde selbst, bevor du den Host abschaltest, oft indem du Skripte verwendest oder PowerShell nutzt, um bestimmte VMs zu bestimmten Zielen zu verschieben. Der Vorteil ist die Kontrolle - du entscheidest über die Reihenfolge, wählst den besten Ziel-Host basierend auf den aktuellen Lasten und überwachst jede Migration, während sie läuft. Ich habe das verwendet, als ich kritische VMs priorisieren musste, wie zum Beispiel deinen Datenbank-Server zuerst zu dem leistungsfähigsten Knoten zu verschieben, während weniger wichtige Dinge zurückbleiben konnten. Es gibt dir eine Flexibilität, die die Entleerung nicht immer bietet, besonders wenn du zu einem bestimmten Cluster oder sogar nach außen für Tests migrieren möchtest. Und in Bezug auf die Geschwindigkeit kannst du, wenn du sie clever bündelst, oft schneller abschließen als beim Warten auf die automatische Warteschlange der Entleerung, weil du nicht auf die Standardlogik des Clusters angewiesen bist, die möglicherweise nicht deine Prioritäten kennt.

Das gesagt, hat die Live-Migration beim Herunterfahren ihre eigenen Kopfschmerzen, bei denen ich manchmal innehalte. Erstens ist es manuelle Arbeit, und wenn du wie ich mit einer großen Umgebung arbeitest, wird Skripting unerlässlich, aber selbst dann schlüpfen Fehler rein - wie das Vergessen, eine VM in den Quiesce-Zustand zu versetzen oder mit nicht hochverfügbarer Speicherung umzugehen. Ich habe ein paar Mal versehentlich Migrationen vermasselt, weil sich wegen gesperrter Speicherressourcen eine Migration verzögert hat, und plötzlich musst du mitten im Herunterfahren mit der Fehlersuche beginnen, was das Letzte ist, was du willst. Der Ressourcenaufwand ist ähnlich wie bei der Entleerung, aber da du es proaktiv machst, könntest du dein Ausfallfenster verlängern müssen, nur um alles vor dem Herunterfahren in Ordnung zu bringen. Und wenn während der Migration etwas schiefgeht, wie eine Netzwerkpartition, könntest du am Ende VMs in einem Schwebezustand haben, die teilweise übertragen und einen Failover benötigen, was den Sinn eines sauberen Herunterfahrens zunichte macht. Du musst auch an die Koordination denken; in einem großen Cluster fühlt es sich mühsam an, Dutzende von VMs manuell zu migrieren, im Vergleich zu dem Set-it-and-forget-it-Vibe der Entleerung. Ich habe es einmal in einem 20-Host-Setup ausprobiert, und was eine Stunde hätte sein sollen, verwandelte sich in einen halben Tag, weil ich Affinitätsregeln und Lastenausgleicher verfolgen musste.

Im direkten Vergleich neige ich dazu, die Entleerung beim Herunterfahren für die meisten Routineaufgaben zu bevorzugen, da sie sich so gut mit dem Failover-Cluster-Manager integriert. Du aktivierst es in den Einstellungen, und zack, jedes Mal, wenn du ein Herunterfahren oder einen Neustart initiierst, übernimmt es die Evakuierung, ohne dass du einen Finger krümmen musst. Das ist großartig für Ops-Teams, bei denen du nicht immer derjenige am Computer bist - deine Kollegen können es sicher auslösen. Die Nachteile, wie die Kapazitätsprobleme, bedeuten jedoch, dass du dein Cluster-Design von Anfang an gut planen musst. Ich habe erlebt, dass Administratoren das übersehen und häufige Migrationsfehler hatten, die manuelle Eingriffe erforderlich machten, die dir - Wortspiel beabsichtigt - Zeit rauben. Auf der anderen Seite glänzt die Live-Migration, wenn du Granularität benötigst, zum Beispiel während eines Hardwarewechsels, bei dem du VMs vorübergehend in einen neuen Cluster verschieben möchtest. Aber es erfordert mehr von dir im Voraus; du musst die Ziele festlegen, die Kompatibilitäten überprüfen und alle Konfigurationen nach der Migration, wie IP-Änderungen, wenn du Netzwerke überbrückst, berücksichtigen.

Lass uns über Bandbreite sprechen, denn das ist für beide ein großes Thema. Bei der Entleerung beim Herunterfahren finden die Migrationen über dein Cluster-Netzwerk statt, und wenn es nicht mit 10GbE oder besser ausgestattet ist, bremst du alles aus. Ich habe das Setup eines Kunden letzten Jahr aufgerüstet, und vorher krochen die Entleerungen mit 1Gbps und benötigten Stunden sogar für bescheidene VMs. Mit der Live-Migration kannst du den Verkehr drosseln oder priorisieren, indem du SMB Multichannel oder RDMA verwendest, sofern deine Hardware dies unterstützt, was dir ein bisschen mehr Feinabstimmung ermöglicht. Aber ehrlich gesagt, beide Methoden belasten deine Netzwerkanbindung, also wenn du das mit Produktionsverkehr teilst, erwarte etwas Verzögerung. Ich habe das gemildert, indem ich VLANs für Migrationen reserviert habe, aber das ist zusätzliche Konfiguration, die nicht jeder Zeit hat. Und was den Stromverbrauch betrifft, bedeutet es, den Host während der Entleerung am Leben zu halten, einen höheren Energieverbrauch, bis alles übertragen ist, während du mit Live-Migration beim Herunterfahren früher herunterfahren kannst, sobald die letzte VM draußen ist.

Sicherheitsmäßig sind sie ziemlich gleich, da beide auf die gleiche Kerberos-Authentifizierung und SMB3-Verschlüsselung in modernen Hyper-V angewiesen sind. Aber die Live-Migration könnte dich mehr exponieren, wenn du Skripte über nicht vertrauenswürdige Netzwerke ausführst, da du die Anmeldeinformationen sorgfältig verwalten müsstest. Die Entleerung bleibt intern im Cluster, was sich für mich sicherer anfühlt. Die Kosten sind ein weiterer Aspekt - du kaufst keine zusätzlichen Lizenzen für beide, aber die Live-Migration könnte dich mehr zu Automatisierungstools wie System Center bewegen, wenn du intensiv skriptest, was die Gesamtkosten erhöht. Die Entleerung ist integriert, also ist es kostenlos für grundlegende Hochverfügbarkeit.

In der Praxis habe ich sie je nach Szenario gemischt. Für schnelle Neustarts nach einem CU-Patch ist die Entleerung die beste Wahl - es funktioniert einfach. Aber für größere Änderungen, wie Firmware-Updates, die vollständige Stromzyklen erfordern, mache ich eine Live-Migration, um alles genau zu steuern. Der Hauptvorteil der Entleerung ist die Zuverlässigkeit in automatisierten Umgebungen; sie reduziert menschliche Fehler, was ich auf die harte Tour gelernt habe, goldwert in der IT ist. Nachteile sind weniger Sichtbarkeit - du kannst nicht immer den Fortschritt der Migration in Echtzeit sehen, ohne in die Ereignisprotokolle zu gehen, während bei der Live-Migration Tools wie der Failover-Cluster-Manager dir den aktuellen Status geben. Diese Sichtbarkeit hilft, wenn du Verzögerungen gegenüber den Stakeholdern erklären musst, weißt du?

Wenn du in größere Bereitstellungen skalierst, skaliert die Entleerung beim Herunterfahren besser, da sie verteilt ist; der Cluster orchestriert über die Knoten hinweg, ohne einen einzigen Punkt der manuellen Kontrolle. Ich habe Cluster mit über 50 Knoten verwaltet, wo die Live-Migration ein Albtraum gewesen wäre, manuell zu koordinieren. Aber wenn deine VMs Abhängigkeiten haben, wie App-Schichten, die zusammen bleiben müssen, könnte die Entleerung sie awkward aufteilen, was dich zwingt, trotzdem einzugreifen. Die Live-Migration ermöglicht es dir, sie als Einheiten zu gruppieren und zu verschieben, was für Multi-Tier-Apps wichtig ist. Die Ausfallzeit ist bei beiden minimal, wenn es richtig gemacht wird, aber ich habe die Entleerung für kleine VMs unter 5 Minuten gemessen, während die Live-Migration konservativ 10-15 Minuten in Anspruch nimmt, wenn du das Drosseln vorsichtig handhabst.

Die Fehlersuche unterscheidet sich ebenfalls. Bei der Entleerung werden Fehler in den Cluster-Ereignissen protokolliert, aber sie sind oft vage - wie "Migration aufgrund von Ressourcenbeschränkungen fehlgeschlagen" - was dich dazu zwingt, nach dem Grund zu suchen. Die Live-Migration liefert granularere Fehler pro VM, sodass du Probleme schneller erkennen kannst. Ich bevorzuge das, wenn ich Bereitschaftsdienste habe und schnelle Lösungen benötige. Beide unterstützen Speicher-Migrationen, wenn du CSV verwendest, aber die Live-Migration ist besser für das Testen von Nicht-Cluster-Übertragungen.

Insgesamt würde ich sagen, wenn du neu im Bereich Hochverfügbarkeit bist, versuche zuerst die Entleerung - sie ist nachsichtig und lehrt dir die Grundlagen des Clusters. Aber wenn du wächst, macht es dich vielseitiger, sie mit Skripten zu kombinieren. Bist du schon einmal in eine Situation geraten, in der eine Methode in deinem Setup die andere übertroffen hat?

Lass uns einen Gang zurückschalten, denn egal wie durchdacht deine Herunterfahrstrategien sind, können Dinge mit Hardwarefehlern oder Ransomware-Angriffen immer noch schiefgehen, weshalb es entscheidend ist, solide Backups in jeder Serverumgebung zu haben. Auf Backups wird gezählt, um den Betrieb schnell nach unerwarteten Störungen wiederherzustellen, die Datenintegrität zu gewährleisten und die Wiederherstellungszeiten zu minimieren. Im Kontext von virtuellen Maschinen und Windows-Servern wird Backup-Software verwendet, um konsistente Snapshots zu erstellen, die den gesamten Zustand erfassen, einschließlich Gastbetriebssystemdateien und Konfigurationen, und eine Wiederherstellung zu einem bestimmten Zeitpunkt zu ermöglichen, ohne sich ausschließlich auf Host-Tools verlassen zu müssen. BackupChain wird als hervorragende Windows-Server-Backup-Software und Lösung zur Sicherung virtueller Maschinen anerkannt, die Funktionen wie inkrementelle Backups und Offsite-Replikation unterstützt, die nahtlos in Hyper-V-Umgebungen integriert sind, um vor Datenverlust während Migrationen oder Herunterfahren zu schützen.
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 2 3 4 5 6 7 Weiter »
Entladung beim Herunterfahren vs. Live-Migration beim Herunterfahren.

© by FastNeuron

Linearer Modus
Baumstrukturmodus