4.13. 검색된 애플리케이션에 대한 재해 복구 보호


Red Hat OpenShift Data Foundation은 이제 RHACM(Red Hat Advanced Cluster Management)을 사용하지 않고도 관리형 클러스터 중 하나에 배포된 워크로드에 대한 재해 복구(DR) 보호 및 지원을 제공합니다. 이러한 워크로드를 검색된 애플리케이션이라고 합니다.

RHACM을 사용하여 배포된 워크로드는 관리형 애플리케이션이지만 RHACM을 사용하지 않고 관리형 클러스터에 직접 배포된 워크로드는 검색된 애플리케이션이라고 합니다. RHACM은 두 워크로드 유형의 세부 정보를 표시하지만 검색된 애플리케이션의 라이프사이클(생성, 삭제, 편집)을 관리하지 않습니다.

4.13.1. 검색된 애플리케이션의 재해 복구 보호를 위한 사전 요구 사항

이 섹션에서는 검색된 애플리케이션을 보호하기 위한 사전 요구 사항을 안내하는 지침을 제공합니다. 여기에는 데이터 정책 할당 및 페일오버 및 재배치와 같은 DR 작업 시작과 같은 작업이 포함됩니다.

  1. 모든 DR 구성이 기본 관리 클러스터 및 Secondary 관리 클러스터에 설치되어 있는지 확인합니다.
  2. OADP 1.4 Operator를 설치합니다.

    참고

    OADP 1.4 이전 버전은 발견된 애플리케이션을 보호하기 위해 작동하지 않습니다.

    1. 기본보조 관리 클러스터에서 OperatorHub 로 이동하여 키워드 필터를 사용하여 OADP 를 검색합니다.
    2. OADP 타일을 클릭합니다.
    3. 모든 기본 설정을 유지하고 설치를 클릭합니다. Operator 리소스가 openshift-adp 프로젝트에 설치되어 있는지 확인합니다.
    참고

    DR 구성을 완료한 후 OADP 1.4를 설치하면 기본 관리 클러스터의 ramen-dr-cluster-operator Pod와 네임스페이스 openshift-dr-systemSecondary 관리 클러스터를 다시 시작해야 합니다(삭제 및 다시 생성).

  3. [선택 사항] ramen-hub-operator-config ConfigMap 에 CACertificate를 추가합니다.

    보안 전송 프로토콜과 Hub 클러스터에서 오브젝트 버킷에 대한 액세스를 확인하는 MCG(Multicloud Gateway) 오브젝트 버킷의 대체 클러스터에 메타데이터를 저장할 수 있도록 기본 클러스터와 보조 클러스터 간에 네트워크(SSL) 액세스를 구성합니다.

    참고

    모든 OpenShift 클러스터가 사용자 환경에 대한 서명된 유효한 인증서 세트를 사용하여 배포된 경우 이 섹션을 건너뛸 수 있습니다.

    자체 서명된 인증서를 사용하는 경우 openshift-config 네임스페이스에 user-ca-bundle 이라는 ConfigMap 을 이미 생성하고 이 ConfigMap을 기본 프록시 클러스터 리소스에 추가했습니다.

    1. CACertificates의 인코딩된 값을 찾습니다.

      $ oc get configmap user-ca-bundle -n openshift-config -o jsonpath="{['data']['ca-bundle\.crt']}" |base64 -w 0
      Copy to Clipboard Toggle word wrap
    2. 이 base64로 인코딩된 값을 Hub 클러스터의 configmap ramen-hub-operator-config 에 추가합니다. 아래 예제에서는 CACertificates를 추가할 위치를 보여줍니다.

      $ oc edit configmap ramen-hub-operator-config -n openshift-operators
      Copy to Clipboard Toggle word wrap
      [...]
          ramenOpsNamespace: openshift-dr-ops
          s3StoreProfiles:
          - s3Bucket: odrbucket-36bceb61c09c
            s3CompatibleEndpoint: https://s3-openshift-storage.apps.hyper3.vmw.ibmfusion.eu
            s3ProfileName: s3profile-hyper3-ocs-storagecluster
            s3Region: noobaa
            s3SecretRef:
              name: 60f2ea6069e168346d5ad0e0b5faa59bb74946f
            caCertificates: {input base64 encoded value here}
          - s3Bucket: odrbucket-36bceb61c09c
            s3CompatibleEndpoint: https://s3-openshift-storage.apps.hyper4.vmw.ibmfusion.eu
            s3ProfileName: s3profile-hyper4-ocs-storagecluster
            s3Region: noobaa
            s3SecretRef:
              name: cc237eba032ad5c422fb939684eb633822d7900
            caCertificates: {input base64 encoded value here}
      Copy to Clipboard Toggle word wrap
  4. 기본 관리 클러스터의 OADP Operator 기본 네임스페이스 openshift-adpSecondary 관리 클러스터에서 생성된 DR 시크릿이 있는지 확인합니다. 첫 번째 DRPolicy가 생성될 때 생성된 DR 시크릿은 아래 비밀과 유사합니다. DR 시크릿 이름 앞에 문자 v 가 붙습니다.

    $ oc get secrets -n openshift-adp
    NAME                                       TYPE     DATA   AGE
    v60f2ea6069e168346d5ad0e0b5faa59bb74946f   Opaque   1      3d20h
    vcc237eba032ad5c422fb939684eb633822d7900   Opaque   1      3d20h
    [...]
    Copy to Clipboard Toggle word wrap
    참고

    openshift-adp 네임스페이스에 각 관리 클러스터에 대해 하나의 DR 생성 시크릿이 있습니다.

  5. OADP 네임스페이스 openshift-adp 의 각 관리 클러스터에 DPA(데이터 보호 애플리케이션)가 이미 설치되어 있는지 확인합니다. 아직 생성되지 않은 경우 다음 단계에 따라 이 리소스를 생성합니다.

    1. 다음 YAML 정의 콘텐츠를 dpa.yaml 에 복사하여 DPA를 생성합니다.

      apiVersion: oadp.openshift.io/v1alpha1
      kind: DataProtectionApplication
      metadata:
        labels:
          app.kubernetes.io/component: velero
        name: velero
        namespace: openshift-adp
      spec:
        backupImages: false
        configuration:
          nodeAgent:
            enable: false
            uploaderType: restic
          velero:
            defaultPlugins:
              - openshift
              - aws
            noDefaultBackupLocation: true
      Copy to Clipboard Toggle word wrap
    2. DPA 리소스를 생성합니다.

      $ oc create -f dpa.yaml -n openshift-adp
      Copy to Clipboard Toggle word wrap
      dataprotectionapplication.oadp.openshift.io/velero created
      Copy to Clipboard Toggle word wrap
    3. OADP 리소스가 생성되고 Running 상태인지 확인합니다.

      $ oc get pods,dpa -n openshift-adp
      NAME                                                    READY   STATUS    RESTARTS   AGE
      pod/openshift-adp-controller-manager-7b64b74fcd-msjbs   1/1     Running   0          5m30s
      pod/velero-694b5b8f5c-b4kwg                             1/1     Running   0          3m31s
      
      
      NAME                                                 AGE
      dataprotectionapplication.oadp.openshift.io/velero   3m31s
      Copy to Clipboard Toggle word wrap

