Zum Inhalt springen
EuroVPSEuroVPS

Ein Switch kann sterben, und Ihr Storage liefert weiter

Die Platte Ihrer VM liegt auf einem dedizierten Array, erreichbar über zwei Storage-Netzwerke, die nichts teilen. Beide sind jederzeit aktiv, sodass ein toter Switch, ein gezogenes Kabel oder ein ganzes Netzwerk, das zur Wartung herausgenommen wird, für die Workload kein Ereignis ist.

Von EuroVPS EngineeringDer Maschinenraum

5 Min. Lesezeit
In diesem Artikel 4 Abschnitte
Kurz gesagt
  • Jeder Host in unserem SAN erreicht seinen Storage über zwei vollständig unabhängige Fibre-Channel-Fabrics, mit getrennten Switches, im Active/Active-Betrieb.
  • Ein Switch, ein Kabel oder ein Port kann ausfallen, und Ihre LUN liefert über den anderen Pfad weiter. Beide Pfade tragen ständig Produktions-I/O, es gibt also kein Standby, das aufwachen müsste, und keinen Cutover, den es zu überstehen gälte.
  • RAID in einem einzelnen Server deckt einen Ausfall ab, eine tote Platte. Alles andere in dieser Kiste reißt Ihren Storage mit sich.
  • Das Design erlaubt, eine ganze Fabric außer Betrieb zu nehmen, während jede virtuelle Maschine auf der anderen weiterläuft.

Die Platte, auf die Ihre Workload schreibt, lebt nicht im Server, der sie ausführt. Sie lebt auf einem Storage-Array ein Netzwerk entfernt, und dieses Netzwerk kann ausfallen wie alles andere: Switches sterben, Kabel werden gezogen, Ports beginnen zu flappen. Was entscheidet, ob Ihre Workload je etwas davon merkt, ist, ob es einen zweiten Weg zur Platte gibt, und ob dieser zweite Weg wirklich vom ersten getrennt ist.

Multipath gibt jedem Host zwei aktive Wege zu seiner LUN

Eine LUN ist das Blockgerät, das Ihre virtuelle Maschine als ihre Platte sieht. In einem SAN lebt diese Platte außerhalb des Servers, der Ihre Workload ausführt, auf einem dedizierten All-Flash-Array mit zwei Controllern, und der Server erreicht sie über ein Storage-Netzwerk. Multipath bedeutet, dass der Server mehr als eine physische Route zu derselben LUN gleichzeitig hält, über verschiedene Ports, verschiedene Kabel und verschiedene Switches.

Active/Active bedeutet, dass beide Routen jede Sekunde des Tages Verkehr tragen. Ein Standby-Pfad, der nur bei einem Ausfall aufwacht, ist ein Pfad, den Sie nie wirklich getestet haben, und der Ausfall ist der schlechtestmögliche Moment für seinen ersten Test. Wenn beide Pfade ständig Live-I/O tragen, bleibt beim Verlust des einen der andere einfach mit der ganzen Arbeit zurück, von der er schon die Hälfte gemacht hat. Die Workload sieht nichts, denn von dort, wo sie sitzt, ist nichts passiert.

DER WEG ZU IHRER LUN
HOST ZUM ARRAY

Zwei HBA-Ports am Host

GETRENNTE PORTS

Zwei Kabel, auf zwei getrennten Wegen

GETRENNTE KABEL

Zwei Switches, einer pro Fabric

GETRENNTE SWITCHES

Zwei Fibre-Channel-Fabrics, beide Active/Active

NICHTS GETEILT
Eines zu verlieren ist Subtraktion, kein Cutover.

Die beiden Fabrics teilen keinen Switch, also kann ein Fehler nicht von einer zur anderen übergreifen

Zwei Pfade durch denselben Switch sind ein Pfad mit zwei Etiketten. Was den Switch tötet, tötet beide. Echte Unabhängigkeit bedeutet, dass die beiden Fabrics als zwei getrennte Netzwerke mit getrennten Switches gebaut sind und nichts im Datenpfad zwischen Host und Array in beiden vorkommt. Ein Fehler in einer Fabric, ob toter Switch, flappender Port oder überlasteter Link, hat keinen Ort, an den er sich ausbreiten könnte. Die zweite Fabric erfährt nichts davon.

WAS EINE FABRIC IST

Eine Fibre-Channel-Fabric ist das geswitchte Netzwerk zwischen Servern und Storage-Arrays, das Storage-Gegenstück zu Ihrem LAN. Zwei davon zu betreiben, vollständig getrennt, bedeutet, dass Ihr Storage-Verkehr immer ein zweites Netzwerk hat, auf dem er leben kann. Die teuren Ausfälle im Storage-Networking sind selten saubere Tode. Es sind Links, die up bleiben, aber stocken, und Unabhängigkeit ist das, was diese Art von Krankheit auf eine Seite beschränkt hält.

EIN BACKBONE-SWITCH STIRBT
ZWEI PFADE, EIN SWITCH
Switch stirbt
Beide Pfade weg
LUN offline
Workload down
Warten auf Wiederherstellung
ZWEI UNABHÄNGIGE FABRICS
Switch stirbt
Die andere Fabric trägt es
Zwei Pfade durch denselben Switch teilen seinen schlechten Tag. Zwei Fabrics, die nichts teilen, tun das nicht.

RAID in einem Server stirbt mit dem Server

RAID auf einer Controller-Karte in Ihrem Server schützt Sie vor genau einer Sache, einer toten Platte, und darin ist es gut. Aber die Platten, die RAID-Karte, die Backplane, die Netzteile und das Mainboard leben alle in derselben Kiste, und die Kiste ist die Failure Domain. Wenn irgendetwas anderes darin stirbt, ist Ihr Storage mit weg, und er kommt zurück, wenn der Server zurückkommt. Fällt die RAID-Karte selbst aus, sind die gesündesten Platten der Welt unerreichbar.

