4.9. OADP 1.3 Data Mover


4.9.1. OADP 1.3 Data Mover 정보

OADP 1.3에는 CSI(Container Storage Interface) 볼륨 스냅샷을 원격 오브젝트 저장소로 이동하는 데 사용할 수 있는 기본 제공 데이터 Mover가 포함되어 있습니다. 기본 제공 Data Mover를 사용하면 오류, 실수로 삭제 또는 클러스터 손상이 발생하는 경우 원격 오브젝트 저장소에서 상태 저장 애플리케이션을 복원할 수 있습니다. Kopia 를 업로드기 메커니즘으로 사용하여 스냅샷 데이터를 읽고 통합 리포지토리에 씁니다.

OADP는 다음에서 CSI 스냅샷을 지원합니다.

  • Red Hat OpenShift Data Foundation
  • Kubernetes Volume Snapshot API를 지원하는 CSI(Container Storage Interface) 드라이버가 있는 기타 클라우드 스토리지 공급자
중요

OADP 내장 Data Mover는 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.

Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.

4.9.1.1. 기본 제공 데이터 Mover 활성화

기본 제공 데이터 Mover를 활성화하려면 CSI 플러그인을 포함하고 DataProtectionApplication CR(사용자 정의 리소스)에서 노드 에이전트를 활성화해야 합니다. 노드 에이전트는 데이터 이동 모듈을 호스팅하는 Kubernetes 데몬 세트입니다. 여기에는 데이터 Mover 컨트롤러, 업로드자 및 리포지토리가 포함됩니다.

DataProtectionApplication 매니페스트의 예

apiVersion: oadp.openshift.io/v1alpha1
kind: DataProtectionApplication
metadata:
  name: dpa-sample
spec:
  configuration:
    nodeAgent:
      enable: true 1
      uploaderType: kopia 2
    velero:
      defaultPlugins:
      - openshift
      - aws
      - csi 3
# ...

1
노드 에이전트를 활성화하는 플래그입니다.
2
uploader 유형입니다. 가능한 값은 restic 또는 kopia 입니다. 기본 제공 Data Mover는 uploaderType 필드의 값에 관계없이 Kopia를 기본 업로드기 메커니즘으로 사용합니다.
3
기본 플러그인 목록에 포함된 CSI 플러그인입니다.

4.9.1.2. 기본 제공 데이터 Mover 컨트롤러 및 CRD(사용자 정의 리소스 정의)

기본 제공 Data Mover 기능에는 백업 및 복원을 관리하기 위해 CRD로 정의된 새로운 API 오브젝트 3개가 도입되었습니다.

  • DataDownload: 볼륨 스냅샷의 데이터 다운로드를 나타냅니다. CSI 플러그인은 복원할 볼륨당 하나의 DataDownload 오브젝트를 생성합니다. DataDownload CR에는 대상 볼륨, 지정된 데이터 Mover, 현재 데이터 다운로드의 진행 상황, 지정된 백업 리포지토리 및 프로세스가 완료된 후 현재 데이터 다운로드 결과가 포함됩니다.
  • DataUpload: 볼륨 스냅샷의 데이터 업로드를 나타냅니다. CSI 플러그인은 CSI 스냅샷당 하나의 DataUpload 오브젝트를 생성합니다. DataUpload CR에는 지정된 스냅샷, 지정된 데이터 Mover, 지정된 백업 리포지토리, 현재 데이터 업로드 진행률, 프로세스가 완료된 후 현재 데이터 업로드 결과가 포함됩니다.
  • BackupRepository: 백업 리포지토리의 라이프사이클을 나타내며 관리합니다. OADP는 네임스페이스에 대한 첫 번째 CSI 스냅샷 백업 또는 복원이 요청되면 네임스페이스당 백업 리포지토리를 생성합니다.

4.9.2. CSI 스냅샷 백업 및 복원

OADP 1.3 Data Mover를 사용하여 영구 볼륨을 백업하고 복원할 수 있습니다.

4.9.2.1. CSI 스냅샷을 사용하여 영구 볼륨 백업

OADP 데이터 Mover를 사용하여 CSI(Container Storage Interface) 볼륨 스냅샷을 원격 오브젝트 저장소에 백업할 수 있습니다.

사전 요구 사항

  • cluster-admin 역할을 사용하여 클러스터에 액세스할 수 있습니다.
  • OADP Operator가 설치되어 있습니다.
  • CSI 플러그인을 포함하고 DataProtectionApplication CR(사용자 정의 리소스)에 노드 에이전트를 활성화했습니다.
  • 별도의 네임스페이스에서 영구 볼륨이 실행되는 애플리케이션이 있습니다.
  • metadata.labels.velero.io/csi-volumesnapshot-class: "true" 키-값 쌍을 VolumeSnapshotClass CR에 추가했습니다.

절차

  1. 다음 예와 같이 Backup 오브젝트에 대한 YAML 파일을 생성합니다.

    Backup CR의 예

    kind: Backup
    apiVersion: velero.io/v1
    metadata:
      name: backup
      namespace: openshift-adp
    spec:
      csiSnapshotTimeout: 10m0s
      defaultVolumesToFsBackup: false
      includedNamespaces:
      - mysql-persistent
      itemOperationTimeout: 4h0m0s
      snapshotMoveData: true 1
      storageLocation: default
      ttl: 720h0m0s
      volumeSnapshotLocations:
      - dpa-sample-1
    # ...

    1
    CSI 스냅샷을 원격 오브젝트 스토리지로 이동하려면 true 로 설정합니다.
  2. 매니페스트를 적용합니다.

    $ oc create -f backup.yaml

    DataUpload CR은 스냅샷 생성이 완료된 후 생성됩니다.

