Ceph: una soluzione di archiviazione pratica per aziende di ogni dimensione

Ceph è una soluzione di archiviazione completa, che, con il file system Ceph (CephFS), ha il proprio file system. Con Ceph è possibile archiviare dati su vari dispositivi nella propria rete. Inoltre è possibile eseguire il backup dei dati più volte in aree di archiviazione fisicamente diverse. Ceph offre una grande flessibilità nella scelta dei dispositivi di archiviazione e un’elevata scalabilità.

Informazioni su Ceph e caratteristiche principali

Il concetto di Ceph risale a Sage A. Weil che lo ha sviluppato durante la sua tesi di laurea e pubblicato nel 2006. Ha quindi portato avanti il progetto con la sua società Inktank Storage. Nel 2014 la società è stata rilevata da RedHat, dove Weil è ancora responsabile dello sviluppo come capo architetto.

Ceph funziona solo su sistemi Linux. Il supporto è fornito, ad esempio, da CentOS, Debian, Fedora, RedHat/RHEL, OpenSUSE e Ubuntu. L’accesso dai sistemi Windows non è diretto, ma è possibile utilizzando iSCSI (Internet Small Computer System Interface). Ceph è quindi particolarmente adatto per l’uso in data center, che rendono disponibile il proprio spazio di archiviazione tramite servizi server, nonché per soluzioni cloud di tutti i tipi, che utilizzano software per fornire memoria.

Ecco un riepilogo delle caratteristiche più importanti di Ceph:

  • fornitura open source
  • scalabilità elevata
  • sicurezza dei dati tramite archiviazione dati ridondante
  • affidabilità grazie all’archiviazione distribuita dei dati
  • aumento della disponibilità, basato su software, tramite algoritmo interno per la ricerca dei dati
  • rappresentazione come memoria contigua
  • bassi requisiti hardware (installazione possibile da 1 GB di RAM su un computer con processore single core e spazio di archiviazione di pochi GB, a seconda dell’attività nella rete)

Funzionamento di Ceph

Ceph richiede diversi computer collegati in rete, che sono chiamati cluster (letteralmente: “grappolo”, in questo contesto: rete di più computer). Ogni computer integrato viene definito nodo (punto nodale).

In questa rete i seguenti compiti devono essere distribuiti tra i nodi:

  • Monitor Nodes: gestiscono lo stato dei singoli nodi nel cluster, in particolare la mappa del servizio di gestione dei componenti, del servizio di archiviazione degli oggetti e del server dei metadati (MDS); per garantire l’affidabilità si consigliano almeno tre Monitor Nodes.
  • Manager: gestisce lo stato dell’utilizzo della memoria, del carico del sistema e dell’utilizzo dei nodi
  • Ceph OSD (Object Storage Devices): servizi in background per l’effettiva gestione dei file; sono responsabili della memorizzazione, della duplicazione e del ripristino dei dati. Sono raccomandati almeno tre OSD nel cluster.
  • Metadata server (MDS): archiviano i metadati, quindi percorsi di archiviazione, nomi di file e marca temporale dei file archiviati in CephFS per motivi di prestazione; sono conformi a POSIX e possono essere interrogati utilizzando i programmi della riga di comando Unix, come ls, find und like.

Il cuore della memorizzazione dei dati è un algoritmo chiamato CRUSH (Controlled Replication Under Scalable Hashing), il quale è in grado di trovare un OSD con il file richiesto sulla base di una tabella di assegnazione, la mappa CRUSH.

Ceph distribuisce i file in modo pseudo-casuale. Apparentemente, i file sembrano archiviati in modo casuale, quando in realtà CRUSH calcola la posizione di archiviazione adatta in base a criteri stabiliti. I file sono duplicati e archiviati anche su supporti fisicamente separati. L’amministratore di rete può determinare le specifiche pertinenti.

I file sono suddivisi in cosiddetti Placement Groups. Qui il nome del file è elaborato come valore di hash, mentre, ad esempio, un’altra funzione di classificazione è il numero di duplicati di un file.

N.B.

