Sun Java System Directory Server Enterprise Edition 6.2 관리 설명서

12장 디렉토리 서버 색인화

책 색인과 마찬가지로 디렉토리 서버 색인은 검색 문자열을 디렉토리 내용에 대한 참조와 연결하여 검색 속도를 향상시킵니다.

색인 유형 및 색인 조정에 대한 자세한 내용은 Sun Java System Directory Server Enterprise Edition 6.2 Reference의 6 장, Directory Server Indexing을 참조하십시오.

이 장은 다음 내용으로 구성되어 있습니다.

색인 관리

이 절에서는 특정 속성에 대한 색인을 관리하는 방법에 대해 설명합니다. 또한 색인 만들기, 수정 및 삭제 관련 정보가 들어 있습니다. 가상 목록 보기(VLV) 작업에 해당하는 절차는 찾아보기 색인 관리를 참조하십시오.

Procedure색인을 나열하는 방법

DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.

  1. 기존 색인과 해당 등록 정보를 나열하려면 다음 명령을 사용합니다.


    $ dsconf list-indexes -h host -p port -v suffix-DN
    

Procedure색인을 만드는 방법


주 –

새 시스템 색인은 작성할 수 없습니다. 디렉토리 서버에서 내부적으로 정의한 기존의 시스템 색인만 유지관리됩니다.


DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.

  1. 새 색인 구성을 만듭니다.

    색인화할 속성을 지정하여 새 색인 정보를 구성하려면 dsconf create-index 명령줄 유틸리티를 사용합니다.

    예를 들어 preferredLanguage 속성에 대한 색인 항목을 만들려면 다음 명령을 사용합니다.


    $ dsconf create-index -h host -p port dc=example,dc=com preferredLanguage

    주 –

    dsconf create-index 명령은 색인 구성을 설정하지만, 검색에 필요한 색인 파일을 실제로 만들지는 않습니다. 색인 파일을 생성하면 성능에 영향을 줄 수 있습니다. 색인화 절차를 보다 자세히 제어하려면 새 색인 구성을 만든 후 색인 파일을 수동으로 생성합니다.

    색인을 만들 경우 속성의 기본 이름을 항상 사용합니다. 속성의 별칭을 사용하지 마십시오. 기본 속성 이름은 스키마에서 해당 속성에 지정된 이름입니다(예: userid 속성의 경우 uid).


  2. (옵션) dsconf set-index-prop 명령을 사용하여 색인 등록 정보를 설정합니다.

    dsconf create-index 명령은 기본 등록 정보를 사용하여 색인을 만듭니다. 이러한 등록 정보를 수정하려면 dsconf set-index-prop 명령을 사용합니다. 색인 등록 정보 수정에 대한 자세한 내용은 색인을 수정하는 방법을 참조하십시오.

  3. 색인 파일을 생성합니다.

    색인을 생성하는 방법을 참조하십시오.

  4. 색인화할 모든 서버에 대해 이전 단계를 반복합니다.

Procedure색인을 수정하는 방법

DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.

  1. 색인 등록 정보를 수정합니다.


    $ dsconf set-index-prop -h host -p port suffix-DN attr-name property:value
    

    예를 들어 preferredLanguage 색인에 대한 근사 색인 approx-enabled를 활성화하려면 다음 명령을 사용합니다.


    $ dsconf set-index-prop -h host -p port dc=example,dc=com preferredLanguage approx-enabled:on

    각 색인에 대해 다음 등록 정보를 수정할 수 있습니다.

    • eq-enabled 동일

    • pres-enabled 존재

    • sub-enabled 하위 문자열

    수정할 등록 정보 중 하나가 선택적 nsMatchingRule 속성입니다. 이 속성에는 서버에 알려진 일치 규칙에 대한 OID가 포함되어 있습니다. 또한 국가별 색인에 대한 언어 조합 순서의 OID를 비롯하여 CaseExactMatch와 같은 기타 일치 규칙을 사용할 수 있습니다. 관련된 조사 순서의 OID와 지원되는 로켈 목록은 Sun Java System Directory Server Enterprise Edition 6.2 Reference를 참조하십시오.

    색인 구성 속성에 대한 자세한 내용은 Sun Java System Directory Server Enterprise Edition 6.2 Reference를 참조하십시오.

  2. 새 색인을 다시 생성합니다.

    색인을 생성하는 방법을 참조하십시오.

  3. 수정된 속성 색인을 포함하는 모든 서버에 대해 이전 단계를 반복합니다.

