5장. 재해 복구 문제 해결


5.1. Metro-DR 문제 해결

5.1.1. 장애 조치 후 statefulset 애플리케이션이 중지됨

문제

기본 클러스터로 재배치하는 동안 DRPlacementControl은 PROGRESSION을 "MovingToSecondary"로 보고했습니다.

이전에는 Kubernetes v1.23 이전에는 Kubernetes 컨트롤 플레인에서 StatefulSets용으로 생성된 PVC를 정리하지 않았습니다. 이 활동은 클러스터 관리자 또는 StatefulSets를 관리하는 소프트웨어 운영자에게 맡았습니다. 이로 인해 Pod가 삭제될 때 StatefulSets의 PVC가 변경되지 않았습니다. 이렇게 하면 Ramen에서 애플리케이션을 기본 클러스터에 재배치하지 않습니다.

해결
  1. 워크로드가 StatefulSets를 사용하고 재배치가 PROGRESSION으로 "MovingToSecondary"로 고정되면 다음을 실행합니다.

    $ oc get pvc -n <namespace>
    Copy to Clipboard
  2. StatefulSet에 속하는 해당 네임스페이스의 바인딩된 각 PVC에 대해 다음을 실행합니다.

    $ oc delete pvc <pvcname> -n namespace
    Copy to Clipboard

    모든 PVC가 삭제되면 VRG( Volume Replication Group)가 보조로 전환된 후 삭제됩니다.

  3. 다음 명령을 실행하십시오.

    $ oc get drpc -n <namespace> -o wide
    Copy to Clipboard

    몇 초에서 몇 분 후에 PROGRESSION은 "완전"을 보고하고 재배치가 완료됩니다.

결과
워크로드를 기본 클러스터로 재배치

BZ 참조: [2118270]

5.1.2. DR 정책은 동일한 네임스페이스의 모든 애플리케이션을 보호합니다.

문제
DR 정책에서 사용하도록 단일 애플리케이션만 선택되지만 동일한 네임스페이스의 모든 애플리케이션은 보호됩니다. 이로 인해 여러 워크로드에서 DRPlacementControl spec.pvcSelector 와 일치하는 PVC가 생성되거나 모든 워크로드에서 선택기가 누락된 경우 복제 관리가 각 PVC를 여러 번 관리하고 개별 DRPlacementControl 작업을 기반으로 데이터 손상 또는 유효하지 않은 작업을 유발할 수 있습니다.
해결
워크로드에 고유한 레이블 PVC를 지정하고 선택한 레이블을 DRPlacementControl spec.pvcSelector 로 사용하여 네임스페이스 내에서 PVC의 하위 집합을 보호하고 관리합니다. 사용자 인터페이스를 사용하여 DRPlacementControl에 대한 spec.pvcSelector 필드를 지정할 수 없으므로 이러한 애플리케이션에 대한 DRPlacementControl을 삭제하고 명령줄을 사용하여 생성해야 합니다.

BZ 참조: [2111163]

5.1.3. 애플리케이션의 장애 복구 중 Relocating 상태로 유지됨

문제
이 문제는 애플리케이션의 장애 조치 및 장애 조치를 수행한 후 발생할 수 있습니다(모든 노드 또는 클러스터가 가동됨). 장애 복구 애플리케이션이 PV 복원이 완료될 때까지 대기 중이라는 메시지와 함께 재배치 상태로 고정되는 경우입니다.
해결
S3 클라이언트 또는 동등한 기능을 사용하여 s3 저장소에서 중복된 PV 오브젝트를 정리합니다. 타임스탬프가 있는 경우에만 장애 조치(failover) 또는 재배치 시간에 가까운 상태로 두십시오.

BZ 참조: [2120201]

5.1.4. RHACM 2.8을 사용하여 서브스크립션 워크로드에 DRPolicy를 적용할 수 없음

문제
RHACM(Red Hat Advanced Cluster Management) 2.8 콘솔은 PlacementRule 유형을 더 이상 사용하지 않고 서브스크립션 애플리케이션의 배치 유형으로 이동했습니다. 따라서 사용자가 RHACM 2.8 콘솔을 사용하여 서브스크립션 애플리케이션을 생성하면 배치만 사용하여 애플리케이션이 생성됩니다. OpenShift Data Foundation 4.12 재해 복구 사용자 인터페이스와 Ramen Operator는 서브스크립션 애플리케이션에 대한 배치를 지원하지 않으므로 재해 복구 사용자 인터페이스는 애플리케이션을 감지하고 정책 할당 세부 정보를 표시할 수 없습니다.
해결

RHACM 2.8 콘솔은 CLI(명령줄 인터페이스)를 사용하여 생성된 PlacementRule 을 탐지할 수 있으므로 PlacementRule 을 사용하여 RHACM 2.8에서 서브스크립션 애플리케이션을 생성하기 위한 다음 단계를 수행합니다.

  1. 애플리케이션 네임스페이스를 사용하여 새 프로젝트를 생성합니다. (예: busybox-application)
  2. 애플리케이션을 배포할 관리형 클러스터의 레이블을 찾습니다. (예: drcluster1-jul-6)
  3. 이전 단계에서 생성된 관리형 클러스터 라벨을 사용하여 application-namespacePlacementRule CR을 생성합니다.

    apiVersion: apps.open-cluster-management.io/v1
    kind: PlacementRule
    metadata:
      labels:
        app: busybox-application
      name: busybox-application-placementrule-1
      namespace: busybox-application
    spec:
      clusterSelector:
        matchLabels:
          name: drcluster1-jul-6
    Copy to Clipboard
  4. 서브스크립션 애플리케이션 페이지에서 RHACM 콘솔을 사용하여 애플리케이션을 생성하는 동안 이 새 PlacementRule 을 선택합니다.
  5. YAML 편집기에서 PlacementRule 을 삭제하여 선택한 항목을 다시 사용할 수 있습니다.

BZ 참조: [2216190]

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat, Inc.