systemd
- 현재 사용중인 RHEL(CentOS) 7버전 이후, Ubuntu 18.04 부터
- 프로세스 및 서비스 관리
- systemd 이전의 프로세스 및 서비스 관리 주체: init
init
- systemd 이전의 프로세스 및 서비스 관리 주체
- 모든 프로세스의 부모 프로세스
- 1번 PID를 가지고 있음
- 0번 PID는 : Swapper - 특별한 역할이 없는 IDLE 프로세스
- '런레벨(runlevel)' 을 사용하고 시스템의 상태를 정의하고 제어
- 현재 systemd에서는 '타겟(target)'으로 대체됨
- Init <런레벨 번호> : 해당 런레벨로 동작상태 변경
- /etc/inittab : 기본 런레벨 지정
- 서비스 관련 스크립트
리눅스의 런레벨
0 : Halt - 시스템이 종료되어있는 상태1 : Single User mode - 관리자 계정만 사용 가능한 상태2 : Multi User mode - 다중 사용자 사용 가능3 : Multi User mode + Networking - 다중사용자 + 네트워크 지원5 : Multi User mode + Networking + GUI6 : Reboot
systemd
systemd의 특징
- 부팅시 병렬화 처리 : 부팅 과정에서 문제 발생시에도 다른 부분은 정상적으로 부팅 진행
- cgroup : Control Group 개념을 통해 자원 관리
- 서비스(데몬)의 종속성 관리
- systemd가 서비스를 관리 : 스크립트 방식이 아닌 표준화된 방식
systemd를 사용한 서비스 상태 확인명령
- 서비스 상태
- Active : 현재 동작하고 있음
- Inactive : 현재 동작하고 있지 않음
- Enabled : 재부팅시 동작하도록 설정(재부팅시 실행)
- Disabled : 재부팅시 동작하지 않도록 설정(재부팅시 실행하지 않음)
- systemctl <서브커맨드> [Argument]
- 서비스 상태 확인
systemd를 사용한 서비스 상태 확인명령
- systemctl <서브커맨드> <서비스명>
- 서브커맨드
- start : 즉시 지정한 서비스 구동
- stop : 즉시 지정한 서비스 중지
- restart : 즉시 지정한 서비스 중지 후 재시작
- reload : 즉시 서비스 설정 다시 읽어들임
- enable : 재부팅시 서비스 구동여부 설정(활성화)
- disable : 재부팅시 서비스 구동여부 설정(비활성화)
마스크 설정
- systemctl mask <서비스 이름> : 서로 충돌이 발생할 수 있는 서비스에 대한 차단
- 해당 서비스를 구동하기 위한 스크립트/ 서비스 파일등을 차단