21장. 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
# 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
# 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
# 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
# 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"
# 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
# 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와 동기화할 수 있습니다.