Le pilote CSI pour PowerScale indique que « copy volume failed »

Summary: Le pilote CSI (Container Storage Interface) pour PowerScale indique que « copy volume failed » lors de l’utilisation de la fonction de clonage de volume.

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

Dans ce scénario d’échec, les messages suivants s’affichent dans le journal du conteneur de pilotes du pod de contrôleur. L’échéance intervient deux minutes après la demande PUT initiale :
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

Dans le scénario de clonage de volume, les volumes sont des répertoires dans PowerScale. Le clonage de volumes à partir de PVC (existants) utilise l’interface de programmation d’application (API) de copie PowerScale. Cette opération effectue une copie normale de tous les fichiers d’un répertoire dans le nouveau répertoire. Le temps nécessaire pour terminer la copie augmente à mesure que la taille du volume augmente. La charge sur la baie peut également avoir un impact sur le processus de copie. L’appel API pour effectuer la copie est un appel synchrone, de sorte que la demande HTTP PUT attend la fin de l’opération de copie.
 
Le délai d’expiration du provisionnement par défaut est de deux minutes. La copie de fichiers et de répertoires volumineux peut prendre plus de deux minutes. Lorsque le délai de deux minutes est atteint, l’appel API est arrêté et l’opération CreateVolume échoue. Le PVC reste à l’état En attente.

Resolution

Le délai d’expiration par défaut du conteneur de provisionnement peut être modifié au moment de l’installation du pilote. Les exemples de graphique Helm et d’opérateur prennent en charge l’utilisation de l’option «--timeout=<interval>" l’option. Si le problème se produit, déterminez une valeur de délai d’expiration appropriée en fonction des tailles de fichier ou de répertoire les plus importantes. La recommandation est de quinze à trente minutes.
 
Attention : L’augmentation du délai d’expiration affecte toutes les opérations de provisionnement, y compris la création, les extensions, la suppression, etc. Ce changement est destiné à être utilisé en dernier recours et ne doit être utilisé que lorsqu’aucune autre option n’est disponible. Une autre option pour le clonage consiste à prendre un snapshot d’un PVC, puis à créer un volume montable en lecture seule (RO) à partir de ce snapshot. L’utilisateur peut ensuite copier des fichiers à partir du volume si nécessaire. L’utilisation de snapshots est supérieure au clonage des volumes qui peuvent être en cours d’utilisation et la copie d’un volume actif peut créer des copies incohérentes.
 
Helm Installation
Si vous installez le pilote par Helm, vous pouvez utiliser la commande - "--timeout=30m" pour définir le délai d’expiration.
Dans ce répertoire :
helm-charts/charts/csi-xxxxx/templates
Modifiez le fichier controller.yaml.
Remettez en place le - "--timeout=120s" avec l’option - "--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"
Puis, dans le répertoire du programme d’installation :
dell-csi-helm-installer
Installez-le avec l’option de mise à niveau.
./csi-install.sh --namespace xxxxx --values my-xxxxx-settings.yaml --upgrade
 
 
Installation par l’opérateur
Si vous installez le pilote avec l’opérateur, le message «--timeout" peut être ajoutée à la liste d’args du side-car du provisionnement :

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

La valeur par défaut :

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

Valeur par défaut avec le délai d’expiration ajouté : 

        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 Modules
Proprietăț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ță.