리눅스 트러블 슈팅(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

  • [Shell 특수문자] 리눅스 와일드카드(메타문자)

    리눅스 와일드카드는 Shell 특수문자로 메타 문자로 불리기도 합니다. Shell 특수 기호 중 와일드카드(글로빙으로 부르기도 함)는 문자 패턴에 따라 파일명을 선택할 수 있습니다. 특수 문자에는 인용(따옴표) 기호, 리눅스 다중 명령어, 리눅스 히스토리 기호, 리눅스 디렉토리 기호, 리눅스 괄호 기호 및 입출력 리다이렉션 등 다양하게 있습니다. 목차Ⅰ. 트러블 슈팅 시스템 구축Ⅱ. 서버가 느린 경우1. 시스템…

  • 리눅스 head 명령어 & tail 명령어

    리눅스 head 명령어는 파일의 처음 10줄을 보여주는 명령어이며, tail 명령어는 파일의 마지막 10줄을 보여주는 명령어입니다. 옵션 없이 사용할 경우 각각의 머리와 꼬리 부분을 보여주는 것을 알 수 있습니다. head와 tail 명령어는 보통 서버의 access_log를 볼 때 주로 많이 사용됩니다. 두 명령어의 사용법과 테스트 서버에서 access_log를 각각의 명령어를 통해 확인 해 보겠습니다. 목차Ⅰ. 트러블…

  • [Linux] ifcfg: IP 네트워크 인터페이스 구성(이더넷) | CentOS 7 ver.

    레드헷 계열 리눅스에서 네트워크 구성은 /etc/sysconfig/network-scripts/ifcfg-* 파일에서 설정합니다. ifcfg(interface configuration)는 “이더넷” 장치를 어떻게 네트워크에 연결할지 설정하는 게 ifcfg-* 파일의 목적입니다. 네트워크 인터페이스는 컴퓨터가 네트워크에 연결되는 물리적 또는 가상 장치입니다. 유선(이더넷 카드), 무선(Wi-Fi 어댑터) 등이 이에 해당합니다. 리눅스에서는 eth0, wlan0, enp0s3 등 이름으로 식별하며 고유하게 관리합니다. 네트워크 인터페이스를 통해 데이터가 송수신 되어 인터넷이나 로컬…

  • RAID 구성 | RAID Level 0, 1, 4, 5, 6, 1+0, 0+1

    RAID(Redundant Array of Independent Disks 또는 Redundant Array of Inexpensive Disks)는 뜻 하는 내용처럼 여러 개의 디스크를 스토리지 하나처럼 운영하여 스토리지의 안정성을 확보하는 기술입니다. 저렴한(Independent) 디스크의 복수 배열의 뜻에서 독립적인 디스크의 복수 배열이란 뜻으로 많이 사용되고 있습니다. 이유는 단독으로 사용하기에 부족한 성능을 가진 디스크를 하나의 논리 디스크로 정렬해서 재활용하는데 목적이 있었기 때문입니다. 디스크…

  • 리눅스 디스크 마운트 | /etc/fstab으로 자동 마운트 설정

    리눅스에 추가 HDD 또는 SSD 등의 스토리지를 추가 후 사용하려면 먼저 포맷이 진행되어야 합니다. 리눅스 디스크 마운트 작업까지 진행해서 사용하기 전에 먼저 스토리지 포맷과 파일 시스템 구축을 진행하는 과정부터 진행 해 보겠습니다. 목차Ⅰ. 트러블 슈팅 시스템 구축Ⅱ. 서버가 느린 경우1. 시스템 부하: top, uptime 명령어로 문제 진단2. CPU, RAM 문제 파악하기3. 메모리 고갈…

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

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

답글 남기기

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

Prove your humanity: 4   +   9   =