CSI 드라이버: 로그 수집 방법

Summary: 이 문서에서는 기본 로그를 수집하여 Dell CSM(Container Storage Module) 제품군의 문제 해결을 시작하는 방법을 보여줍니다. Dell CSI(Container Storage Interface) 드라이버

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 드라이버 컨트롤러 및 노드 포드에 대한 디버그 로그를 활성화합니다.
설명서의 "동적 로깅 구성" 기능을 참조하십시오. https://dell.github.io/csm-docs/docs/csidriver

참고: 디버그 로그를 활성화하는 것은 소급 적용되지 않으므로 가능한 경우 로그를 수집하기 전에 문제를 재현합니다.

컨트롤러 및 노드 포드의 이름을 확인합니다.
를 사용하십시오. 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
참고: 컨트롤러 배포는 "replicas: 1"를 사용하는 것입니다. 이는 지원되는 프로덕션 구성이 아니지만 테스트 목적으로 유용합니다. 지원되는 환경에는 두 개 이상의 컨트롤러가 표시됩니다.

CSI 드라이버 컨트롤러 로그를 수집합니다.
컨트롤러 포드에 대한 로그를 수집해야 합니다. 를 사용하여 모든 컨트롤러에서 로그 수집 kubectl logs 명령을 실행합니다. 드라이버와 같은 관련 컨테이너를 전달해야 합니다.

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초", "5m" 또는 "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

기타 필수 정보:
컨테이너 오케스트레이터(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 26d
unity-controller 1/1 1 47d
vxflexos vxflexos-controller 2/2 2 2 107d
배포 편집:
kubectl edit deployment -n
예:
# kubectl edit deployment -n csi-powerscale isilon-controller
그러면 vi 편집기가 열립니다. X_CSI_DEBUG 매개변수를 "true"(i for insert) 및 save(:wq)로 변경합니다.
        -이름:
X_CSI_DEBUG 가치: "true"
인 Isilon의 경우 OneFS REST API의 콘텐츠도 0(true)으로 설정하여 디버그에 기록해야 합니다.
        -이름:
X_CSI_VERBOSE 값: 데몬 세트를 편집하여 "0"

CSI 드라이버 노드 디버그 로그를 활성화합니다.
디버그가 데몬 세트를 편집하여 활성화됩니다. 

데몬 세트를 나열하려면 다음을 수행합니다.
# 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-node 2 2 2 2 47d
vxflexos vxflexos-node 2 2 2 2 2 107d
데몬 세트를 편집합니다.
# kubectl edit daemonset -n csi-powerscale isilon-node
그러면 vi 편집기가 열립니다. X_CSI_DEBUG 매개변수를 "true"로 변경하고 저장합니다.
        -이름:
X_CSI_DEBUG 가치: "true"

Isilon의 경우 OneFS REST API의 콘텐츠도 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.