CSI 驅動程式:如何收集紀錄
Summary: 本文說明如何收集基本記錄,以開始故障診斷 Dell 容器儲存模組 (CSM) 系列的問題:Dell 容器儲存介面 (CSI) 驅動程式
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
收集 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
若要列出部署:
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
-名字:
X_CSI_DEBUG值:「true」
針對 Isilon,OneFS REST 應用程式發展介面的內容也應設定為 0 (true):
-名字:
X_CSI_VERBOSE值:「0」
編輯精靈集,以啟用 CSI 驅動程式節點除錯記錄。
透過編輯精靈集啟用偵錯。
若要列出精神:
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
-名字:
X_CSI_DEBUG值:「true」
針對 Isilon,OneFS REST 應用程式發展介面的內容也應設定為 0 (true):
-名字:
X_CSI_VERBOSE值:「0」
由於偵錯記錄不會回溯,請盡可能重現問題,再收集記錄。