Cephs Rados-Designprinzipien und -Implementierung Kapitel 4: OSD, der Eckpfeiler der Speicherung

OSD ist im Wesentlichen ein Prozess, der das Betriebssystem überschreibt. Es verfügt über Ressourcen wie CPU, Speicher und Netzwerkbandbreite. Es wird zur Implementierung der Objektspeicherung verwendet und ist mit verschiedenen Arten von Dateisystemen kompatibel.

Die OSDs nutzen das Cluster-Netzwerk, um sich gegenseitig zu überwachen und Ausfälle zeitnah an den Monitor zu melden. Nachdem der Monitor die OSDMap geändert hat, geben die OSDs die neueste OSDMap Punkt-zu-Punkt aneinander weiter.

1. Clusterverwaltung

Das OSD muss regelmäßig mit dem Monitor kommunizieren, seine eigene Situation melden, die neueste OSDMap aktualisieren und seine eigene Kapazitätsnutzung, Schlüssel usw. an den Monitor melden. Daher kapselt der OSD-Prozess die Monitor-Client-Komponente intern und ist daran gewöhnt mit dem Monitor kommunizieren.

2. Netzwerkkommunikation

Die Netzwerkkommunikationskomponente Messenger umfasst öffentliche Netzwerke und Clusternetzwerke.

3.OSD einschalten

Die Startdaten von Objectstore werden auf der Festplatte gespeichert. Sie werden zuerst ausgelesen und authentifiziert, und dann wird der Superblock von Objectstore im Speicher ausgelesen, dh der Objectstore wird gemountet. Alles ist normal (OSD verfügt über ausreichende Berechtigungen, entspricht der Cluster-UUID und hat eine korrekte Versionsnummer usw.) Nach dem Bestehen muss die OSDMap mit dem Monitor synchronisiert werden. Da die OSDMap immer noch aktualisiert wird, wenn das OSD ausgeschaltet ist, ist die Version der OSDMap nach dem Das eingeschaltete OSD kann um eine bestimmte Zahl von der neuesten Version des Monitors abweichen. Daher muss der Monitor zusätzlich zum OSD über seinen eigenen Status in der OSDMap informiert werden. Wechseln Sie zu UP (da das OSD eingeschaltet wurde). Gleichzeitig muss der Monitor auch die Inkremente (bis zu 40) mehrerer Versionen der OSDMap, die beim Ausschalten des OSD fehlten, an das OSD senden, um die lokale OSDMap des OSD zu aktualisieren.

4.OSD-Fehlererkennung

Vier Zustände: Up, Down, In, Out.
Drei Erkennungsmethoden: autonome Berichterstellung, Heartbeat-Erkennung, Watchdog (regelmäßiges Senden von Nachrichten an den Monitor, um ihn am Leben zu halten).
Nachdem erkannt wurde, dass das OSD Down ist, wird es nach 600 Sekunden auf Out gesetzt . Die betroffenen PGs begannen zu migrieren.

5.OSD räumliche Statistiken

Vier Stufen: NearFull, BackFull (verhindert die PG-Migration vom Schreiben ins OSD), Full (verhindert das Schreiben ins OSD), Failsafefull (verhindert das Schreiben, um die letzte Barriere der OSD-Vollständigkeit aufgrund der Verzögerung der Vollmarkierung zu umgehen)

Gesamter Speicherplatz im Speicherpool = genutzter Speicherplatz im Speicherpool + maximal verfügbarer Speicherplatz im Speicherpool

Die Berechnungsformel für den maximal verfügbaren Speicherplatz des Speicherpools lautet: min{ [OSD-Kapazität – reservierter Speicherplatz (fünf Prozent)] / Anteil des OSD an der Gesamtkapazität des Speicherpools / Anzahl der Speicherpoolkopien}
wobei die OSD-Kapazität / der Anteil des OSD = Die Summe der Kapazitäten aller OSDs im Speicherpool

Die Formel zur Berechnung des genutzten Speicherplatzes des Speicherpools lautet: Summe des genutzten Speicherplatzes aller OSDs im Speicherpool / Anzahl der Kopien

Tatsächlich basiert die obige Berechnungsformel für den maximal verfügbaren Speicherplatz des Speicherpools auf der Prämisse einer ausgewogenen Datenverteilung. Da es sich um eine Mindestgröße handelt, sind die geschriebenen Daten nicht gleichmäßig, wenn zwei Festplatten mit derselben Kapazität als zwei OSDs verwendet werden Verteilt. min verwendet immer den Wert mit dem größten belegten Platz, um den maximal verfügbaren Platz zu berechnen, was dazu führt, dass der berechnete maximal verfügbare Platz zu klein ist.

Ich denke du magst

Origin blog.csdn.net/mxy990811/article/details/135368901
Empfohlen
Rangfolge