Il driver CSI per PowerScale indica "copy volume failed"

Summary: Il driver CSI (Container Storage Interface) per PowerScale indica "copy volume failed" quando si utilizza la funzione di clonazione del 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

In questo scenario di errore, i seguenti messaggi vengono visualizzati nel registro del contenitore dei driver del pod del controller. La scadenza è fissata dopo due minuti dalla richiesta PUT iniziale:
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

Nello scenario di clonazione dei volumi, i volumi sono directory in PowerScale. La clonazione di volumi da (PVC) esistenti utilizza le API (Application Programming Interface) di copia di PowerScale. In questo modo viene eseguita una copia normale di tutti i file di una directory nella nuova directory. Il tempo necessario per completare la copia aumenta con l'aumentare delle dimensioni del volume. Anche il carico sull'array può influire sul processo di copia. La chiamata API per eseguire la copia è una chiamata sincrona, pertanto la richiesta HTTP PUT attende il completamento dell'operazione di copia.
 
Il timeout di provisioning predefinito è di due minuti. La copia di file e directory di grandi dimensioni può richiedere più di due minuti. Quando viene raggiunta la scadenza di due minuti, la chiamata API viene interrotta e l'operazione CreateVolume ha esito negativo. Il PVC rimane nello stato In sospeso.

Resolution

Il timeout predefinito per il container di provisioning può essere modificato al momento dell'installazione dei driver. Sia il grafico Helm che gli esempi Operator supportano l'utilizzo del metodo "--timeout=<interval>" opzione. Se si verifica il problema, determinare un valore di timeout appropriato in base alle dimensioni di file o directory più grandi. La raccomandazione è di quindici-trenta minuti.
 
Attenzione: L'aumento del timeout influisce su tutte le operazioni di provisioning, tra cui la creazione, gli extent, l'eliminazione e così via. Questa modifica è intesa come ultima risorsa e deve essere utilizzata solo quando non sono disponibili altre opzioni. Un'opzione alternativa per la clonazione consiste nell'acquisire un'istantanea di una PVC, quindi creare un volume montabile read-only (RO) da tale istantanea. Se necessario, l'utente può copiare i file dal volume. L'utilizzo di istantanee è superiore alla clonazione di volumi che potrebbero essere in uso e la copia di un volume attivo potrebbe creare copie incoerenti.
 
Installazione di Helm
Se si installa il driver tramite Helm, è possibile utilizzare il comando - "--timeout=30m" per impostare il timeout.
In questa directory:
helm-charts/charts/csi-xxxxx/templates
Modificare il file controller.yaml.
Sostituire il - "--timeout=120s" opzione con l'opzione - "--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"
Quindi dalla directory del programma di installazione:
dell-csi-helm-installer
Eseguire l'installazione con l'opzione di upgrade.
./csi-install.sh --namespace xxxxx --values my-xxxxx-settings.yaml --upgrade
 
 
Installazione dell'operatore
Se si installa il driver con l'operatore, il "--timeout" può essere aggiunta all'elenco Args del sidecar Provisioner:

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

Il valore predefinito:

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

Il valore predefinito con il timeout aggiunto: 

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