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


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

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

4.14.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
    2. 이 base64로 인코딩된 값을 Hub 클러스터의 configmap ramen-hub-operator-config 에 추가합니다. 아래 예제에서는 CACertificates를 추가할 위치를 보여줍니다.

      $ oc edit configmap ramen-hub-operator-config -n openshift-operators
      [...]
          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}
  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
    [...]
    참고

    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
    2. DPA 리소스를 생성합니다.

      $ oc create -f dpa.yaml -n openshift-adp
      dataprotectionapplication.oadp.openshift.io/velero created
    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

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

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

절차

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

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

    $ cd ~/ocm-ramen-samples
    $ git branch
    * main

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

    참고

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

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

    $ oc new-project busybox-discovered
  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
    참고

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

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

    $ oc get pods,pvc,deployment -n busybox-discovered
    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

4.14.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. 구성 페이지에서 Resource 레이블 또는 Recipe 를 선택합니다.
  8. 리소스 레이블kubernetes-object 백업에 포함할 리소스와 복제되는 볼륨의 영구 데이터를 설정할 수 있는 리소스를 보호하는 데 사용됩니다. 리소스 레이블을 선택한 경우 레이블 표현식과 PVC 라벨 선택기를 제공합니다. kubernetes-objectsPVC 의 경우 appname=busybox 레이블을 선택합니다.
  9. Recipe 를 선택한 경우 Recipe 목록에서 레시피 의 이름을 선택합니다.

    중요

    재해 복구를 위해 애플리케이션을 등록하기 전에 두 관리 클러스터의 애플리케이션 네임스페이스에 레시피 리소스를 생성해야 합니다.

  10. 다음을 클릭합니다.
  11. 복제 페이지에서 기존 DR 정책kubernetes-objects 백업 간격을 선택합니다.

    참고

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

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

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

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

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

      $ oc get drpc {drpc_name} -o wide -n openshift-dr-ops

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

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

      $ oc get vrg {vrg_name} -n openshift-dr-ops

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

4.14.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.14.4.1. 검색된 애플리케이션의 장애 조치 재해 복구

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

사전 요구 사항

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

절차

  1. RHACM 콘솔에서 Disaster Recovery Protected applications 탭으로 이동합니다.
  2. 애플리케이션 행이 끝나면 작업 메뉴를 클릭하고 Cryostat 를 시작하도록 선택합니다.
  3. Cryostat 애플리케이션 모달 창에서 애플리케이션 및 대상 클러스터의 상태를 검토합니다.

    중요

    동기화 지연으로 인한 데이터 불일치가 있는 경우 대상 클러스터의 Inconsistent data 라는 경고 메시지가 표시됩니다. 장애 조치(failover)가 시작되면 데이터 손실 가능성에 대한 경고입니다. 데이터 동기화가 완료되면 메시지가 더 이상 표시되지 않습니다.

  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
  6. 결과가 WaitOnUserToCleanup 이 될 때까지 Cryostat의 진행 상태를 확인합니다. DRPC 이름은 이전 단계에서 구성된 고유한 이름(예: busybox-rbd)으로 식별할 수 있습니다.

    $ oc get drpc {drpc_name} -n openshift-dr-ops -o jsonpath='{.status.progression}{"\n"}'
    WaitOnUserToCleanUp
  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
  8. 애플리케이션을 삭제한 후 protected 애플리케이션 탭으로 이동하여 busybox 리소스가 Healthy 상태인지 확인합니다.

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

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

절차

  1. RHACM 콘솔에서 Disaster Recovery Protected applications 탭으로 이동합니다.
  2. 애플리케이션 행이 끝나면 작업 메뉴를 클릭하고 Relocate 를 시작하도록 선택합니다.
  3. Relocate 애플리케이션 모달 창에서 애플리케이션 및 대상 클러스터의 상태를 검토합니다.

    중요

    동기화 지연으로 인한 데이터 불일치가 있는 경우 대상 클러스터의 Inconsistent data 라는 경고 메시지가 표시됩니다. 이 경고는 재배치가 시작된 경우 데이터 손실 가능성을 경고합니다. 데이터 동기화가 완료되면 메시지가 더 이상 표시되지 않습니다.

  4. Initiate 를 클릭합니다.
  5. 결과가 WaitOnUserToCleanup 이 될 때까지 Relocate의 진행 상태를 확인합니다. DRPC 이름은 이전 단계에서 구성된 고유한 이름(예: busybox-rbd)으로 식별할 수 있습니다.

    $ oc get drpc {drpc_name} -n openshift-dr-ops -o jsonpath='{.status.progression}{"\n"}'
    WaitOnUserToCleanUp
  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
  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

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

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

절차

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

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

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

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

    $ oc delete placements {placement_name} -n openshift-dr-ops
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2026 Red Hat
맨 위로 이동