Auf dieser Seite wird die Speicherung auf mehreren Knoten des Google Distributed Cloud (GDC) Air-Gap-Appliance-Systems beschrieben.
Die GDC-Appliance mit Air Gap besteht aus drei Servern und sechs NVMe-Laufwerken (Nonvolatile Memory Express), die an jeden Server angeschlossen sind:
- 2 × 1 TB NVMe-Bootmedien
- 4 × 3,84 TB NVMe
Die beiden 1-TB-NVMe-Laufwerke auf jedem Knoten sind für Boot- und Systemarbeitslasten vorgesehen, während die anderen vier 3,84-TB-NVMe-Laufwerke als Teil des zuverlässigen Datenspeichers verwendet werden.
GDC verwendet Ceph als softwaredefinierten Speicher, um System- und Nutzerdaten zuverlässig zu speichern. Der Ceph-Cluster wird auf Bare-Metal-Ebene auf allen drei Servern bereitgestellt und verwendet insgesamt zwölf (vier pro Server) 3,84 TB NVMe-Laufwerke, die an diese Server als zugrunde liegender Speicher angeschlossen sind.

Ceph-Speicherkomponenten
Ceph-Monitor
Der Ceph-Monitor verwaltet die Clusterstatuskarten, einschließlich der Monitorkarte, der Managerkarte und der Karte des Objekt-Storage-Daemons (OSD). Diese Maps stellen einen kritischen Clusterstatus dar, der für die Koordination von Ceph-Diensten untereinander erforderlich ist. Monitore sind auch für die Verwaltung der Authentifizierung zwischen Diensten und Clients verantwortlich. Für Redundanz und hohe Verfügbarkeit sind mindestens drei Monitore erforderlich.
Ceph-Manager
Der Ceph-Manager ist für die Erfassung von Laufzeitmesswerten und den aktuellen Status des Ceph-Clusters verantwortlich, einschließlich Speichernutzung, aktuellen Leistungsmesswerten und Systemlast. Für Hochverfügbarkeit sind normalerweise mindestens zwei Manager erforderlich. In der GDC-Umgebung werden so viele Ceph-Manager wie Monitore ausgeführt. Daher werden drei Ceph-Manager im Cluster bereitgestellt.
Ceph-Objektspeicher-Daemon (OSD)
Der Objektspeicher-Daemon (https://docs.ceph.com/en/quincy/glossary/#term-Ceph-OSD) speichert Daten und übernimmt die Datenreplizierung, ‑wiederherstellung und ‑neuausrichtung. Das OSD stellt den Ceph-Monitoren und -Managern einige Monitoring-Informationen zur Verfügung, indem es andere Ceph-OSDs auf einen Heartbeat prüft. Für Redundanz und hohe Verfügbarkeit sind normalerweise mindestens drei Ceph-OSDs erforderlich. In der GDC-Umgebung wird ein OSD pro physischem Laufwerk zugewiesen.
Ceph-Rados-Blockgeräte (RBD)
Ceph-Blockgeräte sind Thin-Provisioned und können in der Größe angepasst werden. Daten werden auf mehreren OSDs gespeichert. Ceph-Blockgeräte nutzen die wichtigsten Ceph-Funktionen, darunter das Erstellen von Snapshots, die Replikation und die starke Konsistenz. In der GDC-Umgebung wird Ceph RBD nicht direkt verfügbar gemacht. Er wird jedoch vom Ceph-CSI-Treiber für Blockspeicher verwendet, der für die Unterstützung von Kubernetes-Speicher für Nutzer verantwortlich ist (https://kubernetes.io/docs/concepts/storage/).
Ceph RGW
Ceph Rados Gateway ist eine Objektspeicherschnittstelle, die Anwendungen ein RESTful-Gateway zu Ceph-Speicherclustern bietet (https://docs.ceph.com/en/quincy/glossary/#term-Ceph-Object-Storage).
- S3-kompatibel: Bietet Objektspeicherfunktionen mit einer Schnittstelle, die mit einem großen Teil der RESTful API von Amazon S3 kompatibel ist.
- Swift-kompatibel: Bietet Objektspeicherfunktionen mit einer Schnittstelle, die mit einem großen Teil der OpenStack Swift API kompatibel ist.
In der GDC-Umgebung werden nur die S3-Endpunkte über den Kubernetes Service Mesh-Dienst bereitgestellt.
Ausfallsicherheit von GDC-Speicher
Die Ceph-Block- und ‑Objektspeicherkomponenten sind so konfiguriert, dass sie einen Datenreplikationsfaktor von 3 verwenden. Es müssen mindestens zwei Replikate verfügbar sein, damit die Verarbeitung von Ein-/Ausgabe (E/A) fortgesetzt werden kann. Es wird die Fehlerdomain auf Knotenebene verwendet. Das bedeutet, dass Ceph versucht, Daten dreimal (3x) auf drei verschiedenen Servern zu replizieren.
Hier sind einige Beispiele dafür, wie Sie mit einem Fehler umgehen können:
- Ein einzelner Knotenausfall führt nicht zu Datenverlust und beeinträchtigt nicht die Speichervorgänge von Arbeitslasten.
- Zwei Festplattenausfälle auf verschiedenen Knoten führen nicht zu Datenverlust. Dies kann sich jedoch auf die Speicherverfügbarkeit für Arbeitslasten auswirken, bei denen sich zwei von drei Datenreplikaten auf diesen Laufwerken befinden.
- Mehr als ein Knotenausfall oder mehr als zwei Festplattenausfälle auf verschiedenen Knoten können zu Datenverlust führen und können die Speicherverfügbarkeit für Arbeitslasten beeinträchtigen.
GDC-Speicherkapazität
Die verfügbare Rohkapazität des Speicherplatzes entspricht Folgendem:
raw_capacity = 3.84TB * 4 (disks_per_node) * 3 (nodes) = 46.08TB
Da die in einem Ceph-Cluster gespeicherten Daten jedoch dreimal repliziert werden, ist die für alle Arbeitslasten verfügbare nutzbare Speicherkapazität folgende:
available_capacity = raw_capacity / 3 (replicas) = 15.36TB
15,36 TB werden für System- und Nutzerarbeitslasten für Block- und Objektspeicher freigegeben.