
O Ceph responde onde cada dado mora sem consultar servidor nenhum. A resposta sai de um cálculo.
Um cluster com centenas de discos precisa responder uma pergunta a cada leitura: em qual disco está este objeto? A resposta óbvia seria uma tabela, e essa tabela seria o ponto mais frágil do sistema inteiro.
O Ceph faz diferente. O cliente pega o nome do objeto, o grupo de posicionamento e o mapa do cluster, roda um hash e chega sozinho à lista de discos que guardam aquele dado. Os três discos que ele encontra são exatamente os três que qualquer outro cliente calcularia, sem combinar nada antes. É esse detalhe que deixa o sistema crescer sem um coordenador central.
A parte que costuma passar batido: a matemática é metade da história. A outra metade é o mapa, e o mapa é a hierarquia que você desenhou, do data center até o disco. A replicação obedece essa hierarquia ao pé da letra. Se o mapa diz que tudo está no mesmo rack, as três cópias vão para o mesmo rack, e o algoritmo vai estar certo o tempo todo.
Eu já passei tempo demais olhando para o disco errado. O disco estava tranquilo. O problema era uma pergunta que eu não tinha feito antes de montar.
Quem decide onde o dado mora é o mapa que você desenhou. O Ceph apenas obedece.

