systemd

2025. 8. 5. 13:11Infra

애플리케이션 무중단 운영을 위해 systemd를 활용한다.

근데 systemd가 뭐지..

 

systemd

  • 리눅스 초기화 시스템.
  • 부팅 후 가장 먼저 실행되는 PID 1번 프로세스.
  • 다른 모든 프로세스 관리.

 

주요 특징

  • 병렬 처리 : 여러 서비스를 동시에 시작하여 시스템 부팅 속도 향상.
    기존의 SysVinit, Upstart 같은 init 시스템은 순차 실행으로 부팅 속도가 느렸다.
  • 종속성 관리 : 서비스 간 의존 관계를 자동 분석하고 해결하여 서비스가 올바른 순서로 실행되도록 보장.
  • 유닛 기반 관리 : 서비스, 마운트 지점, 소켓 등 모든 관리 대상을 Unit이라는 표준화된 단위로 다룬다.
    • .timer : 특정 시점에 작업 수행.
    • .path : 특정 경로 감시.
    • .target : 시스템 상태 그룹화.
  • On-Demand 실행 : 소켓 기반 활성화 기능을 통해 특정 서비스에 요청이 있을 때만 해당 서비스를 실행시켜 시스템 자원을 효율적으로 사용.
  • 로그 관리 : journald라는 자체 로깅 시스템을 통해 시스템 및 서비스 로그를 통합 관리.
  • 서비스 제어 : systemctl 명령어로 서비스를 시작, 중지, 재시작, 활성화, 비활성화 등 제어.

 

서비스(.service)

  • 시스템에서 실행되는 데몬이나 애플리케이션을 관리하는 데 사용하는 유닛 파일로 정의.
  • 어떻게 시작/중지할지, 어떤 조건에서 재시작할지 등을 설정.
  • 주로 /etc/systemd/system/ 또는 /usr/lib/systemd/system/ 경로에 위치.
  • systemctl 명령어로 서비스들을 관리.

 

데몬(Daemon)

사용자가 직접 제어하지 않고, OS 백그라운드에서 지속적으로 실행되는 프로그램.

시스템이 부팅될 때 자동 시작되어 종료될 때까지 계속 실행되는 경우가 많다.

  • 백그라운드 실행 : 터미널이나 사용자 인터페이스에 직접 연결되지 않는다.
  • 서비스 제공 : 네트워크 요청 처리(httpd), 작업 스케줄링(crond), 원격 접속 허용(sshd) 등 시스템 핵심 기능 제공.
  • 프로세스 이름 : 관례적으로 끝에 'd'가 붙는 경우가 많다.

 

systemctl

systemd 시스템 및 서비스 관리자를 제어하는 핵심 명령어.

서비스 시작/중지

  • systemctl start 서비스 : 서비스 시작.
  • systemctl stop 서비스 : 실행 중인 서비스 중지.
  • systemctl restart 서비스 : 서비스 재시작.
  • systemctl reload 서비스 : 설정을 다시 불러와서 서비스를 재시작하지 않고 변경사항 적용.

서비스 활성화/비활성화

  • systemctl enable 서비스 : 시스템 부팅 시 서비스 자동 시작 활성화.
  • systemctl disable 서비스 : 부팅 시 서비스 자동 시작 비활성화.

서비스 상태 확인

  • systemctl status 서비스 : 서비스의 현재 실행 상태(활성화,동작 여부, 로그 등) 확인.
  • systemctl is-active 서비스 : 서비스가 실행 중인지.
  • systemctl is-enabled 서비스 : 서비스가 부팅 시 자동 시작 활성화되어 있는지.

유닛 목록 조회

  • systemctl list-units : 현재 메모리에 로드된 모든 활성 유닛 목록.
  • systemctl list-units --type=service : 현재 실행 중인 서비스 유닛만 필터링.
  • systemctl list-unit-files : 설치된 모든 유닛 파일과 상태.

 

전에는 service 명령어로 서비스 시작/중지, chkconfig 명령어로 부팅 시 자동 실행을 설정했으나, 최신 시스템에서는 내부적으로 systemctl로 리디렉션되어 실행된다.

기존 명령어들의 기능을 통합해서 더 일관되고 강력한 관리가 가능하기 때문이다.

그러니까 잘 알고 있자~

'Infra' 카테고리의 다른 글

GPG(GNU Privacy Guard)  (4) 2025.08.06
Docker 설치  (0) 2025.08.06
애플리케이션 무중단 운영 환경  (2) 2025.08.04
리버스 프록시_Nginx  (2) 2025.08.04
Python 설치  (0) 2025.07.30