1.2. 서버가 오프라인 상태인 동안 명령줄을 사용하여 데이터 가져오기
Directory Server 인스턴스가 오프라인 상태인 경우 dsctl ldif2db 명령을 사용하여 데이터를 가져옵니다.
가져오기 작업을 시작하면 Directory Server는 먼저 데이터베이스에서 기존 데이터를 모두 제거하고 LDIF 파일에서 데이터를 가져옵니다. 따라서 가져오기에 실패하면 서버는 항목 또는 부분 항목 세트를 반환하지 않습니다.
사전 요구 사항
-
LDIF 파일 권한을 사용하면
dirsrv사용자가 파일을 읽을 수 있습니다. - 가져올 LDIF 파일에는 루트 접미사 항목이 포함되어 있습니다.
- 데이터를 가져오려는 접미사와 데이터베이스는 디렉터리에 있습니다.
- Directory Server 인스턴스가 실행되고 있지 않습니다.
- 가져올 LDIF 파일은 UTF-8 문자 세트 인코딩을 사용합니다.
절차
선택 사항: 기본적으로 Directory Server는 가져온 모든 항목의 항목 업데이트 시퀀스 번호(USN)를
0으로 설정합니다. 대체 초기 USN 값을 설정하려면nsslapd-entryusn-import-initval매개변수를 설정합니다. 예를 들어 가져온 모든 값에 대해 USN을12345로 설정하려면 다음을 입력합니다.#
dsconf -D "cn=Directory Manager" ldap://server.example.com config replace nsslapd-entryusn-import-initval=12345/var/lib/dirsrv/slapd-instance_name/ldif/로 가져올 파일을 복사한 경우 해당 파일에서 SELinux 컨텍스트를 재설정합니다.#
restorecon -Rv /var/lib/dirsrv/slapd-instance_name/ldif/example.ldifdsctl ldif2db명령을 사용하여 LDIF 파일에서 데이터를 가져옵니다. 예를 들어/var/lib/dirsrv/slapd-instance_name/ldif/example.ldif파일을userRoot데이터베이스로 가져오려면 다음을 수행합니다.#
dsctl instance_name ldif2db userRoot /var/lib/dirsrv/slapd-instance_name/ldif/example.ldifOK group dirsrv exists OK user dirsrv exists [17/Jul/2021:13:42:42.015554231 +0200] - INFO - ldbm_instance_config_cachememsize_set - force a minimal value 512000 ... [17/Jul/2021:13:42:44.302630629 +0200] - INFO - import_main_offline - import userRoot: Import complete. Processed 160 entries in 2 seconds. (80.00 entries/sec) ldif2db successful-
/var/log/dirsrv/slapd-instance_name/errors로그에서 가져오기 중 문제를 검색합니다. 선택 사항: 인스턴스를 시작합니다.
#
dsctl instance_name start
검증
가져온 접미사 아래에 항목을 검색합니다. 예:
dc=example,dc=com:#
ldapsearch -D "cn=Directory Manager" -W -H ldap://server.example.com -b "dc=example,dc=com" -s sub -x
추가 리소스
- 별도의 데이터베이스에 접미사 저장
- nsslapd-entryusn-import-initval
-
데이터를 가져오는 데 사용할 수 있는 모든 추가 설정을 표시하려면
dsctl ldif2db --help명령의 출력을 참조하십시오.