Sterowniki CSI: Zbieranie wpisów do dziennika

Summary: W tym artykule przedstawiono sposób gromadzenia podstawowych dzienników w celu rozpoczęcia rozwiązywania problemu z rodziną modułów Dell Container Storage Modules (CSM): Sterowniki Dell Container Storage Interface (CSI) ...

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Instructions

Zbiór
dzienników sterowników CSIObejmuje to włączenie debugowania, odtworzenie problemu, jeśli to możliwe, zebranie dzienników dla kontrolera sterowników CSI i zebranie dzienników z zasobnika węzła.

Uwaga: Polecenie kubectl polecenia można zastąpić "oc" w środowiskach OpenShift.

Włącz dzienniki debugowania dla kontrolera sterownika CSI i zasobników węzła.
Zobacz funkcję "Dynamic Logging Configuration" w dokumentacji: https://dell.github.io/csm-docs/docs/csidriver

Uwaga: Ponieważ włączenie dzienników debugowania nie działa wstecz, przed zebraniem dzienników odtwórz problem, jeśli to możliwe.

Określ nazwy zasobników kontrolera i węzła.
Za pomocą przycisku kubectl get pods , aby wyświetlić listę zasobników w przestrzeni nazw sterowników.

# kubectl get pods -n isilon
NAME                                READY   STATUS    RESTARTS        AGE
isilon-controller-66d7d9d7c-6j6f4   6/6     Running   0               11m
isilon-node-9wngk                   2/2     Running   0               27d
Uwaga: Wdrożenie kontrolera jest ustawione na "replicas: 1" w tym środowisku testowym. Nie jest to obsługiwana konfiguracja produkcyjna, ale jest przydatna do celów testowych. Obsługiwane środowisko pokazuje dwa lub więcej kontrolerów.

Zbierz dzienniki kontrolera sterowników CSI.
Dzienniki powinny być zbierane dla zasobników kontrolera. Zbierz dzienniki ze wszystkich kontrolerów za pomocą kubectl logs . Upewnij się, że przekazujesz odpowiedni pojemnik, np. kierowcę.

kubectl logs -n <namespace> <controller> <container> > <file name>

Przykład:

kubectl logs -n isilon isilon-controller-66d7d9d7c-6j6f4 driver > isilon-controller-66d7d9d7c-6j6f4_driver.log

Powtórz te czynności w przypadku wszystkich wymaganych kontenerów związanych z problemem (dołączający, moduł migawki, inicjator, sterownik, zmiana rozmiaru itd.). Pamiętaj, aby zmienić nazwę pliku wyjściowego, aby była zgodna z nazwą kontrolera i kontenerem.

Zbieraj dzienniki zasobników węzła sterownika CSI.
Dzienniki powinny być również zbierane dla węzłów roboczych. Może to obejmować jeden węzeł lub wiele węzłów, jeśli zasobnik powodujący problemy był przenoszony z jednego węzła do drugiego. Spowoduje to zebranie dzienników dla każdego kontenera w zasobniku węzła sterownika CSI (sterownik, rejestrator itd.):

kubectl logs -n <namespace> <worker node> > <filename>.txt

Przykład:

kubectl logs -n isilon isilon-node-9wngk driver > isilon-node-9wngk_driver.txt
kubectl logs -n isilon isilon-node-9wngk registrar > isilon-node-9wngk_registrar.txt

Alternatywy
Skrypt

: Spowoduje to wygenerowanie wszystkich dzienników kontrolera osobno (zmiana przestrzeni nazw "isilon" o 2 miejsca w razie potrzeby) i dodanie kontenerów zgodnie z wymaganiami.

for x in $(kubectl get pods -n isilon | grep controller | awk '{print $1}'); do for i in attacher provisioner driver snapshotter;do kubectl logs -n isilon $x -c $i > $x-$i.txt;done;done

Spowoduje to zebranie dzienników węzłów (w razie potrzeby zmiana przestrzeni nazw "isilon" w dwóch miejscach) i dodanie kontenerów zgodnie z wymaganiami.

