| |
| Sun Java(TM) System Directory Server 5 2004Q2 관리 설명서 | |
4장
데이터 백업 및 복원디렉토리 서버에서 관리하는 데이터는 대량으로 가져오는 경우가 많습니다. Directory Server는 전체 접미어를 가져오거나 내보내기 위한 도구를 제공합니다. 모든 접미어를 동시에 백업하고, 이 백업을 사용하여 모든 데이터를 복원할 수 있는 도구도 제공됩니다.
일반 텍스트 LDIF (LDAP Data Interchange Format)를 사용하여 데이터를 백업 및 복원할 수 있습니다.
이 장에서는 디렉토리 데이터의 백업 및 복원을 위한 다음 절차를 설명합니다.
접미어 읽기 전용 모드 설정Directory Server에서 내보내기 또는 백업 작업을 수행하기 전에 임의의 접미어에 대해 읽기 전용 모드를 활성화하면 특정 시간에 접미어 내용을 안전하게 유지할 수 있습니다. 또한, 가져오기 또는 복원 작업을 수행하기 전에 영향을 받는 접미어가 읽기 전용 모드로 설정되어 있지 않은지 확인해야 합니다.
Directory Server 콘솔과 명령줄 유틸리티는 내보내기 또는 백업 작업 전에 디렉토리를 읽기 전용 모드로 자동 설정하지 않습니다. 이렇게 하면 디렉토리를 업데이트할 수 없게 되기 때문입니다. 하지만 다중 마스터 구성에서 서버 한 대만 읽기 전용 모드로 설정하는 경우 다른 마스터에서는 계속 데이터를 쓸 수 있습니다.
접미어를 읽기 전용으로 설정하려면 액세스 권한 및 참조 설정에 설명된 절차에 따라 수행합니다. 또는 전역 읽기 전용 모드 설정에 설명된 것처럼 전체 디렉토리 서버를 쓸 수 없게 설정할 수도 있습니다.
데이터 가져오기Directory Server는 데이터를 가져오는 두 가지 방법을 제공합니다.
두 방법 모두 Directory Server 콘솔과 명령줄 유틸리티를 통해 사용할 수 있습니다.
주
UTF-8 문자 집합 인코딩을 사용하는 LDIF 파일만 가져올 수 있습니다.
LDIF를 가져올 경우 부모 항목이 디렉토리에 있거나 먼저 이 파일을 사용하여 부모 항목을 추가해야 합니다. 접미어를 초기화할 경우에는 LDIF 파일에 해당 접미어의 모든 디렉토리 트리 노드와 루트 항목이 포함되어 있어야 합니다.
아래 표에는 가져오기와 초기화의 차이점이 설명되어 있습니다.
LDIF 파일 가져오기
가져오기 작업을 수행하면 Directory Server 콘솔은 ldapmodify 작업을 수행하여 새 항목을 디렉토리에 추가합니다. 항목은 LDIF 파일에 지정되어 있으며, 이 파일에는 가져오기 작업의 일부로 기존 항목을 수정하거나 삭제하는 업데이트 명령문도 포함될 수 있습니다.
Directory Server에서 관리하는 모든 접미어 및 구성에 정의된 연결 접미어 또는 연결 하위 접미어를 대상으로 항목을 가져올 수 있습니다. 항목을 추가하는 다른 모든 작업과 마찬가지로 서버는 가져오는 새 항목을 모두 색인화합니다.
콘솔에서 LDIF 가져오기
가져오기를 수행하려면 디렉토리 관리자 또는 관리자로 로그인해야 합니다.
- Directory Server 콘솔의 최상위 태스크 탭에서 아래쪽으로 스크롤하여 "LDIF에서 파일 가져오기" 옆에 있는 버튼을 누릅니다.
LDIF 가져오기 대화 상자가 표시됩니다.
- LDIF 가져오기 대화 상자의 LDIF 파일 필드에 가져올 LDIF 파일의 전체 경로를 입력하거나 찾아보기를 눌러 로컬 파일 시스템에서 해당 파일을 선택합니다.
원격 시스템의 디렉토리에 액세스하는 경우 필드 이름이 LDIF 파일(콘솔 시스템)로 표시됩니다. 이 레이블은 사용자가 원격 디렉토리 서버 시스템이 아닌 로컬 파일 시스템을 탐색하고 있음을 나타냅니다.
- 다음 옵션을 원하는 대로 설정합니다.
- "추가만" - LDIF 파일에는 기본 추가 지침 외에도 수정 및 삭제 지침이 포함될 수 있습니다. 콘솔에서 추가 지침만 수행하고 LDIF 파일의 다른 모든 지침을 무시하려면 이 확인란을 선택합니다.
- "오류 발생 시 계속" - 오류가 발생한 경우에도 서버에서 가져오기 작업을 계속 수행하려면 이 확인란을 선택합니다. 예를 들어, 일부 항목이 접미어에 이미 존재하는 LDIF 파일을 가져오는 경우 이 옵션을 사용할 수 있습니다. 콘솔은 가져오기 작업을 수행하는 동안 이미 존재하는 항목과 같은 오류를 거부용 파일에 기록합니다.
이 확인란이 선택되어 있지 않으면 가져오기 작업은 첫 번째 오류가 발생한 후에 중단됩니다. LDIF 파일에서 오류 전의 항목은 성공적으로 가져오며 디렉토리에 남아 있습니다.
- "거부용 파일" 필드에 콘솔에서 가져올 수 없는 모든 항목을 기록할 파일의 전체 경로를 입력하거나 찾아보기를 눌러 로컬 파일 시스템에서 해당 파일을 선택합니다.
예를 들어 디렉토리에 이미 존재하는 항목이나 부모 객체가 없는 항목은 가져올 수 없습니다. 콘솔은 서버에서 보낸 오류 메시지를 거부용 파일에 씁니다.
이 필드를 비워 두면 서버에서 거부된 항목을 기록하지 않습니다.
- 확인을 눌러 가져오기 작업을 시작합니다.
Directory Server 콘솔에서 작업 상태와 발생한 오류 텍스트가 포함된 대화 상자를 표시합니다. "거부용 파일" 필드에 파일이 지정되어 있으면 해당 파일에도 모든 오류 메시지가 기록됩니다.
명령줄에서 LDIF 가져오기
directoryserver ldif2ldap 명령은 LDAP를 통해 LDIF 파일을 가져오며 포함된 모든 작업을 수행합니다. 이 스크립트를 사용하여 데이터를 모든 디렉토리 접미어에 동시에 가져올 수 있습니다. ldif2ldap를 사용하여 가져오려면 서버를 실행해야 합니다.
이 명령의 전체 경로는 다음과 같습니다.
아래 예에서는 ldif2ldap 명령을 사용하여 가져오기를 수행합니다. 디렉토리 관리자 같이 루트 권한이 있는 사용자로 인증되면 루트 권한이 없어도 이 명령을 실행할 수 있습니다. 마지막 매개 변수는 가져올 LDIF 파일 이름을 지정합니다.
# /usr/sbin/directoryserver -s example ldif2ldap \
-D "cn=Directory Manager" -w password \
-f /var/opt/mps/serverroot/slapd-example//ldif/demo.ldif이 명령의 사용 방법은 Directory Server Administration Reference의 1장, "ldif2ldap"를 참조하십시오.
접미어 초기화
접미어를 초기화하면 추가할 항목만 포함된 LDIF 파일의 내용이 접미어의 기존 데이터를 덮어씁니다.
주의
관리하는 서버가 Configuration Directory Server일 경우 데이터를 복원하지 않으려면 LDIF 파일의 접미어를 초기화할 때 o=NetscapeRoot 접미어를 덮어쓰지 마십시오. 이 접미어를 덮어쓰면 정보가 삭제되어 모든 Sun Java System 서버를 다시 설치해야 합니다.
접미어를 초기화하려면 디렉토리 관리자 또는 관리자로 인증되어야 합니다. 보안상, 디렉토리 관리자 및 관리자만 접미어의 루트 항목(예: dc=example,dc=com)에 액세스할 수 있으므로 루트 항목이 포함된 LDIF 파일을 가져오려면 이러한 아이디를 사용해야 합니다.
콘솔에서 접미어 초기화
- Directory Server 콘솔의 최상위 구성 탭에서 데이터 노드를 확장하여 초기화할 접미어를 표시합니다.
- 접미어 노드를 마우스 오른쪽 버튼으로 누르고 팝업 메뉴에서 초기화를 선택합니다. 또는 접미어 노드를 선택하고 객체 메뉴에서 초기화를 선택할 수도 있습니다. 접미어 초기화 대화 상자가 표시됩니다.
- "LDIF 파일" 필드에 초기화에 사용할 LDIF 파일의 전체 경로를 입력하거나 찾아보기를 눌러 사용자 시스템에서 해당 파일을 찾습니다.
- 가져올 파일이 있는 로컬 시스템에서 콘솔을 실행하는 경우 단계 6으로 넘어갑니다. LDIF 파일이 있는 서버의 원격 시스템에서 콘솔을 실행하는 경우에는 다음 옵션 중 하나를 선택합니다.
콘솔. LDIF 파일이 콘솔을 실행 중인 시스템에 있음을 나타냅니다. 이 경우 파일을 찾아볼 수 있습니다.
서버. LDIF 파일이 원격 서버에 있음을 나타냅니다. 이 경우 찾아보기 버튼이 비활성화됩니다. 기본적으로 콘솔은 아래 디렉토리에서 이 파일을 찾습니다.
ServerRoot/slapd-serverID/ldif
- 확인을 누릅니다.
- 접미어에 있는 데이터를 덮어쓸 것을 확인합니다. 접미어 초기화가 수행되며 오류가 발생하면 대화 상자로 보고됩니다.
ldif2db 명령을 사용하여 접미어 초기화
directoryserver ldif2db 명령은 접미어를 초기화하고 기존 데이터를 덮어씁니다. 이 명령을 사용하여 가져오기를 수행하려면 서버를 종료해야 합니다.
기본적으로 명령은 기존의 o=NetscapeRoot 구성 정보를 먼저 저장한 다음, 가져오는 파일에 있는 o=NetscapeRoot 구성 정보와 병합합니다.
서버를 중지한 상태에서 LDIF 파일을 가져오려면
아래 예에서는 ldif2db 명령을 사용하여 LDIF 파일 두 개를 하나의 접미어로 가져옵니다.
/usr/sbin/directoryserver -s example ldif2db -n Database1 \
-i /var/opt/mps/serverroot/slapd-example/ldif/demo.ldif \
-i /var/opt/mps/serverroot/slapd-example/ldif/demo2.ldif
이 명령의 사용 방법은 Directory Server Administration Reference의 1장, "ldif2db"를 참조하십시오.
ldif2db-task를 사용하여 접미어 초기화
ldif2db 명령과 마찬가지로 directoryserver ldif2db-task 명령은 지정한 접미어에 있는 데이터를 덮어씁니다. 이 스크립트를 사용하여 가져오기를 수행하려면 서버를 실행해야 합니다.
이 스크립트에 대한 명령은 다음과 같습니다.
다음 예에서는 ldif2db-task를 사용하여 LDIF 파일을 가져옵니다. 디렉토리 관리자 같은 루트 권한을 가진 사용자로 인증되면 루트 권한이 없어도 명령을 실행할 수 있습니다.
/usr/sbin/directoryserver -s example ldif2db-task \
-D "cn=Directory Manager" -w password -n Database1 \
-i /var/opt/mps/serverroot/slapd-example/ldif/demo.ldif아래 표에는 예에 사용된 ldif2db-task 옵션이 설명되어 있습니다.
이 명령의 사용 방법은 Directory Server Administration Reference의 1장, "ldif2db-task"를 참조하십시오.
데이터 내보내기LDIF를 사용하여 디렉토리의 내용을 내보낼 수 있습니다. 데이터 내보내기는 다음과 같은 작업에 도움이 됩니다.
내보내기 작업 시 구성 정보(cn=config)는 내보내지 않습니다.
콘솔에서 전체 디렉토리를 LDIF로 내보내기
내보낸 최종 파일의 위치에 따라 디렉토리 데이터 전체 또는 일부를 LDIF로 내보낼 수 있습니다. LDIF 파일이 서버에 있으면 서버의 로컬 접미어에 저장된 데이터만 내보낼 수 있습니다. LDIF 파일이 서버의 원격 시스템에 있으면 접미어와 연결 접미어를 모두 내보낼 수 있습니다.
서버가 실행되는 동안 디렉토리 데이터를 Directory Server 콘솔에서 LDIF로 내보내려면 다음을 수행합니다.
- Directory Server 콘솔의 최상위 태스크 탭에서 아래쪽으로 스크롤하여 "LDIF로 파일 내보내기" 옆에 있는 버튼을 누릅니다.
내보내기 대화 상자가 표시됩니다.
- 서버의 원격 시스템에서 콘솔을 실행 중이면 LDIF 파일 필드 아래에 두 개의 라디오 버튼이 표시됩니다. 콘솔을 실행하는 시스템에 있는 LDIF 파일로 내보냄을 나타내려면 "콘솔 시스템"을 선택합니다. 서버 시스템에 있는 LDIF 파일로 내보냄을 나타내려면 "서버 시스템"을 선택합니다.
- "LDIF 파일" 필드에 LDIF 파일의 전체 경로와 파일 이름을 입력하거나 찾아보기를 눌러 해당 파일을 찾습니다.
"서버 시스템"을 선택할 경우 찾아보기 버튼이 비활성화됩니다. 찾아보기 버튼이 활성화되지 않을 경우 이 파일은 기본적으로 아래 디렉토리에 저장되어 있습니다.
ServerRoot/slapd-serverID/ldif
- 전체 디렉토리를 내보내려면 "모든 접미어" 라디오 버튼을 선택합니다.
디렉토리의 개별 하위 트리만 내보내려면 "하위 트리" 라디오 버튼을 선택하고 텍스트 상자에 하위 트리의 기본 항목 DN을 입력합니다.
또는 찾아보기를 눌러 하위 트리를 선택할 수도 있습니다.
- 확인을 눌러 디렉토리 내용을 파일로 내보냅니다.
콘솔에서 개별 접미어를 LDIF로 내보내기
서버가 실행되는 동안 접미어를 Directory Server 콘솔에서 LDIF로 내보내려면 다음을 수행합니다.
- Directory Server 콘솔의 최상위 구성 탭에서 데이터 노드를 확장하여 내보낼 접미어를 표시합니다.
- 접미어 노드를 마우스 오른쪽 버튼으로 누르고 팝업 메뉴에서 내보내기를 선택합니다. 또는 접미어 노드를 선택하고 객체 메뉴에서 내보내기를 선택할 수도 있습니다.
접미어 내보내기 대화 상자가 표시됩니다.
- "LDIF 파일" 필드에 LDIF 파일의 전체 경로를 입력하거나 찾아보기를 눌러 사용자 시스템에서 해당 파일을 찾습니다.
찾아보기 버튼이 활성화되지 않을 경우 이 파일은 기본적으로 아래 디렉토리에 저장되어 있습니다.
ServerRoot/slapd-serverID/ldif
- 접미어가 복제되면 복제 정보를 내보냅니다. 확인란을 선택할 수 있습니다. 이 기능은 내보낸 LDIF를 사용하여 이 접미어의 다른 복제본을 초기화할 경우에만 필요합니다.
- 이 접미어에 속성 암호화가 활성화되어 있으면 속성 비밀번호 해독 확인란을 선택할 수 있습니다. 이렇게 하려면 서버의 인증서 데이터베이스를 보호하는 비밀번호를 제공해야 합니다. 비밀번호를 입력하거나 비밀번호가 포함된 파일 이름을 입력하는 옵션을 선택합니다. 속성 값의 비밀번호를 해독하는 비밀번호를 제공하지 않으면 LDIF 출력에 암호화된 값이 표시됩니다.
- 확인을 눌러 접미어 내용을 파일로 내보냅니다.
명령줄에서 LDIF로 내보내기
directoryserver db2ldif 명령을 사용하여 디렉토리의 모든 접미어 또는 하위 트리를 LDIF로 내보낼 수 있습니다. 이 스크립트는 서버의 실행 여부에 관계 없이 접미어 내용의 전체 또는 일부를 내보냅니다.
데이터베이스 내용을 LDIF 파일로 내보내려면 아래 명령을 실행합니다.
아래 예에서는 두 개의 접미어를 LDIF 파일 하나로 내보냅니다.
/usr/sbin/directoryserver -s example db2ldif \
-a /var/opt/mps/serverroot/slapd-example/output.ldif \
-s "dc=example,dc=com" -s "o=NetscapeRoot"아래 표에는 예에 사용된 db2ldif 옵션이 설명되어 있습니다.
db2ldif 명령을 -r 옵션과 함께 사용하여 복제된 접미어를 LDIF 파일로 내보낼 수도 있습니다. 결과로 작성된 LDIF에는 복제 기법에서 사용하는 속성 하위 유형이 포함되어 있습니다. 그런 다음 복제본 초기화에 설명된 것처럼 소비자 서버에서 이 LDIF 파일을 가져와 소비자 복제본을 초기화할 수 있습니다.
db2ldif 명령을 -r 옵션과 함께 사용하는 경우 서버가 실행 중이면 안 됩니다. 먼저 서버를 중지한 다음 명령을 시작하거나 서버를 중지할 필요가 없는 db2ldif.pl 스크립트를 -r 옵션과 함께 사용해야 합니다.
이 스트립트의 사용 방법은 Directory Server Administration Reference의 1장, "db2ldif"를 참조하십시오.
데이터 백업데이터 백업은 나중에 데이터베이스 파일이 손상되거나 삭제될 경우에 대비하여 디렉토리 내용의 스냅샷을 저장합니다. Directory Server 콘솔이나 명령줄 스크립트를 사용하여 접미어를 백업할 수 있습니다.
기본적으로 여기에 설명된 모든 백업 절차는 서버 파일의 복사본을 동일한 호스트에 저장합니다. 보안을 강화하려면 이 백업을 복사하여 다른 시스템이나 파일 시스템에 저장해야 합니다.
콘솔에서 서버 백업
Directory Server 콘솔에서 서버를 백업하는 경우 서버는 모든 데이터베이스 내용 및 관련 색인 파일을 백업 위치에 복사합니다. 서버가 실행되는 동안 백업을 수행할 수 있습니다.
콘솔에서 서버를 백업하려면 다음을 수행합니다.
- Directory Server 콘솔의 최상위 태스크 탭에서 "디렉토리 서버 백업" 옆에 있는 버튼을 누릅니다.
디렉토리 서버 백업 대화 상자가 표시됩니다.
- 디렉토리 텍스트 상자에 백업을 저장할 디렉토리의 전체 경로를 입력합니다. 디렉토리와 콘솔을 동일한 시스템에서 실행하는 경우 찾아보기를 눌러 로컬 디렉토리를 찾습니다.
또는 "기본값 사용"을 눌러 아래 디렉토리에 백업을 저장합니다.
ServerRoot/slapd-serverID/bak/YYYY_MM_DD_hh_mm_ss
여기서 serverID는 디렉토리 서버의 이름이며, 디렉토리 이름은 백업이 작성된 날짜와 시간을 사용하여 생성됩니다.
- 확인을 눌러 백업을 작성합니다.
명령줄에서 서버 백업
directoryserver db2bak 명령을 사용하여 명령줄에서 서버를 백업할 수 있습니다. 이 명령은 서버의 실행 여부에 관계 없이 작동합니다.
이 백업 방법으로 구성 정보를 백업할 수는 없습니다. 구성 정보 백업에 대한 자세한 내용은 dse.ldif 구성 파일 백업을 참조하십시오.
디렉토리를 백업하려면 아래 명령을 실행합니다.
backupDir 매개 변수는 백업을 저장할 디렉토리를 지정합니다. 기본 백업 디렉토리 이름은 현재 날짜인 YYYY_MM_DD_hh_mm_ss로 만들어집니다. 이 명령의 사용 방법은 Directory Server Administration Reference의 1장, "db2bak"를 참조하십시오. 사용자 배포를 위한 백업 전략 수립에 대한 내용은 Directory Server Deployment Planning Guide의 9장, “Planning a Backup Strategy“를 참조하십시오.
dse.ldif 구성 파일 백업
Directory Server는 자동으로 dse.ldif 구성 파일을 백업합니다. Directory Server를 시작하면 아래 디렉토리의 dse.ldif.startOK 파일에 자동으로 dse.ldif 파일의 백업이 작성됩니다.
ServerRoot/slapd-serverID/config
cn=config 분기가 수정되면 서버는 먼저 이 파일을 config 디렉토리의 dse.ldif.bak 파일에 백업한 다음 dse.ldif 파일에 수정 사항을 씁니다. 구성을 저장해야 하는 경우 두 파일 중 하나의 복사본을 만드십시오.
백업을 사용한 데이터 복원아래 절차에서는 Directory Server 콘솔이나 명령줄을 사용하여 디렉토리에 있는 접미어를 복원하는 방법에 대해 설명합니다. 서버는 데이터 백업에 설명된 것처럼 백업되어 있어야 합니다. 복제 계약에 사용된 접미어를 복원하는 경우 먼저 복제된 접미어 복원을 읽어 보십시오.
복제된 접미어 복원
공급자 서버와 소비자 서버 간에 복제된 접미어를 복원하려면 몇 가지 주의해야 할 사항이 있습니다. 가능하면 백업을 사용하여 접미어를 복원하는 대신 복제 기법을 통해 접미어를 업데이트해야 합니다. 이 절에서는 복제본의 복원 방법과 시기, 그리고 작업 후에 다른 복제본과 동기화하는 방법에 대해 설명합니다. 백업 및 복원 기능을 사용하여 복제본을 초기화하는 방법은 복제본 초기화를 참조하십시오.
단일 마스터 시나리오에서 공급자 복원
단일 마스터 공급자로 설정된 접미어에는 전체 복제 토폴로지에 대한 신뢰할 수 있는 데이터가 저장되어 있습니다. 따라서 이 접미어를 복원하면 전체 토폴로지의 모든 데이터를 다시 초기화하는 것과 같습니다. 복원할 백업 내용을 사용하여 모든 데이터를 다시 초기화하려는 경우에만 단일 마스터를 복원해야 합니다.
오류가 발생하여 단일 마스터 데이터를 복원할 수 없는 경우, 소비자 데이터가 백업보다 최신 버전일 수 있으므로 소비자 중 하나에 있는 데이터를 사용하는 방법을 고려해 볼 수 있습니다. 이 경우 소비자 복제본의 데이터를 LDIF 파일로 내보낸 다음 이 LDIF 파일을 사용하여 마스터를 다시 초기화해야 합니다.
마스터 복제본에서 백업을 복원하거나 LDIF 파일을 가져온 경우 이 복제본에서 업데이트를 받는 모든 허브와 소비자 복제본을 다시 초기화해야 합니다. 공급자 서버의 로그 파일에 소비자를 다시 초기화해야 한다는 메시지가 기록됩니다.
다중 마스터 시나리오에서 공급자 복원
다중 마스터 복제에서는 복제된 데이터의 신뢰할 수 있는 복사본이 각각의 마스터에 저장되어 있습니다. 현재의 복제본 내용으로 업데이트되면서 만료된 이전 백업은 복원할 수 없습니다. 가능하면 복제 기법에서 다른 마스터의 내용을 사용하여 마스터를 최신 상태로 유지할 수 있도록 해야 합니다.
이렇게 할 수 없는 경우에만 다음 방법 중 하나로 다중 마스터 복제본을 복원해야 합니다.
- 가장 간단한 방법은 백업을 복원하지 않고 다른 마스터 중 하나를 사용하여 해당 마스터를 다시 초기화하는 것입니다. 이렇게 하면 최신 데이터가 해당 마스터로 전송되어 복제할 수 있도록 준비됩니다. 콘솔에서 복제본 초기화 또는 명령줄에서 복제본 초기화를 참조하십시오.
- 수백만 개의 항목이 있는 복제본의 경우, 새로운 이진 복사 기능을 사용하면 다른 마스터 중 하나에서 받은 최신 백업을 보다 신속하게 복원할 수 있습니다. 이진 복사를 사용한 복제본 초기화를 참조하십시오.
- 마스터의 백업이 다른 마스터 중 어느 하나에 있는 변경 로그 내용의 최대 수명보다 오래되지 않은 경우 이 백업을 사용하여 마스터를 복원할 수 있습니다. 변경 로그 수명에 대한 자세한 내용은 고급 다중 마스터 구성을 참조하십시오. 이전 백업을 복원하면 다른 마스터는 자신의 변경 로그를 사용하여 백업이 저장된 이후에 처리된 모든 수정 사항을 마스터에 업데이트합니다.
복원 또는 다시 초기화하는 방법에 관계 없이 마스터 복제본은 초기화 후에 읽기 전용 모드로 남아 있습니다. 다중 마스터 초기화 후의 수렴에 설명된 것처럼 복제본은 이 동작을 통해 다른 마스터와 동기화할 수 있으며, 그 후에 쓰기 작업이 허용됩니다.
모든 복제본이 동기화된 후에 복원 또는 다시 초기화된 마스터에 대한 쓰기 작업을 허용하는 경우 허브나 소비자 서버를 다시 초기화할 필요가 없다는 이점이 있습니다.
허브 복원
이 절의 내용은, 예를 들어 데이터베이스 파일이 손상되었거나 복제가 장시간 중단된 경우와 같이 복제 기법에서 자동으로 허브 복제본을 최신 상태로 유지할 수 없는 경우에만 적용됩니다. 이 경우 다음 방법 중 하나를 사용하여 허브 복제본을 복원하거나 다시 초기화해야 합니다.
- 가장 간단한 방법은 백업을 복원하지 않고 마스터 복제본 중 하나를 사용하여 허브를 다시 초기화하는 것입니다. 이렇게 하면 최신 데이터가 허브로 전송되어 바로 복제할 수 있는 상태가 됩니다. 콘솔에서 복제본 초기화 또는 명령줄에서 복제본 초기화를 참조하십시오.
- 수백만 개의 항목이 있는 복제본의 경우, 새로운 이진 복사 기능을 사용하면 다른 허브 복제본에서 받은 최신 백업을 보다 신속하게 복원할 수 있습니다. 이진 복사를 사용한 복제본 초기화를 참조하십시오. 복사할 다른 허브 복제본이 없을 경우, 가능하면 앞 단락에 설명된 것처럼 허브를 다시 초기화하거나 다음 단락에 설명된 것처럼 허브를 복원해야 합니다.
- 허브의 백업이 해당 공급자 중 어느 하나(허브 또는 마스터 복제본)에 있는 변경 로그 내용의 최대 수명보다 오래되지 않은 경우 이 백업을 사용하여 허브를 복원할 수 있습니다. 변경 로그 수명에 대한 자세한 내용은 고급 다중 마스터 구성을 참조하십시오. 이전 백업을 복원하면 해당 공급자는 자신의 변경 로그를 사용하여 백업이 저장된 이후에 처리된 모든 수정 사항을 허브에 업데이트합니다.
전용 소비자 복원
이 절의 내용은, 예를 들어 데이터베이스 파일이 손상되었거나 복제가 장시간 중단된 경우와 같이 복제 기법에서 자동으로 전용 소비자 복제본을 최신 상태로 유지할 수 없는 경우에만 적용됩니다. 이 경우 다음 방법 중 하나를 사용하여 소비자를 복원하거나 다시 초기화해야 합니다.
- 가장 간단한 방법은 백업을 복원하지 않고 공급자(마스터 또는 허브 복제본) 중 하나를 사용하여 소비자를 다시 초기화하는 것입니다. 이렇게 하면 최신 데이터가 소비자로 전송되어 바로 복제할 수 있는 상태가 됩니다. 콘솔에서 복제본 초기화 또는 명령줄에서 복제본 초기화를 참조하십시오.
- 수백만 개의 항목이 있는 복제본의 경우, 새로운 이진 복사 기능을 사용하면 다른 소비자 복제본에서 받은 최신 백업을 보다 신속하게 복원할 수 있습니다. 이진 복사를 사용한 복제본 초기화를 참조하십시오. 복사할 다른 소비자가 없을 경우, 가능하면 앞 단락에 설명된 것처럼 허브를 다시 초기화하거나 다음 단락에 설명된 것처럼 복제본을 복원해야 합니다.
- 소비자의 백업이 해당 공급자 중 어느 하나(허브 또는 마스터 복제본)에 있는 변경 로그 내용의 최대 수명보다 오래되지 않은 경우 이 백업을 사용하여 소비자를 복원할 수 있습니다. 변경 로그 수명에 대한 자세한 내용은 고급 다중 마스터 구성을 참조하십시오. 이전 백업을 복원하면 해당 공급자는 자신의 변경 로그를 사용하여 백업이 저장된 이후에 처리된 모든 수정 사항을 허브에 업데이트합니다.
콘솔에서 서버 복원
Directory Server 콘솔을 사용하여 이전에 생성된 백업에서 손상된 디렉토리 데이터를 복원할 수 있습니다. 콘솔을 사용하여 데이터를 복원하려면 Directory Server가 실행 중이어야 합니다. 그러나 복원 중에는 해당 접미어를 사용하여 작업을 처리할 수 없습니다.
이전에 작성한 백업을 사용하여 서버를 복원하려면 다음을 수행합니다.
명령줄에서 서버 복원
다음과 같은 스크립트를 사용하여 명령줄에서 서버를 복원할 수 있습니다.
bak2db 명령 사용
서버가 종료된 동안 명령줄에서 디렉토리를 복원하려면 다음을 수행합니다.
아래 예에서는 기본 백업 디렉토리의 백업을 복원합니다.
/usr/sbin/directoryserver -s example bak2db \
/var/opt/mps/serverroot/slapd-example/bak/2003_07_01_11_34_00자세한 내용은 Directory Server Administration Reference의 1장, "bak2db"를 참조하십시오.
bak2db-task 사용
서버가 실행되는 동안 명령줄에서 디렉토리를 복원하려면 다음 명령을 사용합니다.
다음 예에서는 bak2db-task 명령을 사용하여 백업을 복원합니다. -a 옵션은 백업 디렉토리의 전체 경로를 제공합니다.
/usr/sbin/directoryserver -s example bak2db-task\
-D "cn=Directory Manager" -w password \
-a /var/opt/mps/serverroot/slapd-example/bak/2003_07_01_11_34_00자세한 내용은 Directory Server Administration Reference의 1장, "bak2db-task"를 참조하십시오.
dse.ldif 구성 파일 복원
디렉토리는 아래 디렉토리에 dse.ldif 파일의 백업 복사본 두 개를 작성합니다.
ServerRoot/slapd-serverID/config
dse.ldif.startOK 파일은 서버를 시작할 때 dse.ldif 파일의 복사본을 기록합니다. dse.ldif.bak 파일에는 dse.ldif 파일에 대한 최신 변경 사항의 백업이 저장되어 있습니다. 최신 변경 사항이 저장된 파일을 디렉토리에 복사합니다.
dse.ldif 구성 파일을 복원하려면 다음을 수행합니다.