Defina CRUSHMAP para 3 vias em um cluster de dois nós

1

Eu tenho um sistema de armazenamento SSD que contém dois nós com 6 unidades SSD. Não é o ideal, e então, em algum momento, vou introduzir outro nó. No momento, estou querendo uma replicação de 3 vias.

Sob uma regra padrão, isso não acontecerá porque só temos dois nós. Então eu pensei em tentar modificar o crushmap e definir o conjunto de regras para os nós de armazenamento SSD para colocar os dados entre os dois nós e o terceiro conjunto pode estar em outro OSD no mesmo nó.

Sendo um novato e não entendendo totalmente como as instruções choose firstn e chooseleaf firstn funcionam, não tenho certeza se isso será o que pretendo.

Aqui está o que eu tenho até agora:

rule ssd-all {
  ruleset 1
  type replicated
  min_size 1
  max_size 5
  step take ssd
  step choose firstn 0 type host
  step chooseleaf firstn 2 type osd
  step emit
}

Em que ssd é um tipo de raiz que contém alguns hosts e esses hosts contendo vários (6) OSDs.

Isso funcionaria? De alguma forma, não acho certo. Eu gostaria de entender melhor quando usar choose e onde usar chooseleaf . E uma melhor compreensão do número após firstn . A documentação está faltando exemplos claros. Ler o whitepaper do CRUSH fez algum sentido, mas o psuedocode não é tão claro para mim. Alguém pode ajudar?

    
por Matt 24.06.2015 / 04:11

1 resposta

0

Acontece que está tudo bem.

rule ssd-all {
  ruleset 1
  type replicated

  # These lines mean ssd-all will be used when the replica 
  # count is between 1 & 5 inclusive
  min_size 1  
  max_size 5

  # Take the top level pool named 'ssd'
  step take ssd

  # Choose all host nodes.  In my case, there are only 2.
  step choose firstn 0 type host

  # Choose up to to 2 leaves of type osd.
  step chooseleaf firstn 2 type osd
  step emit
}

Depois de executar

   crushtool -t crushmap --test --show-statistics --show-mappings --rule 1 --min-x 1 --max-x 10 --num-rep 3

Com vários números de réplicas para --num-rep, parece que as condições são atendidas corretamente. Existem pelo menos três réplicas nos dois hosts com até duas réplicas em um único host em dois sistemas operacionais diferentes.

    
por 08.07.2015 / 23:13

Tags