데이터 백업 및 복원
다음 절차에 따라 IBM Watson® Discovery 에서 데이터를 백업 및 복원합니다.
IBM Cloud Pak for Data IBM Software Hub
이 정보는 설치된 배치에만 적용됩니다.
동일한 백업 및 복원 스크립트 세트를 사용하여 지원되는 업그레이드 경로에서 데이터를 백업하고 복원합니다. 백업 스크립트는 기존 배치에서 백업할 데이터와 함께 서비스의 버전 번호를 저장합니다. 복원 스크립트는 새로운 배포에 설치된 서비스의 버전을 감지한 다음, 감지된 버전으로 데이터를 복원하는 적절한 단계를 따릅니다.
다음 표에는 스크립트에서 지원하는 업그레이드 경로가 나열되어 있습니다.
| 사용 중인 버전 | 업그레이드할 수 있는 버전 |
|---|---|
| 5.1.x | 5.1.x 의 이후 버전, 5.2.0 |
| 5.0.x | 5.0.x, 5.1.x 의 최신 버전, 5.2.0 |
| 4.8.8, 4.8.9 | 5.1.1 이상 버전 |
| 4.8.7 | 4.8.x, 5.1.x 의 최신 버전, 5.2.0 |
| 4.8.6 | 4.8.x, 5.0.3, 5.1.x 의 최신 버전입니다, 5.2.0 |
| 4.8.x | 4.8.x, 5.0.x, 5.1.x 의 최신 버전입니다, 5.2.0 |
| 4.7.x | 4.8.x, 5.0.x, 5.1.x |
| 4.6.x | 4.8.x, 5.0.x, 5.1.x |
| 4.5.x | 4.8.x, 5.0.x, 5.1.x |
| 4.0.x | 4.8.x ( 4.8.0 제외) |
5.2.x 로 업그레이드하는 경우 다음 항목에서 업그레이드를 완료하는 더 간단한 방법을 설명합니다:
- 버전 5.1 에서 Watson Discovery 업그레이드하기.
- Watson 의 업그레이드 버전 Discovery 을 버전 5.0 로 업그레이드합니다.
- Watson 의 업그레이드 버전 Discovery 을 버전 4.8 로 업그레이드합니다.
5.1.x 로 업그레이드하는 경우, 업그레이드를 완료하는 더 간단한 방법이 다음 항목에 설명되어 있습니다
5.0.x로 업그레이드하는 경우 업그레이드를 완료하는 더 간단한 방법이 다음 주제에 설명되어 있습니다.
IBM Cloud Pak for Data Red Hat OpenShift APIs for Data Protection (OADP) 백업 및 복원 유틸리티를 사용하여 전체 클러스터를 오프라인 백업 및 복원하는 경우 몇 가지 추가 단계가 필요합니다. 자세한 정보는 OADP 를 사용하여 Discovery 가 설치된 클러스터 백업 을 참조하십시오. 온라인 OADP 백업 및 복원에 대한 정보는 Cloud Pak for Data 온라인 백업 및 복원을 참조하십시오.
하나의 4.8.x 버전에서 이후 4.8.y 버전으로 인플레이스 업그레이드를 수행할 수 있습니다. 자세한 정보는 버전 4.8.x 에서 이후 4.8 새로 고치기로 Watson Discovery 업그레이드를 참조하십시오.
하나의 4.7.x 버전에서 이후 4.7.y 버전으로 인플레이스 업그레이드를 수행할 수 있습니다. 자세한 정보는 버전 4.7.x 에서 이후 4.7 새로 고치기로 Watson Discovery 업그레이드를 참조하십시오.
하나의 4.6.x 버전에서 이후 4.6.y 버전으로 인플레이스 업그레이드를 수행할 수 있습니다. 자세한 정보는 버전 4.6.x 에서 이후 4.6 새로 고치기로 Watson Discovery 업그레이드를 참조하십시오.
하나의 4.5.x 버전에서 이후 4.5.y 버전으로 인플레이스 업그레이드를 수행할 수 있습니다. 자세한 정보는 Watson Discovery 를 최신 버전 4.5 새로 고치기로 업그레이드를 참조하십시오.
하나의 4.0.x 버전에서 이후 4.0.y 버전으로 인플레이스 업그레이드를 수행할 수 있습니다. 자세한 정보는 Watson Discovery 를 새 4.0 새로 고치기로 업그레이드를 참조하십시오.
프로세스 개요
상위 레벨에서 프로세스에는 다음 단계가 포함됩니다.
- 백업 스크립트를 사용하여 Discovery 데이터를 백업하십시오.
- IBM Cloud Pak for Data 의 최신 버전을 설치합니다.
- 클러스터에 최신 버전의 Discovery 서비스를 설치하십시오.
- 복원 스크립트를 사용하여 백업된 Discovery 데이터를 복원하십시오.
백업 및 복원 제한 사항
다음 데이터는 마이그레이션할 수 없습니다:
- 사전 제안 모델. 이러한 모델은 사전을 빌드할 때 작성됩니다. 사전은 백업에 포함되지만 용어 제안 모델은 포함되지 않습니다. 사전 용어 제안을 사용하도록 마이그레이션된 콜렉션을 다시 처리하십시오.
- 큐레이션은 베타 기능이므로 큐레이션을 백업 및 복원하거나 마이그레이션할 수 없습니다.
백업 및 복원 스크립트를 사용하여 일부 데이터를 백업 및 복원할 수 있지만 다른 데이터는 수동으로 백업 및 복원해야 합니다. 다음 데이터를 수동으로 백업해야 합니다.
- 로컬 파일 시스템 데이터 소스를 사용하여 크롤링할 수 있는 로컬 파일 시스템 폴더 및 문서.
콜렉션을 복원할 때 다음과 같이 업데이트됩니다.
- 데이터를 업로드하여 작성된 문서를 포함하는 모든 콜렉션은 복원될 때 자동으로 다시 크롤링되고 다시 인덱싱됩니다. 이러한 문서에는 복원된 컬렉션에서 새 문서 ID 번호가 할당됩니다.
- Content Mining 프로젝트에서 사용된 콜렉션은 복원될 때 자동으로 다시 크롤링되고 다시 인덱싱됩니다. 데이터를 업로드하여 추가된 문서에만 복원된 콜렉션의 새 문서 ID 번호가 지정됩니다.
백업 및 복원 방법
수동으로 또는 스크립트를 사용하여 Discovery 의 인스턴스를 백업하고 복원할 수 있습니다.
Discovery 클러스터 (백업할 데이터가 저장되는 위치) 의 Discovery 인스턴스에 대한 관리 액세스 권한 및 새 인스턴스 (데이터를 복원할 위치) 에 대한 관리 액세스 권한이 있어야 합니다.
백업 및 복원 스크립트는 많은 조작을 완료하며 실행하는 데 상당한 시간이 걸릴 수 있습니다. 제한시간 초과 문제를 방지하려면 제한시간 초과를 방지하는 도구 (예: nohup) 를 실행하십시오.
백업 스크립트 사용
백업 중에 IBM Watson® Discovery 에 저장된 데이터를 변경하면 백업이 손상되어 사용할 수 없게 될 수 있으므로 백업 기간 동안에는 기내 요청이 허용되지 않습니다.
인플라이트 요청은 다음 조치를 포함하여 데이터를 처리하는 IBM Watson® Discovery 조치입니다.
- 소스 크롤링 (스케줄됨 또는 스케줄되지 않음)
- 문서 수집
- 훈련된 조회 모델 훈련
백업 스크립트를 실행하는 노드에서 사용 가능한 스토리지 크기는 백업하려는 데이터 저장소의 가장 큰 백업 파일 크기의 3배가 되어야 합니다. 데이터 저장소가 큰 경우 노드의 임시 스토리지에 의존하는 대신 지속적 볼륨 청구를 사용하는 것을 고려하십시오. 자세한 정보는 PVC를 사용하도록 작업 구성 을 참조하십시오.
백업 스크립트를 사용하여 IBM Watson® Discovery 데이터를 백업하려면 다음 단계를 완료하세요:
-
다음 명령을 입력하여 Discovery 인스턴스가 배치된 현재 네임스페이스를 설정하십시오.
oc project <namespace> -
GitHub 저장소에서 백업 스크립트를 가져오십시오.
백업 및 복원을 완료하려면 저장소의 모든 파일이 필요합니다. GitHub 도움말의 안내에 따라 리포지토리의 압축 파일을 복제하거나 다운로드합니다.
-
다음 명령을 실행하여 각 스크립트를 실행 파일로 만드십시오.
chmod +x <name-of-script><name-of-script>을 스크립트의 이름으로 바꾸십시오. -
all-backup-restore.sh스크립트를 실행하십시오../all-backup-restore.sh backup [ -f backup_file_name ] [--pvc]-f backup_file_name매개변수는 선택사항입니다. 이름을 지정하지 않으면watson_discovery_<timestamp>.backup이름이 사용됩니다.--pvc매개변수는 선택사항입니다. 사용 시기에 대한 자세한 정보는 PVC를 사용하도록 작업 구성 을 참조하십시오. 기본적으로 백업 및 복원 스크립트는 스크립트가 백업 파일을 추출하거나 압축하는 데 사용하는 현재 디렉토리에tmp디렉토리를 작성합니다.백업에 문제가 발생하면 백업 명령을 다시 실행하고
--use-job매개변수를 포함시키십시오. 이 매개변수는 기본적으로 Kubernetes 작업을 사용하는 Postgres외에 Kubernetes 작업을 사용하여 ElasticSearch 및 MinIO 를 백업하도록 백업 스크립트에 지시합니다. ElasticSearch 및 MinIO 의 데이터 크기가 크고 임시 스토리지가 충분하지 않은 경우--pvc옵션을 포함하십시오. 이를 수행할 때 스크립트는emptyDir임시 스토리지 대신--pvc옵션으로 지정된 지속적 볼륨 청구를 작업의 임시 작업 디렉토리로 사용합니다.
백업 아카이브 파일에서 파일 추출
스크립트는 1단계에서나열된 서비스의 백업 파일을 포함하여 아카이브 파일을 생성합니다.
-
다음 명령을 실행하여 아카이브 파일에서 파일을 추출할 수 있습니다.
tar xvf <backup_file_name>
PVC를 사용하도록 작업 구성
백업 및 복원 프로세스는 Kubernetes 작업을 사용합니다. 작업은 임시 기억장치를 사용하는 임시 볼륨을 사용합니다. 노드의 로컬 스토리지를 사용하는 팟 (Pod) 의 임시 스토리지 마운트입니다. 드문 경우지만 임시 스토리지가 충분히 크지 않습니다. 백업 데이터를 저장하는 데 사용할 팟 (Pod) 에 PVC (Persistent Volume Claim) 를 마운트하도록 작업에 선택적으로 지시할 수 있습니다. 이를 수행하려면
스크립트를 실행할 때 --pvc 옵션을 지정하십시오. 스크립트는 그렇지 않으면 Kubernetes 의 emptyDir 를 사용합니다.
대부분의 경우 지속적 볼륨을 사용할 필요가 없습니다. 지속적 볼륨을 사용하도록 선택하는 경우 볼륨은 데이터 저장소에서 가장 큰 백업 파일보다 3배커야 합니다. 데이터 저장소의 백업 파일 크기는 사용법에 따라 다릅니다. 백업을 작성한 후 아카이브 파일에서 파일을 추출 하여 파일 크기를 확인할 수 있습니다.
또한 데이터의 아카이브가 분할된 후 다시 결합되어 클러스터 노드에서 로컬 시스템으로 대형 파일을 복사할 때 발생할 수 있는 문제를 방지하기 위해 데이터 저장소의 크기만큼 로컬 시스템에서 사용 가능한 디스크 공간이 두 배가 되어야 합니다.
다중 테넌트 클러스터 맵핑
4.0.6 이전 버전에서 이후 릴리스로 백업된 데이터를 복원하고 백업된 배치에 둘 이상의 서비스 인스턴스가 프로비저닝된 경우 추가 단계가 필요합니다. 백업된 클러스터와 데이터가 복원되는 클러스터 간에 서비스 인스턴스 ID를 맵핑하는 JSON 파일을 작성해야 합니다.
백업 및 복원 단계 사이에 인스턴스 ID가 변경되지 않은 경우에는 이 맵핑 단계가 필요하지 않습니다. 예를 들어, 데이터가 백업된 동일한 클러스터로 데이터를 복원하거나 Discovery 인스턴스가 없는 새 클러스터로 데이터를 복원하는 경우 이 단계를 건너뛸 수 있습니다.
매핑을 만들려면 다음 단계를 완료합니다:
-
백업 아카이브 파일에서 맵핑 템플리트 파일을 추출하십시오.
tar xf <backup_file_name> tmp/instance_mapping.json -O > <mapping_file_name> -
데이터가 복원되는 클러스터에 프로비저닝되는 서비스 인스턴스의 이름 및 인스턴스 ID 목록을 작성하십시오.
인스턴스 ID는 인스턴스 요약 페이지에 명시된 인스턴스 정보( URL )의 일부입니다. IBM Cloud Pak for Data 의 웹 클라이언트 메인 메뉴에서 서비스를 확장한 다음 인스턴스를 클릭합니다. 인스턴스를 찾은 후 클릭하여 해당 요약 페이지를 여십시오. 페이지의 액세스 정보 섹션으로 스크롤하여 URL 필드에서 인스턴스 ID를 찾으세요.
예를 들어,
https://<host_name>/wd/<namespace>-wd/instances/<instance_id>/api입니다.이 단계를 반복하여 프로비저닝되는 모든 인스턴스의 인스턴스 ID를 기록해 두십시오.
-
맵핑 파일을 편집하십시오.
이전 단계에서 나열한 대상 서비스 인스턴스의 인스턴스 ID를 추가하십시오. 다음 스니펫은 매핑 파일의 예시입니다.
{ "instance_mappings": [ { "display_name": "discovery-1", "source_instance_id": "1644822491506334", "dest_instance_id": "<new_instance_id>" }, { "display_name": "discovery-2", "source_instance_id": "1644822552830325", "dest_instance_id": "<new_instance_id>" } ] }
복원 스크립트를 실행할 때 선택적 --mapping 매개변수를 포함하여 데이터가 복원될 때 이 맵핑 파일을 적용하십시오.
수동으로 데이터 백업
스크립트를 사용하여 백업되지 않은 데이터를 수동으로 백업하십시오.
Discovery 인스턴스의 데이터를 수동으로 백업하려면 다음 단계를 완료하십시오.
-
다음 명령을 입력하여 Discovery 클러스터에 로그온하십시오.
oc login https://<OpenShift administrative console URL> \ -u <cluster administrator username> -p <password> -
적절한 네임스페이스로 전환하려면 다음 명령을 입력하십시오.
oc project <discovery-install namespace> -
oc get pods|grep crawler을 입력하십시오. -
다음 명령을 입력하십시오.
oc cp <crawler pod>:/mnt <path-to-backup-directory>
복원 스크립트 사용
4.0.6 이전 버전에서 데이터를 복원하고 다중 테넌트 클러스터를 다중 테넌트 클러스터로 복원하는 경우 시작하기 전에 추가 단계를 수행해야 합니다. 자세한 정보는 다중 테넌트 클러스터 맵핑 을 참조하십시오.
복원 스크립트를 사용하여 IBM Watson® Discovery 에서 데이터를 복원하려면 다음 단계를 완료하세요:
-
다음 명령을 입력하여 Discovery 인스턴스가 배치된 현재 네임스페이스를 설정하십시오.
oc project <namespace> -
아직 수행하지 않은 경우 GitHub 저장소에서 복원 스크립트를 가져오십시오.
백업 및 복원을 완료하려면 저장소의 모든 파일이 필요합니다. GitHub 도움말의 안내에 따라 리포지토리의 압축 파일을 복제하거나 다운로드합니다.
-
다음 명령을 실행하여 각 스크립트를 실행 파일로 만드십시오.
chmod +x <name-of-script><name-of-script>을 스크립트의 이름으로 바꾸십시오. -
다음 명령을 실행하여 로컬 시스템의 백업 파일에서 새 Discovery 배포로 데이터를 복원합니다:
./all-backup-restore.sh restore -f backup_file_name [--pvc] [--mapping]--pvc매개변수는 선택사항입니다. 사용 시기에 대한 자세한 정보는 PVC를 사용하도록 작업 구성 을 참조하십시오.--mapping매개변수는 선택사항입니다. 이를 사용하는 시기에 대한 자세한 정보는 다중 테넌트 클러스터 맵핑 을 참조하십시오.기본적으로 백업 및 복원 스크립트는 스크립트가 백업 파일을 추출하거나 압축하는 데 사용하는 현재 디렉토리에
tmp디렉토리를 작성합니다. 데이터를 백업할 때--use-job매개변수를 사용한 경우 데이터를 복원할 때 다시 지정하십시오. 이 매개변수는 Kubernetes 작업을 사용하여 ElasticSearch 및 MinIO를 백업하도록 백업 스크립트에 지시합니다.gateway,ingestion,orchestrator,hadoop worker,controller파드가 자동으로 다시 시작됩니다.
수동으로 데이터 복원
스크립트를 사용하여 복원할 수 없는 데이터를 수동으로 복원하십시오.
Discovery 인스턴스의 데이터를 수동으로 복원하려면 다음 단계를 완료하십시오.
-
다음 명령을 입력하여 Discovery 클러스터에 로그온하십시오.
oc login https://<OpenShift administrative console URL> \ -u <cluster administrator username> -p <password> -
적절한 네임스페이스로 전환하려면 다음 명령을 입력하십시오.
oc project <discovery-install namespace> -
oc get pods|grep crawler을 입력하십시오. -
다음 명령을 입력하십시오.
oc cp <path-to-backup-directory> <crawler pod>:/mnt
OADP 를 사용하여 Discovery 가 설치된 클러스터 오프라인 백업
IBM Cloud Pak for Data Red Hat OpenShift API for Data Protection (OADP) 백업 및 복원 유틸리티를 사용하여 전체 IBM Cloud Pak for Data 인스턴스를 오프라인으로 백업하고 복원하려는 경우, Discovery 가 있을 때 유틸리티가 제대로 작동하려면 올바른 순서로 몇 가지 추가 단계를 수행해야 합니다. Cloud Pak for Data 오프라인 백업 및 복원(OADP 유틸리티)을 참조하십시오.
클러스터 오프라인 백업
클러스터의 오프라인 백업을 수행하려면 다음 단계를 완료하십시오.
-
Discovery 백업 스크립트 를 실행하십시오.
-
OADP 백업 유틸리티 를 사용하여 클러스터를 백업하십시오.
클러스터 오프라인 복원
클러스터를 오프라인으로 복원하려면 다음 단계를 완료하세요:
-
OADP 백업 유틸리티 를 사용하여 클러스터를 복원하십시오.
-
Discovery를 설치 제거한 후 복원된 클러스터에 Discovery 를 다시 설치하십시오.
유틸리티가 항상 Discovery 를 올바르게 재설치하지 않으므로 재설치가 필요합니다.
-
Discovery 복원 스크립트 를 실행하여 데이터를 복원하십시오.