Archiviazione multi-nodo

Questa pagina descrive l'archiviazione multimodale del sistema dell'appliance con air gap di Google Distributed Cloud (GDC).

L'appliance GDC air-gapped è composta da tre server e sei dischi NVMe (Nonvolatile Memory Express) collegati a ciascuno di essi:

  • 2 supporti di avvio NVMe da 1 TB
  • 4 x NVMe da 3,84 TB

I due dischi NVMe da 1 TB su ogni nodo sono dedicati ai carichi di lavoro di avvio e di sistema, mentre gli altri quattro dischi NVMe da 3,84 TB vengono utilizzati come parte dell'archiviazione affidabile dei dati.

GDC utilizza Ceph come storage software-defined per archiviare in modo affidabile i dati di sistema e utente. Il cluster Ceph viene implementato a livello bare metal su tutti e tre i server e utilizza un totale di 12 unità NVMe da 3,84 TB (quattro per server) collegate a questi server come spazio di archiviazione sottostante.

Ogni server contiene un monitor, un gestore, RGW, RBD e quattro OSD.

Componenti di archiviazione Ceph

Monitor Ceph

Il monitor Ceph gestisce le mappe dello stato del cluster, tra cui la mappa del monitor, la mappa del gestore e la mappa del daemon di archiviazione degli oggetti (OSD). Queste mappe rappresentano uno stato del cluster critico necessario per il coordinamento dei servizi Ceph. I monitor sono anche responsabili della gestione dell'autenticazione tra servizi e client. Per la ridondanza e l'alta disponibilità sono necessari almeno tre monitor.

Ceph manager

Il gestore Ceph è responsabile del monitoraggio delle metriche di runtime e dello stato attuale del cluster Ceph, inclusi l'utilizzo dello spazio di archiviazione, le metriche di rendimento attuali e il carico del sistema. Per l'alta disponibilità sono normalmente necessari almeno due gestori. L'ambiente GDC esegue tanti gestori Ceph quanti sono i monitor, quindi nel cluster vengono implementati tre gestori Ceph.

Daemon di archiviazione di oggetti Ceph (OSD)

Il daemon di archiviazione degli oggetti (https://docs.ceph.com/en/quincy/glossary/#term-Ceph-OSD) archivia i dati e gestisce la replica, il recupero e il ribilanciamento dei dati. L'OSD fornisce alcune informazioni di monitoraggio ai monitor e ai gestori Ceph controllando altri OSD Ceph per un heartbeat. Per la ridondanza e l'alta disponibilità sono normalmente necessari almeno tre OSD Ceph. L'ambiente GDC alloca un OSD per unità fisica.

Dispositivi di blocco Ceph Rados (RBD)

I dispositivi a blocchi Ceph sono sottoprovvigionati e ridimensionabili. Memorizzano i dati distribuiti su più OSD. I dispositivi a blocchi Ceph sfruttano le funzionalità principali di Ceph, tra cui la creazione di snapshot, la replica eelevata coerenzaa. Nell'ambiente GDC, Ceph RBD non è esposto direttamente. Tuttavia, viene utilizzato dal driver CSI di archiviazione a blocchi Ceph, responsabile del supporto dell'archiviazione Kubernetes rivolta agli utenti (https://kubernetes.io/docs/concepts/storage/).

Ceph RGW

Ceph Rados Gateway è un'interfaccia di archiviazione di oggetti che fornisce alle applicazioni un gateway RESTful ai cluster di archiviazione Ceph (https://docs.ceph.com/en/quincy/glossary/#term-Ceph-Object-Storage).

  • Compatibile con S3: fornisce funzionalità di archiviazione di oggetti con un'interfaccia compatibile con un ampio sottoinsieme dell'API RESTful Amazon S3.
  • Compatibile con Swift: fornisce funzionalità di archiviazione di oggetti con un'interfaccia compatibile con un ampio sottoinsieme dell'API OpenStack Swift.

Nell'ambiente GDC, solo gli endpoint S3 sono esposti utilizzando il servizio Kubernetes Service Mesh.

Resilienza dell'archiviazione GDC

I componenti di archiviazione a blocchi e a oggetti Ceph sono configurati per utilizzare un fattore di replica dei dati pari a 3. Per continuare a gestire l'input/output (I/O), devono essere disponibili almeno due repliche. Viene utilizzato il dominio in errore a livello di nodo, il che significa che Ceph tenta di replicare i dati tre volte (3x) su tre server diversi.

Ecco alcuni esempi di come gestire un errore:

  • Un singolo errore del nodo non causa la perdita di dati e non influisce sulle operazioni di archiviazione dei carichi di lavoro.
  • Due errori del disco su nodi diversi non causano la perdita di dati. Tuttavia, potrebbe influire sulla disponibilità dello spazio di archiviazione per i carichi di lavoro che hanno due delle tre repliche dei dati su questi dischi.
  • Più errori di nodi o più errori di dischi su nodi diversi potrebbero causare la perdita di dati e potrebbero influire sulla disponibilità dello spazio di archiviazione per i workload.

Capacità di archiviazione GDC

La capacità di spazio su disco raw disponibile è uguale a:

raw_capacity = 3.84TB * 4 (disks_per_node) * 3 (nodes) = 46.08TB

Tuttavia, poiché i dati archiviati in un cluster Ceph vengono replicati tre volte, la capacità di archiviazione utile disponibile per tutti i workload è la seguente:

available_capacity = raw_capacity / 3 (replicas) = 15.36TB

15,36 TB sono condivisi tra i carichi di lavoro di sistema e utente per l'archiviazione di blocchi e oggetti.