PowerScale 的 CSI 驅動程式顯示「copy volume failed」

Riepilogo: PowerScale 的容器儲存介面 (CSI) 驅動程式顯示使用磁碟區複製功能時「複製磁碟區失敗」。

Questo articolo si applica a Questo articolo non si applica a Questo articolo non è legato a un prodotto specifico. Non tutte le versioni del prodotto sono identificate in questo articolo.

Sintomi

在此故障情況下,控制器 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"
 
 
 

Causa

在磁碟區複製案例中,磁碟區是 PowerScale 中的目錄。從現有 (PVC) 複製磁碟區時,會使用 PowerScale 複製應用程式發展介面 (API)。這會將一個目錄中的所有檔案正常複製到新目錄。完成複製的時間隨著卷大小的增加而增加。陣列上的負載也可能影響複製過程。執行複製的 API 調用是同步調用,因此 HTTP PUT 請求等待複製操作完成。
 
默認預配超時為兩分鐘。複製大型文件和目錄可能需要兩分鐘以上的時間。到達兩分鐘的截止時間時,API 呼叫會終止,而 CreateVolume 作業會失敗。PVC 仍處於待處理狀態。

Risoluzione

可以在驅動程式安裝時更改預配容器的預設超時。Helm 圖表和操作員示例都支援使用”--timeout=<interval>選項。如果出現問題,請根據最大的檔或目錄大小確定適當的超時值。建議為十五到三十分鐘。
 
警示:增加超時會影響所有置備操作,包括創建、擴展數據塊、刪除等。此變更為最後手段,只有在沒有其他可用選項時才應使用。複製的另一種選擇是拍攝 PVC 的快照,然後從該快照創建唯讀 (RO) 可掛載卷。然後,如果需要,用戶可以將檔從卷中複製出來。使用快照優於複製可能正在使用的捲,複製活動卷可能會創建不一致的副本。
 
安裝舵手
如果透過 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
 
 
操作員安裝
如果使用操作員安裝驅動程式,則”--timeout」選項可新增至隨需分配程式挎斗的引數清單中:

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"]

 

Prodotti

Container Storage Modules Family, Container Storage Modules
Proprietà dell'articolo
Numero articolo: 000289749
Tipo di articolo: Solution
Ultima modifica: 03 set 2025
Versione:  2
Trova risposta alle tue domande dagli altri utenti Dell
Support Services
Verifica che il dispositivo sia coperto dai Servizi di supporto.