16.3. 소수 복제에서 빈 업데이트 방지
부분 복제는 복제 업데이트에서 속성을 제외합니다(nsDS5ReplicatedAttributeList
,nsDS5ReplicatedAttributeListTotal
). 그러나 제외된 속성을 변경하면 수정 이벤트가 계속 트리거되고 빈 복제 업데이트가 생성됩니다.
빈 업데이트를 방지하려면 Directory Server가 빈 복제 이벤트로 보내지 않고 업데이트 순서에서 제거되는 속성 목록을 추가하는 nsds5ReplicaStripAttrs
매개 변수를 사용합니다. 이는 논리적으로 modifiersName
과 같은 작동 속성을 포함해야 합니다. 복제 이벤트가 비어 있지 않은 경우 Directory Server는 다른 변경 사항과 함께 제거된 특성을 계속 복제합니다.
예를 들어 복제에서 accountUnlockTime
속성을 제외했습니다. 잠긴 사용자의 경우 accountUnlockTime
에 설정된 기간이 만료되면 Directory Server가 자동으로 사용자의 잠금을 해제합니다. accountUnlockTime
속성만 변경되었으며 해당 속성은 복제에서 제외됩니다. 그러나 이 잠금 해제 이벤트는 internalmodifytimestamp
에서도 operational 특성을 변경합니다. 사용자 계정이 수정되었으므로 복제 이벤트가 트리거됩니다. 그러나 복제할 유일한 데이터는 새로운 수정 타임스탬프이며, 그렇지 않으면 업데이트가 비어 있습니다. 로그인 시간 또는 암호 만료 시간과 관련된 많은 속성이 있는 경우 서버 성능에 부정적인 영향을 미치거나 관련 애플리케이션을 방해하는 빈 복제 업데이트가 많이 생성될 수 있습니다.
다음 절차에서는 빈 업데이트를 방지하기 위해 불필요한 속성을 제거합니다.
사전 요구 사항
-
dc=example,dc=com
접미사 및 복제 계약example_agreement
가 있습니다.
절차
dsconf
유틸리티를 사용하여 소수 복제를 조정합니다.dsconf -D "cn=Directory Manager" instance_name repl-agmt set example_agreement \ --suffix="dc=example,dc=com" --strip-list="modifiersname \ modifytimestamp internalmodifiersname"
# dsconf -D "cn=Directory Manager" instance_name repl-agmt set example_agreement \ --suffix="dc=example,dc=com" --strip-list="modifiersname \ modifytimestamp internalmodifiersname" Successfully updated agreement
Copy to Clipboard Copied!
검증
복제 계약 설정을 확인합니다.
dsconf instance_name repl-agmt list --suffix=dc=example,dc=com | grep -i nsds5ReplicaStripAttrs
# dsconf instance_name repl-agmt list --suffix=dc=example,dc=com | grep -i nsds5ReplicaStripAttrs nsds5ReplicaStripAttrs: modifiersname modifytimestamp internalmodifiersname
Copy to Clipboard Copied!