두 서버 간에 하나 이상의 접미어 복제를 구성하면 스키마 정의도 자동으로 복제됩니다. 이렇게 해서 모든 복제본은 소비자로 복제될 수 있는 모든 객체 클래스 및 속성을 정의하는 동일한 스키마를 갖게 되며 마스터 서버에도 마스터 스키마가 있습니다.
그러나 스키마 복제는 LDAP를 통해 스키마를 수정할 때에도 즉시 수행되지 않습니다. 스키마 복제는 디렉토리 데이터에 대한 업데이트 시 또는 스키마가 수정된 후 첫 번째 복제 세션 시작 시에 실행됩니다.
모든 복제본에서 스키마를 실행하려면 반드시 모든 마스터에서 스키마 검사를 활성화해야 합니다. LDAP 작업이 수행되는 마스터에서 스키마를 검사하기 때문에 사용자를 업데이트할 때는 스키마를 검사할 필요가 없습니다. 성능을 향상시키기 위해 복제 메커니즘은 소비자 복제본에 대한 스키마 검사를 무시합니다.
허브 및 전용 사용자에서는 스키마 검사를 비활성화하지 마십시오. 스키마 검사는 사용자 성능에 영향을 주지 않으므로 복제본 내용이 스키마에 맞는지 나타내려면 스키마 검사를 계속 활성화 상태로 유지합니다.
마스터 서버는 사용자 초기화 중에, 그리고 DSCC 또는 명령줄 도구를 통해 스키마를 수정할 때에 자동으로 스키마를 해당 사용자에 복제합니다. 기본적으로 전체 스키마가 복제되며, 사용자에 없는 추가 스키마 요소는 사용자에 새로 만들어져 99user.ldif 파일에 저장됩니다.
예를 들어 마스터 서버를 시작할 때 해당 서버에 98mySchema.ldif 파일의 스키마 정의가 포함되고 이후 다른 서버(마스터, 허브 또는 전용 사용자)에 대한 복제 계약을 정의한다고 가정합니다. 나중에 이 마스터에서 복제본을 초기화하면 복제된 스키마에는 98mySchema.ldif의 정의가 포함되지만 이 정의는 복제본 서버의 99user.ldif에 저장됩니다.
스키마가 사용자 초기화 중에 복제된 경우 마스터의 cn=schema에 있는 스키마를 수정해도 전체 스키마가 사용자에 복제되므로 명령줄 유틸리티나 DSCC를 통한 마스터 스키마의 모든 수정 사항이 사용자에 복제됩니다. 이러한 수정 사항은 마스터의 99user.ldif에 저장되며, 또한 이전 설명과 동일한 메커니즘으로 사용자의 99user.ldif에도 저장됩니다.
복제된 환경에서 스키마의 일관성을 유지하려면 다음 지침을 수행합니다.
사용자 서버의 스키마는 수정하지 마십시오.
사용자 서버의 스키마를 수정하면 복제 오류가 발생할 수 있습니다. 사용자의 스키마가 변경되면 공급자로부터의 업데이트가 사용자의 스키마와 맞지 않을 수 있기 때문입니다.
다중 마스터 복제 환경에서는 단일 마스터 서버의 스키마를 수정합니다.
두 개의 마스터 서버에서 스키마를 수정하면 최신으로 업데이트된 마스터에서 해당 버전의 스키마를 사용자에 전달합니다. 그러면 사용자의 스키마가 다른 마스터의 스키마와 일치하지 않을 수 있습니다.
단편 복제를 구성할 때에는 다음 사항도 고려해야 합니다.
단편 복제 구성에서는 공급자가 스키마를 푸시하므로 단편 소비자 복제본의 스키마는 마스터 복제본 스키마의 복사본입니다. 따라서, 스키마가 현재 적용 중인 단편 복제 구성에 맞지 않을 수 있습니다.
일반적으로 디렉토리 서버는 스키마 위반을 방지하기 위해 스키마에 정의된 대로 모든 필수 속성을 각 항목에 복제합니다. 필수 속성을 필터링하도록 단편 복제를 구성하는 경우 스키마 검사를 비활성화해야 합니다.
단편 복제 시 스키마 검사를 활성화하면 복제본을 오프라인으로 초기화하지 못할 수 있습니다. 필수 속성이 필터링되면 디렉토리 서버를 통해 LDIF에서 데이터를 로드할 수 없습니다.
단편 소비자 복제본에 대한 스키마 검사를 비활성화하면 단편 소비자 복제본이 있는 전체 서버 인스턴스에서 스키마 검사가 실행되지 않습니다. 따라서, 단편 사용자와 동일한 서버 인스턴스에는 공급자 복제본을 구성하지 마십시오.
기본적으로 복제 메커니즘은 스키마를 복제할 때 항상 전체 스키마를 사용자에게 보냅니다. 다음 두 가지 상황과 같이 전체 스키마를 사용자에게 보내지 않아야 하는 경우도 있습니다.
DSCC 또는 명령줄에서 cn=schema를 수정하면 사용자 정의 스키마 요소만 변경되고 표준 스키마는 변경되지 않습니다. 자주 스키마를 수정하면 변경되지 않는 스키마 요소의 대규모 집합을 매번 보내야 하기 때문에 성능이 저하됩니다. 이 경우 사용자 정의 스키마 요소만 복제하여 복제 및 서버 성능을 향상시킬 수 있습니다.
디렉토리 서버의 마스터를 Directory Server 5.1의 사용자에 복제하면 두 버전의 구성 속성 스키마가 다르기 때문에 충돌이 발생합니다. 이 경우 반드시 사용자 정의 스키마 요소만 복제해야 합니다.
디렉토리 서버는 11rfc2307.ldif 스키마 파일을 사용합니다. 이 스키마 파일은 RFC 2307을 준수합니다.
Directory Server 5.2 이전 버전에서는 10rfc2307.ldif 스키마 파일을 사용합니다.
DSCC를 사용하여 이 작업을 수행할 수 없습니다. 이 절차에 설명된 것처럼 명령줄을 사용하십시오.