Vantagens significativas que vejo para o Ceph sobre o BTRFS:
- CRUSH: Este é o algoritmo de colocação de objetos do Ceph, e é também o que lida com o striping, a replicação e o código de apagamento. Ele tem algumas vantagens significativas sobre o BTRFS, ou seja, ele pode lidar com (principalmente) níveis de codificação de apagamento arbitrário (RAID5 e RAID6 são casos especiais de codificação de apagamento), além de permitir níveis arbitrários de replicação e distribuição.
- Mais fácil de depurar: Isso provavelmente parece estranho como um ponto de venda para um sistema de armazenamento doméstico, mas na verdade é bastante significativo. Como o BTRFS (e o ZFS) é executado no modo kernel, é muito difícil depurar se você se deparar com um problema. Por outro lado, o Ceph é executado no userspace (pelo menos, se você estiver usando o RBD ou o driver CephFS no kernel, ambos os quais eu recomendaria para uso doméstico), o que significa que a depuração quando você se depara com um problema é significativamente mais fácil. Depuração mais fácil, por sua vez, geralmente se traduz em correções de bugs muito mais rápidas.
Vantagens significativas que vejo para o BTRFS sobre o Ceph:
- Menos partes móveis: o BTRFS é executado de maneira nativa no modo kenel, não requer vários daemons em execução e também não envolve uma camada de rede. Isso tem duas vantagens específicas. A primeira é que há menos que pode falhar e causar problemas. A segunda é que você tem menos sobrecarga no próprio servidor.
- Configuração mais simples: Esta segue o item acima, mas é significativa em si mesma. É preciso muito menos esforço para configurar o BTRFS do que o Ceph.