4.13.2. 샘플 검색된 애플리케이션 생성

기본 관리형 클러스터에서 Secondary 관리 클러스터로 페일오버 를 테스트하고 검색된 애플리케이션을 재배치 하려면 RHACM create 애플리케이션 기능을 사용하지 않고 설치된 샘플 애플리케이션이 필요합니다.

프로세스

  1. 기본 관리 클러스터에 로그인하고 샘플 애플리케이션 리포지토리를 복제합니다.

    $ git clone https://github.com/red-hat-storage/ocm-ramen-samples.git
    Copy to Clipboard Toggle word wrap
  2. 기본 분기에 있는지 확인합니다.

    $ cd ~/ocm-ramen-samples
    $ git branch
    * main
    Copy to Clipboard Toggle word wrap

    시나리오, 메트로 또는 지역에 따라 샘플 애플리케이션을 생성할 때 올바른 디렉터리를 사용해야 합니다.

    참고

    검색된 애플리케이션에서 CephRBD 또는 블록 볼륨을 사용하는 애플리케이션만 지원됩니다.

    $ ls workloads/deployment | egrep -v 'cephfs|k8s|base'
    odr-metro-rbd
    odr-regional-rbd
    Copy to Clipboard Toggle word wrap
  3. Primary 및 Secondary 관리 클러스터에서 모두 busybox-discovered 프로젝트를 생성합니다.

    $ oc new-project busybox-discovered
    Copy to Clipboard Toggle word wrap
  4. 기본 관리 클러스터에서 busybox 애플리케이션을 생성합니다. 이 샘플 애플리케이션 예제는 블록(Ceph RBD) 볼륨을 사용하는 Regional-DR용 예입니다.

    $ oc apply -k workloads/deployment/odr-regional-rbd -n busybox-discovered
    persistentvolumeclaim/busybox-pvc created
    deployment.apps/busybox created
    Copy to Clipboard Toggle word wrap
    참고

    OpenShift Data Foundation 재해 복구 솔루션은 이제 여러 네임스페이스에 걸쳐 검색된 애플리케이션에 대한 보호를 확장합니다.

  5. 기본 관리 클러스터 의 올바른 프로젝트에서 busybox가 실행 중인지 확인합니다.

    $ oc get pods,pvc,deployment -n busybox-discovered
    Copy to Clipboard Toggle word wrap
    NAME                           READY   STATUS    RESTARTS   AGE
    pod/busybox-796fccbb95-qmxjf   1/1     Running   0          18s
    
    
    NAME                                STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS                  VOLUMEATTRIBUTESCLASS   AGE
    persistentvolumeclaim/busybox-pvc   Bound    pvc-b20e4129-902d-47c7-b962-040ad64130c4   1Gi        RWO            ocs-storagecluster-ceph-rbd   <unset>                 18s
    
    
    NAME                      READY   UP-TO-DATE   AVAILABLE   AGE
    deployment.apps/busybox   1/1     1            1           18
    Copy to Clipboard Toggle word wrap

