Verteilter Speicher
Sie können Ceph verwenden, um einen Servercluster zum Speichern von Daten mit hoher Verfügbarkeit aufzubauen. Datenreplikationen oder Erasure-Code-Chunks werden distributiv in Geräten gespeichert, die verschiedenen vordefinierten Fehlerdomänen angehören. Ceph kann seinen Datendienst aufrechterhalten, ohne Datenverlust, wenn mehrere Geräte, Serverknoten, Racks oder Standorte gleichzeitig ausfallen.
Ceph-Software-definierter Speicher
Kunden interagieren direkt mit allen Speichergeräten, um zu lesen und zu schreiben, indem sie den verteilten Speicheralgorithmus CRUSH von Ceph nutzen. Dadurch wird der Engpass des traditionellen Host-Bus-Adapters (HBA) beseitigt, der die Skalierbarkeit des Speichersystems begrenzt. Ceph kann seine Kapazität linear mit Leistung bis zum Exabyte-Maßstab skalieren.
Ceph ist darauf ausgelegt, skalierbar zu sein und keine einzelne Fehlerquelle zu haben. Monitor (MON), Object Storage Daemon (OSD) und Metadatenserver (MDS) sind drei wichtige Daemons (Linux-Prozess) im Ceph-Cluster. Normalerweise hat ein Ceph-Cluster drei oder mehr Überwachungsknoten für Redundanz. Monitore halten eine Masterkopie der Clusterkarten, die es Ceph-Clients ermöglichen, direkt mit OSD und MDS zu kommunizieren. Diese Karten sind entscheidende Clusterzustände, die von Ceph-Dämonen benötigt werden, um miteinander zu koordinieren. Monitore sind auch für die Verwaltung der Authentifizierung zwischen Daemons und Clients verantwortlich. Ungerade Anzahl von Monitoren pflegen die Cluster-Karte mit Hilfe einer Mehrheitsentscheidung. Dieser Algorithmus vermeidet den einzelnen Fehlerpunkt auf dem Monitor und garantiert, dass ihr Konsens gültig ist. OSD ist der Objektspeicher-Daemon für Ceph. Es speichert Daten, behandelt Datenreplikation, Wiederherstellung, Ausgleich und liefert den Ceph Monitoren einige Überwachungsinformationen, indem es andere OSD-Daemons auf Herzschlag überprüft. Jeder Speicherserver führt einen oder mehrere OSD-Daemons aus, einen pro Speichergerät. Für Redundanz und hohe Verfügbarkeit werden in der Regel mindestens 3 OSDs benötigt. Der MDS-Daemon verwaltet Metadaten, die mit auf dem Ceph-Dateisystem gespeicherten Dateien zusammenhängen, und koordiniert auch den Zugriff auf den gemeinsam genutzten Ceph-Speichercluster. Sie können mehrere aktive MDS für Redundanz haben und die Last jedes MDS ausbalancieren. Sie benötigen nur einen oder mehrere Metadatenserver (MDS), wenn Sie das gemeinsam genutzte Dateisystem verwenden möchten.
Ceph ist skalierbarer Speicher
In einem traditionellen Speichersystem kommunizieren die Clients mit einer zentralen Komponente (z. B. Host-Bus-Adapter oder Gateway), die der einzige Einstiegspunkt zu einem komplexen Subsystem ist. Der zentralisierte Controller setzt sowohl Leistung als auch Skalierbarkeit Grenzen und führt zudem zu einem einzigen Fehlerpunkt. Wenn die zentrale Komponente ausfällt, fällt das gesamte System ebenfalls aus. Ceph-Clients erhalten die neueste Cluster-Karte von Monitoren und verwenden den CRUSH-Algorithmus, um zu berechnen, welcher OSD im Cluster verwendet wird. Dieser Algorithmus ermöglicht es Kunden, direkt mit Ceph OSD zu interagieren, ohne über einen zentralen Controller zu gehen. Der CRUSH-Algorithmus beseitigt den einzelnen Pfad, der die Skalierbarkeit einschränkt. Ceph OSD-Cluster bietet den Clients einen gemeinsamen Speicherpool. Wenn Sie mehr Kapazität oder Leistung benötigen, können Sie neue OSD hinzufügen, um den Pool zu erweitern. Die Leistung eines Ceph-Clusters ist linear proportional zur Anzahl der OSD. Das folgende Bild zeigt, wie sich die Lese-/Schreib-IOPS erhöhen, wenn wir die Anzahl der OSD erhöhen.
Traditionelle Festplattenarrays verwenden den RAID-Controller, um Daten vor Festplattenausfällen zu schützen. Die Kapazität einer Festplatte betrug etwa 20MB, als die RAID-Technologie erfunden wurde. Heute beträgt die Festplattenkapazität beeindruckende 16TB. Die Zeit, um eine fehlgeschlagene Festplatte in der RAID-Gruppe wieder aufzubauen, kann eine Woche dauern. Während der RAID-Controller das fehlerhafte Laufwerk wiederherstellt, besteht die Möglichkeit, dass gleichzeitig eine zweite Festplatte ausfällt. Wenn der Wiederaufbau länger dauert, ist die Wahrscheinlichkeit größer, Daten zu verlieren.
Ceph stellt die Daten wieder her, die auf der fehlerhaften Festplatte verloren gegangen sind, indem es alle anderen gesunden Laufwerke im Cluster nutzt. Ceph wird nur die Daten wiederherstellen, die auf der fehlerhaften Festplatte gespeichert sind. Wenn es mehr gesunde Festplatten gibt, wird die Wiederherstellungszeit kürzer sein.
- Konfigurieren Sie die Ceph CRUSH-Karte und Regel