CSI Driver for PowerScale 显示“copy volume failed”

Summary: 使用卷克隆功能时,适用于 PowerScale 的容器存储接口 (CSI) 驱动程序显示“copy volume failed”。

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

在此故障情形中,控制器 Pod 的驱动程序容器日志中会显示以下消息。截止时间在初始 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

在卷克隆场景中,卷是 PowerScale 中的目录。从现有 (PVC) 克隆卷使用 PowerScale 拷贝应用程序编程接口 (API)。这将执行将一个目录中的所有文件正常复制到新目录。完成拷贝的时间随着卷大小的增加而增加。阵列上的负载也可能影响复制过程。用于执行复制的 API 调用是同步调用,因此 HTTP PUT 请求等待复制作完成。
 
默认资源调配超时为 2 分钟。拷贝大型文件和目录可能需要两分钟以上的时间。当达到两分钟的截止时间时,API 调用将被终止,并且 CreateVolume作将失败。PVC 仍处于挂起状态。

Resolution

可以在驱动程序安装时更改预配容器的默认超时。Helm 图表和运算符示例都支持使用”--timeout=<interval>“选项。如果出现此问题,则根据最大文件或目录大小确定相应的超时值。建议用时 15 到 30 分钟。
 
注意:增加超时会影响所有资源调配作,包括创建、扩展区、删除等。此更改是不得已而为之,仅当没有其他选项可用时才应使用。克隆的另一种选择是拍摄 PVC 的快照,然后从该快照创建只读 (RO) 卷。然后,如果需要,用户可以从卷中拷贝文件。使用快照优于可能正在使用的卷克隆,并且拷贝活动卷可能会创建不一致的拷贝。
 
Helm 安装
如果通过 Helm 安装驱动程序,您可以使用 - "--timeout=30m" 设置超时的选项。
在此目录中:
helm-charts/charts/csi-xxxxx/templates
编辑 controller.yaml文件。
- "--timeout=120s" 选项替换为 - "--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"
然后从安装程序目录中:
dell-csi-helm-installer
使用升级选项进行安装。
./csi-install.sh --namespace xxxxx --values my-xxxxx-settings.yaml --upgrade
 
 
作员安装
如果使用 Operator 安装驱动程序,则”--timeout“选项可以添加到 provisioner sidecar 的 args 列表中:

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

默认值:

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

添加了超时的默认值: 

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