Falha de DRBD: (127) Dispositivo menor não alocado

1

Eu uso a estação de trabalho wmware para executar duas máquinas virtuais com OpenVZ 2.6.32-042stab108.2 instalado na parte superior em CentOS 6.6 . Eu criei outra partição primária, /dev/sda4 , para configurá-la como recurso drbd. Eu também criei um sistema de arquivos nele. A segunda máquina é realmente criada usando o disco virtual da primeira, com nome de host alterado e endereço ip eth0. O arquivo de configuração do drbd é este:

global { usage-count no; } 
common { syncer { rate 100M; } } 
resource r0 { 
        protocol C; 
        startup { 
                wfc-timeout  15; 
                degr-wfc-timeout 60; 
        } 
        net { 
                cram-hmac-alg sha1; 
                shared-secret "password"; 
        } 
        on primary { 
                device /dev/drbd0; 
                disk /dev/sda4; 
                address 192.168.18.10:7788; 
                meta-disk internal; 
        } 
        on secondary { 
                device /dev/drbd0; 
                disk /dev/sda4; 
                address 192.168.18.20:7788; 
                meta-disk internal; 
        } 
}

Depois de criar o recurso com drbdadm create-md r0 , ao entrar serviço drbd start , recebo:

Failure: (127) Device minor not allocated.

A saída de drbdadm dump all pode ser útil:

[root@primary ~]# drbdadm dump all
# /etc/drbd.conf
# resource r0 on primary: not ignored, not stacked
resource r0 {
    protocol               C;
    on primary {
        device           /dev/drbd0 minor 0;
        disk             /dev/sda4;
        address          ipv4 192.168.18.10:7788;
        meta-disk        internal;
    }
    on secondary {
        device           /dev/drbd0 minor 0;
        disk             /dev/sda4;
        address          ipv4 192.168.18.20:7788;
        meta-disk        internal;
    }
    net {
        cram-hmac-alg    sha1;
        shared-secret    danuts;
    }
    startup {
        wfc-timeout       15;
        degr-wfc-timeout  60;
    }
}

O que está causando esse erro e como ele pode ser atenuado? Obrigado!

    
por Tanatos Daniel 09.06.2015 / 01:52

1 resposta

0

Acabei de ter o mesmo erro, parece que o endereço IP do segundo nó não estava acessível. Primeiro eu verifiquei o status do serviço:

systemctl status drbd.service
â drbd.service - DRBD -- please disable. Unless you are NOT using a cluster manager.
   Loaded: loaded (/usr/lib/systemd/system/drbd.service; disabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since mar. 2018-04-10 16:21:49 CEST; 5s ago
  Process: 3347 ExecStart=/lib/drbd/drbd start (code=exited, status=20)
 Main PID: 3347 (code=exited, status=20)

avril 10 16:21:49 GROESSLTCL0B systemd[1]: Starting DRBD -- please disable. Unless you are NOT using a cluster manager....
avril 10 16:21:49 GROESSLTCL0B drbd[3347]: Starting DRBD resources: drbd.d/r0.res:20: in resource r0, on GROESSLTCL0B:
avril 10 16:21:49 GROESSLTCL0B drbd[3347]: IP 192.168.254.2 not found on this host.
avril 10 16:21:49 GROESSLTCL0B systemd[1]: drbd.service: main process exited, code=exited, status=20/n/a
avril 10 16:21:49 GROESSLTCL0B systemd[1]: Failed to start DRBD -- please disable. Unless you are NOT using a cluster manager..
avril 10 16:21:49 GROESSLTCL0B systemd[1]: Unit drbd.service entered failed state.
avril 10 16:21:49 GROESSLTCL0B systemd[1]: drbd.service failed.

Então eu consertei o IP do segundo nó em r0.res, o novo conteúdo é o seguinte:

resource r0 {
     protocol "C";

  net {
    allow-two-primaries;
    after-sb-0pri discard-zero-changes;
    after-sb-1pri discard-secondary;
    after-sb-2pri disconnect;
  }
  on GROESSLTCL0A {
    device /dev/drbd0;
    disk /dev/sdb;
    address 163.104.8.108:7789;
    meta-disk internal;
   }

  on GROESSLTCL0B {
    device /dev/drbd0;
    disk /dev/sdb;
    address 163.104.8.107:7789;
    meta-disk internal;
  }

}

Então eu recriou o recurso:

drbdadm create-md r0

depois disso eu reiniciei o serviço drbd e tudo estava funcionando como esperado.

    
por 10.04.2018 / 16:25