Sterownik CSI dla PowerScale pokazuje, że "copy volume failed"
Riepilogo: Sterownik interfejsu Container Storage Interface (CSI) dla PowerScale pokazuje, że podczas korzystania z funkcji klonowania woluminów "kopiowanie woluminu nie powiodło się".
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
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"
Causa
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.
Risoluzione
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"]
Prodotti
Container Storage Modules Family, Container Storage ModulesProprietà 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.