4.5. OADP 사용 사례
4.5.1. 데이터 보호 및 {odf-first}용 OpenShift API를 사용한 백업 링크 복사링크가 클립보드에 복사되었습니다!
다음은 애플리케이션을 백업하기 위해 OADP 및 {odf-short}을 사용하는 사용 사례입니다.
4.5.1.1. OADP 및 {odf-short}을 사용하여 애플리케이션 백업 링크 복사링크가 클립보드에 복사되었습니다!
이 사용 사례에서는 OADP를 사용하여 애플리케이션을 백업하고 {odf-first}에서 제공하는 오브젝트 스토리지에 백업을 저장합니다.
- OBC(오브젝트 버킷 클레임)를 생성하여 백업 스토리지 위치를 구성합니다. {odf-short}을 사용하여 Amazon S3 호환 오브젝트 스토리지 버킷을 구성합니다. {odf-short}은 MultiCloud Object Gateway(NooBaa MCG) 및 Ceph Object Gateway(RGW), 개체 스토리지 서비스라고도 합니다. 이 사용 사례에서는 NooBaa MCG를 백업 스토리지 위치로 사용합니다.
-
aws공급자 플러그인을 사용하여 OADP와 함께 NooBaa MCG 서비스를 사용합니다. - BPA(데이터 보호 애플리케이션)를 백업 스토리지 위치(BSL)로 구성합니다.
- 백업 CR(사용자 정의 리소스)을 생성하고 백업할 애플리케이션 네임스페이스를 지정합니다.
- 백업을 생성하고 확인합니다.
사전 요구 사항
- OADP Operator가 설치되어 있습니다.
- {odf-short} Operator를 설치했습니다.
- 별도의 네임스페이스에서 실행 중인 데이터베이스가 있는 애플리케이션이 있습니다.
절차
다음 예와 같이 OBC 매니페스트 파일을 생성하여 NooBaa MCG 버킷을 요청합니다.
OBC의 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 OBC를 생성합니다.
oc create -f <obc_file_name>
$ oc create -f <obc_file_name>1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 오브젝트 버킷 클레임 매니페스트의 파일 이름을 지정합니다.
OBC를 생성할 때 {odf-short}은 오브젝트 버킷 클레임과 동일한 이름의
시크릿및구성 맵을 생성합니다.시크릿에는 버킷 인증 정보가 있으며구성 맵에는 버킷에 액세스하는 데 필요한 정보가 있습니다. 생성된 구성 맵에서 버킷 이름과 버킷 호스트를 가져오려면 다음 명령을 실행합니다.oc extract --to=- cm/test-obc
$ oc extract --to=- cm/test-obc1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
test-obc는 OBC의 이름입니다.
출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 생성된
보안에서 버킷 인증 정보를 가져오려면 다음 명령을 실행합니다.oc extract --to=- secret/test-obc
$ oc extract --to=- secret/test-obcCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY
# AWS_ACCESS_KEY_ID ebYR....xLNMc # AWS_SECRET_ACCESS_KEY YXf...+NaCkdyC3QPymCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여
openshift-storage네임스페이스의 s3 경로에서 S3 끝점의 공용 URL을 가져옵니다.oc get route s3 -n openshift-storage
$ oc get route s3 -n openshift-storageCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령에 표시된 대로 오브젝트 버킷 인증 정보를 사용하여
cloud-credentials파일을 만듭니다.[default] aws_access_key_id=<AWS_ACCESS_KEY_ID> aws_secret_access_key=<AWS_SECRET_ACCESS_KEY>
[default] aws_access_key_id=<AWS_ACCESS_KEY_ID> aws_secret_access_key=<AWS_SECRET_ACCESS_KEY>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령에 표시된 대로
cloud-credentials파일 콘텐츠를 사용하여cloud-credentials시크릿을 생성합니다.oc create secret generic \ cloud-credentials \ -n openshift-adp \ --from-file cloud=cloud-credentials
$ oc create secret generic \ cloud-credentials \ -n openshift-adp \ --from-file cloud=cloud-credentialsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 예와 같이 DPA(Data Protection Application)를 구성합니다.
DPA 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 DPA를 생성합니다.
oc apply -f <dpa_filename>
$ oc apply -f <dpa_filename>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 DPA가 성공적으로 생성되었는지 확인합니다. 예제 출력에서
status오브젝트에type필드가Reconciled으로 설정되어 있음을 확인할 수 있습니다. 즉, DPA가 성공적으로 생성됩니다.oc get dpa -o yaml
$ oc get dpa -o yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 백업 스토리지 위치(BSL)를 사용할 수 있는지 확인합니다.
oc get backupstoragelocations.velero.io -n openshift-adp
$ oc get backupstoragelocations.velero.io -n openshift-adpCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
NAME PHASE LAST VALIDATED AGE DEFAULT dpa-sample-1 Available 3s 15s true
NAME PHASE LAST VALIDATED AGE DEFAULT dpa-sample-1 Available 3s 15s trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 예와 같이 백업 CR을 구성합니다.
백업 CR 예시
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 애플리케이션을 백업할 네임스페이스를 지정합니다.
다음 명령을 실행하여 백업 CR을 만듭니다.
oc apply -f <backup_cr_filename>
$ oc apply -f <backup_cr_filename>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
다음 명령을 실행하여 백업 오브젝트가
Completed단계에 있는지 확인합니다. 자세한 내용은 예제 출력을 참조하십시오.oc describe backup test-backup -n openshift-adp
$ oc describe backup test-backup -n openshift-adpCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.5.2. OADP(OpenShift API for Data Protection) 복원 사용 사례 링크 복사링크가 클립보드에 복사되었습니다!
다음은 OADP를 사용하여 다른 네임스페이스로 백업을 복원하는 사용 사례입니다.
4.5.2.1. OADP를 사용하여 애플리케이션을 다른 네임스페이스로 복원 링크 복사링크가 클립보드에 복사되었습니다!
OADP를 새 대상 네임스페이스 test-restore-application 에 사용하여 애플리케이션 백업을 복원합니다. 백업을 복원하려면 다음 예와 같이 복원 사용자 정의 리소스(CR)를 생성합니다. restore CR에서 소스 네임스페이스는 백업에 포함된 애플리케이션 네임스페이스를 나타냅니다. 그런 다음 프로젝트를 새 복원 네임스페이스로 변경하고 리소스를 확인하여 복원을 확인합니다.
사전 요구 사항
- OADP Operator를 설치했습니다.
- 복원할 애플리케이션의 백업이 있습니다.
프로세스
다음 예와 같이 복원 CR을 생성합니다.
CR 복원 예시
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 복원 CR을 적용합니다.
oc apply -f <restore_cr_filename>
$ oc apply -f <restore_cr_filename>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
다음 명령을 실행하여 복원이
완료된단계에 있는지 확인합니다.oc describe restores.velero.io <restore_name> -n openshift-adp
$ oc describe restores.velero.io <restore_name> -n openshift-adpCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 복원된 네임스페이스
test-restore-application로 변경합니다.oc project test-restore-application
$ oc project test-restore-applicationCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 영구 볼륨 클레임(pvc), 서비스(svc), 배포, 시크릿, 구성 맵과 같은 복원된 리소스를 확인합니다.
oc get pvc,svc,deployment,secret,configmap
$ oc get pvc,svc,deployment,secret,configmapCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.5.3. 백업 중 자체 서명된 CA 인증서 포함 링크 복사링크가 클립보드에 복사되었습니다!
DPA(Data Protection Application)에 자체 서명된 CA(인증 기관) 인증서를 추가한 다음 애플리케이션을 백업할 수 있습니다. {odf-first}에서 제공하는 NooBaa 버킷에 백업을 저장합니다.
4.5.3.1. 애플리케이션 및 자체 서명된 CA 인증서 백업 링크 복사링크가 클립보드에 복사되었습니다!
{odf-short}에서 제공하는 s3.openshift-storage.svc 서비스는 자체 서명된 서비스 CA로 서명된 TLS(Transport Layer Security Protocol) 인증서를 사용합니다.
알 수 없는 기관 오류로 서명된 인증서 를 방지하려면 DataProtectionApplication CR(사용자 정의 리소스)의 백업 스토리지 위치(BSL) 섹션에 자체 서명된 CA 인증서를 포함해야 합니다. 이 경우 다음 작업을 완료해야 합니다.
- OBC(오브젝트 버킷 클레임)를 생성하여 NooBaa 버킷을 요청합니다.
- 버킷 세부 정보를 추출합니다.
-
DataProtectionApplicationCR에 자체 서명된 CA 인증서를 포함합니다. - 애플리케이션을 백업합니다.
사전 요구 사항
- OADP Operator가 설치되어 있습니다.
- {odf-short} Operator를 설치했습니다.
- 별도의 네임스페이스에서 실행 중인 데이터베이스가 있는 애플리케이션이 있습니다.
절차
다음 예와 같이 OBC 매니페스트를 생성하여 NooBaa 버킷을 요청합니다.
ObjectBucketClaimCR의 예Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 OBC를 생성합니다.
oc create -f <obc_file_name>
$ oc create -f <obc_file_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow OBC를 생성할 때 {odf-short}은 오브젝트 버킷 클레임과 동일한 이름의
시크릿및ConfigMap을 생성합니다.보안오브젝트에는 버킷 인증 정보가 포함되어 있으며ConfigMap오브젝트에는 버킷에 액세스하는 데 필요한 정보가 포함되어 있습니다. 생성된 구성 맵에서 버킷 이름과 버킷 호스트를 가져오려면 다음 명령을 실행합니다.oc extract --to=- cm/test-obc
$ oc extract --to=- cm/test-obc1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- OBC의 이름은
test-obc입니다.
출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 보안오브젝트에서 버킷 인증 정보를 가져오려면 다음 명령을 실행합니다.oc extract --to=- secret/test-obc
$ oc extract --to=- secret/test-obcCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY
# AWS_ACCESS_KEY_ID ebYR....xLNMc # AWS_SECRET_ACCESS_KEY YXf...+NaCkdyC3QPymCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 예제 구성을 사용하여 오브젝트 버킷 자격 증명으로
cloud-credentials파일을 생성합니다.[default] aws_access_key_id=<AWS_ACCESS_KEY_ID> aws_secret_access_key=<AWS_SECRET_ACCESS_KEY>
[default] aws_access_key_id=<AWS_ACCESS_KEY_ID> aws_secret_access_key=<AWS_SECRET_ACCESS_KEY>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여
cloud-credentials파일 콘텐츠를 사용하여cloud-credentials시크릿을 생성합니다.oc create secret generic \ cloud-credentials \ -n openshift-adp \ --from-file cloud=cloud-credentials
$ oc create secret generic \ cloud-credentials \ -n openshift-adp \ --from-file cloud=cloud-credentialsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여
openshift-service-ca.crt구성 맵에서 서비스 CA 인증서를 추출합니다. 인증서를Base64형식으로 인코딩하고 다음 단계에서 사용할 값을 기록해야 합니다.oc get cm/openshift-service-ca.crt \ -o jsonpath='{.data.service-ca\.crt}' | base64 -w0; echo$ oc get cm/openshift-service-ca.crt \ -o jsonpath='{.data.service-ca\.crt}' | base64 -w0; echoCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0... ....gpwOHMwaG9CRmk5a3....FLS0tLS0K
LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0... ....gpwOHMwaG9CRmk5a3....FLS0tLS0KCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 예와 같이 버킷 이름 및 CA 인증서를 사용하여
DataProtectionApplicationCR 매니페스트 파일을 구성합니다.Example
DataProtectionApplicationCRCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여
DataProtectionApplicationCR을 생성합니다.oc apply -f <dpa_filename>
$ oc apply -f <dpa_filename>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여
DataProtectionApplicationCR이 성공적으로 생성되었는지 확인합니다.oc get dpa -o yaml
$ oc get dpa -o yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 백업 스토리지 위치(BSL)를 사용할 수 있는지 확인합니다.
oc get backupstoragelocations.velero.io -n openshift-adp
$ oc get backupstoragelocations.velero.io -n openshift-adpCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
NAME PHASE LAST VALIDATED AGE DEFAULT dpa-sample-1 Available 3s 15s true
NAME PHASE LAST VALIDATED AGE DEFAULT dpa-sample-1 Available 3s 15s trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 예제를 사용하여
BackupCR을 구성합니다.BackupCR의 예Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 애플리케이션을 백업할 네임스페이스를 지정합니다.
다음 명령을 실행하여
BackupCR을 생성합니다.oc apply -f <backup_cr_filename>
$ oc apply -f <backup_cr_filename>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
다음 명령을 실행하여
Backup오브젝트가Completed단계에 있는지 확인합니다.oc describe backup test-backup -n openshift-adp
$ oc describe backup test-backup -n openshift-adpCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow