Ceph é bastante interessante, com alguns recursos interessantes. Uma que é particularmente interessante é que a função de replicação (que decide quais dados do OSD vão) é realmente flexível e pode ser ajustada para suas necessidades de confiabilidade.
A idéia geral é que existem 3 tipos de daemons:
- OSDs, que armazenam objetos (basicamente bytestreams crus)
- MDSs, Metadata Servers, que fornecem semântica do sistema de arquivos
- MDSs também fazem balanceamento de carga adaptável - se alguns metadados forem muito acessados, ele se espalhará para mais MDSs para compartilhar a carga.
- Monitores, que mantêm o estado e a configuração do cluster
O cliente tem sido upstream no kernel Linux há algum tempo, e o material do servidor é executado inteiramente no espaço do usuário.
No que diz respeito ao desempenho, a tese de PhD original sobre Ceph observou que, em 24 OSDs, o gargalo era o rendimento do comutador de rede e esse desempenho escalonado linearmente com o número de nós. (veja a seção de publicações no site do Ceph). Isso foi há cinco anos, e tem havido muita sintonia desde então.Sobre a questão da confiabilidade, o projeto foi iniciado pelo fundador da Dreamhost e está sendo implementado em sua infraestrutura.