Resumo

  • Weil desenvolveu o projeto Ceph em um programa de pesquisa coletiva na UC Santa Cruz e concluiu o doutorado em 2007, após publicar os artigos fundadores de Ceph e CRUSH em 2006.
  • O CRUSH calcula a localização a partir de mapas, pesos, topologia e regras; o RADOS distribui objetos, réplicas, detecção de falhas e recuperação entre monitors e OSDs.
  • O Ceph oferece armazenamento em bloco via RBD, objetos via RGW e um sistema de arquivos no padrão POSIX via CephFS sobre a mesma base, mas com caminhos operacionais diferentes.
  • Weil cofundou a Inktank em 2012, e a Red Hat anunciou em 30 de abril de 2014 a compra por cerca de US$ 175 milhões.
  • Weil se afastou do trabalho diário no Ceph e lidera a Civic Media. A autoridade atual está com os mantenedores e as estruturas contemporâneas de governança, não com o fundador histórico.

A matriz de armazenamento que virou algoritmo

O Ceph removeu a tabela central de localização do caminho usual dos dados. O CRUSH calcula os dispositivos a partir de um mapa e de uma regra; os OSDs armazenam no RADOS, trocam estado, replicam e se recuperam sob mapas confiáveis mantidos pelos monitors. O trabalho é distribuído, mas a autoridade não desaparece.

O resultado depende de pesos, hierarquia e domínios de falha reais. Um mapa antigo reproduz com precisão um posicionamento ruim. O algoritmo reduz buscas e movimentação desnecessária, mas o operador precisa representar corretamente o mundo físico.

Um grupo de pesquisa, não um inventor solitário

O Ceph nasceu no Storage Systems Research Center da UC Santa Cruz. Weil foi um designer e construtor central, mas orientadores, coautores, estudantes, financiamento e ambientes de teste moldaram o projeto. Os artigos de 2006 trazem vários nomes, incluindo Scott Brandt, Ethan Miller, Carlos Maltzahn e Darrell Long, dependendo do artigo.

A atribuição coletiva não diminui o papel de Weil; explica como uma tese se tornou infraestrutura. Outros precisaram entender, criticar e manter o sistema para que ele sobrevivesse ao seu criador.

CRUSH: calculando o lugar a que os dados pertencem

O CRUSH usa buckets hierárquicos, pesos e regras para selecionar uma lista ordenada de dispositivos. Uma regra pode impor réplicas em racks diferentes ou escolher uma classe de mídia. Quando o cluster muda, parte dos objetos é remapeada em vez de uma tabela central para cada objeto.

As regras são política executável. Um peso errado ou um rack mal representado distorce a distribuição e a recuperação. Antes de uma mudança, é preciso simular o movimento de dados, verificar a capacidade livre e entender a carga da rede.

RADOS e a decisão de distribuir a recuperação

O RADOS transforma um grande número de OSDs em uma base única. Os monitors mantêm o quórum e os mapas; os OSDs armazenam objetos, comparam estado, replicam e reparam. A recuperação acontece perto dos componentes que conhecem os dados, em vez de um controlador central para cada transferência.

Uma falha ampla pode gerar uma tempestade de reconstrução que disputa rede e disco com os clientes. A disponibilidade depende de margem, throttling, saúde dos dispositivos e do tempo de retirada de um OSD. Distribuição não significa gratuidade nem automatismo.

Um armazenamento de objetos e três interfaces de armazenamento

O RBD fornece volumes em bloco, o RGW oferece APIs de objeto e o CephFS constrói um sistema de arquivos no padrão POSIX com servidores de metadados. As interfaces compartilham o RADOS e os mecanismos de posicionamento e recuperação.

Mas os gargalos são diferentes. O RGW adiciona identidade e gateways; o CephFS adiciona uma camada de metadados; o RBD depende de clientes e caches. O sucesso de um modelo não prova a adequação do outro.

Placement groups, recuperação e o preço de uma falha

Os placement groups agrupam objetos para tornar o posicionamento, o peering e a recuperação administráveis. Sua distribuição define o equilíbrio e o trabalho após uma falha. Quando um OSD é perdido, o cluster remapeia e reconstrói de acordo com a política.

Falta de espaço livre ou erro de topologia prolongam o estado degradado. É preciso monitorar unclean entidades, backfill, latência, largura de banda e o tempo de recuperação. A replicação não substitui o backup contra exclusão lógica ou corrupção.

Da tese de doutorado à infraestrutura Linux

A transição de uma tese para Linux e OpenStack exigiu anos de empacotamento, compatibilidade, documentação, testes de atualização e correção de bugs. A integração com o kernel e as distribuições levou o Ceph às nuvens e aos produtos. O trabalho operacional sem brilho foi tão importante quanto os artigos científicos.

A abertura permitiu escolha de hardware e criou múltiplas ofertas, mas multiplicou as combinações de rede, dispositivo, kernel e versão. O upstream publica um branch; o integrador e o operador arcam com a responsabilidade pela combinação real.

Inktank, Red Hat e a responsabilidade comercial

A Inktank foi fundada em 2012, vendeu suporte e reuniu engenharia. A Red Hat anunciou em 30 de abril de 2014 a aquisição por cerca de US$ 175 milhões, levando o Ceph para dentro de uma grande empresa de open source e dos negócios de nuvem.

O financiamento ajudou na manutenção e na expansão, mas concentrou a contratação. A licença e a comunidade limitaram o controle exclusivo. Os clientes precisavam distinguir entre o projeto público, o produto da Red Hat e a distribuição específica, cada um com seu roadmap e seus limites de suporte.

O projeto aprende a viver sem seu fundador

Weil depois deixou o trabalho em tempo integral no Ceph e fundou a Civic Media. Sua trajetória explica a origem, mas não define as decisões atuais de lançamento. Atribuir todo sucesso ou incidente atual ao fundador apaga o trabalho dos mantenedores, empacotadores e operadores atuais.

Continuar sem ele faz parte do sucesso. A sucessão exige estruturas que resolvam conflitos, publiquem patches e mantenham os subsistemas. A autoridade histórica merece respeito, não direito permanente de liderança.