4.13.3. 재해 복구 보호를 위해 발견된 샘플 애플리케이션 등록

이 섹션에서는 protected 애플리케이션 탭에서 검색된 애플리케이션에 기존 DR 정책을 적용하는 방법을 안내합니다.

사전 요구 사항

  • 재해 복구가 구성되어 있고 하나 이상의 DR 정책이 생성되었는지 확인합니다.

프로세스

  1. RHACM 콘솔에서 Disaster recovery Protected applications 탭으로 이동합니다.
  2. Enroll application 을 클릭하여 DR 보호를 위한 기존 애플리케이션 구성을 시작합니다.
  3. ACM 검색된 애플리케이션을 선택합니다.
  4. 네임스페이스 페이지에서 busybox 가 설치된 기본 관리 클러스터의 이름인 DR 클러스터를 선택합니다.
  5. 애플리케이션이 설치된 네임스페이스 를 선택합니다. 예를 들어 busybox-discovered.

    참고

    여러 네임스페이스에 워크로드 분산이 있는 경우 모든 네임스페이스를 선택하여 DR을 보호할 수 있습니다.

  6. 검색된 애플리케이션에 대해 busybox-rbd 와 같은 고유한 이름 을 선택하고 Next 를 클릭합니다.
  7. 구성 페이지에서 리소스 레이블kubernetes-object 백업에 포함될 리소스를 설정할 수 있는 리소스와 복제되는 볼륨의 영구 데이터를 보호하는 데 사용됩니다. 리소스 레이블 은 기본적으로 선택됩니다.
  8. 라벨 표현식과 PVC 라벨 선택기를 제공합니다. kubernetes-objectsPVC 의 경우 appname=busybox 레이블을 선택합니다.
  9. 다음을 클릭합니다.
  10. 복제 페이지에서 기존 DR 정책kubernetes-objects 백업 간격을 선택합니다.

    참고

    PVC 데이터 복제 및 kubernetes-object 백업 간격(즉, 5분)에 대해 동일한 기간을 선택하는 것이 좋습니다.

  11. 다음을 클릭합니다.
  12. 구성을 검토하고 저장을 클릭합니다.

    뒤로 버튼을 사용하여 모든 문제를 해결하려면 화면으로 돌아갑니다.

  13. DR Cryostat 및 Relocate 테스트를 진행하기 전에 애플리케이션 볼륨(PVC)Kubernetes 오브젝트 백업의 상태가 Healthy 상태인지 확인합니다. 지정된 애플리케이션 탭에서 검색된 애플리케이션의 상태를 볼 수 있습니다.

    1. DRPC의 상태를 보려면 Hub 클러스터에서 다음 명령을 실행합니다.

      $ oc get drpc {drpc_name} -o wide -n openshift-dr-ops
      Copy to Clipboard Toggle word wrap

      검색된 애플리케이션은 DRPlacementControl(DRPC) 및 Hub 클러스터에 배치와 openshift-dr-ops 라는 새 네임스페이스에 배치를 저장합니다. DRPC 이름은 이전 단계에서 구성된 고유 이름 (즉, busybox-rbd)으로 식별할 수 있습니다.

    2. 검색된 애플리케이션의 VolumeReplicationGroup(VRG)의 상태를 보려면 busybox 애플리케이션이 수동으로 설치된 관리 클러스터에서 다음 명령을 실행합니다.

      $ oc get vrg {vrg_name} -n openshift-dr-ops
      Copy to Clipboard Toggle word wrap

      VRG 리소스는 검색된 애플리케이션에 DR 정책을 할당한 후 네임스페이스 openshift-dr-ops 에 저장됩니다. VRG 이름은 이전 단계에서 구성된 고유 이름 (즉, busybox-rbd)으로 식별할 수 있습니다.

