Sun ONE 로고     이전     목차     색인     DocHome     다음    
Sun ONE Directory Server 관리 설명서



8장   복제 관리

복제란 특정 Directory Server의 디렉토리 내용이 하나 이상의 다른 디렉토리 서버로 자동 복사되는 메커니즘입니다. 항목 추가, 수정 또는 삭제까지 모든 종류의 쓰기 작업은 자동으로 다른 Directory Server에 미러링됩니다. 복제 개념, 복제 시나리오, 디렉토리 배포 시 복제 계획 방법 등에 대한 자세한 내용은 Sun ONE Directory Server Deployment Guide의 Chapter 6, "Designing the Replication Process"를 참조하십시오.

Sun ONE Directory Server 5.2에는 다음과 같은 여러 복제 기능이 새로 추가되었습니다.

  • WAN을 통한 여러 마스터 복제(MMR) 기능을 사용하면 멀리 떨어져 있는 마스터 간에 복제 계약을 작성하여 보다 효과적으로 데이터를 배포할 수 있습니다.
  • 이제 MMR은 네 개의 완전 연결된 마스터를 동시에 지원하므로 페일오버 기능이 강화되었습니다.
  • 이진 복사본을 사용하여 대규모 복제본을 훨씬 빠른 속도로 초기화할 수 있습니다.
  • 단편 복제 기능을 사용하여 복제할 속성 집합을 지정함으로써 보다 효과적으로 데이터를 배포할 수 있습니다.
  • 새로운 명령줄 도구는 복제 배포를 모니터할 수 있도록 도와줍니다.

이 장에서는 마스터, 허브 및 소비자 서버와 관련해서 모든 유형의 복제 시나리오를 설정하는 작업에 대해 설명합니다. 이 장은 다음 내용으로 구성되어 있습니다.

소개

복제 구성은 복잡한 작업입니다. 시작하기 전에 조직에서 어떻게 복제를 배포할지, 즉 단일 마스터, 다중 마스터 또는 허브를 사용한 계단식 복제 중에서 어떤 유형을 선택할지 등을 명백히 이해해야 합니다. 복제 단위는 접미사 또는 하위 접미사로, 해당 접미사의 모든 항목이 함께 복제됩니다. 배포 시에 각 접미사는 포함된 데이터에 대한 마스터, 허브 또는 전용 소비자 중 하나로 식별되어야 합니다.

서버에 있는 복제된 접미사를 복제본이라고 합니다. 마스터는 클라이언트의 읽기 및 쓰기 작업을 모두 허용하는 복제본입니다. 허브와 전용 소비자는 읽기 전용 복제본으로, 복제 메커니즘을 통해서만 업데이트를 받습니다. 허브는 마스터나 다른 허브로부터 업데이트를 받아 다른 허브 또는 전용 소비자로 전달합니다. 전용 소비자는 마스터나 허브로부터 업데이트를 받기만 합니다.

아래 다이어그램은 일반적인 복제 시나리오에서 복제본 간의 관계를 보여줍니다.

그림 8-1    일반적인 복제 시나리오

본 설명서에서는 공급자와 소비자라는 용어를 사용하여 복제 계약에 사용된 두 서버의 역할을 나타냅니다. 공급자는 복제 업데이트를 보내는 서버인 반면, 소비자는 복제 업데이트를 받는 서버입니다. 위의 다이어그램은 다음과 같은 관계를 보여줍니다.

  • 단일 마스터는 소비자가 아닌 공급자입니다.
  • 다중 마스터 복제 시 마스터는 공급자인 동시에 다른 마스터의 소비자입니다.
  • 허브는 항상 공급자이자 소비자입니다.
  • 전용 소비자는 소비자일 뿐입니다.

대부분의 복제 설정은 해당 유형에 관계 없이 계약의 공급자 또는 소비자 역할에 설정된 복제본에 적용됩니다.

구성 복제 단계 요약

아래 단계에서는 단일 접미사를 복제한다고 가정합니다. 두 개 이상의 접미사를 복제하는 경우 각 서버에 병렬로 구성할 수 있습니다. 즉, 각 단계를 반복하여 여러 개의 접미사에 대한 복제를 구성할 수 있습니다.

복제 토폴로지를 구성하려면 다음과 같은 순서로 진행해야 합니다.

  1. 단일 마스터를 제외한 모든 서버에서 복제 관리자 항목을 정의합니다. 또는 간단하게 모든 서버에서 기본 복제 관리자를 사용하도록 지정합니다.
  2. 전용 소비자 복제본이 포함된 모든 서버에서 다음을 수행합니다.
    1. 소비자 복제본에 대한 빈 접미사를 작성합니다.
    2. 복제 마법사를 통해 이 접미사에서 소비자 복제본을 활성화합니다.
    3. 선택 사항으로, 고급 복제본 설정을 구성합니다.

  3. 필요한 경우 허브 복제본이 포함된 모든 서버에서 다음을 수행합니다.
    1. 허브 복제본에 대한 빈 접미사를 작성합니다.
    2. 복제 마법사를 통해 이 접미사에서 허브 복제본을 활성화합니다.
    3. 선택 사항으로, 고급 복제본 설정을 구성합니다.

  4. 마스터 복제본이 포함된 모든 서버에서 다음을 수행합니다.
    1. 마스터 중 하나에서 마스터 복제본이 될 접미사를 선택하거나 작성합니다.
    2. 복제 마법사를 통해 이 접미사에서 마스터 복제본을 활성화합니다.
    3. 선택 사항으로, 고급 복제본 설정을 구성합니다.

  5. 다음 순서로 모든 공급자 복제본에서 복제 계약을 구성합니다.
    1. 다중 마스터 집합의 마스터 간
    2. 마스터 및 전용 소비자 간
    3. 마스터 및 허브 복제본 간

    선택 사항으로, 이 단계에서 단편 복제를 구성하고 소비자 및 허브 복제본을 초기화할 수 있습니다. 다중 마스터 복제의 경우 데이터의 원래 복사본이 포함된 마스터 복제본을 사용하여 모든 마스터를 초기화합니다.

  6. 마스터로부터 직접 공급된 모든 허브 복제본에서 복제 계약을 구성합니다. 이 계약은 허브 복제본과 해당 소비자 간에 설정됩니다. 선택 사항으로, 이 단계에서 소비자 복제본을 초기화할 수 있습니다. 계단식 복제 시 모든 수준의 허브에 대해 이 단계를 반복합니다.



주

복제 계약을 작성하기 전에 모든 복제본을 작성 및 구성해야 합니다. 이렇게 함으로써 복제 계약을 작성한 후에 소비자 복제본을 즉시 초기화할 수 있습니다. 소비자 초기화는 항상 복제 설정의 마지막 단계에 수행해야 합니다.



복제 관리자 선택

복제 설정의 핵심 부분은 공급자가 복제 업데이트를 보내기 위해 소비자 서버에 바인드할 때 사용하는 항목인 복제 관리자를 선택하는 것입니다. 전용 소비자, 허브, 다중 마스터 복제에 사용되는 마스터 등 업데이트를 받는 접미사가 포함된 서버에는 복제 관리자 항목이 최소한 하나 이상 있어야 합니다.

Directory Server에는 모든 서버에 사용할 수 있는 기본 복제 관리자가 있습니다. 해당 DN은 cn=Replication Manager,cn=replication,cn=config입니다.



주

단순한 복제 시나리오에서는 기본 복제 관리자를 사용하는 것이 좋습니다. 복제 마법사는 자동으로 이 항목을 사용하여 소비자 복제본을 구성함으로써 복제본의 배포를 간소화합니다.



복제 마법사는 기본 복제 관리자의 암호가 정의되어 있지 않으면 암호를 설정하라는 메시지를 표시합니다. 나중에 기본 복제 관리자의 암호를 선택하려면 다음을 수행합니다.

  1. Directory Server 콘솔의 최상위 "구성" 탭에서 "데이터" 노드를 선택한 다음 오른쪽 패널에서 "복제" 탭을 선택합니다.
  2. "복제 관리자" 머리글 아래의 두 텍스트 필드에 새 암호를 입력합니다.
  3. 암호 확인이 끝나면 "저장"을 누릅니다. 입력한 두 암호가 일치하지 않으면 "저장" 버튼이 활성화되지 않습니다.

또는 복제 관리자로 사용할 새 항목을 작성할 수도 있습니다. 예를 들어, 여러 개의 복제 관리자 항목이 복제된 각 접미사에 대해 다른 암호를 사용하도록 설정할 수 있습니다. 새로운 복제 관리자를 작성하는 다른 이유는 SSL을 통한 인증서 사용과 같이 다른 복제 인증 모델을 지원하기 위한 것입니다.

복제 관리자 항목에는 복제 계약을 정의할 때 선택한 인증 방법에 필요한 속성이 포함되어 있어야 합니다. 예를 들어, 기본 복제 관리자는 단순한 인증을 위한 userPassword 속성을 허용하는 person 개체 클래스입니다. 인증서를 사용하여 복제 관리자를 바인드하는 방법은 "SSL을 통한 복제"를 참조하십시오.

이 복제 관리자 항목은 소비자 서버의 복제된 접미사에 저장할 수 없습니다. 복제 관리자는 cn=replication,cn=config에 정의하는 것이 바람직합니다.



주의

복제 관리자 항목의 DN과 암호를 사용하여 서버에 대한 작업을 수행하거나 바인드해서는 안 됩니다. 복제 관리자는 복제 메커니즘에서만 사용되며 다른 용도로 사용하려면 복제본을 다시 초기화해야 합니다.



각 소비자의 복제 관리자를 선택한 후 다음을 수행합니다.

  1. 선택 또는 작성한 복제 관리자 DN을 기록해 두거나 기억합니다. 나중에 해당 공급자에서 소비자와의 복제 계약을 작성할 때 이 DN과 암호를 사용해야 합니다.
  2. 암호 만료 정책을 정의한 경우 복제 관리자를 제외해야 하며, 그렇지 않으면 암호 만료 시 제대로 복제되지 않습니다. 암호 관리자 항목에 대한 암호 만료를 비활성화하려면 암호가 만료되지 않는 암호 정책을 작성한 다음 복제 관리자 항목에 할당합니다. 자세한 내용은 "개별 암호 정책 관리"를 참조하십시오.

전용 소비자 구성

전용 소비자는 복제된 접미사의 읽기 전용 복사본으로, 특수 복제 관리자로 바인드하는 마스터 서버로부터 업데이트를 받아 항목을 변경합니다. 소비자 서버 구성은 복제본을 저장할 빈 접미사를 준비하는 단계와 복제 마법사를 사용하여 이 접미사에서 복제를 활성화하는 단계로 이루어져 있습니다. 선택 사항인 고급 옵션에는 다른 복제 관리자 선택, 참조 설정, 지연 제거 설정 등이 있습니다.

다음 절에서는 서버에 한 개의 전용 소비자 복제본을 구성하는 단계에 대해 설명합니다. 특정 접미사의 전용 소비자 복제본이 포함될 각 서버에서 모든 절차를 반복합니다.

소비자 복제본에 대한 접미사 작성

원하는 마스터 복제본과 동일한 DN을 가진 접미사가 없으면 이 DN을 사용하여 소비자에 대한 빈 접미사를 작성합니다. 자세한 내용은 "접미사 작성"을 참조하십시오.

내용이 포함된 접미사가 있으면 마스터를 사용하여 복제본을 초기화할 때 이 내용이 손실됩니다.

소비자 복제본 활성화

복제 마법사를 사용하면 간편하게 전용 소비자 복제본을 활성화할 수 있습니다.

  1. Directory Server 콘솔의 최상위 "구성" 탭에서 소비자 복제본으로 사용할 접미사 및 "데이터" 노드를 모두 확장한 다음 접미사 아래의 "복제" 노드를 선택합니다.
  2. 오른쪽 패널에 복제본 상태 정보가 표시됩니다.

  3. "복제 활성화" 버튼을 눌러 복제 마법사를 시작합니다.
  4. 기본적으로 "소비자 복제본" 라디오 버튼이 선택됩니다. "다음"을 눌러 계속합니다.
  5. 기본 복제 관리자의 암호를 입력하지 않은 경우 암호 및 암호 확인 필드에 원하는 암호를 입력하라는 메시지가 표시됩니다. 두 필드에 같은 암호를 입력하고 "다음"을 눌러 계속합니다.
  6. 기본 복제 관리자의 암호가 정의되어 있으면 마법사는 자동으로 이 단계를 건너뜁니다.

  7. 복제 마법사는 복제 구성을 업데이트하는 동안 상태 메시지를 표시합니다. 업데이트가 끝나면 "닫기"를 누릅니다.

이제 복제본에서 업데이트를 받을 수 있다는 복제 상태가 표시되고 왼쪽 패널의 아이콘이 이에 따라 바뀝니다.

고급 소비자 구성

기본적으로 마법사는 복제본에서 기본 복제 관리자를 사용하도록 구성합니다. 사용할 다른 복제 관리자 항목을 작성한 경우에는 고급 구성을 설정해야 합니다. 이 대화 상자를 사용하여 수정할 참조와 지연 제거를 설정할 수도 있습니다.

  1. Directory Server 콘솔의 최상위 "구성" 탭에서 "데이터" 노드와 구성할 접미사 노드를 모두 확장한 다음 접미사 아래의 "복제" 노드를 선택합니다.
  2. 오른쪽 패널에서 "고급" 버튼을 눌러 "고급 복제본 설정" 대화 상자를 표시합니다.
  3. "바인드 DN" 탭에서 "추가" 및 "삭제" 버튼을 사용하여 유효한 복제 관리자 DN 목록을 작성합니다. 이렇게 하면 공급자가 이 복제본과의 계약에서 목록에 있는 DN 중 하나를 사용할 수 있습니다. 이름을 입력하거나 디렉토리를 탐색하여 새 DN을 추가할 수도 있습니다.
  4. 인증서를 사용하여 SSL을 통한 복제를 구성하려면 인증서 항목의 DN을 복제 관리자 중 하나로 입력합니다.

  5. 입력이 끝나면 "확인"을 누르거나, "선택 사항" 탭을 선택하여 추가 고급 구성을 설정합니다.
  6. "고급 복제본 설정" 대화 상자의 "선택 사항" 탭에 있는 LDAP URL 목록은 이 소비자로 보내진 수정 요청에 대한 추가 참조를 지정합니다. "추가" 또는 "삭제" 버튼을 사용하여 LDAP URL 목록을 작성합니다.
  7. 복제 메커니즘은 자동으로 소비자에서 복제 토폴로지의 알려진 모든 마스터에 대한 참조를 반환하도록 구성합니다. 이러한 기본 참조는 클라이언트에서 일반 연결을 통한 단순한 인증을 사용한다고 가정합니다. 보안 연결을 위해 클라이언트에서 SSL을 사용하여 마스터에 바인드할 수 있게 하려면 보안 port 번호를 사용하는 ldaps://servername:port 형식의 참조를 추가하십시오.

    하나 이상의 LDAP URL을 참조로 추가한 경우 목록 아래의 확인란을 선택하면 소비자는 마스터 복제본이 아닌 LDAP URL에 대한 참조만 보냅니다. 예를 들어, 클라이언트에서 기본 포트가 아닌 마스터 서버에 있는 보안 포트를 항상 참조하게 하려면 보안 포트에 대한 LDAP URL 목록을 작성한 다음 이 확인란을 선택합니다. 특정 마스터 또는 Directory Server 프록시에서 모든 업데이트를 처리하도록 지정하려면 배타적 참조를 사용할 수도 있습니다.

  8. 또한 "선택 사항" 탭에서 지연 제거를 변경할 수 있습니다.
  9. 소비자 서버는 복제본 내용 업데이트에 대한 내부 정보를 저장해야 하며, 지연 제거 매개 변수는 이 정보의 보관 기간을 지정합니다. 이 매개 변수는 공급자 서버에 있는 변경 로그의 MaxAge 매개 변수와 관련이 있습니다. 두 매개 변수 중에서 작은 값이 두 서버 간의 복제를 비활성화하거나 중단했다가 다시 정상적으로 복구할 수 있는 최대 기간을 지정합니다. 대부분의 경우 이 기간은 기본값 7일이면 충분합니다.

  10. "확인"을 눌러 복제본에 대한 고급 복제 구성을 저장합니다.

허브 구성

허브 복제본은 소비자 및 마스터로서의 기능을 동시에 수행함으로써 복제된 데이터를 다수의 소비자로 배포하며, 공급자로부터 복제 업데이트를 받아 소비자로 보내야 합니다. 허브 복제본은 수정을 승인하지 않고 마스터에 대한 참조를 반환합니다.

허브 서버 구성은 복제본을 저장할 빈 접미사를 준비하는 단계와 복제 마법사를 사용하여 이 접미사에서 복제를 활성화하는 단계로 이루어져 있습니다. 선택 사항인 고급 옵션에는 다른 복제 관리자 선택, 참조 설정, 지연 제거 설정, 변경 로그 매개 변수 설정 등이 있습니다.

