리눅스 트러블 슈팅(Trouble Shooting).INDEX

리눅스 서버를 공부 할 때 트러블 슈팅(Trouble Shooting)이란 단어를 접하게 되는데 서버 엔지니어와 개발자가 서버를 운영하면서 듣게 되는 단어로 말 그대로 ‘문제 해결’을 뜻 한다.

리눅스에서 Trouble Shooting은 문제가 발생한 시점에서 시스템, 소프트웨어 및 하드웨어, 네트워크 등에서 문제를 진단하고 해결하는 과정이다.

Ⅰ. 트러블 슈팅 시스템 구축

원인과 해결책을 찾는 과정에서 문제 해결이 되었다면 문제점과 해결책을 문서화 하는 것은 매우 중요하다. 동일한 문제가 발생했을 때 빠르게 문제 해결을 할 수 있기 때문이다. 과거에 있었던 해결 방법을 찾을 수 있으며, 서버의 변경 상태(사항)을 파악하고 시스템의 동작 방식을 이해하는 것이 중요하다고 할 수 있다.

  • Trouble Shooting을 위한 조건 1
  • 시스템 동작 방식 이해 및 관련 용어의 이해
  • DNS 및 프로세스 등의 이해와 네트워크 용어 및 시스템의 이해가 필요함.
  • 문제점과 해결책 문서화
  • 과거에 해결되었던 내용을 참조할 수 있도록 한다.
  • Trouble Shooting을 위한 조건 2
  • 시스템 동작 방식 이해 및 관련 용어의 이해
  • DNS 및 프로세스 등의 이해와 네트워크 용어 및 시스템의 이해가 필요함.
  • 시스템의 변경 사항 파악하기
트러블슈팅(Troubleshooting)

Ⅱ. 서버가 느린 경우

네트워크 쪽이 아닌 서버쪽에서 느린 것으로 판단되는 경우 시스템의 리소스가 소비되어 서버가 느린 경우를 생각할 수 있습니다. CPU, 메모리, 디스크 쪽의 문제를 점검할 수 있겠습니다.

1. 시스템 부하: top, uptime 명령어로 문제 진단

리눅스 uptime 명령어로 문제를 빠르게 진단할 수 있습니다.

2. CPU, RAM 문제 파악하기

 1분,5분,15분 동안의 평균 로드(load average)의 숫자가 높은 경우

~]# uptime                                                                                                         
 10:36:12 up 5 days, 17:35,  1 user,  load average: 2.03, 20.17, 15.09  

실행 중인 프로세스가 CPU를 사용 중이거나 CPU 사용을 위한 대기 상태일 가능성을 볼 수 있습니다.

평균 부하가 높은 원인을 CPU 문제인지 RAM의 문제인지 I/O에 대한 문제인지를 살펴 봐야 합니다.

리눅스 uptime 명령어 설명

top 명령어를 이용해서 시스템의 문제를 한 눈에 볼 수 있습니다.

  • top 명령어를 통한 진단
  • ⓐ 부팅 후 가동 시간을 확인하여 언제부터 가동되었는지 확인.
  • load average로 평균 부하 시간을 체크.
  • ⓒ 실행 중인 프로세스의 갯수 체크.
  • ⓓ 사용 중인 메모리는와 남아 있는 메모리는 어느 정도 인지 체크할 수 있습니다.
리눅스 TOP 명령어-메모리 및 스왑메모리 영역.png

3. 메모리 고갈 파악하기

4. 디스크 I/O 진단

Ⅲ. 시스템 부팅 문제

Ⅳ. 파티션 디스크가 FULL 상태인 경우

Ⅴ.웹 사이트 다운

Ⅵ. 데이터베이스 오류

Ⅶ. 하드웨어 진단

Ⅷ. 서버 다운 시 네트워크 문제 확인

Ⅸ. 네임서버 및 DNS 문제 해결

Ⅹ. 이메일 오류

