1. Systemd
1) 특징
- init 프로세스 대신 systemd라는 데몬 프로세스로 대체
- init 프로세스에 대한 호환성 제공
- systemd 유닛 사용
- 시스템 부팅 시 서비스 병렬 시작
- 의존성 기반의 서비스 제어
- systemctl을 사용한 사용자 정의 명령어 미지원
- 시스템 종료 시 실행중인 서비스만 중지
- 서비스에 5분의 timeout 적용
- 통합 로그 관리 (systemd-journald)
init프로세스
- 부팅 과정에서 커널에 의해 실행되고 각종 서비스를 제공하는 다른 프로세스를 동작시키는 역할 수행
- PID 1번
- 순차적으로 스크립트를 실행
2) systemd 유닛
- systemd 유닛 단위로 시스템 관리
- /usr/lib/systemd/system: unit의 기본 경로
- /etc/systemd/system: 관리자가 수동으로 관리하는 경로
- /run/systemd/system: 임시로 사용할 unit의 경로
3) systemd 유닛 종류
- service unit: 서비스 (사용자 또는 다른 시스템에게 제공하는 서비스를 나타냄)
- device unit: 하드웨어 장치 관리 유닛 (하드웨어가 추가되거나 디스크 파티셔닝 시, 해당 이름으로 유닛 생성)
ex) /dev/sda1 -> dev-sda1.device
- mount unit: 마운트 관리 유닛
ex) /mnt/mountinit -> mnt-mountinit.mount
- swap unit: 스왑 영역을 관리하는 유닛 (스왑 영역으로 사용되는 파티션 장치 또는 파일 이름)
- target unit: 타켓 (부팅모드)을 관리하는 유닛 (init 프로세스의 run level과 매핑되는 유닛)
- path unit: 파일시스템의 경로를 관리하기 위한 유닛
- timer unit: 주기적인 작업을 관리하기 위한 유닛
- socket unit: systemd에 의해 제어되는 IPC, 네트워크 소켓, FIFO에 대한 정보를 담고 있음
2. systemctl 사용
- systemd 유닛을 관리하는 명령
# 유닛의 실행 (active) 상태 확인
systemctl list-units
systemctl list-units --type <unit-name> # ex) service
systemctl list-units --all
# 유닛의 활성화 (enabled) 상태 확인
systemctl list-unit-files
# 유닛의 의존성 확인
systemctl list-dependencies <unit-name>
# 유닛의 상태 확인
systemctl status <unit-name>
# 유닛 제어 명령 사용 방법
# systemctl <sub-command> <unit>
systemctl start <unit>
systemctl stop <unit>
systemctl status <unit>
systemctl reload <unit>
systemctl restart <unit>
# 활성화 비활성화
# enable이면 부팅 시 유닛 실행 (active)
systemctl enable <unit>
systemctl disable <unit>
# 실행 (active) 유무
systemctl mask <unit>
systemctl unmask <unit>
'MLOps > Linux' 카테고리의 다른 글
네트워크 관리 (0) | 2022.01.28 |
---|---|
소프트웨어 패키지 (RPM, YUM) (0) | 2022.01.27 |
논리 볼륨(Logical Volume) 관리 (0) | 2022.01.26 |
디스크 관리 및 파일시스템 (0) | 2022.01.25 |
작업 스케줄링 (0) | 2022.01.25 |