← 전체 글로 돌아가기

서버 운영

서버 재부팅 전에 확인하는 것들

배포나 서버 점검 전에 미리 확인해야 할 디스크, 로그, 프로세스를 정리했습니다.

서버를 재부팅하기 전에 한두 가지만 빠뜨려도 문제가 생긴다. 배포 직전이거나 긴급 점검일 때는 더더욱 그렇다.

디스크 상태 먼저 확인

서버가 제대로 재부팅되려면 먼저 디스크에 문제가 없는지 봐야 한다. 디스크가 가득 차 있거나 read-only 상태면 재부팅 후에도 서비스가 시작 안 될 수 있다.

df -h

각 마운트포인트의 사용률을 본다. 90% 이상이면 용량 정리 후 재부팅하는 게 낫다. 특히 /, /var, /var/log 세 가지는 중요하다.

현재 실행 중인 프로세스

재부팅 후 자동으로 시작될 서비스들이 정말 준비가 되어 있는지 확인해야 한다. 포트 충돌이나 설정 오류가 있으면 재부팅 후 서비스가 시작 안 된다.

sudo ss -lntp

ss (socket statistics) 명령으로 현재 열린 포트들을 본다. 80, 443, 데이터베이스 포트 등이 제대로 리스닝하고 있는지 확인한다.

최근 로그 확인

서버 로그에 경고나 에러가 있다면 재부팅이 그 문제를 해결하지는 못한다. 먼저 눈에 띄는 에러가 없는지 확인한다.

sudo journalctl -n 80

최근 80줄의 시스템 로그를 본다. systemd 서비스 시작 실패, 커널 에러, 디스크 에러 같은 게 있으면 재부팅 전에 대응해야 한다.

예상되는 정상 상태 정의

재부팅 전에 "지금 상태가 정상"이라고 확인할 수 있어야 재부팅 후 비교가 가능하다.

  • 디스크: 루트 파일시스템 85% 이하, /var/log 50% 이하
  • 프로세스: 웹 서버, 데이터베이스, 메인 서비스가 모두 리스닝 중
  • 로그: 지난 5분간 에러 메시지 없음

이 세 가지를 메모해두면 재부팅 후 비교하기 쉽다.

재부팅 후 검증 순서

  1. 서버가 정상적으로 부팅되었는지 확인한다 (ping 또는 SSH 접속).
  2. 재부팅 전의 로그와 재부팅 후의 프로세스를 비교한다.
  3. 주요 서비스가 자동으로 시작되었는지 확인한다.

재부팅은 빠르지만 확인은 충분히 해야 다음 문제를 미리 방지할 수 있다.