Driver CSI: Come raccogliere i registri

Summary: Questo articolo illustra come raccogliere i registri di base per iniziare la risoluzione di un problema relativo alla famiglia Dell CSM (Container Storage Modules): Driver CSI (Container Storage Interface) di Dell ...

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

Raccolta
registri driver CSIConsiste nell'abilitazione del debug, nella riproduzione del problema, se possibile, nella raccolta dei registri per il controller del driver CSI e nella raccolta dei registri dal pod del nodo.

Nota: La colonna kubectl I comandi possono essere sostituiti con "oc" negli ambienti OpenShift.

Abilitare i registri di debug per il controller del driver CSI e i pod dei nodi.
Vedere la funzione "Dynamic Logging Configuration" nella documentazione: https://dell.github.io/csm-docs/docs/csidriver

Nota: Poiché l'abilitazione dei registri di debug non è retroattiva, riprodurre il problema, se possibile, prima di raccogliere i registri.

Determinare i nomi dei pod del controller e dei nodi.
Utilizzare il comando kubectl get pods per elencare i pod nel namespace dei driver.

# 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
Nota: Il deployment del controller è impostato su "replicas: 1" in questo ambiente di test. Non si tratta di una configurazione di produzione supportata, ma è utile a scopo di test. Un ambiente supportato mostra due o più controller.

Raccogliere i registri del controller del driver CSI.
È necessario raccogliere i registri per i pod del controller. Raccogliere i registri da tutti i controller utilizzando il kubectl logs . Assicurarsi di passare nel contenitore pertinente, ad esempio il driver.

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

Esempio:

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

Ripetere la procedura per tutti i container richiesti correlati al problema (attacher, snapshotter, provisioner, driver, resizer e così via). Assicurarsi di modificare il nome del file di output in modo che corrisponda al nome del controller e al container.

Raccogliere i registri pod del nodo del driver CSI.
I log devono essere raccolti anche per i nodi worker. Può includere un nodo o più nodi se un pod problematico si sposta da un nodo a un altro. In questo modo vengono raccolti i registri per ciascuno dei container nel pod del nodo del driver CSI (driver, registrar e così via):

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

Esempio:

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

Alternative
Script

Genera tutti i log del controller singolarmente (modificare il namespace "isilon" di 2 posizioni, se necessario) e aggiunge i container in base alle esigenze.

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

In questo modo vengono raccolti i log dei nodi (se necessario, viene modificato il namespace "isilon" in due posizioni) e vengono aggiunti i container in base alle esigenze.

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

Poiché l'opzione
La raccolta di tutti i registri potrebbe produrre più dati del necessario. Il "--since" può essere utilizzata per raccogliere per un periodo di tempo noto. Questa opzione è seguita da "5 s", "5 m" o "5 h" per secondi, minuti o ore a seconda di quanto indietro deve andare la raccolta del registro. Ciò è utile anche se il problema è stato riprodotto, raccogliere gli ultimi 5 minuti di registri (o la quantità di tempo necessaria per la riproduzione):

Esempio:

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

Tutti i container
È utile per la risoluzione dei problemi raccogliere i registri separatamente come descritto in precedenza. A volte, sostituendo il nome del contenitore con "--all-containers" per raccogliere i log di tutti i contenitori del pod può essere utile.

Nota: Ciò potrebbe rendere più difficile la risoluzione di un problema, poiché in questo modo tutti i registri vengono raggruppati nello stesso file.

Esempio:

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

Altre informazioni richieste:
Container Orchestrator (K8s, OpenShift e così via) e versione
di Kubernetes
Versione
driver Versione dell'array o microcodice
Sistema operativo e versione dei nodi K8

 

Additional Information

Per le versioni precedenti, il debug è abilitato modificando il deployment/daemonset.

Per elencare le implementazioni:
# kubectl get deployment -A
NAMESPACE NAME READY UP-TO-DATE AVAILABLE AGE
csi-powerscale isilon-controller 1/1 1 1 1 14d
powermax-controller 1/1 1 1 26d
unity-controller 1/1 1 1 47d
vxflexos vxflexos-controller 2/2 2 2 107d
Modificare il deployment:
kubectl edit deployment -n < snapshot>
Esempio:
# kubectl edit deployment -n csi-powerscale isilon-controller
In questo modo viene aperto un editor vi. Modificare il parametro X_CSI_DEBUG su "true" (i per l'inserimento) e salvare (:wq):
        -Nome:
X_CSI_DEBUG valore: "true"
Per Isilon, anche il contenuto dell'API REST OneFS deve essere registrato nel debug impostandolo su 0 (true):
        -Nome:
X_CSI_VERBOSE valore: "0"

Abilitare i registri di debug del nodo del driver CSI modificando il daemonset.
Il debug è abilitato modificando il daemonset. 

Per elencare i daemonset:
# 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-node 2 2 2 2 26d
unity unity-node 2 2 2 2 2 vxflexos
vxflexos-node 2 2 2 2 107d
Modificare il daemonset:
# kubectl edit daemonset -n csi-powerscale isilon-node
In questo modo viene aperto un editor vi. Modificare il parametro X_CSI_DEBUG su "true" e salvare.
        -Nome:
X_CSI_DEBUG valore: "Vero"

Per Isilon, anche il contenuto dell'API REST OneFS deve essere registrato nel debug impostando su 0 (true):
        -Nome:
X_CSI_VERBOSE valore: "0"


Poiché i registri di debug non sono retroattivi, riprodurre il problema, se possibile, prima di raccogliere i registri.
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.