다음 절에서는 한 개의 허브 서버를 구성하는 단계에 대해 설명합니다. 특정 접미사의 허브 복제본이 포함될 각 서버에서 모든 절차를 반복합니다.

허브 복제본에 대한 접미사 작성

원하는 마스터 복제본과 동일한 DN을 가진 접미사가 없으면 이 DN을 사용하여 허브 서버에 대한 빈 접미사를 작성합니다. 자세한 내용은 "접미사 작성"을 참조하십시오.

내용이 포함된 접미사가 있으면 마스터를 사용하여 복제본을 초기화할 때 이 내용이 손실됩니다.

허브 복제본 활성화

복제 마법사를 사용하면 간편하게 허브 복제본을 활성화할 수 있습니다.

  1. Directory Server 콘솔의 최상위 "구성" 탭에서 허브 복제본으로 사용할 접미사 및 "데이터" 노드를 모두 확장한 다음 접미사 아래의 "복제" 노드를 선택합니다.
  2. 오른쪽 패널에 복제본 상태 정보가 표시됩니다.

  3. "복제 활성화" 버튼을 눌러 복제 마법사를 시작합니다.
  4. "허브 복제본" 라디오 버튼을 선택하고 "다음"을 눌러 계속합니다.
  5. 변경 로그 파일을 선택하지 않은 경우 파일을 선택하라는 메시지가 표시됩니다. 텍스트 필드에 기본 변경 로그 파일이 표시됩니다. 기본값을 사용하지 않으려면 변경 로그 파일 이름을 입력하거나 "찾아보기"를 눌러 파일 선택기를 표시합니다.
  6. 변경 로그가 활성화되어 있으면 마법사는 이 단계를 건너뜁니다.

  7. "다음"을 누릅니다. 기본 복제 관리자의 암호를 입력하지 않은 경우 암호 및 암호 확인 필드에 원하는 암호를 입력하라는 메시지가 표시됩니다. 두 필드에 같은 암호를 입력하고
    "다음"을 눌러 계속합니다.
  8. 기본 복제 관리자의 암호가 정의되어 있으면 마법사는 자동으로 이 단계를 건너뜁니다.

  9. 복제 마법사는 복제 구성을 업데이트하는 동안 상태 메시지를 표시합니다. 업데이트가 끝나면 "닫기"를 누릅니다.

이제 복제본에서 업데이트를 받을 수 있다는 복제 상태가 표시되고 왼쪽 패널의 아이콘이 이에 따라 바뀝니다.

고급 허브 구성

공급자로서의 허브 서버에는 변경 로그가 필요하며, 마법사는 허브 복제본에서 기본 변경 로그 설정을 사용하도록 구성합니다. 이 설정을 수정하려면 다음을 수행합니다.

  1. Directory Server 콘솔의 최상위 "구성" 탭에서 "데이터" 노드를 선택한 다음 오른쪽 패널에서 "복제" 탭을 선택합니다.
  2. "변경 로그 사용" 확인란을 선택하고 "재설정" 버튼을 눌러 이 탭의 내용을 갱신해야 할 수도 있습니다. 이렇게 하면 복제 마법사에서 선택한 변경 로그 파일이 표시됩니다.
  3. 변경 로그 파일의 이름을 변경하고 다음과 같은 변경 로그 매개 변수를 업데이트할 수 있습니다.
    1. 최대 변경 로그 레코드 수 - 소비자에게 업데이트를 보내기 위해 저장할 수정 사항의 총 수를 지정합니다. 기본적으로 이 값은 제한되지 않습니다. 레코드 수를 제한하면 복제본에서 여러 개의 큰 수정 사항을 받을 경우 디스크 공간이 절약됩니다.
    2. 변경 로그의 최대 수명 - 허브에서 소비자로 보내야 하는 업데이트를 저장하는 시간을 지정합니다. 기본적으로 이 값은 제한되지 않습니다. 최대 수명 매개 변수는 변경 로그의 크기를 제한할 수 있는 좋은 방법입니다.

또한 복제 마법사는 기본 복제 관리자를 사용합니다. 사용할 다른 복제 관리자 항목을 작성한 경우에는 고급 구성을 설정해야 합니다. 이 대화 상자를 사용하여 수정할 참조와 지연 제거를 설정할 수도 있습니다.

  1. Directory Server 콘솔의 최상위 "구성" 탭에서 "데이터" 노드와 구성할 접미사 노드를 모두 확장한 다음 접미사 아래의 "복제" 노드를 선택합니다.
  2. 오른쪽 패널에서 "고급" 버튼을 눌러 "고급 복제본 설정" 대화 상자를 표시합니다.
  3. "바인드 DN" 탭에서 "추가" 및 "삭제" 버튼을 사용하여 유효한 복제 관리자 DN 목록을 작성합니다. 이렇게 하면 공급자가 이 복제본과의 계약에서 목록에 있는 DN 중 하나를 사용할 수 있습니다. 이름을 입력하거나 디렉토리를 탐색하여 새 DN을 추가할 수도 있습니다.
  4. 인증서를 사용하여 SSL을 통한 복제를 구성하려면 인증서 항목의 DN을 복제 관리자 중 하나로 입력합니다.

  5. 입력이 끝나면 "확인"을 누르거나, "선택 사항" 탭을 선택하여 추가 고급 구성을 설정합니다.
  6. "고급 복제본 설정" 대화 상자의 "선택 사항" 탭에 있는 LDAP URL 목록은 이 허브로 보내진 수정 요청에 대한 추가 참조를 지정합니다. "추가" 또는 "삭제" 버튼을 사용하여 LDAP URL 목록을 작성합니다.
  7. 복제 메커니즘은 자동으로 허브에서 복제 토폴로지의 알려진 모든 마스터에 대한 참조를 반환하도록 구성합니다. 이러한 기본 참조는 클라이언트에서 일반 연결을 통한 단순한 인증을 사용한다고 가정합니다. 보안 연결을 위해 클라이언트에서 SSL을 사용하여 마스터에 바인드할 수 있게 하려면 보안 port 번호를 사용하는 ldaps://servername:port 형식의 참조를 추가하십시오.

    하나 이상의 LDAP URL을 참조로 추가한 경우 목록 아래의 확인란을 선택하면 서버는 마스터 복제본이 아닌 LDAP URL에 대한 참조만 보냅니다. 예를 들어, 클라이언트에서 기본 포트가 아닌 마스터 서버에 있는 보안 포트를 항상 참조하게 하려면 보안 포트에 대한 LDAP URL 목록을 작성한 다음 이 확인란을 선택합니다. 특정 마스터 또는 Directory Server 프록시에서 모든 업데이트를 처리하도록 지정하려면 배타적 참조를 사용할 수도 있습니다.

  8. 또한 "선택 사항" 탭에서 지연 제거를 변경할 수 있습니다.
  9. 허브 서버는 복제본 내용 업데이트에 대한 내부 정보를 저장해야 하며, 지연 제거 매개 변수는 이 정보의 보관 기간을 지정합니다. 이 매개 변수는 자체 변경 로그가 아닌 업데이트를 공급하는 서버에 있는 변경 로그의 MaxAge 매개 변수와 관련이 있습니다. 두 매개 변수 중에서 작은 값이 두 서버 간의 복제를 비활성화하거나 중단했다가 다시 정상적으로 복구할 수 있는 최대 기간을 지정합니다. 대부분의 경우 이 기간은 기본값 7일이면 충분합니다.

  10. "확인"을 눌러 복제본에 대한 고급 복제 구성을 저장합니다.

마스터 복제본 구성

마스터 복제본에는 데이터의 마스터 복사본이 포함되어 있으며 업데이트를 다른 모든 복제본으로 전파하기 전에 모든 수정 사항을 중앙 집중식으로 관리합니다. 마스터는 모든 변경 사항을 기록하고, 소비자 상태를 확인하며, 필요한 경우 소비자에게 업데이트를 보냅니다. 다중 마스터 복제 시 마스터 복제본은 다른 마스터로부터 업데이트를 받기도 합니다.

마스터 서버 구성은 마스터 복제본이 포함된 접미사 정의, 복제 마법사를 사용하여 마스터 복제본 활성화, 필요한 경우 고급 복제를 위한 구성 등의 단계로 이루어져 있습니다.

다음 절에서는 한 개의 마스터 서버를 구성하는 단계에 대해 설명합니다. 특정 접미사의 마스터 복제본이 포함될 각 서버에서 모든 절차를 반복합니다.

마스터 복제본에 대한 접미사 정의

마스터 서버에서 복제할 항목이 포함될 접미사를 선택하거나 새로 작성합니다. 자세한 내용은 "접미사 작성"을 참조하십시오.

복제 계약을 작성하기 전의 모든 초기 데이터가 접미사에 포함되어 있어야 합니다. 이렇게 하면 이 데이터를 사용하여 즉시 소비자 복제본을 초기화할 수 있습니다. 올바른 다중 마스터를 구성 및 초기화하려면 마스터 중 하나에만 모든 초기 데이터가 포함되고 다른 마스터의 접미사는 비어 있어야 합니다.

마스터 복제본 활성화

복제 마법사를 사용하면 간편하게 마스터 복제본을 활성화할 수 있습니다.

  1. Directory Server 콘솔의 최상위 "구성" 탭에서 마스터 복제본으로 사용할 접미사 및 "데이터" 노드를 모두 확장한 다음 접미사 아래의 "복제" 노드를 선택합니다.
  2. 오른쪽 패널에 복제본 상태 정보가 표시됩니다.

  3. "복제 활성화" 버튼을 눌러 복제 마법사를 시작합니다.
  4. "마스터 복제본" 라디오 버튼을 선택하고 "다음"을 눌러 계속합니다.
  5. 복제본 ID를 입력합니다. 1에서 65534까지의 고유한 정수를 선택하십시오.
  6. 복제본 ID는 개별 접미사에 대한 모든 마스터 복제본에서 고유해야 합니다. 각 복제본의 다른 마스터에서만 고유하면 동일한 서버에 있는 다른 접미사의 마스터 복제본은 같은 복제본 ID를 사용할 수 있습니다.

  7. "다음"을 누릅니다. 변경 로그 파일을 선택하지 않은 경우 파일을 선택하라는 메시지가 표시됩니다. 텍스트 필드에 기본 변경 로그 파일이 표시됩니다. 기본값을 사용하지 않으려면 변경 로그 파일 이름을 입력하거나 "찾아보기"를 눌러 파일 선택기를 표시합니다.
  8. 변경 로그가 활성화되어 있으면 마법사는 이 단계를 건너뜁니다.

  9. "다음"을 누릅니다. 기본 복제 관리자의 암호를 입력하지 않은 경우 암호 및 암호 확인 필드에 원하는 암호를 입력하라는 메시지가 표시됩니다. 단일 마스터 복제 시에는 복제 관리자가 사용되지 않지만 이 경우에도 암호를 입력해야만 계속할 수 있습니다. 두 필드에 같은 암호를 입력하고 "다음"을 눌러 계속합니다.
  10. 기본 복제 관리자의 암호가 정의되어 있으면 마법사는 자동으로 이 단계를 건너뜁니다.

  11. 복제 마법사는 복제 구성을 업데이트하는 동안 상태 메시지를 표시합니다. 업데이트가 끝나면 "닫기"를 누릅니다.

이제 복제 상태에 이 마스터의 복제본 ID가 표시되고 왼쪽 패널의 아이콘이 바뀌어 이 접미사에 대한 복제가 활성화되어 있음을 나타냅니다.

고급 다중 마스터 구성

기본적으로 마법사는 마스터 복제본에서 기본 변경 로그 설정을 사용하도록 구성합니다. 변경 로그 설정을 수정하려면 다음을 수행합니다.

  1. Directory Server 콘솔의 최상위 "구성" 탭에서 "데이터" 노드를 선택한 다음 오른쪽 패널에서 "복제" 탭을 선택합니다.
  2. "변경 로그 사용" 확인란을 선택하고 "재설정" 버튼을 눌러 이 탭의 내용을 갱신해야 할 수도 있습니다. 이렇게 하면 복제 마법사에서 선택한 변경 로그 파일이 표시됩니다.
  3. 변경 로그 파일의 이름을 변경하고 다음과 같은 변경 로그 매개 변수를 업데이트할 수 있습니다.
    1. 최대 변경 로그 레코드 수 - 소비자에게 업데이트를 보내기 위해 저장할 수정 사항의 총 수를 지정합니다. 기본적으로 이 값은 제한되지 않습니다. 레코드 수를 제한하면 복제본에서 여러 개의 큰 수정 사항을 받을 경우 디스크 공간이 절약됩니다.
    2. 변경 로그의 최대 수명 - 허브에서 소비자로 보내야 하는 업데이트를 저장하는 시간을 지정합니다. 기본적으로 이 값은 제한되지 않습니다. 최대 수명 매개 변수는 변경 로그의 크기를 제한할 수 있는 좋은 방법입니다.

또한 복제 마법사는 기본 복제 관리자를 사용합니다. 사용할 다른 복제 관리자 항목을 작성한 경우에는 고급 구성을 설정해야 합니다. 이 대화 상자를 사용하여 수정할 참조와 지연 제거를 설정할 수도 있습니다. 단일 마스터를 구성하는 경우에는 이 절차를 건너뛰어도 됩니다.

  1. Directory Server 콘솔의 최상위 "구성" 탭에서 "데이터" 노드와 구성할 접미사 노드를 모두 확장한 다음 접미사 아래의 "복제" 노드를 선택합니다.
  2. 오른쪽 패널에서 "고급" 버튼을 눌러 "고급 복제본 설정" 대화 상자를 표시합니다.
  3. "바인드 DN" 탭에서 "추가" 및 "삭제" 버튼을 사용하여 유효한 복제 관리자 DN 목록을 작성합니다. 이렇게 하면 공급자가 이 복제본과의 계약에서 목록에 있는 DN 중 하나를 사용할 수 있습니다. 이름을 입력하거나 디렉토리를 탐색하여 새 DN을 추가할 수도 있습니다.
  4. 인증서를 사용하여 SSL을 통한 복제를 구성하려면 인증서 항목의 DN을 복제 관리자 중 하나로 입력합니다.

  5. 입력이 끝나면 "확인"을 누르거나, "선택 사항" 탭을 선택하여 추가 고급 구성을 설정합니다.
  6. "고급 복제본 설정" 대화 상자의 "선택 사항" 탭에 있는 LDAP URL 목록은 이 마스터로 보내진 수정 요청에 대한 추가 참조를 지정합니다. "다중 마스터 초기화 후의 수렴"에 설명된 것처럼 마스터를 초기화하면 자동으로 즉시 참조가 반환됩니다. "추가" 또는 "삭제" 버튼을 사용하여 LDAP URL 목록을 작성합니다.
  7. 복제 메커니즘은 자동으로 허브에서 복제 토폴로지의 알려진 모든 마스터에 대한 참조를 반환하도록 구성합니다. 이러한 기본 참조는 클라이언트에서 일반 연결을 통한 단순한 인증을 사용한다고 가정합니다. 보안 연결을 위해 클라이언트에서 SSL을 사용하여 마스터에 바인드할 수 있게 하려면 보안 port 번호를 사용하는 ldaps://servername:port 형식의 참조를 추가하십시오.

    하나 이상의 LDAP URL을 참조로 추가한 경우 목록 아래의 확인란을 선택하면 서버는 마스터 복제본이 아닌 LDAP URL에 대한 참조만 보냅니다. 예를 들어, 클라이언트에서 기본 포트가 아닌 마스터 서버에 있는 보안 포트를 항상 참조하게 하려면 보안 포트에 대한 LDAP URL 목록을 작성한 다음 이 확인란을 선택합니다.

  8. 또한 "선택 사항" 탭에서 지연 제거를 변경할 수 있습니다.
  9. 마스터 서버는 복제본 내용 업데이트에 대한 내부 정보를 저장해야 하며, 지연 제거 매개 변수는 이 정보의 보관 기간을 지정합니다. 이 매개 변수는 자체 변경 로그가 아닌 업데이트를 공급하는 마스터 서버에 있는 변경 로그의 MaxAge 매개 변수와 관련이 있습니다. 두 매개 변수 중에서 작은 값이 두 서버 간의 복제를 비활성화하거나 중단했다가 다시 정상적으로 복구할 수 있는 최대 기간을 지정합니다. 대부분의 경우 이 기간은 기본값 7일이면 충분합니다.

  10. "확인"을 눌러 복제본에 대한 고급 복제 구성을 저장합니다.

복제 계약 작성

복제 계약은 특정 소비자에게 업데이트를 보내는 방법을 구성 및 제어하는 공급자의 매개 변수 집합입니다. 복제 계약은 소비자에게 업데이트를 보내는 공급자 복제본에서 업데이트할 모든 소비자에 대해 작성해야 합니다.

