CSI Driver for PowerScale에 "copy volume failed"가 표시됨

Riepilogo: PowerScale용 CSI(Container Storage Interface) 드라이버는 볼륨 클론 생성 기능을 사용할 때 "copy volume failed"를 표시합니다.

Questo articolo si applica a Questo articolo non si applica a Questo articolo non è legato a un prodotto specifico. Non tutte le versioni del prodotto sono identificate in questo articolo.

Sintomi

이 실패 시나리오에서는 컨트롤러 포드의 드라이버 컨테이너 로그에 다음 메시지가 표시됩니다. 최종 기한은 초기 PUT 요청으로부터 2분 후에 발생합니다.
time="2025-02-24T21:30:33Z" level=debug clusterName=bolt-pscale runid=32 msg="begin to copy volume 'csivol-6084568f01'" file="/go/src/service/isiService.go:58"
[DEBUG]
    -------------------------- GOISILON HTTP REQUEST -------------------------
    PUT /namespace/ifs/data/csi/csivol-c9fce250bd?merge=True HTTP/1.1
    Host: 10.247.100.10:8080
    Authorization: admin:******
    X-Isi-Ifs-Copy-Source: /namespace/ifs/data/csi/csivol-6084568f01
    X-Isi-Ifs-Mode-Mask: preserve
time="2025-02-24T21:32:33Z" level=error clusterName=<clustername> runid=32 msg="copy volume failed, 'Put "https://<IP>:8080/namespace/ifs/data/csi/csivol-c9fce250bd?merge=True": context deadline exceeded'" file="/go/src/service/isiService.go:63"
time="2025-02-24T21:32:33Z" level=debug clusterName=bolt-pscale runid=32 msg="begin to delete volume directory 'csivol-c9fce250bd'" file="/go/src/service/isiService.go:358"
 
 
 

Causa

볼륨 클론 생성 시나리오에서 볼륨은 PowerScale의 디렉토리입니다. 기존(PVC)에서 볼륨의 클론을 생성하려면 PowerScale 복제본 API(Application Programming Interface)를 사용합니다. 이렇게 하면 한 디렉토리에 있는 모든 파일이 새 디렉토리로 일반 복사됩니다. 볼륨 크기가 증가함에 따라 복사를 완료하는 시간이 늘어납니다. 어레이의 로드도 복제 프로세스에 영향을 줄 수 있습니다. 복사를 수행하기 위한 API 호출은 동기식 호출이므로 HTTP PUT 요청은 복사 작업이 완료될 때까지 기다립니다.
 
기본 프로비저닝 제한 시간은 2분입니다. 대용량 파일 및 디렉토리를 복사하는 데 2분 이상 걸릴 수 있습니다. 2분 기한에 도달하면 API 호출이 종료되고 CreateVolume 작업이 실패합니다. PVC는 보류 중 상태로 유지됩니다.

Risoluzione

프로비저닝 컨테이너의 기본 시간 제한은 드라이버 설치 시 변경할 수 있습니다. Helm 차트와 연산자 샘플은 모두 "--timeout=<interval>" 옵션을 선택합니다. 문제가 발생하면 가장 큰 파일 또는 디렉토리 크기에 따라 적절한 시간 초과 값을 결정합니다. 권장 시간은 15분에서 30분입니다.
 
주의: 시간 초과를 늘리면 생성, 익스텐트, 삭제 등을 포함한 모든 프로비저닝 작업이 영향을 받습니다. 이 변경은 최후의 수단이며 다른 옵션을 사용할 수 없는 경우에만 사용해야 합니다. 클론 생성을 위한 또 다른 방법은 PVC의 스냅샷을 생성한 후 해당 스냅샷에서 RO(Read Only) 마운트 가능 볼륨을 만드는 것입니다. 그런 다음 필요한 경우 볼륨에서 파일을 복사할 수 있습니다. 스냅샷을 사용하는 것이 사용 중일 수 있는 볼륨의 클론을 생성하는 것보다 우수하며 활성 볼륨을 복사하면 일관되지 않은 복제본이 생성될 수 있습니다.
 
Helm 설치
Helm으로 드라이버를 설치하는 경우 - "--timeout=30m" 시간 초과를 설정하는 옵션입니다.
이 디렉토리에서:
helm-charts/charts/csi-xxxxx/templates
controller.yaml 파일을 편집합니다.
교체 - "--timeout=120s" 옵션을 - "--timeout=30m" 옵션 없이 사용할 경우입니다.
 
 - name: provisioner{{ $csiSidecarSuffix }}
          image: {{ required "Must provide the CSI provisioner container image." .Values.images.provisioner }}
          imagePullPolicy: {{ .Values.imagePullPolicy }}
          args:
            - "--csi-address={{ $driverSockPath }}"
            - "--volume-name-prefix={{ required "Must provide a value to prefix to driver created volume names" .Values.controller.volumeNamePrefix }}"
            - "--volume-name-uuid-length=10"
            - "--worker-threads=5"
            - "--timeout=120s"                     #<<<<Modify this value
            - "--v=5"
그런 다음 설치 프로그램 디렉토리에서 :
dell-csi-helm-installer
업그레이드 옵션을 사용하여 설치합니다.
./csi-install.sh --namespace xxxxx --values my-xxxxx-settings.yaml --upgrade
 
 
운영자 설치
Operator로 드라이버를 설치하는 경우 "--timeout" 옵션은 프로비저너 사이드카의 args 목록에 추가할 수 있습니다.

https://github.com/dell/csm-operator/blob/d3a934c216db4d2f2f044ec08d004a85c00b1fcf/samples/storage_csm_powerscale_v2130.yaml#L243

기본값:

       image: registry.k8s.io/sig-storage/csi-provisioner:v5.1.0
        args: ["--volume-name-prefix=csivol"]

시간 초과가 추가된 기본값은 다음과 같습니다. 

        image: registry.k8s.io/sig-storage/csi-provisioner:v5.1.0
        args: ["--volume-name-prefix=csivol","--timeout=30m"]

 

Prodotti

Container Storage Modules Family, Container Storage Modules
Proprietà dell'articolo
Numero articolo: 000289749
Tipo di articolo: Solution
Ultima modifica: 03 set 2025
Versione:  2
Trova risposta alle tue domande dagli altri utenti Dell
Support Services
Verifica che il dispositivo sia coperto dai Servizi di supporto.