Procedure색인을 생성하는 방법

이 절차에서는 새 색인이나 수정된 색인을 검색할 수 있도록 색인 파일을 생성합니다.

DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.

  1. 다음 중 한 가지 방법으로 색인 파일을 생성합니다.

    • 온라인으로 새 색인 파일을 생성합니다.


      $ dsconf reindex -h host -p port [-t attr] suffix-DN
      

      여기서 -t는 모든 속성이 아니라 지정된 속성만 다시 색인화하도록 지정합니다.

      예를 들어 preferredLanguage 색인을 다시 생성하려면 다음을 입력합니다.


      $ dsconf reindex -h host -p port -t preferredLanguage dc=example,dc=com

      dsconf reindex 명령을 실행하는 동안 접미어 내용이 서버에서 사용 가능한 상태로 유지됩니다. 그러나, 검색은 명령이 완료될 때까지 색인화되지 않습니다. 다시 색인화하려면 상당한 자원이 필요하므로 서버의 다른 작업 성능이 저하될 수 있습니다.

    • 오프라인으로 새 색인 파일을 생성합니다.


      $ dsadm reindex -t attr instance-path suffix-DN
      

      예를 들어 preferredLanguage 색인을 다시 생성하려면 다음을 입력합니다.


      $ dsadm reindex -t preferredLanguage /local/ds dc=example,dc=com
    • 접미어를 다시 초기화하여 모든 색인을 오프라인으로 빠르게 다시 생성합니다.

      접미어를 다시 초기화하면 모든 색인 파일이 자동으로 다시 생성됩니다. 디렉토리의 크기에 따라 접미어를 다시 초기화하는 것이 두 개 이상의 속성을 다시 색인화하는 것보다 더 빠릅니다. 그러나 초기화 중에는 접미어를 사용할 수 없습니다. 자세한 내용은 다시 초기화하여 접미어 다시 색인화를 참조하십시오.


    주 –

    dsconf import 또는 dsconf reindex 명령 중 하나 또는 모두를 여러 접미어에서 병렬로 실행할 경우 트랜잭션 로그가 계속 증가하여 성능이 저하될 수 있습니다.


Procedure색인을 삭제하는 방법

DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.

  1. 속성에 대해 구성된 모든 색인을 제거합니다.


    $ dsconf delete-index -h host -p port suffix-DN attr-name
    

    예를 들어 다음 명령은 preferredLanguage 속성에 대한 모든 색인을 삭제합니다.


    $ dsconf delete-index -h host -p port dc=example,dc=com preferredLanguage

    기본 색인을 삭제하면 디렉토리 서버 기능에 영향을 줄 수 있으므로 주의하십시오.

색인 목록 임계값 변경

시스템 색인 목록 크기가 색인 목록 임계값을 초과하면 검색이 느려질 수 있습니다. 색인 목록 임계값은 각 색인 키 값의 최대 수입니다. 색인 목록 임계값 크기를 초과했는지 확인하려면 액세스 로그를 확인하십시오. 액세스 로그 RESULT 메시지의 끝에 있는 notes=U 플래그는 색인화되지 않은 검색이 수행되었음을 나타냅니다. 동일한 연결 및 작업에 대한 이전 SRCH 메시지는 사용된 검색 필터를 지정합니다. 아래 두 줄의 예에서는 10000개 항목을 반환하는 색인화되지 않은 cn=Smith 검색을 추적합니다. 타임스탬프는 메시지에서 제거되었습니다.


