DRBD 실패: (127) 보조 장치가 할당되지 않았습니다.

DRBD 실패: (127) 보조 장치가 할당되지 않았습니다.

저는 wmware 워크스테이션 OpenVZ 2.6.32-042stab108.2을 사용하여 CentOS 6.6. /dev/sda4나는 또한 그것에 파일 시스템을 만들었습니다. 두 번째 머신은 실제로 호스트 이름과 eth0 IP 주소가 변경된 첫 번째 머신의 가상 디스크를 사용하여 생성됩니다. drbd의 구성 파일은 다음과 같습니다.

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; 
        } 
}

리소스를 생성한 후drbdadm 생성 -md r0, 내가 들어갈 때drbd 서비스가 시작됩니다,나는 얻다:

Failure: (127) Device minor not allocated.

산출drbdadm 모든 덤프도움이 될 수 있습니다:

[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;
    }
}

이 오류의 원인은 무엇이며 이를 완화하는 방법은 무엇입니까? 감사해요!

답변1

방금 동일한 오류가 발생하여 두 번째 노드의 IP 주소에 액세스할 수 없는 것 같습니다. 먼저 서비스 상태를 확인했습니다.

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.

그래서 r0.res에서 두 번째 노드의 IP를 수정했고 새 내용은 다음과 같습니다.

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;
  }

}

그런 다음 리소스를 다시 만들었습니다.

drbdadm create-md r0

그 후 drbd 서비스를 다시 시작했고 모든 것이 예상대로 작동했습니다.

관련 정보