Ein SAN holt die Platte aus der Failure Domain der Maschine heraus, die sie benutzt. Ihr Server kann sterben, und die LUN, auf die er eine Sekunde zuvor geschrieben hat, ist noch da, intakt und im Betrieb, bereit dafür, dass die Workload auf einem anderen Host wieder hochkommt. Das Dual-Fabric-Design dehnt dieselbe Idee auf den Weg dazwischen aus: Auch der Pfad zu Ihrem Storage darf ausfallen, deshalb haben wir zwei gebaut.

Was ausfälltWas Ihre Workloads sehen
Ein Kabel oder ein PortDie LUN liefert über den anderen Pfad weiter. Kein Cutover, kein Neustart.
Ein ganzer SwitchDie zweite Fabric trägt alles. Nichts wacht auf oder schaltet um.
Eine ganze Fabric, zur Wartung außer BetriebJeder Host behält einen guten Pfad auf der gesunden Fabric, während die Arbeit stattfindet.
Ein Storage-Controller-KnotenDer zweite Controller liefert weiter, während die Hardware getauscht wird.
Der Server selbstDie LUN überlebt ihn. Die Workload startet auf einem anderen Host neu und findet ihre Platte dort, wo sie sie verlassen hat.

Eine ganze Fabric unter laufenden Workloads außer Betrieb nehmen

Wenn eine Fabric Wartung braucht, ist das Vorgehen unspektakulär: bestätigen, dass jeder Host einen guten Pfad auf der anderen Fabric hält, die Fabric außer Betrieb nehmen, die Arbeit erledigen, dann bewusst wieder einführen. Virtuelle Maschinen laufen auf einer Fabric, während die Arbeit stattfindet, und sehen nichts. Das ist die richtige Menge Drama für Storage-Wartung.

Dieselbe Haltung gilt auf der Array-Seite. Die Arrays haben zwei Controller: Ein Controller kann gewartet werden, während der andere weiterliefert. Hardware wird in unserem SAN so gewartet, wie es überall sein sollte: während das, wozu sie gehört, weiter seine Arbeit tut.

Klare Antworten

Ist Active/Active nur ein schöneres Wort für Failover?+

Nein. Ein Failover-Design hält einen zweiten Pfad untätig, bis der erste stirbt, und versucht dann einen Cutover unter den schlechtesten Bedingungen des Tages. Active/Active bedeutet, dass beide Fabrics ständig Produktions-I/O tragen, sodass ein Ausfall einen funktionierenden Pfad entfernt, während der andere funktionierende Pfad weitermacht. Es gibt kein Cutover-Ereignis zu überstehen und kein Standby, das während Ihres Vorfalls seinen ersten Test bekommt.

Mein Server hat RAID-10. Ist das derselbe Schutz?+

RAID im Server schützt Ihre Daten vor einer toten Platte, und nur davor. Die RAID-Karte, die Backplane, die Netzteile und der Server selbst bleiben Single Points of Failure, und Ihr Storage teilt ihr Schicksal. In einem SAN überlebt der Storage den Tod des Servers, der ihn benutzt, und mit zwei Fabrics überlebt er auch den Tod des Weges dazwischen.

Was, wenn das ganze Array ausfällt, oder der ganze Standort?+

Andere Fehlerklasse, andere Werkzeuge. Dieser Beitrag behandelt die Pfade zwischen einem gesunden Host und einem gesunden Array, dort, wo die alltäglichen Ausfälle leben. Den Verlust eines Arrays oder eines Standorts zu überleben ist ein Gespräch über Wiederherstellung, und das haben wir separat aufgeschrieben: wie viel Datenverlust und Ausfallzeit Ihr Unternehmen ehrlich verkraften kann.

Woher weiß ich, dass beide Pfade tatsächlich funktionieren, bevor einer ausfällt?+

Weil beide Fabrics ständig Live-I/O tragen, ist ein toter Pfad kein stiller Zustand: In dem Moment, in dem eine Seite keinen Verkehr mehr bewegt, taucht das im Monitoring auf. Und jede Wartung beginnt auf dieselbe Weise, indem bestätigt wird, dass jeder Host einen guten Pfad auf der verbleibenden Fabric hält, bevor irgendetwas außer Betrieb genommen wird.

Fragen Sie einen Ingenieur, worauf Ihr Storage tatsächlich steht

Die Menschen, die die Fabrics entwerfen und betreiben, sind dieselben, die antworten. Bringen Sie Ihre aktuelle Umgebung mit, und wir sagen Ihnen klar, was was überlebt.

Mit einem Ingenieur sprechen

Tote Switches, gezogene Kabel und Controller-Wartung sind die Ausfälle, die dieses Design aus dem Verkehr zieht. Ein ganzes Array oder einen ganzen Standort zu verlieren ist eine andere Fehlerklasse, und die beginnt beim Gespräch über Wiederherstellung. Wenn Sie Anbieter bewerten, stehen die Storage-Fragen, die Sie jedem stellen sollten, auch uns, in das schmutzige Geheimnis Ihres Anbieters ist sein Storage.

Sie haben das Ende erreicht.

Setzen Sie das Gelesene um

Was betreiben Sie?

Erzählen Sie uns von Workload, Traffic und Anforderungen an die Wiederherstellung. Beginnen Sie mit dem Server-Konfigurator oder besprechen Sie die Details mit einem Ingenieur.

Geschrieben von den Ingenieuren, die die beschriebene Infrastruktur bauen und betreiben.
Mit einem Ingenieur sprechen
XIn

Noch 5 Min.