5.3. 고유 숫자 특성 할당 및 관리
일부 항목 특성 값에는 uidNumber
및 gidNumber
와 같은 고유 번호가 필요합니다. DCNA(Distributed Numeric Assignment) 플러그인을 사용하여 구성된 숫자 범위에서 지정된 특성에 자동으로 고유한 번호를 생성하고 할당하도록 디렉터리 서버를 구성할 수 있습니다.
DNA 플러그인은 특성의 고유성을 보장하지 않습니다. 플러그인이 관리하는 범위에서 값을 수동으로 할당한 경우 플러그인은 값이 고유한지 확인하지 않습니다.
DNA 플러그인을 사용하면 공급업체의 다양한 로컬 DNA 플러그인 인스턴스에 대해 다양한 범위를 설정하여 복제 충돌을 효과적으로 방지할 수 있습니다. 예를 들어, 공급자 A는 1에서 1000까지의 번호를 할당할 수 있으며 공급자 B는 1001에서 2000 사이의 번호를 할당할 수 있습니다. 이렇게 하면 각 공급자가 실제로 고유한 숫자 집합을 사용하고 있습니다.
5.3.1. 동적 번호 할당 정보 링크 복사링크가 클립보드에 복사되었습니다!
DNA 플러그인은 인스턴스에서 발행할 수 있는 사용 가능한 수 범위를 할당합니다. 두 속성은 범위 정의를 정의합니다. 서버 다음 사용 가능한 번호(범위의 봇톤 값)와 최대값(범위의 상한 값)을 정의합니다. 플러그인을 구성할 때 초기 하단 값을 설정합니다. 나중에 플러그인 udates 이 하위 값입니다.
사용 가능한 번호를 각 복제본에서 별도의 범위로 분리하여 서버는 서로 겹치지 않고 계속 숫자를 할당할 수 있습니다.
5.3.1.1. 필터, 검색 및 대상 항목 링크 복사링크가 클립보드에 복사되었습니다!
서버는 정렬된 검색을 수행하여 다른 서버가 이미 지정된 다음 범위를 취했는지 확인합니다. 관리 속성에 적절한 순서 일치 규칙이 있는 같음 인덱스가 있어야 합니다.
DNA 플러그인은 항상 디렉터리 트리의 특정 영역( 범위) 및 해당 하위 트리 내의 특정 항목 유형에 적용됩니다( 필터).
DNA 플러그인은 단일 데이터베이스에서만 작동하며 여러 데이터베이스에 대한 숫자 할당을 관리할 수 없습니다. DNA 플러그인은 정렬 제어를 사용하여 값이 DNA 플러그인 외부에서 수동으로 할당되었는지 확인합니다. 그러나 정렬 컨트롤을 사용하는 이 유효성 검사는 단일 데이터베이스에서만 작동합니다.
5.3.1.2. dnaMagicRegen을 사용하여 고유 번호 할당 링크 복사링크가 클립보드에 복사되었습니다!
매직 값(dnaMagicRegen
)을 DNA 플러그인이 관리하는 속성의 템플릿 값으로 사용합니다. 이 매직 값은 서버 범위 외부, 숫자 또는 단어입니다. 매직 값으로 항목이 추가되고 항목이 DNA 플러그인의 구성 범위 및 필터 내에 있으면 매직 값이 자동으로 플러그인을 트리거하여 새로운 고유 값을 생성합니다.
예를 들어 ldapmodify
유틸리티를 사용하여 매끄러운 값으로0
(0)을 추가할 수 있습니다.
구성된 dnaMagicRegen
을 사용하면 DNA 플러그인은 항목이 추가될 때 해당 값이 매직 값과 동일한 속성에 대해서만 고유한 값을 생성합니다. DNA 플러그인에 대한 매끄러운 값을 설정하지 않으면 플러그인은 관리 속성의 값을 덮어씁니다.
- 참고
- DNA 플러그인에서 하나의 특성만 관리하고 추가된 항목에는 관리 특성이 포함되지 않은 경우, 추가 작업은 DNA 플러그인을 트리거하여 이 속성을 추가하고 고유 값을 생성합니다.
5.3.1.3. 동일한 범위의 여러 속성 링크 복사링크가 클립보드에 복사되었습니다!
DNA 플러그인은 단일 범위의 고유 번호에서 단일 또는 여러 특성 유형에 고유 번호를 할당할 수 있습니다.
이렇게 하면 속성에 고유 번호를 할당하기 위한 여러 옵션이 제공됩니다.
- 고유한 범위의 단일 특성 유형의 단일 번호입니다.
- 한 항목에 있는 두 속성에 대해 동일한 고유 번호입니다.
- 동일한 고유 숫자 범위에서 두 개의 서로 다른 숫자가 할당되었습니다.
대부분의 경우 특성 유형별로 할당된 고유 번호를 사용하는 것으로 충분합니다. 예를 들어, employeeID
를 새 직원 항목에 할당할 때 각 직원 항목이 고유한 employeeID
를 수신하는지 확인하는 것이 중요합니다.
그러나 동일한 숫자 범위의 고유 번호를 여러 특성에 할당할 수 있습니다. 예를 들어, posixAccount
항목에 uidNumber
와 gidNumber
를 할당할 때, DNA 플러그인은 두 특성에 동일한 번호를 할당할 수 있습니다. 이를 위해 두 관리 속성을 모두 수정 작업에 전달하고 ldapmodify
유틸리티를 사용하여 매직 값(0
)을 지정합니다.
DNA 플러그인은 여러 특성을 처리할 때 오브젝트 클래스가 하나의 속성만 허용하는 경우에만 하나의 속성에 고유한 값을 할당할 수 있습니다. 예를 들어 posixGroup
개체 클래스는 gidNumber
를 허용하지만 uidNumber
는 허용하지 않습니다. DNA 플러그인이 uidNumber
와
를 모두 관리하는 경우 gidNumber
posixGroup
항목을 생성할 때 uidNumber
및 gidNumber
속성 범위에서 gidNumber에 대한 고유 번호를 할당합니다. 모든 관리 속성에 대한 풀을 공유하면 고유 번호를 일관되게 할당하여 서로 다른 항목의 uidNumber
및 gidNumber
가 별도의 범위의 동일한 숫자로 끝나는 충돌을 방지할 수 있습니다.
DNA 플러그인에서 여러 속성을 관리하는 경우 단일 수정 작업에서 모든 속성에 동일한 값을 할당합니다. 그러나 항목에 대해 정의된 각 유형의 특성을 허용하지 않거나 항목이 모든 특성 유형을 정의할 수 있지만 특성의 하위 집합만 고유 값이 필요한 경우 별도의 수정 작업을 수행하여 동일한 범위에서 다른 번호를 할당해야 합니다. 예를 들면 다음과 같습니다.
예 5.4. 예. DNA 및 Unique bank Account Numbers
예제 bank에서는 고객의 primaryAccount
및 customerID
속성에 동일한 고유 번호를 사용하려고 합니다. Example bank 관리자는 동일한 범위의 두 속성에 대한 고유 값을 할당하도록 DNA 플러그인을 구성했습니다.
또한 은행에서는 고객 ID 및 기본 계정 번호와 동일한 범위의 보조 계정에 번호를 할당하려고 하지만 이러한 번호는 기본 계정 번호와 같을 수 없습니다. Example bank 관리자는 secondaryAccount
속성도 관리하도록 DNA 플러그인을 구성하지만, 항목이 생성된 후 secondaryAccount
속성만 추가하고 primaryAccount
및 customerID 속성이
할당됩니다. 이렇게 하면 primaryAccount
및 customerID
가 동일한 고유 번호를 공유하고 모든 secondaryAccount
번호가 완전히 고유하지만 동일한 숫자 범위의 수는 없습니다.
5.3.2. DNA 플러그인의 구문 링크 복사링크가 클립보드에 복사되었습니다!
DCNA(Distributed Numeric Assignment) 플러그인은 고유 이름(DN) cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config
인 컨테이너 항목입니다. DNA 플러그인 항목 아래의 각 DNA 항목은 DNA 플러그인의 새로운 관리 범위를 정의합니다. 따라서 DNA 플러그인에 대한 새 관리 범위를 구성하려면 컨테이너 항목 아래에 항목을 생성합니다. 예를 들어 플러그인에서 항목의 uidNumber
속성을 관리하려면 범위 및 기타 플러그인 설정을 정의하는 cn=계정 UID,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config
구성 항목을 만듭니다.
플러그인 구문은 단일 서버에서 또는 복제 토폴로지의 여러 서버에서 사용할 플러그인을 구성할지 여부에 따라 다릅니다.
단일 서버의 DNA 플러그인 구문
단일 서버에서 플러그인을 사용하는 경우 기본 DNA 구성 항목은 다음 속성을 정의합니다.
- dnaType
- 플러그인에서 관리하는 값을 정의합니다.
- dnaScope
- 플러그인이 기반으로 사용하는 항목(DN)을 정의하여 항목을 검색합니다.
- dnaFilter
- 플러그인에서 관리하는 항목을 식별하는 데 사용하는 검색 필터를 정의합니다.
- dnaNextValue
- 항목을 만든 후 플러그인이 할당하는 다음 사용 가능한 값을 정의합니다.
다음은 단일 특성 유형에 대한 단일 서버의 DNA 구성 항목의 예입니다.
복제 토폴로지의 서버의 DNA 플러그인 구문
여러 공급업체에 분산 숫자 할당을 구성하려면 구성 항목에 공유 및 전송 범위를 공유하는 다음 정보도 포함되어야 합니다.
- dnaMaxValue
- 서버에서 할당할 수 있는 최대 수를 정의합니다.
- dnaThreshold
-
범위 전송을 트리거하기에 충분한 범위가 낮은 임계값을 정의합니다.
dnaThreshold
가 설정되지 않은 경우 기본값은1
입니다. - dnaRangeRequestTimeout
-
범위 전송을 요청할 때 서버가 다른 서버의 응답을 기다리는 시간 초과 기간을 정의합니다. 서버가 이 기간 내에 범위를 수신하지 않으면 범위 전송 요청이 다른 서버로 이동합니다. 기본적으로 이 값은
10
초로 설정됩니다. - dnaSharedCfgDN
- 모든 공급업체 서버 간에 공유되는 구성 입력 DN을 정의합니다. 이 DN은 각 공급 업체의 범위 정보를 저장합니다.
- dnaNextRange
-
서버가 manage 속성에 할당하는 특정 수 범위를 정의합니다.
dnaNextRange
값은 전송에 사용 가능한 다음 범위를 나타내며 서버에서 범위를 할당하거나 사용할 때 플러그인에 의해 자동으로 관리됩니다. 이 범위는 다른 서버에 아직 할당되지 않았으며 로컬 Directory Server에서 사용할 수 있습니다.
다음은 복제 토폴로지의 공급 업체의 DNA 구성 항목의 예입니다.
DNA 구성 항목에서 사용할 수 있는 전체 속성 목록은 Distributed Numeric Assignment 플러그인 특성을 참조하십시오.
dnaNextRange
특성 값이 구성되지 않은 상태에서 Directory Server는 dnaMaxValue
값을 다음 범위의 상한으로 사용하여 범위를 자동으로 할당합니다. Directory Server에서 별도의 특정 범위를 다른 서버에 할당하도록 하려면 dnaNextRange
특성을 명시적으로 설정해야 합니다.
각 공급자는 범위 및 연결 설정에 대한 정보를 포함하는 별도의 구성 항목에 현재 범위를 추적합니다. 이 항목은 dnaSharedCfgDN
에 있는 위치의 자식입니다. Directory Server는 다른 모든 공급업체에 구성 항목을 복제하므로 각 공급자는 해당 구성을 확인하여 새 범위에 연결할 서버를 찾을 수 있습니다. 예를 들면 다음과 같습니다.
5.3.3. 명령줄을 사용하여 공급업체에 DNA 플러그인 구성 항목 생성 링크 복사링크가 클립보드에 복사되었습니다!
공급자가 관리 속성에 고유 번호를 할당하려면 적용하려는 각 구성에 대한 DNA 플러그인 구성 항목을 만듭니다. DNA 플러그인 구성 항목은 cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config
플러그인 컨테이너 항목 아래에 있는 하위 항목입니다.
멀티 공급 업체 환경에서 각 공급자는 고유한 값 범위를 관리합니다. 범위는 공급자와 각 공급 업체 간에 복제되며 각 공급자는 어떤 공급업체가 어떤 범위를 관리하는지 알고 있습니다. 나중에 공급자는 이 정보를 사용하여 첫 번째 공급자가 범위 값이 부족하면 다른 공급자로부터 범위 전송을 요청합니다.
다음 예제에서는 dsconf
유틸리티를 사용하여 공급업체에 새 DNA 플러그인 구성 항목을 생성합니다.
사전 요구 사항
-
root
권한이 있습니다.
프로세스
공급업체에 DNA 구성 항목을 생성합니다.
dsconf <instance_name> plugin dna config "Account UIDs" add --type uidNumber --filter "(objectclass=posixAccount)" --scope ou=People,dc=example,dc=com --next-value 1 --max-value 1300 --shared-config-entry "cn=Account UIDs,ou=Ranges,dc=example,dc=com" --threshold 100 --range-request-timeout 60 --magic-regen 99999
# dsconf <instance_name> plugin dna config "Account UIDs" add --type uidNumber --filter "(objectclass=posixAccount)" --scope ou=People,dc=example,dc=com --next-value 1 --max-value 1300 --shared-config-entry "cn=Account UIDs,ou=Ranges,dc=example,dc=com" --threshold 100 --range-request-timeout 60 --magic-regen 99999 Successfully created the cn=Account UIDs,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 명령은
ou=People,dc=example,dc=com
아래의 새로 생성된posixAccount
항목에서99999
매직 값 대신 고유한 값을uidNumber
속성으로 설정하는 DNA 플러그인 구성을 생성합니다. 공급자는1300
까지 값을 설정하고 값1200
에 도달하면 두 번째 공급자로부터 범위 전송을 요청합니다. 두 번째 공급자가 60 초 동안 응답하지 않는 경우 첫 번째 공급 업체는 세 번째 공급 업체로부터 범위 전송을 요청합니다.- 참고
복제 없이 서버에 대한 구성 항목을 생성하는 경우 단일 제공 환경에서 공급업체에 대해
--type
,--filter
,--scope
,--next-value
옵션만 설정합니다.DNA 플러그인 구성 속성에 대한 자세한 내용은 DNA 플러그인 섹션의 분산 숫자 할당 플러그인 속성 및 구문 을 참조하십시오.
선택 사항: 모든 공급자 서버에서 공유하는 구성 항목을 생성합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow DNA 플러그인을 활성화합니다.
dsconf <instance_name> plugin dna enable
# dsconf <instance_name> plugin dna enable Enabled plugin 'Distributed Numeric Assignment Plugin'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
구성 항목 세부 정보를 표시합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.3.4. 웹 콘솔을 사용하여 공급업체에 DNA 플러그인 구성 항목 생성 링크 복사링크가 클립보드에 복사되었습니다!
Directory Server에서 관리 속성에 고유 번호를 할당하도록 하려면 적용할 각 구성에 대한 DNA 플러그인 구성 항목을 만듭니다. Directory Server는 이러한 플러그인 구성 항목을 cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config
플러그인 컨테이너 항목 아래에 저장합니다.
멀티 공급 업체 환경에서 각 공급자는 고유한 값 범위를 관리합니다. 범위는 공급자와 각 공급 업체 간에 복제되며 각 공급자는 어떤 공급업체가 어떤 범위를 관리하는지 알고 있습니다. 나중에 공급자는 이 정보를 사용하여 첫 번째 공급자가 범위 값이 부족하면 다른 공급자로부터 범위 전송을 요청합니다.
사전 요구 사항
- 웹 콘솔에 로그인되어 있습니다. 자세한 내용은 웹 콘솔을 사용하여 디렉터리 서버에 로그인을 참조하십시오.
프로세스
- Directory Server 인스턴스를 선택합니다.
- Plugins 메뉴를 열고 목록에서 DNA 플러그인을 선택합니다.
- 구성 버튼을 클릭하여 새 플러그인 구성 항목의 구성을 시작합니다.
DNA 구성 탭에서 필드를 설정합니다.
예를 들어, 플러그인에서
ou=People,dc=example,dc=com
아래의 새로 생성된 모든posixAccount
항목에서99999
매직 값 대신uidNumber
속성으로 고유 값을 설정하도록 합니다. 또한, 공급자가1300
까지 값을 설정하고 고유 값이 값1200
에 도달하면 두 번째 공급자로부터 범위 전송을 요청하려고 합니다. 이 경우 다음 필드를 설정합니다.-
계정 UID
에 대한 구성 이름 -
uidNumber
에 대한 DNA Managed 특성 -
"(objectclass=posixAccount)"
로 필터링 -
ou=People,dc=example,dc=com
으로 하위 트리 범위 -
1
의 다음 값 -
최대 값
1300
-
2013년 10월 30일 오후 3시 30분 Wantant Regeneration Value to
99999
-
임계값 을
100
으로 설정합니다. 범위 요청 시간 초과 -
60
- 참고
- 복제 없이 서버에 대한 구성 항목을 생성하는 경우 단일 제공 환경에서 공급업체에 대한 구성 항목을 생성하는 경우 DNA Managed Attributes,Filter,Subtree Scope 및 Next Value 필드만 설정합니다.
-
-
Shared Config Settings 탭으로 이동하여 Shared Config Entry DN 필드를 (예:
cn=Account UIDs,ou=Ranges,dc=example,dc=com
)로 설정합니다. 이 공유 구성 항목에는 현재 서버가 고유 값이 없는 경우 범위 전송에 연결할 서버가 포함되어 있습니다. - Save Config 버튼을 클릭하여 플러그인 설정을 저장합니다.
- 플러그인을 활성화하기 위해 플러그인 으로 스위치를 전환합니다.