CSI Driver for PowerScale shows that "copy volume failed"
Summary: The Container Storage Interface (CSI) Driver for PowerScale shows that "copy volume failed" when using the volume cloning feature.
Acest articol se aplică pentru
Acest articol nu se aplică pentru
Acest articol nu este legat de un produs specific.
Acest articol nu acoperă toate versiunile de produs existente.
Symptoms
In this failure scenario, the following messages are seen in the controller pod's driver container log. The deadline occurs after two minutes from the initial PUT request:
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"
Cause
In the volume cloning scenario, volumes are directories in PowerScale. The cloning of volumes from existing (PVCs) uses the PowerScale copy Application Programming Interface (APIs). This performs a normal copy of all files in one directory to the new directory. The time to complete the copy increases as the size of the volume increases. The load on the array may also impact the copy process. The API call to perform the copy is a synchronous call, so the HTTP PUT request waits for the copy operation to complete.
The default provisioning timeout is two minutes. The copy of large files and directories may take longer than two minutes. When the two minute deadline is reached, the API call is killed and the CreateVolume operation fails. The PVC remains in the Pending state.
Resolution
The default timeout for the provisioning container can be changed at driver installation time. Both the Helm chart and Operator samples support the use of the "
--timeout=<interval>" option. If the problem is occurring, then determine an appropriate timeout value based on the largest file or directory sizes. The recommendation is fifteen to thirty minutes.
Caution: Increasing the timeout affects all provisioning operations including create, extents, delete, and so on. This change is meant as a last resort and should only be used when no other options are available. An alternate choice for cloning is to take a snapshot of a PVC, then make a Read Only (RO) mountable volume from that snapshot. The user can then copy files off of the volume if needed. The use of snapshots is superior to cloning of volumes which may be in use and copying of an active volume could create inconsistent copies.
Helm Installation
If installing the driver by Helm, you can use the
- "--timeout=30m" option to set the timeout.
In this directory:
helm-charts/charts/csi-xxxxx/templates
Edit the controller.yaml file.
Replace the
- "--timeout=120s" option with the - "--timeout=30m" option.
- 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"
Then from the installer directory:
dell-csi-helm-installer
Install with the upgrade option.
./csi-install.sh --namespace xxxxx --values my-xxxxx-settings.yaml --upgrade
Operator Installation
If installing the driver with the Operator, the "
--timeout" option can be added to the args list of the provisioner sidecar:
The default value:
image: registry.k8s.io/sig-storage/csi-provisioner:v5.1.0 args: ["--volume-name-prefix=csivol"]
The default value with the timeout added:
image: registry.k8s.io/sig-storage/csi-provisioner:v5.1.0 args: ["--volume-name-prefix=csivol","--timeout=30m"]
Produse
Container Storage Modules Family, Container Storage ModulesProprietăți articol
Article Number: 000289749
Article Type: Solution
Ultima modificare: 03 Sep 2025
Version: 2
Găsiți răspunsuri la întrebările dvs. de la alți utilizatori Dell
Servicii de asistență
Verificați dacă dispozitivul dvs. este acoperit de serviciile de asistență.