19.3. 더 이상 사용되지 않거나 누락된 공급자에 대한 오류 식별 및 해결
Directory Server는 복제 토폴로지에 대한 정보를 RUV(복제 업데이트 벡터)라는 메타데이터 세트에 다른 복제본에 보내는 모든 공급업체와 같은 정보를 저장합니다. RUV에는 ID 및 URL, 로컬 서버의 마지막 변경 상태 번호(CSN) 및 첫 번째 변경의 CSN과 같은 공급 업체에 대한 정보가 포함되어 있습니다. 공급업체와 소비자 모두 RUV 정보를 저장하고 복제 업데이트를 제어하는 데 사용합니다.
복제 토폴로지에서 공급업체를 제거해도 다른 복제본의 RUV에 대한 정보는 남아 있을 수 있습니다. cleanallruv 작업을 사용하여 토폴로지의 모든 공급업체를 폼 RUV 항목을 제거할 수 있습니다.
사전 요구 사항
- 복제는 에서 활성화되어 있습니다.
절차
/var/log/dirsrv/slapd-instance_name/errors로그 파일을 모니터링하고 다음과 유사한 항목을 검색합니다.[22/Jan/2021:17:16:01 -0500] NSMMReplicationPlugin - ruv_compare_ruv: RUV [changelog max RUV] does not contain element [{replica 8 ldap://server2.example.com:389} 4aac3e59000000080000 4c6f2a02000000080000] which is present in RUV [database RUV] ... [22/Jan/2021:17:16:01 -0500] NSMMReplicationPlugin - replica_check_for_data_reload: Warning: for replica dc=example,dc=com there were some differences between the changelog max RUV and the database RUV. If there are obsolete elements in the database RUV, you should remove them using the CLEANALLRUV task. If they are not obsolete, you should check their status to see why there are no changes from those servers in the changelog.이 경우 복제본 ID
8으로 인해 이 오류가 발생합니다.유효한 것과 유효하지 않은 RUV 레코드 및 복제본 ID를 모두 표시합니다.
# dsconf -D "cn=Directory Manager" ldap://server1.example.com replication get-ruv --suffix "dc=example,dc=com" RUV: {replica 1 ldap://server1.example.com} 61a4d8f8000100010000 61a4f5b8000000010000 Replica ID: 1 LDAP URL: ldap://server1.example.com Min CSN: 2021-11-29 13:43:20 1 0 (61a4d8f8000100010000) Max CSN: 2021-11-29 15:46:00 (61a4f5b8000000010000) RUV: {replica 2 ldap://server2.example.com} 61a4d8fb000100020000 61a4f550000000020000 Replica ID: 2 LDAP URL: ldap://server2.example.com Min CSN: 2021-11-29 13:43:23 1 0 (61a4d8fb000100020000) Max CSN: 2021-11-29 15:44:16 (61a4f550000000020000) RUV: {replica 8 ldap://server3.example.com} 61a4d903000100080000 61a4d908000000080000 Replica ID: 8 LDAP URL: ldap://server3.example.com Min CSN: 2021-11-29 13:43:31 1 0 (61a4d903000100080000) Max CSN: 2021-11-29 13:43:36 (61a4d908000000080000)반환된 복제본 ID 목록을 기록해 둡니다.
1,2,8.복제본 ID
8에 대해 정리 작업을 실행합니다.#
dsconf -D "cn=Directory Manager" ldap://server1.example.com repl-tasks cleanallruv --suffix="dc=example,dc=com" --replica-id=8Directory Server는 RUV 정리 작업을 복제합니다. 따라서 하나의 공급 업체에서만 작업을 시작해야합니다.
복제본 중 하나를 조인할 수 없는 경우, 예를 들어 다운된 경우
--force-cleaning옵션을 사용하여 RUV를 즉시 정리할 수 있습니다.
검증
RUV 레코드 및 복제본 ID를 표시합니다.
# dsconf -D "cn=Directory Manager" ldap://server1.example.com replication get-ruv --suffix "dc=example,dc=com" RUV: {replica 1 ldap://server1.example.com} 61a4d8f8000100010000 61a4f5b8000000010000 Replica ID: 1 LDAP URL: ldap://server1.example.com Min CSN: 2021-11-29 14:02:10 1 0 (61a4d8f8000100010000) Max CSN: 2021-11-29 16:00:00 (61a4f5b8000000010000) RUV: {replica 2 ldap://server2.example.com} 61a4d8fb000100020000 61a4f550000000020000 Replica ID: 2 LDAP URL: ldap://server2.example.com Min CSN: 2021-11-29 14:02:10 1 0 (61a4d8fb000100020000) Max CSN: 2021-11-29 15:58:22 (61a4f550000000020000)명령에서 더 이상 복제본 ID
8의 RUV 항목을 반환하지 않습니다.