다음과 같은 순서로 복제 계약을 작성합니다.

  1. 다중 마스터 집합의 마스터 간. 복제할 접미사의 원래 복사본이 포함된 마스터부터 시작합니다.
  2. 허브를 통해 복제되지 않은 전용 소비자와 마스터 간
  3. 마스터 및 허브 복제본 간
  4. 허브 복제본 및 해당 소비자 간

예를 들어, 그림 8-1에 표시된 것처럼 마스터 두 개와 전용 소비자 세 개로 구성된 다중 마스터 복제 토폴로지에서는 다음과 같은 순서로 8개의 복제 계약을 작성하게 됩니다.

  • 한 개의 마스터와 다른 마스터 간
  • 다른 마스터와 첫 번째 마스터 간
  • 한 개의 마스터와 각 전용 소비자 세 개 간
  • 다른 마스터와 각 전용 소비자 세 개 간

복제 계약을 작성하려면 다음을 수행합니다.

  1. Directory Server 콘솔의 최상위 "구성" 탭에서 "데이터" 노드와 공급자 접미사 노드를 모두 확장한 다음 접미사 아래의 "복제" 노드를 선택합니다.
  2. 오른쪽 패널에 복제본 상태 정보가 표시됩니다.

  3. 정의된 복제 계약 목록 옆에 있는 "새로 만들기" 버튼을 누릅니다.
  4. "복제 계약" 대화 상자의 메뉴에서 소비자 복제본이 포함된 기존 서버를 선택하거나 "기타" 버튼을 눌러 다른 서버를 정의합니다.
  5. "기타" 버튼을 누른 경우 소비자 서버의 전체 도메인 이름과 LDAP 포트 번호를 입력합니다. 복제 업데이트에 대한 보안 연결을 활성화하기 위해 이 포트에서 SSL을 사용하는 경우 보안 포트 확인란을 선택합니다.

  6. 소비자 서버에 있는 복제 관리자 항목의 DN과 암호를 입력합니다. 기본적으로 이 DN은 기본 복제 관리자의 DN입니다.
  7. 보안 포트가 있는 소비자를 선택한 경우 "옵션" 버튼을 눌러 DN 필드의 의미를 지정할 수 있습니다. 암호를 사용하여 연결하면 공급자는 암호화된 SSL 연결을 통한 단순 인증 및 통신을 사용합니다. 인증서를 사용하여 연결하면 DN 필드에는 인증서가 포함된 항목의 DN이 지정되며 암호를 입력할 필요가 없습니다.

  8. 선택 사항으로, 이 계약에 대한 설명 문자열을 입력합니다. 이 마스터 복제본에 대한 복제 계약 목록에 소비자 서버 이름과 포트 번호, 그리고 설명 문자열이 표시됩니다.
  9. 작업이 끝나면 "확인"을 누릅니다. 방금 입력한 연결 매개 변수를 테스트할 것인지 확인하는 대화 상자가 표시됩니다.
  10. 지정된 복제 관리자 및 암호를 사용하여 특정 서버와 포트 번호에 대한 연결을 테스트하려면 "예"를 누릅니다. 매개 변수를 올바로 지정했지만 서버가 오프라인 상태인 경우에는 연결이 실패해도 이 계약을 사용할 수 있습니다.
  11. 작업이 끝나면 마스터 복제본에 대한 복제 계약 목록에 이 계약이 표시됩니다.

나중에 다음과 같이 복제 계약을 편집하여 소비자 서버에 있는 복제 관리자의 DN과 암호를 변경할 수 있습니다.

  1. 목록에서 복제 계약을 선택하고 "편집" 버튼을 누릅니다.
  2. "복제 계약" 대화 상자에서 "연결" 탭을 선택합니다.
  3. 소비자 서버의 복제 관리자 DN 또는 암호를 편집합니다.
  4. 선택 사항으로, 계약에 대한 설명 문자열을 편집합니다.
  5. "확인"을 눌러 새 설정을 저장하면 이 소비자에게 업데이트를 보낼 때 즉시 새 설정이 사용됩니다.
  6. 다른 탭의 구성 매개 변수에 대해서는 "단편 복제 활성화" 및 "WAN을 통한 복제"에서 설명합니다.

  7. 각 복제 계약을 작성한 후 선택 사항으로 이 접미사에 대한 단편 복제를 구성한 다음, "복제본 초기화"에 설명된 것처럼 즉시 복제본을 초기화할 수 있습니다.

단편 복제 구성

기본적으로 복제는 복제된 접미사의 전체 항목을 소비자 복제본에 복사합니다. Sun ONE Directory Server 5.2의 새 기능인 단편 복제 기능을 사용하면 복제 중에 복제하거나 제외할 속성의 부분 집합을 지정할 수 있습니다. 단편 복제는 복제 계약에 구성되므로 마스터의 각 소비자 복제본에 대한 속성 집합을 정의할 수 있으며, 배포할 데이터를 제어하고 복제 대역폭과 소비자 자원을 보다 효율적으로 사용할 수 있습니다.

예를 들어, 복제 대역폭을 줄이려면 photo, jpegPhoto, audio와 같이 일반적으로 큰 값을 갖는 속성을 복제하지 않도록 선택할 수 있습니다. 이 경우 소비자에서는 이러한 속성을 사용할 수 없습니다. 다른 예로, uid 및 userpassword 속성만 인증 전용 소비자 서버로 복제하도록 선택할 수도 있습니다.

단편 복제 시 고려 사항

속성의 단편 집합을 활성화하거나 수정하려면 소비자 복제본을 다시 초기화해야 하므로 배포 전에 단편 복제 요구를 결정하여 처음 복제본을 초기화하기 전에 속성 집합을 정의해야 합니다.

특정 속성에 대한 ACI, 역할, CoS 등 복잡한 기능의 종속성을 감안하여 소규모 속성 집합을 복제할 때는 특히 주의해야 합니다. 또한 ACI, 역할 또는 CoS 메커니즘의 지정자나 필터에 명시된 다른 속성을 복제하지 않으면 데이터 보안이 손상되거나 검색 시 다른 속성 집합이 반환될 수 있습니다. 제외할 속성 목록을 관리하는 것이 포함할 속성 목록을 관리하는 것보다 안전하고 실수할 위험이 적습니다.

복제할 속성 집합에서 복제된 항목의 일부만 스키마를 따르도록 허용하는 경우에는 소비자 서버에서 스키마 검사를 비활성화해야 합니다. 복제 메커니즘에서 소비자에 대한 스키마 검사를 생략하기 때문에 비준수 항목을 복제해도 오류가 발생하지는 않지만 소비자에 비준수 항목이 포함되므로 클라이언트에 일관된 상태를 표시하려면 스키마 검사를 비활성화해야 합니다.

단편 복제는 허브 및 전용 소비자와 마스터 복제본 간의 복제 계약에 구성됩니다. 다중 마스터 복제 환경에서 두 마스터 복제본 간의 단편 복제 구성은 지원되지 않습니다. 또한, 여러 개의 마스터가 동일한 복제본과의 복제 계약을 구성하는 경우 모든 계약이 동일한 속성 집합을 복제해야 합니다.

Sun ONE Directory Server 5.2에서 제공하는 단편 복제 기능은 Directory Server의 이전 버전과 호환되지 않습니다. 단편 복제 계약을 구성하려면 마스터와 소비자 복제본이 모두 Directory Server 5.2 인스턴스에 있어야 합니다.

속성 집합 정의

속성 집합은 복제본에 대한 단편 복제를 활성화할 때 다른 모든 속성을 제외하고 복제되는 속성 목록입니다. 마스터 서버에서 원하는 대로 속성 집합을 정의한 다음 각 속성 집합을 복제 계약과 연결할 수 있습니다.

  1. Directory Server 콘솔의 최상위 "구성" 탭에서 "데이터" 노드를 선택한 다음 오른쪽 패널에서 "복제" 탭을 선택합니다.
  2. "복제" 탭의 아래쪽에 있는 "복제된 속성 집합 관리" 버튼을 누릅니다. 이 버튼을 표시하기 위해 아래로 스크롤해야 할 수도 있습니다.
  3. "추가"를 눌러 새 속성 집합을 정의하거나 목록에서 기존 속성 집합을 선택하고 "편집"을 눌러 수정합니다. 표시된 "속성 집합" 대화 상자에서 "복제" 열의 확인란을 선택하거나 선택 취소하여 집합에서 해당 속성을 제외하거나 포함합니다. 속성 이름 옆의 확인란이 선택되어 있으면 해당 속성이 복제된다는 것을 나타냅니다.
  4. 기본적으로 모든 속성이 선택되므로 특별히 복제하지 않으려는 속성만 선택 취소하는 것이 좋습니다. 처음부터 다시 선택 항목을 지정하려면 "모두 선택" 버튼을 눌러 모든 속성을 다시 선택합니다. 다수의 속성을 선택 취소하면 디렉토리 서버는 선택 취소된 속성을 제외한 모든 속성을 복제합니다. 나중에 새 속성을 스키마에 정의하여 복제된 항목에서 사용하면 속성 집합을 편집하여 해당 속성을 선택 취소하지 않을 경우 이러한 새 속성도 복제됩니다.

    "선택 안 함" 버튼을 눌러 모든 속성을 선택 취소한 다음 속성 집합에 포함할 속성을 선택할 수도 있습니다. "선택 안 함" 버튼을 누른 후에 원하는 속성 집합을 정의하면 선택한 속성만 복제됩니다. 나중에 새 속성을 스키마에 정의하여 복제된 항목에서 사용해도 속성 집합을 편집하여 해당 속성을 선택하지 않을 경우 이러한 새 속성은 복제되지 않습니다.



주

objectClass, nsUniqueId 및 nsDS50ruv 속성과 RDN 이름 지정 속성은 속성 집합에서 제외해도 항상 복제됩니다. 이는 LDAP 수정에 objectClass 및 이름 지정 속성이 필요하고, nsUniqueId 및 nsDS50ruv 속성이 있어야만 복제가 제대로 작동하기 때문입니다.

ACI 속성을 제외하면 소비자 복제본의 액세스 제어에 영향을 주게 됩니다. userPassword 속성을 제외하면 어떤 사용자도 소비자 복제본에 대해 인증되지 않습니다.



  1. 선택 사항으로, 이 속성 집합에 대한 설명 문자열을 입력하거나 수정합니다. 설명 문자열은 이 속성 집합을 사용하는 복제 계약을 편집할 때와 정의된 속성 집합 목록에 표시되는 텍스트입니다. 설명 문자열을 제공하지 않으면 서버는 포함되거나 제외되는 속성을 기준으로 설명 문자열을 생성합니다.
  2. 모두 마쳤으면 "저장"을 누릅니다.

단편 복제 활성화

단편 복제는 다음과 같이 기존 복제 계약에서만 활성화할 수 있습니다.

  1. "복제 계약 작성"에 설명된 것처럼 복제 계약을 작성하거나 이전에 정의한 계약을 선택하여 수정합니다.
  2. "복제 계약 비활성화"에 설명된 것처럼 복제 계약을 비활성화합니다. 단편 복제 구성을 수정하려면 반드시 계약을 비활성화해야 합니다.
  3. 비활성화된 계약을 선택하고 "편집"을 누릅니다. 표시되는 "복제 계약" 대화 상자에서 "복제된 속성" 탭을 선택합니다.
  4. "속성 집합만 복제합니다" 확인란을 선택합니다.
  5. 드롭다운 목록에서 기존 속성 집합을 선택하거나 "새로 만들기"를 눌러 "속성 집합 정의"에 설명된 것처럼 새 속성 집합을 정의합니다. "복제된 속성 집합 관리"를 눌러 기존 속성 집합 정의를 보고 수정할 수도 있습니다.
  6. 단편 복제 시에는 한 개의 속성 집합만 복제 계약에 연결할 수 있습니다. 해당 속성 집합에는 복제할 속성 목록이 포함되어 있어야 합니다.

  7. 속성 집합을 선택했으면 "확인"을 누릅니다. 단편 복제를 구성했으므로 소비자 복제본을 다시 초기화해야 함을 알려주는 메시지가 표시됩니다. "확인"을 눌러 메시지를 닫습니다.
  8. "활성화"를 눌러 복제 계약을 다시 활성화합니다.
  9. 복제되는 속성에 따라 소비자 서버에서 스키마 검사를 비활성화해야 합니다.
  10. 다른 마스터에서도 이 복제본과 복제 계약을 구성한 경우 이 절차를 반복하여 모든 마스터에서 동일한 속성 집합을 사용하여 단편 복제를 활성화해야 합니다.
  11. 이제 소비자 복제본을 초기화하거나, 이미 복제된 경우 다시 초기화해야 합니다. 아래의
    "복제본 초기화를 참조하십시오.

복제본 초기화

복제 계약을 작성한 경우 실제로 복제가 시작되기 전에 소비자 복제본을 초기화해야 합니다. 초기화 중에 공급자 복제본의 데이터가 소비자 복제본으로 복사됩니다.

특정 오류 조건이나 구성 변경 시에는 복제본을 다시 초기화해야 합니다. 다시 초기화하면 소비자에 있는 복제된 접미사의 내용이 삭제되고 마스터에 있는 접미사의 내용으로 교체됩니다. 이렇게 함으로써 복제본이 동기화되어 복제 업데이트를 계속할 수 있습니다. 또한, 여기에 설명된 모든 초기화 방법은 자동으로 소비자 복제본의 색인을 재구성하므로 소비자가 클라이언트 읽기 요청에 대해 적절하게 응답할 수 있습니다.

초기화 시기

복제를 수행하려면 두 복제본이 모두 구성된 후에 복제본을 초기화해야 합니다. 접미사의 데이터가 완전히 소비자에 복사되면 공급자는 소비자에 대한 업데이트 작업을 재생할 수 있습니다.

정상 작동 시에는 소비자를 다시 초기화할 필요가 없지만 어떤 이유로든 백업을 사용하여 단일 마스터 데이터를 복원한 경우에는 백업에서 업데이트하는 모든 복제본을 다시 초기화해야 합니다. 다중 마스터 복제 시 다른 마스터에서 업데이트하지 않은 소비자는 다시 초기화하지 않아도 됩니다.

콘솔에서 온라인으로, 또는 명령줄에서 수동으로 복제본을 초기화할 수 있습니다. 콘솔을 사용한 온라인 초기화는 소규모 소비자를 초기화할 때 편리합니다. 복제 계약을 사용하여 직접 온라인으로 복제본을 초기화할 수도 있습니다. 하지만 각 복제본이 순서대로 초기화되므로 이 방법은 다수의 복제본을 초기화할 때는 적합하지 않습니다. 명령줄을 사용한 수동 초기화는 단일 LDIF 파일을 사용하여 다수의 소비자를 동시에 초기화할 수 있는 효과적인 방법입니다.

마지막으로 숙련된 관리자는 Directory Server 5.2의 새 기능인 이진 복사 기능을 사용하여 마스터나 소비자 복제본을 복제할 수 있습니다. 이 기능의 특정 제한 사항으로 인해 이진 복사는 수백만 개의 항목이 포함된 복제본과 같이 대규모 데이터베이스 파일이 있는 복제본에만 실용적이며 시간 효율적입니다.

다중 마스터 복제 시 복제본 초기화

다중 마스터 복제의 경우 다음과 같은 순서로 복제본을 초기화해야 합니다.

  1. 특정 마스터에 복제할 전체 데이터 집합이 있는지 확인합니다. 이 마스터를 사용하여 다른 마스터의 복제본을 초기화할 수 있습니다.
  2. 해당 마스터 또는 마스터 중 하나의 LDIF 파일을 사용하여 소비자 복제본을 초기화합니다.

계단식 복제 시 복제본 초기화

계단식 복제의 경우 항상 다음과 같은 순서로 복제본을 초기화해야 합니다.

  1. 다중 마스터 복제도 있는 경우 특정 마스터에 복제할 전체 데이터 집합이 있는지 확인합니다. 이 마스터를 사용하여 다른 마스터의 복제본을 초기화할 수 있습니다.
  2. 해당 마스터 복제본을 사용하여 첫 수준의 허브 복제본에 있는 복제본을 초기화합니다.
  3. 여러 수준의 허브가 있는 경우 이전에 초기화한 수준의 허브를 사용하여 각 수준을 초기화합니다.
  4. 마지막 수준의 허브 복제본에서 전용 소비자에 있는 복제본을 초기화합니다.

다중 마스터 초기화 후의 수렴

다중 마스터 복제의 경우 특정 마스터를 초기화하는 동안 다른 마스터에서 변경 작업을 처리할 수 있습니다. 따라서 초기화가 완료되면 새 마스터는 초기화 데이터에 없는 새 업데이트도 받아야 합니다. 초기화에 상당한 시간이 걸리면 보류 중인 업데이트 수도 증가합니다.