conn=2 op=1 SRCH base="o=example.com" scope=0 filter="(cn=Smith)"
conn=2 op=1 RESULT err=0 tag=101 nentries=10000 notes=U

시스템에서 색인 목록 임계값이 자주 초과되는 경우 성능 향상을 위해 임계값을 높이십시오. 다음 절차에서는 dsconf set-server-prop 명령을 사용하여 all-ids-threshold 등록 정보를 수정합니다. 색인 및 all-ids-threshold 등록 정보 조정에 대한 자세한 내용은 Sun Java System Directory Server Enterprise Edition 6.2 ReferenceTuning Indexes for Performance를 참조하십시오.

Procedure색인 목록 임계값을 변경하는 방법

DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.

  1. 색인 목록 임계값을 조정합니다.

    다음 수준으로 색인 목록 임계값을 조정할 수 있습니다.

    • 인스턴스 수준에서:


      dsconf set-server-prop -h host -p port all-ids-threshold:value
      
    • 접미어 수준에서:


      dsconf set-suffix-prop -h host -p port suffix-DN all-ids-threshold:value
      
    • 항목 수준에서:


      dsconf set-index-prop -h host -p port suffix-DN all-ids-threshold:value
      
    • 색인 수준에서, 검색 유형별:


      dsconf set-index-prop -h host -p port suffix-DN all-ids-threshold search-type:value
      

      여기서 search-type은 다음 중 하나입니다.

      • eq-enabled 동일

      • pres-enabled 존재

      • sub-enabled 하위 문자열

      근사 색인에 대해서는 all-ids-threshold 등록 정보를 구성할 수 없습니다.

    DSCC를 사용하여 색인 수준에서 검색 유형별로 임계값을 설정할 수 있습니다. 자세한 내용은 디렉토리 서버 온라인 도움말을 참조하십시오.

  2. 접미어 색인을 다시 생성합니다.

    색인을 생성하는 방법을 참조하십시오.

  3. 데이터베이스 캐시 크기를 이전 all IDs 임계값에 대해 조정했고 서버에 적절한 물리적 메모리가 있는 경우 데이터베이스 캐시 크기를 늘려 보십시오.

    데이터베이스 캐시 크기를 all IDs 임계값 증분의 25%만큼 늘립니다.

    즉, all IDs 임계값을 4000에서 6000으로 늘리면 색인 목록 크기 증가를 수용하기 위해 데이터베이스 캐시 크기를 약 12 ½%만큼 늘릴 수 있습니다.

    데이터베이스 캐시 크기는 dbcachesize 속성을 사용하여 설정합니다. 생산 서버에 변경 사항을 적용하기 전에 실제 테스트를 통해 최적 크기를 확인합니다.

접미어 다시 색인화

색인 파일이 손상된 경우 접미어를 다시 색인화하여 해당 데이터베이스 디렉토리에서 색인 파일을 다시 만들어야 합니다. 디렉토리 서버가 실행 중인 동안 접미어를 다시 색인화하거나 다시 초기화하여 접미어를 다시 색인화할 수 있습니다.

디렉토리 서버가 실행 중인 동안 접미어 다시 색인화

접미어를 다시 색인화하면 서버는 접미어에 포함된 모든 항목을 확인하여 색인 파일을 다시 작성합니다. 다시 색인화하는 동안 접미어의 내용은 읽기 전용입니다. 서버는 다시 색인화하는 모든 속성에 대한 전체 접미어를 검사해야 하므로 수백 만 개의 항목으로 구성된 접미어의 경우 이 프로세스를 수행하는 데 몇 시간이 걸릴 수도 있습니다. 시간은 구성하는 색인에 따라 다릅니다. 또한 접미어를 다시 색인화하는 동안에는 색인을 사용할 수 없으며 서버 성능에 영향을 줍니다.

