discos Ganeti degradados drbd cs: NetworkFailure

2

Eu tenho uma instância (com 2disks) no Ganeti com ambos os discos degradados (provavelmente devido a um problema de conexão?). Esta instância estava funcionando corretamente por muitos anos até esta manhã.

No meu mestre

$ gnt-instance info myinstance
...
   -disk/0
      on primary:   /dev/drbd4 (147:4) in sync, status *DEGRADED*
      on secondary: /dev/drbd4 (147:4) in sync, status *DEGRADED*
      child devices:
        - child 0: lvm, size 20.0G
          logical_id:   kvmvg/299a0bdf-1acb-4bcd-ac43-eb02b0928757.disk0_data
          on primary:   /dev/kvmvg/299a0bdf-1acb-4bcd-ac43-eb02b0928757.disk0_data (254:10)
          on secondary: /dev/kvmvg/299a0bdf-1acb-4bcd-ac43-eb02b0928757.disk0_data (254:8)
        - child 1: lvm, size 128M
          logical_id:   kvmvg/299a0bdf-1acb-4bcd-ac43-eb02b0928757.disk0_meta
          on primary:   /dev/kvmvg/299a0bdf-1acb-4bcd-ac43-eb02b0928757.disk0_meta (254:11)
          on secondary: /dev/kvmvg/299a0bdf-1acb-4bcd-ac43-eb02b0928757.disk0_meta (254:9)

...

No nó primário

$ cat /proc/drbd
 4: cs:NetworkFailure ro:Primary/Unknown ds:UpToDate/DUnknown C r----
    ns:678399926 nr:0 dw:678315292 dr:25942012 al:22230 bm:16189 lo:0 pe:196 ua:0 ap:195 ep:1 wo:b oos:0

No nó secundário

$ cat /proc/drbd
 4: cs:WFConnection ro:Secondary/Unknown ds:UpToDate/DUnknown C r----
    ns:0 nr:678340009 dw:678340009 dr:0 al:0 bm:14884 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:0

Não consigo reiniciar nem desligar a instância (a operação expirou).

Eu acho que não é um problema de divisão do cérebro porque não há "autônomo" e no nó primário é "Primário / Desconhecido" e no secundário é "Secundário / Desconhecido".

Eu tentei executar "drbdadm connect all" no nó secundário, mas isso não fez nada.

Eu tentei substituir o disco, mas ele falhou:

gnt-instance replace-disks -s myinstance
Thu Jun  2 11:32:00 2016 Replacing disk(s) 0, 1 for myinstancel
Thu Jun  2 11:36:00 2016  - WARNING: Could not prepare block device disk/1 on node primaryNode (is_primary=False, pass=1): Error while assembling disk: drbd5: cannot activate, unknown or unhandled reason
Thu Jun  2 11:38:01 2016  - WARNING: Could not prepare block device disk/0 on node primaryNode (is_primary=True, pass=2): Error while assembling disk: drbd4: cannot activate, unknown or unhandled reason
Thu Jun  2 11:40:02 2016  - WARNING: Could not prepare block device disk/1 on node primaryNode (is_primary=True, pass=2): Error while assembling disk: drbd5: cannot activate, unknown or unhandled reason
Failure: command execution error:
Disk consistency error

E agora parece com isso:

$ gnt-instance info myinstance
...
    -disk/0 
      on primary:   /dev/drbd4 (147:4) in sync, status *DEGRADED*
      (no more secondary)
      child devices:
        - child 0: lvm, size 20.0G
          logical_id:   kvmvg/299a0bdf-1acb-4bcd-ac43-eb02b0928757.disk0_data
          on primary:   /dev/kvmvg/299a0bdf-1acb-4bcd-ac43-eb02b0928757.disk0_data (254:10)
          on secondary: /dev/kvmvg/299a0bdf-1acb-4bcd-ac43-eb02b0928757.disk0_data (254:8)
        - child 1: lvm, size 128M
          logical_id:   kvmvg/299a0bdf-1acb-4bcd-ac43-eb02b0928757.disk0_meta
          on primary:   /dev/kvmvg/299a0bdf-1acb-4bcd-ac43-eb02b0928757.disk0_meta (254:11)
          on secondary: /dev/kvmvg/299a0bdf-1acb-4bcd-ac43-eb02b0928757.disk0_meta (254:9)

No nó primário

$ cat /proc/drbd
 4: cs:NetworkFailure ro:Primary/Unknown ds:UpToDate/DUnknown C r----
    ns:678399926 nr:0 dw:678315292 dr:25942012 al:22230 bm:16189 lo:0 pe:196 ua:0 ap:195 ep:1 wo:b oos:0

E no nó secundário:

$ cat /proc/drbd
...
4: cs:Unconfigured
5: cs:Unconfigured

Alguma ideia de como resolver isso?

Versão do DRBD: 8.3.7

Versão Ganeti: 2.4.5

SO: Debian 6.0

    
por dalf 02.06.2016 / 07:33

1 resposta

2

Depois de investigar um pouco mais, descobri que no nó primário havia o processo kvm zombie:

PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                      
17520 root    20   0     0    0    0 Z  613  0.0  13922:24 kvm <defunct> 

Eu não sabia como me livrar dele adequadamente.

Eu tentei migrar todas as instâncias primárias (eu tinha apenas 2) desse nó, mas isso falhou (erro relacionado ao bdrm). Eu reiniciei o nó. Ao desligar a máquina, ela estava presa por causa do drbd. A mensagem foi algo como:

No response from the DRBD driver! Is the module loaded?

Então eu apertei o botão para desligar a máquina. Máquina reinicializada (sem qualquer erro) e após alguns minutos as instâncias Ganeti iniciaram automaticamente.

No nó principal, eu corri:

$ gnt-instance info myinstance
...
     on primary:   /dev/drbd4 (147:4) *RECOVERING* 12.80%, ETA 288s, status *DEGRADED*
     on secondary: /dev/drbd4 (147:4) *RECOVERING* 12.80%, ETA 275s, status *DEGRADED* *UNCERTAIN STATE*
....

Depois de esperar alguns minutos, a recuperação foi concluída e agora está em sincronia.

Conclusão: está tudo bem agora, mas gostaria de não ter que reiniciar o nó.

Obrigado gf_ pela sua ajuda.

    
por 03.06.2016 / 04:22