Ceph è una piattaforma software che permette di gestire in modo unificato, e con una scalabilità che raggiunge i diversi petabyte, più dispositivi, media e nodi storage clusterizzati per lo storage a oggetti, a blocchi e a file. Sta riscuotendo un certo successo perché, oltre a essere open source, è stata pensata per le infrastrutture cloud e le esigenze di storage di carichi lavoro di nuova generazione.
Molti oggi si chiedono se per ottenere le migliori performance con Ceph sia necessario utilizzare drive a stato solido (Ssd, solid state drive). Inktank, la società che ha sviluppato Ceph e che nel 2014 è stata acquisita da Red Hat (che propone oggi anche una versione commerciale di Ceph, Red Hat Ceph Storage) sostiene che anche un sistema basato su dischi Sata può offrire buone performance, purché il network sia adeguato agli obiettivi che si vogliono raggiungere.
Ceph permette di utilizzare con soddisfazione Ssd grazie all’utilizzo dell’algoritmo Crush , acronimo di Controlled Replication Under Scalable Hashing. In informatica l’hashing è l’azione di ricavare, da una lunga stringa di dati, una stringa molto più corta, ma di lunghezza prefissata, che identifica in modo univoco l’insieme di dati originario. Gestendo hash, l’algoritmo Crush permette a una piattaforma Ceph di memorizzare i dati sui diversi nodi di un cluster in modo equilibrato ed efficiente. Grazie a questa tecnologia, Ceph è quindi in grado di permettere ai client il più veloce accesso possibile agli oggetti binari memorizzati su device storage del cluster.
Ecco quindi che il ruolo della connettività all’interno dell’ambiente in cui è implementato Ceph – un esempio molto frequente è un’infrastruttura cloud privata basata su OpenStack – assume grande importanza. La velocità di rete minima dovrebbe essere di 10 Gigabit. Per infrastrutture più grandi e mission-critical sono consigliati i 40 Gigabit.
Ma non è solo la rete da tenere in considerazione. Anche l’hardware storage è importante. Ceph consente di ottenere soddisfazioni nella realizzazione in un’infrastruttura object storage connettendo pochi sistemi storage, ciascuno con un’elevata densità di hard disk. Ma in un’architettura object storage non bisogna dimenticare il ruolo cruciale del journal disk (quello che memorizza le operazioni di scrittura dei dati non ancora eseguite sul dispositivo di destinazione). Dato il ruolo centrale e critico del journal disk, i migliori risultati si possono ottenere se almeno questo è di tipo Ssd. Una nota infine sui file system. Da questo punto di vista Ceph è agnostico, ma vengono segnalati i migliori risultati con l’utilizzo del file system Btrfs, seguito da Xfs. Sarebbe da evitare, invece, l’Ext4.