CSI 驅動程式:如何收集紀錄

Summary: 本文說明如何收集基本記錄,以開始故障診斷 Dell 容器儲存模組 (CSM) 系列的問題:Dell 容器儲存介面 (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

CSI 驅動程式記錄收集
這包括啟用除錯、盡可能重現問題、收集 CSI 驅動程式控制器的記錄、從節點 pod 收集記錄。

注意:可使用 kubectl 在 OpenShift 環境中,命令可取代為「oc」

啟用 CSI 驅動程式控制器和節點 Pod 的偵錯記錄。
請參閱文件中的「動態紀錄記錄設定」功能:https://dell.github.io/csm-docs/docs/csidriver

注意:由於啟用偵錯記錄不具回溯力,因此請盡可能在收集記錄之前重現問題。

確定控制器和節點 Pod 的名稱。
使用 kubectl get pods 命令,以列出驅動程式命名空間中的 Pod。

# 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
注意:控制器部署設定為「複本:1」。這不是受支援的生產配置,但對於測試目的很有用。支援的環境會顯示兩個或多個控制器。

收集 CSI 驅動程式控制器記錄。
應收集控制器 Pod 的記錄。使用 kubectl logs 命令為貴組織設定主要和次要 IT 連絡人。請務必傳入驅動程式等相關容器。

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

範例:

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

對與問題相關的所有必需容器(附加器、快照拍攝程式、預配程式、驅動程式、調整大小等)重複上述操作。請務必更改輸出檔的檔名以匹配控制器名稱和容器。

收集 CSI 驅動程式節點 Pod 記錄。
還應為工作器節點收集日誌。這可能包括一個節點,或者如果問題 Pod 從一個節點移動到另一個節點,則可能包括多個節點。這會收集 CSI 驅動程式節點 pod (驅動程式、註冊器等) 上每個容器的記錄:

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

範例:

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

備選方案
指令檔

這會個別產生所有控制器記錄 (視需要變更「isilon」命名空間 2 個位置),並視需要新增容器。

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

這會收集節點記錄 (視需要在兩個位置變更「isilon」命名空間),並視需要新增容器。

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

開始時間選項
收集所有記錄可能會產生比所需更多的資料。“--since選項可用來收集已知時間量。此選項後跟「5 秒」、「5 公尺」或「5 小時」,持續數秒、分鐘、小時,視記錄收集應追溯到多遠而定。如果重現問題,收集過去 5 分鐘的記錄 (或重現所花費的時間),這也很實用:

範例:

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

全容器
如上所述,在進行個別收集記錄以進行故障診斷時十分實用。有時,將容器名稱替換為”--all-containers」以收集所有 Pod 容器的紀錄可能十分實用。

注意:這可能會使故障診斷問題變得更加困難,因為這會將所有記錄放在同一個檔案中。

範例:

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

其他必要資訊:
Container Orchestrator (K8s、OpenShift 等) 和版本
Kubernetes 版本與風格
驅動程式版本
陣列版本或微碼
K8 節點 作業系統和版本

 

Additional Information

若為舊版,則可編輯部署/精靈集來啟用偵錯。

若要列出部署:
# 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
編輯部署:
kubectl 編輯部署 -n
範例:
# kubectl 編輯部署 -n csi-powerscale isilon-controller
這會開啟 vi 編輯器。將X_CSI_DEBUG參數變更為「true」(i for insert),並儲存 (:wq):
        -名字:
X_CSI_DEBUG值:「true」
針對 Isilon,OneFS REST 應用程式發展介面的內容也應設定為 0 (true):
        -名字:
X_CSI_VERBOSE值:「0」

編輯精靈集,以啟用 CSI 驅動程式節點除錯記錄。
透過編輯精靈集啟用偵錯。

若要列出精神:
# kubectl get daemonset -A
NAMESPACE NAME DESIRED CURRENT READY UP-DATE AVAILABLE NODE SELECTOR AGE
csi-powerscale isilon-node 2 2 2 2 2 14d
powermax powermax-node 2 2 2 2 2 26d
unity-node 2 2 2 2 2 47d
vxflexos vxflexos-node 2 2 2 2 2 107d
編輯精靈集:
# kubectl 編輯 daemonset -n csi-powerscale isilon-node
這會開啟 vi 編輯器。將X_CSI_DEBUG參數變更為「true」並儲存。
-名字:
X_CSI_DEBUG值:「true」

針對 Isilon,OneFS REST 應用程式發展介面的內容也應設定為 0 (true):
-名字:
X_CSI_VERBOSE值:「0」


由於偵錯記錄不會回溯,請盡可能重現問題,再收集記錄。
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.