El controlador de CSI para PowerScale muestra que "error en la copia del volumen"

Summary: El controlador de la interfaz de almacenamiento de contenedores (CSI) para PowerScale muestra que "Copy volume failed" cuando se utiliza la función de clonación de volúmenes.

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

En esta situación de falla, se ven los siguientes mensajes en el registro del contenedor de controladores del pod de la controladora. La fecha límite se produce dos minutos después de la solicitud inicial de PUT:
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

En el escenario de clonación de volúmenes, los volúmenes son directorios en PowerScale. La clonación de volúmenes a partir de PVC existentes utiliza la interfaz de programación de aplicaciones (API) de copia de PowerScale. Esto realiza una copia normal de todos los archivos de un directorio al nuevo directorio. El tiempo para completar la copia aumenta a medida que aumenta el tamaño del volumen. La carga en el arreglo también puede afectar el proceso de copia. La llamada de API para realizar la copia es una llamada síncrona, por lo que la solicitud PUT de HTTP espera a que se complete la operación de copia.
 
El tiempo de espera de aprovisionamiento predeterminado es de dos minutos. La copia de directorios y archivos grandes puede tardar más de dos minutos. Cuando se alcanza el plazo de dos minutos, la llamada a la API se cierra y la operación CreateVolume falla. El PVC permanece en estado Pending.

Resolution

El tiempo de espera predeterminado para el contenedor de aprovisionamiento se puede cambiar en el momento de la instalación del controlador. Tanto el gráfico de Helm como los ejemplos de operador admiten el uso de "--timeout=<interval>" opción. Si el problema persiste, determine un valor de tiempo de espera agotado adecuado en función de los tamaños de archivo o directorio más grandes. La recomendación es de quince a treinta minutos.
 
Advertencia: El aumento del tiempo de espera agotado afecta a todas las operaciones de aprovisionamiento, incluidas la creación, las extensiones, la eliminación, etc. Este cambio está pensado como último recurso y solo se debe usar cuando no hay otras opciones disponibles. Una opción alternativa para la clonación es tomar una instantánea de un PVC y, a continuación, crear un volumen montable de solo lectura (RO) a partir de esa instantánea. A continuación, el usuario puede copiar archivos fuera del volumen si es necesario. El uso de instantáneas es superior a la clonación de volúmenes que pueden estar en uso, y la copia de un volumen activo podría crear copias incoherentes.
 
Instalación de Helm
Si instala el controlador con Helm, puede usar el comando - "--timeout=30m" para establecer el tiempo de espera.
En este directorio:
helm-charts/charts/csi-xxxxx/templates
Edite el archivo controller.yaml.
Reemplace el - "--timeout=120s" con la opción - "--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"
A continuación, desde el directorio del instalador:
dell-csi-helm-installer
Instale con la opción de actualización.
./csi-install.sh --namespace xxxxx --values my-xxxxx-settings.yaml --upgrade
 
 
Instalación del operador
Si instala el controlador con el operador, el "--timeout" se puede agregar a la lista de argumentos del sidecar aprovisionador:

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

El valor predeterminado:

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

El valor predeterminado con el tiempo de espera agregado: 

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