검증

  • DataUpload CR의 status.phase 필드를 모니터링하여 스냅샷 데이터가 원격 오브젝트 저장소로 성공적으로 전송되었는지 확인합니다. 가능한 값은 진행 중 ,완료됨,실패 또는 취소됨 입니다. 오브젝트 저장소는 DataProtectionApplication CR의 backupLocations 스탠자에 구성됩니다.

    • 다음 명령을 실행하여 모든 DataUpload 오브젝트 목록을 가져옵니다.

      $ oc get datauploads -A

      출력 예

      NAMESPACE       NAME                  STATUS      STARTED   BYTES DONE   TOTAL BYTES   STORAGE LOCATION   AGE     NODE
      openshift-adp   backup-test-1-sw76b   Completed   9m47s     108104082    108104082     dpa-sample-1       9m47s   ip-10-0-150-57.us-west-2.compute.internal
      openshift-adp   mongo-block-7dtpf     Completed   14m       1073741824   1073741824    dpa-sample-1       14m     ip-10-0-150-57.us-west-2.compute.internal

    • 다음 명령을 실행하여 특정 DataUpload 오브젝트의 status.phase 필드 값을 확인합니다.

      $ oc get datauploads <dataupload_name> -o yaml

      출력 예

      apiVersion: velero.io/v2alpha1
      kind: DataUpload
      metadata:
        name: backup-test-1-sw76b
        namespace: openshift-adp
      spec:
        backupStorageLocation: dpa-sample-1
        csiSnapshot:
          snapshotClass: ""
          storageClass: gp3-csi
          volumeSnapshot: velero-mysql-fq8sl
        operationTimeout: 10m0s
        snapshotType: CSI
        sourceNamespace: mysql-persistent
        sourcePVC: mysql
      status:
        completionTimestamp: "2023-11-02T16:57:02Z"
        node: ip-10-0-150-57.us-west-2.compute.internal
        path: /host_pods/15116bac-cc01-4d9b-8ee7-609c3bef6bde/volumes/kubernetes.io~csi/pvc-eead8167-556b-461a-b3ec-441749e291c4/mount
        phase: Completed 1
        progress:
          bytesDone: 108104082
          totalBytes: 108104082
        snapshotID: 8da1c5febf25225f4577ada2aeb9f899
        startTimestamp: "2023-11-02T16:56:22Z"

      1
      스냅샷 데이터가 원격 오브젝트 저장소로 성공적으로 전송되었음을 나타냅니다.

4.9.2.2. CSI 볼륨 스냅샷 복원

Restore CR을 생성하여 볼륨 스냅샷을 복원할 수 있습니다.

참고

OAPD 1.3 기본 제공 데이터 Mover를 사용하여 OADP 1.2의 reflectsync 백업을 복원할 수 없습니다. OADP 1.3으로 업그레이드하기 전에 Restic을 사용하여 모든 워크로드의 파일 시스템 백업을 수행하는 것이 좋습니다.

사전 요구 사항

  • cluster-admin 역할을 사용하여 클러스터에 액세스할 수 있습니다.
  • 데이터를 복원할 OADP Backup CR이 있습니다.

절차

  1. 다음 예와 같이 Restore CR에 대한 YAML 파일을 생성합니다.

    Restore CR의 예

    apiVersion: velero.io/v1
    kind: Restore
    metadata:
      name: restore
      namespace: openshift-adp
    spec:
      backupName: <backup>
    # ...

  2. 매니페스트를 적용합니다.

    $ oc create -f restore.yaml

    복원이 시작될 때 DataDownload CR이 생성됩니다.

검증

  • DataDownload CR의 status.phase 필드를 확인하여 복원 프로세스의 상태를 모니터링할 수 있습니다. 가능한 값은 진행 중 ,완료됨,실패 또는 취소됨 입니다.

    • 모든 DataDownload 오브젝트 목록을 가져오려면 다음 명령을 실행합니다.

      $ oc get datadownloads -A

      출력 예

      NAMESPACE       NAME                   STATUS      STARTED   BYTES DONE   TOTAL BYTES   STORAGE LOCATION   AGE     NODE
      openshift-adp   restore-test-1-sk7lg   Completed   7m11s     108104082    108104082     dpa-sample-1       7m11s   ip-10-0-150-57.us-west-2.compute.internal

    • 다음 명령을 입력하여 특정 DataDownload 오브젝트의 status.phase 필드 값을 확인합니다.

      $ oc get datadownloads <datadownload_name> -o yaml

      출력 예

      apiVersion: velero.io/v2alpha1
      kind: DataDownload
      metadata:
        name: restore-test-1-sk7lg
        namespace: openshift-adp
      spec:
        backupStorageLocation: dpa-sample-1
        operationTimeout: 10m0s
        snapshotID: 8da1c5febf25225f4577ada2aeb9f899
        sourceNamespace: mysql-persistent
        targetVolume:
          namespace: mysql-persistent
          pv: ""
          pvc: mysql
      status:
        completionTimestamp: "2023-11-02T17:01:24Z"
        node: ip-10-0-150-57.us-west-2.compute.internal
        phase: Completed 1
        progress:
          bytesDone: 108104082
          totalBytes: 108104082
        startTimestamp: "2023-11-02T17:00:52Z"

      1
      CSI 스냅샷 데이터가 성공적으로 복원되었음을 나타냅니다.
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.