4.13.4. 애플리케이션 장애 조치 및 재배치 검색

보호된 Discovered 애플리케이션은 관리형 애플리케이션과 유사한 피어 클러스터에 재배치하거나 Relocate 할 수 있습니다. 그러나 RHACM은 관리형 애플리케이션에 대한 애플리케이션 라이프사이클을 관리하지 않으므로 검색된 애플리케이션에 대한 몇 가지 추가 단계가 있습니다.

이 섹션에서는 보호된 검색된 애플리케이션에 대한 장애 조치 및 Relocate 프로세스를 안내합니다.

중요

리소스 유형 중 하나 또는 두 리소스 유형이 Warning 또는 Critical 상태에 있는 경우 don't initiate a Cryostat or Relocate of an application when one or both resource types are in a Warning or Critical status.

4.13.4.1. 검색된 애플리케이션의 장애 조치 재해 복구

이 섹션에서는 재해 복구로 보호되는 검색된 애플리케이션을 장애 조치하는 방법을 안내합니다.

사전 요구 사항

  • 애플리케이션 네임스페이스가 두 관리 클러스터(예: busybox-discovered)에 생성되었는지 확인합니다.

프로세스

  1. RHACM 콘솔에서 Disaster Recovery Protected applications 탭으로 이동합니다.
  2. 애플리케이션 행이 끝나면 작업 메뉴를 클릭하고 Cryostat 를 시작하도록 선택합니다.
  3. Cryostat 애플리케이션 모달 창에서 애플리케이션 및 대상 클러스터의 상태를 검토합니다.
  4. Initiate 를 클릭합니다. Cryostat 프로세스가 완료될 때까지 기다립니다.
  5. busybox 애플리케이션이 Secondary 관리 클러스터에서 실행 중인지 확인합니다.

    $ oc get pods,pvc,volumereplication -n busybox-discovered
    NAME                           READY   STATUS    RESTARTS   AGE
    pod/busybox-796fccbb95-qmxjf   1/1     Running   0          2m46s
    
    
    NAME                                STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS                  VOLUMEATTRIBUTESCLASS   AGE
    persistentvolumeclaim/busybox-pvc   Bound    pvc-b20e4129-902d-47c7-b962-040ad64130c4   1Gi        RWO            ocs-storagecluster-ceph-rbd   <unset>                 2m57s
    
    
    NAME                                                             AGE     VOLUMEREPLICATIONCLASS                  PVCNAME       DESIREDSTATE   CURRENTSTATE
    volumereplication.replication.storage.openshift.io/busybox-pvc   2m45s   rbd-volumereplicationclass-1625360775   busybox-pvc   primary        Primary
    Copy to Clipboard Toggle word wrap
  6. 결과가 WaitOnUserToCleanup 이 될 때까지 Cryostat의 진행 상태를 확인합니다. DRPC 이름은 이전 단계에서 구성된 고유한 이름(예: busybox-rbd)으로 식별할 수 있습니다.

    $ oc get drpc {drpc_name} -n openshift-dr-ops -o jsonpath='{.status.progression}{"\n"}'
    WaitOnUserToCleanUp
    Copy to Clipboard Toggle word wrap
  7. Primary 관리 클러스터에서 busybox 애플리케이션을 제거하여 Cryostat 프로세스를 완료합니다.

    1. protected applications 탭으로 이동합니다. 애플리케이션을 제거하는 메시지가 표시됩니다.
    2. busybox 에 대해 복제된 리포지토리로 이동하고 에서 실패한 기본 관리 클러스터에서 다음 명령을 실행합니다. 애플리케이션을 생성하는 데 사용된 것과 동일한 디렉터리를 사용합니다(예: odr-regional-rbd).

      $ cd ~/ocm-ramen-samples/
      $ git branch
      * main
      $ oc delete -k workloads/deployment/odr-regional-rbd -n busybox-discovered
      persistentvolumeclaim "busybox-pvc" deleted
      deployment.apps "busybox" deleted
      Copy to Clipboard Toggle word wrap
  8. 애플리케이션을 삭제한 후 protected 애플리케이션 탭으로 이동하여 busybox 리소스가 Healthy 상태인지 확인합니다.

