
Storage Distribuito
Puoi utilizzare Ceph per costruire un cluster di server per memorizzare dati ad alta disponibilità. Le repliche dei dati o i chunk di codice di cancellazione sono memorizzati in modo distribuito in dispositivi che appartengono a diversi domini di guasto predefiniti. Ceph può mantenere il suo servizio di dati senza perdita di dati quando più dispositivi, nodi server, rack o siti falliscono contemporaneamente.
Archiviazione definita dal software CEPH
I clienti interagiscono direttamente con tutti i dispositivi di archiviazione per leggere e scrivere utilizzando l'algoritmo di archiviazione distribuita CRUSH di Ceph. Per questo motivo, elimina il collo di bottiglia sul tradizionale Host Bus Adaptor (HBA), che limita la scalabilità del sistema di archiviazione. Ceph può scalare la sua capacità linearmente con le prestazioni fino alla scala exabyte.
Ceph è progettato per essere scalabile e non avere un singolo punto di fallimento. Monitor (MON), Object Storage Daemon (OSD) e Metadata Servers (MDS) sono tre demoni chiave (processi Linux) nel cluster Ceph. Di solito, un cluster Ceph avrà tre o più nodi monitor per garantire la ridondanza. I monitor mantengono una copia principale delle mappe del cluster, che consentono ai client di Ceph di comunicare direttamente con OSD e MDS. Queste mappe sono uno stato critico del cluster necessario per i demoni di Ceph per coordinarsi tra di loro. I monitor sono anche responsabili della gestione dell'autenticazione tra i demoni e i clienti. I numeri dispari di monitor mantengono la mappa del cluster utilizzando un quorum. Questo algoritmo evita il singolo punto di fallimento sul monitor e garantisce che il loro consenso sia valido. OSD è il demone di archiviazione degli oggetti per Ceph. Archivia i dati, gestisce la replica dei dati, il ripristino, il riequilibrio e fornisce alcune informazioni di monitoraggio ai monitor di Ceph controllando gli altri demoni OSD per il battito cardiaco. Ogni server di archiviazione esegue uno o più demoni OSD, uno per ogni dispositivo di archiviazione. Di solito sono necessari almeno 3 OSD per ridondanza e alta disponibilità. Il demone MDS gestisce i metadati relativi ai file memorizzati nel Ceph File System e coordina anche l'accesso al cluster di archiviazione Ceph condiviso. Puoi avere più MDS attivi per ridondanza e bilanciare il carico di ciascun MDS. Avrai bisogno di uno o più Metadata Server (MDS) solo quando desideri utilizzare il file system condiviso.
Ceph è uno storage scalabile
In un sistema di archiviazione tradizionale, i client comunicano con un componente centralizzato (ad es., adattatore di bus host o gateway), che è un unico punto di accesso a un sottosistema complesso. Il controller centralizzato impone un limite sia alle prestazioni che alla scalabilità, introducendo anche un singolo punto di guasto. Se il componente centralizzato si guasta, anche l'intero sistema si guasta. I client Ceph ottengono l'ultima mappa del cluster dai monitor e utilizzano l'algoritmo CRUSH per calcolare quale OSD si trova nel cluster. Questo algoritmo consente ai clienti di interagire direttamente con Ceph OSD senza passare attraverso un controller centralizzato. L'algoritmo CRUSH elimina il percorso singolo, che causa la limitazione della scalabilità. Il cluster Ceph OSD fornisce ai client un pool di archiviazione condiviso. Quando hai bisogno di maggiore capacità o prestazioni, puoi aggiungere nuovi OSD per espandere il pool. Le prestazioni di un cluster Ceph sono proporzionali in modo lineare al numero di OSD. L'immagine seguente mostra che gli IOPS di lettura/scrittura aumentano se aumentiamo il numero di OSD.
L'array di dischi tradizionale utilizza il controller RAID per proteggere i dati da guasti del disco. La capacità di un disco rigido era di circa 20MB quando è stata inventata la tecnologia RAID. Oggi la capacità del disco è grande quanto 16TB. Il tempo per ricostruire un disco guasto nel gruppo RAID può richiedere una settimana. Mentre il controller RAID sta ricostruendo l'unità guasta, c'è la possibilità che un secondo disco possa guastarsi contemporaneamente. Se la ricostruzione richiede più tempo, la probabilità di perdere dati è più alta.
Ceph recupera i dati persi nel disco guasto da tutti gli altri dischi sani nel cluster. Ceph ricostruirà solo i dati memorizzati nel disco guasto. Se ci sono più dischi sani, il tempo di recupero sarà più breve.
- Configura la mappa CRUSH Ceph e la regola