보류 중인 업데이트의 수렴을 허용하기 위해 새로 초기화된 마스터는 초기화 후의 클라이언트 작업 시 자동으로 읽기 전용 모드로 설정됩니다. 이 설정은 콘솔을 사용한 온라인 초기화, 명령줄에서 LDIF 파일을 사용한 초기화, 백업을 사용한 이진 복사 등 모든 유형의 초기화에 적용되며 Sun ONE Directory Server 5.2의 새 기능입니다.

따라서 다중 마스터 구성의 마스터는 초기화 후에 복제 업데이트를 처리하고 읽기 작업을 허용하지만 클라이언트의 모든 쓰기 요청에 대해서는 참조를 반환합니다. "고급 다중 마스터 구성"에 설명된 것처럼 참조를 정의할 수 있습니다. 다음과 같은 경우에 마스터는 읽기-쓰기 모드로 돌아갑니다.

  • ds5BeginReplicaAcceptUpdates 구성 속성을 start로 설정하여 업데이트 작업을 명시적으로 허용한 경우. 업데이트를 활성화하기 전에 새 마스터 복제본이 다른 마스터와 수렴되었는지 확인해야 합니다. 이는 Directory Server 콘솔의 복제 구성 패널이나 명령줄을 통해 확인할 수 있습니다(아래 절차 참조).
  • 수동 작업을 사용하면 업데이트를 허용하기 전에 새 마스터가 다른 마스터와 완전히 동기화되었는지 확인할 수 있으므로 초기화된 마스터에서 업데이트를 활성화하는 데 바람직한 방법입니다.

  • 이전에 ds5referralDelayAfterInit 속성을 설정한 경우 마스터 복제본은 지정된 지연 후에 자동으로 정상적인 읽기-쓰기 모드로 전환됩니다. 이 속성은 서버에 있는 각 마스터 복제본에 별도로 설정할 수 있습니다.
  • 이 속성을 설정하려면 마스터 복제본이 초기화 후에 다른 마스터와 충분히 수렴될 수 있는 지연을 확인해야 합니다. 이 지연은 예상되는 초기화 크기 및 길이와 다른 마스터에서 동시에 발생하는 변경 속도에 따라 결정됩니다. 마스터에서 초기화 후의 변경 사항을 복제하는 동시에 업데이트 작업을 허용할 경우 알 수 없는 오류가 발생할 수 있습니다. 복제 오류가 발생하면 Sun ONE Directory Server Reference Manual의 Appendix A, "Error Codes"를 참조하십시오.



주

새 기능으로 인해 마스터 복제본에서 참조를 보내는 경우 쓰기 작업을 수행하려는 클라이언트는 구성된 홉 수 제한에 도달할 수 있습니다. 이 경우 클라이언트가 사용 가능한 마스터에 도달할 수 있도록 이 클라이언트의 홉 수 제한을 늘려야 합니다. 모든 마스터 복제본을 초기화 또는 다시 초기화하면 클라이언트 업데이트를 허용하는 복제본이 없기 때문에 모든 쓰기 작업이 실패합니다.

항상 초기화된 마스터를 주의해서 모니터하고 참조 속성을 적절하게 설정하여 서버 응답을 최적화해야 합니다.



콘솔을 통해 업데이트 허용

다중 마스터 복제본의 초기화 후에 업데이트 작업을 명시적으로 허용하려면 아래 단계에 따라 수행합니다.

  1. Directory Server 콘솔의 최상위 "구성" 탭에서 "데이터" 노드와 복제된 접미사 노드를 모두 확장한 다음 접미사 아래의 "복제" 노드를 선택합니다.
  2. 콘솔의 오른쪽 패널에 복제본이 초기화되었으며 현재 업데이트 작업에 대해 참조를 반환한다는 메시지가 표시됩니다. 이 메시지에 자동 참조 지연이 활성화되었다는 설명이 있어도 이 절차에 따라 지연을 무시할 수 있습니다.

  3. 복제본이 다른 마스터와 수렴되었는지 확인하려면 insync 도구를 사용합니다. 모든 서버의 수정 사항 간에 지연이 0(제로)이거나 복제할 변경 사항이 복제본에 없으면(-1 지연) 복제본은 동기화된 것입니다. 자세한 내용은 Sun ONE Directory Server Reference Manual의 Chapter 1, "insync"를 참조하십시오.
  4. 메시지 오른쪽에 있는 버튼을 눌러 업데이트 작업을 즉시 허용합니다.

명령줄을 통해 업데이트 허용

수렴을 확인하고 업데이트 작업을 명시적으로 허용하여 다중 마스터 복제본의 초기화 프로세스를 자동화하는 스크립트에는 다음과 같은 명령을 사용할 수 있습니다.

  1. 복제본이 다른 마스터와 수렴되었는지 확인하려면 insync 도구를 사용합니다. 모든 서버의 수정 사항 간에 지연이 0(제로)이거나 복제할 변경 사항이 복제본에 없으면(-1 지연) 복제본은 동기화된 것입니다. 자세한 내용은 Sun ONE Directory Server Reference Manual의 Chapter 1, "insync"를 참조하십시오.
  2. 아래 명령을 실행하여 ds5BeginReplicaAcceptUpdates 구성 속성을 수정합니다.
  3. % ldapmodify -h host -p port -D "cn=Directory Manager" -w password
    dn:cn=replica, cn=suffixName, cn=mapping tree, cn=config
    changetype: modify
    add: ds5BeginReplicaAcceptUpdates
    ds5BeginReplicaAcceptUpdates: start
    ^D

복제본을 초기화하면 ds5BeginReplicaAcceptUpdates 속성이 자동으로 삭제되어 초기화 후의 업데이트 작업이 다시 거부됩니다.

자동 참조 지연 설정

ds5referralDelayAfterInit 구성 속성은 복제본에서 참조를 반환할 초기화 후의 시간
(초)을 지정합니다. 복제본은 지정된 지연 후에 클라이언트로부터의 업데이트 작업을 자동으로 처리합니다. 이 속성은 "다중 마스터 초기화 후의 수렴"에 설명된 조건에 따라 각 복제본에 적합한 값으로 설정해야 합니다.

복제본을 최근에 초기화했으며 아직 업데이트를 허용하지 않은 경우 이 속성 값을 변경하면 동적으로 해당 복제본에 영향을 주게 됩니다. 이 값을 수정하여 진행 중인 지연의 길이를 늘리거나 줄일 수 있습니다. 지연이 아직 경과하지 않았으며 복제본에서 업데이트를 허용하는 경우에는 이 속성을 설정해도 영향을 주지 않습니다.

이 속성의 기본값은 -1로, 복제본이 업데이트 작업을 무제한으로 거부합니다. 이 경우 초기화 후에 측정되는 지연이 경과하면 자동으로 업데이트를 허용하도록 지연을 정의할 수도 있습니다. 이미 경과한 지연을 설정하면 복제본이 즉시 업데이트를 허용하게 됩니다.

  1. 아래 명령을 실행하여 ds5referralDelayAfterInit 속성을 설정합니다.
  2. % ldapmodify -h host -p port -D "cn=Directory Manager" -w password
    dn:cn=replica, cn=suffixName, cn=mapping tree, cn=config
    changetype: modify
    replace: ds5referralDelayAfterInit
    ds5referralDelayAfterInit: seconds
    ^D

콘솔에서 복제본 초기화

콘솔을 사용한 온라인 복제본 초기화는 소비자를 초기화 또는 다시 초기화할 수 있는 가장 손쉬운 방법입니다. 하지만 다수의 항목(1-2백만 개 이상)을 초기화하는 경우에는 이 프로세스에 많은 시간이 소요될 수 있으므로 명령줄을 사용한 수동 소비자 초기화가 더 효율적일 수 있습니다. 자세한 내용은 "명령줄에서 복제본 초기화"를 참조하십시오.



주

콘솔을 사용하여 소비자 복제본을 초기화하는 경우 접미사에 대한 모든 작업
(검색 포함)은 초기화 프로세스가 완료될 때까지 마스터 서버로 보내집니다.



Directory Server 콘솔을 사용하면 단편 복제가 구성된 복제본의 초기화를 투명하게 처리할 수 있습니다. 선택한 속성만 초기화 중에 소비자로 보내집니다.

온라인 복제본 초기화

콘솔을 사용하여 복제본을 초기화 또는 다시 초기화하려면 다음을 수행합니다.

  1. Directory Server 콘솔의 최상위 "구성" 탭에서 "데이터" 노드와 마스터 복제본의 접미사 노드를 모두 확장한 다음 접미사 아래의 "복제" 노드를 선택합니다.
  2. 오른쪽 패널에 복제본 상태 정보가 표시됩니다.

  3. 정의된 계약 목록에서 초기화할 소비자에 해당하는 복제 계약을 선택하고 "작업 > 원격 복제본 초기화"를 누릅니다.
  4. 확인 메시지가 표시되어 소비자 복제본에 저장된 모든 정보가 제거된다고 경고합니다.

  5. 확인 대화 상자에서 "예"를 누릅니다.
  6. 온라인 소비자 초기화가 즉시 시작됩니다. 복제 계약의 아이콘에 빨간색 기어가 표시되어 초기화 프로세스의 상태를 나타냅니다.

  7. "갱신 > 지금 갱신" 또는 "갱신 > 계속 갱신"을 눌러 소비자 초기화의 상태를 따릅니다.
  8. 강조 표시된 계약에 대한 모든 메시지는 목록 아래의 텍스트 상자에 표시됩니다.

복제 및 초기화 상태에 대한 자세한 내용은 "복제 상태 모니터"를 참조하십시오.

명령줄에서 복제본 초기화

명령줄을 사용한 수동 복제본 초기화는 다수의 항목을 복제하는 배포에 대한 가장 빠른 소비자 초기화 방법입니다. 성능 문제로 인해 온라인 프로세스가 부적절한 경우 수동 프로세스를 사용하는 것이 좋습니다. 하지만 수동 소비자 초기화 프로세스는 온라인 소비자 초기화 프로세스보다 훨씬 복잡합니다.

복제본을 수동으로 초기화 또는 다시 초기화하려면 먼저 접미사 데이터의 원래 복사본을 LDIF 파일로 내보내야 합니다. 단편 복제본을 초기화하는 경우에는 파일을 필터링하여 복제된 속성만 유지해야 합니다. 그런 후에 해당 파일을 모든 소비자 서버로 전송하여 가져옵니다. 다중 마스터 복제 배포 시에는 원본 마스터에서 내보낸 LDIF 파일을 사용하여 다른 마스터 및 모든 소비자를 초기화할 수 있습니다. 계단식 복제 환경에서는 동일한 파일을 사용하여 허브 복제본과 해당 소비자를 모두 초기화할 수 있습니다.

항상 구성된 마스터 복제본에서 내보낸 LDIF 파일부터 시작해야 합니다. 복제 데이터가 포함되지 않은 임의의 LDIF를 사용하여 모든 복제본을 초기화할 수는 없습니다. 먼저 LDIF 파일을 마스터 복제본으로 가져온 다음 아래 절차에 따라 내보내야 합니다.

LDIF로 복제본 내보내기

db2ldif -r 또는 db2ldif.pl -r 명령을 사용하여 복제본 내용을 LDIF 파일에 저장할 수 있습니다. 자세한 내용은 "명령줄에서 LDIF로 내보내기"를 참조하십시오. 이러한 명령을 사용하여 복제본을 내보내려면 반드시 -r 옵션을 사용해야 합니다.

아래 예제에서는 전체 dc=example,dc=com 복제본을 example_master.ldif 파일로 내보냅니다.

Solaris 패키지

# /usr/sbin/directoryserver stop
# /usr/sbin/directoryserver db2ldif -r -s "dc=example,dc=com" \
  -a /var/ds5/slapd-serverID/ldif/example_master.ldif
# /usr/sbin/directoryserver start

기타 설치

# ServerRoot/slapd-serverID/stop-slapd
# ServerRoot/slapd-serverID/db2ldif -r -s "dc=example,dc=com" \
  -a ServerRoot/slapd-serverID/ldif/example_master.ldif
# ServerRoot/slapd-serverID/start-slapd

필요한 경우 LDIF 파일을 필터링한 다음 소비자 호스트로 전송하여 소비자 복제본을 초기화할 수 있습니다.

단편 복제를 위한 LDIF 파일 필터링

단편 복제를 구성한 경우 내보낸 LDIF 파일을 소비자 서버에 복사하기 전에 사용하지 않는 속성을 필터링하여 제거해야 합니다. Directory Server는 이러한 용도로 fildif 도구를 제공합니다. 이 도구는 특정 LDIF 파일을 필터링하여 복제 계약에 정의된 속성 집합에서 허용하는 속성만 유지합니다.

이 도구는 서버 구성을 읽어 속성 집합 정의를 확인합니다. 구성 파일을 읽으려면 root로 fildif 도구를 실행해야 합니다. 예를 들어, 아래 명령은 이전 예제의 dc=example,dc=com 접미사에서 내보낸 파일을 필터링합니다.

# CAMUS=/var/Sun/mps/slapd-camus
# /var/Sun/mps/shared/bin/fildif \
-i $CAMUS/ldif/example_master.ldif \
-o $CAMUS/ldif/filtered.ldif -c $CAMUS/config/dse.ldif \
-b "cn=rousseau.example.com:389, cn=replica, \
cn=dc=example\?c=com, cn=mapping tree, cn=config"

-i 및 -o 옵션은 각각 입력 파일과 출력 파일을 나타냅니다. -c 옵션은 복제 계약과 속성 집합 정의가 포함된 구성 파일입니다. dse.ldif 파일은 복제 계약 및 속성 집합을 포함한 cn=config 항목의 내용이 저장되는 위치입니다.

-b 옵션은 단편 복제가 정의된 복제 계약의 DN입니다. Directory Server 콘솔에서 디렉토리 관리자로 cn=config 접미사를 탐색하면 이 항목을 찾을 수 있습니다. 접미사에 대한 cn=replica 항목 아래에서 이 항목을 선택한 다음 "편집 > DN 복사" 메뉴 항목을 사용하여 이 DN을 클립보드에 복사한 후 명령을 입력할 때 사용할 수 있습니다.

fildif 도구의 전체 명령줄 구문에 대해서는 Sun ONE Directory Server Reference Manual의 Chapter 1, "LDIF Command-Line Utilities"에서 설명합니다.

그런 후에 fildif 도구에서 생성된 filtered.ldif 파일을 사용하여 이 복제 계약의 소비자를 초기화할 수 있습니다. 파일을 소비자 서버로 전송하여 다음 절에 설명된 것처럼 가져옵니다.

소비자 복제본으로 LDIF 파일 가져오기

Directory Server 콘솔의 가져오기 기능을 사용하거나, ldif2db 명령 또는 ldif2db.pl
스크립트(Solaris 패키지의 directoryserver ldif2db 또는 directoryserver ldif2db-task)를 사용하여 마스터 복제본 내용이 포함된 LDIF 파일을 소비자 복제본으로 가져올 수 있습니다. 모든 가져오기 작업과 마찬가지로 이러한 스크립트를 사용하여 가져오기를 수행하려면 디렉토리 관리자의 바인드 DN과 암호가 필요합니다. 가져오기 방법에 대해서는 "명령줄에서 LDIF 가져오기"에서 설명합니다.

아래 예제에서는 LDIF 파일을 가져와서 dc=example,dc=com 소비자 복제본을 초기화하는 방법을 보여줍니다.

Solaris 패키지

# /usr/sbin/directoryserver stop
# /usr/sbin/directoryserver ldif2db -s "dc=example,dc=com" \
  -i example_master.ldif
# /usr/sbin/directoryserver start

기타 설치

# ServerRoot/slapd-serverID/stop-slapd
# ServerRoot/slapd-serverID/ldif2db -s "dc=example,dc=com" \
  -i example_master.ldif
# ServerRoot/slapd-serverID/start-slapd

ldif2db.pl 스크립트를 사용하는 경우 미리 서버를 중지할 필요가 없습니다. 자세한 내용은 Sun ONE Directory Server Reference Manual의 Chapter 2, "ldif2db.pl"을 참조하십시오.

이진 복사를 사용한 복제본 초기화

Directory Server 5.2의 새 기능인 이진 복사 기능은 한 서버의 이진 백업 파일을 사용하여 다른 서버에 동일한 디렉토리 내용을 복원함으로써 전체 서버를 복제합니다. 이 고급 기능은 디렉토리 서버의 데이터베이스 파일과 상호 작용하며 숙련된 관리자만 사용해야 합니다.

이진 복사 제한

