- Sim. 2.Você pode definir a política para replicar por nó, racks, datacenters ... etc.
Estou atualmente avaliando sistemas de armazenamento para o xenserver. Como a replicação de dados é importante no caso de uma falha, tenho uma dúvida sobre a replicação no ceph.
Tanto quanto eu sei que cada disco em um nó é um osd por si só (discos não estão em qualquer configuração RAID). O algoritmo de replicação ceph está ciente do fato de que 2 osd's estão no mesmo nó, portanto, não replicando os dados nesses osd's?
Exemplo mínimo: 2 nós com 2 discos cada. Por causa da configuração não raid cada disco é um osd - > 4 osd's. Nó A: OSD1, OSD2; Nó B: OSD3, OSD4. Eu defino o valor de replicação para 2 e salve um objeto em ceph. O objeto será salvo e replicado para que, no caso de uma falha no nó, os dados estejam completamente acessíveis?
Obrigado pelas suas respostas
Por padrão, a regra de replicação CRUSH (replicated_ruleset) informa que a replicação está no nível host . Você pode verificar se está exportando o mapa de esmagamento:
ceph osd getcrushmap -o /tmp/compiled_crushmap
crushtool -d /tmp/compiled_crushmap -o /tmp/decompiled_crushmap
O mapa exibirá essas informações:
rule replicated_ruleset {
ruleset 0
type replicated
min_size 1
max_size 10
step take default
step chooseleaf firstn 0 type host
Os tipos de replicação são listados no início do mapa:
# types
type 0 osd
type 1 host
type 2 chassis
type 3 rack
type 4 row
type 5 pdu
type 6 pod
type 7 room
type 8 datacenter
type 9 region
type 10 root
Para chegar ao estado HEALTH_OK e ter seu objeto replicado com base em suas regras, você precisa alterar o tipo de replicação para osd em seu caso específico. O mapa pode ser recompilado executando:
crushtool -c /tmp/decompiled_crushmap -o /tmp/compiled_crushmap
ceph osd setcrushmap -i /tmp/compiled_crushmap
Você pode encontrar mais informações sobre como jogar com o mapa do CRUSH na documentação do ceph: link
O posicionamento de um objeto específico pode ser encontrado usando:
ceph osd map {pool-name} {object-name}
Se você quiser verificar um mapa de todo o objeto, pode fazer isso examinando o despejo do grupo de canais (considere sua própria informação a ser exibida):
ceph pg dump | awk '{print $1 "\t" $2 "\t" $15 "\t" $16}'
Em relação ao OSD, você pode considerar um OSD qualquer tipo de unidade lógica de armazenamento físico (pasta / partição / Volume lógico / disco / LUN)
Tags ceph replication