8.3. Windows 동기화 계획
데이터 또는 계획 복제를 구성하기위한 사이트 설문 조사와 유사하게 동기화를 설정하기 전에 정보, Windows 서버 및 기타 고려 사항을 평가하는 것이 유용할 수 있습니다.
8.3.1. 리소스 요구 사항
동기화는 서버 리소스를 사용합니다. 복제 전략을 정의할 때 다음 리소스 요구 사항을 고려하십시오.
- 디스크 사용량 - 업데이트 작업마다 변경 로그를 기록합니다. 많은 업데이트 작업을 수신하는 서버에서 디스크 사용량이 증가할 수 있습니다. 또한 모든 복제 데이터베이스 및 동기화된 데이터베이스에 대해 단일 변경 로그를 유지합니다. 공급업체에 복제 및 동기화된 여러 데이터베이스가 포함된 경우 변경 로그가 더 자주 사용되며 디스크 사용량이 더 높습니다.
- 서버 스레드 - 동기화 계약에는 하나의 서버 스레드가 사용됩니다.Server threads - The synchronization agreement uses one server thread.
- 파일 설명자 - 서버에서 사용할 수 있는 파일 설명자 수가 변경 로그(단일 파일 설명자) 및 각 복제 및 동기화 계약(계약당 하나의 파일 설명자)에 의해 줄어듭니다.
- 서로 다른 빌딩 또는 원격 사이트를 연결하는 LAN 및 WAN의 품질과 사용 가능한 대역폭의 양입니다.
- 디렉터리에 저장된 항목의 수 및 크기입니다.
인적 리소스 데이터베이스 또는 금융 정보를 관리하는 사이트는 간단한 전화 예약 목적으로 디렉토리를 사용하는 엔지니어링 직원이 포함된 사이트보다 디렉터리에 더 많은 부하를 배치할 수 있습니다.
8.3.2. 변경 로그를 위한 디스크 공간 관리
다중 제공 복제와 마찬가지로 동기화에는 업데이트 항목에 대한 상태 정보에 대한 디렉터리 편집 및 로그 항목을 추적하기 위해 변경 로그, 삭제된 항목에 대한 tombstone 항목이 필요합니다. 이 정보는 동기화에 필요합니다. 이러한 로그 파일은 매우 커질 수 있으므로 디스크 공간을 낭비하지 않으려면 이러한 파일을 정기적으로 정리해야 합니다.
변경 로그를 유지 관리할 수 있는 4가지 속성이 있습니다. 두 개는 cn=changelog5 아래에 있으며 변경 로그를 트리밍하는 것과 직접 관련이 있습니다.
nsslapd-changelogmaxage
는 변경 로그의 항목이 될 수 있는 최대 기간을 설정합니다. 항목이 해당 제한보다 오래되면 삭제됩니다. 이로 인해 변경 로그가 무기한 증가되지 않습니다.nsslapd-changelogmaxentries
는 변경 로그에 허용되는 최대 항목 수를 설정합니다.nsslapd-changelogmaxage
와 마찬가지로 변경 로그도 트리밍되지만 설정에 주의하십시오. 디렉터리 정보 또는 동기화의 전체 집합이 제대로 작동하지 않을 수 있을 만큼 커야 합니다.
다른 두 속성은 cn=sync_agreement,cn=WindowsReplica,cn=suffixDN,cn= mapping 트리,cn=config 의 동기화 계약 항목 아래에 있습니다. 이 두 가지 속성은 디렉토리 편집 정보가 아닌 변경 로그에 보관된 유지 관리 정보인 tombstone 및 state 정보와 관련이 있습니다.
nsDS5ReplicaPurgeDelay
는 tombstone (deleted) 항목을 최대 사용 기간을 설정하고 상태 정보는 변경 로그에 있을 수 있습니다. mbstone 또는 state 정보 입력이 해당 기간보다 오래된 경우 삭제됩니다.nsDS5ReplicaPurgeDelay
값이 tombstone 및 상태 정보 항목에만 적용되는nsslapd-changelogmaxage
속성과는 다릅니다.nsslapd-changelogmaxage
는 디렉터리 수정을 포함하여 changelog의 모든 항목에 적용됩니다.nsDS5ReplicaTombstonePurgeInterval
은 서버가 제거 작업을 실행하는 빈도를 설정합니다. 이 간격으로 Directory Server는 내부 작업을 실행하여 변경 로그에서 tombstone 및 state 항목을 정리합니다. 최대 사용 기간이 가장 긴 복제 업데이트 일정보다 길거나 다중 제공 복제가 복제본을 올바르게 업데이트하지 못할 수 있는지 확인합니다.
복제 및 변경 로그를 관리하기 위한 매개변수는 구성, 명령 및 파일 참조의 "코어 구성 속성" 장에서 설명합니다.
8.3.3. 연결 유형 정의
동기화는 표준 포트를 통한 간단한 인증, TLS/TLS 사용 또는 Start TLS(표준 포트를 통한 보안 연결)를 사용하여 발생할 수 있습니다.
필수는 아니지만 동기화에 TLS 또는 기타 보안 연결을 사용하는 것이 좋습니다. Windows 서버에서 암호를 동기화하려면 두 서버에서 TLS를 활성화해야 하므로 동기화가 보안 포트를 통해 진행됩니다.
8.3.4. 데이터 공급업체를 고려 중
데이터 공급자는 데이터 공급자 소스인 서버이며, 이는 데이터에 대한 기본 또는 권한 있는 소스입니다.
Windows 및 Directory Server 서비스는 동기화 계약을 통해 지속적으로 동기화되므로 두 서비스 간의 잠재적인 충돌이 최소화됩니다. 그러나 디렉터리 서버가 복제 배포의 일부인 경우 복제 일정에 따라 Directory Server 복제 시나리오 내에서 변경한 내용과 Windows 도메인 간에 충돌이 발생할 수 있습니다.
데이터가 두 개의 다른 디렉토리 서비스에 있을 때 데이터 공급자가 될 서버를 고려하고 해당 정보의 양을 공유할지 결정합니다. 가장 좋은 방법은 데이터를 관리하고 동기화 프로세스에서 다른 서비스에서 항목을 추가, 업데이트 또는 삭제할 수 있는 단일 디렉터리 서비스를 선택하는 것입니다.
데이터를 관리할 하나의 영역(Windows 도메인 또는 디렉터리 서버)을 선택합니다. 또는 단일 디렉터리 서버를 데이터 공급자로 선택하고 각 Windows 도메인과 동기화합니다. Directory Server가 복제에 관련된 경우 충돌을 방지하거나 데이터를 손실하거나 데이터를 덮어쓰는 것을 방지하기 위해 복제 구조를 설계합니다.
데이터의 주요 복사본을 유지 관리하는 방법은 배포의 특정 요구 사항에 따라 다릅니다. 데이터 공급 업체가 어떻게 유지되는지에 관계없이 간단하고 일관성을 유지하십시오. 예를 들어 여러 사이트에서 데이터를 관리하려고 시도하지 말고 경쟁하는 애플리케이션 간에 데이터를 자동으로 교환하지 마십시오. 이렇게 하면 "마지막 변경 성공" 시나리오가 발생하고 관리 오버헤드가 증가합니다.
8.3.5. 동기화할 하위 트리 확인
단일 Directory Server 하위 트리만 단일 Windows 하위 트리에 동기화될 수 있으며 디렉터리 서비스 간에는 단일 동기화 계약만 있는 것이 좋습니다. 동기화할 디렉터리 트리의 부분을 선택하거나 설계합니다. 동기화된 항목을 위해 특수 접미사를 특별히 설계하는 것이 좋습니다.
하위 트리 계획에서는 Active Directory와 Directory Server 디렉터리 간에 일치하지만 동기화된 하위 트리의 범위를 벗어나는 항목을 고려해야 합니다. 동기화 프로세스는 실제로 루트 DN에서 시작하여 동기화 항목 평가를 시작합니다. 항목은 Active Directory의
samAccount
및 Directory Server의 uid
특성에 따라 상관 관계가 있습니다. samAccount/uid
관계를 기반으로 하는 항목이 삭제되거나 이동되기 때문에 동기화된 하위 트리에서 제거된 경우 동기화 플러그인에 유의하십시오. 이는 해당 항목을 더 이상 동기화하지 않는다는 동기화 플러그인에 대한 신호입니다. 문제는 동기화 프로세스에 이동된 항목을 처리하는 방법을 결정하기 위한 몇 가지 구성이 필요하다는 것입니다. 동기화 계약에 설정할 수 있는 세 가지 옵션이 있습니다. 즉, 해당 디렉터리 서버 항목을 삭제하거나, 변경 사항을 무시하거나(기본값) 항목을 동기화하지 않고 그대로 둡니다.
8.3.6. 복제된 환경과의 상호 작용
동기화는 Directory Server 접미사 및 하위 트리(예:
ou=People,dc=example,dc=com
)를 해당 Windows 도메인 및 하위 트리(cn=Users,dc=test,dc=com
)에 연결합니다. 각 하위 트리는 이름 충돌 및 변경 충돌을 방지하기 위해 다른 하위 트리에만 동기화할 수 있습니다.
Windows 동기화를 활용하려면 Windows 도메인의 멤버와 동기화된 다중 제공 복제의 디렉터리 서버 공급자와 함께 사용하십시오. 이는 정보를 중앙 집중식으로 유지하고 유지 관리하기 쉽도록 두 디렉터리 시스템을 통해 변경 사항을 전파합니다. 또한 데이터를 더 쉽게 관리할 수 있습니다.
그림 8.2. Multi-Supplier Directory Server - Windows 도메인 동기화
![Multi-Supplier Directory Server - Windows 도메인 동기화](https://access.redhat.com/webassets/avalon/d/Red_Hat_Directory_Server-11-Deployment_Guide-ko-KR/images/8747d563547f734c7a10ca030ae6f4ff/sync-3.png)
지정된 Windows 도메인에 대한 하나의 동기화 계약만 생성합니다. Directory Server 전체에서 Windows 서버에서 동기화된 변경 사항 및 정보를 전파하려면 다중 공급 업체, 복제 배포를 위한 데이터 공급자와의 동기화 계약을 생성합니다.
8.3.7. 동기화 방향 제어
그림 8.1. “동기화 프로세스” 에서 설명하는 대로 동기화는 기본적으로 양방향 입니다. 즉, Active Directory의 변경 사항이 Directory Server로 전송되고 Directory Server의 변경 사항이 Active Directory로 전송됩니다.
oneWaySync
매개 변수를 동기화 계약에 추가하여 리디렉션되지 않은 동기화를 만들 수 있습니다. 이 속성은 변경 사항을 보낼 방향을 정의합니다.
Active Directory 서버에서 Directory Server 로 변경 사항을 보내려면 값은
from Windows
입니다. 이 경우 일반 동기화 업데이트 간격 동안 디렉터리 서버는 Active Directory 서버에 연결하여 업데이트를 요청하기 위해 DirSync 제어를 보냅니다. 그러나 디렉터리 서버는 변경 사항 또는 항목을 해당 측면에서 보내지 않습니다. 따라서 동기화 업데이트는 Active Directory 변경 사항을 전송하고 Directory Server 항목을 업데이트하는 것으로 구성됩니다.
Directory Server 에서 Active Directory 서버로 변경 사항을 동기화하려면 값은
Windows
입니다. Directory Server는 일반 업데이트의 Active Directory 서버에 항목 수정 사항을 전송하지만 Active Directory 측에서 업데이트를 요청하지 않도록 DirSync 컨트롤을 포함하지 않습니다.
리디렉션되지 않은 동기화를 활성화하면 동기화되지 않은 서버에서 자동으로 변경되지 않으며 동기화 업데이트 간에 동기화 피어 간의 불일치가 발생할 수 있습니다. 예를 들어, 단방향 동기화는 Active Directory에서 Directory Server로 이동하도록 구성되어 있으므로 Active Directory는 기본적으로 데이터 공급자입니다. 디렉터리 서버에서 항목을 수정하거나 삭제하면 디렉터리 서버 정보가 다르므로 해당 변경 사항이 Active Directory로 전달되지 않습니다. 다음 동기화 업데이트 중에 Directory Server에서 편집 내용이 덮어쓰고 삭제된 항목이 다시 추가됩니다.
데이터 불일치를 방지하려면 액세스 제어 규칙을 사용하여 동기화 되지 않은서버의 동기화 하위 트리 내의 항목을 편집하거나 삭제하지 않습니다. 디렉터리 서버의 액세스 제어는 9.7절. “액세스 제어 설계” 에서 다룹니다. Active Directory의 경우 적절한 Windows 설명서를 참조하십시오.
8.3.8. 항목 제어가 동기화됨
Windows Sync는 다양한 배포 시나리오를 지원하기에 충분한 유연성을 제공하기 위해 동기화되는 항목을 일부 제어합니다. 이 컨트롤은 Directory Server에 설정된 다양한 구성 특성을 통해 설정됩니다.
- Windows 하위 트리 내에서는 사용자 및 그룹 항목만 Directory Server에 동기화할 수 있습니다. 동기화 계약을 생성할 때 새 Windows 사용자 및 그룹 항목을 만들 때 동기화하는 옵션이 있습니다. 이러한 특성이 on 으로 설정된 경우 기존 Windows 항목이 Directory Server에 동기화되고 Windows 서버에서 생성되는 항목이 Directory Server에 동기화됩니다.
- Active Directory 항목과 마찬가지로 Directory Server의 사용자 및 그룹 항목만 동기화할 수 있습니다. 동기화할 항목은 ntUser 또는 ntGroup 개체 클래스 및 필수 속성이 있어야 합니다. 다른 모든 항목은 무시됩니다.
일반 텍스트 암호가 Directory Server 변경 로그에 유지되므로 디렉터리 서버 암호는 다른 항목 속성과 함께 동기화됩니다. Windows 서버에서 변경한 암호 변경 사항을 파악하려면 암호 동기화 서비스가 필요합니다. 암호 동기화 서비스가 없으면 Windows 서버에서 암호를 해시하고 Windows 해시 기능이 Directory Server에서 사용하는 것과 호환되지 않기 때문에 Windows 암호를 동기화할 수 없습니다.
8.3.9. 동기화할 디렉터리 데이터 식별
Windows 동기화는 디렉터리 서비스 간에 사용자 및 그룹 항목을 동기화합니다. 동기화할 하위 트리를 결정한 후 다음과 같이 해당 하위 트리에 저장할 정보를 계획합니다.
- 전화번호, 사무실 주소, 이메일 주소와 같은 디렉토리 사용자 및 직원에 대한 연락처 정보.
- 거래 파트너, 고객 및 고객을 위한 연락처 정보
- 사용자의 소프트웨어 기본 설정 또는 소프트웨어 구성 정보.
- 그룹 정보 및 그룹 멤버십.그룹 멤버는 동기화된 접미사 내에 있는 경우에만 동기화됩니다. 계약 범위 내에 없는 그룹 멤버는 양면에 변경되지 않고 적절한 디렉터리 서비스에서 그룹의 멤버로 나열되지만 그룹 항목의 해당
멤버
속성은 동기화 피어와 동기화되지 않습니다.
동기화되는 항목은 동기화 계약에 설정되어 있습니다. 사용자 항목은 그룹 항목과 별도로 동기화됩니다. 또한 항목 삭제는 별도로 구성됩니다. 삭제는 구체적으로 동기화되어야 합니다.
Directory Server에서는 ntGroup 또는 ntUser 개체 클래스 및 필수 속성이 포함된 항목만 동기화됩니다. Windows 서버와 동기화해야 하는 기존 및 향후 항목을 결정합니다.
디렉터리에 존재할 항목을 확인한 후 이러한 오브젝트의 속성을 디렉터리에 유지 관리해야 합니다. Directory Server 또는 Active Directory에 대한 가능한 속성의 하위 집합만 동기화됩니다. 또한 이러한 속성 하위 집합은 동기화 계약(라우트 동기화)을 통해 특정 특성을 제외하여 더욱 제한될 수 있습니다.
사용 가능한 동기화 특성에 따라 해당 항목에 포함된 항목과 데이터를 모두 계획합니다. 동기화된 속성과 Directory Server와 Active Directory 스키마의 차이점은 8.4절. “Active Directory 및 Directory Server 간에 동기화됨” 에 설명되어 있습니다.
8.3.10. 사용자 및 그룹에 대한 POSIX 속성 동기화
가능한 모든 사용자와 속성의 하위 집합이 Active Directory와 Red Hat Directory Server 간에 동기화됩니다. Active Directory와 Directory Server 스키마 간에 차이점이 있고 일부 속성은 직접 일치하는 일부 특성이 매핑됩니다. 기본적으로 해당 속성만 동기화됩니다.
해당 동기화 목록에서 누락된 한 가지 유형의 속성은 POSIX 관련 속성입니다. Linux 시스템에서 시스템 사용자 및 그룹은 POSIX 항목으로 식별되며 LDAP POSIX 속성에는 필요한 정보가 포함됩니다. 그러나 Windows 사용자가 동기화되면
ntUser
및 ntGroup
속성이 자동으로 추가되어 Windows 계정으로 식별하지만 POSIX 속성은 동기화되지 않습니다 (Active Directory 항목에 존재하는 경우에도) Directory Server 측에 POSIX 특성이 추가되지 않습니다.
Posix Winsync API 플러그인은 Active Directory와 Directory Server 항목 간에 POSIX 속성을 동기화합니다. 이 플러그인은 기본적으로 비활성화되어 있지만 활성화하면 POSIX 특성을 데이터 공급자에 설정한 다음 피어 서버로 동기화할 수 있습니다. 이는 POSIX 속성을 Active Directory 항목에서 직접 설정한 다음 Directory Server 디렉터리에서 동기화 및 보존할 수 있으므로 사용자 계정 저장소로 Active Directory를 사용하는 경우 유용합니다.
참고
모든 POSIX 속성(예:
uidNumber
,gidNumber
, homeDirectory
)은 플러그인이 활성화된 경우 Active Directory와 Directory Server 항목 간에 동기화됩니다. 그러나 새 POSIX 항목 또는 POSIX 속성이 Directory Server의 기존 항목에 추가되는 경우 POSIX 속성만 Active Directory 해당 항목에 동기화됩니다. POSIX 오브젝트 클래스(사용자 및 그룹의 경우posix Account )는 Active Directory 항목에 추가되지 않습니다.
8.3.11. 암호 동기화 및 암호 서비스 설치
DirSync 플러그인은 Directory Server와 함께 설치되고 기본적으로 활성화되어 있지만 추가 Windows 서비스인 암호 동기화를 Windows 머신에 설치하여 암호를 동기화해야 합니다. 이 서비스는 Windows 서버에서 수행한 암호 변경 사항을 Directory Server로 전송하는 데 필요합니다.
암호 동기화 서비스가 설치되지 않는 한 암호 동기화(
userPassword
특성 동기화)가 활성화되지 않습니다. 즉, Directory Server 사용자 항목이 Windows 서버와 동기화된 경우에도 사용자 항목이 Windows 도메인에서 활성화되지 않습니다(즉, 동기화된 사용자는 암호가 없기 때문에 도메인에 로그인할 수 없음).
참고
passwordTrackUpdateTime
이라는 암호 정책 특성이 있으며 이는 사용자 암호의 마지막 업데이트에 대한 별도의 타임스탬프를 기록합니다. 이렇게 하면 Active Directory와 Directory Server 또는 다른 클라이언트 간의 암호 변경 사항을 더 쉽게 동기화할 수 있습니다.
8.3.12. 업데이트 전략 정의
필요한 동기화 특성을 포함하도록 수정된 기존 Directory Server 항목은 다음 전체 업데이트까지 동기화되지 않습니다. Windows 항목 및 이미 동기화된 Directory Server 항목에 대한 수정 사항은 다음 증분 업데이트 시 수행됩니다. 이 전략의 일부로 데이터를 변경할 수 있는 애플리케이션을 제한하고 데이터를 변경할 수 있는 애플리케이션을 제한하십시오(이 업데이트는 기존 정보를 덮어쓰거나 삭제하지 않고, 새 항목을 추가하고 수정 보내기).
기본적으로 Windows 및 Directory Server 인스턴스는 지속적으로 동기화되며 5분마다 변경 사항이 게시됩니다. 이 일정은 업데이트 간격(
winSyncInterval
)을 변경하거나 다른 업데이트 일정(nsDS5ReplicaUpdateSchedule
)을 설정하여 동기화 계약 속성을 수동으로 설정하여 변경할 수 있습니다.
8.3.13. 동기화 계약 편집
웹 콘솔을 통해 구성된 기본 동기화 연결은 호스트 및 포트 정보, 동기화 하위 트리 및 연결 유형과 같은 동기화에 대한 매우 간단한 정보를 설정합니다.
그러나 소수 복제 및 동기화 일정과 같은 다중 제공 복제에 사용할 수 있는 많은 구성이 Windows-Directory Server 동기화에서 사용할 수 있습니다.However, many configurations available to multi-supplier replication, like fractional replication and sync schedules, are available to Windows-Directory Server synchronization. 이러한 설정은 동기화 계약에 수동으로 추가해야 합니다.
기본 동기화 계약 변경은 관리 가이드에 설명되어 있으며 사용 가능한 동기화 계약 속성은 구성, 명령 및 파일 참조에 나열됩니다.