7장. 복제 프로세스 설계
디렉터리 콘텐츠를 복제하면 디렉터리 서비스의 가용성과 성능이 향상됩니다. 4장. 디렉터리 트리 설계 6장. 디렉터리 토폴로지 설계 에서는 디렉터리 트리와 디렉터리 토폴로지의 설계를 다룹니다. 이 장에서는 데이터의 물리적 및 지리적 위치, 특히 복제를 사용하여 필요한 시기와 위치에 데이터를 사용할 수 있도록 하는 방법을 설명합니다.
이 장에서는 복제에 을 사용하고 디렉터리 환경의 복제 전략을 설계하는 방법에 대한 조언을 제공합니다.
7.1. 복제 소개 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
복제는 Red Hat Directory Server에서 다른 Red Hat Directory Server로 디렉터리 데이터를 자동으로 복사하는 메커니즘입니다. 복제를 사용하면 서버 간에 모든 디렉터리 트리 또는 하위 트리(자체 데이터베이스에 저장됨)를 복사할 수 있습니다. 정보의 기본 복사본을 보유하고 있는 디렉터리 서버는 모든 업데이트를 모든 복제본에 자동으로 복사합니다.
복제는 고가용성 디렉터리 서비스를 제공하며 지리적으로 데이터를 배포할 수 있습니다. 실용적인 관점에서 복제는 다음과 같은 이점을 제공합니다.
- 내결함성 및 페일오버 - 디렉터리 트리를 여러 서버에 복제하면 하드웨어, 소프트웨어 또는 네트워크 문제로 인해 디렉터리 클라이언트 애플리케이션이 특정 Directory 서버에 액세스하지 못하는 경우에도 디렉터리 서비스를 사용할 수 있습니다. 클라이언트는 읽기 및 쓰기 작업을 위해 다른 Directory Server라고 합니다.참고쓰기 페일오버는 다중 제공 복제를 통해서만 가능합니다.
- 부하 분산 - 서버 간에 디렉터리 트리를 복제하면 지정된 시스템의 액세스 로드가 줄어들어 서버 응답 시간이 단축됩니다.
- 성능 향상 및 응답 시간 감소 - 사용자와 가까운 위치에 디렉터리 항목을 복제하면 디렉터리 응답 시간이 크게 향상됩니다.
- 로컬 데이터 관리 - 복제를 사용하면 엔터프라이즈 전체의 다른 디렉터리 서버와 공유하면서 정보를 로컬에서 소유하고 관리할 수 있습니다.
7.1.1. 복제 개념 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
항상 다음과 같은 기본 결정을 수행하여 복제 계획을 세우십시오.
- 복제할 정보는 무엇입니까.
- 해당 정보의 주 복사본 또는 읽기-쓰기 복제본 이 있는 서버는 무엇입니까.
- 해당 정보의 읽기 전용 사본 또는 읽기 전용 복제본 을 보유하는 서버는 무엇입니까.
- 읽기 전용 복제본이 업데이트 요청(즉, 요청을 참조해야 하는 서버)을 수신하면 어떻게 됩니까.
이러한 결정은 Directory Server가 이러한 개념을 처리하는 방법을 이해하지 않고도 효과적으로 결정할 수 없습니다. 예를 들어 복제할 정보를 결정하고 Directory Server에서 처리할 수 있는 최소 복제 단위에 유의하십시오. Directory Server에서 사용하는 복제 개념은 수행해야 하는 글로벌 결정을 고려하기 위한 프레임워크를 제공합니다.
7.1.1.1. 복제 단위 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
가장 작은 복제 단위는 데이터베이스입니다. 전체 데이터베이스를 복제할 수 있지만 데이터베이스 내의 하위 트리는 복제할 수 없습니다. 따라서 디렉터리 트리를 정의할 때 항상 복제를 고려합니다. 디렉터리 트리를 설정하는 방법에 대한 자세한 내용은 4장. 디렉터리 트리 설계 을 참조하십시오.
복제 메커니즘을 사용하려면 하나의 데이터베이스도 하나의 접미사에 해당해야 합니다. 두 개 이상의 데이터베이스를 통해 배포되는 접미사(또는 네임스페이스)는 복제할 수 없습니다.
7.1.1.2. 읽기-쓰기 및 읽기 전용 복제본 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
복제에 참여하는 데이터베이스는 복제본 으로 정의됩니다. Directory Server는 읽기-쓰기 및 읽기 전용의 두 가지 유형의 복제본을 지원합니다. 읽기-쓰기 복제본에는 디렉터리 정보의 주요 사본이 포함되어 있으며 업데이트할 수 있습니다. 읽기 전용 복제본은 모든 업데이트 작업을 읽기-쓰기 복제본으로 참조합니다.
7.1.1.3. 공급업체 및 소비자 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
다른 서버에 복사되는 복제본을 저장하는 서버를 공급자 라고 합니다. 다른 서버에서 복사한 복제본을 저장하는 서버를 소비자 라고 합니다. 일반적으로 공급자 서버의 복제본은 읽기-쓰기 복제본이며 소비자 서버의 복제본은 읽기 전용 복제본입니다. 그러나 다음과 같은 예외가 적용됩니다.
- 캐스 케이딩 복제 의 경우 허브 공급 업체는 소비자에게 제공하는 읽기 전용 복제를 보유하고 있습니다. 자세한 내용은 7.2.3절. “cascading Replication”의 내용을 참조하십시오.
- 다중 제공 복제의 경우 공급업체는 동일한 읽기- 쓰기 복제본에 대해 공급업체와 소비자 역할을 합니다. 자세한 내용은 7.2.2절. “Multi-Supplier Replication”의 내용을 참조하십시오.
참고
Red Hat Directory Server의 현재 버전에서는 소비자가 아닌 공급자 서버에 의해 복제가 항상 시작됩니다. 이는 소비자 시작 복제를 허용하는 이전 버전의 Directory Server와 다릅니다( 소비자 서버가 공급자 서버에서 데이터를 검색할 수 있음).
공급업체
특정 복제본의 경우 공급자 서버는 다음을 수행해야 합니다.
- 디렉터리 클라이언트의 읽기 요청 및 업데이트 요청에 응답합니다.
- 복제본의 상태 정보 및 변경 로그를 유지 관리합니다.
- 소비자 서버에 대한 복제를 시작합니다.
공급업체 서버는 이를 관리하는 읽기-쓰기 복제본에 대한 변경 사항을 항상 기록하므로 공급자 서버는 변경 사항이 소비자 서버에 복제되도록 합니다.
소비자
소비자 서버는 다음을 수행해야 합니다.
- 읽기 요청에 응답합니다.
- 복제본에 대한 공급자 서버에 대한 업데이트 요청을 참조하십시오.
소비자 서버가 항목을 추가, 삭제 또는 변경하라는 요청을 수신할 때마다 해당 요청을 복제 공급자라고 합니다. 공급자 서버는 요청을 수행한 다음 변경 사항을 복제합니다.
hub leadss
계단식 복제의 특수한 경우 허브 공급 업체는 다음을 수행해야 합니다.
- 읽기 요청에 응답합니다.
- 복제본에 대한 공급자 서버에 대한 업데이트 요청을 참조하십시오.
- 소비자 서버에 대한 복제를 시작합니다.
계단식 복제에 대한 자세한 내용은 7.2.3절. “cascading Replication” 을 참조하십시오.
7.1.1.4. 복제 및 변경 로그 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
모든 공급자 서버는 변경 로그 를 유지합니다. 변경 로그는 복제본에서 발생한 수정 사항에 대한 레코드입니다. 그런 다음 공급자 서버는 다중 공급 복제의 경우 소비자 서버 또는 다른 공급 업체에 저장된 복제본에서 이러한 수정을 재생합니다.
항목이 수정되면 수행된 LDAP 작업을 설명하는 변경 레코드가 변경 로그에 기록됩니다.
changelog 크기는
nsslapd-changelogmaxage 또는 nsslapd-changelogmaxentries 의 두 특성을 사용하여 유지 관리됩니다. 이러한 속성은 변경 로그 크기를 적절하게 유지하기 위해 이전 변경 로그를 트리밍합니다.
7.1.1.5. 복제 계약 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
디렉터리 서버는 복제 계약을 사용하여 복제를 정의합니다. 복제 계약에는 단일 공급업체와 단일 소비자 간 복제가 설명되어 있습니다. 이 약관은 공급자 서버에 구성됩니다. 다음을 식별합니다.
- 복제할 데이터베이스입니다.
- 데이터가 푸시되는 소비자 서버입니다.
- 복제가 발생할 수 있는 시간입니다.
- 공급자 서버가 바인딩하는 데 사용해야 하는 DN입니다( 공급 업체 바인딩 DN이라고 함).
- 연결 보안 방법(TLS, Start TLS, 클라이언트 인증, SASL 또는 간단한 인증)
- 복제되지 않는 모든 속성( 7.3.2절. “Fractional Replication을 사용하여 선택한 속성 복제”참조).
7.1.2. 데이터 일관성 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
일관성은 복제된 데이터베이스의 내용이 지정된 시점에서 서로 얼마나 밀접하게 일치하는지 나타냅니다. 서버 간 복제 구성의 일부는 업데이트를 예약하는 것입니다. 공급자 서버는 항상 소비자 서버를 업데이트해야 하는 시기를 결정하고 복제를 시작합니다.
Directory Server는 복제본을 항상 동기화 상태로 유지하거나 요일 또는 요일에 대한 업데이트를 예약하는 옵션을 제공합니다.
복제본을 지속적으로 동기화할 때의 장점은 데이터 일관성을 개선할 수 있다는 점입니다. 비용은 빈번한 업데이트 작업으로 인한 네트워크 트래픽입니다. 이 솔루션은 다음과 같은 경우 최상의 옵션입니다.
- 서버 간에 안정적인 고속 연결이 있습니다.
- 디렉터리 서비스에서 서비스를 제공하는 클라이언트 요청은 상대적으로 적은 업데이트 작업과 함께 작업을 검색, 읽기 및 비교합니다.
데이터 일관성이 낮은 수준의 데이터 일관성이 있는 경우 네트워크의 사용 패턴에 가장 적합한 업데이트 빈도를 선택하거나 네트워크 트래픽에 미치는 영향을 낮춥니다. 지속적인 업데이트 대신 스케줄링된 업데이트를 사용하는 것이 최상의 솔루션인 몇 가지 상황이 있습니다.
- 신뢰할 수 없거나 간헐적으로 사용 가능한 네트워크 연결이 있습니다.
- 디렉터리 서비스에서 서비스를 제공하는 클라이언트 요청은 주로 업데이트 작업입니다.
- 통신 비용을 절감해야 합니다.
다중 공급 업체 복제의 경우, 각 공급 업체의 복제본은 언제든지 각 공급 업체에 저장된 데이터에 차이가 있을 수 있기 때문에 느슨하게 일관성 이라고 합니다. 이는 다음 두 가지 이유로 복제본이 지속적으로 동기화되는 경우에도 마찬가지입니다.
- 공급업체 간 업데이트 작업을 전파하는 데 대기 시간이 있습니다.
- 업데이트 작업을 서비스한 공급자는 "운영 성공" 메시지를 클라이언트에 반환하기 전에 두 번째 공급 업체가 유효성을 검증할 때까지 기다리지 않습니다.