Ceph è una soluzione di ar­chi­via­zio­ne completa, che, con il file system Ceph (CephFS), ha il proprio file system. Con Ceph è possibile ar­chi­via­re dati su vari di­spo­si­ti­vi nella propria rete. Inoltre è possibile eseguire il backup dei dati più volte in aree di ar­chi­via­zio­ne fi­si­ca­men­te diverse. Ceph offre una grande fles­si­bi­li­tà nella scelta dei di­spo­si­ti­vi di ar­chi­via­zio­ne e un’elevata sca­la­bi­li­tà.

IONOS Cloud Object Storage
Ar­chi­via­zio­ne sicura e a prezzi van­tag­gio­si

Archivia i tuoi dati in tutta sicurezza sui nostri server, e pro­teg­gi­li dagli accessi non au­to­riz­za­ti.

In­for­ma­zio­ni su Ceph e ca­rat­te­ri­sti­che prin­ci­pa­li

Il concetto di Ceph risale a Sage A. Weil che lo ha svi­lup­pa­to durante la sua tesi di laurea e pub­bli­ca­to 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 re­spon­sa­bi­le dello sviluppo come capo ar­chi­tet­to.

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 uti­liz­zan­do iSCSI (Internet Small Computer System Interface). Ceph è quindi par­ti­co­lar­men­te adatto per l’uso in data center, che rendono di­spo­ni­bi­le il proprio spazio di ar­chi­via­zio­ne tramite servizi server, nonché per soluzioni cloud di tutti i tipi, che uti­liz­za­no software per fornire memoria.

Ecco un riepilogo delle ca­rat­te­ri­sti­che più im­por­tan­ti di Ceph:

  • fornitura open source
  • sca­la­bi­li­tà elevata
  • sicurezza dei dati tramite ar­chi­via­zio­ne dati ri­don­dan­te
  • af­fi­da­bi­li­tà grazie all’ar­chi­via­zio­ne di­stri­bui­ta dei dati
  • aumento della di­spo­ni­bi­li­tà, basato su software, tramite algoritmo interno per la ricerca dei dati
  • rap­pre­sen­ta­zio­ne come memoria contigua
  • bassi requisiti hardware (in­stal­la­zio­ne possibile da 1 GB di RAM su un computer con pro­ces­so­re single core e spazio di ar­chi­via­zio­ne di pochi GB, a seconda dell’attività nella rete)

Fun­zio­na­men­to di Ceph

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

In questa rete i seguenti compiti devono essere di­stri­bui­ti tra i nodi:

  • Monitor Nodes: ge­sti­sco­no lo stato dei singoli nodi nel cluster, in par­ti­co­la­re la mappa del servizio di gestione dei com­po­nen­ti, del servizio di ar­chi­via­zio­ne degli oggetti e del server dei metadati (MDS); per garantire l’af­fi­da­bi­li­tà si con­si­glia­no 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 back­ground per l’effettiva gestione dei file; sono re­spon­sa­bi­li della me­mo­riz­za­zio­ne, della du­pli­ca­zio­ne e del ri­pri­sti­no dei dati. Sono rac­co­man­da­ti almeno tre OSD nel cluster.
  • Metadata server (MDS): ar­chi­via­no i metadati, quindi percorsi di ar­chi­via­zio­ne, nomi di file e marca temporale dei file ar­chi­via­ti in CephFS per motivi di pre­sta­zio­ne; sono conformi a POSIX e possono essere in­ter­ro­ga­ti uti­liz­zan­do i programmi della riga di comando Unix, come ls, find und like.

Il cuore della me­mo­riz­za­zio­ne dei dati è un algoritmo chiamato CRUSH (Con­trol­led Re­pli­ca­tion Under Scalable Hashing), il quale è in grado di trovare un OSD con il file richiesto sulla base di una tabella di as­se­gna­zio­ne, la mappa CRUSH.

Ceph di­stri­bui­sce i file in modo pseudo-casuale. Ap­pa­ren­te­men­te, i file sembrano ar­chi­via­ti in modo casuale, quando in realtà CRUSH calcola la posizione di ar­chi­via­zio­ne adatta in base a criteri stabiliti. I file sono duplicati e ar­chi­via­ti anche su supporti fi­si­ca­men­te separati. L’am­mi­ni­stra­to­re di rete può de­ter­mi­na­re le spe­ci­fi­che per­ti­nen­ti.

I file sono suddivisi in co­sid­det­ti Placement Groups. Qui il nome del file è elaborato come valore di hash, mentre, ad esempio, un’altra funzione di clas­si­fi­ca­zio­ne è il numero di duplicati di un file.

N.B.

Il valore di hash è una stringa che è il risultato di un input elaborato da ope­ra­zio­ni ma­te­ma­ti­che. Una procedura più semplice sarebbe quella di generare la somma numerica dai dati grezzi. In realtà, tuttavia, si uti­liz­za­no 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 in­de­si­de­ra­ti. È quindi adatto anche per l’ela­bo­ra­zio­ne di nomi di file.