Similar Posts

  • 리눅스 서버 시간 동기화: timedatectl(CentOS7 이상)

    리눅스에서 날짜 및 시간 설정이 필요한 이유는 서버 운영 중 시간이 잘못되면, 입력되는 DB데이터, 로그 데이터, 웹 서버에 접속한 기록 등의 시간이 맞지 않는 경우가 발생할 수 있기 때문입니다. 리눅스 서버 시간 동기화를 사용하는데 있어 OS는 두 개의 시계를 가지고 있습니다.시스템 시계(소프트웨어 시계), 하드웨어 시계(실시간 시계, BIOS 시계)입니다. 목차Ⅰ. 트러블 슈팅 시스템 구축Ⅱ….

  • 리눅스 who, w 명령어 & user 명령어

    리눅스 who 명령어는 현재 서버에 로그인한 사용자 리스트를 보여주는 명령어입니다. w 명령어는 현재 시스템에 로그인한 사용자와 사용자의 작업 내용을 보여주는 명령어로 각각의 차이가 있습니다. 목차Ⅰ. 트러블 슈팅 시스템 구축Ⅱ. 서버가 느린 경우1. 시스템 부하: top, uptime 명령어로 문제 진단2. CPU, RAM 문제 파악하기3. 메모리 고갈 파악하기4. 디스크 I/O 진단Ⅲ. 시스템 부팅 문제Ⅳ. 파티션…

  • 리눅스 셸 환경(Shell Environment) 정의 및 이해와 쉘 환경변수 | Shell 시작 파일 2가지

    셸 세션을 이용해서 서버와 상호 작용을 할 때 해당 동작과 리소스에 대한 연결을 결정하기 위해 컴파일 하는 많은 정보가 있습니다. 이러한 서정 중 일부는 구성 설정에 포함되어 있으며, 다른 설정은 사용자 입력에 의해 결정됩니다. 리눅스 셸 환경은 셸의 구성 설정과 사용자 입력에 의해 결정된 설정을 유지관리 영역을 이용해 관리하는 가장 일반적인 방법을 이용하게…

  • 셔뱅(Shebang) [#! /bin/bash]

    shebang (셔뱅 또는 해시뱅)은 스크립트 파일의 첫 줄에 쓰이는 #!(해시 기호 + 느낌표)로 시작하는 구문입니다. 이 줄은 해당 스크립트를 어떤 인터프리터로 실행 할지를 지정합니다. 인터프리터(interpreter)는 프로그래밍 언어로 작성된 코드를 한 줄씩 읽고 즉시 실행하는 프로그램입니다. 이는 “작성된 명령을 번역해서 곧바로 실행해주는 번역기”라고 볼 수 있습니다. 보통 ASCII 텍스트 파일로 작성된 셸 스크립트에서 해시…

  • 리눅스 ls 명령어

    ls 명령어는 list의 약자이며, 리눅스 파일과 디렉토리를 볼 수 있는 명령어입니다. 파일의 종류와 파일의 크기, 만들어진 날짜 등의 정보를 확인할 수 있습니다. 목차Ⅰ. 트러블 슈팅 시스템 구축Ⅱ. 서버가 느린 경우1. 시스템 부하: top, uptime 명령어로 문제 진단2. CPU, RAM 문제 파악하기3. 메모리 고갈 파악하기4. 디스크 I/O 진단Ⅲ. 시스템 부팅 문제Ⅳ. 파티션 디스크가 FULL…

  • 리눅스 kill 명령어[kill -9 PID]

    리눅스 kill 명령어는 사용 중인 프로세스를 종료하는 명령어입니다. 터미널에서 프로세스에 시그널(Signal)을 보내서 프로세스를 종료합니다. 프로그램이 정지하거나 응답하지 않는 경우 일반적인 종료가 되지 않는 경우 등에 따라 명령어를 실행하게 됩니다. kill process는 사용 시 중요한 시스템 프로세스를 종료 시키면 시스템이 불안정해질 수 있기 때문에 주의해서 사용해야 합니다. 목차Ⅰ. 트러블 슈팅 시스템 구축Ⅱ. 서버가 느린…

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Prove your humanity: 4   +   10   =