OpenShift Data Foundation 장애 디버깅
ODF를 디버그하기 위한 옵션을 검토하고 실패의 근본 원인을 찾습니다.
스토리지 인스턴스를 마운트하는 팟(Pod)이 성공적으로 배치되었는지 확인
단계에 따라 팟(Pod) 배치와 관련된 오류 메시지를 검토하십시오.
-
클러스터 내의 팟(Pod)을 나열하십시오. 팟(Pod)의 상태가 실행 중이면 팟(Pod)이 프로비저닝된 것입니다.
oc get pods -
팟(Pod)의 세부사항을 가져오고 CLI 출력의 Events 섹션에 표시되는 오류 메시지를 검토하십시오.
oc describe pod <pod_name> -
팟(Pod)에 대한 로그를 검색하고 오류 메시지를 검토하십시오.
oc logs <pod_name>
앱 팟(Pod) 다시 시작
일부 문제는 팟(Pod)을 다시 시작하고 다시 배치하여 해결할 수 있습니다. 단계에 따라 특정 팟(Pod)을 다시 배치하십시오.
-
팟(Pod)이 배치의 일부인 경우에는 팟(Pod)을 삭제하고 배치를 다시 빌드하십시오. 팟(Pod)이 배치의 일부가 아닌 경우 팟(Pod)을 삭제하고 팟(Pod) 구성 파일을 다시 적용하십시오.
- 팟(Pod)을 삭제하십시오.
oc delete pod <pod_name> ``` 출력 예 ```sh {: screen} pod "nginx" deleted ``` 2. 구성 파일을 재적용하여 팟(Pod)을 재배치하십시오. ```sh {: pre} oc apply -f <app.yaml> ``` 출력 예 ```sh {: pre} pod/nginx created ``` -
팟(Pod)을 다시 시작해도 문제가 해결되지 않으면 작업자 노드를 다시 로드하십시오.
-
최신 IBM Cloud 및 IBM Cloud Kubernetes Service 플러그인 버전을 사용하는지 확인하십시오.
ibmcloud updateibmcloud plugin repo-pluginsibmcloud plugin update
스토리지 드라이버 및 플러그인 팟(Pod)이 Running 상태를 표시하는지 확인
단계에 따라 스토리지 드라이버 및 플러그인 팟(Pod)의 상태를 확인하고 오류 메시지를 검토하십시오.
-
kube-system프로젝트에 있는 팟(Pod)을 나열하십시오.oc get pods -n kube-system -
스토리지 드라이버 및 플러그인 팟(Pod)이 실행 중 상태를 표시하지 않으면 팟(Pod)에 대한 세부사항을 가져와서 근본 원인을 찾으십시오. 팟(pod)의 상태에 따라 다음 명령이 실패할 수 있습니다.
- 드라이버 팟(Pod)에서 실행되는 컨테이너의 이름을 가져오십시오.
kubectl describe pod POD_NAME -n kube-system ``` 2. 로컬 머신의 드라이버 팟(Pod)에서 `logs.txt` 파일로 로그를 내보내십시오. ```sh {: pre} oc logs <pod_name> -n kube-system > logs.txt ``` 3. 로그 이름을 검토하십시오. ```sh {: pre} cat logs.txt ``` -
최신 로그에서 오류 메시지를 확인하십시오. 공통 오류를 해결하기 위한 단계는 ODF 문제점 해결 문서를 검토하십시오.
oc CLI 버전 확인 및 업데이트
클러스터의 최소 major.minor 버전과 일치하지 않는 oc CLI 버전을 사용하는 경우 예상치 못한 결과가 발생할 수 있습니다. 예를 들어, 서버 버전과 2개 이상의 버전 차이가 나는(n ± 2) Kubernetes 지원하지 않습니다 oc 클라이언트 버전입니다.
-
로컬 시스템에서 실행하는
ocCLI 버전이 클러스터에 설치된 Kubernetes 버전과 일치하는지 확인하십시오. 클러스터 및 로컬 시스템에 설치된ocCLI 버전을 표시하십시오.oc version출력 예:
Client Version: version.Info{Major:"1", Minor:"23", GitVersion:"v1.35", GitCommit:"641856db18352033a0d96dbc99153fa3b27298e5", GitTreeState:"clean", BuildDate:"2019-03-25T15:53:57Z", GoVersion:"go1.12.1", Compiler:"gc", Platform:"darwin/amd64"} Server Version: version.Info{Major:"1", Minor:"23", GitVersion:"v1.35+IKS", GitCommit:"e15454c2216a73b59e9a059fd2def4e6712a7cf0", GitTreeState:"clean", BuildDate:"2019-04-01T10:08:07Z", GoVersion:"go1.11.5", Compiler:"gc", Platform:"linux/amd64"}CLI 버전은 클라이언트 및 서버의
GitVersion에서 동일한 버전을 볼 수 있는 경우 일치합니다. 서버용 버전의+IKS부분을 무시할 수 있습니다. -
로컬 컴퓨터와 클러스터의
ocCLI 버전이 일치하지 않는 경우, 클러스터를 업데이트하거나 로컬 컴퓨터에 다른 버전의 CLI를 설치하십시오.
ODF 리소스 디버깅
ODF 리소스의 세부사항을 설명하고 명령 출력에 오류 메시지가 있는지 검토하십시오.
-
ODF 클러스터의 이름을 나열하십시오.
oc get ocscluster출력 예:
NAME AGE ocscluster-vpc 71d -
스토리지 클러스터에 대해 설명하고 출력의
Events섹션에서 오류 메시지가 있는지 검토하십시오.oc describe ocscluster <ocscluster-name> -
kube-system네임스페이스에 있는 ODF 팟(Pod)을 나열하고Running상태인지 확인하십시오.oc get pods -n kube-system출력 예
NAME READY STATUS RESTARTS AGE ibm-keepalived-watcher-5g2gs 1/1 Running 0 7d21h ibm-keepalived-watcher-8l4ld 1/1 Running 0 7d21h ibm-keepalived-watcher-mhkh5 1/1 Running 0 7d21h ibm-master-proxy-static-10.240.128.10 2/2 Running 0 71d ibm-master-proxy-static-10.240.128.11 2/2 Running 0 71d ibm-master-proxy-static-10.240.128.12 2/2 Running 0 71d ibm-ocs-operator-controller-manager-55667f4d68-md4zb 1/1 Running 8 15d ibm-vpc-block-csi-controller-0 4/4 Running 0 48d ibm-vpc-block-csi-node-6gnwv 3/3 Running 0 48d ibm-vpc-block-csi-node-j2h62 3/3 Running 0 48d ibm-vpc-block-csi-node-xpwpf 3/3 Running 0 48d vpn-5b8694cdb-pll6z -
ibm-ocs-operator-controller-manager팟(Pod)에 대해 설명하고 출력의Events섹션에서 오류 메시지가 있는지 검토하십시오.oc describe pod <ibm-ocs-operator-controller-manager-a1a1a1a> -n kube-system -
ibm-ocs-operator-controller-manager의 로그를 검토하십시오.oc logs <ibm-ocs-operator-controller-manager-a1a1a1a> -n kube-system -
NooBaa에 대해 설명하고 출력의
Events섹션에서 오류 메시지를 검토하십시오.oc describe noobaa -n openshift-storage -
ibm-storage-metrics-agent팟(Pod)에 대해 설명하고 출력의Events섹션에서 오류 메시지가 있는지 검토하십시오.oc get pods -n kube-system -l name=ibm-storage-metrics-agentNAME READY STATUS RESTARTS AGE ibm-storage-metrics-agent-8685869cc6-79qzq -
ibm-storage-metrics-agent에서 로그를 검토하십시오.oc logs ibm-storage-metrics-agent-xxx -n kube-system -
ocscluster에 대해 설명하고 를 설명하고 출력에서 오류 메시지를 검토하십시오.oc describe ocscluster <ocscluster-name> -n openshift-storage -
oc adm must-gather명령을 사용하여 클러스터에 대한 데이터를 수집하십시오.oc adm must-gather --image=registry.redhat.io/ocs4/ocs-must-gather-rhel8:latest --dest-dir=ocs_mustgather -
작업자 노드의 로컬 볼륨을 사용하는 클래식 클러스터 또는 Satellite 클러스터의 경우
osd-device-path및mon-device-path매개변수에 사용한 볼륨의disk-by-id가 작업자 노드에 있는지 확인하십시오. 이러한 볼륨 ID를 검색하는 방법에 대한 자세한 정보는 디바이스 세부사항 수집을 참조하십시오.