이진 복사 기능은 한 시스템의 데이터베이스 파일을 다른 시스템으로 이동하기 때문에 다음과 같은 엄격한 제한이 적용됩니다.

  • 두 시스템은 서비스 팩이나 패치를 비롯한 동일한 운영 체제 및 하드웨어를 사용해야 합니다.
  • 두 시스템에 설치된 Directory Server는 이진 형식(32비트 또는 64비트), 서비스 팩 및 패치 수준까지 동일해야 합니다.
  • 두 서버의 디렉토리 트리와 구성된 접미사는 동일해야 합니다. 반드시 모든 접미사의 데이터베이스 파일을 함께 복사해야 하며 개별 접미사는 복사할 수 없습니다.
  • VLV(가상 목록 보기) 색인을 비롯한 두 서버의 각 접미사 색인은 동일하게 구성되어야 하며, 접미사의 데이터베이스 이름도 같아야 합니다.
  • o=NetscapeRoot 접미사가 포함된 Directory Server는 복사할 수 없으므로 Sun ONE 관리 서버의 구성 디렉토리가 될 수 없습니다.
  • 각 서버에는 동일한 접미사가 복제본으로 구성되어 있어야 하며, 두 서버의 복제본은 같은 역할(마스터, 허브 또는 소비자)을 가져야 합니다. 단편 복제를 구성하는 경우 모든 마스터 서버에서 동일하게 구성해야 합니다.
  • 속성 암호화는 두 서버에서 모두 사용할 수 없습니다.
  • 속성 값 고유성 플러그 인을 사용하는 경우 두 서버에서 동일하게 구성해야 하며, 아래 절차에 설명된 것처럼 새 복사본에서 다시 구성해야 합니다.

위의 조건에 모두 부합되면 다른 마스터 서버의 이진 복사본을 사용하여 마스터를, 또는 다른 소비자 서버의 이진 복사본을 사용하여 소비자를 초기화하거나 다시 초기화할 수 있습니다. 아래의 두 절차에서는 이진 복사를 수행하는 대체 방법에 대해 설명합니다. 하나는 서버를 중지할 필요가 없는 방법이고 다른 하나는 최소 디스크 공간을 사용하는 방법입니다.

서버를 중지하지 않는 이진 복사

아래 절차는 정상적인 백업 기능을 사용하여 서버에 있는 데이터베이스 파일의 복사본을 작성하기 때문에 이진 복사에 권장되는 방법입니다. 정상적인 백업을 수행하면 서버를 중지할 필요 없이 모든 데이터베이스 파일을 일관된 상태로 유지할 수 있습니다.

하지만 이 절차에는 주의해야 하는 특정 제한 사항이 있습니다. 백업 및 복원 작업 시 같은 시스템에 데이터베이스 파일의 복사본이 작성되므로 데이터베이스 파일에 필요한 각 시스템의 디스크 공간이 두 배로 증가합니다. 또한 디렉토리에 기가바이트의 데이터가 포함되어 있을 경우 데이터베이스 파일에 대한 실제 복사 작업에 상당한 시간이 소요될 수 있습니다. 디스크 공간이 제한되어 있거나 데이터베이스 파일이 대규모일 경우 "최소 디스크 공간을 사용한 이진 복사"를 참조하십시오.

  1. 새 복제본의 대상 시스템에 Directory Server를 설치하고, 필요한 경우 서버의 새 인스턴스를 작성한 다음 "이진 복사 제한"에 따라 구성합니다.
  2. 복제 토폴로지에 이 복제본과 연결된 모든 복제 계약을 작성합니다. 여기에는 공급자와 이 복제본 간의 계약 및 전용 소비자가 아닌 경우 이 복제본과 해당 소비자 간의 계약이 포함됩니다.
  3. 초기화하려는 복제본과 같은 유형(마스터, 허브 또는 소비자)의, 완전히 구성 및 초기화된 접미사를 선택하고 "콘솔에서 서버 백업"의 절차에 따라 정상적인 백업을 수행합니다.
  4. ftp 명령 등을 사용하여 백업 디렉토리의 파일을 대상 시스템의 디렉토리로 복사 또는 전송합니다.
  5. "백업을 사용한 데이터 복원"의 절차에 따라 파일을 대상 서버에 로드합니다.
  6. 다중 마스터 복제 시나리오에서 새 마스터를 초기화한 경우 "다중 마스터 초기화 후의 수렴"의 절차에 따라 새 복제본이 클라이언트로부터의 업데이트 작업을 허용하도록 설정합니다.

최소 디스크 공간을 사용한 이진 복사

아래 절차에서는 데이터베이스 파일의 백업 복사본을 만들지 않으므로 최소 디스크 공간을 사용하며, 따라서 소요되는 시간도 단축됩니다. 하지만 이 경우에는 데이터베이스 파일의 일관된 상태를 유지하기 위해 복제되는 서버를 중지해야 합니다.



주의

다중 마스터 복제 시나리오에서 이미 사용되고 있는 마스터를 다시 초기화할 때는 이 절차를 사용할 수 없습니다. 이 절차는 소비자 서버를 다시 초기화하거나 새 마스터 서버를 초기화하는 경우에만 사용해야 합니다. 기존 마스터 복제본을 다시 초기화하려면 온라인 초기화를 사용하거나 LDIF 파일을 가져오거나 "서버를 중지하지 않는 이진 복사" 절차에 따라 수행합니다.



  1. 새 복제본의 대상 시스템에 Directory Server를 설치하고, 필요한 경우 서버의 새 인스턴스를 작성한 다음 "이진 복사 제한"에 따라 구성합니다.
  2. 복제 토폴로지에 이 복제본과 연결된 모든 복제 계약을 작성합니다. 여기에는 공급자와 이 복제본 간의 계약 및 전용 소비자가 아닌 경우 이 복제본과 해당 소비자 간의 계약이 포함됩니다.
  3. "Directory Server 시작 및 중지"에 설명된 것처럼 초기화 또는 다시 초기화할 대상 서버를 중지합니다.
  4. 초기화하려는 복제본과 같은 유형(마스터, 허브 또는 소비자)의, 완전히 구성 및 초기화된 접미사를 선택하고 서버도 중지합니다. 다중 마스터 구성의 마스터 복제본을 복제하는 경우 이 복제본을 중지하기 전에 다른 마스터의 최신 변경 사항이 모두 적용되어 있는지 확인해야 합니다.
  5. ftp 명령 등을 사용하여 트랜잭션 로그를 비롯한 소스 복제본 시스템의 모든 데이터베이스 파일을 대상 시스템으로 복사 또는 전송합니다. 파일 위치를 변경하지 않은 경우 데이터베이스 파일과 트랜잭션 로그는 ServerRoot/slapd-serverID/db 디렉토리에 위치해 있습니다.
  6. 마스터 또는 허브 복제본을 초기화하는 경우에는 기본적으로 ServerRoot/slapd-serverID/changelog에 위치해 있는 변경 로그의 모든 파일도 복사해야 합니다.

  7. 소스 및 대상 서버를 모두 다시 시작합니다.

참조 무결성 플러그 인 활성화

참조 무결성 플러그 인을 사용하는 경우 모든 마스터 서버에서 이 플러그 인을 활성화해야 하지만 허브나 소비자 서버에서는 활성화할 필요가 없습니다. "복제에 참조 무결성 사용"을 참조하십시오.

SSL을 통한 복제

모든 복제 작업이 SSL 연결을 통해 수행되도록 복제에 사용되는 Directory Server를 구성할 수 있습니다. 이렇게 하려면 다음을 수행합니다.

  1. 공급자 및 소비자 서버에서 모두 SSL을 사용하도록 구성합니다.
  2. 자세한 내용은 11장 "보안 구현을 참조하십시오.



주

공급자 서버 인증서가 다음과 같은 경우에는 SSL을 통한 복제가 제대로 수행되지 않습니다.

  • 자체 서명된 인증서
  • SSL 핸드셰이크 중에 클라이언트 역할을 할 수 없는 SSL 서버 전용 인증서


  1. 소비자 서버의 접미사에 대한 복제가 구성되어 있지 않으면 "소비자 복제본 활성화"에 설명된 것처럼 복제를 활성화합니다.
  2. "고급 소비자 구성"의 절차에 따라 소비자 및 다른 복제 관리자의 인증서 항목 DN을 정의합니다.
  3. 공급자 서버의 접미사에 대한 복제가 구성되어 있지 않으면 "허브 복제본 활성화" 또는 "마스터 복제본 활성화"에 설명된 것처럼 복제를 활성화합니다.
  4. 공급자 서버에서 보안 SSL 포트를 통해 소비자에게 업데이트를 보내는 새 복제 계약을 작성합니다. "복제 계약 작성"의 절차에 따라 수행합니다. 소비자 서버의 보안 포트를 지정하고 암호나 인증서를 사용하는 SSL 옵션을 선택합니다. 복제 관리자나 인증서 중에서 선택한 SSL 옵션의 DN을 입력합니다.

복제 계약의 구성이 끝나면 공급자는 SSL을 통해 모든 복제 업데이트 메시지를 소비자에게 보내며, 해당 옵션을 선택한 경우 인증서를 사용합니다. 콘솔에서 SSL용으로 구성된 계약을 사용하면 소비자 초기화 시에도 보안 연결이 사용됩니다.

WAN을 통한 복제

Sun ONE Directory Server 5.2에서는 WAN을 통해 연결된 시스템 간의 다중 마스터 복제(MMR)를 비롯한 모든 형식의 복제를 수행할 수 있습니다. 복제 메커니즘에 대한 내부 향상 기능을 통해 공급자 서버는 대기 시간이 길고 대역폭이 작은 네트워크에서도 적절한 지연을 유지하여 소비자 초기화 및 업데이트를 수행할 수 있습니다.



주

실제 복제 지연 및 업데이트 성능은 수정 속도, 항목 크기, 서버 하드웨어, 평균 대기 시간, 평균 대역폭 등 다양한 요인에 의해 결정됩니다. 사용자 환경에서의 복제에 대한 질문이 있으면 Sun Professional Services 담당자에게 문의하십시오.



복제 메커니즘의 내부 매개 변수는 기본적으로 WAN에 최적화되어 있습니다. 하지만 위에 명시된 요인들로 인해 복제 속도가 느려질 경우 실제 테스트를 통해 창 크기 및 그룹 크기 매개 변수를 조정할 수 있습니다. 네트워크 사용량이 많은 시간을 피해 복제를 예약함으로써 전체적인 네트워크 사용을 향상시킬 수도 있습니다. 마지막으로 Solaris 및 Linux 플랫폼에 설치된 Directory Server는 대역폭 사용을 최적화하기 위한 복제 데이터 압축 기능을 지원합니다.

네트워크 매개 변수 구성

아래의 두 매개 변수는 네트워크에서 보다 효율적으로 항목을 전송하기 위해 복제 메커니즘에서 항목을 그룹화하는 방법을 결정합니다. 또한 공급자 및 소비자가 복제 업데이트 메시지와 승인을 교환하는 방법에도 영향을 줍니다.

  • 창 크기(기본값 10) - 소비자로부터의 즉각적인 응답 없이 보낼 수 있는 최대 업데이트 메시지 수를 나타냅니다. WAN 환경에서는 각각의 메시지 후에 승인을 기다리지 않고 다수의 메시지를 한 번에 보내는 것이 더욱 효율적입니다.
  • 그룹 크기(기본값 1) - 하나의 업데이트 메시지로 처리할 수 있는 최대 데이터 수정 항목 수를 나타냅니다. 데이터 크기와 네트워크 등록정보에 따라 대규모 메시지를 보내서 그룹 크기를 증대하는 것이 더 효율적일 수도 있습니다.

대체로 기본값이 가장 적합하지만 디렉토리 항목 수가 특별히 많거나 작은 경우 또는 복제할 수정 속도가 매우 빠른 경우에는 이러한 매개 변수를 수정하여 WAN상의 복제 성능에 대한 효과를 테스트하는 것이 좋습니다.

모든 복제 계약에서 두 네트워크 매개 변수를 구성할 수 있으므로 각 소비자의 특정 네트워크 조건에 따라 복제 성능을 조정할 수 있습니다.

다음과 같이 창 크기 및 그룹 크기 매개 변수를 수정하는 경우 복제를 중단할 필요가 없습니다.

  1. Directory Server 콘솔의 "구성" 탭을 선택하고 "데이터" 노드와 복제된 접미사 노드를 확장합니다.
  2. 접미사 아래의 "복제" 노드를 선택하고 오른쪽 패널에서 구성할 복제 계약을 선택한 다음 "편집"을 누릅니다.
  3. "복제 계약" 대화 상자의 "네트워크" 탭을 선택하고 창 크기(1에서 1000까지) 및 그룹 크기(1에서 100까지)에 새 값을 입력합니다. 그룹 크기는 창 크기보다 작거나 같아야 합니다.
  4. "확인"을 눌러 새 값을 저장하고 "복제 계약" 대화 상자를 닫습니다.
  5. 다음 복제 업데이트를 해당 소비자로 보낼 때는 새 매개 변수가 적용됩니다.

복제 작업 예약

복제본 간에 즉시 동기화할 필요가 없으면 WAN상에서 데이터를 복제하는 다른 방법으로 네트워크 사용량이 적은 기간에 업데이트를 예약할 수 있습니다. 네트워크 가용성이 커지면 업데이트 속도도 상당히 증가할 수 있으며, 복제 메시지로 인해 이미 사용량이 많은 네트워크의 혼잡을 가중시키는 것을 방지할 수 있습니다.

다음과 같이 복제 계약을 통해 모든 소비자에 개별적으로 일간 또는 주간 업데이트를 예약할 수 있습니다.

  1. Directory Server 콘솔의 최상위 "구성" 탭에서 "데이터" 노드와 복제된 접미사 노드를 확장합니다.
  2. 접미사 아래의 "복제" 노드를 선택하고 오른쪽 패널에서 구성할 복제 계약을 선택한 다음 "편집"을 누릅니다.
  3. "복제 계약" 대화 상자의 "일정" 탭을 선택하고 주간 일정 옆에 있는 라디오 버튼을 선택합니다.
  4. 다음과 같이 일정을 정의합니다.
    1. 주간 업데이트의 경우 복제를 수행할 요일 옆에 있는 확인란을 선택합니다. 특정 요일의 복제를 보다 자세히 제한하려면 선택 사항으로 시간 범위(24시간 형식 사용)를 입력할 수도 있습니다.
    2. 일간 업데이트의 경우 "모두"를 눌러 매일 복제하도록 선택하고 복제를 수행할 시간 범위(24시간 형식)를 입력합니다.
    3. 자정 전후로 이어진 시간 범위는 지정할 수 없습니다.

  5. "확인"을 눌러 새 값을 저장하고 "복제 계약" 대화 상자를 닫습니다.
  6. 새 일정이 즉시 적용되므로 해당 소비자에 대한 다음 복제 업데이트는 일정에 처음 부합될 때까지 지연됩니다.

데이터 압축

복제의 대역폭 사용량을 줄이려면 소비자를 업데이트할 때 데이터를 압축하여 보내도록 복제를 구성할 수 있습니다. 복제 메커니즘은 지원되는 Solaris 및 Linux 플랫폼에서만 사용할 수 있는 Zlib 압축 라이브러리를 이용합니다. 압축을 사용하려면 공급자와 소비자 모두 Solaris 또는 Linux 플랫폼에서 실행해야 합니다.

복제 압축을 구성하려면 마스터 서버에 있는 복제 계약 항목의 ds5ReplicaTransportCompressionLevel 속성을 설정해야 합니다. 이 속성은 다음 값 중 하나를 가집니다.

0 - 압축을 수행하지 않습니다. 이것은 ds5ReplicaTransportCompressionLevel 속성이 정의되어 있지 않을 때의 기본 동작입니다.

1 - Zlib 라이브러리의 기본 압축 수준을 사용합니다.

2 - Zlib 라이브러리의 최소 크기 압축 수준을 사용합니다.

3 - Zlib 라이브러리의 최대 속도 압축 수준을 사용합니다.

실제 테스트를 통해 WAN 환경에서 예상되는 복제 사용량에 가장 적합한 압축 수준을 선택해야 합니다. 압축 및 압축 해제를 수행하면 복제 속도가 저하되므로 네트워크 지연이 크지 않은 LAN상에서는 이 매개 변수를 설정하지 마십시오.

예를 들어, east.example.com에 있는 소비자에 복제 업데이트를 보낼 때 가장 빠른 압축을 사용하려면 아래의 ldapmodify 명령을 실행합니다.

ldapmodify -h host -p port -D "cn=Directory Manager" -w password
dn: cn=east.example.com:389,cn=replica,cn="suffixDN",
 cn=mapping tree,cn=config
changetype: modify
add: ds5ReplicaTransportCompressionLevel
ds5ReplicaTransportCompressionLevel: 3
^D

복제 토폴로지 수정

이 절에서는 복제 계약 편집 또는 제거, 복제본 수준 올리기, 내리기 또는 비활성화, 소비자에 대한 업데이트 강제, 변경 로그 관리 등 기존 복제 토폴로지를 관리하는 절차에 대해 설명합니다.

