CSI-Treiber für PowerScale zeigt "Kopieren des Volumes fehlgeschlagen" an
Summary: Der CSI-Treiber (Container Storage Interface) für PowerScale zeigt bei Verwendung der Funktion zum Klonen von Volumes die Meldung "Kopieren des Volumes fehlgeschlagen" an.
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 diesem Fehlerszenario werden die folgenden Meldungen im Treibercontainerprotokoll des Controller-Pods angezeigt. Der Stichtag tritt zwei Minuten nach der ersten PUT-Anforderung ein:
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
Im Volume-Cloning-Szenario sind Volumes Verzeichnisse in PowerScale. Das Klonen von Volumes aus vorhandenen Volumes (PVCs) erfolgt mithilfe der PowerScale-Kopie Application Programming Interface (APIs). Dadurch wird eine normale Kopie aller Dateien in einem Verzeichnis in das neue Verzeichnis ausgeführt. Die Zeit zum Abschließen des Kopiervorgangs nimmt mit zunehmender Größe des Volumes zu. Die Last auf dem Array kann sich auch auf den Kopiervorgang auswirken. Der API-Aufruf zum Durchführen der Kopie ist ein synchroner Aufruf, sodass die HTTP PUT-Anforderung wartet, bis der Kopiervorgang abgeschlossen ist.
Das standardmäßige Bereitstellungs-Timeout beträgt zwei Minuten. Das Kopieren großer Dateien und Verzeichnisse kann länger als zwei Minuten dauern. Wenn die Frist von zwei Minuten erreicht ist, wird der API-Aufruf beendet und der CreateVolume-Vorgang schlägt fehl. Der PVC verbleibt im Status "Pending".
Resolution
Das Standard-Timeout für den Bereitstellungscontainer kann zum Zeitpunkt der Treiberinstallation geändert werden. Sowohl das Helm-Diagramm als auch das Operatorbeispiel unterstützen die Verwendung von "
--timeout=<interval>" aus. Wenn das Problem auftritt, bestimmen Sie einen geeigneten Timeout-Wert basierend auf den größten Datei- oder Verzeichnisgrößen. Die Empfehlung beträgt fünfzehn bis dreißig Minuten.
Achtung: Eine Erhöhung des Timeouts wirkt sich auf alle Bereitstellungsvorgänge aus, einschließlich Erstellung, Erweiterungen, Löschen usw. Diese Änderung ist als letzter Ausweg gedacht und sollte nur verwendet werden, wenn keine anderen Optionen verfügbar sind. Eine alternative Möglichkeit für das Cloning besteht darin, einen Snapshot eines PVC zu erstellen und dann aus diesem Snapshot ein schreibgeschütztes (RO) mountbares Volume zu erstellen. Der Nutzer kann dann bei Bedarf Dateien vom Volume kopieren. Die Verwendung von Snapshots ist dem Klonen von Volumes überlegen, die möglicherweise bereits verwendet werden, und das Kopieren eines aktiven Volumes kann zu inkonsistenten Kopien führen.
Helm-Installation
Wenn Sie den Treiber mit Helm installieren, können Sie den Befehl
- "--timeout=30m" Option zum Festlegen des Timeouts.
In diesem Verzeichnis:
helm-charts/charts/csi-xxxxx/templates
Bearbeiten Sie die Datei controller.yaml.
Ersetzen Sie die
- "--timeout=120s" mit der Option - "--timeout=30m" verwendet wird.
- 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"
Gehen Sie dann aus dem Installationsverzeichnis wie folgt vor:
dell-csi-helm-installer
Installieren Sie mit der Upgradeoption.
./csi-install.sh --namespace xxxxx --values my-xxxxx-settings.yaml --upgrade
Operator Installation
Bei der Installation des Treibers mit dem Operator wird das Symbol "
--timeout" kann der Args-Liste des Provisioner-Sidecars hinzugefügt werden:
Der Standardwert:
image: registry.k8s.io/sig-storage/csi-provisioner:v5.1.0 args: ["--volume-name-prefix=csivol"]
Der Standardwert mit dem hinzugefügten Timeout:
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 ModulesProprietăț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ță.