O driver CSI para PowerScale mostra que "copy volume failed"

Resumo: O driver da interface de armazenamento de contêiner (CSI) para PowerScale mostra que "copy volume failed" ao usar o recurso de clonagem de volume.

Este artigo aplica-se a Este artigo não se aplica a Este artigo não está vinculado a nenhum produto específico. Nem todas as versões do produto estão identificadas neste artigo.

Sintomas

Nesse cenário de falha, as seguintes mensagens são vistas no log do contêiner do driver do pod do controlador. O prazo ocorre após dois minutos da solicitação PUT inicial:
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

No cenário de clonagem de volume, os volumes são diretórios no PowerScale. A clonagem de volumes de PVCs existentes usa a interface de programação de aplicativos (APIs) de cópia do PowerScale. Isso executa uma cópia normal de todos os arquivos em um diretório para o novo diretório. O tempo para concluir a cópia aumenta à medida que o tamanho do volume aumenta. A carga no array também pode afetar o processo de cópia. A chamada de API para executar a cópia é uma chamada síncrona, portanto, a solicitação HTTP PUT aguarda a conclusão da operação de cópia.
 
O tempo limite padrão de provisionamento é de dois minutos. A cópia de arquivos e diretórios grandes pode levar mais de dois minutos. Quando o prazo de dois minutos é atingido, a chamada de API é encerrada e a operação CreateVolume falha. O PVC permanece no estado Pendente.

Resolução

O tempo de espera excedido padrão para o contêiner de provisionamento pode ser alterado no momento da instalação do driver. Tanto o gráfico de Helm quanto as amostras de Operador suportam o uso do "--timeout=<interval>" opção. Se o problema estiver ocorrendo, determine um valor de tempo de espera excedido apropriado com base nos maiores tamanhos de arquivo ou diretório. A recomendação é de quinze a trinta minutos.
 
Aviso: Aumentar o tempo de espera excedido afeta todas as operações de provisionamento, incluindo criação, extensões, exclusão e assim por diante. Essa alteração é um último recurso e só deve ser usada quando não houver outras opções disponíveis. Uma opção alternativa para clonagem é obter um snapshot de um PVC e, em seguida, tornar um volume somente leitura (RO) montável a partir desse snapshot. O usuário pode então copiar arquivos fora do volume, se necessário. O uso de snapshots é superior à clonagem de volumes que podem estar em uso, e a cópia de um volume ativo pode criar cópias inconsistentes.
 
Instalação do Helm
Se estiver instalando o driver pelo Helm, você poderá usar o - "--timeout=30m" para definir o tempo de espera excedido.
Neste diretório:
helm-charts/charts/csi-xxxxx/templates
Edite o arquivo controller.yaml.
Substitua o - "--timeout=120s" com o - "--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"
Em seguida, no diretório do instalador:
dell-csi-helm-installer
Instalar com a opção de upgrade.
./csi-install.sh --namespace xxxxx --values my-xxxxx-settings.yaml --upgrade
 
 
Instalação do operador
Se estiver instalando o driver com o operador, o "--timeout" pode ser adicionada à lista args do sidecar do provisionador:

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

O valor padrão:

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

O valor padrão com o tempo de espera excedido adicionado: 

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

 

Produtos

Container Storage Modules Family, Container Storage Modules
Propriedades do artigo
Número do artigo: 000289749
Tipo de artigo: Solution
Último modificado: 03 set. 2025
Versão:  2
Encontre as respostas de outros usuários da Dell para suas perguntas.
Serviços de suporte
Verifique se o dispositivo está coberto pelos serviços de suporte.