Procedure접미어의 모든 색인을 다시 색인화하는 방법

DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.

  1. 접미어의 모든 색인을 다시 색인화합니다.


    $ dsconf reindex -h host -p port suffix-DN
    

    예를 들어 dc=example,dc=com 접미어의 모든 색인을 다시 초기화하려면 다음 명령을 사용합니다.


    $ dsconf reindex -h host -p port dc=example,dc=com

다시 초기화하여 접미어 다시 색인화

접미어를 다시 초기화하면 새 내용을 가져와서 접미어 내용을 교체하고 새 색인 파일이 만들어집니다. 항목을 로드하면 모든 속성이 병렬로 색인화되므로 대체로 접미어를 다시 초기화하는 것이 두 개 이상의 속성을 다시 색인화하는 것보다 속도가 더 빠르지만 다시 초기화하는 동안에는 접미어를 사용할 수 없다는 단점이 있습니다.

Procedure다시 초기화하여 접미어를 다시 색인화하는 방법

DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.

  1. 참조 설정 및 접미어 읽기 전용 만들기 에 설명된 것처럼 접미어를 읽기 전용으로 설정합니다.

  2. LDIF에 백업에 설명된 것처럼 전체 접미어를 LDIF 파일로 내보냅니다.

  3. LDIF 파일에서 데이터 가져오기에 설명된 것처럼 동일한 LDIF 파일을 가져와서 접미어를 다시 초기화합니다.

    초기화하는 동안에는 접미어를 사용할 수 없습니다. 초기화가 완료되면 구성된 모든 색인을 사용할 수 있습니다.

  4. 참조 설정 및 접미어 읽기 전용 만들기 에 설명된 것처럼 접미어를 쓰기 가능으로 다시 지정합니다.

찾아보기 색인 관리

찾아보기 색인은 서버측 결과 정렬을 요청하는 검색 작업에만 사용되는 특수 색인입니다. 디렉토리 서버에서 찾아보기 색인을 사용하는 방법은 Sun Java System Directory Server Enterprise Edition 6.2 Reference를 참조하십시오.

클라이언트 검색에 대한 찾아보기 색인

클라이언트 검색 결과를 정렬하기 위한 사용자 정의 찾아보기 색인을 수동으로 정의해야 합니다. 찾아보기 색인 또는 가상 목록 보기(VLV) 색인을 만들려면 다음 절차를 사용합니다. 이 절에서는 찾아보기 색인 항목을 추가하거나 수정하는 절차와 찾아보기 색인을 다시 생성하는 절차에 대해서도 설명합니다.

Procedure찾아보기 색인을 만드는 방법

이 절차의 일부로, DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오. 해당 절차의 다른 부분은 명령줄에서만 수행할 수 있습니다.

  1. ldapmodify 명령을 사용하여 새 찾아보기 색인 항목을 추가하거나 기존 찾아보기 색인 항목을 편집합니다.

    자세한 내용은 찾아보기 색인 항목을 추가하거나 수정하는 방법을 참조하십시오.

  2. dsconf reindex 명령을 실행하여 서버에서 유지관리할 새 찾아보기 색인 집합을 생성합니다.

    자세한 내용은 찾아보기 색인을 다시 생성하는 방법을 참조하십시오.

Procedure찾아보기 색인 항목을 추가하거나 수정하는 방법

