Sterownik CSI dla PowerScale pokazuje, że "copy volume failed"
Summary: Sterownik interfejsu Container Storage Interface (CSI) dla PowerScale pokazuje, że podczas korzystania z funkcji klonowania woluminów "kopiowanie woluminu nie powiodło się".
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
W tym scenariuszu niepowodzenia następujące komunikaty są widoczne w dzienniku kontenera sterowników zasobnika kontrolera. Ostateczny termin upływa po dwóch minutach od początkowego żądania 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
W scenariuszu klonowania woluminów są katalogami w systemie PowerScale. Klonowanie woluminów z istniejących (PVC) odbywa się przy użyciu interfejsu programowania aplikacji (API) PowerScale. Spowoduje to wykonanie normalnej kopii wszystkich plików z jednego katalogu do nowego katalogu. Czas potrzebny na wykonanie kopii wydłuża się wraz ze wzrostem rozmiaru woluminu. Obciążenie macierzy może również mieć wpływ na proces kopiowania. Wywołanie interfejsu API w celu wykonania kopiowania jest wywołaniem synchronicznym, więc żądanie HTTP PUT czeka na zakończenie operacji kopiowania.
Domyślny limit czasu aprowizacji wynosi dwie minuty. Kopiowanie dużych plików i katalogów może trwać dłużej niż dwie minuty. Po osiągnięciu dwuminutowego terminu wywołanie interfejsu API zostanie przerwane, a operacja CreateVolume zakończy się niepowodzeniem. Roszczenie PVC pozostaje w stanie oczekującym.
Resolution
Domyślny limit czasu dla kontenera inicjowania można zmienić podczas instalacji sterownika. Zarówno wykres Helm, jak i przykłady operatorów obsługują użycie "
--timeout=<interval>". Jeśli problem występuje, określ odpowiednią wartość limitu czasu na podstawie największego rozmiaru pliku lub katalogu. Zalecenie wynosi od piętnastu do trzydziestu minut.
Przestroga: Zwiększenie limitu czasu ma wpływ na wszystkie operacje aprowizacji, w tym tworzenie, zakresy, usuwanie itd. Ta zmiana jest ostateczna i powinna być stosowana tylko wtedy, gdy żadne inne opcje nie są dostępne. Alternatywną opcją klonowania jest utworzenie migawki PVC, a następnie utworzenie na jej podstawie woluminu instalacyjnego tylko do odczytu (RO). W razie potrzeby użytkownik może skopiować pliki z woluminu. Użycie migawek jest lepsze niż klonowanie woluminów, które mogą być w użyciu, a kopiowanie aktywnego woluminu może spowodować utworzenie niespójnych kopii.
Instalacja Helm
W przypadku instalowania sterownika przez program Helm można użyć
- "--timeout=30m" , aby ustawić limit czasu.
W tym katalogu:
helm-charts/charts/csi-xxxxx/templates
Edytuj plik controller.yaml.
Zainstaluj przycisk
- "--timeout=120s" opcja z opcją - "--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"
Następnie z katalogu instalatora:
dell-csi-helm-installer
Zainstaluj z opcją uaktualnienia.
./csi-install.sh --namespace xxxxx --values my-xxxxx-settings.yaml --upgrade
Instalacja przez operatora
W przypadku instalowania sterownika u operatora, "
--timeout" można dodać do listy args przyczepki aprowizatora:
Wartość domyślna:
image: registry.k8s.io/sig-storage/csi-provisioner:v5.1.0 args: ["--volume-name-prefix=csivol"]
Domyślna wartość z dodanym limitem czasu:
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ță.