복제 계약 관리

마스터 접미사에 대한 복제 패널에서 계약의 인증 정보 변경, 특정 소비자에 대한 복제 중단 또는 토폴로지에서 소비자 제거 등 복제 계약을 관리할 수 있습니다.

복제 관리자 변경

복제 계약을 편집하여 소비자 서버에 바인드할 때 사용하는 복제 관리자 ID를 변경할 수 있습니다. 복제 중단을 방지하려면 복제 계약을 수정하기 전에 소비자에 새 복제 관리자 항목 또는 인증서 항목을 정의해야 합니다. 하지만 바인드 실패로 인해 복제가 중단된 경우 복제 메커니즘은 복제 복구 설정의 제한 내에서 오류 수정에 필요한 모든 업데이트를 자동으로 보냅니다("고급 소비자 구성" 참조).

소비자 인증에 사용되는 복제 관리자를 변경하려면 다음을 수행합니다.

  1. Directory Server 콘솔의 최상위 "구성" 탭에서 "데이터" 노드와 복제된 접미사 노드를 모두 확장한 다음 접미사 아래의 "복제" 노드를 선택합니다.
  2. 오른쪽 패널에서 수정할 복제 계약을 선택하고 "편집"을 누릅니다.
  3. "복제 계약" 대화 상자에서 "연결" 탭을 선택합니다.
  4. 상태 줄에 소비자 서버의 호스트 이름 및 포트가 표시됩니다.

  5. DN 및 암호 필드를 수정하여 다른 복제 관리자 항목의 DN 및 암호나 소비자 서버에 있는 인증서 항목의 DN을 지정합니다.
  6. 복제 계약에서 보안 포트를 통한 SSL을 사용하는 경우 "옵션" 버튼을 눌러 보안 인증 유형을 선택할 수도 있습니다. 암호를 사용하여 연결하면 공급자는 지정된 DN에 대해 암호화된 SSL 연결을 통한 단순 인증을 사용합니다. 인증서를 사용하여 연결하면 DN 필드에는 인증서 항목의 DN이 지정되며 암호를 입력할 필요가 없습니다.
  7. 기존 복제 계약을 비보안 인증에서 보안 인증으로, 또는 그 반대로 전환할 수는 없습니다. 다른 보안 설정으로 복제를 활성화하려면 새 복제 계약을 작성해야 합니다.

  8. "확인"을 눌러 변경 사항을 저장합니다.

복제 계약 복사

복제 계약 복사는 대규모 복제 토폴로지에서 공급자 복제본의 다수 소비자를 구성할 수 있는 간단한 방법입니다.

  1. Directory Server 콘솔의 최상위 "구성" 탭에서 "데이터" 노드와 복제된 접미사 노드를 모두 확장한 다음 접미사 아래의 "복제" 노드를 선택합니다.
  2. 복제 계약 목록에서 복사할 계약을 선택합니다. 소비자에 대한 보안 연결을 사용하는 새 계약을 작성하려면 보안 포트를 사용하는 기존 계약을 선택해야 합니다. 새로운 비보안 계약을 작성하려면 역시 비보안 계약을 선택해야 합니다.
  3. "편집"을 누른 다음 "복제 계약" 대화 상자의 탭을 탐색하여 계약 구성을 확인합니다. 이러한 탭의 구성에 대해서는 해당 절에서 설명합니다.

  4. 같은 복제 계약이 선택된 상태에서 "복사" 버튼을 누릅니다.
  5. 목록에서 새 소비자의 호스트 이름과 포트 번호를 선택하거나 "호스트 추가" 버튼을 눌러 다른 호스트와 포트를 사용합니다. 이 목록과 "호스트 추가" 대화 상자를 사용하면 복사되는 소비자 계약과 동일한 보안 유형의 소비자만 선택할 수 있습니다.
  6. 목록에서 호스트 이름을 선택하고 "확인"을 눌러 해당 소비자 서버에 대한 새 복제 계약을 작성합니다.
  7. 새 계약은 기존 계약의 모든 구성 정보를 복사하므로 같은 암호를 사용하여 두 서버에서 동일한 복제 관리자 항목을 정의해야 합니다. 예를 들어, 새 계약의 구성을 수정하여 복제 관리자 DN을 변경하려면 목록에서 해당 DN을 선택하고 "편집"을 누릅니다.

복제 계약 비활성화

복제 계약을 비활성화하면 마스터에서 지정된 소비자로 업데이트를 보내지 않습니다. 이 경우 해당 서버에 대한 복제가 중지되지만 모든 계약 설정은 그대로 유지됩니다. 나중에 계약을 다시 활성화하면 복제를 계속할 수 있습니다. 중단 후에 복제 메커니즘을 계속하는 방법은 아래의 "복제 계약 활성화를 참조하십시오.

복제 계약을 비활성화하려면 다음을 수행합니다.

  1. Directory Server 콘솔의 최상위 "구성" 탭에서 "데이터" 노드와 복제된 접미사 노드를 모두 확장한 다음 접미사 아래의 "복제" 노드를 선택합니다.
  2. 오른쪽 패널에서 비활성화할 복제 계약을 선택합니다.
  3. 계약 목록 아래의 상자에서 "작업 > 계약 비활성화"를 선택합니다.
  4. "예"를 눌러 복제 계약 비활성화를 확인합니다.

목록에서 이 계약에 대한 아이콘이 바뀌어 계약이 비활성화되었음을 표시합니다.

복제 계약 활성화

복제 계약을 활성화하면 지정된 소비자부터 복제가 계속됩니다. 하지만 복제 복구 설정에서 허용하는 기간보다 오랫동안 복제가 중단되었으며 다른 공급자가 소비자를 업데이트하지 않은 경우에는 소비자를 다시 초기화해야 합니다. 복제 복구 설정은 공급자 변경 로그의 최대 크기 및 수명과 소비자의 지연 제거로 구성됩니다("고급 소비자 구성" 참조).

중단 기간이 짧고 복제를 복구할 수 있으면 마스터는 계약이 다시 활성화될 때 자동으로 소비자를 업데이트합니다.

복제 계약을 활성화하려면 다음을 수행합니다.

  1. Directory Server 콘솔의 최상위 "구성" 탭에서 "데이터" 노드와 복제된 접미사 노드를 모두 확장한 다음 접미사 아래의 "복제" 노드를 선택합니다.
  2. 오른쪽 패널에서 활성화할 복제 계약을 선택합니다.
  3. 계약 목록 아래의 상자에서 "활성화" 버튼을 누릅니다.
  4. 필요한 경우 소비자 복제본을 다시 초기화합니다.

복제 계약 삭제

복제 계약을 삭제하면 해당 소비자에 대한 복제가 중지되고 계약에 대한 모든 구성 정보가 제거됩니다. 나중에 복제를 계속하려면 계약을 삭제하지 말고 "복제 계약 비활성화"에 설명된 것처럼 계약을 비활성화하십시오.

복제 계약을 삭제하려면 다음을 수행합니다.

  1. Directory Server 콘솔의 최상위 "구성" 탭에서 "데이터" 노드와 복제된 접미사 노드를 모두 확장한 다음 접미사 아래의 "복제" 노드를 선택합니다.
  2. 오른쪽 패널에서 삭제할 복제 계약을 선택합니다.
  3. 계약 목록 오른쪽에 있는 "삭제" 버튼을 누릅니다.
  4. "예"를 눌러 복제 계약 삭제를 확인합니다.

복제본 수준 올리기 또는 내리기

복제본 수준을 올리거나 내리면 복제 토폴로지에서 해당 역할이 변경됩니다. 전용 소비자의 수준을 올리면 허브가 되고 허브의 수준을 올리면 마스터가 됩니다. 이와 마찬가지로 마스터의 수준을 내리면 허브가 되고 허브의 수준을 내리면 전용 소비자가 됩니다. 하지만 마스터 수준을 직접 소비자로 내리거나 소비자 수준을 직접 마스터로 올릴 수는 없습니다.

다중 마스터 복제 메커니즘에서 수준 올리기 및 내리기를 사용하면 토폴로지의 유연성이 크게 증가합니다. 이전에 소비자 복제본으로 처리한 사이트의 규모가 커지면 증가한 로드를 처리하기 위해 여러 개의 복제본이 있는 허브가 필요합니다. 복제본 내용에 대한 다수의 수정이 로드에 포함되어 있으면 신속한 로컬 변경을 허용하는 마스터가 되어 다른 사이트의 다른 마스터로 변경 사항을 복제할 수 있습니다.

복제본 수준을 올리거나 내리려면

  1. Directory Server 콘솔의 최상위 "구성" 탭에서 "데이터" 노드와 복제된 접미사 노드를 모두 확장한 다음 접미사 아래의 "복제" 노드를 선택합니다.
  2. 오른쪽 패널에서 "변경 > 복제본 수준 올리기/내리기" 메뉴 항목을 선택합니다.
  3. 복제 마법사에서는 허용되는 새 역할만 선택하여 새 복제본 역할에 대한 구성 절차만 수행할 수 있습니다. 다음과 같은 결과에 주의해야 합니다.
    • 마스터 수준을 허브로 내리면 복제본은 읽기 전용이 되어 나머지 마스터로 참조를 보내도록 구성됩니다. 새 허브는 허브나 전용 소비자 등 해당 소비자를 모두 유지합니다.
    • 단일 마스터 수준을 허브로 내리면 마스터 복제본이 없는 토폴로지가 됩니다. 마법사는 새 마스터가 정의될 것이라는 가정 하에 이 작업을 허용합니다. 하지만 새 마스터를 다중 마스터로 추가하여 다른 마스터의 수준을 내리기 전에 초기화하는 것이 바람직합니다.
    • 허브 수준을 소비자로 내리면 모든 복제 계약이 삭제됩니다. 다른 허브나 마스터가 허브 소비자를 업데이트하지 않은 경우 해당 소비자는 더 이상 업데이트되지 않습니다. 나머지 허브나 마스터에서 새 계약을 작성하여 소비자를 업데이트해야 합니다.
    • 소비자 수준을 허브로 올리면 해당 변경 로그가 활성화되며 소비자와의 새 계약을 정의할 수 있습니다.
    • 허브 수준을 마스터로 올리면 복제본이 수정 요청을 허용하며 다른 마스터, 허브 또는 전용 소비자와의 새 계약을 정의할 수 있습니다.

복제본 비활성화

복제본을 비활성화하면 복제 토폴로지에서 이 복제본이 제거되어 마스터, 허브 또는 소비자 역할에 따라 업데이트되거나 업데이트를 보내지 않습니다. 공급자를 비활성화하면 모든 복제 계약이 삭제되며 다시 복제본을 활성화할 경우 새로 복제 계약을 작성해야 합니다.

복제본을 비활성화하려면 다음을 수행합니다.

  1. Directory Server 콘솔의 최상위 "구성" 탭에서 "데이터" 노드와 복제된 접미사 노드를 모두 확장한 다음 접미사 아래의 "복제" 노드를 선택합니다.
  2. 오른쪽 패널에서 "변경 > 복제 비활성화" 메뉴 항목을 선택합니다.
  3. 확인 대화 상자에서 "예"를 누릅니다.
  4. 선택 사항으로, 이 접미사에 대한 쓰기 권한 및 참조를 재설정합니다. 복제본을 비활성화해도 이 설정은 그대로 유지됩니다. 예를 들어, 비활성화된 소비자도 이전의 마스터 복제본으로 계속 수정 요청을 보냅니다.
  5. 쓰기 권한 및 참조를 수정하려면 "구성" 탭에서 이 접미사 노드를 선택하고 오른쪽 패널의 "설정" 탭에서 원하는 항목을 수정합니다. 자세한 내용은 "액세스 권한 및 참조 설정"을 참조하십시오.

변경 로그 이동

변경 로그는 지정된 공급자 복제본에 대한 모든 수정 사항의 내부 기록으로, 서버에서 다른 복제본을 수정할 때 사용됩니다. 변경 로그의 내용은 서버에서 자동으로 관리하며 서버를 다시 시작한 후에도 다중 마스터 업데이트를 통해 업데이트됩니다.

Directory Server의 이전 버전에서는 LDAP를 통해 변경 로그를 액세스할 수 있었지만 지금은 서버에서 내부용으로만 사용됩니다. 변경 로그를 읽어야 하는 응용 프로그램이 있으면 이전 버전과의 호환성을 위해 레트로 변경 로그 플러그 인을 사용합니다. 자세한 내용은 "레트로 변경 로그 플러그 인 사용"을 참조하십시오.

관리자는 변경 로그가 저장된 디스크가 가득찬 경우와 같이 파일을 다른 위치로 이동할 필요가 있을 때만 변경 로그를 수정해야 합니다.



주의

변경 로그를 비활성화하거나 새 위치로 이동한 경우에는 다시 초기화해야 합니다. 두 경우 모두, 서버에 있는 복제본의 모든 소비자를 다시 초기화해야 합니다.



운영 체제의 rename 또는 mv 명령이 아닌 Directory Server 콘솔을 사용하여 변경 로그를 이동해야 합니다.

  1. Directory Server 콘솔의 최상위 "구성" 탭에서 "데이터" 노드를 선택한 다음 오른쪽 패널에서 "복제" 탭을 선택합니다.
  2. 텍스트 필드에 새 위치를 입력합니다. 이 위치는 지금부터 변경 로그를 저장할 새 경로와 디렉토리 이름입니다. 예를 들어 기본 위치인 ServerRoot/slapd-serverID/changelogdb의 변경 로그를 ServerRoot/slapd-serverID/newchangelog로 이동할 수 있습니다.
  3. 이전 위치의 기존 변경 로그는 삭제되며 새 위치에 새 변경 로그가 유지됩니다.

  4. "복제" 탭에서 "저장"을 누릅니다.
  5. Directory Server를 다시 시작합니다.
  6. "복제본 초기화"에 설명된 것처럼 소비자를 다시 초기화합니다.

복제본을 동기화 상태로 유지

일반적인 유지관리를 위해 복제에 사용된 디렉토리 서버를 중지한 경우 서버가 다시 온라인 상태가 될 때 즉시 복제를 통해 업데이트되도록 해야 합니다. 다중 마스터 환경의 마스터인 경우 다중 마스터 집합의 다른 마스터가 디렉토리 정보를 업데이트해야 합니다. 유지관리를 위해 오프라인 상태로 설정했던 허브 복제본이나 전용 소비자가 다시 온라인 상태가 되면 마스터 복제본이 이를 업데이트해야 합니다.

이 절에서는 복제 재시도 알고리즘 및 다음 재시도를 기다리지 않고 복제 업데이트를 수행하도록 강제하는 방법에 대해 설명합니다.



주

이 절에 설명된 절차는 복제가 이미 설정되어 있으며 소비자를 초기화한 경우에만 사용할 수 있습니다.



복제 재시도 알고리즘

공급자는 소비자를 성공적으로 복제하지 못한 경우 증분 시간 간격에 따라 정기적으로 복제를 다시 시도합니다. 재시도 패턴은 20, 40, 80, 160초의 순서로 이루어져 있으며 이후에는 160초마다 재시도를 수행합니다.

항상 공급자 복제본과 소비자 복제본의 동기화를 유지하도록 복제 계약을 구성한 경우에도 5분 이상 오프라인 상태였던 복제본을 즉시 업데이트하기는 어렵습니다.

서버가 온라인 상태가 될 때 디렉토리 정보를 즉시 동기화하려면 Directory Server 콘솔 또는 사용자 정의 스크립트를 사용할 수 있습니다.

콘솔에서 복제 업데이트 강제

소비자 또는 다중 마스터 복제 구성의 마스터가 일정 기간 후에 다시 온라인 상태가 될 때 즉시 복제 업데이트를 보내도록 하려면 최신 버전의 디렉토리 데이터가 포함된 공급자에서 다음 단계를 수행합니다.

  1. Directory Server 콘솔의 최상위 "구성" 탭에서 "데이터" 노드와 마스터 복제본의 접미사 노드를 모두 확장한 다음 접미사 아래의 "복제" 노드를 선택합니다.
  2. 오른쪽 패널에 복제본 상태 정보가 표시됩니다.

  3. 목록에서 업데이트할 소비자에 해당하는 복제 계약을 선택한 다음 "작업 > 지금 업데이트 보내기"를 누릅니다.
  4. 이렇게 하면 업데이트할 정보가 포함된 복제본에 대한 복제가 시작됩니다.

명령줄에서 복제 업데이트 강제

업데이트할 소비자에서 공급자에게 즉시 복제 업데이트를 보내도록 요청하는 스크립트를 실행합니다. 이 스크립트는 코드 예제 8-1에 나와 있습니다.

이 예제를 복사하여 replicate_now.sh와 같은 의미 있는 이름을 지정합니다. 코드 예제 8-1에 사용된 변수에는 실제 값을 입력해야 합니다.