Per garantire la sicurezza dei dati, il Jour­na­ling è uti­liz­za­to a livello degli OSD. Ogni file che deve essere salvato è me­mo­riz­za­to nella cache, fino a quando non è me­mo­riz­za­to cor­ret­ta­men­te in tutti gli OSD previsti.

Accesso ai dati me­mo­riz­za­ti

La base della me­mo­riz­za­zio­ne dei dati in Ceph si chiama RADOS (a reliable, di­stri­bu­ted object store comprised of self-healing, self-mapping, in­tel­li­gent storage nodes), ovvero “ una memoria uin­tel­li­gen­te orientata agli oggetti una memoria in­tel­li­gen­te orientata agli oggetti, af­fi­da­bi­le, di­stri­bui­ta, au­to­ri­ge­ne­ran­te e or­ga­niz­za­ti­va”.

Esistono vari metodi per accedere ai file me­mo­riz­za­ti:

  • librados: l’accesso nativo è possibile uti­liz­zan­do la libreria librados tramite le in­ter­fac­ce di pro­gram­ma­zio­ne (API) con linguaggi di pro­gram­ma­zio­ne e di scripting come C/C++, Python, Java e PHP.
  • radosgw: i dati possono essere letti o scritti tramite il gateway uti­liz­zan­do il pro­to­col­lo Internet HTTP.
  • CephFS: è il file system interno, conforme a POSIX; offre un modulo kernel per i computer che accedono e supporta FUSE (in­te­gra­zio­ne del file system senza diritti di am­mi­ni­stra­to­re).
  • RADOS Block Device: in­te­gra­zio­ne come memoria orientata ai blocchi uti­liz­zan­do moduli del kernel o sistemi virtuali come QEMU/KVM.

Al­ter­na­ti­ve a Ceph

L’al­ter­na­ti­va più ri­co­no­sciu­ta è GlusterFS, che ap­par­tie­ne anch’esso al di­stri­bu­to­re Linux RedHat / RHEL ed è di­spo­ni­bi­le gra­tui­ta­men­te. Gluster adotta un approccio simile con­so­li­dan­do la memoria di­stri­bui­ta in un unico spazio di ar­chi­via­zio­ne sulla rete. Na­tu­ral­men­te le due soluzioni GlusterFS e Ceph hanno ciascuna i propri vantaggi e svantaggi.

Esistono altre al­ter­na­ti­ve gratuite, come XtremFS e BeeGfs. Microsoft offre soluzioni com­mer­cia­li di ar­chi­via­zio­ne basate su software per server Windows, tra cui Storage Spaces Direct (S2D).

Compute Engine
La soluzione IaaS ideale per i tuoi carichi di lavoro
  • vCPU estre­ma­men­te van­tag­gio­se e potenti core dedicati
  • Massima fles­si­bi­li­tà senza periodo con­trat­tua­le minimo
  • Servizio di as­si­sten­za tecnica 24 ore su 24, 7 giorni su 7

Vantaggi e svantaggi di Ceph

Ceph è la scelta giusta per molti scenari, ma questo metodo di ar­chi­via­zio­ne non porta solo vantaggi.

Vantaggi di Ceph

Ceph è gratuito ed è con­si­de­ra­to con­so­li­da­to, no­no­stan­te la sua storia di sviluppo re­la­ti­va­men­te giovane. In rete si trovano numerosi con­tri­bu­ti per l’in­stal­la­zio­ne e l’as­si­sten­za. Inoltre, l’ap­pli­ca­zio­ne è do­cu­men­ta­ta molto bene dal pro­dut­to­re. L’ac­qui­si­zio­ne da parte di RedHat sug­ge­ri­sce che l’ulteriore sviluppo con­ti­nue­rà per il prossimo futuro. La sca­la­bi­li­tà e la ri­don­dan­za integrata ga­ran­ti­sco­no la sicurezza dei dati e la fles­si­bi­li­tà nella rete. Inoltre la di­spo­ni­bi­li­tà è garantita dall’algoritmo CRUSH.

N.B.

Ri­don­dan­za significa “ab­bon­dan­za”. Nella tec­no­lo­gia dell’in­for­ma­zio­ne ciò significa che i dati sono di­spo­ni­bi­li in aggiunta e in eccesso. Qui la ri­don­dan­za viene spesso de­li­be­ra­ta­men­te fornita per garantire sicurezza dei dati e af­fi­da­bi­li­tà. Ciò è possibile a livello di software e hardware: da un lato i dati o le in­for­ma­zio­ni ne­ces­sa­rie per il ri­pri­sti­no possono essere me­mo­riz­za­ti ri­pe­tu­ta­men­te nella memoria, dall’altro i com­po­nen­ti della memoria, fi­si­ca­men­te separati, posso essere presenti più volte, per com­pen­sa­re il possibile guasto dei singoli computer.

Svantaggi di Ceph

A causa dell’elevato numero di com­po­nen­ti forniti, è ne­ces­sa­ria una vasta rete per poter sfruttare i punti di forza di Ceph. Inoltre, l’in­stal­la­zio­ne è re­la­ti­va­men­te complessa e per l’utente non è as­so­lu­ta­men­te chiaro dove siano fi­si­ca­men­te ar­chi­via­ti i dati.

Vai al menu prin­ci­pa­le