다음을 통해 공유


Azure 컨테이너 스토리지에서 영구 볼륨 복제

Azure Container Storage에서 영구 볼륨을 복제할 수 있습니다. 복제된 볼륨은 기존 영구 볼륨의 복제본입니다. 동일한 스토리지 풀에 있는 동일한 크기의 볼륨만 복제할 수 있습니다.

필수 조건

  • 이 문서에는 Azure CLI의 최신 버전(2.35.0 이상)이 필요합니다. Azure CLI를 설치하는 방법을 참조하세요. Azure Cloud Shell을 사용하는 경우 최신 버전이 이미 설치되어 있습니다. Azure Cloud Shell 대신 로컬로 명령을 실행하려는 경우 관리자 권한으로 명령을 실행해야 합니다.
  • 클러스터 노드에 대해 각각 최소 4개의 vCPU(가상 CPU)가 있는 3개 이상의 VM(가상 머신)의 노드 풀이 있는 AKS(Azure Kubernetes Service) 클러스터가 필요합니다.
  • 이 문서에서는 AKS 클러스터에 Azure 컨테이너 스토리지를 이미 설치했으며 Azure 디스크 또는 임시 디스크(로컬 스토리지)를 사용하여 스토리지 풀 및 PVC(영구 볼륨 클레임)를 만들었다고 가정합니다. Azure Elastic SAN은 볼륨 크기 조정을 지원하지 않습니다.

볼륨 복제

영구 볼륨을 복제하려면 아래 지침을 따릅니다.

  1. 즐겨찾는 텍스트 편집기를 사용하여 code acstor-clonevolume.yaml과 같은 YAML 매니페스트 파일을 만듭니다.

  2. 다음 코드를 붙여넣고 파일을 저장합니다. 기본 제공된 스토리지 클래스는 볼륨 복제를 지원하므로 dataSource의 경우 Azure Container Storage 스토리지 클래스에서 이전에 만든 PVC를 참조해야 합니다. 예를 들어, Azure 디스크용 PVC를 만든 경우 azurediskpvc라고 할 수 있습니다. 스토리지의 경우 원본 PVC의 크기를 지정합니다.

    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: pvc-acstor-cloning
    spec:
      accessModes:
        - ReadWriteOnce
      storageClassName: acstor-azuredisk
      resources:
        requests:
          storage: 100Gi
      dataSource:
        kind: PersistentVolumeClaim
        name: azurediskpvc
    
  3. YAML 매니페스트 파일을 적용하여 PVC를 복제합니다.

    kubectl apply -f acstor-clonevolume.yaml 
    

    다음과 유사한 결과가 표시됩니다.

    persistentvolumeclaim/pvc-acstor-cloning created
    
  4. 즐겨찾는 텍스트 편집기를 사용하여 code acstor-pod.yaml과 같은 YAML 매니페스트 파일을 만듭니다.

  5. 다음 코드를 붙여넣고 파일을 저장합니다. claimName의 경우 복제된 PVC를 참조해야 합니다.

    kind: Pod
    apiVersion: v1
    metadata:
      name: fiopod2
    spec:
      nodeSelector:
        acstor.azure.com/io-engine: acstor
      volumes:
        - name: azurediskpv
          persistentVolumeClaim:
            claimName: pvc-acstor-cloning
      containers:
        - name: fio
          image: nixery.dev/shell/fio
          args:
            - sleep
            - "1000000"
          volumeMounts:
            - mountPath: "/volume"
              name: azurediskpv
    
  6. YAML 매니페스트 파일을 적용하여 새 Pod를 배포합니다.

    kubectl apply -f acstor-pod.yaml
    

    다음과 비슷한 결과가 나타나야 합니다.

    pod/fiopod2 created
    
  7. Pod가 실행 중이고 영구 볼륨 클레임이 Pod에 성공적으로 바인딩되었는지 확인합니다.

    kubectl describe pod fiopod2
    kubectl describe pvc azurediskpvc
    

참고 항목