찾아보기 색인은 지정된 기본 항목 및 해당 하위 트리별로 작성됩니다. 또한, 찾아보기 색인 구성은 이 항목이 포함된 접미어의 데이터베이스 구성에 정의됩니다.

  1. 디렉토리 서버의 각 찾아보기 색인에 대한 vlvBase, vlvScopevlvFilter 속성을 구성합니다.

    이러한 속성은 검색 기준, 검색 범위 및 검색 필터를 구성합니다. 이러한 속성은 vlvSearch 객체 클래스를 사용합니다.

  2. 각 찾아보기 색인에 대한 vlvSort 속성을 구성합니다.

    이 속성은 색인을 정렬하는 속성의 이름을 지정합니다. 이 항목은 첫 번째 항목의 자식이며 vlvIndex 객체 클래스를 사용하여 정렬할 속성과 순서를 지정합니다.

    아래 예에서는 ldapmodify 명령을 사용하여 찾아보기 색인 구성 항목을 만듭니다.


    $ ldapmodify -a -h host -p port -D cn=admin,cn=Administrators,cn=config -w -
    Enter bind password:
    dn: cn=people_browsing_index, cn=database-name,
    cn=ldbm database,cn=plugins,cn=config
    objectClass: top
    objectClass: vlvSearch
    cn: Browsing ou=People
    vlvBase: ou=People,dc=example,dc=com
    vlvScope: 1
    vlvFilter: (objectclass=inetOrgPerson)
    
    dn: cn=Sort rev employeenumber, cn=people_browsing_index,
     cn=database-name,cn=ldbm database,cn=plugins,cn=config
    objectClass: top
    objectClass: vlvIndex
    cn: Sort rev employeenumber
    vlvSort: -employeenumber
    ^D

    vlvScope는 다음 중 하나입니다.

    • 0 - 기본 항목만 검색하는 경우

    • 1 - 기본 항목의 직계 자식만 검색하는 경우

    • 2 - 기본 항목을 루트로 하는 전체 하위 트리를 검색하는 경우

    vlvFilter는 클라이언트 검색 작업에 사용되는 것과 동일한 LDAP 필터입니다. 찾아보기 색인 항목은 모두 같은 위치에 있으므로 항목을 잘 설명하는 cn 값을 사용하여 찾아보기 색인 이름을 지정하는 것이 좋습니다.

    각각의 vlvSearch 항목에는 vlvIndex 항목이 한 개 이상 있어야 합니다. vlvSort 속성은 정렬 기준으로 사용할 속성 및 정렬 순서를 정의하는 속성 이름 목록입니다. 속성 이름 앞에 대시(-)가 있으면 역순서를 나타냅니다. 여러 개의 vlvIndex 항목을 정의하여 검색에 하나 이상의 색인을 정의할 수도 있습니다. 이전 예에서는 아래 항목을 추가할 수 있습니다.


    $ ldapmodify -a -h host -p port
     -D cn=admin,cn=Administrators,cn=config -w -
    dn: cn=Sort sn givenname uid, cn=people_browsing_index,
     cn=database-name,cn=ldbm database,cn=plugins,cn=config
    objectClass: top
    objectClass: vlvIndex
    cn: Sort sn givenname uid
    vlvSort: sn givenname uid
    ^D
  3. 찾아보기 색인 구성을 수정하려면 해당 vlvSearch 항목 또는 vlvIndex 항목을 편집합니다.

  4. 찾아보기 색인이 더 이상 서버에서 유지관리되지 않도록 찾아보기 색인을 제거하려면 개별 vlvIndex 항목을 제거합니다.

    vlvIndex 항목이 하나만 있는 경우에는 vlvSearch 항목과 vlvIndex 항목을 모두 제거합니다.

Procedure찾아보기 색인을 다시 생성하는 방법

  1. 찾아보기 색인 항목을 만든 후 지정된 속성에 대한 새 찾아보기 색인을 생성합니다.


    $ dsadm reindex -l -t attr-index instance-path suffix-DN
    

    이 명령은 디렉토리 내용을 검사하여 찾아보기 색인에 대한 데이터베이스 파일을 만듭니다.

    아래 예에서는 이전 절에서 정의한 찾아보기 색인을 생성합니다.


    $ dsadm reindex -l -b database-name -t Browsing /local/ds \
     ou=People,dc=example,dc=com

    dsadm reindex 명령에 대한 자세한 내용은 dsadm(1M) 설명서 페이지를 참조하십시오.