DRBD no dispositivo de bloco de disco bruto

4

Eu tento configurar o DRBD em um dispositivo de disco bruto /dev/sdb sem tabela de partições, nem a pilha LVM PV / VG / LV

Como este disco é virtual e hypervisor eu uso permitir extensão de disco on-the-fly, eu não quero me preocupar com operações de LVM ou re-particionamento quando chega a hora de estender meu sistema de arquivos DRBD

Minha definição de recurso não pode ser mais simples

resource data {
  device  /dev/drbd1;
  meta-disk internal;
  disk    /dev/sdb;
  on node1 {
    address 10.10.10.16:7789;
  }
  on node2 {
    address 10.10.10.17:7789;
  }
}

Crie trabalhos de metadados

# drbdadm create-md data
initializing activity log
NOT initializing bitmap
Writing meta data...
New drbd meta data block successfully created.

Mas a operação de anexação falha

 # drbdadm attach data
 1: Failure: (127) Device minor not allocated
 additional info from kernel:
 unknown minor
 Command 'drbdsetup-84 attach 1 /dev/sdb /dev/sdb internal' terminated with exit code 10

A mensagem de erro realmente soa como o comando esperar um índice de tabela de partição como código secundário do dispositivo.

Como devo anexar um dispositivo bruto ao recurso DRBD?

    
por Yves Martin 20.09.2016 / 14:55

2 respostas

1

No caso muito específico do pacote Debian DRBD, não há necessidade de operar "anexar dados".

Aqui está a sequência mínima para colocar o DRBD em funcionamento com o Debian:

  • Crie seu arquivo de recursos /etc/drbd.d/data.res em ambos os nós, geralmente para definir /dev/drbd1 (lembre esse número de volume 1 para limpar a operação de bitmap!)
  • Invoque drbdadm create-md data nos dois nós
  • Inicie o serviço em ambos os nós, eles devem esperar um pelo outro para ficarem prontos: systemctl start drbd.service
  • Confirme o estado Connected com drbdadm cstate data . Se não, não vá mais longe até que qualquer problema de inicialização de serviço ou conectividade de rede seja resolvido.
  • Apenas no nó primary , limpe o bitmap para evitar a sincronização inicial inútil: drbdadm -- --clear-bitmap new-current-uuid data/1 (último parâmetro da mente: resourceName/volumeNumber )
  • Apenas no nó primary , promova o nó como primary : drbdadm primary data

A partir desse ponto, no dispositivo primary , /dev/drbd1 está disponível para qualquer operação regular de bloco, como blockdev ou mkfs .

Acione com cuidado a operação de bitmap de limpeza, ele descarta qualquer dado que o nó secundário possa conter. A propósito, é realmente conveniente para a configuração inicial, pois evita que o armazenamento do nó secundário seja totalmente escrito por horas, impondo sua camada de virtualização para alocar blocos no armazenamento, o que é irritante para o provisionamento thin.

    
por 06.12.2016 / 15:58
3

drbdadm attach data não é o único comando que você deseja usar depois de criar os metadados.

Um dos procedimentos a seguir deve funcionar para preparar seu dispositivo:

# drbdadm create-md data
# drbdadm up data

- ou -

# drbdadm create-md data
# drbdsetup-84 new-resource data
# drbdsetup-84 new-minor data 1 0 
# drbdmeta 1 v08 /dev/sdb internal apply-al 
# drbdsetup-84 attach 1 /dev/sdb /dev/sdb internal
# drbdsetup-84 connect data ipv4:10.10.10.16:7789 ipv4:10.10.10.17:7789 --protocol=C

Uma vez feito isso, você terá um dispositivo com um estado de conexão "Conectado" e um estado de disco "Inconsistente / Inconsistente"; este será sempre / somente o caso depois que você criar novos meta-dados em ambos os nós. A partir daí, basta escolher um nó para promover a Primária, o que fará com que o DRBD sincronize a partir da Primária - > Secundário:

# drbdadm primary data --force 

Você nunca deve, em circunstâncias normais, usar "--force" para promover seu dispositivo DRBD de agora em diante.

No entanto, você também disse:

As this disk is virtual and hypervisor I use allow on-the-fly disk extension, I do not want to bother with LVM operations or re-partitioning when comes time to extend my DRBD file system

Isso provavelmente não funcionará com o DRBD. O DRBD coloca seus metadados no final do dispositivo de bloco e, nesses metadados, o número de blocos (e outras coisas) é rastreado. Estender dinamicamente o dispositivo de bloco de apoio provavelmente causará problemas para você.

    
por 21.09.2016 / 16:33

Tags