for x in $(kubectl get pods -n isilon | grep node | awk '{print $1}'); do for i in driver registrar;do kubectl logs -n isilon $x -c $i > $x-$i.txt;done;done

Ponieważ opcja
Zebranie wszystkich dzienników może przynieść więcej danych niż jest to wymagane. Plik "--since" może być używana do zbierania przez znany czas. Po tej opcji następuje "5 s", "5 m" lub "5 h" przez sekundy, minuty, godziny, w zależności od tego, jak daleko wstecz powinien przejść dziennik. Jest to również pomocne, jeśli problem został odtworzony, zbierz ostatnie 5 minut dzienników (lub czas potrzebny na odtworzenie):

Przykład:

kubectl logs -n isilon isilon-node-xxx driver --since 5m > isilon-node-xxx_driver.txt

Wszystkie kontenery
W przypadku rozwiązywania problemów pomocne jest oddzielne zebranie dzienników w sposób opisany powyżej. Czasami zastąpienie nazwy kontenera ciągiem "--all-containers", aby zebrać dzienniki wszystkich kontenerów kapsuły, może być przydatne.

Uwaga: Może to utrudnić rozwiązanie problemu, ponieważ spowoduje to zebranie wszystkich dzienników w jednym pliku.

Przykład:

kubectl logs -n isilon isilon-node-xxx --all-containers> isilon-node_driver.txt

Inne wymagane informacje:
Container Orchestrator (K8s, OpenShift itd.) oraz wersja
Wersja i wersja
Kubernetes Wersja
sterownika Wersja macierzy lub mikrokodu
System operacyjny i wersja węzłów K8

 

Additional Information

W poprzednich wersjach debugowanie jest włączane przez edycję wdrożeń/demonów.

Aby wyświetlić listę wdrożeń:
# kubectl get deployment -A
NAMESPACE NAME READY UP-TO-DATE AVAILABLE AGE
csi-powerscale isilon-controller 1/1 1 1 14d
powermax powermax-controller 1/1 1 1 26d
unity-controller 1/1 1 1 47d
vxflexos vxflexos-controller 2/2 2 2 107d
Edytuj wdrożenie:
kubectl edit deployment -n
Przykład:
# kubectl edit deployment -n csi-powerscale isilon-controller
Spowoduje to otwarcie edytora VI. Zmień parametr X_CSI_DEBUG na "true" (i for insert) i zapisz (:wq):
        -Nazwa:
X_CSI_DEBUG wartość: "True" (Prawda)
w przypadku Isilon zawartość interfejsu API REST OneFS powinna być również zarejestrowana w debugowania przez ustawienie 0 (prawda):
        -Nazwa:
X_CSI_VERBOSE wartość: "0"

Enable CSI Driver node debug logs by editing the daemonset.
Debugowanie jest włączone przez edycję demonsetu. 

Aby wyświetlić listę demonów:
# kubectl get daemonset -A
NAMESPACE NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE
csi-powerscale isilon-node 2 2 2 2 14d
powermax powermax-node 2 2 2 2 26d
unity unity-node 2 2 2 2 2 47d
vxflexos vxflexos-node 2 2 2 2 107d
Edytuj demonset:
# kubectl edit daemonset -n csi-powerscale isilon-node
Spowoduje to otwarcie edytora VI. Zmień parametr X_CSI_DEBUG na "true" i zapisz.
        -Nazwa:
X_CSI_DEBUG wartość: "Prawda"

W przypadku Isilon zawartość interfejsu API Rest OneFS również powinna być rejestrowana w debugowania przez ustawienie 0 (prawda):
        -Nazwa:
X_CSI_VERBOSE wartość: "0"


Ponieważ dzienniki debugowania nie są retroaktywne, należy odtworzyć problem, jeśli to możliwe, przed zebraniem dzienników.
Article Properties
Article Number: 000188057
Article Type: How To
Last Modified: 12 Nov 2025
Version:  9
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.