주

이 스크립트는 오프라인 상태였던 서버가 다시 온라인 상태가 되면 즉시 자동으로 실행되도록 구성할 수 없기 때문에 관리자가 스크립트를 실행해야 합니다.




#!/bin/sh
SUP_HOST=supplier_hostname
SUP_PORT=supplier_portnumber
SUP_MGRDN=supplier_directoryManager
SUP_MGRPW=supplier_directoryManager_passwd
MY_HOST=consumer_hostname
MY_PORT=consumer_portnumber
ldapsearch -1 -h ${SUP_HOST} -p ${SUP_PORT} -D "${SUP_MGRDN}" \
-w ${SUP_MGRPW} -b "cn=mapping tree, cn=config" \
"(&(objectclass=nsds5replicationagreement) \
(nsDS5ReplicaHost=${MY_HOST})(nsDS5ReplicaPort=${MY_PORT}))" \
dn nsds5ReplicaUpdateSchedule > /tmp/$$
cat /tmp/$$ |
awk '
BEGIN { s = 0 }
/^dn: / { print $0;
print "changetype: modify";
print "replace: nsds5ReplicaUpdateSchedule";
print "nsds5ReplicaUpdateSchedule: 0000-2359 0123456";
print "-";
print "";
print $0;
print "changetype: modify";
print "replace: nsds5ReplicaUpdateSchedule";
}
/^nsds5ReplicaUpdateSchedule: / { s = 1; print $0; }
/^$/ {
if ( $s == 1 )
{ print "-" ; print ""; }
else
{ print "nsds5ReplicaUpdateSchedule: 0000-2359 0123456";
print "-" ; print ""; };
s = 0; }
' > /tmp/ldif.$$
echo "Ldif is in /tmp/ldif.$$"
echo
ldapmodify -c -h ${SUP_HOST} -p ${SUP_PORT} -D "${SUP_MGRDN}" \
-w ${SUP_MGRPW} -f /tmp/ldif.$$

">

코드 예제 8-1    Replicate_Now 스크립트 예제


#!/bin/sh
SUP_HOST=supplier_hostname
SUP_PORT=supplier_portnumber
SUP_MGRDN=supplier_directoryManager
SUP_MGRPW=supplier_directoryManager_passwd
MY_HOST=consumer_hostname
MY_PORT=consumer_portnumber
ldapsearch -1 -h ${SUP_HOST} -p ${SUP_PORT} -D "${SUP_MGRDN}" \
-w ${SUP_MGRPW} -b "cn=mapping tree, cn=config" \
"(&(objectclass=nsds5replicationagreement) \
(nsDS5ReplicaHost=${MY_HOST})(nsDS5ReplicaPort=${MY_PORT}))" \
dn nsds5ReplicaUpdateSchedule > /tmp/$$
cat /tmp/$$ |
awk '
BEGIN { s = 0 }
/^dn: / { print $0;
print "changetype: modify";
print "replace: nsds5ReplicaUpdateSchedule";
print "nsds5ReplicaUpdateSchedule: 0000-2359 0123456";
print "-";
print "";
print $0;
print "changetype: modify";
print "replace: nsds5ReplicaUpdateSchedule";
}
/^nsds5ReplicaUpdateSchedule: / { s = 1; print $0; }
/^$/ {
if ( $s == 1 )
{ print "-" ; print ""; }
else
{ print "nsds5ReplicaUpdateSchedule: 0000-2359 0123456";
print "-" ; print ""; };
s = 0; }
' > /tmp/ldif.$$
echo "Ldif is in /tmp/ldif.$$"
echo
ldapmodify -c -h ${SUP_HOST} -p ${SUP_PORT} -D "${SUP_MGRDN}" \
-w ${SUP_MGRPW} -f /tmp/ldif.$$

이 스크립트를 사용하려면 변수를 복제 환경의 실제 값으로 대체해야 합니다.

표 8-1    Replicate_Now 변수

변수

정의

supplier_hostname

현재 소비자와의 복제 계약 정보를 얻기 위해 연결할 공급자 서버의 호스트 이름

supplier_portnumber

공급자에서 사용 중인 LDAP 포트

supplier_directoryManager

공급자에서 사용된 권한 있는 디렉토리 관리자의 DN 또는 cn=config에 쓰기 권한이 있는 admin 사용자의 DN

supplier_directoryManager_passwd

권한 있는 디렉토리 관리자 암호 또는 공급자의 admin 사용자 암호

consumer_hostname

현재 소비자의 호스트 이름

consumer_portnumber

소비자에서 사용 중인 LDAP 포트

SSL 연결을 통해 업데이트 작업을 수행하려면 적절한 매개 변수와 값을 사용하여 스크립트의 ldapmodify 명령을 수정해야 합니다. 자세한 내용은 "LDAP 클라이언트에서 보안을 사용하도록 구성"을 참조하십시오.

이전 릴리스를 사용한 복제

이 절에서는 Sun ONE Directory Server의 이전 릴리스를 사용한 복제 구성 방법에 대해 설명합니다.

Sun ONE Directory Server 5.1과 5.2는 다음과 같은 점을 제외하고 모든 복제 구성에 대해 완전히 호환됩니다.

  • Directory Server 5.2 마스터와 5.1 소비자 복제본 간의 단편 복제는 불가능하며 구성해서는 안 됩니다.
  • 5.2 마스터와 5.1 소비자 간의 계약을 구성하기 전에 cn=config의 nsslapd-schema-repl-useronly를 on으로 설정해야 합니다. 그렇지 않으면 5.2의 스키마가 5.1로 복제될 때 충돌이 발생합니다. 이 설정을 사용하면 99user.ldif 파일에 저장된 사용자 정의 스키마 요소만 복제됩니다. "스키마 정의 복제"를 참조하십시오.
  • Directory Server 5.2의 스키마 파일인 11rfc2307.ldif는 RFC 2307에 따라 변경되었으므로 "Directory Server 5.1 스키마 업데이트"에 설명된 것처럼 5.1 서버의 해당 파일을 업데이트해야 합니다.
  • 허브로 수준이 낮춰진 5.2 마스터도 5.1 소비자의 참조 목록에 표시되지만 수준을 낮추는 내부 메커니즘 때문에 수준이 낮춰진 복제본의 포트 번호는 0(제로)이 됩니다. 이 참조 URL은 사용할 수 없으며 대부분의 클라이언트는 이 참조를 따를 수 없을 경우 자동으로 다른 마스터에 대한 참조를 시도합니다. 그러나 이러한 5.1 복제본에 액세스하는 클라이언트에서 참조에 대한 홉 수 제한을 늘려야 할 수도 있습니다. 5.2 소비자 복제본은 사용할 수 없는 참조 URL을 표시하거나 수준이 낮춰진 마스터로 반환하지 않습니다.

Sun ONE Directory Server 5.2는 다음과 같은 조건에 부합될 경우 Directory Server의 4.x 릴리스와의 복제 시나리오에서 호출할 수 있습니다.

  • Directory Server 5.2가 마스터로 구성되어 있지만 소비자로서만 Directory Server 4.x 공급자에 복제됩니다.
  • 한 개의 소비자 복제본이 레거시 4.x 공급자와 5.2 공급자 모두의 소비자가 될 수는 없습니다. 하지만 5.2 서버에는 각각 레거시 Directory Server에서 공급하는 복제본과 5.2 Directory Server에서 공급하는 복제본 등 여러 개의 복제본이 포함될 수 있습니다.
  • 레거시 4.x 공급자의 소비자로 구성된 Directory Server 5.2 복제본은 토폴로지에서 이 접미사의 허브 복제본 역할을 할 수 없습니다.

Directory Server 5.2를 레거시 Directory Server의 소비자로 사용할 때의 가장 큰 이점은 복제된 환경의 이전이 용이하다는 것입니다. 복제된 환경의 이전 단계에 대한 자세한 내용은 Sun ONE Directory Server 설치 및 조정 설명서의 Chapter 2, "Upgrading From Previous Versions"를 참조하십시오.

Directory Server 5.2를 Directory Server 4.x의
소비자로 구성

Directory Server 5.2를 Directory Server 4.x 릴리스의 소비자로 사용하려면 다음과 같이 구성해야 합니다.

  1. "마스터 복제본 활성화"에 설명된 것처럼 복제본을 마스터 복제본으로 활성화합니다. 이 복제본은 4.x 공급자의 소비자가 되지만 마스터 복제본으로 구성해야 합니다.
  2. Directory Server 콘솔의 최상위 "구성" 탭에서 "데이터" 노드와 복제된 접미사 노드를 모두 확장한 다음 접미사 아래의 "복제" 노드를 선택합니다.
  3. 오른쪽 패널에서 이 복제본에 대해 "변경 > 4.x 호환성 활성화"를 선택합니다. 또는 "개체" 메뉴에서 "4.x 호환성 활성화"를 선택합니다.
  4. "4.x 호환성 활성화" 창에서 레거시 공급자 서버가 바인드할 때 사용할 바인드 DN 및 암호를 지정합니다. 기본 복제 관리자를 비롯한 관리자 항목을 바인드 DN에 사용할 수도 있습니다. 바인드 DN에 대한 자세한 내용은 "복제 관리자 선택"을 참조하십시오.
  5. 공급자가 이 서버의 보안 포트를 복제 업데이트에 사용하는 경우 서버 인증서의 DN을 입력하여 보안 인증을 사용할 수도 있습니다.

  6. "확인"을 누릅니다. 이제 소비자 복제본에서 레거시 공급자의 업데이트를 받을 수 있습니다.
  7. 4.x 마스터에서 복제할 내용에 사용된 모든 속성 및 개체 클래스가 5.2 복제본 서버의 스키마에 정의되어 있는지 확인합니다.
  8. 4.x 마스터에서 작성된 LDIF 복제본 파일을 가져와서 5.2 복제본을 초기화합니다. 이 파일의 첫 항목에는 4.x 복제 메커니즘에 필요한 copiedfrom 속성이 포함되어 있습니다.

서버에서 4.x 호환성을 활성화하면 기본적으로 설치된 레거시 복제 플러그 인이 구성됩니다. 이 플러그 인은 레거시 공급자의 업데이트를 처리하고 복제된 접미사 내용에 대한 업데이트를 수행합니다.



주

4.x 호환성을 활성화하면 이 복제본은 클라이언트의 모든 수정 요청에 대해 참조를 반환합니다. Directory Server 5.2는 마스터 복제본으로 구성되어 있지만 이 접미사에 대한 수정 요청을 수행하지 않고 4.x 공급자 서버에 대한 참조를 반환합니다.



레거시 복제 설정을 완료하려면 이제 레거시 공급자가 Directory Server 5.2로 복제되도록 구성해야 합니다. 4.x Directory Server에서 복제 계약을 구성하는 방법은 레거시 Directory Server와 함께 제공된 설명서를 참조하십시오.

Directory Server 5.1 스키마 업데이트

