7장. 기존 DS 인스턴스의 데이터베이스 유형을 BDB에서 LMDB로 마이그레이션
BDB(Berkeley Database) 백엔드가 있는 인스턴스가 있는 경우 이 인스턴스의 BDB를 Lightning Memory-Mapped Database(LMDB)로 변경할 수 있습니다.
BDB에서 LMDB로의 마이그레이션은 Directory Server 버전 12.5 이상이 있는 인스턴스에서만 사용할 수 있습니다.
혼합 환경에서는 다음과 같은 제한 사항을 고려하십시오.
- 백업 및 복원 형식이 이 유형에 연결되어 있으므로 백업을 사용하여 다른 데이터베이스 유형의 인스턴스를 복원할 수 없습니다.
- 인스턴스의 다양한 유형과 백엔드를 혼합할 수 없습니다.
그러나 다음과 같은 구현이 가능합니다.
- 호스트의 다른 백엔드 유형과 인스턴스를 혼합할 수 있습니다.
- 복제 토폴로지의 다양한 유형과 복제본을 혼합할 수 있습니다.
현재 명령줄만 사용하여 BDB에서 LMDB로 마이그레이션하거나 이전 버전으로 마이그레이션할 수 있습니다.
7.1. dsctl을 사용하여 데이터베이스 유형을 BDB에서 LMDB로 마이그레이션 링크 복사링크가 클립보드에 복사되었습니다!
dsctl 유틸리티를 사용하여 인스턴스의 BDB(Berkeley Database) 백엔드를 Lightning Memory-Mapped Database(LMDB)로 자동으로 마이그레이션할 수 있습니다.
사전 요구 사항
-
root권한이 있습니다.
절차
BDB에서 LMDB로의 마이그레이션을 시작합니다.
# dsctl instance_name dblib bdb2mdb ... Backends importation 0.000000% (userroot) Backends importation 100%이 명령은
nsslapd-backend-implement글로벌 구성 매개변수를mdb로 설정하고nsslapd-mdb-max-size매개변수 값을 설정하여 조정할 수 있는 데이터베이스 크기를 계산합니다.마이그레이션
.ldif파일 및 이전 데이터베이스를 제거합니다.# dsctl instance_name dblib cleanup cleanup dbmapdir=/var/lib/dirsrv/slapd-instance_name/db dbhome=/dev/shm/slapd-instance_name dblib=mdb
dsctl instance_name dblib mdb2bdb 명령을 사용하여 LMDB에서 BDB로 다시 마이그레이션할 수 있습니다.
검증
-
nsslapd-backend-implement구성 매개변수 값이mdb로 설정되어 있는지 확인합니다.
# dsconf -D "cn=Directory Manager" ldap://server.example.com backend config get | grep nsslapd-backend-implement
Enter password for cn=Directory Manager on ldap://server.example.com: password
nsslapd-backend-implement: mdb