4.2. OADP 릴리스 노트
OADP(OpenShift API for Data Protection)의 릴리스 노트는 새로운 기능 및 개선 사항, 더 이상 사용되지 않는 기능, 제품 권장 사항, 알려진 문제, 해결된 문제를 설명합니다.
OADP에 대한 자세한 내용은 OADP (OpenShift API for Data Protection) FAQ를 참조하십시오.
OADP(OpenShift API for Data Protection) 1.4.2 릴리스 노트에는 새로운 기능, 해결된 문제 및 버그 및 알려진 문제가 나열됩니다.
4.2.1.1.1. 새로운 기능 링크 복사
VolumePolicy 기능을 사용하여 동일한 네임스페이스에 다른 볼륨을 백업할 수 있음
이번 릴리스에서는 Velero가 VolumePolicy
기능을 사용하여 동일한 네임스페이스에 다른 볼륨을 백업하는 리소스 정책을 제공합니다. 다른 볼륨을 백업하기 위해 지원되는 VolumePolicy
기능에는 skip
,snapshot
, fs-backup
작업이 포함됩니다. OADP-1071
파일 시스템 백업 및 데이터 이동기에서 단기 자격 증명을 사용할 수 있음
파일 시스템 백업 및 데이터 이동자는 이제 AWS STS(보안 토큰 서비스) 및 GCP WIF와 같은 단기 인증 정보를 사용할 수 있습니다. 이 지원을 통해 PartiallyFailed
상태 없이 백업이 성공적으로 완료됩니다. OADP-5095
4.2.1.1.2. 해결된 문제 링크 복사
이제 VSL에 잘못된 공급자 값이 포함된 경우 DPA에서 오류를 보고합니다.
이전에는 VSL( Volume Snapshot Location) 사양 공급자가 잘못된 경우 DPA(데이터 보호 애플리케이션)가 성공적으로 조정되었습니다. 이번 업데이트를 통해 DPA는 유효한 공급자 값에 대한 오류 및 요청을 보고합니다. OADP-5044
데이터 Mover 복원은 백업 및 복원을 위해 다른 OADP 네임스페이스를 사용하는 것과 관계없이 성공
이전 버전에서는 하나의 네임스페이스에 설치된 OADP를 사용하여 백업 작업을 실행했지만 다른 네임스페이스에 설치된 OADP를 사용하여 복원할 때 Data Mover 복원에 실패했습니다. 이번 업데이트를 통해 Data Mover 복원이 성공적으로 수행됩니다. OADP-5460
SSE-C 백업은 계산된 MD5 보안 키에서 작동합니다.
이전에는 백업에 다음 오류와 함께 실패했습니다.
Requests specifying Server Side Encryption with Customer provided keys must provide the client calculated MD5 of the secret key.
Requests specifying Server Side Encryption with Customer provided keys must provide the client calculated MD5 of the secret key.
이번 업데이트를 통해 이제 SSE-C(Customer-C) base64 및 MD5 해시를 사용하여 Server-Side 암호화가 수정되었습니다. 결과적으로 SSE-C 백업은 계산된 MD5의 시크릿 키와 함께 작동합니다. 또한 customerKey
크기에 대한 잘못된 오류
도 수정되었습니다. OADP-5388
이 릴리스에서 해결된 모든 문제의 전체 목록은 Jira의 OADP 1.4.2 해결 문제 목록을 참조하십시오.
4.2.1.1.3. 확인된 문제 링크 복사
Data Mover 복원 작업에 nodeSelector 사양이 지원되지 않음
nodeAgent
매개변수에 설정된 nodeSelector
필드를 사용하여 DPA(데이터 보호 애플리케이션)가 생성되면 복원 작업을 완료하는 대신 데이터 Mover 복원이 부분적으로 실패합니다. OADP-5260
TLS 건너뛰기 확인이 지정되면 S3 스토리지에서 프록시 환경을 사용하지 않습니다.
이미지 레지스트리 백업에서 insecureSkipTLSVerify
매개변수가 true
로 설정된 경우 S3 스토리지에서 프록시 환경을 사용하지 않습니다. OADP-3143
Kopia는 백업 만료 후 아티팩트를 삭제하지 않습니다.
백업을 삭제한 후에도 Kopia는 백업이 만료된 후 ${bucket_name}/kopia/$openshift-adp
에서 볼륨 아티팩트를 삭제하지 않습니다. 자세한 내용은 "Kopia 리포지토리 유지 관리"를 참조하십시오. OADP-5131
OADP(OpenShift API for Data Protection) 1.4.1 릴리스 노트에는 새로운 기능, 해결된 문제 및 버그 및 알려진 문제가 나열됩니다.
4.2.1.2.1. 새로운 기능 링크 복사
클라이언트 qps 및 버스트 업데이트를 위한 새로운 DPA 필드
새로운 DPA(Data Protection Application) 필드를 사용하여 초당 Velero 서버 Kubernetes API 쿼리 및 버스트 값을 변경할 수 있습니다. 새 DPA 필드는 spec.configuration.velero.client-qps
및 spec.configuration.velero.client-burst
입니다. 기본값은 100입니다. OADP-4076
Kopia를 사용하여 기본이 아닌 알고리즘 활성화
이번 업데이트를 통해 이제 Kopia에서 해시, 암호화 및 분할 알고리즘을 구성하여 기본이 아닌 옵션을 선택하여 다른 백업 워크로드에 대한 성능을 최적화할 수 있습니다.
이러한 알고리즘을 구성하려면 DPA(DataProtectionApplication) 구성의 podConfig
섹션에서 velero
Pod의 env
변수를 설정합니다. 이 변수가 설정되지 않았거나 지원되지 않는 알고리즘이 선택되면 Kopia는 기본적으로 표준 알고리즘으로 설정됩니다. OADP-4640
4.2.1.2.2. 해결된 문제 링크 복사
Pod 없이 백업 복원이 성공적으로 수행됨
이전 버전에서는 Pod 없이 백업을 복원하고 StorageClass VolumeBindingMode
가 WaitForFirstConsumer
로 설정된 경우 다음과 같은 오류가 발생했습니다. err: 컨텍스트 데드가 초과
되었습니다. 이번 업데이트를 통해 동적 PV 패치를 건너뛰고 백업 복원은
PartiallyFailed
상태 없이 성공적으로 수행됩니다. OADP-4231
PodVolumeBackup CR에 올바른 메시지가 표시됨
이전에는 PodVolumeBackup
CR(사용자 정의 리소스)에서 잘못된 메시지를 생성했습니다. 즉, 서버를 시작하는 동안 "InProgress" 상태의 podvolumebackup을 가져와서 "Failed"로
표시했습니다. 이번 업데이트를 통해 생성된 메시지가 이제 다음과 같습니다.
found a podvolumebackup with status "InProgress" during the server starting, mark it as "Failed".
found a podvolumebackup with status "InProgress" during the server starting, mark it as "Failed".
DPA를 사용하여 imagePullPolicy를 덮어쓸 수 있음
이전에는 OADP가 모든 이미지에 대해 imagePullPolicy
매개변수를 Always
로 설정합니다. 이번 업데이트를 통해 OADP는 각 이미지에 sha256
또는 sha512
다이제스트가 포함되어 있는지 확인한 다음 imagePullPolicy
를 IfNotPresent
로 설정합니다. 그러지 않으면 imagePullPolicy
가 Always
로 설정됩니다. 이제 새 spec.containerImagePullPolicy
DPA 필드를 사용하여 이 정책을 덮어쓸 수 있습니다. OADP-4172
초기 업데이트가 실패하면 OADP Velero에서 복원 상태 업데이트를 다시 시도할 수 있습니다.
이전에는 OADP Velero가 복원된 CR 상태를 업데이트하지 못했습니다. 그러면 InProgress
가 무기한 상태가 되었습니다. 백업에 의존하여 CR 상태를 복원하여 완료를 확인하는 구성 요소가 실패했습니다. 이번 업데이트를 통해 복원 CR 상태가 Completed
또는 Failed
상태로 올바르게 진행됩니다. OADP-3227
다른 클러스터에서 BuildConfig 빌드 복원은 오류 없이 성공적으로 수행됩니다.
이전 버전에서는 다른 클러스터에서 BuildConfig
Build 리소스의 복원을 수행할 때 애플리케이션에서 내부 이미지 레지스트리에 대한 TLS 확인에 오류가 발생했습니다. 이로 인해 인증서 확인 실패: x509: certificate signed by unknown authority
오류가 발생했습니다. 이번 업데이트를 통해 BuildConfig
빌드 리소스를 다른 클러스터로 복원하면 인증서 오류를 확인하지 못했습니다
. OADP-4692
빈 PVC를 복원하는 데 성공
이전에는 PVC(영구 볼륨 클레임)를 복원하는 동안 데이터를 다운로드하지 못했습니다. 다음과 같은 오류와 함께 실패했습니다.
data path restore failed: Failed to run kopia restore: Unable to load snapshot : snapshot not found
data path restore failed: Failed to run kopia restore: Unable to load snapshot : snapshot not found
이번 업데이트를 통해 빈 PVC를 복원할 때 데이터 다운로드가 올바른 것으로 진행되며 오류 메시지가 생성되지 않습니다. OADP-3106
CSI 및 DataMover 플러그인에는 Velero 메모리 누출이 없습니다.
이전에는 Velero 메모리 누수가 CSI 및 DataMover 플러그인을 사용하여 발생했습니다. 백업이 종료되면 Velero 플러그인 인스턴스가 삭제되지 않았으며 Velero Pod에서 OOM( Out of Memory
) 조건이 생성될 때까지 메모리 누수에 메모리가 사용되었습니다. 이번 업데이트를 통해 CSI 및 DataMover 플러그인을 사용할 때 Velero 메모리 누출이 발생하지 않습니다. OADP-4448
관련 PV가 릴리스되기 전에 후크 후 작업이 시작되지 않음
이전 버전에서는 Data Mover 작업의 비동기적 특성으로 인해 PVC(데이터 Mover 영구 볼륨 클레임)가 관련 Pod의 PV(영구 볼륨)를 릴리스하기 전에 후크 후 시도할 수 있었습니다. 이 문제로 인해 PartiallyFailed
상태로 백업이 실패했습니다. 이번 업데이트를 통해 관련 PV가 Data Mover PVC에 의해 릴리스될 때까지 단계 후 작업이 시작되어 PartiallyFailed
백업 상태가 제거됩니다. OADP-3140
DPA 배포는 37자를 초과하는 네임스페이스에서 예상대로 작동합니다.
새 DPA를 생성하기 위해 37자 이상의 네임스페이스에 OADP Operator를 설치하면 "cloud-credentials" 시크릿 레이블이 실패하고 DPA에서 다음 오류를 보고합니다.
The generated label name is too long.
The generated label name is too long.
이번 업데이트를 통해 DPA 생성은 이름에 37자를 초과하는 네임스페이스에서 실패하지 않습니다. OADP-3960
시간 초과 오류를 재정의하여 복원이 성공적으로 완료되었습니다.
이전 버전에서는 대규모 환경에서 복원 작업으로 인해 오류가 있는 Partiallyfailed
상태가 발생하고 동적 PV를 패치할 수 없었습니다. err: 컨텍스트 데드가 초과되었습니다
. 이번 업데이트를 통해 resourceTimeout
Velero 서버 인수가 이 시간 초과 오류를 재정의하여 성공적으로 복원됩니다. OADP-4344
이 릴리스에서 해결된 모든 문제의 전체 목록은 Jira의 OADP 1.4.1 해결 문제 목록을 참조하십시오.
4.2.1.2.3. 확인된 문제 링크 복사
Cryostat 애플리케이션 pod는 OADP를 복원한 후 CrashLoopBackoff
상태로 들어갑니다.
OADP 복원 후 Cryostat 애플리케이션 Pod가 CrashLoopBackoff
상태가 될 수 있습니다. 이 문제를 해결하려면 OADP를 복원한 후 CrashLoopBackoff
오류를 반환하는 StatefulSet
Pod를 삭제합니다. 그런 다음 StatefulSet
컨트롤러는 이러한 Pod를 다시 생성하고 정상적으로 실행됩니다. OADP-4407
ImageStream을 참조하는 배포가 제대로 복원되지 않아 손상된 Pod 및 볼륨 콘텐츠
FSB(파일 시스템 백업) 복원 작업 중에 ImageStream
을 참조하는 Deployment
리소스가 제대로 복원되지 않습니다. FSB를 실행하는 복원된 Pod 및 postHook
은 조기에 종료됩니다.
복원 작업 중에 OpenShift Container Platform 컨트롤러는 Deployment
리소스의 spec.template.spec.containers[0].image
필드를 업데이트된 ImageStreamTag
해시로 업데이트합니다. 이번 업데이트에서는 새 Pod의 롤아웃을 트리거하여 velero
가 후크 후 함께 FSB를 실행하는 Pod를 종료합니다. 이미지 스트림 트리거에 대한 자세한 내용은 이미지 스트림 변경에 대한 업데이트 트리거 를 참조하십시오.
이 동작에 대한 해결방법은 2단계 복원 프로세스입니다.
배포
리소스를 제외한 복원을 수행합니다. 예를 들면 다음과 같습니다.$ velero restore create <RESTORE_NAME> \ --from-backup <BACKUP_NAME> \ --exclude-resources=deployment.apps
velero restore create <RESTORE_NAME> \ --from-backup <BACKUP_NAME> \ --exclude-resources=deployment.apps
CopyCopied! 첫 번째 복원이 성공하면 다음 리소스를 포함하여 두 번째 복원을 수행합니다. 예를 들면 다음과 같습니다.
$ velero restore create <RESTORE_NAME> \ --from-backup <BACKUP_NAME> \ --include-resources=deployment.apps
velero restore create <RESTORE_NAME> \ --from-backup <BACKUP_NAME> \ --include-resources=deployment.apps
CopyCopied!
OADP(OpenShift API for Data Protection) 1.4.0 릴리스 노트에는 해결된 문제 및 알려진 문제가 나열됩니다.
4.2.1.3.1. 해결된 문제 링크 복사
OpenShift Container Platform 4.16에서 복원이 올바르게 작동합니다.
이전 버전에서는 삭제된 애플리케이션 네임스페이스를 복원하는 동안 리소스 이름으로 복원 작업이 부분적으로 실패했습니다. OpenShift Container Platform 4.16에서 복원 오류가 비어 있지 않을 수
있었습니다. 이번 업데이트를 통해 복원은 OpenShift Container Platform 4.16에서 예상대로 작동합니다. OADP-4075
OpenShift Container Platform 4.16 클러스터에서 데이터 Mover 백업이 제대로 작동함
이전에는 Velero에서 Spec.SourceVolumeMode
필드가 없는 이전 버전의 SDK를 사용하고 있었습니다. 그 결과 버전 4.2가 있는 외부 스냅샷터의 OpenShift Container Platform 4.16 클러스터에서 Data Mover 백업이 실패했습니다. 이번 업데이트를 통해 외부 스냅샷터가 버전 7.0 이상으로 업그레이드됩니다. 결과적으로 OpenShift Container Platform 4.16 클러스터에서 백업이 실패하지 않습니다. OADP-3922
이 릴리스에서 해결된 모든 문제의 전체 목록은 Jira의 OADP 1.4.0 해결 문제 목록을 참조하십시오.
4.2.1.3.2. 확인된 문제 링크 복사
MCG에 대해 checksumAlgorithm이 설정되지 않은 경우 백업이 실패합니다.
Noobaa를 백업 위치로 사용하여 모든 애플리케이션의 백업을 수행하는 동안 checksumAlgorithm
구성 매개변수가 설정되지 않은 경우 백업이 실패합니다. 이 문제를 해결하려면 백업 스토리지 위치(BSL) 구성에 checksumAlgorithm
에 대한 값을 지정하지 않으면 빈 값이 추가됩니다. 빈 값은 DPA(Data Protection Application) 사용자 정의 리소스(CR)를 사용하여 생성된 BSL에 대해서만 추가되며 BSL이 다른 방법을 사용하여 생성된 경우에는 이 값이 추가되지 않습니다. OADP-4274
이 릴리스에서 알려진 모든 문제의 전체 목록은 Jira의 OADP 1.4.0 알려진 문제 목록을 참조하십시오.
4.2.1.3.3. 업그레이드 노트 링크 복사
항상 다음 마이너 버전으로 업그레이드합니다. 버전을 건너뛰지 마십시오. 이후 버전으로 업데이트하려면 한 번에 하나의 채널만 업그레이드합니다. 예를 들어 OADP(OpenShift API for Data Protection) 1.1에서 1.3으로 업그레이드하려면 먼저 1.2로 업그레이드한 다음 1.3으로 업그레이드합니다.
Velero 서버가 버전 1.12에서 1.14로 업데이트되었습니다. DPA(Data Protection Application)에 변경 사항이 없습니다.
이렇게 하면 다음이 변경됩니다.
-
이제 Velero 코드에서
velero-plugin-for-csi
코드를 사용할 수 있으므로 플러그인에init
컨테이너가 더 이상 필요하지 않습니다. - Velero가 클라이언트 Burst 및 QPS 기본값을 각각 30 및 20에서 100으로 변경했습니다.
velero-plugin-for-aws
플러그인은""
에서CRC32
알고리즘으로BackupStorageLocation
오브젝트(BSL)의spec.config.checksumAlgorithm
필드의 기본값을 업데이트했습니다. 체크섬 알고리즘 유형은 AWS에서만 작동하는 것으로 알려져 있습니다. 여러 S3 공급자를 사용하려면 체크섬 알고리즘을""
로 설정하여md5sum
을 비활성화해야 합니다. 스토리지 공급자를 사용한md5sum
알고리즘 지원 및 구성을 확인합니다.OADP 1.4에서 이 구성에 대해 DPA 내에서 생성된 BSL의 기본값은
""
입니다. 이 기본값은 OADP 1.3과 일치하는md5sum
이 확인되지 않음을 의미합니다. DPA 내에서 생성된 BSL의 경우 DPA의spec.backupLocations[].velero.config.checksumAlgorithm
필드를 사용하여 업데이트합니다. BSL이 DPA 외부에서 생성되는 경우 BSL에서spec.config.checksumAlgorithm
을 사용하여 이 구성을 업데이트할 수 있습니다.
현재 DPA( DataProtectionApplication
) 구성을 백업해야 합니다.
프로세스
다음 명령을 실행하여 현재 DPA 구성을 저장합니다.
명령 예
$ oc get dpa -n openshift-adp -o yaml > dpa.orig.backup
oc get dpa -n openshift-adp -o yaml > dpa.orig.backup
CopyCopied!
OADP(OpenShift API for Data Protection) Operator를 업그레이드할 때 다음 절차를 사용하십시오.
프로세스
-
OADP Operator의 서브스크립션 채널을
stable-1.3
에서stable-1.4
로 변경합니다. - Operator 및 컨테이너가 업데이트되고 다시 시작될 때까지 기다립니다.
OADP 1.3에서 1.4로 업그레이드하려면 DPA(Data Protection Application)를 변경할 필요가 없습니다.
4.2.1.3.5. 업그레이드 확인 링크 복사
다음 절차를 사용하여 업그레이드를 확인합니다.
프로세스
다음 명령을 실행하여 OADP(OpenShift API for Data Protection) 리소스를 확인하여 설치를 확인합니다.
$ oc get all -n openshift-adp
oc get all -n openshift-adp
CopyCopied! 출력 예
NAME READY STATUS RESTARTS AGE pod/oadp-operator-controller-manager-67d9494d47-6l8z8 2/2 Running 0 2m8s pod/restic-9cq4q 1/1 Running 0 94s pod/restic-m4lts 1/1 Running 0 94s pod/restic-pv4kr 1/1 Running 0 95s pod/velero-588db7f655-n842v 1/1 Running 0 95s NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/oadp-operator-controller-manager-metrics-service ClusterIP 172.30.70.140 <none> 8443/TCP 2m8s NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE daemonset.apps/restic 3 3 3 3 3 <none> 96s NAME READY UP-TO-DATE AVAILABLE AGE deployment.apps/oadp-operator-controller-manager 1/1 1 1 2m9s deployment.apps/velero 1/1 1 1 96s NAME DESIRED CURRENT READY AGE replicaset.apps/oadp-operator-controller-manager-67d9494d47 1 1 1 2m9s replicaset.apps/velero-588db7f655 1 1 1 96s
NAME READY STATUS RESTARTS AGE pod/oadp-operator-controller-manager-67d9494d47-6l8z8 2/2 Running 0 2m8s pod/restic-9cq4q 1/1 Running 0 94s pod/restic-m4lts 1/1 Running 0 94s pod/restic-pv4kr 1/1 Running 0 95s pod/velero-588db7f655-n842v 1/1 Running 0 95s NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/oadp-operator-controller-manager-metrics-service ClusterIP 172.30.70.140 <none> 8443/TCP 2m8s NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE daemonset.apps/restic 3 3 3 3 3 <none> 96s NAME READY UP-TO-DATE AVAILABLE AGE deployment.apps/oadp-operator-controller-manager 1/1 1 1 2m9s deployment.apps/velero 1/1 1 1 96s NAME DESIRED CURRENT READY AGE replicaset.apps/oadp-operator-controller-manager-67d9494d47 1 1 1 2m9s replicaset.apps/velero-588db7f655 1 1 1 96s
CopyCopied! 다음 명령을 실행하여 DPA(
DataProtectionApplication
)가 조정되었는지 확인합니다.$ oc get dpa dpa-sample -n openshift-adp -o jsonpath='{.status}'
oc get dpa dpa-sample -n openshift-adp -o jsonpath='{.status}'
CopyCopied! 출력 예
{"conditions":[{"lastTransitionTime":"2023-10-27T01:23:57Z","message":"Reconcile complete","reason":"Complete","status":"True","type":"Reconciled"}]}
{"conditions":[{"lastTransitionTime":"2023-10-27T01:23:57Z","message":"Reconcile complete","reason":"Complete","status":"True","type":"Reconciled"}]}
CopyCopied! -
유형이
Reconciled
으로 설정되어 있는지 확인합니다. 백업 스토리지 위치를 확인하고 다음 명령을 실행하여
PHASE
가 사용
가능한지 확인합니다.$ oc get backupstoragelocations.velero.io -n openshift-adp
oc get backupstoragelocations.velero.io -n openshift-adp
CopyCopied! 출력 예
NAME PHASE LAST VALIDATED AGE DEFAULT dpa-sample-1 Available 1s 3d16h true
NAME PHASE LAST VALIDATED AGE DEFAULT dpa-sample-1 Available 1s 3d16h true
CopyCopied!