Il valore di hash è una stringa che è il risultato di un input elaborato da operazioni matematiche. Una procedura più semplice sarebbe quella di generare la somma numerica dai dati grezzi. In realtà, tuttavia, si utilizzano algoritmi altamente complessi che creano un’impronta digitale unica da dati di qualsiasi lunghezza. L’output ha sempre la stessa lunghezza compatta e non contiene caratteri indesiderati. È quindi adatto anche per l’elaborazione di nomi di file.

Per garantire la sicurezza dei dati, il Journaling è utilizzato a livello degli OSD. Ogni file che deve essere salvato è memorizzato nella cache, fino a quando non è memorizzato correttamente in tutti gli OSD previsti.

Accesso ai dati memorizzati

La base della memorizzazione dei dati in Ceph si chiama RADOS (a reliable, distributed object store comprised of self-healing, self-mapping, intelligent storage nodes), ovvero “ una memoria uintelligente orientata agli oggetti una memoria intelligente orientata agli oggetti, affidabile, distribuita, autorigenerante e organizzativa”.

Esistono vari metodi per accedere ai file memorizzati:

  • librados: l’accesso nativo è possibile utilizzando la libreria librados tramite le interfacce di programmazione (API) con linguaggi di programmazione e di scripting come C/C++, Python, Java e PHP.
  • radosgw: i dati possono essere letti o scritti tramite il gateway utilizzando il protocollo Internet HTTP.
  • CephFS: è il file system interno, conforme a POSIX; offre un modulo kernel per i computer che accedono e supporta FUSE (integrazione del file system senza diritti di amministratore).
  • RADOS Block Device: integrazione come memoria orientata ai blocchi utilizzando moduli del kernel o sistemi virtuali come QEMU/KVM.

Alternative a Ceph

L’alternativa più riconosciuta è GlusterFS, che appartiene anch’esso al distributore Linux RedHat / RHEL ed è disponibile gratuitamente. Gluster adotta un approccio simile consolidando la memoria distribuita in un unico spazio di archiviazione sulla rete. Naturalmente le due soluzioni GlusterFS e Ceph hanno ciascuna i propri vantaggi e svantaggi.

Esistono altre alternative gratuite, come XtremFS e BeeGfs. Microsoft offre soluzioni commerciali di archiviazione basate su software per server Windows, tra cui Storage Spaces Direct (S2D).

Vantaggi e svantaggi di Ceph

Ceph è la scelta giusta per molti scenari, ma questo metodo di archiviazione non porta solo vantaggi.

Vantaggi di Ceph

Ceph è gratuito ed è considerato consolidato, nonostante la sua storia di sviluppo relativamente giovane. In rete si trovano numerosi contributi per l’installazione e l’assistenza. Inoltre, l’applicazione è documentata molto bene dal produttore. L’acquisizione da parte di RedHat suggerisce che l’ulteriore sviluppo continuerà per il prossimo futuro. La scalabilità e la ridondanza integrata garantiscono la sicurezza dei dati e la flessibilità nella rete. Inoltre la disponibilità è garantita dall’algoritmo CRUSH.

N.B.

Ridondanza significa “abbondanza”. Nella tecnologia dell’informazione ciò significa che i dati sono disponibili in aggiunta e in eccesso. Qui la ridondanza viene spesso deliberatamente fornita per garantire sicurezza dei dati e affidabilità. Ciò è possibile a livello di software e hardware: da un lato i dati o le informazioni necessarie per il ripristino possono essere memorizzati ripetutamente nella memoria, dall’altro i componenti della memoria, fisicamente separati, posso essere presenti più volte, per compensare il possibile guasto dei singoli computer.

Svantaggi di Ceph

A causa dell’elevato numero di componenti forniti, è necessaria una vasta rete per poter sfruttare i punti di forza di Ceph. Inoltre, l’installazione è relativamente complessa e per l’utente non è assolutamente chiaro dove siano fisicamente archiviati i dati.


Abbiamo una proposta per te:
Web hosting a partire da 1 €/mese!

Dominio gratis
Certificato SSL Wildcard incluso
Assistenza clienti 24/7
A partire da 1 €/mese IVA escl. per un anno,
poi 8 €/ mese IVA escl.