4.2. OADP 릴리스 정보
4.2.1. OADP 1.3 릴리스 노트
OADP(OpenShift API for Data Protection)의 릴리스 노트는 새로운 기능 및 개선 사항, 더 이상 사용되지 않는 기능, 제품 권장 사항, 알려진 문제, 해결된 문제를 설명합니다.
4.2.1.1. OADP 1.3.3 릴리스 노트
OADP(OpenShift API for Data Protection) 1.3.3 릴리스 노트에는 해결된 문제 및 알려진 문제가 나열됩니다.
4.2.1.1.1. 해결된 문제
네임스페이스 이름이 37자를 초과하면 OADP가 실패합니다.
37자 이상이 있고 새 DPA를 생성할 때 네임스페이스에 OADP Operator를 설치할 때 cloud-credentials
보안에 레이블이 지정됩니다. 이번 릴리스에서는 이 문제가 해결되었습니다. OADP-4211
OADP 이미지 PullPolicy가 Always
로 설정
이전 버전의 OADP에서는 adp-controller-manager 및 Velero Pod의 이미지 PullPolicy가 Always
로 설정되었습니다. 이는 레지스트리에 대한 네트워크 대역폭이 제한될 수 있는 에지 시나리오에서 문제가 발생하여 Pod를 다시 시작한 후 복구 시간이 느려졌습니다. OADP 1.3.3에서 openshift-adp-controller-manager
및 Velero Pod의 이미지 PullPolicy는 IfNotPresent
로 설정됩니다.
이 릴리스에 포함된 보안 수정 목록은 RHSA-2024:4982 권고에 설명되어 있습니다.
이 릴리스에서 해결된 모든 문제의 전체 목록은 Jira의 OADP 1.3.3 해결 문제 목록을 참조하십시오.
4.2.1.1.2. 확인된 문제
Cryostat 애플리케이션 pod는 OADP를 복원한 후 CrashLoopBackoff
상태로 들어갑니다.
OADP 복원 후 Cryostat 애플리케이션 pod는 CrashLoopBackoff
상태에 입력할 수 있습니다. 이 문제를 해결하려면 OADP를 복원한 후 오류 또는 CrashLoopBackoff
상태를 반환하는 StatefulSet
Pod를 삭제합니다. StatefulSet
컨트롤러는 이러한 Pod를 다시 생성하고 정상적으로 실행됩니다.
4.2.1.2. OADP 1.3.2 릴리스 노트
OADP(OpenShift API for Data Protection) 1.3.2 릴리스 노트에는 해결된 문제 및 알려진 문제가 나열됩니다.
4.2.1.2.1. 해결된 문제
BSL에 유효한 사용자 정의 시크릿을 사용하는 경우 DPA 실패
DPA는 백업 스토리지 위치(BSL)에 유효한 사용자 정의 시크릿을 사용하지만 기본 시크릿이 없는 경우 조정할 수 없습니다. 해결방법은 처음에 필요한 기본 cloud-credentials
를 생성하는 것입니다. 사용자 정의 보안이 다시 생성되면 해당 보안의 존재를 확인하고 사용할 수 있습니다.
CVE-2023-45290: oadp-velero-container
: Golang net/http
: Request.ParseMultipartForm
의 메모리 소진
이전 버전의 OADP에 영향을 미치는 net/http
Golang 표준 라이브러리 패키지에서 취약점이 발견되었습니다. Request.ParseMulti
파트 양식을 구문 분석할 때 구문 분석 양식의 총 크기에 대한 제한은 단일 양식 줄을 읽는 동안 사용되는 메모리에 적용되지 않습니다. 이렇게 하면 긴 줄이 포함된 악의적인 입력으로 인해 임의로 많은 양의 메모리를 할당하여 메모리 소모가 발생할 수 있습니다. 이 취약점은 OADP 1.3.2에서 해결되었습니다.
partForm
을 사용하여 명시적으로 또는 Request.FormValue
,Request.PostFormValue
또는 Request.FormFile
.FormFile을 사용하여 명시적으로 다중
자세한 내용은 CVE-2023-45290 에서 참조하십시오.
CVE-2023-45289: oadp-velero-container
: Golang net/http/cookiejar
: 민감한 헤더 및 쿠키를 HTTP 리디렉션에서 올바르게 전달하지 않음
이전 버전의 OADP에 영향을 미치는 net/http/cookiejar
Golang 표준 라이브러리 패키지에서 취약점이 발견되었습니다. HTTP 리디렉션을 하위 도메인 일치 또는 초기 도메인의 정확한 일치가 아닌 도메인으로 리디렉션하는 경우 http.Client
는 Authorization
또는 Cryostat와 같은 중요한 헤더를 전달하지 않습니다. 악의적인 HTTP 리디렉션으로 인해 중요한 헤더가 예기치 않게 전달될 수 있습니다. 이 취약점은 OADP 1.3.2에서 해결되었습니다.
자세한 내용은 CVE-2023-45289 를 참조하십시오.
CVE-2024-24783: oadp-velero-container
: Golang crypto/x509
: 알 수 없는 공개 키 알고리즘이 있는 인증서의 패닉 확인
이전 버전의 OADP에 영향을 미치는 crypto/x509
Golang 표준 라이브러리 패키지에서 취약점이 발견되었습니다. 알 수 없는 공개 키 알고리즘이 포함된 인증서 체인을 확인하면 Certificate.Verify
에 패닉 상태가 됩니다. 이는 Config.ClientAuth
를 VerifyClientCert 또는 RequireAnd
로 설정하는 모든 VerifyClientCert
암호화/tls
클라이언트 및 서버에 영향을 미칩니다. 기본 동작은 TLS 서버가 클라이언트 인증서를 확인하지 않는 것입니다. 이 취약점은 OADP 1.3.2에서 해결되었습니다.
자세한 내용은 CVE-2024-24783 에서 참조하십시오.
CVE-2024-24784: oadp-velero-plugin-container
: Golang net/mail
: 표시 이름의 댓글이 잘못 처리됨
이전 버전의 OADP에 영향을 미치는 net/mail
Golang 표준 라이브러리 패키지에서 취약점이 발견되었습니다. ParseAddressList
함수는 주석을 잘못 처리하고, 괄호 안의 텍스트, 이름을 표시합니다. 이는 주소 구문 분석기를 따르는 잘못된 정렬이므로 다른 구문 분석을 사용하는 프로그램에서 서로 다른 신뢰 결정을 내릴 수 있습니다. 이 취약점은 OADP 1.3.2에서 해결되었습니다.
자세한 내용은 CVE-2024-24784 를 참조하십시오.
CVE-2024-24785: oadp-velero-container
: Golang: html/template: MarshalJSON
메서드에서 반환된 오류는 템플릿을 이스케이프할 수 있습니다.
이전 버전의 OADP에 영향을 미치는 html/template
Golang 표준 라이브러리 패키지에서 취약점이 발견되었습니다. MarshalJSON
메서드에서 반환된 오류에 사용자 제어 데이터가 포함된 경우 HTML/template 패키지의 컨텍스트 자동 이스케이프 동작을 분할하여 후속 작업이 예기치 않은 콘텐츠를 템플릿에 삽입할 수 있습니다. 이 취약점은 OADP 1.3.2에서 해결되었습니다.
자세한 내용은 CVE-2024-24785 를 참조하십시오.
이 릴리스에서 해결된 모든 문제의 전체 목록은 Jira의 OADP 1.3.2 해결 문제 목록을 참조하십시오.
4.2.1.2.2. 확인된 문제
Cryostat 애플리케이션 pod는 OADP를 복원한 후 CrashLoopBackoff
상태로 들어갑니다.
OADP 복원 후 Cryostat 애플리케이션 pod는 CrashLoopBackoff
상태에 입력할 수 있습니다. 이 문제를 해결하려면 OADP를 복원한 후 오류 또는 CrashLoopBackoff
상태를 반환하는 StatefulSet
Pod를 삭제합니다. StatefulSet
컨트롤러는 이러한 Pod를 다시 생성하고 정상적으로 실행됩니다.
4.2.1.3. OADP 1.3.1 릴리스 노트
OADP(OpenShift API for Data Protection) 1.3.1 릴리스 노트에는 새로운 기능 및 해결된 문제가 나열됩니다.
4.2.1.3.1. 새로운 기능
OADP 1.3.0 Data Mover가 완전 지원됨
OADP 1.3.0에 기술 프리뷰로 도입된 OADP 내장 데이터 Mover는 이제 컨테이너화된 워크로드와 가상 머신 워크로드 모두에 대해 완전히 지원됩니다.
4.2.1.3.2. 해결된 문제
IBM Cloud(R) Object Storage가 백업 스토리지 공급자로 지원됨
IBM Cloud® Object Storage는 이전에 지원되지 않는 AWS S3 호환 백업 스토리지 공급자 중 하나입니다. 이번 업데이트를 통해 IBM Cloud® Object Storage가 AWS S3 호환 백업 스토리지 공급자로 지원됩니다.
OADP Operator에서 누락된 지역 오류를 올바르게 보고
이전에는 AWS Backup Storage Location (BSL) 구성에 region
을 지정하지 않고 profile:default
를 지정하면 OADP Operator에서 DPA(Data Protection Application) 사용자 정의 리소스(CR)에서 누락된 리전
오류를 보고하지 못했습니다. 이번 업데이트에서는 AWS의 DPA BSL 사양의 검증이 수정되었습니다. 결과적으로 OADP Operator에서 누락된 지역
오류를 보고합니다.
사용자 정의 레이블은 openshift-adp 네임스페이스에서 제거되지 않음
이전에는 openshift-adp-controller-manager
Pod가 openshift-adp
네임스페이스에 연결된 레이블을 재설정했습니다. 이로 인해 Argo CD와 같은 사용자 정의 레이블이 필요한 애플리케이션의 동기화 문제로 인해 부적절한 기능이 발생했습니다. 이번 업데이트를 통해 이 문제가 수정되었으며 사용자 정의 레이블은 openshift-adp
네임스페이스에서 제거되지 않습니다.
OADP must-gather 이미지는 CRD를 수집합니다.
이전에는 OADP must-gather
이미지가 OADP에서 제공하는 CRD(사용자 정의 리소스 정의)를 수집하지 않았습니다. 결과적으로 지원 쉘에서 데이터를 추출하는 데 omg
툴을 사용할 수 없었습니다. 이번 수정으로 must-gather
이미지는 이제 OADP에서 제공하는 CRD를 수집하고 omg
툴을 사용하여 데이터를 추출할 수 있습니다.
가비지 컬렉션에는 기본 빈도 값에 대한 올바른 설명이 있습니다.
이전에는 garbage-collection-frequency
필드에 기본 빈도 값에 대한 잘못된 설명이 있었습니다. 이번 업데이트를 통해 garbage-collection-frequency
의 gc-controller
조정 기본 빈도에 대해 1시간의 올바른 값이 있습니다.
OperatorHub에서 FIPS 모드 플래그를 사용할 수 있습니다.
fips-compliant
플래그를 true
로 설정하면 OperatorHub의 OADP Operator 목록에 FIPS 모드 플래그가 추가되었습니다. 이 기능은 OADP 1.3.0에서 활성화되었지만 Red Hat Container 카탈로그에 FIPS가 활성화된 것으로 표시되지 않았습니다.
csiSnapshotTimeout이 짧은 기간으로 설정된 경우 CSI 플러그인에 nil 포인터가 패닉되지 않음
이전 버전에서는 csiSnapshotTimeout
매개변수가 단기간에 설정된 경우 CSI 플러그인에 다음 오류가 발생했습니다. plugin panicked: runtime error: invalid memory address or nil pointer dereference
.
이번 수정으로 다음 오류와 함께 백업이 실패합니다. volumesnapshot의 조정 대기 시간이 초과
되었습니다.
이 릴리스에서 해결된 모든 문제의 전체 목록은 Jira의 OADP 1.3.1 해결 문제 목록을 참조하십시오.
4.2.1.3.3. 확인된 문제
IBM Power(R) 및 IBM Z(R) 플랫폼에 배포된 단일 노드 OpenShift 클러스터의 백업 및 스토리지 제한 사항
IBM Power® 및 IBM Z® 플랫폼에 배포된 Single-node OpenShift 클러스터에 대한 다음 백업 및 스토리지 관련 제한을 검토하십시오.
- 스토리지
- 현재 NFS 스토리지만 IBM Power® 및 IBM Z® 플랫폼에 배포된 단일 노드 OpenShift 클러스터와 호환됩니다.
- Backup
-
kopia
및restic
와 같은 파일 시스템 백업을 사용하는 백업 애플리케이션만 백업 및 복원 작업을 지원합니다.
Cryostat 애플리케이션 Pod는 OADP를 복원한 후 CrashLoopBackoff 상태로 입력합니다.
OADP 복원 후 Cryostat 애플리케이션 pod는 CrashLoopBackoff
상태에 입력할 수 있습니다. 이 문제를 해결하려면 OADP를 복원한 후 오류 또는 CrashLoopBackoff
상태의 StatefulSet
Pod를 삭제합니다. StatefulSet
컨트롤러는 이러한 Pod를 다시 생성하고 정상적으로 실행됩니다.
4.2.1.4. OADP 1.3.0 릴리스 노트
OADP(OpenShift API for Data Protection) 1.3.0 릴리스에는 새로운 기능, 해결된 문제 및 버그, 알려진 문제가 포함되어 있습니다.
4.2.1.4.1. 새로운 기능
Velero 내장 DataMover는 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.
Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.
OADP 1.3에는 CSI(Container Storage Interface) 볼륨 스냅샷을 원격 오브젝트 저장소로 이동하는 데 사용할 수 있는 기본 제공 데이터 Mover가 포함되어 있습니다. 기본 제공 Data Mover를 사용하면 오류, 실수로 삭제 또는 클러스터 손상이 발생하는 경우 원격 오브젝트 저장소에서 상태 저장 애플리케이션을 복원할 수 있습니다. Kopia를 업로드기 메커니즘으로 사용하여 스냅샷 데이터를 읽고 Unified Repository에 씁니다.
파일 시스템 백업을 사용하여 애플리케이션 백업: Kopia 또는 Restic
Velero의 파일 시스템 백업(FSB)은 Restic 경로와 Kopia 경로의 두 가지 백업 라이브러리를 지원합니다.
Velero를 사용하면 두 경로 중 하나를 선택할 수 있습니다.
backup의 경우 uploader-type
플래그를 통해 설치 중 경로를 지정합니다. 유효한 값은 restic
또는 kopia
입니다. 이 필드는 값이 지정되지 않은 경우 기본값은 kopia
입니다. 설치 후에는 선택을 변경할 수 없습니다.
GCP 클라우드 인증
GCP(Google Cloud Platform) 인증을 사용하면 수명이 짧은 Google 인증 정보를 사용할 수 있습니다.
GCP with Workload Identity Federation을 사용하면 IAM(Identity and Access Management)을 사용하여 서비스 계정을 가장하는 기능을 포함하여 외부 ID IAM 역할을 부여할 수 있습니다. 이렇게 하면 서비스 계정 키와 관련된 유지 관리 및 보안 위험이 제거됩니다.
AWS ROSA STS 인증
ROSA(Red Hat OpenShift Service) 클러스터에서 OADP(OpenShift API for Data Protection)를 사용하여 애플리케이션 데이터를 백업하고 복원할 수 있습니다.
ROSA는 다양한 AWS 컴퓨팅, 데이터베이스, 분석, 머신 러닝, 네트워킹, 모바일 및 기타 서비스와 원활한 통합을 제공하여 고객에게 차별화된 경험을 구축하고 제공합니다.
AWS 계정에서 직접 서비스에 등록할 수 있습니다.
클러스터가 생성되면 OpenShift 웹 콘솔을 사용하여 클러스터를 작동할 수 있습니다. ROSA 서비스는 OpenShift API 및 CLI(명령줄 인터페이스) 툴도 사용합니다.
4.2.1.4.2. 해결된 문제
ACM 애플리케이션이 복원 후 관리 클러스터에서 제거 및 다시 생성됨
복원 활성화 시 관리 클러스터의 애플리케이션이 삭제되고 다시 생성되었습니다. OADP 1.2(OpenShift API for Data Protection) 백업 및 복원 프로세스는 이전 버전보다 빠릅니다. OADP 성능 변경으로 인해 ACM 리소스를 복원할 때 이러한 동작이 발생했습니다. 따라서 다른 리소스보다 먼저 일부 리소스가 복원되어 관리 클러스터에서 애플리케이션이 제거되었습니다. OADP-2686
Pod 보안 표준으로 인해 Restic 복원이 부분적으로 실패했습니다.
상호 운용성 테스트 중에 OpenShift Container Platform 4.14에 Pod 보안 모드가 적용
되도록 설정되어 이로 인해 Pod가 거부됩니다. 이는 복원 순서 때문에 발생했습니다. Pod가 podSecurity
표준을 위반하여 Pod가 Pod를 거부했기 때문에 SCC(보안 컨텍스트 제약 조건) 리소스 전에 포드가 생성되었습니다. Velero 서버에서 restore 우선순위 필드를 설정하는 경우 복원에 성공합니다. OADP-2688
Velero가 여러 네임스페이스에 설치된 경우 가능한 Pod 볼륨 백업 실패
Velero가 여러 네임스페이스에 설치된 경우 PVB(Pod Volume Backup) 기능에 회귀 문제가 있었습니다. PVB 컨트롤러가 자체 네임스페이스의 PVB로 올바르게 제한되지 않았습니다. OADP-2308
OADP Velero 플러그인 반환 "Received EOF, stop recv loop" 메시지
OADP에서 Velero 플러그인은 별도의 프로세스로 시작되었습니다. Velero 작업이 완료되면 해당 작업이 성공적으로 종료됩니다. 따라서 디버그 로그에 recv 루프 메시지를 중지하여 수신된 EOF
가 표시되면 오류가 발생한 것은 아닙니다. 플러그인 작업이 완료되었음을 의미합니다. OADP-2176
CVE-2023-39325 Multiple HTTP/2 enabled 웹 서버는 DDoS 공격에 취약합니다(Rapid Reset Attack)
이전 릴리스의 OADP 릴리스에서는 요청 취소가 여러 스트림을 빠르게 재설정할 수 있기 때문에 HTTP/2 프로토콜이 서비스 거부 공격에 취약했습니다. 서버는 스트림을 설정하고 해체하는 동시에 연결당 최대 활성 스트림 수에 대한 서버 측 제한에 도달하지 않아야 했습니다. 이로 인해 서버 리소스 사용량으로 인해 서비스가 거부되었습니다.
자세한 내용은 CVE-2023-39325 (Rapid Reset Attack)를 참조하십시오.
이 릴리스에서 해결된 모든 문제의 전체 목록은 Jira의 OADP 1.3.0 해결 문제 목록을 참조하십시오.
4.2.1.4.3. 확인된 문제
csiSnapshotTimeout이 짧은 기간으로 설정된 경우 nil 포인터에 CSI 플러그인 오류
csiSnapshotTimeout
이 짧은 기간으로 설정된 경우 nil 포인터에 CSI 플러그인 오류가 발생합니다. 경우에 따라 짧은 기간 내에 스냅샷을 완료하는 데 성공하지만 plugin panicked: runtime error: invalid memory address 또는 nil 포인터 역참조
와 함께 백업 PartiallyFailed
가 패닉되는 경우가 있습니다.
volumeSnapshotContent CR에 오류가 있을 때 백업이 PartiallyFailed로 표시됩니다.
VolumeSnapshotBeingCreated
주석 제거와 관련된 VolumeSnapshotContent
CR에 오류가 있는 경우 백업을 WaitingForPluginOperationsPartiallyFailed
단계로 이동합니다. OADP-2871
performance issues when restoring resources for the first time
existing-resource-policy 없이 처음으로 Cryostat 리소스를 복원할 때 두 번째 및 세 번째 시도 중에 업데이트를
위해 설정된 existing-resource-policy를 사용하여 복원하는 데 걸리는 두 배의 시간이 걸립니다. OADP-3071
Datadownload 작업이 관련 PV를 릴리스하기 전에 복원 후 후크가 실행될 수 있습니다.
Data Mover 작업의 비동기적 특성으로 인해 관련 Pod PV(영구 볼륨 클레임)를 PVC(영구 볼륨 클레임)에서 릴리스하기 전에 후크를 시도할 수 있습니다.
GCP-Workload Identity Federation VSL 백업 PartiallyFailed
VSL 백업은 GCP 워크로드 ID가 GCP에 설정된 경우 부분적으로Failed
됩니다.
이 릴리스에서 알려진 모든 문제의 전체 목록은 Jira의 OADP 1.3.0 알려진 문제 목록을 참조하십시오.
4.2.1.4.4. 업그레이드 노트
항상 다음 마이너 버전으로 업그레이드합니다. 버전을 건너뛰 지 마십시오. 이후 버전으로 업데이트하려면 한 번에 하나의 채널만 업그레이드합니다. 예를 들어 OADP(OpenShift API for Data Protection) 1.1에서 1.3으로 업그레이드하려면 먼저 1.2로 업그레이드한 다음 1.3으로 업그레이드합니다.
4.2.1.4.4.1. OADP 1.2에서 1.3으로 변경
Velero 서버가 버전 1.11에서 1.12로 업데이트되었습니다.
OADP(OpenShift API for Data Protection) 1.3은 VolumeSnapshotMover(VSM) 또는volsync Data Mover 대신 Velero 기본 제공 데이터 Mover를 사용합니다.
이렇게 하면 다음이 변경됩니다.
-
spec.features.dataMover
필드와 VSM 플러그인은 OADP 1.3과 호환되지 않으며 DPA(DataProtectionApplication
) 구성에서 구성을 제거해야 합니다. - volsync Operator는 더 이상 Data Mover 기능에 필요하지 않으며 제거할 수 있습니다.
-
사용자 정의 리소스 정의
volumesnapshotbackups.datamover.oadp.openshift.io
및volumesnapshotrestores.datamover.oadp.openshift.io
는 더 이상 필요하지 않으며 제거할 수 있습니다. - OADP-1.2 Data Mover에 사용된 시크릿은 더 이상 필요하지 않으며 제거할 수 있습니다.
OADP 1.3은 Restic에 대한 대체 파일 시스템 백업 툴인 Kopia를 지원합니다.
Kopia를 사용하려면 다음 예와 같이 새
spec.configuration.nodeAgent
필드를 사용합니다.예제
spec: configuration: nodeAgent: enable: true uploaderType: kopia # ...
spec.configuration.restic
필드는 OADP 1.3에서 더 이상 사용되지 않으며 향후 OADP 버전에서 제거될 예정입니다. 사용 중단 경고가 표시되지 않도록 하려면restic
키와 해당 값을 제거하고 다음 새 구문을 사용합니다.예제
spec: configuration: nodeAgent: enable: true uploaderType: restic # ...
향후 OADP 릴리스에서는 kopia
툴이 기본 uploaderType
값이 될 계획입니다.
4.2.1.4.4.2. OADP 1.2 기술 프리뷰 데이터에서 업그레이드
OADP(OpenShift API for Data Protection) 1.2 Data Mover 백업을 OADP 1.3으로 복원 할 수 없습니다. 애플리케이션 데이터 보호의 격차를 방지하려면 OADP 1.3으로 업그레이드하기 전에 다음 단계를 완료합니다.
프로세스
- 클러스터 백업이 충분하고 CSI(Container Storage Interface) 스토리지를 사용할 수 있는 경우 CSI 백업을 사용하여 애플리케이션을 백업합니다.
클러스터 백업을 꺼야 하는 경우:
-
--default-volumes-to-fs-backup=true 또는 backup.spec.defaultVolumesToFsBackup
옵션을 사용하는 파일 시스템 백업으로 애플리케이션을 백업합니다. -
오브젝트 스토리지 플러그인으로 애플리케이션을 백업합니다(예:
velero-plugin-for-aws
).
-
OADP 1.2 데이터 관리 백업을 복원하려면 OADP를 제거하고 OADP 1.2를 설치 및 구성해야 합니다.
4.2.1.4.4.3. DPA 구성 백업
현재 DPA( DataProtectionApplication
) 구성을 백업해야 합니다.
프로세스
다음 명령을 실행하여 현재 DPA 구성을 저장합니다.
예제
$ oc get dpa -n openshift-adp -o yaml > dpa.orig.backup
4.2.1.4.4.4. OADP Operator 업그레이드
OADP(OpenShift API for Data Protection) Operator를 업그레이드할 때 다음 시퀀스를 사용합니다.
프로세스
-
OADP Operator의 서브스크립션 채널을
stable-1.2
에서stable-1.3
으로 변경합니다. - Operator 및 컨테이너가 업데이트 및 재시작될 수 있는 시간을 허용합니다.
추가 리소스
4.2.1.4.4.5. DPA를 새 버전으로 변환
Data Mover를 사용하여 클러스터에서 백업을 이동해야 하는 경우 다음과 같이 DPA( DataProtectionApplication
) 매니페스트를 재구성합니다.
프로세스
-
Operators
설치된 Operator 를 클릭하고 OADP Operator를 선택합니다. - 제공된 API 섹션에서 추가 보기를 클릭합니다.
- DataProtectionApplication 상자에서 인스턴스 만들기 를 클릭합니다.
YAML View 를 클릭하여 현재 DPA 매개변수를 표시합니다.
현재 DPA의 예
spec: configuration: features: dataMover: enable: true credentialName: dm-credentials velero: defaultPlugins: - vsm - csi - openshift # ...
DPA 매개변수를 업데이트합니다.
-
DPA에서
features.dataMover
키와 값을 제거합니다. - VolumeSnapshotMover(VSM) 플러그인을 제거합니다.
nodeAgent
키와 값을 추가합니다.업데이트된 DPA 예
spec: configuration: nodeAgent: enable: true uploaderType: kopia velero: defaultPlugins: - csi - openshift # ...
-
DPA에서
- DPA가 성공적으로 조정될 때까지 기다립니다.
4.2.1.4.4.6. 업그레이드 확인
다음 절차를 사용하여 업그레이드를 확인합니다.
프로세스
다음 명령을 실행하여 OADP(OpenShift API for Data Protection) 리소스를 확인하여 설치를 확인합니다.
$ oc get all -n openshift-adp
출력 예
NAME READY STATUS RESTARTS AGE pod/oadp-operator-controller-manager-67d9494d47-6l8z8 2/2 Running 0 2m8s pod/node-agent-9cq4q 1/1 Running 0 94s pod/node-agent-m4lts 1/1 Running 0 94s pod/node-agent-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 service/openshift-adp-velero-metrics-svc ClusterIP 172.30.10.0 <none> 8085/TCP 8h NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE daemonset.apps/node-agent 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
다음 명령을 실행하여 DPA(
DataProtectionApplication
)가 조정되었는지 확인합니다.$ oc get dpa dpa-sample -n openshift-adp -o jsonpath='{.status}'
출력 예
{"conditions":[{"lastTransitionTime":"2023-10-27T01:23:57Z","message":"Reconcile complete","reason":"Complete","status":"True","type":"Reconciled"}]}
-
유형이
Reconciled
으로 설정되어 있는지 확인합니다. 백업 스토리지 위치를 확인하고 다음 명령을 실행하여
PHASE
가 사용
가능한지 확인합니다.$ oc get backupStorageLocation -n openshift-adp
출력 예
NAME PHASE LAST VALIDATED AGE DEFAULT dpa-sample-1 Available 1s 3d16h true
OADP 1.3에서는 DPA( DataProtectionApplication
) 구성을 생성하는 대신 백업당 클러스터에서 데이터 이동을 시작할 수 있습니다.
예제
$ velero backup create example-backup --include-namespaces mysql-persistent --snapshot-move-data=true
예제
apiVersion: velero.io/v1 kind: Backup metadata: name: example-backup namespace: openshift-adp spec: snapshotMoveData: true includedNamespaces: - mysql-persistent storageLocation: dpa-sample-1 ttl: 720h0m0s # ...
4.2.2. OADP 1.2 릴리스 노트
OADP(OpenShift API for Data Protection) 1.2 릴리스 노트에서는 새로운 기능 및 개선 사항, 더 이상 사용되지 않는 기능, 제품 권장 사항, 알려진 문제, 해결된 문제에 대해 설명합니다.
4.2.2.1. OADP 1.2.5 릴리스 노트
OADP(OpenShift API for Data Protection) 1.2.5는 컨테이너의 상태 등급을 새로 고치기 위해 릴리스된 컨테이너 전용(CGO) 릴리스이며 OADP 1.2.4와 비교하여 제품 자체의 코드를 변경하지 않습니다.
4.2.2.1.1. 해결된 문제
CVE-2023-2431: oadp-velero-plugin-for-microsoft-azure-container
: Bypass of seccomp profile enforcement
Kubernetes에서는 이전 버전의 OADP에 영향을 미치는 취약점이 발견되었습니다. 이 취약점은 Kubernetes에서 로컬 인증된 공격자가 seccomp
프로필에 localhost 유형을 사용할 때 결함으로 인해 보안 제한을 우회할 수 있지만 빈 프로필 필드를 지정할 때 발생하는 경우 발생합니다. 공격자는 특수하게 조작된 요청을 전송하여 seccomp
프로필 시행을 우회할 수 있습니다. 이 취약점은 OADP 1.2.5에서 해결되었습니다.
자세한 내용은 (CVE-2023-2431) 을 참조하십시오.
CSI 복원이 'PartiallyFailed' 상태로 종료되었으며 PVC가 생성되지 않음
CSI 복원은 PartiallyFailed
상태로 종료되었습니다. PVC가 생성되지 않으며 Pod는 Pending
상태입니다. 이 문제는 OADP 1.2.5에서 해결되었습니다.
완료된 Pod 볼륨에서 PodVolumeBackup 실패
이전 버전의 OADP 1.2에서는 Restic podvolumebackup
또는 Velero 백업에서 사용하는 네임스페이스에 볼륨을 마운트한 완료된 Pod가 있는 경우 백업이 성공적으로 완료되지 않습니다. 이는 defaultVolumesToFsBackup
이 true
로 설정된 경우 발생합니다. 이 문제는 OADP 1.2.5에서 해결되었습니다.
4.2.2.1.2. 확인된 문제
인증 정보 시크릿을 업데이트할 때 DPA(Data Protection Application)가 조정되지 않음
현재 cloud-credentials
시크릿을 업데이트할 때 OADP Operator가 조정되지 않습니다. 이는 cloud-credentials
보안에 OADP 특정 라벨 또는 소유자 참조가 없기 때문에 발생합니다. 빈 데이터와 같이 잘못된 인증 정보를 사용하여 cloud-credentials
보안을 생성하면 Operator가 조정되고 빈 데이터로 백업 스토리지 위치(BSL) 및 레지스트리 배포를 생성합니다. 결과적으로 올바른 인증 정보를 사용하여 cloud-credentials
보안을 업데이트하면 OADP Operator가 새 인증 정보를 수집하도록 즉시 조정되지 않습니다.
해결방법: OADP 1.3으로 업데이트합니다.
4.2.2.2. OADP 1.2.4 릴리스 노트
OADP(OpenShift API for Data Protection) 1.2.4는 컨테이너의 상태 등급을 새로 고치기 위해 릴리스된 컨테이너 전용(CGO) 릴리스이며 OADP 1.2.3과 비교하여 제품 자체의 코드를 변경하지 않습니다.
4.2.2.2.1. 해결된 문제
OADP 1.2.4에는 해결된 문제가 없습니다.
4.2.2.2.2. 확인된 문제
OADP 1.2.4에는 다음과 같은 알려진 문제가 있습니다.
인증 정보 시크릿을 업데이트할 때 DPA(Data Protection Application)가 조정되지 않음
현재 cloud-credentials
시크릿을 업데이트할 때 OADP Operator가 조정되지 않습니다. 이는 cloud-credentials
보안에 OADP 특정 라벨 또는 소유자 참조가 없기 때문에 발생합니다. 빈 데이터와 같이 잘못된 인증 정보를 사용하여 cloud-credentials
보안을 생성하면 Operator가 조정되고 빈 데이터로 백업 스토리지 위치(BSL) 및 레지스트리 배포를 생성합니다. 결과적으로 올바른 인증 정보를 사용하여 cloud-credentials
보안을 업데이트하면 Operator가 새 인증 정보를 수집하도록 즉시 조정되지 않습니다.
해결방법: OADP 1.3으로 업데이트합니다.
4.2.2.3. OADP 1.2.3 릴리스 노트
4.2.2.3.1. 새로운 기능
OADP(OpenShift API for Data Protection) 1.2.3 릴리스에는 새로운 기능이 없습니다.
4.2.2.3.2. 해결된 문제
다음 강조 표시된 문제는 OADP 1.2.3에서 해결됩니다.
여러 HTTP/2가 활성화된 웹 서버는 DDoS 공격(Rapid Reset Attack)에 취약합니다.
이전 버전의 OADP 1.2에서는 요청 취소가 여러 스트림을 빠르게 재설정할 수 있기 때문에 HTTP/2 프로토콜이 서비스 거부 공격에 취약했습니다. 서버는 스트림을 설정하고 해체하는 동시에 연결당 최대 활성 스트림 수에 대한 서버 측 제한에 도달하지 않아야 했습니다. 이로 인해 서버 리소스 사용량으로 인해 서비스가 거부되었습니다. 이 CVE와 관련된 모든 OADP 문제 목록은 다음 Jira 목록을 참조하십시오.
자세한 내용은 CVE-2023-39325 (Rapid Reset Attack) 를 참조하십시오.
OADP 1.2.3 릴리스에서 해결된 모든 문제의 전체 목록은 Jira의 OADP 1.2.3 해결된 문제 목록을 참조하십시오.
4.2.2.3.3. 확인된 문제
OADP 1.2.3에는 다음과 같은 알려진 문제가 있습니다.
인증 정보 시크릿을 업데이트할 때 DPA(Data Protection Application)가 조정되지 않음
현재 cloud-credentials
시크릿을 업데이트할 때 OADP Operator가 조정되지 않습니다. 이는 cloud-credentials
보안에 OADP 특정 라벨 또는 소유자 참조가 없기 때문에 발생합니다. 빈 데이터와 같이 잘못된 인증 정보를 사용하여 cloud-credentials
보안을 생성하면 Operator가 조정되고 빈 데이터로 백업 스토리지 위치(BSL) 및 레지스트리 배포를 생성합니다. 결과적으로 올바른 인증 정보를 사용하여 cloud-credentials
보안을 업데이트하면 Operator가 새 인증 정보를 수집하도록 즉시 조정되지 않습니다.
해결방법: OADP 1.3으로 업데이트합니다.
4.2.2.4. OADP 1.2.2 릴리스 노트
4.2.2.4.1. 새로운 기능
OADP(OpenShift API for Data Protection) 1.2.2 릴리스에는 새로운 기능이 없습니다.
4.2.2.4.2. 해결된 문제
다음 강조 표시된 문제는 OADP 1.2.2에서 해결됩니다.
Pod 보안 표준으로 인해 Restic 복원이 부분적으로 실패했습니다.
이전 릴리스의 OADP 1.2에서 OpenShift Container Platform 4.14는 Restic 복원 프로세스 중에 Pod 준비 상태를 방해하는 PSA(Pod 보안 승인) 정책을 적용했습니다.
이 문제는 OADP 1.2.2 및 OADP 1.1.6 릴리스에서 해결되었습니다. 따라서 사용자는 이러한 릴리스로 업그레이드하는 것이 좋습니다.
자세한 내용은 변경된 PSA 정책으로 인해 OCP 4.14에서 부분적으로 실패한 Restic 복원을 참조하십시오. (OADP-2094)
내부 이미지가 있는 앱 백업이 플러그인 패닉 오류와 함께 부분적으로 실패했습니다.
이전 릴리스의 OADP 1.2 릴리스에서는 플러그인 패닉 오류가 반환되어 내부 이미지가 부분적으로 실패한 애플리케이션의 백업이 실패했습니다. Velero 로그에서 이 오류와 함께 백업이 부분적으로 실패합니다.
time="2022-11-23T15:40:46Z" level=info msg="1 errors encountered backup up item" backup=openshift-adp/django-persistent-67a5b83d-6b44-11ed-9cba-902e163f806c logSource="/remote-source/velero/app/pkg/backup/backup.go:413" name=django-psql-persistent time="2022-11-23T15:40:46Z" level=error msg="Error backing up item" backup=openshift-adp/django-persistent-67a5b83d-6b44-11ed-9cba-902e163f8
이 문제는 OADP 1.2.2에서 해결되었습니다. (OADP-1057).
복원 주문으로 인해 ACM 클러스터 복원이 예상대로 작동하지 않았습니다.
이전 릴리스의 OADP 1.2에서는 복원 주문으로 인해 ACM 클러스터 복원이 예상대로 작동하지 않았습니다. ACM 애플리케이션은 복원 활성화 후 관리 클러스터에서 제거 및 다시 생성되었습니다. (OADP-2505)
볼륨 크기 불일치로 인해 백업 및 복원 시 VM의 filesystemOverhead 사용 실패
이전 릴리스에서는 스토리지 공급자 구현 선택 사항으로 인해 애플리케이션 PVC(영구 볼륨 클레임) 스토리지 요청과 동일한 PVC의 스냅샷 크기에 차이가 있을 때마다 백업 및 복원 시 VM의 filesystemOverhead가 실패했습니다. 이 문제는 OADP 1.2.2의 데이터 Mover에서 해결되었습니다. (OADP-2144)
OADP에는 collectdSync 복제 소스 정리 간격을 설정하는 옵션이 포함되어 있지 않았습니다.
이전 릴리스의 OADP 1.2에서는 ballSync 복제 소스 pruneInterval
을 설정할 수 있는 옵션이 없었습니다. (OADP-2052)
Velero가 여러 네임스페이스에 설치된 경우 가능한 Pod 볼륨 백업 실패
이전 릴리스의 OADP 1.2 릴리스에서는 Velero가 여러 네임스페이스에 설치된 경우 Pod 볼륨 백업 오류가 발생할 수 있었습니다. (OADP-2409)
VSL에서 사용자 정의 시크릿을 사용하는 경우 백업 스토리지 위치가 사용할 수 없는 단계로 이동
이전 릴리스의 OADP 1.2 릴리스에서는 Volume Snapshot Location이 사용자 정의 시크릿을 사용한 경우 Backup Storage Locations를 사용할 수 없는 단계로 이동했습니다. (OADP-1737)
OADP 1.2.2 릴리스에서 해결된 모든 문제의 전체 목록은 Jira의 OADP 1.2.2 해결된 문제 목록을 참조하십시오.
4.2.2.4.3. 확인된 문제
다음 문제는 OADP 1.2.2 릴리스에서 알려진 문제로 강조되어 있습니다.
must-gather 명령이 ClusterRoleBinding 리소스를 제거하지 못했습니다
oc adm must-gather
명령은 승인 Webhook로 인해 클러스터에 남아 있는 ClusterRoleBinding
리소스를 제거하지 못합니다. 따라서 ClusterRoleBinding
리소스 제거 요청이 거부됩니다. (OADP-27730)
admission webhook "clusterrolebindings-validation.managed.openshift.io" denied the request: Deleting ClusterRoleBinding must-gather-p7vwj is not allowed
이 릴리스에서 알려진 모든 문제의 전체 목록은 Jira의 OADP 1.2.2 알려진 문제 목록을 참조하십시오.
4.2.2.5. OADP 1.2.1 릴리스 노트
4.2.2.5.1. 새로운 기능
OADP(OpenShift API for Data Protection) 1.2.1 릴리스에는 새로운 기능이 없습니다.
4.2.2.5.2. 해결된 문제
OADP 1.2.1 릴리스에서 해결된 모든 문제의 전체 목록은 Jira의 OADP 1.2.1 해결 문제 목록을 참조하십시오.
4.2.2.5.3. 확인된 문제
다음 문제는 OADP 1.2.1 릴리스에서 알려진 문제로 강조되어 있습니다.
DataMover Restic 유지 및 정리 정책이 예상대로 작동하지 않음
CryostatSync 및 Restic이 제공하는 보존 및 정리 기능은 예상대로 작동하지 않습니다. collectdSync 복제에 정리 간격을 설정하는 작업 옵션이 없으므로 OADP 외부에서 S3 스토리지에 원격으로 저장된 백업을 관리하고 정리해야 합니다. 자세한 내용은 다음을 참조하십시오.
OADP Data Mover는 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.
Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.
이 릴리스에서 알려진 모든 문제의 전체 목록은 Jira의 OADP 1.2.1 알려진 문제 목록을 참조하십시오.
4.2.2.6. OADP 1.2.0 릴리스 노트
OADP 1.2.0 릴리스 노트에는 새로운 기능, 버그 수정 및 알려진 문제에 대한 정보가 포함되어 있습니다.
4.2.2.6.1. 새로운 기능
리소스 제한 시간
새 resourceTimeout
옵션은 다양한 Velero 리소스에서 대기할 때까지 시간 초과 기간을 분 단위로 지정합니다. 이 옵션은 Velero CRD 가용성, volumeSnapshot
삭제 및 백업 리포지토리 가용성과 같은 리소스에 적용됩니다. 기본 기간은 10분입니다.
AWS S3 호환 백업 스토리지 공급자
AWS S3 호환 공급자에서 오브젝트 및 스냅샷을 백업할 수 있습니다.
4.2.2.6.1.1. 기술 프리뷰 기능
Data Mover
OADP Data Mover를 사용하면 CSI(Container Storage Interface) 볼륨 스냅샷을 원격 오브젝트 저장소에 백업할 수 있습니다. Data Mover를 활성화하면 실수로 클러스터 삭제, 클러스터 장애 또는 데이터 손상의 경우 오브젝트 저장소에서 가져온 CSI 볼륨 스냅샷을 사용하여 상태 저장 애플리케이션을 복원할 수 있습니다.
OADP Data Mover는 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.
Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.
4.2.2.6.2. 해결된 문제
이 릴리스에서 해결된 모든 문제의 전체 목록은 Jira의 OADP 1.2.0 해결 문제 목록을 참조하십시오.
4.2.2.6.3. 확인된 문제
다음 문제는 OADP 1.2.0 릴리스에서 알려진 문제로 강조되어 있습니다.
여러 HTTP/2가 활성화된 웹 서버는 DDoS 공격(Rapid Reset Attack)에 취약합니다.
요청 취소가 여러 스트림을 빠르게 재설정할 수 있으므로 HTTP/2 프로토콜은 서비스 거부 공격에 취약합니다. 서버는 스트림을 설정하고 해체해야 하지만 연결당 최대 활성 스트림 수에 대한 서버 측 제한에 도달하지 않아야 합니다. 이로 인해 서버 리소스 사용량으로 인해 서비스 거부가 발생합니다.
이 문제를 해결하려면 OADP 1.2.3으로 업그레이드하는 것이 좋습니다.
자세한 내용은 CVE-2023-39325 (Rapid Reset Attack) 를 참조하십시오.
생성된 경로에서 호스트 이름을 변경할 때 잘못된 호스트 이름을 생성할 수 있습니다.
기본적으로 OpenShift Container Platform 클러스터는 openshift.io/host.generated: true
주석이 켜져 있고 생성되는 경로와 생성되지 않은 경로의 필드를 채우도록 합니다.
생성된 경로 및 생성되지 않은 경로에 있는 클러스터의 기본 도메인 이름을 기반으로 .spec.host
필드의 값을 수정할 수 없습니다.
.spec.host
필드의 값을 수정하면 OpenShift Container Platform 클러스터에서 생성된 기본값을 복원할 수 없습니다. OpenShift Container Platform 클러스터를 복원한 후 Operator는 필드 값을 재설정합니다.
4.2.2.6.4. 업그레이드 노트
항상 다음 마이너 버전으로 업그레이드합니다. 버전을 건너뛰 지 마십시오. 이후 버전으로 업데이트하려면 한 번에 하나의 채널만 업그레이드합니다. 예를 들어 OADP(OpenShift API for Data Protection) 1.1에서 1.3으로 업그레이드하려면 먼저 1.2로 업그레이드한 다음 1.3으로 업그레이드합니다.
4.2.2.6.4.1. OADP 1.1에서 1.2로 변경
Velero 서버가 버전 1.9에서 1.11로 업데이트되었습니다.
OADP 1.2에서 DPA( DataProtectionApplication
) 구성 dpa.spec.configuration.velero.args
에는 다음과 같은 변경 사항이 있습니다.
-
default-volumes-to-restic
필드의 이름이default-volumes-to-fs-backup
으로 변경되었습니다.dpa.spec.configuration.velero.args
를 사용하는 경우 OADP를 업그레이드한 후 새 이름으로 DPA를 다시 추가해야 합니다. -
restic-timeout
필드의 이름이fs-backup-timeout
로 변경되었습니다.dpa.spec.configuration.velero.args
를 사용하는 경우 OADP를 업그레이드한 후 새 이름으로 DPA를 다시 추가해야 합니다. -
restic
데몬 세트의 이름이node-agent
로 변경되었습니다. OADP는 데몬 세트의 이름을 자동으로 업데이트합니다. -
사용자 정의 리소스 정의
resticrepositories.velero.io
는backuprepositories.velero.io
로 변경되었습니다. -
사용자 정의 리소스 정의
resticrepositories.velero.io
는 클러스터에서 제거할 수 있습니다.
4.2.2.6.5. 업그레이드 단계
4.2.2.6.5.1. DPA 구성 백업
현재 DPA( DataProtectionApplication
) 구성을 백업해야 합니다.
절차
다음 명령을 실행하여 현재 DPA 구성을 저장합니다.
예제
$ oc get dpa -n openshift-adp -o yaml > dpa.orig.backup
4.2.2.6.5.2. OADP Operator 업그레이드
OADP(OpenShift API for Data Protection) Operator를 업그레이드할 때 다음 시퀀스를 사용합니다.
절차
-
OADP Operator의 서브스크립션 채널을
stable-1.1
에서stable-1.2
로 변경합니다. - Operator 및 컨테이너가 업데이트 및 재시작될 수 있는 시간을 허용합니다.
4.2.2.6.5.3. DPA를 새 버전으로 변환
spec.configuration.velero.args
스탠자에서 업데이트된 필드를 사용하는 경우 새 매개변수 이름을 사용하도록 DPA( DataProtectionApplication
) 매니페스트를 구성해야 합니다.
절차
-
Operators
설치된 Operator 를 클릭하고 OADP Operator를 선택합니다. - 제공된 API 를 선택하고 DataProtectionApplication 상자에서 인스턴스 생성 을 클릭합니다.
YAML View 를 클릭하여 현재 DPA 매개변수를 표시합니다.
현재 DPA의 예
spec: configuration: velero: args: default-volumes-to-fs-backup: true default-restic-prune-frequency: 6000 fs-backup-timeout: 600 # ...
- DPA 매개변수를 업데이트합니다.
값을 변경하지 않고 DPA 매개변수 이름을 업데이트합니다.
-
default-volumes-to-restic
키를default-volumes-to-fs-backup
으로 변경합니다. -
default-restic-prune-frequency
키를default-repo-maintain-frequency
로 변경합니다. -
restic-timeout
키를fs-backup-timeout
로 변경합니다.
.example updated DPA
spec: configuration: velero: args: default-volumes-to-fs-backup: true default-repo-maintain-frequency: 6000 fs-backup-timeout: 600 # ...
-
- DPA가 성공적으로 조정될 때까지 기다립니다.
4.2.2.6.5.4. 업그레이드 확인
다음 절차를 사용하여 업그레이드를 확인합니다.
절차
다음 명령을 실행하여 OADP(OpenShift API for Data Protection) 리소스를 확인하여 설치를 확인합니다.
$ oc get all -n openshift-adp
출력 예
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
다음 명령을 실행하여 DPA(
DataProtectionApplication
)가 조정되었는지 확인합니다.$ oc get dpa dpa-sample -n openshift-adp -o jsonpath='{.status}'
출력 예
{"conditions":[{"lastTransitionTime":"2023-10-27T01:23:57Z","message":"Reconcile complete","reason":"Complete","status":"True","type":"Reconciled"}]}
-
유형이
Reconciled
으로 설정되어 있는지 확인합니다. 백업 스토리지 위치를 확인하고 다음 명령을 실행하여
PHASE
가 사용
가능한지 확인합니다.$ oc get backupStorageLocation -n openshift-adp
출력 예
NAME PHASE LAST VALIDATED AGE DEFAULT dpa-sample-1 Available 1s 3d16h true
4.2.3. OADP 1.1 릴리스 노트
OADP(OpenShift API for Data Protection) 1.1의 릴리스 노트에서는 새로운 기능 및 개선 사항, 더 이상 사용되지 않는 기능, 제품 권장 사항, 알려진 문제, 해결된 문제에 대해 설명합니다.
4.2.3.1. OADP 1.1.8 릴리스 노트
OADP(OpenShift API for Data Protection) 1.1.8 릴리스 노트에는 알려진 문제가 나열됩니다. 이 릴리스에는 해결된 문제가 없습니다.
4.2.3.1.1. 확인된 문제
OADP 1.1.8의 알려진 모든 문제의 전체 목록은 Jira에서 알려진 OADP 1.1.8 문제 목록을 참조하십시오.
4.2.3.2. OADP 1.1.7 릴리스 노트
OADP 1.1.7 릴리스 노트에는 해결된 문제와 알려진 문제가 나열되어 있습니다.
4.2.3.2.1. 해결된 문제
다음의 강조된 문제는 OADP 1.1.7에서 해결됩니다.
여러 HTTP/2가 활성화된 웹 서버는 DDoS 공격(Rapid Reset Attack)에 취약합니다.
이전 버전의 OADP 1.1에서는 요청 취소가 여러 스트림을 빠르게 재설정할 수 있기 때문에 HTTP/2 프로토콜이 서비스 거부 공격에 취약했습니다. 서버는 스트림을 설정하고 해체하는 동시에 연결당 최대 활성 스트림 수에 대한 서버 측 제한에 도달하지 않아야 했습니다. 이로 인해 서버 리소스 사용량으로 인해 서비스가 거부되었습니다. 이 CVE와 관련된 모든 OADP 문제 목록은 다음 Jira 목록을 참조하십시오.
자세한 내용은 CVE-2023-39325 (Rapid Reset Attack) 를 참조하십시오.
OADP 1.1.7 릴리스에서 해결된 모든 문제의 전체 목록은 Jira의 OADP 1.1.7 문제 목록을 참조하십시오.
4.2.3.2.2. 확인된 문제
OADP 1.1.7 릴리스에는 알려진 문제가 없습니다.
4.2.3.3. OADP 1.1.6 릴리스 노트
OADP 1.1.6 릴리스 노트에는 새로운 기능, 해결된 문제 및 버그, 알려진 문제가 나열되어 있습니다.
4.2.3.3.1. 해결된 문제
Pod 보안 표준으로 인해 Restic 복원이 부분적으로 실패함
OCP 4.14에서는 권한 있는
프로필이 적용됨을 나타내는 Pod 보안 표준이 도입 되었습니다
. 이전 릴리스의 OADP에서 이 프로필로 인해 Pod에서 권한 거부
오류가 발생했습니다. 이 문제는 복원 순서 때문에 발생했습니다. Pod는 SCC(보안 컨텍스트 제약 조건) 리소스 전에 생성되었습니다. 이 Pod가 Pod 보안 표준을 위반했기 때문에 Pod가 거부되어 실패했습니다. OADP-2420
작업 리소스에 대해 부분적으로 실패함
이전 릴리스의 OADP에서는 OCP 4.14에서 작업 리소스 복원이 부분적으로 실패했습니다. 이 문제는 이전 OCP 버전에서 볼 수 없었습니다. 이 문제는 이전 OCP 버전에 없는 작업 리소스에 대한 추가 레이블로 인해 발생했습니다. OADP-2530
이 릴리스에서 해결된 모든 문제의 전체 목록은 Jira의 OADP 1.1.6 해결 문제 목록을 참조하십시오.
4.2.3.3.2. 확인된 문제
이 릴리스에서 알려진 모든 문제의 전체 목록은 Jira의 OADP 1.1.6 알려진 문제 목록을 참조하십시오.
4.2.3.4. OADP 1.1.5 릴리스 노트
OADP 1.1.5 릴리스 노트에는 새로운 기능, 해결된 문제 및 버그, 알려진 문제가 나열되어 있습니다.
4.2.3.4.1. 새로운 기능
이 버전의 OADP는 서비스 릴리스입니다. 이 버전에는 새로운 기능이 추가되지 않습니다.
4.2.3.4.2. 해결된 문제
이 릴리스에서 해결된 모든 문제의 전체 목록은 Jira의 OADP 1.1.5 해결 문제 목록을 참조하십시오.
4.2.3.4.3. 확인된 문제
이 릴리스에서 알려진 모든 문제의 전체 목록은 Jira의 OADP 1.1.5 알려진 문제 목록을 참조하십시오.
4.2.3.5. OADP 1.1.4 릴리스 노트
OADP 1.1.4 릴리스 노트에는 새로운 기능, 해결된 문제 및 알려진 문제가 나열되어 있습니다.
4.2.3.5.1. 새로운 기능
이 버전의 OADP는 서비스 릴리스입니다. 이 버전에는 새로운 기능이 추가되지 않습니다.
4.2.3.5.2. 해결된 문제
모든 velero 배포 서버 인수에 대한 지원 추가
이전 릴리스에서 OADP는 모든 업스트림 Velero 서버 인수를 지원하지 않았습니다. 이 문제는 OADP 1.1.4에서 해결되었으며 모든 업스트림 Velero 서버 인수가 지원됩니다. OADP-1557
복원 이름과 pvc 이름에 두 개 이상의 VSR이 있는 경우 데이터 Mover가 잘못된 스냅샷에서 복원할 수 있습니다.
이전 릴리스에서는 동일한 Velero 복원 이름 및 영구 볼륨 클레임(pvc) 이름에 대해 클러스터에 VSR( Volume Snapshot Restore) 리소스가 두 개 이상 있는 경우 OADP Data Mover가 잘못된 스냅샷에서 복원할
수 있었습니다. OADP-1822
Cloud Storage API BSL에 OwnerReference 필요
이전 릴리스에서 ACM BackupSchedules는 dpa.spec.backupLocations.bucket
으로 생성된 백업 스토리지 위치(BSL)에서 누락된 OwnerReference
로 인해 검증에 실패했습니다. OADP-1511
이 릴리스에서 해결된 모든 문제의 전체 목록은 Jira의 OADP 1.1.4 해결 문제 목록을 참조하십시오.
4.2.3.5.3. 확인된 문제
이 릴리스에는 다음과 같은 알려진 문제가 있습니다.
클러스터에서 UID/GID 범위가 변경될 수 있으므로 OADP 백업이 실패할 수 있습니다.
OADP 백업은 애플리케이션이 복원된 클러스터에서 UID/GID 범위가 변경될 수 있기 때문에 실패할 수 있으며, OADP가 OpenShift Container Platform UID/GID 범위 메타데이터를 백업하지 않고 복원하지 않습니다. 문제를 방지하려면 백업 애플리케이션에 특정 UUID가 필요한 경우 복원 시 범위를 사용할 수 있는지 확인하십시오. 추가 해결 방법은 OADP가 복원 작업에 네임스페이스를 생성하도록 허용하는 것입니다.
ArgoCD에서 사용하는 레이블로 인해 프로세스 중에 ArgoCD를 사용하는 경우 복원이 실패할 수 있습니다.
ArgoCD, app.kubernetes.io/instance
에서 사용하는 레이블로 인해 프로세스 중에 ArgoCD를 사용하는 경우 복원이 실패할 수 있습니다. 이 레이블은 ArgoCD를 관리해야 하는 리소스를 식별하여 복원 시 리소스를 관리하는 OADP 절차와 충돌을 생성할 수 있습니다. 이 문제를 해결하려면 ArgoCD YAML에서 .spec.resource>-<ingMethod
를 annotation+label
또는 주석
으로 설정합니다. 문제가 계속되면 복원을 시작하기 전에 ArgoCD를 비활성화하고 복원이 완료되면 다시 활성화합니다.
OADP Velero 플러그인 반환 "Received EOF, stop recv loop" 메시지
Velero 플러그인은 별도의 프로세스로 시작됩니다. Velero 작업이 완료되면 해당 작업이 성공적으로 종료됩니다. 따라서 디버그 로그에서 recv 루프 메시지를 중지하는 EOF가 수신되면
오류가 발생하지 않습니다. 이 메시지는 플러그인 작업이 완료되었음을 나타냅니다. OADP-2176
이 릴리스에서 알려진 모든 문제의 전체 목록은 Jira의 OADP 1.1.4 알려진 문제 목록을 참조하십시오.
4.2.3.6. OADP 1.1.3 릴리스 노트
OADP 1.1.3 릴리스 노트에는 새로운 기능, 해결된 문제 및 버그, 알려진 문제가 나열되어 있습니다.
4.2.3.6.1. 새로운 기능
이 버전의 OADP는 서비스 릴리스입니다. 이 버전에는 새로운 기능이 추가되지 않습니다.
4.2.3.6.2. 해결된 문제
이 릴리스에서 해결된 모든 문제의 전체 목록은 Jira의 OADP 1.1.3 해결 문제 목록을 참조하십시오.
4.2.3.6.3. 확인된 문제
이 릴리스에서 알려진 모든 문제의 전체 목록은 Jira의 OADP 1.1.3 알려진 문제 목록을 참조하십시오.
4.2.3.7. OADP 1.1.2 릴리스 노트
OADP 1.1.2 릴리스 노트에는 제품 권장 사항, 수정된 버그 목록 및 알려진 문제에 대한 설명이 포함되어 있습니다.
4.2.3.7.1. 제품 권장 사항
VolSync
IKEvSync 0.5.1에서 dess stable 채널에서 사용 가능한 최신 버전으로 업그레이드를 준비하려면 다음 명령을 실행하여 openshift-adp
네임스페이스에 이 주석을 추가해야 합니다.
$ oc annotate --overwrite namespace/openshift-adp volsync.backube/privileged-movers='true'
Velero
이번 릴리스에서는 Velero가 버전 1.9.2에서 버전 1.9.5 로 업그레이드되었습니다.
Restic
이번 릴리스에서는 Restic이 버전 0.13.1에서 버전 0.14.0 으로 업그레이드되었습니다.
4.2.3.7.2. 해결된 문제
이번 릴리스에서는 다음 문제가 해결되었습니다.
4.2.3.7.3. 확인된 문제
이 릴리스에는 다음과 같은 알려진 문제가 있습니다.
4.2.3.8. OADP 1.1.1 릴리스 노트
OADP 1.1.1 릴리스 노트에는 제품 권장 사항 및 알려진 문제에 대한 설명이 포함되어 있습니다.
4.2.3.8.1. 제품 권장 사항
OADP 1.1.1를 설치하기 전에ECDHESync 0.5.1을 설치하거나 업그레이드 하는 것이 좋습니다.
4.2.3.8.2. 확인된 문제
이 릴리스에는 다음과 같은 알려진 문제가 있습니다.
여러 HTTP/2가 활성화된 웹 서버는 DDoS 공격(Rapid Reset Attack)에 취약합니다.
요청 취소가 여러 스트림을 빠르게 재설정할 수 있으므로 HTTP/2 프로토콜은 서비스 거부 공격에 취약합니다. 서버는 스트림을 설정하고 해체해야 하지만 연결당 최대 활성 스트림 수에 대한 서버 측 제한에 도달하지 않아야 합니다. 이로 인해 서버 리소스 사용량으로 인해 서비스 거부가 발생합니다. 이 CVE와 관련된 모든 OADP 문제 목록은 다음 Jira 목록을 참조하십시오.
이 문제를 해결하려면 OADP 1.1.7 또는 1.2.3으로 업그레이드하는 것이 좋습니다.
자세한 내용은 CVE-2023-39325 (Rapid Reset Attack) 를 참조하십시오.
- OADP는 현재 Velero의 restic (OADP-778)을 사용하여 AWS EFS 볼륨의 백업 및 복원을 지원하지 않습니다.
PVC당
VolumeSnapshotContent
스냅샷의 Ceph 제한으로 인해 CSI 백업이 실패할 수 있습니다.동일한 PVC(영구 볼륨 클레임)의 스냅샷을 여러 개 생성할 수 있지만 스냅샷의 주기적 생성은 예약할 수 없습니다.