복제 구성 및 관리
다른 Directory Server 인스턴스에 데이터 복제
초록
Red Hat Directory Server에 대한 피드백 제공 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat의 문서 및 제품에 대한 의견을 제공해 주셔서 감사합니다. Red Hat이 어떻게 이를 개선할 수 있는지 알려 주십시오. 이렇게 하려면 다음을 수행합니다.
Jira (계정 필요)를 통해 Red Hat Directory Server 설명서에 피드백을 제출하려면 다음을 수행합니다.
- Red Hat 문제 추적기 로 이동하십시오.
- 요약 필드에 설명 제목을 입력합니다.
- 설명 필드에 개선을 위한 제안을 입력합니다. 문서의 관련 부분에 대한 링크를 포함합니다.
- 대화 상자 하단에서 생성 을 클릭합니다.
Jira를 통해 Red Hat Directory Server 제품에 대한 피드백을 제출하기 위해 필요한 경우:
- Red Hat 문제 추적기 로 이동하십시오.
- 문제 생성 페이지에서 클릭합니다.
- Summary 필드를 입력합니다.
- Component 필드에서 구성 요소를 선택합니다.
다음을 포함하여 Description 필드를 작성합니다.
- 선택한 구성 요소의 버전 번호입니다.
- 문제 또는 개선을 위한 제안을 재현하는 단계입니다.
- 생성을 클릭합니다.
1장. 명령줄을 사용하여 단일 공급 업체 복제 구성 링크 복사링크가 클립보드에 복사되었습니다!
단일 공급 후속 복제 환경에서 쓰기 가능한 하나의 공급업체는 하나 또는 여러 개의 읽기 전용 소비자에 데이터를 복제합니다. 예를 들어 접미사가 많은 수의 검색 요청을 수신하지만 적은 수의 쓰기 요청만 수신하는 경우 단일 공급값 복제를 설정합니다. 부하를 분산하기 위해 고객은 읽기 전용 소비자에서 접미사를 검색하고 공급 업체에게 쓰기 요청을 보낼 수 있습니다.
이 섹션에서는 복제 토폴로지의 공급업체 역할을 할 vendor.example.com 이라는 호스트에서 실행 중인 기존 Directory Server 인스턴스가 있다고 가정합니다. 이 절차에서는 consumer.example.com 이라는 읽기 전용 소비자를 토폴로지에 추가하는 방법과 dc=example,dc=com 접미사에 대한 단일 공급 업체 복제를 구성하는 방법을 설명합니다.
1.1. 명령줄을 사용하여 새 소비자 준비 링크 복사링크가 클립보드에 복사되었습니다!
consumer.example.com 호스트를 준비하려면 복제를 활성화합니다. 이 프로세스는 다음과 같습니다.
- 복제 토폴로지에서 이 서버의 역할을 설정합니다.
- 복제되는 접미사를 정의합니다.
- 공급업체가 이 호스트에 연결하는 데 사용하는 복제 관리자 계정을 생성합니다.
복제 토폴로지에 추가할 소비자에서 다음 절차를 수행합니다.
사전 요구 사항
- Directory Server 인스턴스가 설치되어 있어야 합니다. 자세한 내용은 .inf 파일을 사용하여 명령줄에서 새 인스턴스 설정을 참조하십시오.
-
dc=example,dc=com접미사의 데이터베이스가 있습니다.
절차
dc=example,dc=com접미사의 복제를 활성화합니다.dsconf -D "cn=Directory Manager" ldap://consumer.example.com replication enable --suffix "dc=example,dc=com" --role "consumer" --bind-dn "cn=replication manager,cn=config" --bind-passwd "password"
# dsconf -D "cn=Directory Manager" ldap://consumer.example.com replication enable --suffix "dc=example,dc=com" --role "consumer" --bind-dn "cn=replication manager,cn=config" --bind-passwd "password"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령은
dc=example,dc=com접미사의 소비자로consumer.example.com호스트를 구성합니다. 또한 이 명령은 지정된 암호를 사용하여cn=replication manager,cn=config사용자를 생성하고 이 계정에서 이 호스트에 대한 접미사 변경 사항을 복제할 수 있습니다.
검증
복제 구성을 표시합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이러한 매개변수는 다음을 나타냅니다.
-
nsDS5ReplicaBindDN은 복제 관리자 계정을 지정합니다. -
nsDS5ReplicaRoot는 복제된 접미사를 설정합니다. -
nsDS5ReplicaType을2로 설정하면 이 호스트가 소비자임을 정의합니다.
-
1.2. 명령줄을 사용하여 기존 서버를 소비자에게 공급업체로 구성 링크 복사링크가 클립보드에 복사되었습니다!
provider .example.com 호스트를 준비하려면 다음을 수행해야합니다.
- 접미사에 대한 복제를 활성화합니다.
- 소비자에 대한 복제 계약을 만듭니다.
- 소비자를 초기화합니다.
복제 토폴로지의 기존 공급 업체에 대해 이 절차를 수행하십시오.
사전 요구 사항
-
소비자의
dc=example,dc=com접미사에 대한 복제를 활성화했습니다.
절차
dc=example,dc=com접미사의 복제를 활성화합니다.dsconf -D "cn=Directory Manager" ldap://supplier.example.com replication enable --suffix "dc=example,dc=com" --role "supplier" --replica-id 1
# dsconf -D "cn=Directory Manager" ldap://supplier.example.com replication enable --suffix "dc=example,dc=com" --role "supplier" --replica-id 1Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령은 provider
.example.com 호스트를구성하고 이 항목의 복제본 ID를dc=example,dc=com접미사의 공급업체로1로 설정합니다.중요복제본 ID는 토폴로지의 모든 공급자의 접미사에 대해
1에서65534사이의 고유 정수여야 합니다.복제 계약을 추가하고 소비자를 초기화합니다.
dsconf -D "cn=Directory Manager" ldap://supplier.example.com repl-agmt create --suffix "dc=example,dc=com" --host "consumer.example.com" --port 389 --conn-protocol=LDAP --bind-dn "cn=replication manager,cn=config" --bind-passwd "password" --bind-method=SIMPLE --init example-agreement
# dsconf -D "cn=Directory Manager" ldap://supplier.example.com repl-agmt create --suffix "dc=example,dc=com" --host "consumer.example.com" --port 389 --conn-protocol=LDAP --bind-dn "cn=replication manager,cn=config" --bind-passwd "password" --bind-method=SIMPLE --init example-agreementCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령은
example-agreement라는 복제 계약을 생성합니다. 복제 계약은 공급업체가 이 소비자에게 데이터를 연결하고 복제할 때 사용하는 소비자의 호스트 이름, 프로토콜 및 인증 정보와 같은 설정을 정의합니다.계약이 생성되면 Directory Server가
consumer.example.com을 초기화합니다. 복제할 데이터의 양에 따라 초기화 시간이 오래 걸릴 수 있습니다.
검증
복제 구성을 표시합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이러한 매개변수는 다음을 나타냅니다.
-
nsDS5ReplicaRoot는 복제된 접미사를 설정합니다. -
nsDS5ReplicaType을3으로 설정하면 이 호스트가 공급업체임을 정의합니다.
-
초기화에 성공했는지 확인합니다.
dsconf -D "cn=Directory Manager" ldap://supplier.example.com repl-agmt init-status --suffix "dc=example,dc=com" example-agreement Agreement successfully initialized.
# dsconf -D "cn=Directory Manager" ldap://supplier.example.com repl-agmt init-status --suffix "dc=example,dc=com" example-agreement Agreement successfully initialized.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 복제 상태를 표시합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 복제 상태및마지막 업데이트 상태필드를 확인합니다.
문제 해결
기본적으로 서버의 모든 계약에 대한 복제 유휴 타임아웃은 1시간입니다. 시간 초과로 인해 대규모 데이터베이스를 초기화하지 못하는 경우
nsslapd-idletimeout매개변수를 더 높은 값으로 설정합니다. 예를 들어 매개변수를7200(2시간)으로 설정하려면 다음을 입력합니다.dsconf -D "cn=Directory Manager" ldap://supplier.example.com config replace nsslapd-idletimeout=7200
# dsconf -D "cn=Directory Manager" ldap://supplier.example.com config replace nsslapd-idletimeout=7200Copy to Clipboard Copied! Toggle word wrap Toggle overflow 무제한 기간을 설정하려면
nsslapd-idletimeout을0으로 설정합니다.
2장. 웹 콘솔을 사용한 단일 제공 복제 구성 링크 복사링크가 클립보드에 복사되었습니다!
단일 공급 후속 복제 환경에서 쓰기 가능한 하나의 공급업체는 하나 또는 여러 개의 읽기 전용 소비자에 데이터를 복제합니다. 예를 들어 접미사가 많은 수의 검색 요청을 수신하지만 적은 수의 쓰기 요청만 수신하는 경우 단일 공급값 복제를 설정합니다. 부하를 분산하기 위해 고객은 읽기 전용 소비자에서 접미사를 검색하고 공급 업체에게 쓰기 요청을 보낼 수 있습니다.
이 섹션에서는 복제 토폴로지의 공급업체 역할을 할 vendor.example.com 이라는 호스트에서 실행 중인 기존 Directory Server 인스턴스가 있다고 가정합니다. 이 절차에서는 consumer.example.com 이라는 읽기 전용 소비자를 토폴로지에 추가하는 방법과 dc=example,dc=com 접미사에 대한 단일 공급 업체 복제를 구성하는 방법을 설명합니다.
2.1. 웹 콘솔을 사용하여 새 소비자 준비 링크 복사링크가 클립보드에 복사되었습니다!
consumer.example.com 호스트를 준비하려면 복제를 활성화합니다. 이 프로세스는 다음과 같습니다.
- 복제 토폴로지에서 이 서버의 역할을 설정합니다.
- 복제되는 접미사를 정의합니다.
- 공급업체가 이 호스트에 연결하는 데 사용하는 복제 관리자 계정을 생성합니다.
복제 토폴로지에 추가할 소비자에서 다음 절차를 수행합니다.
사전 요구 사항
- Directory Server 인스턴스가 설치되어 있어야 합니다. 자세한 내용은 웹 콘솔을 사용하여 새 인스턴스 설정을 참조하십시오.
-
dc=example,dc=com접미사의 데이터베이스가 있습니다. - 웹 콘솔에서 인스턴스에 로그인되어 있습니다.
절차
-
복제메뉴를 엽니다. -
dc=example,dc=com접미사를 선택합니다. - 클릭합니다.
복제 역할필드에서Consumer를 선택하고 복제 관리자 계정과 암호를 입력하여 만듭니다.이러한 설정은 호스트를
dc=example,dc=com접미사의 소비자로 구성합니다. 또한 서버는cn=replication manager,cn=config사용자를 생성하고 이 계정에서 이 호스트에 대한 접미사 변경 사항을 복제할 수 있습니다.- 클릭합니다.
검증
-
복제메뉴를 엽니다. -
dc=example,dc=com접미사를 선택합니다. -
Replica Role필드에Consumer값이 포함되어 있으면 복제가 활성화되고 호스트는 소비자로 구성됩니다.
2.2. 웹 콘솔을 사용하여 기존 서버를 소비자에게 공급업체로 구성 링크 복사링크가 클립보드에 복사되었습니다!
provider .example.com 호스트를 준비하려면 다음을 수행해야합니다.
- 접미사에 대한 복제를 활성화합니다.
- 소비자에 대한 복제 계약을 만듭니다.
- 소비자를 초기화합니다.
복제 토폴로지의 기존 공급 업체에 대해 이 절차를 수행하십시오.
사전 요구 사항
-
소비자의
dc=example,dc=com접미사에 대한 복제를 활성화했습니다. - 웹 콘솔에서 인스턴스에 로그인되어 있습니다.
절차
-
복제메뉴를 엽니다. -
dc=example,dc=com접미사를 선택합니다. 복제를 활성화합니다.
- 클릭합니다.
복제 역할필드에서 provider를 선택하고 복제본 ID, 복제 관리자 자격 증명을 입력하고Bind Group DN필드를 비워 둡니다.이 설정은 호스트를
dc=example,dc=com접미사의 공급업체로 구성하고 이 항목의 복제본 ID를1로 설정합니다.중요복제본 ID는 토폴로지의 모든 공급자의 접미사에 대해
1에서65534사이의 고유 정수여야 합니다.- 클릭합니다.
복제 계약을 추가하고 소비자를 초기화합니다.
계약 탭에서 생성을클릭하고 필드를 작성합니다.이러한 설정은
example-agreement라는 복제 계약을 생성합니다. 복제 계약은 공급업체가 이 소비자에게 데이터를 연결하고 복제할 때 사용하는 소비자의 호스트 이름, 프로토콜 및 인증 정보와 같은 설정을 정의합니다.-
Consumer Initialization필드에서Do Online Initialization을 선택하여 계약을 저장한 후 소비자를 자동으로 초기화합니다. 를 클릭합니다.
계약이 생성되면 Directory Server가
consumer.example.com을 초기화합니다. 복제할 데이터의 양에 따라 초기화 시간이 오래 걸릴 수 있습니다.
검증
-
복제메뉴를 엽니다. -
dc=example,dc=com접미사를 선택합니다. 계약탭에서 테이블의State열에 있는 연결 상태를 확인합니다.
3장. 명령줄을 사용하여 다중 공급 업체 복제 구성 링크 복사링크가 클립보드에 복사되었습니다!
다중 공급 업체의 복제 환경에서 두 개 이상의 쓰기 가능한 공급업체가 서로 데이터를 복제합니다. 예를 들어 장애 조치(fail-over) 환경을 제공하고 여러 서버에 부하를 분산하도록 다중 제공 복제를 설정합니다. 그러면 클라이언트는 읽기-쓰기 복제본인 모든 호스트에서 읽기 및 쓰기 작업을 수행할 수 있습니다.
이 섹션에서는 provider 1.example.com 이라는 호스트에서 실행 중인 기존 Directory Server 인스턴스가 있다고 가정합니다. 이 절차에서는 provider 2.example.com이라는 다른 읽기-쓰기 복제본을 토폴로지에 추가하는 방법과 접미사에 대한 다중 공급 업체 복제를 구성하는 방법을 설명합니다.
dc=example,dc=com
3.1. 명령줄을 사용하여 새 공급자 준비 링크 복사링크가 클립보드에 복사되었습니다!
provider 2.example.com 호스트를 준비하려면 복제를 활성화합니다. 이 프로세스는 다음과 같습니다.
- 복제 토폴로지에서 이 서버의 역할을 설정합니다.
- 복제되는 접미사를 정의합니다.
- 공급업체가 이 호스트에 연결하는 데 사용하는 복제 관리자 계정을 생성합니다.
복제 토폴로지에 추가하려는 공급업체에 대해 이 절차를 수행합니다.
사전 요구 사항
- Directory Server 인스턴스가 설치되어 있어야 합니다. 자세한 내용은 .inf 파일을 사용하여 명령줄에서 새 인스턴스 설정을 참조하십시오.
-
dc=example,dc=com접미사의 데이터베이스가 있습니다.
절차
dc=example,dc=com접미사의 복제를 활성화합니다.dsconf -D "cn=Directory Manager" ldap://supplier2.example.com replication enable --suffix "dc=example,dc=com" --role "supplier" --replica-id 1 --bind-dn "cn=replication manager,cn=config" --bind-passwd "password"
# dsconf -D "cn=Directory Manager" ldap://supplier2.example.com replication enable --suffix "dc=example,dc=com" --role "supplier" --replica-id 1 --bind-dn "cn=replication manager,cn=config" --bind-passwd "password"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령은 provider
2.example.com 호스트를구성하고 이 항목의 복제본 ID를dc=example,dc=com접미사의 공급업체로1로 설정합니다. 또한 이 명령은 지정된 암호를 사용하여cn=replication manager,cn=config사용자를 생성하고 이 계정에서 이 호스트에 대한 접미사 변경 사항을 복제할 수 있습니다.중요복제본 ID는 토폴로지의 모든 공급자의 접미사에 대해
1에서65534사이의 고유 정수여야 합니다.
검증
복제 구성을 표시합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이러한 매개변수는 다음을 나타냅니다.
-
nsDS5ReplicaBindDN은 복제 관리자 계정을 지정합니다. -
nsDS5ReplicaRoot는 복제된 접미사를 설정합니다. -
nsDS5ReplicaType을3으로 설정하면 이 호스트가 공급업체임을 정의합니다.
-
3.2. 명령줄을 사용하여 기존 서버를 새 서버에 공급업체로 구성 링크 복사링크가 클립보드에 복사되었습니다!
기존 서버 provider 1.example.com 을 공급업체로 준비하려면 다음을 수행해야 합니다.
- 접미사에 대한 복제를 활성화합니다.
- 새로운 공급 업체에 대한 복제 계약을 작성하십시오.
- 새 공급자를 초기화합니다.
복제 토폴로지의 기존 공급 업체에 대해 이 절차를 수행하십시오.
사전 요구 사항
-
공급업체의
dc=example,dc=com접미사에 대한 복제를 활성화했습니다.
절차
dc=example,dc=com접미사의 복제를 활성화합니다.dsconf -D "cn=Directory Manager" ldap://supplier1.example.com replication enable --suffix "dc=example,dc=com" --role "supplier" --replica-id 2 --bind-dn "cn=replication manager,cn=config" --bind-passwd "password"
# dsconf -D "cn=Directory Manager" ldap://supplier1.example.com replication enable --suffix "dc=example,dc=com" --role "supplier" --replica-id 2 --bind-dn "cn=replication manager,cn=config" --bind-passwd "password"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령은 provider
1.example.com 호스트를구성하고 이 항목의 복제본 ID를dc=example,dc=com접미사의 공급업체로2로 설정합니다. 또한 이 명령은 지정된 암호를 사용하여cn=replication manager,cn=config사용자를 생성하고 이 계정에서 이 호스트에 대한 접미사 변경 사항을 복제할 수 있습니다.중요복제본 ID는 토폴로지의 모든 공급자의 접미사에 대해
1에서65534사이의 고유 정수여야 합니다.복제 계약을 추가하고 새 서버를 초기화합니다.
dsconf -D "cn=Directory Manager" ldap://supplier1.example.com repl-agmt create --suffix "dc=example,dc=com" --host "supplier2.example.com" --port 389 --conn-protocol LDAP --bind-dn "cn=replication manager,cn=config" --bind-passwd "password" --bind-method SIMPLE --init example-agreement-supplier1-to-supplier2
# dsconf -D "cn=Directory Manager" ldap://supplier1.example.com repl-agmt create --suffix "dc=example,dc=com" --host "supplier2.example.com" --port 389 --conn-protocol LDAP --bind-dn "cn=replication manager,cn=config" --bind-passwd "password" --bind-method SIMPLE --init example-agreement-supplier1-to-supplier2Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령은
example-agreement-supplier1-to-supplier2라는 복제 계약을 생성합니다. 복제 계약은 공급업체가 새로운 공급 업체에 데이터를 연결하고 복제할 때 사용하는 새로운 공급업체의 호스트 이름, 프로토콜 및 인증 정보와 같은 설정을 정의합니다.계약이 생성된 후 Directory Server는 provider
2.example.com을 초기화합니다. 복제할 데이터의 양에 따라 초기화 시간이 오래 걸릴 수 있습니다.
검증
복제 구성을 표시합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이러한 매개변수는 다음을 나타냅니다.
-
nsDS5ReplicaBindDN은 복제 관리자 계정을 지정합니다. -
nsDS5ReplicaRoot는 복제된 접미사를 설정합니다. -
nsDS5ReplicaType을3으로 설정하면 이 호스트가 공급업체임을 정의합니다.
-
초기화에 성공했는지 확인합니다.
dsconf -D "cn=Directory Manager" ldap://supplier1.example.com repl-agmt init-status --suffix "dc=example,dc=com" example-agreement-supplier1-to-supplier2 Agreement successfully initialized.
# dsconf -D "cn=Directory Manager" ldap://supplier1.example.com repl-agmt init-status --suffix "dc=example,dc=com" example-agreement-supplier1-to-supplier2 Agreement successfully initialized.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 복제 상태를 표시합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 복제 상태및마지막 업데이트 상태필드를 확인합니다.
문제 해결
기본적으로 서버의 모든 계약에 대한 복제 유휴 타임아웃은 1시간입니다. 시간 초과로 인해 대규모 데이터베이스를 초기화하지 못하는 경우
nsslapd-idletimeout매개변수를 더 높은 값으로 설정합니다. 예를 들어 매개변수를7200(2시간)으로 설정하려면 다음을 입력합니다.dsconf -D "cn=Directory Manager" ldap://supplier1.example.com config replace nsslapd-idletimeout=7200
# dsconf -D "cn=Directory Manager" ldap://supplier1.example.com config replace nsslapd-idletimeout=7200Copy to Clipboard Copied! Toggle word wrap Toggle overflow 무제한 기간을 설정하려면
nsslapd-idletimeout을0으로 설정합니다.
3.3. 명령줄을 사용하여 새 서버를 기존 서버에 공급업체로 구성 링크 복사링크가 클립보드에 복사되었습니다!
새로운 서버 provider 2.example.com 을 공급업체로 준비하려면 다음 방법 중 하나를 사용합니다.
- 접미사에 대한 복제를 활성화합니다.
- 기존 서버에 대한 복제 계약을 만듭니다.
새 서버에서 기존 공급업체를 초기화하지 마십시오. 그렇지 않으면 새 서버의 빈 데이터베이스가 기존 공급업체의 데이터베이스를 덮어씁니다.
기존 공급자에게 다음 절차를 적용합니다.
- 새 서버에 대한 복제 계약을 만듭니다.
- 새 서버를 초기화합니다.
사전 요구 사항
-
새 서버에서
dc=example,dc=com접미사에 대한 복제를 활성화했습니다. -
기존 서버에서
dc=example,dc=com접미사에 대한 복제를 활성화했습니다. - 연결할 새 서버가 초기화됩니다.
절차
기존 인스턴스에 복제 계약을 추가합니다.
dsconf -D "cn=Directory Manager" ldap://supplier2.example.com repl-agmt create --suffix "dc=example,dc=com" --host "supplier1.example.com" --port 389 --conn-protocol LDAP --bind-dn "cn=replication manager,cn=config" --bind-passwd "password" --bind-method SIMPLE example-agreement-supplier2-to-supplier1
# dsconf -D "cn=Directory Manager" ldap://supplier2.example.com repl-agmt create --suffix "dc=example,dc=com" --host "supplier1.example.com" --port 389 --conn-protocol LDAP --bind-dn "cn=replication manager,cn=config" --bind-passwd "password" --bind-method SIMPLE example-agreement-supplier2-to-supplier1Copy to Clipboard Copied! Toggle word wrap Toggle overflow --init옵션을 사용하여 새 인스턴스에 복제 계약을 추가합니다.dsconf -D "cn=Directory Manager" ldap://supplier1.example.com repl-agmt create --suffix "dc=example,dc=com" --host "supplier2.example.com" --port 389 --conn-protocol LDAP --bind-dn "cn=replication manager,cn=config" --bind-passwd "password" --bind-method SIMPLE --init example-agreement-supplier1-to-supplier2
# dsconf -D "cn=Directory Manager" ldap://supplier1.example.com repl-agmt create --suffix "dc=example,dc=com" --host "supplier2.example.com" --port 389 --conn-protocol LDAP --bind-dn "cn=replication manager,cn=config" --bind-passwd "password" --bind-method SIMPLE --init example-agreement-supplier1-to-supplier2Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
계약 상태를 표시합니다.
dsconf -D "cn=Directory Manager" ldap://supplier2.example.com repl-agmt init-status --suffix "dc=example,dc=com" example-agreement-supplier2-to-supplier1 Agreement successfully initialized.
# dsconf -D "cn=Directory Manager" ldap://supplier2.example.com repl-agmt init-status --suffix "dc=example,dc=com" example-agreement-supplier2-to-supplier1 Agreement successfully initialized.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 복제 상태를 표시합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 복제 상태및마지막 업데이트 상태필드를 확인합니다.
문제 해결
기본적으로 서버의 모든 계약에 대한 복제 유휴 타임아웃은 1시간입니다. 시간 초과로 인해 대규모 데이터베이스를 초기화하지 못하는 경우
nsslapd-idletimeout매개변수를 더 높은 값으로 설정합니다. 예를 들어 매개변수를7200(2시간)으로 설정하려면 다음을 입력합니다.dsconf -D "cn=Directory Manager" ldap://supplier2.example.com config replace nsslapd-idletimeout=7200
# dsconf -D "cn=Directory Manager" ldap://supplier2.example.com config replace nsslapd-idletimeout=7200Copy to Clipboard Copied! Toggle word wrap Toggle overflow 무제한 기간을 설정하려면
nsslapd-idletimeout을0으로 설정합니다.
4장. 웹 콘솔을 사용하여 다중 공급 업체 복제 구성 링크 복사링크가 클립보드에 복사되었습니다!
다중 공급 업체의 복제 환경에서 두 개 이상의 쓰기 가능한 공급업체가 서로 데이터를 복제합니다. 예를 들어 장애 조치(fail-over) 환경을 제공하고 여러 서버에 부하를 분산하도록 다중 제공 복제를 설정합니다. 그러면 클라이언트는 읽기-쓰기 복제본인 모든 호스트에서 읽기 및 쓰기 작업을 수행할 수 있습니다.
이 섹션에서는 provider 1.example.com 이라는 호스트에서 실행 중인 기존 Directory Server 인스턴스가 있다고 가정합니다. 이 절차에서는 provider 2.example.com이라는 다른 읽기-쓰기 복제본을 토폴로지에 추가하는 방법과 접미사에 대한 다중 공급 업체 복제를 구성하는 방법을 설명합니다.
dc=example,dc=com
4.1. 웹 콘솔을 사용하여 새 공급자 준비 링크 복사링크가 클립보드에 복사되었습니다!
provider 2.example.com 호스트를 준비하려면 복제를 활성화합니다. 이 프로세스는 다음과 같습니다.
- 복제 토폴로지에서 이 서버의 역할을 설정합니다.
- 복제되는 접미사를 정의합니다.
- 공급업체가 이 호스트에 연결하는 데 사용하는 복제 관리자 계정을 생성합니다.
복제 토폴로지에 추가하려는 공급업체에 대해 이 절차를 수행합니다.
사전 요구 사항
- Directory Server 인스턴스가 설치되어 있어야 합니다. 자세한 내용은 웹 콘솔을 사용하여 새 인스턴스 설정을 참조하십시오.
-
dc=example,dc=com접미사의 데이터베이스가 있습니다. - 웹 콘솔에서 인스턴스에 로그인되어 있습니다.
절차
-
복제메뉴를 엽니다. -
dc=example,dc=com접미사를 선택합니다. 복제를 활성화합니다.
- 클릭합니다.
복제 역할필드에서 device를 선택하고, 복제본 ID와 생성할 복제 관리자 계정의 고유 이름(DN) 및 암호를 입력합니다.이 설정은 호스트를
dc=example,dc=com접미사의 공급업체로 구성하고 이 항목의 복제본 ID를1로 설정합니다.중요복제본 ID는 토폴로지의 모든 공급자의 접미사에 대해
1에서65534사이의 고유 정수여야 합니다.복제 관리자 DN이 없는 경우 바인딩 그룹 DN을 설정합니다. 그러면 복제 계약에 이 그룹의 멤버를 사용할 수 있습니다.
- 클릭합니다.
검증
-
복제메뉴를 엽니다. -
dc=example,dc=com접미사를 선택합니다. -
Replica Role필드에eginvalue가 포함된 경우 복제가 활성화되고 호스트는 공급업체로 구성됩니다.
4.2. 웹 콘솔을 사용하여 기존 서버를 새 서버에 공급업체로 구성 링크 복사링크가 클립보드에 복사되었습니다!
기존 서버 provider 1.example.com 을 공급업체로 준비하려면 다음을 수행해야 합니다.
- 접미사에 대한 복제를 활성화합니다.
- 새로운 공급 업체에 대한 복제 계약을 작성하십시오.
- 새 공급자를 초기화합니다.
복제 토폴로지의 기존 공급 업체에 대해 이 절차를 수행하십시오.
사전 요구 사항
-
공급업체의
dc=example,dc=com접미사에 대한 복제를 활성화했습니다. - 웹 콘솔에서 인스턴스에 로그인되어 있습니다.
절차
-
복제메뉴를 엽니다. -
dc=example,dc=com접미사를 선택합니다. 복제를 활성화합니다.
- 클릭합니다.
복제 역할필드에서 device를 선택하고, 복제본 ID와 생성할 복제 관리자 계정의 고유 이름(DN) 및 암호를 입력합니다.이 설정은 호스트를
dc=example,dc=com접미사의 공급업체로 구성하고 이 항목의 복제본 ID를2로 설정합니다.중요복제본 ID는 토폴로지의 모든 공급자의 접미사에 대해
1에서65534사이의 고유 정수여야 합니다.- 클릭합니다.
복제 계약을 추가하고 새 서버를 초기화합니다.
계약 탭에서 생성을클릭하고 필드를 작성합니다.이러한 설정은
example-agreement-supplier1-to-supplier2라는 복제 계약을 생성합니다. 복제 계약은 공급업체가 새로운 공급 업체에 데이터를 연결하고 복제할 때 사용하는 새로운 공급업체의 호스트 이름, 프로토콜 및 인증 정보와 같은 설정을 정의합니다.-
Consumer Initialization필드에서Do Online Initialization을 선택하여 계약을 저장한 후 새 서버를 자동으로 초기화합니다. 를 클릭합니다.
계약이 생성된 후 Directory Server는 provider
2.example.com을 초기화합니다. 복제할 데이터의 양에 따라 초기화 시간이 오래 걸릴 수 있습니다.
검증
-
복제메뉴를 엽니다. -
dc=example,dc=com접미사를 선택합니다. 계약탭에서 테이블의State열에 있는 연결 상태를 확인합니다.
4.3. 웹 콘솔을 사용하여 기존 서버에 새 서버를 공급업체로 구성 링크 복사링크가 클립보드에 복사되었습니다!
새로운 서버 provider 2.example.com 을 공급업체로 준비하려면 다음을 수행해야 합니다.
- 접미사에 대한 복제를 활성화합니다.
- 기존 서버에 대한 복제 계약을 만듭니다.
- 기존 서버를 초기화합니다.
복제 토폴로지의 기존 공급 업체에 대해 이 절차를 수행하십시오.
기존 서버에서 복제 계약을 초기화하지 않은 경우 계속 진행하지 마십시오. 그렇지 않으면 새 서버의 빈 데이터베이스가 기존 공급업체의 데이터베이스를 덮어씁니다.
사전 요구 사항
-
새 서버에서
dc=example,dc=com접미사에 대한 복제를 활성화했습니다. -
기존 서버에서
dc=example,dc=com접미사에 대한 복제를 활성화했습니다. - 연결할 새 서버가 초기화됩니다.
- 웹 콘솔에서 인스턴스에 로그인되어 있습니다.
절차
-
복제메뉴를 엽니다. -
dc=example,dc=com접미사를 선택합니다. 복제 계약을 추가하고 기존 서버를 초기화합니다.
계약 탭에서 생성을클릭하고 필드를 작성합니다.이러한 설정으로
example-agreement-supplier2-to-supplier1이라는 복제 계약이 생성됩니다. 복제 계약은 공급업체가 기존 공급자에게 데이터를 연결하고 복제할 때 사용하는 기존 서버의 호스트 이름, 프로토콜 및 인증 정보와 같은 설정을 정의합니다.-
Consumer Initialization필드에서Do Online Initialization을 선택하여 계약을 저장한 후 새 서버를 자동으로 초기화합니다. 를 클릭합니다.
계약이 생성된 후 Directory Server는 provider
1.example.com을 초기화합니다. 복제할 데이터의 양에 따라 초기화 시간이 오래 걸릴 수 있습니다.
검증
-
복제메뉴를 엽니다. -
dc=example,dc=com접미사를 선택합니다. 계약탭에서 테이블의State열에 있는 연결 상태를 확인합니다.
5장. 인증서 기반 인증을 사용하여 다중 공급 업체 복제 구성 링크 복사링크가 클립보드에 복사되었습니다!
두 개의 Directory Server 인스턴스 간에 복제를 설정할 때 바인딩 DN과 암호를 사용하여 복제 파트너에 인증하는 대신 인증서 기반 인증을 사용할 수 있습니다.
복제 토폴로지에 새 서버를 추가하고 인증서 기반 인증을 사용하여 새 호스트와 기존 서버 간에 복제 계약을 설정하면 됩니다.
인증서 기반 인증에는 TLS 암호화 연결이 필요합니다.
5.1. 인증서 기반 인증과 복제 계약에 사용할 계정 및 바인딩 그룹 준비 링크 복사링크가 클립보드에 복사되었습니다!
복제 계약에 인증서 기반 인증을 사용하려면 먼저 계정을 준비하고 이러한 계정의 userCertificate 속성에 클라이언트 인증서를 저장합니다. 또한 이 절차에서는 나중에 복제 계약에 사용하는 바인딩 그룹을 생성합니다.
기존 호스트 server1.example.com 에서 이 절차를 수행합니다.
사전 요구 사항
- Directory Server에서 TLS 암호화를 사용하도록 설정했습니다.
클라이언트 인증서를 DER(고유 인코딩 규칙) 형식으로
/root/server1.der및/root/server2.der파일에 저장했습니다.클라이언트 인증서에 대한 자세한 내용과 CA(인증 기관)에서 요청하는 방법은 CA 문서를 참조하십시오.
절차
ou=services항목이 없는 경우 해당 항목을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow cn=server1,ou=services,dc=example,dc=com및cn=server1,ou=services,dc=example,dc=com과 같은 두 서버에 대한 계정을 만듭니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow cn=repl_servers,dc=groups,dc=example,dc=com과 같은 그룹을 만듭니다.dsidm -D "cn=Directory Manager" ldaps://server1.example.com -b "dc=example,dc=com" group create --cn "repl_servers"
# dsidm -D "cn=Directory Manager" ldaps://server1.example.com -b "dc=example,dc=com" group create --cn "repl_servers"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 두 개의 복제 계정을 그룹에 멤버로 추가합니다.
dsidm -D "cn=Directory Manager" ldaps://server1.example.com -b "dc=example,dc=com" group add_member repl_servers "cn=server1,ou=services,dc=example,dc=com" dsidm -D "cn=Directory Manager" ldaps://server1.example.com -b "dc=example,dc=com" group add_member repl_servers "cn=server2,ou=services,dc=example,dc=com"
# dsidm -D "cn=Directory Manager" ldaps://server1.example.com -b "dc=example,dc=com" group add_member repl_servers "cn=server1,ou=services,dc=example,dc=com" # dsidm -D "cn=Directory Manager" ldaps://server1.example.com -b "dc=example,dc=com" group add_member repl_servers "cn=server2,ou=services,dc=example,dc=com"Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.2. 임시 복제 관리자 계정을 사용하여 새 서버 초기화 링크 복사링크가 클립보드에 복사되었습니다!
인증서 기반 인증은 디렉터리에 저장된 인증서를 사용합니다. 그러나 새 서버를 초기화하기 전에 server2.example.com 의 데이터베이스가 비어 있고 연결된 인증서의 계정이 존재하지 않습니다. 따라서 데이터베이스를 초기화하기 전에 인증서를 사용한 복제가 불가능합니다. 임시 복제 관리자 계정으로 server2.example.com 을 초기화하여 이 문제를 해결할 수 있습니다.
사전 요구 사항
-
server2.example.com에 Directory Server 인스턴스를 설치했습니다. 자세한 내용은 .inf 파일을 사용하여 명령줄에서 새 인스턴스 설정을 참조하십시오. -
dc=example,dc=com접미사의 데이터베이스가 있습니다. -
서버,
server1.example.com및server2.example.com의 Directory Server에서 TLS 암호화를 활성화했습니다.
절차
server2.example.com에서dc=example,dc=com접미사에 대해 복제를 활성화합니다.dsconf -D "cn=Directory Manager" ldaps://server2.example.com replication enable --suffix "dc=example,dc=com" --role "supplier" --replica-id 2 --bind-dn "cn=replication manager,cn=config" --bind-passwd "password"
# dsconf -D "cn=Directory Manager" ldaps://server2.example.com replication enable --suffix "dc=example,dc=com" --role "supplier" --replica-id 2 --bind-dn "cn=replication manager,cn=config" --bind-passwd "password"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령은
server2.example.com호스트를dc=example,dc=com접미사의 공급업체로 구성하고 이 호스트의 복제본 ID를2로 설정합니다. 또한 명령은 지정된 암호를 사용하여 임시cn=replication manager,cn=config사용자를 생성하고 이 계정에서 이 호스트에 대한 접미사 변경 사항을 복제할 수 있습니다.복제본 ID는 토폴로지의 모든 공급자의 접미사에 대해
1에서65534사이의 고유 정수여야 합니다.server1.example.com에서 다음을 수행합니다.복제를 활성화합니다.
dsconf -D "cn=Directory Manager" ldaps://server1.example.com replication enable --suffix="dc=example,dc=com" --role="supplier" --replica-id="1"
# dsconf -D "cn=Directory Manager" ldaps://server1.example.com replication enable --suffix="dc=example,dc=com" --role="supplier" --replica-id="1"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 인증을 위해 이전 단계의 임시 계정을 사용하는 임시 복제 계약을 만듭니다.
dsconf -D "cn=Directory Manager" ldaps://server1.example.com repl-agmt create --suffix="dc=example,dc=com" --host="server1.example.com" --port=636 --conn-protocol=LDAPS --bind-dn="cn=Replication Manager,cn=config" --bind-passwd="password" --bind-method=SIMPLE --init temporary_agreement
# dsconf -D "cn=Directory Manager" ldaps://server1.example.com repl-agmt create --suffix="dc=example,dc=com" --host="server1.example.com" --port=636 --conn-protocol=LDAPS --bind-dn="cn=Replication Manager,cn=config" --bind-passwd="password" --bind-method=SIMPLE --init temporary_agreementCopy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
초기화에 성공했는지 확인합니다.
dsconf -D "cn=Directory Manager" ldaps://server1.example.com repl-agmt init-status --suffix "dc=example,dc=com" temporary_agreement Agreement successfully initialized.
# dsconf -D "cn=Directory Manager" ldaps://server1.example.com repl-agmt init-status --suffix "dc=example,dc=com" temporary_agreement Agreement successfully initialized.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.3. 인증서 기반 인증을 사용하여 다중 공급 업체 복제 구성 링크 복사링크가 클립보드에 복사되었습니다!
인증서 기반 인증이 있는 다중 공급 복제 환경에서 복제본은 인증서를 사용하여 서로 인증합니다.
사전 요구 사항
-
호스트,
server1.example.com및server2.example.com둘 다에 인증서 기반 인증을 설정합니다. - Directory Server는 클라이언트 인증서를 발행하는 CA(인증 기관)를 신뢰합니다.
-
클라이언트 인증서는 서버의
/etc/dirsrv/slapd-instance_name/certmap.conf에 설정된 요구 사항을 충족합니다.
절차
server1.example.com에서 다음을 수행합니다.임시 복제 계약을 제거합니다.
dsconf -D "cn=Directory Manager" ldaps://server1.example.com repl-agmt delete --suffix="dc=example,dc=com" temporary_agreement
# dsconf -D "cn=Directory Manager" ldaps://server1.example.com repl-agmt delete --suffix="dc=example,dc=com" temporary_agreementCopy to Clipboard Copied! Toggle word wrap Toggle overflow cn=repl_servers,dc=groups,dc=example,dc=com바인딩 그룹을 복제 설정에 추가합니다.dsconf -D "cn=Directory Manager" ldaps://server1.example.com replication set --suffix="dc=example,dc=com" --repl-bind-group "cn=repl_servers,dc=groups,dc=example,dc=com"
# dsconf -D "cn=Directory Manager" ldaps://server1.example.com replication set --suffix="dc=example,dc=com" --repl-bind-group "cn=repl_servers,dc=groups,dc=example,dc=com"Copy to Clipboard Copied! Toggle word wrap Toggle overflow bind 그룹의 변경 사항을 자동으로 확인하도록 Directory Server 구성:
dsconf -D "cn=Directory Manager" ldaps://server1.example.com replication set --suffix="dc=example,dc=com" --repl-bind-group-interval=0
# dsconf -D "cn=Directory Manager" ldaps://server1.example.com replication set --suffix="dc=example,dc=com" --repl-bind-group-interval=0Copy to Clipboard Copied! Toggle word wrap Toggle overflow
server2.example.com에서 다음을 수행합니다.임시 복제 관리자 계정을 제거합니다.
dsconf -D "cn=Directory Manager" ldaps://server2.example.com replication delete-manager --suffix="dc=example,dc=com" --name="Replication Manager"
# dsconf -D "cn=Directory Manager" ldaps://server2.example.com replication delete-manager --suffix="dc=example,dc=com" --name="Replication Manager"Copy to Clipboard Copied! Toggle word wrap Toggle overflow cn=repl_servers,dc=groups,dc=example,dc=com바인딩 그룹을 복제 설정에 추가합니다.dsconf -D "cn=Directory Manager" ldaps://server2.example.com replication set --suffix="dc=example,dc=com" --repl-bind-group "cn=repl_servers,dc=groups,dc=example,dc=com"
# dsconf -D "cn=Directory Manager" ldaps://server2.example.com replication set --suffix="dc=example,dc=com" --repl-bind-group "cn=repl_servers,dc=groups,dc=example,dc=com"Copy to Clipboard Copied! Toggle word wrap Toggle overflow bind 그룹의 변경 사항을 자동으로 확인하도록 Directory Server 구성:
dsconf -D "cn=Directory Manager" ldap://server2.example.com replication set --suffix="dc=example,dc=com" --repl-bind-group-interval=0
# dsconf -D "cn=Directory Manager" ldap://server2.example.com replication set --suffix="dc=example,dc=com" --repl-bind-group-interval=0Copy to Clipboard Copied! Toggle word wrap Toggle overflow 인증서 기반 인증을 사용하여 복제 계약을 생성합니다.
dsconf -D "cn=Directory Manager" ldaps://server2.example.com repl-agmt create --suffix="dc=example,dc=com" --host="server1.example.com" --port=636 --conn-protocol=LDAPS --bind-method="SSLCLIENTAUTH" --init server2-to-server1
dsconf -D "cn=Directory Manager" ldaps://server2.example.com repl-agmt create --suffix="dc=example,dc=com" --host="server1.example.com" --port=636 --conn-protocol=LDAPS --bind-method="SSLCLIENTAUTH" --init server2-to-server1Copy to Clipboard Copied! Toggle word wrap Toggle overflow
server1.example.com에서 인증서 기반 인증을 사용하여 복제 계약을 생성합니다.dsconf -D "cn=Directory Manager" ldaps://server1.example.com repl-agmt create --suffix="dc=example,dc=com" --host="server2.example.com" --port=636 --conn-protocol=LDAPS --bind-method="SSLCLIENTAUTH" --init server1-to-server2
dsconf -D "cn=Directory Manager" ldaps://server1.example.com repl-agmt create --suffix="dc=example,dc=com" --host="server2.example.com" --port=636 --conn-protocol=LDAPS --bind-method="SSLCLIENTAUTH" --init server1-to-server2Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
각 서버에서 초기화에 성공했는지 확인합니다.
dsconf -D "cn=Directory Manager" ldaps://server1.example.com repl-agmt init-status --suffix "dc=example,dc=com" server1-to-server2 Agreement successfully initialized. dsconf -D "cn=Directory Manager" ldaps://server2.example.com repl-agmt init-status --suffix "dc=example,dc=com" server2-to-server1 Agreement successfully initialized.
# dsconf -D "cn=Directory Manager" ldaps://server1.example.com repl-agmt init-status --suffix "dc=example,dc=com" server1-to-server2 Agreement successfully initialized. # dsconf -D "cn=Directory Manager" ldaps://server2.example.com repl-agmt init-status --suffix "dc=example,dc=com" server2-to-server1 Agreement successfully initialized.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6장. 명령줄을 사용하여 상태 복제 구성 링크 복사링크가 클립보드에 복사되었습니다!
계단식 복제 시나리오에서 하나의 서버, 허브는 소비자와 공급업체 역할을 모두 수행합니다. hub는 변경 로그를 유지 관리하는 읽기 전용 복제본입니다. 이는 공급업체로부터 업데이트를 받으며 이러한 업데이트를 소비자에게 제공합니다. 대규모 트래픽 부하의 균형을 유지하거나 지역적으로 분산된 환경에 공급 업체를 유지하기 위해 계단 복제를 사용하십시오.
6.1. 명령줄을 사용하여 새 허브 서버 준비 링크 복사링크가 클립보드에 복사되었습니다!
hub.example.com 호스트를 준비하려면 복제를 활성화합니다. 이 프로세스는 다음과 같습니다.
- 복제 토폴로지에서 이 서버의 역할을 설정합니다.
- 복제되는 접미사를 정의합니다.
- 공급업체가 이 호스트에 연결하는 데 사용하는 복제 관리자 계정을 생성합니다.
복제 토폴로지에 추가할 허브에서 다음 절차를 수행합니다.
사전 요구 사항
- Directory Server 인스턴스가 설치되어 있어야 합니다.
- dc=example,dc=com 접미사의 데이터베이스가 있습니다.
절차
dc=example,dc=com접미사의 복제를 활성화합니다.dsconf -D "cn=Directory Manager" ldap://hub.example.com replication enable --suffix "dc=example,dc=com" --role "hub" --bind-dn "cn=replication manager,cn=config" --bind-passwd "password"
# dsconf -D "cn=Directory Manager" ldap://hub.example.com replication enable --suffix "dc=example,dc=com" --role "hub" --bind-dn "cn=replication manager,cn=config" --bind-passwd "password"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령은
hub.example.com호스트를dc=example,dc=com접미사의 허브로 구성합니다. 또한 이 명령은 지정된 암호를 사용하여cn=replication manager,cn=config사용자를 생성하고 이 계정에서 이 호스트에 대한 접미사 변경 사항을 복제할 수 있습니다.
검증
복제 구성을 표시합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이러한 매개변수는 다음을 나타냅니다.
-
nsDS5ReplicaBindDN은 복제 관리자 계정을 지정합니다. -
nsDS5ReplicaRoot는 복제된 접미사를 설정합니다. -
nsDS5ReplicaType을2로 설정하면 이 호스트가 허브에도 유효한 소비자임을 정의합니다. -
nsDS5ReplicaId를65535로 설정하여 이 호스트가 허브임을 정의합니다.dsconf유틸리티는--role "hub"옵션을 정의하는 경우 이 값을 자동으로 설정합니다.
-
6.2. 명령줄을 사용하여 기존 서버를 허브 서버에 공급업체로 구성 링크 복사링크가 클립보드에 복사되었습니다!
공급업체로서 기존 서버를 준비하려면 다음이 필요합니다.
- 접미사에 대한 복제를 활성화합니다.
- 허브에 대한 복제 계약을 만듭니다.
- 허브를 초기화합니다.
복제 토폴로지의 기존 공급 업체에 대해 이 절차를 수행하십시오.
사전 요구 사항
-
허브의
dc=example,dc=com접미사에 대한 복제를 활성화했습니다.
절차
dc=example,dc=com접미사의 복제를 활성화합니다.dsconf -D "cn=Directory Manager" ldap://supplier.example.com replication enable --suffix "dc=example,dc=com" --role "supplier" --replica-id 1
# dsconf -D "cn=Directory Manager" ldap://supplier.example.com replication enable --suffix "dc=example,dc=com" --role "supplier" --replica-id 1Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령은 provider
.example.com 호스트를구성하고 이 항목의 복제본 ID를dc=example,dc=com접미사의 공급업체로1로 설정합니다.중요복제본 ID는 토폴로지의 모든 공급자의 접미사에 대해
1에서65534사이의 고유 정수여야 합니다.복제 계약을 추가하고 새 서버를 초기화합니다.
dsconf -D "cn=Directory Manager" ldap://supplier.example.com repl-agmt create --suffix "dc=example,dc=com" --host "hub.example.com" --port 389 --conn-protocol LDAP --bind-dn "cn=replication manager,cn=config" --bind-passwd "password" --bind-method SIMPLE --init example-agreement-supplier-to-hub
# dsconf -D "cn=Directory Manager" ldap://supplier.example.com repl-agmt create --suffix "dc=example,dc=com" --host "hub.example.com" --port 389 --conn-protocol LDAP --bind-dn "cn=replication manager,cn=config" --bind-passwd "password" --bind-method SIMPLE --init example-agreement-supplier-to-hubCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령은
example-agreement-supplier-to-hub라는 복제 계약을 생성합니다. 복제 계약은 공급업체가 데이터를 허브에 연결하고 복제할 때 사용하는 허브의 호스트 이름, 프로토콜 및 인증 정보와 같은 설정을 정의합니다.계약이 생성되면 Directory Server에서
hub.example.com을 초기화합니다. 복제할 데이터의 양에 따라 초기화 시간이 오래 걸릴 수 있습니다.
검증
복제 구성을 표시합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이러한 매개변수는 다음을 나타냅니다.
-
nsDS5ReplicaRoot는 복제된 접미사를 설정합니다. -
nsDS5ReplicaType을3으로 설정하면 이 호스트가 공급업체임을 정의합니다.
-
초기화에 성공했는지 확인합니다.
dsconf -D "cn=Directory Manager" ldap://supplier.example.com repl-agmt init-status --suffix "dc=example,dc=com" example-agreement-supplier-to-hub Agreement successfully initialized.
# dsconf -D "cn=Directory Manager" ldap://supplier.example.com repl-agmt init-status --suffix "dc=example,dc=com" example-agreement-supplier-to-hub Agreement successfully initialized.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 복제 상태를 표시합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 복제 상태및마지막 업데이트 상태필드를 확인합니다.
문제 해결
기본적으로 서버의 모든 계약에 대한 복제 유휴 타임아웃은 1시간입니다. 시간 초과로 인해 대규모 데이터베이스를 초기화하지 못하는 경우
nsslapd-idletimeout매개변수를 더 높은 값으로 설정합니다. 예를 들어 매개변수를7200(2시간)으로 설정하려면 다음을 입력합니다.dsconf -D "cn=Directory Manager" ldap://supplier1.example.com config replace nsslapd-idletimeout=7200
# dsconf -D "cn=Directory Manager" ldap://supplier1.example.com config replace nsslapd-idletimeout=7200Copy to Clipboard Copied! Toggle word wrap Toggle overflow 무제한 기간을 설정하려면
nsslapd-idletimeout을0으로 설정합니다.
6.3. 명령줄을 사용하여 허브의 새 소비자 준비 링크 복사링크가 클립보드에 복사되었습니다!
consumer.example.com 호스트를 준비하려면 복제를 활성화합니다. 이 프로세스는 다음과 같습니다.
- 복제 토폴로지에서 이 서버의 역할을 설정합니다.
- 복제되는 접미사를 정의합니다.
- 허브에서 이 호스트에 연결하는 데 사용하는 복제 관리자 계정을 만듭니다.
복제 토폴로지에 추가할 소비자에서 다음 절차를 수행합니다.
사전 요구 사항
- Directory Server 인스턴스가 설치되어 있어야 합니다. 자세한 내용은 .inf 파일을 사용하여 명령줄에서 새 인스턴스 설정을 참조하십시오.
-
dc=example,dc=com접미사의 데이터베이스가 있습니다.
절차
dc=example,dc=com접미사의 복제를 활성화합니다.dsconf -D "cn=Directory Manager" ldap://consumer.example.com replication enable --suffix "dc=example,dc=com" --role "consumer" --bind-dn "cn=replication manager,cn=config" --bind-passwd "password"
# dsconf -D "cn=Directory Manager" ldap://consumer.example.com replication enable --suffix "dc=example,dc=com" --role "consumer" --bind-dn "cn=replication manager,cn=config" --bind-passwd "password"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령은
dc=example,dc=com접미사의 소비자로consumer.example.com호스트를 구성합니다. 또한 이 명령은 지정된 암호를 사용하여cn=replication manager,cn=config사용자를 생성하고 이 계정에서 이 호스트에 대한 접미사 변경 사항을 복제할 수 있습니다.
검증
복제 구성을 표시합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이러한 매개변수는 다음을 나타냅니다.
-
nsDS5ReplicaBindDN은 복제 관리자 계정을 지정합니다. -
nsDS5ReplicaRoot는 복제된 접미사를 설정합니다. -
nsDS5ReplicaType을2로 설정하면 이 호스트가 소비자임을 정의합니다.
-
6.4. 명령줄을 사용하여 허브 서버를 소비자의 공급업체로 구성 링크 복사링크가 클립보드에 복사되었습니다!
허브를 준비하려면 다음이 필요합니다.
- 소비자에 대한 복제 계약을 만듭니다.
- 소비자를 초기화합니다.
복제 토폴로지의 허브에서 이 절차를 수행합니다.
사전 요구 사항
- 허브가 초기화되어 공급 업체에서 허브로 복제됩니다.
-
허브에서
dc=example,dc=com접미사에 대한 복제를 활성화했습니다.
절차
복제 계약을 추가하고 소비자를 초기화합니다.
dsconf -D "cn=Directory Manager" ldap://hub.example.com repl-agmt create --suffix "dc=example,dc=com" --host "consumer.example.com" --port 389 --conn-protocol LDAP --bind-dn "cn=replication manager,cn=config" --bind-passwd "password" --bind-method SIMPLE --init example-agreement-hub-to-consumer
# dsconf -D "cn=Directory Manager" ldap://hub.example.com repl-agmt create --suffix "dc=example,dc=com" --host "consumer.example.com" --port 389 --conn-protocol LDAP --bind-dn "cn=replication manager,cn=config" --bind-passwd "password" --bind-method SIMPLE --init example-agreement-hub-to-consumerCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령은
example-agreement-hub-to-consumer라는 복제 계약을 생성합니다. 복제 계약은 공급업체가 이 소비자에게 데이터를 연결하고 복제할 때 사용하는 소비자의 호스트 이름, 프로토콜 및 인증 정보와 같은 설정을 정의합니다.계약이 생성되면 Directory Server가
consumer.example.com을 초기화합니다. 복제할 데이터의 양에 따라 초기화 시간이 오래 걸릴 수 있습니다.
검증
초기화에 성공했는지 확인합니다.
dsconf -D "cn=Directory Manager" ldap://hub.example.com repl-agmt init-status --suffix "dc=example,dc=com" example-agreement-hub-to-consumer Agreement successfully initialized.
# dsconf -D "cn=Directory Manager" ldap://hub.example.com repl-agmt init-status --suffix "dc=example,dc=com" example-agreement-hub-to-consumer Agreement successfully initialized.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 복제 상태를 표시합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 복제 상태및마지막 업데이트 상태필드를 확인합니다.
문제 해결
기본적으로 서버의 모든 계약에 대한 복제 유휴 타임아웃은 1시간입니다. 시간 초과로 인해 대규모 데이터베이스를 초기화하지 못하는 경우
nsslapd-idletimeout매개변수를 더 높은 값으로 설정합니다. 예를 들어 매개변수를7200(2시간)으로 설정하려면 다음을 입력합니다.dsconf -D "cn=Directory Manager" ldap://hub .example.com config replace nsslapd-idletimeout=7200
# dsconf -D "cn=Directory Manager" ldap://hub .example.com config replace nsslapd-idletimeout=7200Copy to Clipboard Copied! Toggle word wrap Toggle overflow 무제한 기간을 설정하려면
nsslapd-idletimeout을0으로 설정합니다.
7장. 웹 콘솔을 사용하여 cascading 복제 구성 링크 복사링크가 클립보드에 복사되었습니다!
계단식 복제 시나리오에서 하나의 서버, 허브는 소비자와 공급업체 역할을 모두 수행합니다. hub는 변경 로그를 유지 관리하는 읽기 전용 복제본입니다. 이는 공급업체로부터 업데이트를 받으며 이러한 업데이트를 소비자에게 제공합니다. 대규모 트래픽 부하의 균형을 유지하거나 지역적으로 분산된 환경에 공급 업체를 유지하기 위해 계단 복제를 사용하십시오.
7.1. 웹 콘솔을 사용하여 새 허브 서버 준비 링크 복사링크가 클립보드에 복사되었습니다!
hub.example.com 호스트를 준비하려면 복제를 활성화합니다. 이 프로세스는 다음과 같습니다.
- 복제 토폴로지에서 이 서버의 역할을 설정합니다.
- 복제되는 접미사를 정의합니다.
- 공급업체가 이 호스트에 연결하는 데 사용하는 복제 관리자 계정을 생성합니다.
복제 토폴로지에 추가할 허브에서 다음 절차를 수행합니다.
사전 요구 사항
- Directory Server 인스턴스가 설치되어 있어야 합니다.
- dc=example,dc=com 접미사의 데이터베이스가 있습니다.
- 웹 콘솔에서 인스턴스에 로그인되어 있습니다.
절차
-
복제메뉴를 엽니다. -
dc=example,dc=com접미사를 선택합니다. 복제를 활성화합니다.
- 클릭합니다.
복제 역할필드에서Consumer를 선택하고 복제 관리자 계정과 암호를 입력하여 만듭니다.이러한 설정은 호스트를
dc=example,dc=com접미사의 허브로 구성합니다.- 클릭합니다.
검증
-
복제메뉴를 엽니다. -
dc=example,dc=com접미사를 선택합니다. -
Replica Role필드에 값Hub가 포함된 경우 복제가 활성화되고 호스트는 소비자로 구성됩니다.
7.2. 웹 콘솔을 사용하여 기존 서버를 허브 서버에 공급업체로 구성 링크 복사링크가 클립보드에 복사되었습니다!
공급업체로서 기존 서버를 준비하려면 다음이 필요합니다.
- 접미사에 대한 복제를 활성화합니다.
- 허브에 대한 복제 계약을 만듭니다.
- 허브를 초기화합니다.
복제 토폴로지의 기존 공급 업체에 대해 이 절차를 수행하십시오.
사전 요구 사항
-
허브의
dc=example,dc=com접미사에 대한 복제를 활성화했습니다. - 웹 콘솔에서 인스턴스에 로그인되어 있습니다.
절차
-
복제메뉴를 엽니다. -
dc=example,dc=com접미사를 선택합니다. 복제를 활성화합니다.
- 클릭합니다.
복제 역할필드에서 device를 선택하고, 복제본 ID와 생성할 복제 관리자 계정의 고유 이름(DN) 및 암호를 입력합니다.이 설정은 호스트를
dc=example,dc=com접미사의 공급업체로 구성하고 이 항목의 복제본 ID를1로 설정합니다.중요복제본 ID는 토폴로지의 모든 공급자의 접미사에 대해
1에서65534사이의 고유 정수여야 합니다.- 클릭합니다.
복제 계약을 추가하고 새 서버를 초기화합니다.
계약 탭에서 생성을클릭하고 필드를 작성합니다.이러한 설정은
example-agreement-supplier-to-hub라는 복제 계약을 생성합니다. 복제 계약은 공급업체가 이 허브에 데이터를 연결 및 복제할 때 사용하는 허브의 호스트 이름, 프로토콜 및 인증 정보와 같은 설정을 정의합니다.-
Consumer Initialization필드에서Do Online Initialization을 선택하여 계약을 저장한 후 새 서버를 자동으로 초기화합니다. 를 클릭합니다.
계약이 생성되면 Directory Server에서
hub.example.com을 초기화합니다. 복제할 데이터의 양에 따라 초기화 시간이 오래 걸릴 수 있습니다.
검증
-
복제메뉴를 엽니다. -
dc=example,dc=com접미사를 선택합니다. 계약탭에서 테이블의State열에 있는 연결 상태를 확인합니다.
7.3. 웹 콘솔을 사용하여 허브의 새 소비자 준비 링크 복사링크가 클립보드에 복사되었습니다!
consumer.example.com 호스트를 준비하려면 복제를 활성화합니다. 이 프로세스는 다음과 같습니다.
- 복제 토폴로지에서 이 서버의 역할을 설정합니다.
- 복제되는 접미사를 정의합니다.
- 공급업체가 이 호스트에 연결하는 데 사용하는 복제 관리자 계정을 생성합니다.
복제 토폴로지에 추가할 소비자에서 다음 절차를 수행합니다.
사전 요구 사항
- Directory Server 인스턴스가 설치되어 있어야 합니다. 자세한 내용은 웹 콘솔을 사용하여 새 인스턴스 설정을 참조하십시오.
-
dc=example,dc=com접미사의 데이터베이스가 있습니다. - 웹 콘솔에서 인스턴스에 로그인되어 있습니다.
절차
-
복제메뉴를 엽니다. -
dc=example,dc=com접미사를 선택합니다. - 클릭합니다.
복제 역할필드에서Consumer를 선택하고 복제 관리자 계정과 암호를 입력하여 만듭니다.이러한 설정은 호스트를
dc=example,dc=com접미사의 소비자로 구성합니다. 또한 서버는cn=replication manager,cn=config사용자를 생성하고 이 계정에서 이 호스트에 대한 접미사 변경 사항을 복제할 수 있습니다.- 클릭합니다.
검증
-
복제메뉴를 엽니다. -
dc=example,dc=com접미사를 선택합니다. -
Replica Role필드에Consumer값이 포함되어 있으면 복제가 활성화되고 호스트는 소비자로 구성됩니다.
7.4. 웹 콘솔을 사용하여 허브 서버를 소비자의 공급업체로 구성 링크 복사링크가 클립보드에 복사되었습니다!
허브를 준비하려면 다음이 필요합니다.
- 소비자에 대한 복제 계약을 만듭니다.
- 소비자를 초기화합니다.
복제 토폴로지의 허브에서 이 절차를 수행합니다.
사전 요구 사항
- 허브가 초기화되어 공급 업체에서 허브로 복제됩니다.
- 허브에서 dc=example,dc=com 접미사에 대한 복제를 활성화했습니다.
- 웹 콘솔에서 인스턴스에 로그인되어 있습니다.
절차
-
복제메뉴를 엽니다. -
dc=example,dc=com접미사를 선택합니다. 복제 계약을 추가하고 소비자를 초기화합니다.
계약 탭에서 생성을클릭하고 필드를 작성합니다.이러한 설정은
example-agreement-hub-to-consumer라는 복제 계약을 생성합니다. 복제 계약은 소비자의 호스트 이름, 프로토콜 및 이 소비자에게 데이터를 연결 및 복제할 때 사용하는 인증 정보와 같은 설정을 정의합니다.-
Consumer Initialization필드에서Do Online Initialization을 선택하여 계약을 저장한 후 소비자를 자동으로 초기화합니다. 를 클릭합니다.
계약이 생성되면 Directory Server가
consumer.example.com을 초기화합니다. 복제할 데이터의 양에 따라 초기화 시간이 오래 걸릴 수 있습니다.
검증
-
복제메뉴를 엽니다. -
dc=example,dc=com접미사를 선택합니다. 계약탭에서 테이블의State열에 있는 연결 상태를 확인합니다.
8장. 다중 공급 복제 환경에서 대기 시간 개선 링크 복사링크가 클립보드에 복사되었습니다!
특정 다중 공급 업체 복제 환경에서(예: 서버가 WAN(wide area network)을 통해 연결되어 있는 경우, 여러 공급업체가 동시에 업데이트를 수신하는 경우 복제 대기 시간이 길 수 있습니다. 이는 한 공급업체가 장기간 배포하지 않고 복제본에만 액세스할 때 발생합니다. 이러한 상황에서 다른 공급업체는 이 소비자에게 업데이트를 보낼 수 없으므로 복제 대기 시간이 증가합니다.
일정 시간 후에 복제본을 해제하려면 공급자 및 허브에서 nsds5ReplicaReleaseTimeout 매개변수를 설정합니다.
대부분의 환경에는 60 초의 기본값이 적합합니다. 너무 높거나 너무 낮게 설정된 값은 복제 성능에 부정적인 영향을 미칠 수 있습니다. 값을 너무 낮게 설정하면 복제 서버가 지속적으로 서로 복구되며 서버는 많은 업데이트를 보낼 수 없습니다. 트래픽이 많은 복제 환경에서 시간 초과가 길어지면 한 공급업체가 복제본에 독점적으로 액세스하는 상황을 개선할 수 있습니다. 그러나 대부분의 경우 120 초 이상의 값이 복제 속도가 느려집니다.
8.1. 명령줄을 사용하여 복제 릴리스 시간 제한 설정 링크 복사링크가 클립보드에 복사되었습니다!
다중 공급 업체 복제 환경에서 복제 효율성을 개선하려면 모든 허브 및 공급업체에서 복제 릴리스 시간 초과 값을 업데이트합니다.
사전 요구 사항
- 여러 공급업체와 허브 간 복제를 구성했습니다.
절차
접미사의 시간 초과 값을 설정합니다.
dsconf -D "cn=Directory Manager" ldap://supplier.example.com replication set --suffix="dc=example,dc=com" --repl-release-timeout=70
# dsconf -D "cn=Directory Manager" ldap://supplier.example.com replication set --suffix="dc=example,dc=com" --repl-release-timeout=70Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령을 실행하면
example,dc=com접미사의 복제 시간 초과를70초로 변경합니다.인스턴스를 다시 시작하십시오.
dsctl instance_name restart
# dsctl instance_name restartCopy to Clipboard Copied! Toggle word wrap Toggle overflow
8.2. 웹 콘솔을 사용하여 복제 릴리스 시간 제한 설정 링크 복사링크가 클립보드에 복사되었습니다!
다중 공급 업체 복제 환경에서 복제 효율성을 개선하려면 모든 허브 및 공급업체에서 복제 릴리스 시간 초과 값을 업데이트합니다.
사전 요구 사항
- 여러 공급업체와 허브 간 복제를 구성했습니다.
절차
- 탭에서 접미사 항목을 선택합니다.
-
고급 설정 표시를클릭합니다. -
복제 릴리스 제한필드에서 값을 업데이트합니다. - 을 클릭합니다.
9장. 복제 토폴로지에서 소비자 초기화 링크 복사링크가 클립보드에 복사되었습니다!
복제 계약을 생성한 후 소비자를 초기화해야 합니다. 그렇지 않으면 Directory Server에서 복제를 시작하지 않습니다. 초기화 작업 중에 공급자는 기존 데이터를 소비자에게 복사합니다.
9.1. 소비자를 초기화하는 시기 링크 복사링크가 클립보드에 복사되었습니다!
소비자 초기화에는 공급자 서버의 데이터를 소비자 서버로 복사해야 합니다. 하위 트리가 소비자에 물리적으로 배치되면 공급자 서버는 업데이트 작업을 소비자 서버로 재생하기 시작할 수 있습니다.
정상적인 작업에서는 소비자를 다시 초기화해서는 안 됩니다. 그러나 공급 업체와 소비자의 데이터 사이에 큰 불일치가 있는 경우 소비자 재시작을 수행합니다.
예를 들어 백업에서 공급자 서버의 데이터를 복원하는 경우 해당 서버에서 제공하는 모든 소비자도 다시 초기화해야 합니다. 또 다른 예는 공급자가 오랜 시간 동안 사용자에게 연락할 수 없는 경우(주 이상) 공급 업체가 소비자가 업데이트되기에는 너무 멀리 떨어져 있고 다시 초기화되어야 한다고 결정합니다.
토폴로지에 따라 온라인 또는 오프라인 방법을 사용하여 소비자를 초기화합니다.
- 적은 수의 소비자의 경우 웹 콘솔을 사용하여 온라인 소비자 초기화를 수행합니다. 온라인 소비자 초기화는 소비자가 공급자 서버의 복제 계약 구성의 일부로 초기화될 때 사용하는 방법입니다.
- 복제본 또는 대규모 데이터베이스가 많은 경우 명령줄을 사용하여 단일 LDIF 파일에서 수동 소비자 초기화를 수행합니다.
9.2. 명령줄을 사용하여 인스턴스가 온라인 상태일 때 소비자 초기화 링크 복사링크가 클립보드에 복사되었습니다!
공급자 및 소비자 인스턴스가 온라인 상태일 때 명령줄을 사용하여 소비자를 초기화할 수 있습니다.
사전 요구 사항
-
공급자 및 소비자 서버에서
dc=example,dc=com접미사에 대한 복제를 활성화했습니다. - 공급업체와 소비자 서버 간의 복제 계약을 생성했습니다.
절차
소비자를 초기화하려면 다음을 실행합니다.
dsconf <supplier_instance_name> repl-agmt init --suffix="dc=example,dc=com" <supplier_consumer_agreement_name>
# dsconf <supplier_instance_name> repl-agmt init --suffix="dc=example,dc=com" <supplier_consumer_agreement_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 복제할 데이터 양에 따라 초기화 시간이 오래 걸릴 수 있습니다.
검증
계약 상태를 표시합니다.
dsconf <supplier_instance_name> repl-agmt init-status --suffix "dc=example,dc=com" <supplier_consumer_agreement_name> Agreement successfully initialized.
# dsconf <supplier_instance_name> repl-agmt init-status --suffix "dc=example,dc=com" <supplier_consumer_agreement_name> Agreement successfully initialized.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
9.3. 웹 콘솔을 사용하여 온라인으로 소비자 초기화 링크 복사링크가 클립보드에 복사되었습니다!
공급업체 및 소비자 인스턴스가 온라인 상태인 경우에만 웹 콘솔을 사용하여 소비자를 초기화할 수 있습니다.
사전 요구 사항
-
공급자 및 소비자 서버에서
dc=example,dc=com접미사에 대한 복제를 활성화했습니다. - 공급업체와 소비자 서버 간의 복제 계약을 생성했습니다.
- 웹 콘솔에서 Directory Server 인스턴스에 로그인되어 있습니다.
절차
- 복제 메뉴를 열고 복제하려는 접미사를 선택합니다.
- 계약 탭에서 복제 계약 이름 옆에 있는 옵션 메뉴( Cryostat)를 클릭하고 Cryostat 선택합니다.
예, 팝업 창에서 확인 확인란을 선택하여 초기화를 확인합니다.
복제할 데이터 양에 따라 초기화 시간이 오래 걸릴 수 있습니다.
검증
- 초기화가 성공적으로 완료되면 Last Init Status 열에 Initialized 상태가 표시됩니다.
9.4. 인스턴스가 오프라인 상태일 때 소비자 초기화 링크 복사링크가 클립보드에 복사되었습니다!
대규모 데이터베이스 또는 많은 소비자가 있는 경우 명령줄을 사용하여 오프라인 초기화를 사용하는 것이 좋습니다. 이 절차에서는 공급자 서버에서 데이터를 내보내고 이 데이터를 소비자 서버로 가져오는 작업이 포함됩니다.
사전 요구 사항
-
공급자 및 소비자 서버에서
dc=example,dc=com접미사에 대한 복제를 활성화했습니다. - 공급업체와 소비자 서버 간의 복제 계약을 생성했습니다.
절차
공급자 서버에서 다음 단계를 수행합니다.
공급자의 인스턴스를 종료합니다.
dsctl <supplier_instance_name> stop
# dsctl <supplier_instance_name> stopCopy to Clipboard Copied! Toggle word wrap Toggle overflow 복제 정보가 있는
/var/lib/dirsrv/slapd- <supplier_instance_name> /ldif/example.ldif파일을 복제할 접미사가 포함된userRoot데이터베이스를 내보냅니다.dsctl <supplier_instance_name> db2ldif userRoot /var/lib/dirsrv/slapd-<supplier_instance_name>/ldif/example.ldif
# dsctl <supplier_instance_name> db2ldif userRoot /var/lib/dirsrv/slapd-<supplier_instance_name>/ldif/example.ldifCopy to Clipboard Copied! Toggle word wrap Toggle overflow 공급자에서 인스턴스를 시작합니다.
dsctl <supplier_instance_name> start
# dsctl <supplier_instance_name> startCopy to Clipboard Copied! Toggle word wrap Toggle overflow
소비자 서버에서 다음 단계를 수행합니다.
소비자에서 인스턴스를 종료합니다.
dsctl <consumer_instance_name> stop
# dsctl <consumer_instance_name> stopCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
내보낸
example.ldif파일을 소비자의/var/lib/dirsrv/slapd- <consumer_instance_name> /ldif/디렉터리에 복사합니다. -
/var/lib/dirsrv/slapd- <consumer_instance_name> /ldif/example.ldif파일에서userRoot데이터베이스를 가져옵니다.dsctl ldif2db명령을 사용하여 데이터를 가져오는 방법에 대한 자세한 내용은 서버가 오프라인 상태인 동안 명령줄을 사용하여 데이터 가져오기를 참조하십시오. 소비자에서 인스턴스를 시작합니다.
dsctl <consumer_instance_name> start
# dsctl <consumer_instance_name> startCopy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
계약 상태를 표시합니다.
dsconf <supplier_instance_name> repl-agmt init-status --suffix "dc=example,dc=com" <supplier_consumer_agreement_name> Agreement successfully initialized.
# dsconf <supplier_instance_name> repl-agmt init-status --suffix "dc=example,dc=com" <supplier_consumer_agreement_name> Agreement successfully initialized.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
9.5. 초기화 제한 시간 설정 링크 복사링크가 클립보드에 복사되었습니다!
시간 초과로 인해 대규모 데이터베이스 초기화가 실패하는 경우 다음 매개변수 중 하나를 더 길거나 무제한으로 설정합니다.
-
cn=config항목의nsslapd-idletimeout구성 매개 변수는 서버의 모든 복제 계약에 대한 타임아웃을 설정합니다. -
복제 관리자 DN의
nsIdleTimeout매개변수로 이 복제 관리자 항목을 사용하는 모든 계약에 대한 시간 초과를 설정합니다.
사전 요구 사항
- root 권한이 있습니다.
절차
시간 초과를 전역적으로 비활성화하려면
nsslapd-idletimeout을0으로 설정합니다.dsconf <instance_name> config replace nsslapd-idletimeout=0 Successfully replaced value(s) for 'nsslapd-idletimeout': '0'
# dsconf <instance_name> config replace nsslapd-idletimeout=0 Successfully replaced value(s) for 'nsslapd-idletimeout': '0'Copy to Clipboard Copied! Toggle word wrap Toggle overflow cn=replication manager,cn=config항목에 대한 시간 제한을 비활성화하려면 다음을 수행합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
10장. 복제 토폴로지에서 인스턴스 제거 링크 복사링크가 클립보드에 복사되었습니다!
하드웨어 중단 또는 구조적 변경과 같은 특정 상황에서는 관리자가 복제 토폴로지에서 Directory Server 인스턴스를 제거하려고 합니다. 인스턴스 제거 절차는 제거할 복제본의 역할에 따라 다릅니다.
10.1. 복제 토폴로지에서 소비자 또는 허브 제거 링크 복사링크가 클립보드에 복사되었습니다!
복제 토폴로지에 소비자 또는 허브가 더 이상 필요하지 않은 경우 제거합니다.
사전 요구 사항
- 제거할 인스턴스는 소비자 또는 허브입니다.
- 삭제할 호스트가 토폴로지의 다른 서버에 대한 공급업체 역할을 하는 허브인 경우 다른 공급업체 또는 허브를 구성하여 이러한 서버로 데이터를 복제하여 분리되지 않도록 합니다.
절차
제거할 소비자 또는 허브에서 다음을 수행합니다.
접미사와 해당 데이터베이스를 나열합니다.
dsconf -D "cn=Directory Manager" ldap://host-to-remove.example.com backend suffix list dc=example,dc=com (userroot)
# dsconf -D "cn=Directory Manager" ldap://host-to-remove.example.com backend suffix list dc=example,dc=com (userroot)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 데이터베이스 이름을 기록해 둡니다.
추가 업데이트를 방지하려면 데이터베이스를 읽기 전용 모드로 설정합니다.
dsconf -D "cn=Directory Manager" ldap://host-to-remove.example.com backend suffix set --enable-readonly "userroot"
# dsconf -D "cn=Directory Manager" ldap://host-to-remove.example.com backend suffix set --enable-readonly "userroot"Copy to Clipboard Copied! Toggle word wrap Toggle overflow
삭제하려는 소비자 또는 허브와 복제 계약이 있는 모든 공급업체에서 다음을 수행합니다.
복제된 접미사의 복제 계약을 나열합니다.
dsconf -D "cn=Directory Manager" ldap://server.example.com repl-agmt list --suffix "dc=example,dc=com" dn: cn=example-agreement,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config cn: example-agreement ...
# dsconf -D "cn=Directory Manager" ldap://server.example.com repl-agmt list --suffix "dc=example,dc=com" dn: cn=example-agreement,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config cn: example-agreement ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow cn속성에는 다음 단계에서 필요한 복제 계약 이름이 포함되어 있습니다.복제 계약을 제거합니다.
dsconf -D "cn=Directory Manager" ldap://server.example.com repl-agmt delete --suffix "dc=example,dc=com" example-agreement
# dsconf -D "cn=Directory Manager" ldap://server.example.com repl-agmt delete --suffix "dc=example,dc=com" example-agreementCopy to Clipboard Copied! Toggle word wrap Toggle overflow
제거할 소비자 또는 허브에서 모든 접미사에 대해 복제를 비활성화합니다.
dsconf -D "cn=Directory Manager" ldap://host-to-remove.example.com replication disable --suffix "dc=example,dc=com"
# dsconf -D "cn=Directory Manager" ldap://host-to-remove.example.com replication disable --suffix "dc=example,dc=com"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 호스트가 허브인 경우 복제를 비활성화하면 이 서버에서 이 접미사에 대한 모든 복제 계약도 자동으로 삭제됩니다.
다음 단계
테스트 목적으로 삭제된 인스턴스를 사용하려면 읽기 전용 모드를 비활성화합니다.
dsconf -D "cn=Directory Manager" ldap://host-to-remove.example.com backend suffix set --disable-readonly userroot
# dsconf -D "cn=Directory Manager" ldap://host-to-remove.example.com backend suffix set --disable-readonly userrootCopy to Clipboard Copied! Toggle word wrap Toggle overflow 중요테스트 목적으로 토폴로지에서 제거한 인스턴스를 사용하려는 경우 클라이언트가 계속 사용하지 않아야 합니다.
인스턴스를 제거합니다.
dsctl instance_name remove --do-it
# dsctl instance_name remove --do-itCopy to Clipboard Copied! Toggle word wrap Toggle overflow
10.2. 복제 토폴로지에서 공급자 제거 링크 복사링크가 클립보드에 복사되었습니다!
복제 토폴로지에서 공급업체를 완전히 제거하는 것은 허브 또는 소비자를 제거하는 것보다 더 어렵습니다. 이는 토폴로지의 모든 공급업체가 다른 공급 업체에 대한 정보를 저장하고 공급 업체를 실수로 사용할 수 없는 경우에도 해당 정보를 유지하기 때문입니다.
Directory Server는 RUV(복제 업데이트 벡터)라는 메타데이터 집합의 복제 토폴로지에 대한 정보를 유지합니다. RUV에는 해당 지역의 ID, URL, 최신 변경 상태 번호(CSN) 및 첫 번째 변경의 CSN과 같은 공급 업체에 대한 정보가 포함되어 있습니다. 공급업체와 소비자 모두 RUV 정보를 저장하고 복제 업데이트를 제어하는 데 사용합니다.
공급업체를 완전히 제거하려면 구성 항목과 함께 메타데이터를 제거해야 합니다.
사전 요구 사항
- 삭제 방법은 공급업체입니다.
- 호스트가 토폴로지의 다른 서버에 공급업체 역할을 하는 경우 다른 공급업체 또는 허브를 구성하여 이러한 서버로 데이터를 복제하여 분리되지 않도록 합니다.
절차
제거할 공급업체의 경우:
접미사와 해당 데이터베이스를 나열합니다.
dsconf -D "cn=Directory Manager" ldap://host-to-remove.example.com backend suffix list dc=example,dc=com (userroot)
# dsconf -D "cn=Directory Manager" ldap://host-to-remove.example.com backend suffix list dc=example,dc=com (userroot)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 데이터베이스 이름을 기록해 둡니다.
추가 업데이트를 방지하려면 데이터베이스를 읽기 전용 모드로 설정합니다.
dsconf -D "cn=Directory Manager" ldap://host-to-remove.example.com backend suffix set --enable-readonly "userroot"
# dsconf -D "cn=Directory Manager" ldap://host-to-remove.example.com backend suffix set --enable-readonly "userroot"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 토폴로지의 다른 모든 서버가 이 공급자로부터 모든 데이터를 수신할 때까지 기다립니다. 확인하려면 다른 서버의 CSN이 공급 업체의 CSN보다 크거나 같은지 확인하려면 다음을 수행하십시오.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 복제본 ID를 표시합니다.
dsconf -D "cn=Directory Manager" ldap://host-to-remove.example.com replication get --suffix "dc=example,dc=com" | grep -i "nsds5replicaid" nsDS5ReplicaId: 1
# dsconf -D "cn=Directory Manager" ldap://host-to-remove.example.com replication get --suffix "dc=example,dc=com" | grep -i "nsds5replicaid" nsDS5ReplicaId: 1Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 예에서 복제 ID는
1입니다. 이 절차의 마지막 단계에 대한 복제본 ID를 기록하십시오.
삭제하려는 호스트와 복제 계약에 동의한 모든 공급업체에서 다음을 수행합니다.
복제된 접미사의 복제 계약을 나열합니다.
dsconf -D "cn=Directory Manager" ldap://server.example.com repl-agmt list --suffix "dc=example,dc=com" dn: cn=example-agreement,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config cn: example-agreement ...
# dsconf -D "cn=Directory Manager" ldap://server.example.com repl-agmt list --suffix "dc=example,dc=com" dn: cn=example-agreement,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config cn: example-agreement ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow cn속성에는 다음 단계에서 필요한 복제 계약 이름이 포함되어 있습니다.복제 계약을 제거합니다.
dsconf -D "cn=Directory Manager" ldap://server.example.com repl-agmt delete --suffix "dc=example,dc=com" example-agreement
# dsconf -D "cn=Directory Manager" ldap://server.example.com repl-agmt delete --suffix "dc=example,dc=com" example-agreementCopy to Clipboard Copied! Toggle word wrap Toggle overflow
제거할 공급업체에서 모든 접미사에 대한 복제를 비활성화합니다.
dsconf -D "cn=Directory Manager" ldap://host-to-remove.example.com replication disable --suffix "dc=example,dc=com"
# dsconf -D "cn=Directory Manager" ldap://host-to-remove.example.com replication disable --suffix "dc=example,dc=com"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 복제를 비활성화하면 이 서버에서 이 접미사에 대한 모든 복제 계약도 자동으로 삭제됩니다.
-
진행하기 전에
ds-replcheck출력의Replica RUV섹션에 나열된 모든 Directory Server 인스턴스가 온라인 상태인지 확인합니다. 토폴로지의 나머지 공급업체 중 하나에서 복제본 ID의 RUV를 정리합니다.
dsconf -D "cn=Directory Manager" ldap://server.example.com repl-tasks cleanallruv --suffix "dc=example,dc=com" --replica-id 1
# dsconf -D "cn=Directory Manager" ldap://server.example.com repl-tasks cleanallruv --suffix "dc=example,dc=com" --replica-id 1Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령을 실행하려면 이 절차의 이전 단계에 표시된 복제본 ID를 지정해야 합니다.
검증
ds-replcheck명령 출력에서 제거한 호스트의 복제본 ID 및 URL이 있는 항목이 남아 있지 않은지 확인합니다.ds-replcheck online -D "cn=Directory Manager" -w password -m ldap://host-to-remove.example.com:389 -r ldap://server.example.com:389 -b dc=example,dc=com
# ds-replcheck online -D "cn=Directory Manager" -w password -m ldap://host-to-remove.example.com:389 -r ldap://server.example.com:389 -b dc=example,dc=comCopy to Clipboard Copied! Toggle word wrap Toggle overflow
다음 단계
테스트 목적으로 삭제된 인스턴스를 사용하려면 읽기 전용 모드를 비활성화합니다.
dsconf -D "cn=Directory Manager" ldap://host-to-remove.example.com backend suffix set --disable-readonly userroot
# dsconf -D "cn=Directory Manager" ldap://host-to-remove.example.com backend suffix set --disable-readonly userrootCopy to Clipboard Copied! Toggle word wrap Toggle overflow 중요테스트 목적으로 토폴로지에서 제거한 인스턴스를 사용하려는 경우 클라이언트가 계속 사용하지 않아야 합니다.
인스턴스를 제거합니다.
dsctl instance_name remove --do-it
# dsctl instance_name remove --do-itCopy to Clipboard Copied! Toggle word wrap Toggle overflow
11장. 다중 버전 복제 토폴로지에서 복제본의 고정화 방지 링크 복사링크가 클립보드에 복사되었습니다!
다중 공급 업체의 복제 토폴로지에서는 업데이트 부하가 많은 공급 업체가 다른 공급업체도 업데이트할 수 없도록 복제본을 모놀리식화할 수 있습니다.
이 섹션에서는 단조화가 발생하는 상황, 이 문제를 식별하는 방법, 독점 상황을 피하기 위해 공급 업체를 구성하는 방법에 대한 정보를 제공합니다.
11.1. monopolization이 발생할 때 링크 복사링크가 클립보드에 복사되었습니다!
다중 공급 업체 복제의 기능 중 하나는 공급 업체가 복제본에 독점적 인 액세스를 얻는 것입니다. 공급업체가 잠긴 동안 액세스를 취득하려고 하면 해당 복제본은 사용 중인 응답을 다시 전송하고, 공급업체는 다른 시도를 시작하기 전에 nsds5ReplicaBusyWaitTime 매개변수에 설정된 시간을 기다립니다. 그동안 공급자는 업데이트를 다른 복제본으로 보냅니다. 첫 번째 복제본이 다시 무료인 경우 공급자는 이 호스트에 업데이트를 보냅니다.
종속된 공급업체가 업데이트 로드가 크거나 변경 로그에 보류 중인 업데이트가 많이 있는 경우 문제가 될 수 있습니다. 이 상황에서 잠금 공급업체는 업데이트 전송을 완료하고 동일한 사본을 회수하려고 즉시 시도합니다. 이러한 시도는 대부분의 경우 성공합니다. 다른 공급업체가 여전히 대기 중이기 때문입니다. nsds5ReplicaSessionPauseTime 매개변수에서 두 개의 업데이트 세션 사이에 일시 중지를 설정할 수 있습니다. 이로 인해 단일 공급업체가 몇 시간 이상 복제본을 단조할 수 있습니다.
11.2. 복제 로깅 활성화로 복제본의 고정화 확인 링크 복사링크가 클립보드에 복사되었습니다!
하나 이상의 공급업체가 많은 업데이트 로드를 사용하고 복제본이 자주 업데이트를 수신하지 못하는 경우 복제 메시지를 기록하여 단조화 상황을 확인할 수 있습니다.
사전 요구 사항
- 복제 토폴로지에는 여러 공급업체가 있습니다.
절차
복제 로깅을 활성화합니다.
dsconf -D "cn=Directory Manager" ldap://server.example.com config replace nsslapd-errorlog-level=8192
# dsconf -D "cn=Directory Manager" ldap://server.example.com config replace nsslapd-errorlog-level=8192Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령은 복제 로깅만 활성화하며 다른 오류 메시지를 로깅하는 것은 비활성화되어 있습니다.
/var/log/dirsrv/slapd-instance_name/errors로그 파일을 모니터링하고 다음 오류 메시지를 검색합니다.Replica Busy! Status: [Error (1) Replication error acquiring replica: replica busy]
Replica Busy! Status: [Error (1) Replication error acquiring replica: replica busy]Copy to Clipboard Copied! Toggle word wrap Toggle overflow Directory Server가 때때로 이 오류를 기록하는 것은 정상입니다. 그러나 복제본이 자주 업데이트를 받지 못하고 공급자에서 이 오류를 기록하는 경우 이 문제를 해결하기 위해 구성을 업데이트하는 것이 좋습니다.
11.3. 복제본의 단조화를 방지하기 위해 공급업체 구성 링크 복사링크가 클립보드에 복사되었습니다!
이 절차에서는 복제본의 단조화를 방지하기 위해 공급업체에서 매개변수를 설정하는 방법을 설명합니다.
환경과 로드의 차이로 인해 해당 상황에서 관련된 매개변수만 설정하고 환경에 따라 값을 조정합니다.
사전 요구 사항
- 복제 토폴로지에는 여러 공급업체가 있습니다.
-
Directory Server는 자주 로그
Replica Busy! 상태: [Error (1) 복제 오류 replica: replica busy]오류입니다.
절차
nsds5ReplicaBusyWaitTime매개변수를 설정하여 복제본이 사용 중인 응답을 보낸 후 복제본에 대한 액세스 권한을 얻기 전에 공급업체가 대기하는 시간을 설정합니다.dsconf -D "cn=Directory Manager" ldap://supplier.example.com repl-agmt set --suffix "dc=example,dc=com" --busy-wait-time 5 replication_agreement_name
# dsconf -D "cn=Directory Manager" ldap://supplier.example.com repl-agmt set --suffix "dc=example,dc=com" --busy-wait-time 5 replication_agreement_nameCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령은 대기 시간을
5초로 설정합니다. 이 설정은 지정된 복제 계약에만 적용됩니다.공급업체가 두 개의 업데이트 세션 사이에 대기하는 시간을 구성하려면
nsds5ReplicaSessionPauseTime매개변수를 설정합니다.dsconf -D "cn=Directory Manager" ldap://supplier.example.com repl-agmt set --suffix "dc=example,dc=com" --session-pause-time 15 replication_agreement_name
# dsconf -D "cn=Directory Manager" ldap://supplier.example.com repl-agmt set --suffix "dc=example,dc=com" --session-pause-time 15 replication_agreement_nameCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령은 일시 중지를
15초로 설정합니다. 기본적으로nsds5ReplicaSessionPauseTime은nsds5ReplicaBusyWaitTime의 값보다 1초입니다. 이 설정은 지정된 복제 계약에만 적용됩니다.업데이트 전송 완료 여부에 관계없이 지정된 시간 후에
nsds5ReplicaReleaseTimeout매개변수를 설정하여 복제 세션을 종료합니다.dsconf -D "cn=Directory Manager" ldap://supplier.example.com replication set --suffix "dc=example,dc=com" --repl-release-timeout 90
# dsconf -D "cn=Directory Manager" ldap://supplier.example.com replication set --suffix "dc=example,dc=com" --repl-release-timeout 90Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령은 타임아웃을
90초로 설정합니다. 이 설정은 지정된 접미사의 모든 복제 계약에 적용됩니다.선택 사항: 공급 업체의 시간 초과 기간을 설정하여 느리거나 손상된 연결을 통해 업데이트를 전송하려고 하지 않도록 소비자에게 연결을 유지하지 않도록 합니다.
dsconf -D "cn=Directory Manager" ldap://supplier.example.com repl-agmt set --conn-timeout 600 --suffix "dc=example,dc=com" replication_agreement_name
# dsconf -D "cn=Directory Manager" ldap://supplier.example.com repl-agmt set --conn-timeout 600 --suffix "dc=example,dc=com" replication_agreement_nameCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령은 시간 제한을
600초(10분)로 설정합니다. 예기치 않은 값을 확인하려면 복제 프로세스가 걸리는 평균 시간 동안 액세스 로그를 확인하고 그에 따라 시간 초과 기간을 설정합니다.
12장. 복제 환경에서 인스턴스가 오프라인인 후 복제 업데이트 강제 적용 링크 복사링크가 클립보드에 복사되었습니다!
정기적인 유지 관리를 위해 복제와 관련된 Directory Server 인스턴스를 중지한 경우 공급업체는 다시 온라인 상태가 될 때 디렉터리 데이터를 즉시 업데이트해야 합니다. 명령줄 및 웹 콘솔을 사용하여 이 업데이트를 적용할 수 있습니다.
12.1. 명령줄을 사용하여 복제 업데이트 강제 적용 링크 복사링크가 클립보드에 복사되었습니다!
공급업체에서 다음 단계를 수행하여 example-agreement 에서 dc=example,dc=com 접미사에 대한 복제 업데이트를 적용합니다.
사전 요구 사항
- 복제가 설정되어 있습니다.
- 사용자가 초기화되었습니다.
절차
복제 계약에 업데이트 일정이 구성되어 있는지 확인합니다.
dsconf -D "cn=Directory Manager" ldap://server.example.com repl-agmt get --suffix "dc=example,dc=com" example-agreement
# dsconf -D "cn=Directory Manager" ldap://server.example.com repl-agmt get --suffix "dc=example,dc=com" example-agreementCopy to Clipboard Copied! Toggle word wrap Toggle overflow 명령 출력에
nsDS5ReplicaUpdateSchedule: *또는nsDS5ReplicaUpdateSchedule매개변수가 없으면 업데이트 일정이 구성되지 않습니다.nsDS5ReplicaUpdateSchedule에 다음에 표시된 것과 같은 일정이 포함되어 있으면 값을 기록하십시오.nsDS5ReplicaUpdateSchedule: 0800-2200 0246
nsDS5ReplicaUpdateSchedule: 0800-2200 0246Copy to Clipboard Copied! Toggle word wrap Toggle overflow 업데이트 일정이 구성된 경우 다음 명령을 입력하여 임시로 비활성화합니다.
dsconf -D "cn=Directory Manager" ldap://server.example.com repl-agmt set --schedule \ --suffix "dc=example,dc=com" example-agreement*
# dsconf -D "cn=Directory Manager" ldap://server.example.com repl-agmt set --schedule \ --suffix "dc=example,dc=com" example-agreement*Copy to Clipboard Copied! Toggle word wrap Toggle overflow 복제 계약을 일시적으로 비활성화합니다.
dsconf -D "cn=Directory Manager" ldap://server.example.com repl-agmt disable --suffix "dc=example,dc=com" example-agreement
# dsconf -D "cn=Directory Manager" ldap://server.example.com repl-agmt disable --suffix "dc=example,dc=com" example-agreementCopy to Clipboard Copied! Toggle word wrap Toggle overflow 복제 계약을 다시 활성화하여 복제 업데이트를 강제 적용합니다.
dsconf -D "cn=Directory Manager" ldap://server.example.com repl-agmt enable --suffix "dc=example,dc=com" example-agreement
# dsconf -D "cn=Directory Manager" ldap://server.example.com repl-agmt enable --suffix "dc=example,dc=com" example-agreementCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이 절차의 시작 부분에 복제 일정이 구성된 경우 일정을 이전 값으로 설정합니다.
dsconf -D "cn=Directory Manager" ldap://server.example.com repl-agmt set --schedule "0800-2200 0246" --suffix "dc=example,dc=com" example-agreement
# dsconf -D "cn=Directory Manager" ldap://server.example.com repl-agmt set --schedule "0800-2200 0246" --suffix "dc=example,dc=com" example-agreementCopy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
복제 상태를 표시합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
12.2. 웹 콘솔을 사용하여 복제 업데이트 강제 적용 링크 복사링크가 클립보드에 복사되었습니다!
공급 업체에서 다음 단계를 수행하여 복제 업데이트를 적용합니다.
사전 요구 사항
- 복제가 설정되어 있습니다.
- 사용자가 초기화됨
- 웹 콘솔에서 인스턴스에 로그인되어 있습니다.
절차
-
복제메뉴를 엽니다. -
dc=example,dc=com접미사를 선택합니다. -
계약탭을 엽니다. 복제 계약에 업데이트 일정이 구성되어 있는지 확인합니다.
-
계약 옆에 있는 오버플로 메뉴를 클릭하고
계약 편집을 선택합니다. Scheduling탭에서 현재 설정된 값을 기록해 둡니다.Use a Custom Scheduleis not selected, no schedule is configured.
-
계약 옆에 있는 오버플로 메뉴를 클릭하고
복제 계약 옆에 있는 오버플로 메뉴를 클릭하고 계약
비활성화/사용을선택하여 계약을 비활성화합니다.State열의 계약 상태는 이제Disabled입니다.복제 계약 옆에 있는 오버플로 메뉴를 다시 클릭하고
비활성화/계약 비활성화를 선택하여 복제 계약을 다시 활성화하고복제 업데이트를 적용합니다.State열의 계약 상태가활성화되었습니다.이 절차의 시작 부분에 복제 일정이 구성된 경우 일정을 이전 값으로 설정합니다.
- 오버플로 메뉴를 클릭하고 → 를 선택합니다.
-
Scheduling탭에서 이전 값을 설정합니다.
검증
복제 상태를 표시합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
13장. 복제본의 역할 변경 링크 복사링크가 클립보드에 복사되었습니다!
복제 토폴로지에서는 복제본의 역할을 변경할 수 있습니다. 예를 들어 하드웨어 중단으로 인해 공급업체를 사용할 수 없는 경우 공급업체에게 소비자를 승격할 수 있습니다. 다른 방법, 예를 들어 하드웨어 리소스가 낮은 공급 업체를 소비자에게 시연하고 나중에 새로운 하드웨어를 갖춘 다른 공급 업체를 추가 할 수 있습니다.
13.1. 명령줄을 사용하여 복제본 승격 링크 복사링크가 클립보드에 복사되었습니다!
승격할 수 있습니다.
- 허브 또는 공급 업체에 대한 소비자
- A hub to a provider
이 섹션에서는 dc=example,dc=com 접미사의 복제본을 승격하는 방법을 설명합니다.
사전 요구 사항
- Directory Server 인스턴스는 복제 토폴로지의 멤버입니다.
- 승격할 복제본은 소비자 또는 허브입니다.
절차
승격할 복제본이 복제 계약의 허브이고 승격 후 허브에서 더 이상 다른 호스트에 데이터를 전송해서는 안 되는 경우 복제 계약을 제거하십시오.
허브에 복제 계약을 나열합니다.
dsconf -D "cn=Directory Manager" ldap://server.example.com repl-agmt list --suffix "dc=example,dc=com" dn: cn=example-agreement,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config cn: example-agreement ...
# dsconf -D "cn=Directory Manager" ldap://server.example.com repl-agmt list --suffix "dc=example,dc=com" dn: cn=example-agreement,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config cn: example-agreement ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow cn속성에는 다음 단계에서 필요한 복제 계약 이름이 포함되어 있습니다.허브에서 복제 계약을 제거합니다.
dsconf -D "cn=Directory Manager" ldap://server.example.com repl-agmt delete --suffix "dc=example,dc=com" example-agreement
# dsconf -D "cn=Directory Manager" ldap://server.example.com repl-agmt delete --suffix "dc=example,dc=com" example-agreementCopy to Clipboard Copied! Toggle word wrap Toggle overflow
인스턴스를 승격합니다.
소비자 또는 허브를 공급업체로 승격하는 경우 다음을 입력합니다.
dsconf -D "cn=Directory Manager" ldap://server.example.com replication promote --suffix "dc=example,dc=com" --newrole "supplier" --replica-id 2
# dsconf -D "cn=Directory Manager" ldap://server.example.com replication promote --suffix "dc=example,dc=com" --newrole "supplier" --replica-id 2Copy to Clipboard Copied! Toggle word wrap Toggle overflow 중요복제본 ID는 토폴로지의 모든 공급자의 접미사에 대해
1에서65534사이의 고유한 정수 값이어야 합니다.소비자를 허브로 승격하는 경우 다음을 입력합니다.
dsconf -D "cn=Directory Manager" ldap://server.example.com replication promote --suffix "dc=example,dc=com" --newrole "hub"
# dsconf -D "cn=Directory Manager" ldap://server.example.com replication promote --suffix "dc=example,dc=com" --newrole "hub"Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- 새 역할의 복제본이 토폴로지의 다른 호스트에 업데이트를 보내야 하는 경우 복제 계약을 생성합니다.
13.2. 웹 콘솔을 사용하여 복제본 승격 링크 복사링크가 클립보드에 복사되었습니다!
승격할 수 있습니다.
- 허브 또는 공급 업체에 대한 소비자
- A hub to a provider
이 섹션에서는 dc=example,dc=com 접미사의 복제본을 승격하는 방법을 설명합니다.
사전 요구 사항
- Directory Server 인스턴스는 복제 토폴로지의 멤버입니다.
- 승격할 복제본은 소비자 또는 허브입니다.
- 웹 콘솔에서 인스턴스에 로그인되어 있습니다.
절차
승격할 복제본이 복제 계약의 허브이고 승격 후 허브에서 더 이상 다른 호스트에 데이터를 전송해서는 안 되는 경우 복제 계약을 제거하십시오.
- → .
-
삭제할 계약 옆에 있는 클릭하고
계약 삭제를 선택합니다.
구성으로 이동하여 버튼을 클릭합니다.
소비자 또는 허브를 공급업체로 승격하는 경우 provider를
선택하고고유한 복제본 ID를 입력합니다.중요복제본 ID는 토폴로지의 모든 공급자의 접미사에 대해
1에서65534사이의 고유한 정수 값이어야 합니다.-
소비자를 허브로 승격하는 경우
Hub를 선택합니다.
-
Yes, I is sure를 선택합니다. - 클릭합니다.
- 새 역할의 복제본이 토폴로지의 다른 호스트에 업데이트를 보내야 하는 경우 복제 계약을 생성합니다.
13.3. 명령줄을 사용하여 복제본 데모 링크 복사링크가 클립보드에 복사되었습니다!
데모할 수 있습니다:
- 소비자에 대한 공급업체 또는 허브
- 소비자로의 허브
이 섹션에서는 dc=example,dc=com 접미사의 복제본을 평가하는 방법을 설명합니다.
사전 요구 사항
- Directory Server 인스턴스는 복제 토폴로지의 멤버입니다.
- demote의 사본은 공급 업체 또는 허브입니다.
절차
예를 들어 소비자에게 복제본을 시연하기 때문에 더 이상 필요하지 않은 복제 계약이 있는 경우 복제 계약을 제거하십시오.
복제본에 복제 계약을 나열합니다.
dsconf -D "cn=Directory Manager" ldap://server.example.com repl-agmt list --suffix "dc=example,dc=com" dn: cn=example-agreement,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config cn: example-agreement ...
# dsconf -D "cn=Directory Manager" ldap://server.example.com repl-agmt list --suffix "dc=example,dc=com" dn: cn=example-agreement,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config cn: example-agreement ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow cn속성에는 다음 단계에서 필요한 복제 계약 이름이 포함되어 있습니다.복제본에서 복제 계약을 제거합니다.
dsconf -D "cn=Directory Manager" ldap://server.example.com repl-agmt delete --suffix "dc=example,dc=com" example-agreement
# dsconf -D "cn=Directory Manager" ldap://server.example.com repl-agmt delete --suffix "dc=example,dc=com" example-agreementCopy to Clipboard Copied! Toggle word wrap Toggle overflow
인스턴스를 demote합니다.
dsconf -D "cn=Directory Manager" ldap://server.example.com replication demote --suffix "dc=example,dc=com" --newrole "hub_or_consumer"
# dsconf -D "cn=Directory Manager" ldap://server.example.com replication demote --suffix "dc=example,dc=com" --newrole "hub_or_consumer"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 구성할 역할에 따라
--newrole매개변수를hub또는consumer로 설정합니다.- 복제본을 허브로 구성하고 토폴로지의 다른 호스트에 업데이트를 보내야 하는 경우 복제 계약을 생성합니다.
13.4. 웹 콘솔을 사용하여 복제본 데모 링크 복사링크가 클립보드에 복사되었습니다!
데모할 수 있습니다:
- 소비자에 대한 공급업체 또는 허브
- 소비자로의 허브
이 섹션에서는 dc=example,dc=com 접미사의 복제본을 평가하는 방법을 설명합니다.
사전 요구 사항
- Directory Server 인스턴스는 복제 토폴로지의 멤버입니다.
- demote의 사본은 공급 업체 또는 허브입니다.
- 웹 콘솔에서 인스턴스에 로그인되어 있습니다.
절차
예를 들어 소비자에게 복제본을 시연하기 때문에 더 이상 필요하지 않은 복제 계약이 있는 경우 복제 계약을 제거하십시오.
- → .
-
삭제할 계약 옆에 있는 클릭하고
계약 삭제를 선택합니다.
- 구성으로 이동하여 버튼을 클릭합니다.
- 새 복제본 역할을 선택합니다.
-
Yes, I is sure를 선택합니다. - 클릭합니다.
- 새 역할의 복제본이 토폴로지의 다른 호스트에 업데이트를 보내야 하는 경우 복제 계약을 생성합니다.
14장. 복제 변경 로그 트리밍 링크 복사링크가 클립보드에 복사되었습니다!
Directory Server 변경 로그는 수신 및 처리된 변경 사항 목록을 관리합니다. 복제 파트너로부터 수신된 클라이언트 변경 및 변경 사항이 포함됩니다.
기본적으로 Directory Server는 7일 이상 된 changelog 항목을 트리밍합니다. 그러나 다음을 구성할 수 있습니다.
-
nsslapd-changelogmaxage매개변수의 변경 로그의 최대 기간입니다. -
nsslapd-changelogmaxentries매개변수의 변경 로그의 총 레코드 수입니다.
이러한 설정 중 하나를 활성화한 경우 Directory Server는 기본적으로 5분마다 변경 로그를 트리밍합니다(nsslapd-changelogtrim-interval).
트리밍 설정을 사용하도록 설정한 경우에도 이후에 생성된 모든 레코드 및 레코드는 토폴로지의 모든 서버에 성공적으로 복제될 때까지 변경 로그에 남아 있습니다. 복제 토폴로지에서 공급업체 제거에 설명된 대로 토폴로지에서 공급업체를 제거하면 Directory Server가 다른 서버의 변경 로그에서 이 공급자의 모든 업데이트를 트리밍합니다.
14.1. 명령줄을 사용하여 복제 변경 로그 트리밍 구성 링크 복사링크가 클립보드에 복사되었습니다!
Directory Server에서는 기본적으로 7일이 지난 변경 로그 항목을 트리밍합니다. 그러나 Directory Server가 항목을 제거한 후 시간을 구성할 수 있습니다. 항목 수가 구성된 값을 초과하는 경우 항목을 자동으로 제거하도록 Directory Server를 구성할 수도 있습니다.
이 섹션에서는 dc=example,dc=com 접미사에 대한 변경 로그 트리밍을 구성하는 방법을 설명합니다.
Red Hat은 최대 항목 수 대신 최대 기간을 설정하는 것이 좋습니다. 최대 사용 기간은 cn=replica,cn=suffixDN,cn=mapping tree,cn=config 항목에 설정된 nsDS5ReplicaPurgeDelay 매개변수에 설정된 복제 제거 지연과 일치해야 합니다.
공급자에게 이 절차를 수행하십시오.
사전 요구 사항
-
dc=example,dc=com접미사에 복제를 활성화했습니다.
절차
변경 로그 트리밍을 구성합니다.
최대 변경 로그 항목의 기간을 설정하려면 다음을 입력합니다.
dsconf -D "cn=Directory Manager" ldap://server.example.com replication set-changelog --suffix "dc=example,dc=com" --max-age "4w"
# dsconf -D "cn=Directory Manager" ldap://server.example.com replication set-changelog --suffix "dc=example,dc=com" --max-age "4w"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령은 최대 사용 기간을 4주로 설정합니다. 매개변수는 다음 단위를 지원합니다.
-
초
를위한S(S) -
M(M) 분 -
h(h) 시간 -
D(d) for days -
몇 주 동안
W(W)
-
초
최대 항목 수를 설정하려면 다음을 입력합니다.
dsconf -D "cn=Directory Manager" ldap://server.example.com replication set-changelog --suffix "dc=example,dc=com" --max-entries "100000"
# dsconf -D "cn=Directory Manager" ldap://server.example.com replication set-changelog --suffix "dc=example,dc=com" --max-entries "100000"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령은 변경 로그의 최대 항목 수를 10.0.0.1으로 설정합니다.
기본적으로 Directory Server는 5분(300초)마다 변경 로그를 트래킹합니다. 다른 간격을 설정하려면 다음을 입력합니다.
dsconf -D "cn=Directory Manager" ldap://server.example.com replication set-changelog --suffix "dc=example,dc=com" --trim-interval 600
# dsconf -D "cn=Directory Manager" ldap://server.example.com replication set-changelog --suffix "dc=example,dc=com" --trim-interval 600Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령은 간격을 10분(600초)으로 설정합니다.
검증
접미사의 변경 로그 설정을 표시합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 명령은 기본값과 다른 매개변수만 표시합니다.
14.2. 대규모 변경 로그의 크기를 수동으로 줄입니다. 링크 복사링크가 클립보드에 복사되었습니다!
복제 변경 로그 트리밍이 활성화되지 않은 경우와 같은 특정 상황에서는 변경 로그가 과도하게 큰 크기로 증가할 수 있습니다. 이 문제를 해결하려면 수동으로 변경 로그 크기를 줄일 수 있습니다.
다음 절차에서는 dc=example,dc=com 접미사의 변경 로그를 트리밍하는 방법을 설명합니다. 공급자에게 이 절차를 수행하십시오.
사전 요구 사항
-
dc=example,dc=com접미사에 대한 복제를 활성화했습니다.
절차
선택 사항: 변경 로그 크기를 표시합니다.
dc=example,dc=com접미사의 백엔드 데이터베이스를 확인합니다.dsconf -D "cn=Directory Manager" ldap://server.example.com backend suffix list dc=example,dc=com (userroot)
# dsconf -D "cn=Directory Manager" ldap://server.example.com backend suffix list dc=example,dc=com (userroot)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 대괄호로 있는 이름은 해당 접미사의 데이터를 저장하는 백엔드 데이터베이스입니다.
userroot백엔드의 changelog 파일의 크기를 표시합니다.ls -lh /var/lib/dirsrv/slapd-instance_name/db/userroot/replication_changelog.db -rw-------. 1 dirsrv dirsrv 517M Jul 5 12:58 /var/lib/dirsrv/slapd-instance_name/db/userroot/replication_changelog.db
# ls -lh /var/lib/dirsrv/slapd-instance_name/db/userroot/replication_changelog.db -rw-------. 1 dirsrv dirsrv 517M Jul 5 12:58 /var/lib/dirsrv/slapd-instance_name/db/userroot/replication_changelog.dbCopy to Clipboard Copied! Toggle word wrap Toggle overflow
변경 로그 크기를 단축한 후 매개변수를 재설정할 수 있도록 하려면 해당 매개변수의 현재 값을 표시하고 기록해 둡니다.
dsconf -D "cn=Directory Manager" ldap://server.example.com replication get-changelog --suffix "dc=example,dc=com" dn: cn=changelog,cn=userroot,cn=ldbm database,cn=plugins,cn=config cn: changelog nsslapd-changelogmaxage: 4w nsslapd-changelogtrim-interval: 300
# dsconf -D "cn=Directory Manager" ldap://server.example.com replication get-changelog --suffix "dc=example,dc=com" dn: cn=changelog,cn=userroot,cn=ldbm database,cn=plugins,cn=config cn: changelog nsslapd-changelogmaxage: 4w nsslapd-changelogtrim-interval: 300Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력에 특정 속성이 표시되지 않으면 Directory Server에서 기본값을 사용합니다.
임시로 trimming 관련 매개변수를 줄입니다.
dsconf -D "cn=Directory Manager" ldap://server.example.com replication set-changelog --suffix "dc=example,dc=com" --max-age "300s" --max-entries 500 --trim-interval 60
# dsconf -D "cn=Directory Manager" ldap://server.example.com replication set-changelog --suffix "dc=example,dc=com" --max-age "300s" --max-entries 500 --trim-interval 60Copy to Clipboard Copied! Toggle word wrap Toggle overflow 중요성능상의 이유로 너무 짧은 간격 설정을 영구적으로 사용하지 마십시오.
-
--trim-interval매개변수에 설정된 시간이 만료될 때까지 기다립니다. 디스크 공간을 복구하려면 changelog를 압축하십시오.
dsconf -D "cn=Directory Manager" ldap://server.example.com backend compact-db --only-changelog
# dsconf -D "cn=Directory Manager" ldap://server.example.com backend compact-db --only-changelogCopy to Clipboard Copied! Toggle word wrap Toggle overflow 일시적으로 감소하기 전에 보유 값으로 changelog 매개변수를 재설정하십시오.
dsconf -D "cn=Directory Manager" ldap://server.example.com replication set-changelog --suffix "dc=example,dc=com" --max-age "4w" --trim-interval 300
# dsconf -D "cn=Directory Manager" ldap://server.example.com replication set-changelog --suffix "dc=example,dc=com" --max-age "4w" --trim-interval 300Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
변경 로그 크기를 표시합니다.
ls -lh /var/lib/dirsrv/slapd-instance_name/db/userroot/replication_changelog.db -rw-------. 1 dirsrv dirsrv 12M Jul 5 12:58 /var/lib/dirsrv/slapd-instance_name/db/userroot/replication_changelog.db
# ls -lh /var/lib/dirsrv/slapd-instance_name/db/userroot/replication_changelog.db -rw-------. 1 dirsrv dirsrv 12M Jul 5 12:58 /var/lib/dirsrv/slapd-instance_name/db/userroot/replication_changelog.dbCopy to Clipboard Copied! Toggle word wrap Toggle overflow
15장. 복제 변경 로그 암호화 링크 복사링크가 클립보드에 복사되었습니다!
복제 변경 로그를 암호화하여 인스턴스의 보안을 높입니다. 공격자가 서버의 파일 시스템에 액세스할 수 있는 경우
변경 로그 암호화는 서버의 TLS 암호화 키와 동일한 generated을 사용하여 키를 잠금 해제합니다. 서버를 시작할 때 CloudEvent를 수동으로 입력하거나 CloudEvent 파일을 사용해야 합니다.
Directory Server는 임의로 생성된 대칭 암호화 키를 사용하여 변경 로그를 암호화하고 암호 해독합니다. 서버는 구성된 각 암호에 대해 별도의 키를 사용합니다. 이러한 키는 서버의 TLS 인증서에서 공개 키를 사용하여 래핑되며 결과의 래핑 키는 서버의 구성 파일에 저장됩니다. 특성 암호화의 효과적인 장점은 래핑에 사용되는 서버의 TLS 키의 기능과 동일합니다. 서버의 개인 키와 CloudEvent에 액세스하지 않으면 래핑된 복사본에서 대칭 키를 복구할 수 없습니다.
15.1. 명령줄을 사용하여 변경 로그 암호화 링크 복사링크가 클립보드에 복사되었습니다!
복제 토폴로지의 보안을 강화하기 위해 공급자 및 허브의 변경 로그를 암호화하십시오. 다음 절차에서는 dc=example,dc=com 접미사에 대해 변경 로그 암호화를 활성화하는 방법을 설명합니다.
사전 요구 사항
- 서버에는 TLS 암호화가 활성화되어 있습니다.
- 호스트는 복제 토폴로지의 공급업체 또는 허브입니다.
절차
예를 들어 변경 로그를
/tmp/changelog.ldif파일로 내보냅니다.dsconf -D "cn=Directory Manager" ldap://server.example.com replication export-changelog to-ldif -o /tmp/changelog.ldif -r "dc=example,dc=com"
# dsconf -D "cn=Directory Manager" ldap://server.example.com replication export-changelog to-ldif -o /tmp/changelog.ldif -r "dc=example,dc=com"Copy to Clipboard Copied! Toggle word wrap Toggle overflow dc=example,dc=com접미사의 변경 로그 암호화를 활성화합니다.dsconf -D "cn=Directory Manager" ldap://server.example.com replication --suffix "dc=example,dc=com" --encrypt
# dsconf -D "cn=Directory Manager" ldap://server.example.com replication --suffix "dc=example,dc=com" --encryptCopy to Clipboard Copied! Toggle word wrap Toggle overflow /tmp/changelog.ldif파일에서 changelog를 가져옵니다.dsconf -D "cn=Directory Manager" ldap://server.example.com replication import-changelog from-ldif -r "dc=example,dc=com" /tmp/changelog.ldif
# dsconf -D "cn=Directory Manager" ldap://server.example.com replication import-changelog from-ldif -r "dc=example,dc=com" /tmp/changelog.ldifCopy to Clipboard Copied! Toggle word wrap Toggle overflow 인스턴스를 다시 시작하십시오.
dsctl instance_name restart
# dsctl instance_name restartCopy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
- 항목 업데이트와 같은 LDAP 디렉토리를 변경합니다.
인스턴스를 중지합니다.
dsctl instance_name stop
# dsctl instance_name stopCopy to Clipboard Copied! Toggle word wrap Toggle overflow 접미사와 해당 데이터베이스를 나열합니다.
dsconf -D "cn=Directory Manager" ldap://server.example.com backend suffix list dc=example,dc=com (userroot)
# dsconf -D "cn=Directory Manager" ldap://server.example.com backend suffix list dc=example,dc=com (userroot)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 변경 로그 암호화를 활성화한 데이터베이스의 이름을 기록해 둡니다.
다음 명령을 입력하여 변경 로그의 일부를 표시합니다.
dbscan -f /var/lib/dirsrv/slapd-instance_name/db/userroot/replication_changelog.db | tail -50
# dbscan -f /var/lib/dirsrv/slapd-instance_name/db/userroot/replication_changelog.db | tail -50Copy to Clipboard Copied! Toggle word wrap Toggle overflow 변경 로그가 암호화된 경우 암호화된 데이터만 볼 수 있습니다.
인스턴스를 시작합니다.
dsctl instance_name start
# dsctl instance_name startCopy to Clipboard Copied! Toggle word wrap Toggle overflow
17장. 소수 복제 내에서 속성 관리 링크 복사링크가 클립보드에 복사되었습니다!
부분 복제는 Directory Server가 공급자에서 소비자(또는 다른 공급자)로 복제하지 않는 속성을 설정합니다. 따라서 디렉터리 서버는 포함된 모든 정보 또는 모든 항목의 모든 정보를 복제하지 않고 서버 성능 및 보안을 개선하지 않고 데이터베이스를 복제할 수 있습니다.
다음과 같은 경우 소수 복제를 사용합니다.
- 느린 네트워크를 통해 전송되는 큰 속성의 수를 제한하려고 합니다.
-
Directory Server가
memberOf계산과 같은 수정 작업을 실행하는 횟수를 줄여야 합니다. - 소비자 서버가 신뢰할 수 없는 네트워크에 배치된 경우 복제에서 중요한 특성을 제외하려고 합니다.
부분 복제는 항목이 아닌 복제 계약에 따라 활성화 및 구성됩니다. 복제에서 속성을 제외하는 것은 복제 계약의 범위 내의 모든 항목에 동일하게 적용됩니다. 증분 업데이트(nsDS5ReplicatedAttributeList) 및 총 업데이트(nsDS5ReplicatedAttributeListTotal)에 대해 다른 속성을 설정하고 부분 복제 중에 빈 업데이트를 방지할 수 있습니다(nsds5ReplicaStripAttrs).
소수 복제 매개 변수는 복제 계약의 일부이며, 복제 계약이 생성되거나 웹 콘솔에서 복제 계약 마법사에서 명령줄을 사용하여 이러한 매개 변수를 구성할 수 있습니다.
17.1. 명령줄을 사용하여 전체 및 증분 업데이트에서 속성 제외 링크 복사링크가 클립보드에 복사되었습니다!
기본 시나리오에서 소수 복제는 총 및 증분 업데이트에서 동일한 특성 목록을 제외합니다.In a basic scenario, fractional replication excludes the same list of attributes from total and incremental updates. 그러나 다음 구성 특성을 사용하여 성능상의 이유로 증분 및 총 업데이트에서 다양한 속성을 제외하도록 Directory Server를 구성할 수 있습니다.
nsDS5ReplicatedAttributeList-
이는 기본 소수 복제 특성입니다.
nsDS5ReplicatedAttributeList만 설정하면 Directory Server는 증분 및 총 업데이트에서 지정된 속성을 제외합니다. nsDS5ReplicatedAttributeListTotal- 이 소수 복제 속성은 Directory Server가 총 (초기) 업데이트에서만 제외해야 하는 속성 목록을 지정합니다.
예를 들어 항목에 memberOf 속성을 추가할 때마다 Directory Server는 memberOf 수정 작업을 실행하여 그룹 멤버십을 확인합니다. 이로 인해 복제가 발생할 때마다 Directory Server가 작업을 실행하면 서버에 오버헤드가 발생할 수 있습니다. 총 업데이트는 복제에 새로 추가되거나 장기간 오프라인 상태인 데이터베이스에서만 수행되므로 총 업데이트가 허용 가능한 옵션인 후 memberOf 수정 작업을 실행합니다. 이 경우 nsDS5ReplicatedAttributeList 속성에는 memberOf 가 포함되어 있으며 증분 업데이트에서 제외되지만 nsDS5ReplicatedAttributeListTotal 에는 전체 업데이트에 포함되도록 memberOf 가 포함되지 않습니다.
다음 절차에서는 증분 및 총 업데이트에서 다양한 속성을 제외합니다.
사전 요구 사항
-
dc=example,dc=com접미사 및 복제 계약example_agreement가 있습니다.
절차
dsconf유틸리티를 사용하여 소수 복제를 구성합니다.dsconf -D "cn=Directory Manager" instance_name repl-agmt set example_agreement --suffix="dc=example,dc=com" --frac-list="authorityRevocationList accountUnlockTime memberof" --frac-list-total="accountUnlockTime"
# dsconf -D "cn=Directory Manager" instance_name repl-agmt set example_agreement --suffix="dc=example,dc=com" --frac-list="authorityRevocationList accountUnlockTime memberof" --frac-list-total="accountUnlockTime"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 명령은
authorityRevocationList,accountUnlockTime및memberof속성을 증분 업데이트에서 제외하고 전체 업데이트에서accountUnlockTime만 제외합니다.- 참고
-
전체 및 증분 업데이트에서 동일한 속성 목록을 제외하려면
--frac-list옵션을 사용하여 제외된 속성 목록을nsDS5ReplicatedAttributeList구성 속성에 추가합니다.
-
선택 사항: 복제 업데이트가 비어 있는 것을 방지하려면
--strip-list옵션을 사용하여 Directory Server가 복제에서 제거하는 특성을 추가합니다. 자세한 내용은 소수 복제에서 빈 업데이트 방지를 참조하십시오.
검증
복제 계약 설정을 확인합니다.
dsconf instance_name repl-agmt list --suffix=dc=example,dc=com | grep -i nsDS5ReplicatedAttributeList nsDS5ReplicatedAttributeList: (objectclass=) $ EXCLUDE authorityRevocationList accountUnlockTime memberof nsDS5ReplicatedAttributeListTotal: (objectclass=) $ EXCLUDE accountUnlockTime
# dsconf instance_name repl-agmt list --suffix=dc=example,dc=com | grep -i nsDS5ReplicatedAttributeList nsDS5ReplicatedAttributeList: (objectclass=) $ EXCLUDE authorityRevocationList accountUnlockTime memberof nsDS5ReplicatedAttributeListTotal: (objectclass=) $ EXCLUDE accountUnlockTimeCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 중요
-
nsDS5ReplicatedAttributeList및nsDS5ReplicatedAttributeListTotal값에(objectclass=*) $ EXCLUDE부분이 포함되어야 합니다. 예를 들어ldapmodify유틸리티를 사용하여 속성을 직접 편집하는 경우 제외된 속성 목록과 함께 이 부분을 지정해야 합니다.
-
nsDS5ReplicatedAttributeList -
nsDS5ReplicatedAttributeListTotal
17.2. 웹 콘솔을 사용하여 전체 및 증분 업데이트에서 속성 제외 링크 복사링크가 클립보드에 복사되었습니다!
기본 시나리오에서 소수 복제는 총 및 증분 업데이트에서 동일한 특성 목록을 제외합니다.In a basic scenario, fractional replication excludes the same list of attributes from total and incremental updates. 그러나 성능상의 이유로 증분 업데이트에서 다양한 속성을 제외하도록 Directory Server를 구성할 수 있습니다.
사전 요구 사항
-
dc=example,dc=com접미사 및 복제 계약example_agreement가 있습니다.
절차
- → .
- 부분 복제를 구성할 계약의 옵션 메뉴( Cryostat)를 클릭하고 선택하여 마법사 창을 엽니다.
Fractional Settings 탭을 열고 다음 필드를 설정합니다.
- 총 및 증분 업데이트에서 동일한 속성을 제외하려면 이러한 특성을 제외하는 속성 필드에만 추가합니다.
총 및 증분 업데이트에서 다양한 속성을 제외하려면 다음을 수행합니다.
-
nsDS5ReplicatedAttributeList매개변수를 구성하는 Exclude Attributes 필드에 증분 업데이트에서 제외된 속성을 추가합니다. -
nsDS5ReplicatedAttributeListTotal매개변수를 구성하는 Exclude Init Attributes 필드에 총 (초) 업데이트에서 제외된 속성을 추가합니다.
-
- 선택 사항: 복제가 비어 있는 복제 업데이트를 방지하려면 Directory Server에서 복제에서 제거하는 특성을 Strip 특성 필드에 추가합니다.
- Save Agreement 버튼을 클릭합니다.
검증
- 변경 사항을 보려면 복제 계약 설정을 엽니다.
17.3. 소수 복제에서 빈 업데이트 방지 링크 복사링크가 클립보드에 복사되었습니다!
부분 복제는 복제 업데이트에서 속성을 제외합니다(nsDS5ReplicatedAttributeList,nsDS5ReplicatedAttributeListTotal). 그러나 제외된 속성을 변경하면 수정 이벤트가 계속 트리거되고 빈 복제 업데이트가 생성됩니다.
빈 업데이트를 방지하려면 Directory Server가 빈 복제 이벤트로 보내지 않고 업데이트 순서에서 제거되는 속성 목록을 추가하는 nsds5ReplicaStripAttrs 매개 변수를 사용합니다. 이는 논리적으로 modifiersName 과 같은 작동 속성을 포함해야 합니다. 복제 이벤트가 비어 있지 않은 경우 Directory Server는 다른 변경 사항과 함께 제거된 특성을 계속 복제합니다.
예를 들어 복제에서 accountUnlockTime 속성을 제외했습니다. 잠긴 사용자의 경우 accountUnlockTime 에 설정된 기간이 만료되면 Directory Server가 자동으로 사용자의 잠금을 해제합니다. accountUnlockTime 속성만 변경되었으며 해당 속성은 복제에서 제외됩니다. 그러나 이 잠금 해제 이벤트는 internalmodifytimestamp 에서도 operational 특성을 변경합니다. 사용자 계정이 수정되었으므로 복제 이벤트가 트리거됩니다. 그러나 복제할 유일한 데이터는 새로운 수정 타임스탬프이며, 그렇지 않으면 업데이트가 비어 있습니다. 로그인 시간 또는 암호 만료 시간과 관련된 많은 속성이 있는 경우 서버 성능에 부정적인 영향을 미치거나 관련 애플리케이션을 방해하는 빈 복제 업데이트가 많이 생성될 수 있습니다.
다음 절차에서는 빈 업데이트를 방지하기 위해 불필요한 속성을 제거합니다.
사전 요구 사항
-
dc=example,dc=com접미사 및 복제 계약example_agreement가 있습니다.
절차
dsconf유틸리티를 사용하여 소수 복제를 조정합니다.dsconf -D "cn=Directory Manager" instance_name repl-agmt set example_agreement \ --suffix="dc=example,dc=com" --strip-list="modifiersname \ modifytimestamp internalmodifiersname" Successfully updated agreement# dsconf -D "cn=Directory Manager" instance_name repl-agmt set example_agreement \ --suffix="dc=example,dc=com" --strip-list="modifiersname \ modifytimestamp internalmodifiersname" Successfully updated agreementCopy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
복제 계약 설정을 확인합니다.
dsconf instance_name repl-agmt list --suffix=dc=example,dc=com | grep -i nsds5ReplicaStripAttrs nsds5ReplicaStripAttrs: modifiersname modifytimestamp internalmodifiersname
# dsconf instance_name repl-agmt list --suffix=dc=example,dc=com | grep -i nsds5ReplicaStripAttrs nsds5ReplicaStripAttrs: modifiersname modifytimestamp internalmodifiersnameCopy to Clipboard Copied! Toggle word wrap Toggle overflow
17.4. 복제 keep-alive 항목 보기 링크 복사링크가 클립보드에 복사되었습니다!
복제 토폴로지 공급업체에 대한 속성을 업데이트하면 공급 업체에서 changelog change sequence number (CSN)가 증가합니다. 그런 다음 공급자는 첫 번째 소비자에 연결하고 로컬 CSN을 소비자의 CSN과 비교합니다. 이 값이 낮은 경우 로컬 변경 로그에서 업데이트가 검색되고 소비자에 복제됩니다. 소수 복제가 활성화된 복제 토폴로지에서 이로 인해 문제가 발생할 수 있습니다. 예를 들어 복제에서 제외된 공급자에서만 속성만 업데이트되면 복제에 대한 업데이트가 발견되지 않으므로 소비자에서 CSN이 업데이트되지 않습니다. 또한 공급업체의 업데이트를 불필요한 검색으로 인해 다른 서버가 필요한 것보다 나중에 데이터를 수신할 수 있습니다. 이 문제를 해결하기 위해 Directory Server는 keep-alive 항목을 사용합니다.
공급업체의 업데이트된 모든 속성이 복제에서 제외되고 건너뛰기된 업데이트 수가 100 을 초과하면 Directory Server는 공급 업체의 keepalivetimestamp 속성을 업데이트하고 소비자에 CSN을 복제합니다. 이제 소비자의 CSN이 공급 업체의 CSN과 동일하고 다음 번에 공급 업체가 소비자의 CSN보다 최신의 업데이트 만 검색됩니다. 이렇게 하면 공급자가 새 업데이트를 검색하는 데 소비하는 시간이 줄어듭니다.
Directory Server는 다음과 같은 경우 공급자의 복제 keep-alive 항목을 자동으로 생성하거나 업데이트합니다.
- 소수 복제 계약이 100개 이상의 업데이트를 건너뛰고 복제 세션을 종료하기 전에 업데이트를 보내지 않는 경우입니다.
- 공급자가 소비자를 초기화할 때 처음에는 자체 keep-alive 항목을 생성합니다. 공급업체이기도 한 소비자는 다른 소비자도 초기화하지 않는 한 자체 keep-alive 항목을 생성하지 않습니다.
다음 절차에서는 복제 문제를 해결하는 데 사용할 수 있는 keep-alive 항목 세부 정보를 검색합니다.
사전 요구 사항
- Directory Manager 암호
절차
ldapsearch유틸리티를 사용하여 keep-alive 항목을 찾습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 각 keep-alive 항목은 지정된 공급 업체에 고유하며 공급자의 복제 ID를 고유 이름(DN)으로 포함합니다. 이 예에서 복제본 ID는
1입니다.
18장. 명령줄을 사용하여 복제 토폴로지 모니터링 링크 복사링크가 클립보드에 복사되었습니다!
공급업체, 소비자 및 허브 간 디렉터리 데이터 복제 상태를 모니터링하려면 복제 진행률, 복제본 ID, 변경 수 및 기타 매개변수에 대한 정보를 제공하는 복제 토폴로지 보고서를 사용할 수 있습니다. 보고서를 더 빠르게 생성하고 더 읽기 쉽게 하려면 고유한 자격 증명 및 별칭을 구성할 수 있습니다.
18.1. 명령줄을 사용하여 복제 토폴로지 보고서 표시 링크 복사링크가 클립보드에 복사되었습니다!
복제 토폴로지의 각 연결의 복제 상태에 대한 전체 정보를 보려면 복제 토폴로지 보고서를 표시할 수 있습니다. 이렇게 하려면 dsconf 복제 모니터 명령을 사용합니다.
사전 요구 사항
- 호스트는 복제 토폴로지의 멤버입니다.
- 소비자를 초기화했습니다.
절차
복제 토폴로지 보고서를 보려면 다음을 입력합니다.
dsconf -D "cn=Directory Manager" ldap://supplier.example.com replication monitor
# dsconf -D "cn=Directory Manager" ldap://supplier.example.com replication monitorCopy to Clipboard Copied! Toggle word wrap Toggle overflow dsconf유틸리티는 토폴로지의 각 인스턴스에 대한 인증 자격 증명을 요청합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
18.2. .dsrc 파일에서 복제 모니터링을 위한 인증 정보 설정 링크 복사링크가 클립보드에 복사되었습니다!
기본적으로 dsconf 복제 모니터 명령은 원격 인스턴스에 인증할 때 DN과 암호를 바인딩하도록 요청합니다. 향후 보고서를 더 빠르고 쉽게 생성하려면 사용자의 ~/.dsrc 파일의 토폴로지에 있는 각 서버에 대해 바인딩 DN 및 암호(선택 사항)를 설정할 수 있습니다.
사전 요구 사항
- 호스트는 복제 토폴로지의 멤버입니다.
- 소비자를 초기화했습니다.
절차
-
선택사항:
~/.dsrc파일을 생성합니다. ~/.dsrc파일에서 바인딩 DNs 및 암호를 설정합니다. 예를 들면 다음과 같습니다.[repl-monitor-connections] connection1 = server1.example.com:389:cn=Directory Manager:* connection2 = server2.example.com:389:cn=Directory Manager:[~/pwd.txt] connection3 = hub1.example.com:389:cn=Directory Manager:S3cret
[repl-monitor-connections] connection1 = server1.example.com:389:cn=Directory Manager:* connection2 = server2.example.com:389:cn=Directory Manager:[~/pwd.txt] connection3 = hub1.example.com:389:cn=Directory Manager:S3cretCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이 예에서는 connection1을 사용하여 connection3을 각 항목의 키로 사용합니다. 그러나 고유한 키를 사용할 수 있습니다.
dsconf 복제 모니터명령을 실행하면dsconf유틸리티가 인스턴스의 복제 계약에 구성된 모든 서버에 연결됩니다. 유틸리티가~/.dsrc에서 호스트 이름을 찾으면 정의된 자격 증명을 사용하여 원격 서버에 인증합니다. 위의 예에서dsconf는 서버에 연결할 때 다음과 같은 인증 정보를 사용합니다.Expand 호스트 이름 DN 바인딩 암호 설정 방법 server1.example.com
cn=Directory Manager
암호를 요청
server2.example.com
cn=Directory Manager
~/pwd.txt에서 암호를 읽습니다.hub1.example.com
cn=Directory Manager
S3cret
검증
-
dsconf replication monitor명령을 실행하여dsconf유틸리티가~/.dsrc파일에 구성된 인증 정보를 사용하는 경우 확인합니다. 자세한 내용은 명령줄을 사용하여 복제 토폴로지 보고서 표시를 참조하십시오.
18.3. 복제 토폴로지 모니터링 출력에서 별칭 사용 링크 복사링크가 클립보드에 복사되었습니다!
보고서를 더 읽기 쉽게 하려면 보고서 출력에 표시되는 고유한 별칭을 설정할 수 있습니다.To make the report more readable, you can set your own aliases that will be displayed in the report output. 기본적으로 복제 모니터링 보고서에는 원격 서버의 호스트 이름이 포함됩니다.
사전 요구 사항
- 호스트는 복제 토폴로지의 멤버입니다.
- 소비자를 초기화했습니다.
절차
보고서에 별칭을 표시하려면 다음 방법 중 하나를 사용합니다.
~/.dsrc파일에 별칭을 정의합니다.[repl-monitor-aliases] M1 = server1.example.com:389 M2 = server2.example.com:389
[repl-monitor-aliases] M1 = server1.example.com:389 M2 = server2.example.com:389Copy to Clipboard Copied! Toggle word wrap Toggle overflow -a alias=host_name:port매개변수를dsconf 복제 모니터명령에 전달하여 별칭을 정의합니다.dsconf -D "cn=Directory Manager" ldap://server.example.com replication monitor -a M1=server1.example.com:389 M2=server2.example.com:389
# dsconf -D "cn=Directory Manager" ldap://server.example.com replication monitor -a M1=server1.example.com:389 M2=server2.example.com:389Copy to Clipboard Copied! Toggle word wrap Toggle overflow
두 경우 모두 dsconf replication monitor 명령은 출력에 별칭을 표시합니다.
19장. 웹 콘솔을 사용하여 복제 토폴로지 모니터링 링크 복사링크가 클립보드에 복사되었습니다!
공급업체, 소비자 및 허브 간 디렉터리 데이터 복제 상태를 모니터링하려면 복제 진행률, 복제본 ID, 변경 수 및 기타 매개변수에 대한 정보를 제공하는 복제 토폴로지 보고서를 사용할 수 있습니다. 보고서를 더 빠르게 생성하고 더 읽기 쉽게 하려면 고유한 자격 증명 및 별칭을 구성할 수 있습니다.
19.1. 웹 콘솔을 사용하여 복제 토폴로지 보고서 표시 링크 복사링크가 클립보드에 복사되었습니다!
복제 토폴로지의 각 연결의 복제 상태에 대한 전체 정보를 보려면 복제 토폴로지 보고서를 표시할 수 있습니다.
사전 요구 사항
- 호스트는 복제 토폴로지의 멤버입니다.
- 소비자를 초기화했습니다.
- 웹 콘솔에 로그인되어 있습니다.
절차
- → (복제) 로 이동합니다. 페이지가 열립니다.
- 클릭합니다.
원격 인스턴스에 로그인할 암호를 입력하고 (자격 증명 입력 확인)을 클릭합니다. Directory Server는 기존 복제 계약의 바인딩 DN 값을 사용합니다.
복제 토폴로지 보고서가 탭에서 생성됩니다.
참고다른 복제 토폴로지 보고서를 생성하려면 탭으로 이동합니다.
19.2. 웹 콘솔을 사용하여 복제 모니터링에 대한 인증 정보 설정 링크 복사링크가 클립보드에 복사되었습니다!
복제 토폴로지 보고서를 더 빠르고 쉽게 생성하려면 인증을 위해 토폴로지의 각 서버에 대해 자체 바인딩 DN 및 선택적으로 암호를 설정할 수 있습니다. 이 경우 복제 토폴로지 보고서를 생성할 때마다 복제 자격 증명을 확인할 필요가 없습니다. 기본적으로 Directory Server는 기존 복제 계약에서 이러한 자격 증명을 가져옵니다.
사전 요구 사항
- 호스트는 복제 토폴로지의 멤버입니다.
- 소비자를 초기화했습니다.
- 웹 콘솔에 로그인되어 있습니다.
절차
- → (복제) 로 이동합니다. 페이지가 열립니다.
- 클릭합니다.
원격 인스턴스에 대한 인증에 사용할 복제 로그인 자격 증명을 입력합니다.
-
호스트 이름. 서버에서 인증할 원격 인스턴스 호스트 이름입니다. -
포트. 원격 인스턴스 포트입니다. -
DN 바인딩. 원격 인스턴스에 인증에 사용된 DN을 바인딩합니다. -
암호. 인증에 사용되는 암호입니다. -
대화형 입력. 선택된 경우 Directory Server는 복제 토폴로지 보고서를 생성할 때마다 암호를 요청합니다.
-
- 을 클릭합니다.
검증
복제 토폴로지 보고서를 생성하여 보고서가 자격 증명을 요청하는 경우 확인합니다. 자세한 내용은 웹 콘솔을 사용하여 복제 토폴로지 보고서 표시를 참조하십시오.
19.3. 웹 콘솔을 사용하여 복제 이름 별칭 구성 링크 복사링크가 클립보드에 복사되었습니다!
보고서를 더 읽기 쉽게 하려면 보고서 출력에 표시되는 고유한 별칭을 설정할 수 있습니다.To make the report more readable, you can set your own aliases that will be displayed in the report output. 기본적으로 복제 모니터링 보고서에는 서버의 호스트 이름이 포함됩니다.
사전 요구 사항
- 호스트는 복제 토폴로지의 멤버입니다.
- 소비자를 초기화했습니다.
- 웹 콘솔에 로그인되어 있습니다.
절차
- → (복제) 로 이동합니다. 페이지가 열립니다.
- 클릭합니다.
별칭 세부 정보를 입력합니다.
-
별칭. 복제 토폴로지 보고서에 표시되는 별칭입니다. -
호스트 이름. 인스턴스 호스트 이름. -
포트. 인스턴스 포트입니다.
-
- 을 클릭합니다.
검증
- 복제 토폴로지 보고서를 생성하여 보고서가 새 별칭을 사용하는 경우를 확인합니다. 자세한 내용은 웹 콘솔을 사용하여 복제 토폴로지 보고서 표시를 참조하십시오.
20장. 두 개의 Directory Server 인스턴스 비교 링크 복사링크가 클립보드에 복사되었습니다!
ds-replcheck 유틸리티를 사용하여 두 개의 Directory Server 인스턴스가 동기화되었는지 확인할 수 있습니다. 온라인 또는 두 개의 LDIF 형식의 파일을 오프라인 모드에서 두 서버를 비교할 수 있습니다.
20.1. 두 Directory Server 인스턴스의 복제 상태 표시 링크 복사링크가 클립보드에 복사되었습니다!
ds-replcheck 유틸리티를 사용하여 두 Directory Server 인스턴스의 복제 상태를 표시할 수 있습니다.
절차
다음 명령을 사용하여 두 Directory Server 인스턴스의 복제 상태를 표시합니다.
ds-replcheck state -D "cn=Directory Manager" -W -m ldap://server1.example.com:389 -r ldap://server2.example.com:389 -b "dc=example,dc=com" Replication State: Replica is behind Supplier by: 264 seconds
# ds-replcheck state -D "cn=Directory Manager" -W -m ldap://server1.example.com:389 -r ldap://server2.example.com:389 -b "dc=example,dc=com" Replication State: Replica is behind Supplier by: 264 secondsCopy to Clipboard Copied! Toggle word wrap Toggle overflow
20.2. 두 개의 온라인 Directory Server 인스턴스 비교 링크 복사링크가 클립보드에 복사되었습니다!
두 개의 온라인 서버를 비교하면 일반적으로 데이터베이스 내용이 부하가 많은 경우 달라집니다. 이 문제를 해결하기 위해 ds-replcheck 는 -l time_in_seconds 매개변수를 ds-replcheck 에 전달하여 지연 시간 값을 사용합니다. 기본적으로 이 값은 300 초(5분)로 설정됩니다. 유틸리티가 지연 시간 내에 있는 불일치를 감지하면 유틸리티에서 이를 보고하지 않습니다. 이는 false positive를 줄이는 데 도움이 됩니다.
기본적으로 복제 계약의 특정 속성을 제외한 경우 ds-replcheck 는 이러한 속성을 다르게 보고합니다. 이러한 속성을 무시하려면 -i attribute_list 매개변수를 유틸리티에 전달합니다.
절차
provider.example.com 및
replica.example접미사를 온라인으로 비교하려면 다음을 입력하십시오..com의dc=example,dc=comds-replcheck online -D "cn=Directory Manager" -W -m ldap://supplier.example.com:389 -r ldap://replica.example.com:389 -b "dc=example,dc=com"
# ds-replcheck online -D "cn=Directory Manager" -W -m ldap://supplier.example.com:389 -r ldap://replica.example.com:389 -b "dc=example,dc=com"Copy to Clipboard Copied! Toggle word wrap Toggle overflow -m및-r매개변수는 공급 업체 및 복제본에 대한 URL을 설정합니다.
20.3. 오프라인 두 디렉터리 서버 인스턴스 비교 링크 복사링크가 클립보드에 복사되었습니다!
두 개의 오프라인 Directory Server 인스턴스를 비교하려면 두 호스트의 데이터베이스를 내보내고 ds-replcheck 를 사용하여 비교합니다.
기본적으로 복제 계약의 특정 속성을 제외한 경우 ds-replcheck 는 이러한 속성을 다르게 보고합니다. 이러한 속성을 무시하려면 -i attribute_list 매개변수를 유틸리티에 전달합니다.
절차
공급자에서 접미사와 해당 데이터베이스를 나열합니다.
dsconf -D "cn=Directory Manager" ldap://supplier.example.com backend suffix list dc=example,dc=com (userroot) o=test (test_database)
# dsconf -D "cn=Directory Manager" ldap://supplier.example.com backend suffix list dc=example,dc=com (userroot) o=test (test_database)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 비교하려는 데이터베이스의 이름 또는 접미사를 확인합니다.
인스턴스가 실행되는 동안 데이터베이스를 내보냅니다.
dsconf -D "cn=Directory Manager" ldap://supplier.example.com backend export -r -l /var/lib/dirsrv/slapd-instance_name/ldif/export-supplier.ldif userRoot
# dsconf -D "cn=Directory Manager" ldap://supplier.example.com backend export -r -l /var/lib/dirsrv/slapd-instance_name/ldif/export-supplier.ldif userRootCopy to Clipboard Copied! Toggle word wrap Toggle overflow r매개변수를 사용하면 내보내기에 복제 상태 정보가 포함됩니다.-l은 내보내기 파일의 경로를 설정합니다.dirsrv사용자는 해당 파일을 만들려면 대상 디렉터리에 쓰기 권한이 있어야 합니다.- 공급자와 비교할 복제본에 대한 이전 단계를 반복합니다.
내보낸 파일을 한 호스트에서 다른 호스트로 복사합니다. 예를 들어
replica.example.com에서 provider.example.com으로 LDIF 파일을 복사하려면 복제본에 다음 명령을 입력합니다.scp /var/lib/dirsrv/slapd-instance_name/ldif/export-replica.ldif supplier.example.com:/var/lib/dirsrv/slapd-instance_name/ldif/
# scp /var/lib/dirsrv/slapd-instance_name/ldif/export-replica.ldif supplier.example.com:/var/lib/dirsrv/slapd-instance_name/ldif/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령을 사용하려면 SSH를 사용하여 공급업체에 액세스할 수 있어야 합니다.
공급자의 경우 두 개의 LDIF 파일을 비교합니다.
ds-replcheck offline -m /var/lib/dirsrv/slapd-instance_name/ldif/export-supplier.ldif -r /var/lib/dirsrv/slapd-instance_name/ldif/export-replica.ldif -rid 1 -b "dc=example,dc=com"
# ds-replcheck offline -m /var/lib/dirsrv/slapd-instance_name/ldif/export-supplier.ldif -r /var/lib/dirsrv/slapd-instance_name/ldif/export-replica.ldif -rid 1 -b "dc=example,dc=com"Copy to Clipboard Copied! Toggle word wrap Toggle overflow -m및-r매개변수는 공급 업체 및 복제본에 대한 경로를 설정하고-rid는 공급 업체의 복제 식별자를 설정합니다.
20.4. ds-replcheck 출력에 대한 설명 링크 복사링크가 클립보드에 복사되었습니다!
ds-replcheck 유틸리티 출력에는 다음 섹션이 포함되어 있습니다.
- 데이터베이스 RUV
최소 및 최대 시퀀스 번호(CSN)를 포함하여 데이터베이스의 RUV( Replication Update Vector)를 나열합니다. 예를 들면 다음과 같습니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 항목 수
tombstone 항목을 포함하여 두 서버의 총 항목 수를 표시합니다. 예를 들면 다음과 같습니다.
Supplier: 12 Replica: 10
Supplier: 12 Replica: 10Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Tombstones
각 복제본에 있는 tombstone 항목의 수를 표시합니다. 이러한 항목은 총 항목 수에 추가됩니다. 예를 들면 다음과 같습니다.
Supplier: 4 Replica: 2
Supplier: 4 Replica: 2Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 충돌 항목
각 충돌 항목의 고유 이름(DN), 충돌 유형 및 생성된 날짜를 나열합니다. 예를 들면 다음과 같습니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 누락된 항목
누락된 각 항목의 DN과 항목이 있는 다른 서버의 생성 날짜를 나열합니다. 예를 들면 다음과 같습니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - entry Inconsistencies
다른 서버의 속성을 포함하는 항목의 DN을 나열합니다. 상태 정보를 사용할 수 있는 경우 해당 정보도 표시됩니다. 속성에 대한 상태 정보를 사용할 수 없는 경우 원본 값으로 나열됩니다. 즉, 복제가 처음 초기화된 이후 값이 업데이트되지 않았습니다. 예를 들면 다음과 같습니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
21장. 일반적인 복제 문제 해결 링크 복사링크가 클립보드에 복사되었습니다!
다중 제공 복제에서는 결국 일관성 복제 모델을 사용합니다. 즉, 다른 서버에서 동일한 항목을 변경할 수 있습니다. 이러한 두 서버 간에 복제가 발생하면 Directory Server에서 충돌하는 변경 사항을 해결해야 합니다. 대부분의 경우 각 서버의 변경과 관련된 타임 스탬프에 따라 해상도가 자동으로 수행됩니다. 가장 최근의 변경 사항은 priority입니다. 그러나 문제 해결에 도달하기 위해 수동으로 개입해야 하는 경우도 있습니다.
21.1. 이름 충돌 식별 및 해결 링크 복사링크가 클립보드에 복사되었습니다!
여러 공급업체 서버가 동일한 고유 이름(DN)으로 항목을 생성하라는 요청을 수신하면 각 서버는 이 DN과 다른 입력 고유 식별자(입력 ID)를 사용하여 항목을 생성합니다. 항목 ID는 nsuniqueid 운영 특성에 저장됩니다.
예를 들어 서버 A 및 서버 B 는 uid=user_name,ou=people,dc=example,dc=com 사용자 항목을 생성하라는 요청을 받습니다. 결과적으로 각 서버에는 자체 항목이 있습니다.
서버 A에서 항목에는 다음이 있습니다.
-
uid=user_name,ou=people,dc=example,dc=com -
nsuniqueid=a7f1758b-512211ec-b115e2e9-7dc2d46b
-
서버 B에서 항목에는 다음이 있습니다.
-
uid=user_name,ou=people,dc=example,dc=com -
nsuniqueid=643a461e-b61311e1-b23be826-4afeed5f
-
복제하는 동안 서버 A 는 새로 생성된 항목 uid=user_name,ou=people,dc=example,dc=com 을 서버 B 로 복제하고 서버 B 복제는 서버 A 에 새로 생성된 항목을 복제하고 각 서버에서 이름 충돌이 발생합니다. 변경 시퀀스 번호(CSN)를 비교하면 각 서버는 이전에 생성된 항목을 결정합니다. 예를 들어 서버 B 의 항목이 이전에 생성되었습니다.
자동 충돌 해결 절차에서는 생성된 마지막 항목( 서버 A의 항목)을 다음과 같은 방식으로 변경합니다.
-
고유하지 않은 DN에
nsuniqueid값을 추가합니다. -
충돌이 발생한 설명에
nsds5replconflict속성을 추가합니다. -
ldapsubentry오브젝트 클래스를 추가합니다.
이제 두 서버에 다음 항목이 있습니다.
다음을 포함하는 유효한 항목
-
uid=user_name,ou=people,dc=example,dc=com -
nsuniqueid=643a461e-b61311e1-b23be826-4afeed5f
-
다음과의 충돌 항목
-
nsuniqueid=a7f1758b-512211ec-b115e2e9-7dc2d46b+uid=user_name,ou=people,dc=example,dc=com -
nsuniqueid=a7f1758b-512211ec-b115e2e9-7dc2d46b
-
이름 지정 충돌을 수동으로 해결하려면 각 서버에서 다음 절차를 사용하십시오.
절차
충돌 항목을 나열합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 충돌 항목이 있는 경우 진행 방법을 결정합니다.
유효한 항목(
uid=user_name,ou=people,dc=example,dc=com)만 유지하고 충돌 항목을 삭제하려면 다음을 입력합니다.dsconf -D "cn=Directory Manager" ldap://server.example.com repl-conflict delete nsuniqueid=a7f1758b-512211ec-b115e2e9-7dc2d46b+uid=user_name,ou=People,dc=example,dc=com
# dsconf -D "cn=Directory Manager" ldap://server.example.com repl-conflict delete nsuniqueid=a7f1758b-512211ec-b115e2e9-7dc2d46b+uid=user_name,ou=People,dc=example,dc=comCopy to Clipboard Copied! Toggle word wrap Toggle overflow 충돌 항목(
nsuniqueid=a7f1758b-512211ec-b115e2e9-7dc2d46b+uid=user_name,ou=People,dc=example,dc=com)만 계속하려면 다음을 입력합니다.dsconf -D "cn=Directory Manager" ldap://server.example.com repl-conflict swap nsuniqueid=a7f1758b-512211ec-b115e2e9-7dc2d46b+uid=user_name,ou=People,dc=example,dc=com
# dsconf -D "cn=Directory Manager" ldap://server.example.com repl-conflict swap nsuniqueid=a7f1758b-512211ec-b115e2e9-7dc2d46b+uid=user_name,ou=People,dc=example,dc=comCopy to Clipboard Copied! Toggle word wrap Toggle overflow 두 항목을 유지하려면 새로운 상대적 고유 이름(RDN)을 지정하여 충돌 항목의 이름을 변경합니다.
dsconf -D "cn=Directory Manager" ldap://server.example.com repl-conflict convert --new-rdn=uid=user_name_NEW nsuniqueid=a7f1758b-512211ec-b115e2e9-7dc2d46b+uid=user_name,ou=people,dc=example,dc=com
# dsconf -D "cn=Directory Manager" ldap://server.example.com repl-conflict convert --new-rdn=uid=user_name_NEW nsuniqueid=a7f1758b-512211ec-b115e2e9-7dc2d46b+uid=user_name,ou=people,dc=example,dc=comCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령은 충돌 항목의 이름을
uid=user_name_NEW,ou=people,dc=example,dc=com으로 변경합니다.
Directory Server는 충돌 항목에서 수행되는 LDAP 작업을 복제합니다. 일반적으로 복제된 작업은 작업 dn 을 사용하는 대신 원래 작업 항목의 nsuniqueid 를 사용하여 항목을 대상으로 합니다. 그러나 충돌 항목이 있는 경우 동작이 다를 수 있습니다.
21.2. 고립 입력 충돌 식별 및 해결 링크 복사링크가 클립보드에 복사되었습니다!
Directory Server에서 삭제 작업을 복제하고 소비자 서버에서 삭제할 항목에 하위 항목이 있음을 발견하면 충돌 해결 프로시저에서 디렉터리에 고립된 항목이 없도록 하기 위해 이전 항목을 만듭니다.
마찬가지로 Directory Server가 추가 작업을 복제하고 소비자 서버가 상위 항목을 찾을 수 없는 경우 충돌 해결 프로시저에서 상위 항목을 생성합니다.
Gluue 항목은 접착 상태 및 확장 가능한 오브젝트를 포함하는 임시 항목입니다. Glud 항목은 다음과 같은 여러 가지 방법으로 만들 수 있습니다.
충돌 해결 절차에서 일치하는 고유 식별자가 있는 삭제된 항목을 발견하면 obue 항목은 삭제된 항목과 같지만 추가된 F
sds5ReplConflict속성이 있습니다.이러한 경우
접착제오브젝트 클래스 및nsds5ReplConflict속성을 제거하여 항목을 일반 항목으로 유지하거나luue 항목 및 해당 하위 항목을 삭제합니다.-
서버는 obue 및
extensibleObject오브젝트 클래스를 사용하여 항목을 생성합니다.
절차
고립 항목 충돌을 나열합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 고립된 항목 충돌이 존재하는 경우 다음을 수행하는 방법을 결정합니다.
접착제 항목 및 해당 하위 항목을 삭제하려면 다음을 입력합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 접착 항목을 일반 항목으로 변환하려면 다음을 입력합니다.
dsconf -D "cn=Directory Manager" ldap://server.example.com repl-conflict convert-glue "ou=parent,dc=example,dc=com"
# dsconf -D "cn=Directory Manager" ldap://server.example.com repl-conflict convert-glue "ou=parent,dc=example,dc=com"Copy to Clipboard Copied! Toggle word wrap Toggle overflow
21.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.[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.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 경우 복제본 ID
8으로 인해 이 오류가 발생합니다.유효한 것과 유효하지 않은 RUV 레코드 및 복제본 ID를 모두 표시합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 반환된 복제본 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=8
# dsconf -D "cn=Directory Manager" ldap://server1.example.com repl-tasks cleanallruv --suffix="dc=example,dc=com" --replica-id=8Copy to Clipboard Copied! Toggle word wrap Toggle overflow Directory Server는 RUV 정리 작업을 복제합니다. 따라서 하나의 공급 업체에서만 작업을 시작해야합니다.
복제본 중 하나를 조인할 수 없는 경우, 예를 들어 다운된 경우
--force-cleaning옵션을 사용하여 RUV를 즉시 정리할 수 있습니다.
검증
RUV 레코드 및 복제본 ID를 표시합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 명령에서 더 이상 복제본 ID
8의 RUV 항목을 반환하지 않습니다.
21.4. 공급자에서 cleanallruv 작업을 중지 링크 복사링크가 클립보드에 복사되었습니다!
성능 또는 유지 관리 목적으로 작업이 오랫동안 실행되는 경우 cleanallruv 작업을 중지할 수 있습니다. dsconf 유틸리티를 사용하여 작업을 중지할 수 있습니다.
사전 요구 사항
- 복제가 활성화되어 있습니다.
절차
공급업체에 모든
cleanallruv작업을 표시합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 예제에서는 복제본이 응답하지 않아
cleanallruv작업을 완료할 수 없음을 보여줍니다. 경우에 따라 서버 성능에 부정적인 영향을 미칠 수 있습니다.cleanallruv작업을 중지합니다.dsconf <instance_name> repl-tasks abort-cleanallruv --suffix "dc=example,dc=com" --replica-id 12
# dsconf <instance_name> repl-tasks abort-cleanallruv --suffix "dc=example,dc=com" --replica-id 12Copy to Clipboard Copied! Toggle word wrap Toggle overflow 또한
--certify옵션을 사용하여 모든 복제본에서 Directory Server가cleanallruv작업을 중지하도록 할 수 있습니다.
검증
공급 업체에 모든
cleanallruv작업을 표시합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
22장. SyncRepl 프로토콜을 사용하여 콘텐츠 동기화 설정 링크 복사링크가 클립보드에 복사되었습니다!
RFC 4533에 따라 SyncRepl 프로토콜을 지원하기 위해 디렉터리 서버는 콘텐츠 동기화 플러그인을 사용합니다. 콘텐츠 동기화 플러그인을 사용하면 LDAP 서버와 클라이언트는 Red Hat Directory Server를 소스로 사용하여 로컬 데이터베이스를 디렉터리 변경 내용과 동기화할 수 있습니다.
SyncRepl 프로토콜 을 사용하려면 다음 구성을 수행해야 합니다.
디렉터리 서버 측에서 다음을 수행합니다.
-
콘텐츠 동기화 및 Retro Changelog 플러그인을 구성합니다. Retro Changelog 플러그인은
nsuniqueid운영 특성을 기록해야 합니다. - 선택 사항: 클라이언트가 Directory Server에 바인딩하는 데 사용할 새 사용자를 만듭니다. 새 사용자에게는 디렉터리의 콘텐츠를 읽을 수 있는 권한이 있어야 합니다. 자세한 내용은 명령줄을 사용하여 LDAP 항목 추가를 참조하십시오.
-
콘텐츠 동기화 및 Retro Changelog 플러그인을 구성합니다. Retro Changelog 플러그인은
- 클라이언트를 구성합니다. 예를 들어 하위 트리의 검색 기반이 동기화되도록 설정합니다. 자세한 내용은 클라이언트 설명서를 참조하십시오.
다음 절차에서는 명령줄을 사용하여 콘텐츠 동기화 및 Retro Changelog 플러그인을 구성합니다.
사전 요구 사항
-
root권한이 있습니다.
절차
Retro Changelog가 활성화되어 있는지 확인합니다.
dsconf <instance_name> plugin retro-changelog show ... nsslapd-pluginEnabled: off
# dsconf <instance_name> plugin retro-changelog show ... nsslapd-pluginEnabled: offCopy to Clipboard Copied! Toggle word wrap Toggle overflow Retro Changelog 플러그인이 비활성화된 경우 이를 활성화합니다.
dsconf <instance_name> plugin retro-changelog enable Enabled plugin 'Retro Changelog Plugin'
# dsconf <instance_name> plugin retro-changelog enable Enabled plugin 'Retro Changelog Plugin'Copy to Clipboard Copied! Toggle word wrap Toggle overflow targetUniqueId별칭을 사용하여 Retro Changelog 플러그인 구성에nsuniqueidoperational 속성을 추가합니다.dsconf <instance_name> plugin retro-changelog add --attribute nsuniqueid:targetUniqueId Successfully changed the cn=Retro Changelog Plugin,cn=plugins,cn=config
# dsconf <instance_name> plugin retro-changelog add --attribute nsuniqueid:targetUniqueId Successfully changed the cn=Retro Changelog Plugin,cn=plugins,cn=configCopy to Clipboard Copied! Toggle word wrap Toggle overflow 선택 사항: 성능을 개선하기 위해 다음 권장 사항을 적용합니다.
Retro Changelog 항목의 최대 사용 기간을 구성합니다. 예를 들어 나이를
2일(2d)으로 설정합니다.dsconf <instance_name> plugin retro-changelog set --max-age 2d Successfully changed the cn=Retro Changelog Plugin,cn=plugins,cn=config
# dsconf <instance_name> plugin retro-changelog set --max-age 2d Successfully changed the cn=Retro Changelog Plugin,cn=plugins,cn=configCopy to Clipboard Copied! Toggle word wrap Toggle overflow 클라이언트가 데이터를 동기화하기 위해 액세스하는 백엔드 또는 하위 트리를 알고 있는 경우 Retro Changelog 플러그인의 범위를 제한합니다. 예를 들어
cn=marketing,dc=example,dc=com하위 트리를 제외하려면 다음을 입력합니다.dsconf <instance_name> plugin retro-changelog set --exclude-suffix "cn=marketing,dc=example,dc=com" Successfully changed the cn=Retro Changelog Plugin,cn=plugins,cn=config
# dsconf <instance_name> plugin retro-changelog set --exclude-suffix "cn=marketing,dc=example,dc=com" Successfully changed the cn=Retro Changelog Plugin,cn=plugins,cn=configCopy to Clipboard Copied! Toggle word wrap Toggle overflow
콘텐츠 동기화 플러그인을 활성화합니다.
dsconf <instance_name> plugin contentsync enable Enabled plugin 'Content Synchronization'
# dsconf <instance_name> plugin contentsync enable Enabled plugin 'Content Synchronization'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 선택 사항: ACI를 조정하여
SyncRepl컨트롤을 사용할 수 있는 사용자를 제한합니다. 기본적으로 디렉터리 서버는oid=1.3.6.1.4.1.4203.1.9.1.1,cn=features,cn=config항목에 다음 액세스 제어 명령(ACI)을 생성하여 모든 사용자가SyncRepl프로토콜을 사용할 수 있도록 합니다.aci: (targetattr != "aci")(version 3.0; acl "Sync Request Control"; allow( read, search ) userdn = "ldap:///all";)
aci: (targetattr != "aci")(version 3.0; acl "Sync Request Control"; allow( read, search ) userdn = "ldap:///all";)Copy to Clipboard Copied! Toggle word wrap Toggle overflow ACI를 조정하는 방법에 대한 자세한 내용은 ACI 바인딩 규칙 정의를 참조하십시오.
서버를 다시 시작하십시오.
dsctl <instance_name> restart
# dsctl <instance_name> restartCopy to Clipboard Copied! Toggle word wrap Toggle overflow
이제 클라이언트는 SyncRepl 프로토콜을 사용하여 데이터를 Directory Server와 동기화할 수 있습니다.