5.5. CSI 볼륨 복제


볼륨 복제는 OpenShift Container Platform의 데이터 손실을 방지하기 위해 기존 영구 볼륨을 중복합니다. 이 기능은 지원되는 CSI(Container Storage Interface) 드라이버에서만 사용할 수 있습니다. CSI 볼륨 복제를 프로비저닝하기 전에 영구 볼륨에 익숙해야 합니다.

5.5.1. CSI 볼륨 복제 개요

CSI(Container Storage Interface) 볼륨 복제는 특정 시점에서 기존 영구 볼륨이 복제됩니다.

볼륨 복제는 볼륨 스냅샷과 유사하지만 더 효율적으로 사용할 수 있습니다. 예를 들어, 클러스터 관리자는 기존 클러스터 볼륨의 다른 인스턴스를 생성하여 클러스터 볼륨을 복제할 수 있습니다.

복제는 새 빈 볼륨을 생성하지 않고 백엔드 장치에서 지정된 볼륨을 정확하게 복제합니다. 동적 프로비저닝 후 모든 표준 볼륨을 사용하는 것처럼 볼륨 복제를 사용할 수 있습니다.

복제에는 새 API 오브젝트가 필요하지 않습니다. PersistentVolumeClaim 오브젝트의 기존 dataSource 필드가 동일한 네임스페이스에서 기존 PersistentVolumeClaim의 이름을 허용하도록 확장됩니다.

5.5.1.1. 지원 제한

기본적으로 OpenShift Container Platform은 이러한 제한이 있는 CSI 볼륨 복제를 지원합니다.

  • 대상 PVC(영구 볼륨 클레임)는 소스 PVC와 동일한 네임스페이스에 있어야 합니다.
  • 다른 스토리지 클래스에서 복제가 지원됩니다.

    • 대상 볼륨은 소스와 다른 스토리지 클래스에 대해 동일할 수 있습니다.
    • 기본 스토리지 클래스를 사용하고 사양 에서 storageClassName 을 생략할 수 있습니다.
  • CSI 드라이버에서만 지원을 사용할 수 있습니다. In-tree 및 FlexVolumes는 지원되지 않습니다.
  • CSI 드라이버가 볼륨 복제 기능을 구현하지 못할 수 있습니다. 자세한 내용은 CSI 드라이버 설명서를 참조하십시오.

5.5.2. CSI 볼륨 복제 프로비저닝

복제된 PVC(영구 볼륨 클레임) API 오브젝트를 생성할 때 CSI 볼륨 복제 프로비저닝을 트리거합니다. 복제본은 다른 PVC 콘텐츠로 미리 채워져 다른 영구 볼륨과 동일한 규칙으로 구성됩니다. 한 가지 예외는 동일한 네임스페이스에서 기존 PVC를 참조하는 dataSource를 추가해야 한다는 것입니다.

사전 요구 사항

  • 실행 중인 OpenShift Container Platform 클러스터에 로그인되어 있습니다.
  • 볼륨 복제를 지원하는 CSI 드라이버를 사용하여 PVC가 생성되었습니다.
  • 동적 프로비저닝을 위해 스토리지 백엔드가 구성되어 있습니다. 정적 프로비저너에서는 복제 지원을 사용할 수 없습니다.

절차

기존 PVC에서 PVC를 복제하려면 다음을 수행합니다.

  1. 다음 YAML로 설명된 PersistentVolumeClaim 오브젝트를 사용하여 파일을 생성하고 저장합니다.

    pvc-clone.yaml

    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: pvc-1-clone
      namespace: mynamespace
    spec:
      storageClassName: csi-cloning 1
      accessModes:
        - ReadWriteOnce
      resources:
        requests:
          storage: 5Gi
      dataSource:
        kind: PersistentVolumeClaim
        name: pvc-1

    1
    스토리지 백엔드를 프로비저닝하는 스토리지 클래스의 이름입니다. 기본 스토리지 클래스를 사용할 수 있으며 storageClassName은 사양에서 생략할 수 있습니다.
  2. 다음 명령을 실행하여 이전 단계에서 저장한 오브젝트를 생성합니다.

    $ oc create -f pvc-clone.yaml

    새 PVC pvc-1-clone이 생성됩니다.

  3. 볼륨 복제가 생성되어 다음 명령을 실행하여 준비되었는지 확인합니다.

    $ oc get pvc pvc-1-clone

    pvc-1-cloneBound로 표시됩니다.

    이제 새로 복제된 PVC를 사용하여 Pod를 구성할 준비가 되었습니다.

  4. YAML로 설명된 Pod 오브젝트로 파일을 생성하고 저장합니다. 예를 들면 다음과 같습니다.

    kind: Pod
    apiVersion: v1
    metadata:
      name: mypod
    spec:
      containers:
        - name: myfrontend
          image: dockerfile/nginx
          volumeMounts:
          - mountPath: "/var/www/html"
            name: mypd
      volumes:
        - name: mypd
          persistentVolumeClaim:
            claimName: pvc-1-clone 1
    1
    CSI 볼륨 복제 작업 중에 생성된 복제 PVC입니다.

    생성된 Pod 오브젝트가 원래 dataSource PVC와 독립적으로 복제된 PVC를 사용, 복제, 삭제하거나 그 스냅샷을 생성할 준비가 되었습니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.