Directory Server 5.2의 스키마 파일인 11rfc2307.ldif는 RFC 2307
(http://www.ietf.org/rfc/rfc2307.txt)에 따라 변경되었습니다. 5.2 서버와 5.1 서버 간의 복제를 구성 또는 활성화하려면 먼저 5.1 서버에서 스키마를 업데이트해야 합니다. 스키마 파일은 두 서버 버전에서 모두 ServerRoot/slapd-serverID/config/schema/에 위치해 있습니다.

  1. 5.2 서버의 11rfc2307.ldif 파일을 5.1 서버에 복사합니다.
  2. 5.1 서버의 Solaris 패키지가 설치되어 있는 경우 이전의 10rfc2307.ldif 파일도 삭제해야 합니다.
  3. 기타 플랫폼에 5.1 서버의 zip 파일이 설치되어 있는 경우에는 기존 11rfc2307.ldif 파일을 덮어씁니다.
  4. 다음과 같은 스키마 파일도 이 변경에 의해 영향을 받으므로 5.2 서버에서 복사하여 5.1 서버의 기존 파일을 덮어써야 합니다.
    • 20subscriber.ldif
    • 30ns-common.ldif
    • 50ns-admin.ldif
    • 50ns-certificate.ldif
    • 50ns-directory.ldif
    • 50ns-legacy.ldif
    • 50ns-mail.ldif
    • 50ns-mlm.ldif
    • 50ns-msg.ldif
    • 50ns-netshare.ldif

  5. 5.1 서버를 다시 시작하여 복제 구성 및 복제본 초기화를 계속합니다. 다른 스키마 요소와 동기화될 때 서버 간에 복제되는 스키마 속성도 있지만 이것은 복제 메커니즘의 정상적인 동작입니다.
  6. 이전 버전의 스키마를 사용하는 모든 응용 프로그램을 업데이트해야 할 수도 있습니다. 새로운 11rfc2307.ldif 파일에서는 다음과 같은 사항이 수정되었습니다.
    • automount 속성과 automountInformation 속성이 제거되었습니다.
    • ipHost 개체 클래스의 허용되는 속성 목록에 o $ ou $ owner $ seeAlso $ serialNumer가 포함되지 않습니다.
    • ieee802Device 개체 클래스의 필수 속성 목록에 cn이 포함되지 않습니다.
    • ieee802Device 개체 클래스의 허용되는 속성 목록에 description $ l $ o $ ou $ owner $ seeAlso $ serialNumber가 포함되지 않습니다.
    • bootableDevice 개체 클래스의 필수 속성 목록에 cn이 포함되지 않습니다.
    • bootableDevice 개체 클래스의 허용되는 속성 목록에 description $ l $ o $ ou $ owner $ seeAlso $ serialNumber가 포함되지 않습니다.
    • nisMap 개체 클래스의 OID가 1.3.6.1.1.1.2.9로 변경되었습니다.

레트로 변경 로그 플러그 인 사용

Directory Server 5.2 마스터 복제본에서 4.x 스타일의 변경 로그를 유지하도록 하려면 레트로 변경 로그 플러그 인을 사용할 수 있습니다. Sun ONE Meta Directory와 같이 Directory Server 4.x 변경 로그 형식을 사용하여 변경 로그에서 정보를 읽는 응용 프로그램에는 이 플러그 인이 필요합니다.

레트로 변경 로그 플러그 인은 레거시 4.x 소비자 복제본에 대한 공급자로서의 Directory Server 5.2를 지원하지 않습니다. "이전 릴리스를 사용한 복제"에 설명된 것처럼 4.x 공급자의 Directory Server 5.2 소비자만 지원됩니다. 레트로 변경 로그 플러그 인은 복제 프로토콜과 별개로 작동하므로 복제 토폴로지에 영향을 주지 않으며 단일 마스터 복제 시나리오의 모든 서버에서 활성화할 수 있습니다. 다중 마스터 환경에서는 제대로 작동하지 않으므로 활성화하지 마십시오.

레트로 변경 로그는 서버의 5.2 변경 로그와 별도로 유지관리되며 특수 접미사인 cn=changelog에 있는 별도의 데이터베이스에 저장됩니다. 레트로 변경 로그는 단일 수준의 항목들로 구성됩니다. 변경 로그의 각 항목에는 changeLogEntry 개체 클래스가 있으며 아래 표에 열거된 속성을 포함할 수 있습니다.

표 8-2    레트로 변경 로그 항목의 속성 

속성

정의

changeNumber

한 개의 값을 갖는 이 속성은 항상 포함되며 각 변경을 고유하게 식별하는 정수 값을 갖습니다. 이 숫자는 변경 수행 순서와 관련이 있습니다. 숫자가 클수록 나중에 변경된 것입니다.

targetDN

이 속성에는 LDAP 작업에 의해 영향을 받는 항목의 DN이 포함됩니다. modrdn 작업의 경우 targetDN 속성에는 수정 또는 이동되기 전의 항목 DN이 포함됩니다.

changeTime

이 속성은 변경 작업이 수행된 시간을 지정합니다.

changeType

LDAP 작업 유형을 지정합니다. 이 속성은 add, delete, modify 또는 modrdn 값 중 하나를 가질 수 있습니다.

changes

추가 및 수정 작업의 경우 항목 변경 사항이 LDIF 형식으로 포함됩니다.

newRDN

modrdn 작업의 경우 항목의 새 RDN을 지정합니다.

deleteOldRdn

modrdn 작업의 경우 이전의 RDN이 삭제되었는지 여부를 지정합니다.

newSuperior

modrdn 작업의 경우 항목의 newSuperior 속성을 지정합니다.

레트로 변경 로그 플러그 인 활성화

레트로 변경 로그 플러그 인의 구성 정보는 dse.ldif의 cn=Retro Changelog Plugin,cn=plugins,cn=config 항목에 저장됩니다.

Directory Server 콘솔에서 레트로 변경 로그 플러그 인을 활성화하려면 다음을 수행합니다.

  1. Directory Server 콘솔의 최상위 "구성" 탭에서 "플러그 인" 노드를 확장한 다음 아래로 스크롤하여 "레트로 변경 플러그 인"을 선택합니다.
  2. 오른쪽 패널에서 "플러그 인 활성화" 확인란을 선택하고 "저장"을 누릅니다. 플러그 인을 비활성화하려면 이 확인란을 선택 취소합니다.
  3. 플러그 인을 활성화 또는 비활성화한 후에는 디렉토리 서버를 다시 시작해야 합니다.

명령줄에서 레트로 변경 로그 플러그 인을 활성화하려면 다음을 수행합니다.

  1. 아래 명령을 실행하여 레트로 변경 로그 플러그 인의 구성 항목을 수정합니다.
  2. ldapmodify -h host -p port -D "cn=Directory Manager" -w password
    dn: cn=Retro Changelog Plugin,cn=plugins,cn=config
    changetype: modify
    replace: nsslapd-pluginenabled
    nsslapd-pluginenabled: on

  3. 서버를 다시 시작합니다. 서버를 다시 시작하는 방법은 "Directory Server 시작 및 중지"를 참조하십시오.

레트로 변경 로그 지우기

변경 로그 항목은 지정된 기간 후에 자동으로 제거할 수 있습니다. 변경 로그의 항목이 자동으로 삭제되기까지의 기간을 구성하려면 cn=Retro Changelog Plugin, cn=plugins, cn=config 항목의 nsslapd-changelogmaxage 구성 속성을 설정해야 합니다. 이 속성은 다음과 같이 명령줄에서만 설정할 수 있습니다.

ldapmodify -h host -p port -D "cn=Directory Manager" -p password
dn: cn=Retro Changelog Plugin,cn=plugins,cn=config
changetype: modify
replace: nsslapd-changelogmaxage
nsslapd-changelogmaxage:
IntegerTimeunit

nsslapd-changelogmaxage 속성은 한 개의 값을 가지며 다음과 같은 형식으로 지정됩니다.

nsslapd-changelogmaxage: IntegerTimeunit

여기서 Integer는 숫자를 나타내고 TimeUnit는 s(초), m(분), h(시간), d(일) 또는 w(주) 중 하나로 지정될 수 있습니다. Integer 변수와 Timeunit 변수 사이에는 공백을 사용할 수 없습니다. 예를 들면 다음과 같습니다.

nsslapd-changelogmaxage: 2d

레트로 변경 로그는 변경 로그에 대한 다음 작업을 수행할 때 지워집니다.

레트로 변경 로그 액세스

변경 로그는 검색 작업을 지원하며, 다음과 같은 형식의 필터를 사용한 검색에 최적화되어 있습니다.

(&(changeNumber>=X)(changeNumber<=Y))

변경 로그 크기를 줄이기 위해 항목을 삭제할 수는 있지만 일반적으로 레트로 변경 로그 항목에 대한 추가 또는 수정 작업은 허용되지 않습니다. 기본 액세스 제어 정책을 수정하는 경우에만 레트로 변경 로그에 대한 수정 작업을 수행해야 합니다.

레트로 변경 로그가 작성되면 기본적으로 다음과 같은 액세스 제어 규칙이 적용됩니다.

  • 레트로 변경 로그 상위 항목인 cn=changelog에 대해 인증된 모든 사용자(userdn=all인 익명 액세스가 아닌 userdn=anyone)에게 읽기, 검색 및 비교 권한이 부여됩니다.
  • 디렉토리 관리자에게 암묵적으로 부여되는 경우를 제외하고 쓰기 및 삭제 액세스 권한은 부여되지 않습니다.

변경 로그 항목에는 암호와 같은 중요한 정보의 수정 사항이 포함될 수 있으므로 익명 사용자에게 읽기 액세스 권한을 부여해서는 안 됩니다. 인증된 사용자도 레트로 변경 로그 내용을 볼 수 없게 하려면 이 로그 내용에 대한 액세스를 추가로 제한할 수 있습니다.

레트로 변경 로그에 적용되는 기본 액세스 제어 정책을 수정하려면 cn=changelog 항목의 aci 속성을 수정해야 합니다. aci 속성 설정에 대한 자세한 내용은 6장 "액세스 제어 관리를 참조하십시오.

복제 상태 모니터

새로운 명령줄 도구와 Directory Server 콘솔을 사용하여 복제 상태를 모니터할 수 있습니다.

명령줄 도구

다음 세 개의 명령줄 도구를 사용하여 복제 배포를 모니터할 수 있습니다.

  • repldisc - 복제 배포 시 알려진 모든 서버를 "찾아서" 테이블을 구성합니다.
  • insync - 공급자와 하나 이상의 소비자 복제본 간의 동기화 상태를 나타냅니다.
  • entrycmp - 두 개 이상의 복제본에 있는 동일 항목을 비교합니다.

위의 세 도구는 아래 디렉토리에 위치해 있습니다.

ServerRoot/shared/bin

각 도구의 전체 명령줄 구문과 사용 예에 대해서는 Sun ONE Directory Server Reference Manual의 Chapter 1, "Replication Monitoring Tools"에서 설명합니다.

복제 상태 탭

Directory Server 콘솔에서 복제 상태 요약을 보려면

  1. Directory Server 콘솔의 최상위 "상태" 탭에서 "복제" 노드를 선택합니다.
  2. 오른쪽 패널에는 이 서버에 구성된 각 복제 계약에 대한 정보가 포함된 테이블이 표시됩니다.

  3. 복제 상태를 모니터하려면 "계속 갱신" 확인란을 선택합니다. 예를 들어, 언제 복제본의 초기화가 끝났는지 확인할 수 있습니다.
  4. 아직 소비자에 복제되지 않은 마스터의 최종 수정 사항을 확인하려면 "보류 중인 변경 번호" 버튼을 누릅니다. 이 작업에 오랜 시간이 소요될 수 있다는 경고와 확인하라는 메시지가 표시됩니다. 보류 중인 변경 번호를 확인하려면 소비자의 업데이트 레코드를 다운로드하여 이를 마스터의 변경 로그와 비교해야 합니다. 로그가 클 경우 이 작업에 많은 시간과 서버 자원이 소요될 수 있습니다.
  5. 열 머리글을 클릭하고 크기를 조정하여 테이블 레이아웃을 수정할 수 있습니다. "보기 옵션" 버튼을 누르고 표시하려면 열만 선택하여 테이블 내용을 수정할 수도 있습니다. 아래의 표 8-3에는 서버의 각 계약에 대해 테이블에 표시할 수 있는 복제 매개 변수가 나와 있습니다.

표 8-3    Directory Server 콘솔 상태 탭의 복제 매개 변수 

테이블 머리글

설명

접미사

복제되는 접미사 또는 하위 접미사의 이름을 지정합니다.

원격 복제본

소비자 서버의 호스트 이름 및 포트가 포함됩니다.

설명

이 복제 계약에서 제공하는 설명 문자열이 포함됩니다.

상태

계약이 비활성화되었는지, 소비자를 초기화하는 중인지 또는 증분 업데이트를 통해 정상적으로 복제하는지 여부를 나타냅니다.

요약

최신 이벤트(초기화 또는 업데이트의 시작이나 끝)와 마지막으로 수신한 메시지가 포함됩니다.

전송된 업데이트

복제를 활성화하거나 서버를 다시 시작한 후 소비자에게 전송된 개별 업데이트의 총 수를 누적합니다.

시작된 마지막 업데이트

최근 복제 업데이트가 시작된 시기를 나타냅니다.

종료된 마지막 업데이트

최근 복제 업데이트가 종료된 시기를 나타냅니다.

마지막 업데이트 메시지

최근 복제 업데이트의 상태를 제공합니다.

마지막 초기화 메시지

소비자에 대한 마지막 초기화 상태를 제공합니다.

시작된 마지막 초기화

소비자 복제본에 대한 최근 초기화가 시작된 시기를 나타냅니다.

종료된 마지막 초기화

소비자 복제본에 대한 최근 초기화가 종료된 시기를 나타냅니다.

일반적인 복제 충돌 해결

다중 마스터 복제 시에는 일관성이 낮은 복제 모델이 사용되므로 여러 서버에서 동일한 항목을 동시에 수정할 수 있습니다. 따라서 두 서버 간에 업데이트를 전송하는 경우 충돌하는 변경 사항을 해결해야 합니다. 대체로 이러한 충돌은 각 서버의 변경에 연결된 타임스탬프에 따라 자동으로 해결되며 최근 변경 사항이 우선합니다.

하지만 변경 충돌을 해결하기 위해 수동 작업이 필요한 경우도 있습니다. 복제 프로세스에서 자동으로 해결할 수 없는 변경 충돌이 있는 항목에는 작동 가능 속성인 nsds5ReplConflict가 충돌 표식으로 포함되어 있습니다.

충돌 문제가 있는 항목을 찾으려면 이 속성이 포함된 항목을 정기적으로 검색합니다. 예를 들어 아래의 ldapsearch 명령을 사용할 수 있습니다.

% ldapsearch -h host -p port -D "cn=Directory Manager" -w password \
-b "dc=example,dc=com" "(nsds5ReplConflict=*)"

nsds5ReplConflict 속성은 기본적으로 색인화됩니다.

이름 지정 충돌 해결

다른 서버에서 동일한 DN을 가진 두 항목이 작성되면 복제 충돌 해결 메커니즘에서 두 번째로 작성된 항목의 이름을 자동으로 바꿉니다. 각 디렉토리 항목에는 작동 가능 속성인 nsuniqueid에 지정된 고유 식별자가 포함되어 있으며, 이름 지정 충돌이 발생하면 이 고유 ID가 비고유 DN에 추가됩니다.

첫 번째 서버가 변경 사항을 두 번째 서버로 복제하기 전에 두 번째 서버가 작성되면 두 서버에서 동일한 DN을 가진 두 항목을 작성할 수 있습니다. 예를 들어, uid=bjensen,
ou=People,dc=example,dc=com
항목을 두 마스터에서 동시에 작성하면 복제 후에 다음 두 항목이 두 서버에 모두 포함됩니다.

  • uid=bjensen,ou=People,dc=example,dc=com
  • nsuniqueid=66446001-1dd211b2+uid=bjensen,dc=example,dc=com

두 번째 항목은 고유 DN을 갖도록 이름을 바꿔야 합니다. 충돌하는 항목을 삭제하고 충돌하지 않는 이름을 사용하여 항목을 다시 추가할 수도 있지만 항목을 처음 작성된 상태대로 유지하는 가장 확실한 방법은 이름을 바꾸는 것입니다. 이름 변경 절차는 이름 지정 속성이 한 개 값을 갖는지 또는 여러 값을 갖는지에 따라 달라집니다. 각 절차에 대해서는 아래에서 설명합니다.

여러 값을 갖는 이름 지정 속성이 있는 항목의 이름 변경

여러 값을 갖는 이름 지정 속성이 있는 충돌 항목의 이름을 바꾸려면

  1. 이름 지정 속성에 새 값을 사용하여 항목의 이름을 바꾸고 이전 RDN을 유지합니다. 예를 들어 아래 명령을 실행합니다.
  2. ldapmodify -h host -p port -D "cn=Directory Manager" -w password

    dn: nsuniqueid=66446001-1dd211b2+uid=bjensen,dc=example,dc=com
    changetype: modrdn
    newrdn: uid=
    NewValue
    deleteoldrdn: 0
    ^D

  3. 이름 지정 속성의 이전 RDN 값과 충돌 표식 속성을 제거합니다. 예를 들어 아래 명령을 실행합니다.
  4. ldapmodify -h host -p port -D "cn=Directory Manager" -w password

    dn: uid=NewValue,dc=example,dc=com
    changetype: modify
    delete: uid
    uid: bjensen
    -
    delete: nsds5ReplConflict
    ^D



주

고유 식별자 속성인 nsuniqueid는 삭제할 수 없으므로 RDN을 수정하려면 두 단계를 수행해야 합니다.



한 개의 값을 갖는 이름 지정 속성이 있는 항목의 이름 변경

이름 지정 속성이 한 개의 값을 가지면 항목의 이름을 단순히 동일한 속성의 다른 값으로 바꿀 수 없으므로 일시적으로 다음을 수행해야 합니다.

  1. 다른 이름 지정 속성을 사용하여 항목의 이름을 바꾸고 이전 RDN을 유지합니다. 예를 들어 아래 명령을 실행합니다.
  2. ldapmodify -h host -p port -D "cn=Directory Manager" -w password

    dn: nsuniqueid=66446001-1dd211b2+dc=HR,dc=example,dc=com
    changetype: modrdn
    newrdn: o=
    TempName
    deleteoldrdn: 0
    ^D

  3. 이름 지정 속성의 이전 RDN 값과 충돌 표식 속성을 제거합니다. 예를 들어 아래 명령을 실행합니다.
  4. ldapmodify -h host -p port -D "cn=Directory Manager" -w password

    dn: o=TempName,dc=example,dc=com
    changetype: modify
    replace: dc
    dc:
    uniqueValue
    -
    delete: nsds5ReplConflict
    ^D



주

고유 식별자 속성인 nsuniqueid는 삭제할 수 없으므로 RDN을 수정하려면 두 단계를 수행해야 합니다.



  1. 해당 이름 지정 속성에 충돌하지 않는 새 값을 사용하여 항목의 이름을 바꿉니다. 예를 들어 아래 명령을 실행합니다.
  2. ldapmodify -h host -p port -D "cn=Directory Manager" -w password

    dn: o=TempName,dc=example,dc=com
    changetype: modrdn
    newrdn: dc=
    uniqueValue
    deleteoldrdn: 1
    ^D

deleteoldrdn 속성 값을 1로 설정하여 임시 속성 값 쌍인 o=TempName을 삭제합니다. 이 속성을 유지하려면 deleteoldrdn 속성 값을 0으로 설정할 수 있습니다.

고아 항목 충돌 해결

삭제 작업을 복제할 때 소비자 서버에서 삭제할 항목에 자식 항목이 있음을 발견하면 충돌 해결 프로시저는 연결 항목을 작성하여 디렉토리에 고아 항목이 발생하지 않도록 방지합니다.

이와 마찬가지로 추가 작업을 복제할 때 소비자 서버에서 부모 항목을 찾을 수 없으면 충돌 해결 프로시저는 새 항목이 고아 항목이 되지 않도록 부모가 될 연결 항목을 작성합니다.

연결 항목은 glue 개체 클래스와 extensibleObject 개체 클래스를 포함하는 임시 항목으로, 다음과 같은 여러 가지 방법으로 작성할 수 있습니다.

  • 충돌 해결 프로시저에서 일치하는 고유 식별자를 가진 삭제된 항목을 발견한 경우에는 해당 항목에 glue 개체 클래스와 nsds5ReplConflict 속성이 추가되어 연결 항목을 작성합니다.
  • 이 경우 정상적인 항목으로 유지하기 위해 연결 항목을 수정하여 glue 개체 클래스와 nsds5ReplConflict 속성을 제거하거나 연결 항목 및 해당 자식 항목을 삭제할 수 있습니다.

  • 서버는 glue 개체 클래스와 extensibleObject 개체 클래스가 있는 최소 항목을 작성합니다.
  • 이 경우 항목을 수정하여 의미 있는 항목으로 설정하거나 항목 및 해당 자식 항목을 모두 삭제해야 합니다.

잠재적 상호 운용성 문제 해결

우편 서버처럼 속성 고유성에 의존하는 응용 프로그램과의 상호 운용성을 위해 nsds5ReplConflict 속성이 포함된 항목에 대한 액세스를 제한해야 할 수도 있습니다. 이러한 항목에 대한 액세스를 제한하지 않으면 한 개의 속성만 필요한 응용 프로그램이 nsds5ReplConflict가 포함된 충돌 해결 항목과 원래 항목을 모두 받게 되므로 작업이 실패합니다.

액세스를 제한하려면 아래 명령을 실행하여 익명 읽기 액세스를 부여하는 기본 ACI를 수정해야 합니다.

ldapmodify -h hostname -D "cn=Directory Manager" -w password

dn: dc=example,dc=com
changetype: modify
delete: aci
aci: (target ="ldap:///dc=example,dc=com")
 (targetattr !="userPassword"
 (version 3.0;acl "Anonymous read-search  access";
 allow (read, search, compare)(userdn = "ldap:///anyone");)
-
add: aci
aci: (target="ldap:///dc=example,dc=com")
 (targetattr!="userPassword")
 (targetfilter="(!(nsds5ReplConflict=*))")(version 3.0;acl
 "Anonymous read-search access";allow (read, search, compare)
 (userdn="ldap:///anyone");)
^D

새 ACI는 검색 결과에서 nsds5ReplConflict 속성이 포함된 모든 항목을 필터링합니다.


이전     목차     색인     DocHome     다음    
Copyright 2003 Sun Microsystems, Inc. 모든 권리는 저작권자의 소유입니다.