4.13.4.2. 검색된 애플리케이션 재배치 재해 복구

이 섹션에서는 재해 복구로 보호되는 검색된 애플리케이션을 재배치하는 방법을 안내합니다.

프로세스

  1. RHACM 콘솔에서 Disaster Recovery Protected applications 탭으로 이동합니다.
  2. 애플리케이션 행이 끝나면 작업 메뉴를 클릭하고 Relocate 를 시작하도록 선택합니다.
  3. Relocate 애플리케이션 모달 창에서 애플리케이션 및 대상 클러스터의 상태를 검토합니다.
  4. Initiate 를 클릭합니다.
  5. 결과가 WaitOnUserToCleanup 이 될 때까지 Relocate의 진행 상태를 확인합니다. DRPC 이름은 이전 단계에서 구성된 고유한 이름(예: busybox-rbd)으로 식별할 수 있습니다.

    $ oc get drpc {drpc_name} -n openshift-dr-ops -o jsonpath='{.status.progression}{"\n"}'
    WaitOnUserToCleanUp
    Copy to Clipboard Toggle word wrap
  6. 기본 관리 클러스터로 다시 할당하기 전에 Secondary 관리 클러스터에서 busybox 애플리케이션을 제거합니다.

    busybox 에 대해 복제된 리포지토리로 이동하여 재배치Secondary 관리 클러스터에서 다음 명령을 실행합니다. 애플리케이션을 생성하는 데 사용된 것과 동일한 디렉터리를 사용합니다(예: odr-regional-rbd).

    $ cd ~/ocm-ramen-samples/
    $ git branch
    * main
    $ oc delete -k workloads/deployment/odr-regional-rbd -n busybox-discovered
    persistentvolumeclaim "busybox-pvc" deleted
    deployment.apps "busybox" deleted
    Copy to Clipboard Toggle word wrap
  7. 애플리케이션을 삭제한 후 protected 애플리케이션 탭으로 이동하여 busybox 리소스가 Healthy 상태인지 확인합니다.
  8. busybox 애플리케이션이 기본 관리 클러스터에서 실행 중인지 확인합니다.

    $ oc get pods,pvc -n busybox-discovered
    NAME                           READY   STATUS    RESTARTS   AGE
    pod/busybox-796fccbb95-qmxjf   1/1     Running   0          2m46s
    
    
    NAME                                STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS                  VOLUMEATTRIBUTESCLASS   AGE
    persistentvolumeclaim/busybox-pvc   Bound    pvc-b20e4129-902d-47c7-b962-040ad64130c4   1Gi        RWO            ocs-storagecluster-ceph-rbd   <unset>                 2m57s
    
    
    NAME                                                             AGE     VOLUMEREPLICATIONCLASS                  PVCNAME       DESIREDSTATE   CURRENTSTATE
    volumereplication.replication.storage.openshift.io/busybox-pvc   2m45s   rbd-volumereplicationclass-1625360775   busybox-pvc   primary        Primary
    Copy to Clipboard Toggle word wrap

4.13.5. 보호된 애플리케이션의 재해 복구 비활성화

이 섹션에서는 보호된 애플리케이션을 삭제하려는 경우 또는 애플리케이션을 더 이상 보호할 필요가 없는 경우 재해 복구 리소스를 비활성화하는 방법을 안내합니다.

프로세스

  1. Hub 클러스터에 로그인합니다.
  2. DRPlacementControl (DRPC) 리소스를 나열합니다. 각 DRPC 리소스는 애플리케이션에 DR 정책이 할당될 때 생성되었습니다.

    $ oc get drpc -n openshift-dr-ops
    Copy to Clipboard Toggle word wrap
  3. DR 정책(예: busybox-rbd)을 할당할 때 선택한 고유 식별자가 포함된 DRPC 를 찾아 DRPC를 삭제합니다.

    $ oc delete {drpc_name} -n openshift-dr-ops
    Copy to Clipboard Toggle word wrap
  4. 배치 리소스를 나열합니다. 각 배치 리소스는 애플리케이션에 DR 정책이 할당될 때 생성되었습니다.

    $ oc get placements -n openshift-dr-ops
    Copy to Clipboard Toggle word wrap
  5. DR 정책을 할당할 때 선택한 고유 식별자가 포함된 배치 (예: busybox-rbd-placement-1)가 있는 배치를 찾아 배치를 삭제합니다.

    $ oc delete placements {placement_name} -n openshift-dr-ops
    Copy to Clipboard Toggle word wrap
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2026 Red Hat