SlideShare une entreprise Scribd logo
1  sur  27
Télécharger pour lire hors ligne
2014. 07. 21
RHEL 7 (About systemd)
주식회사 오픈소스컨설팅
2
- Internal Use Only -
Who am I?
전갑일(kjeon at osci.kr)
오픈소스컨설팅 IT 인프라
서비스팀 엔지니어
리눅스를 평정하는 그 날까지 정진
또 정진~!
3
- Internal Use Only -
SysVinit & Upstarts Review
Linux System Boot Process(1)
1. System Bios read GRUB
2. GRUB display kernel select & excution
3. Kernel extracts contents of initrd(init script) into RAM disk area
4
- Internal Use Only -
SysVinit & Upstarts Review
Linux System Boot Process(2)
<Init script의 역할>
1. 메모리에 장치 드라이버들을 load 및 root file system의 mount
2. /sbin/init 프로세스 실행
/sbin/init은 기존의 초기화시스템인 SysVinit과 Upstart의 main body이며,
새로 바뀔 Systemd의 /usr/bin/systemd 와 같은 역할을 함.
5
- Internal Use Only -
SysVinit & Upstarts Review
Upstarts 동작과정
1. /sbin/init은 RHEL5 에서는 SysVinit, RHEL6에선 upstart라 불리는 작업관리
시스템의 기초
2. /sbin/init에 의해 runlevel별로 실행하며, runlevel5일경우와 아닐경우를 분류해 실행.
3. 초기과정이 미세하게 나뉘긴 하였으나 RHEL5와 거의 흡사.
4. prefdm은 init 5의 GUI환경일 경우 Xwindow부팅을 가능케 함
6
- Internal Use Only -
SysVinit & Upstarts Review
RHEL5 & RHEL6 (/etc/inittab)
RHEL5
RHEL6
7
- Internal Use Only -
Objectives of systemd
systemd의 목적
목적 상세내용
시스템의
기동시간 감소
쉘스크립트는 시리얼 오더에 있는 명령을 실행하는데 이는 멀티코어프로세스를 사용하는 최근 환경
에선 비효율적임.
따라서 스크립트 내의 다양한 업무가 분할되어 평행하게 실행될 수 있다면 시스템의 기동시간을 감소
시킬 수 있을 것. (병행성의 증대)
시스템
환경설정변화의
제어
시스템의 기동시간 뿐 아니라 시스템 환경설정이 변경 시
서비스들또한 start/stop이 유동적으로 변경되는 것이 필요
프로세스 shutdown에
대한 표준 제공
기존의 서비스스크립트에는 프로세스를 중단하는 표준적인 방법이 없었으며,
Systemd는 forked daemons를 스스로 찾아낼 수 있도록 표준적인 방법을 제공해야 함.
프로세스
실행환경에
대한 제어
프로세스 실행환경, 즉 자원관리를 위한 cgroup과 디렉토리들에 대한 접근제어등에 관하여 Systemd
가 중앙집중적으로 관리해야 함.
8
- Internal Use Only -
Minimum execution unit of systemd
systemd의 최소 실행단위
1. SysVinit에 있던 다양한 시스템 초기화 스크립트들이 여러 개로 추출되어 독립된
유닛들로 정의됨.
2. 남아있는 몇몇의 /etc/init.d/<service명> start등의 명령어 사용시 기동하긴 하지만
Via systemctl 이 출력되며 실질적으로 systemctl에 의해 동작함을 명시함.
9
- Internal Use Only -
Minimum execution unit of systemd
systemd의 최소 실행단위 (/etc/rc.d내의 파일비교)
RHEL5
RHEL6
10
- Internal Use Only -
Unit types
주요 유닛의 타입분류
분류 상세내용
Service type .service의 확장명을 지니며, 이것이 활성화 되면 연관된 daemon이 시작
Target Type
.target의 확장명을 지니며, 아무 것도 하지 않음. 이 유닛은 어떠한 다른 관계들이 정의
될 때 때에 맞춰 동기화 되는 것을 제공하거나 유닛 간의 의존성을 정의
Swap area Type .swap의 확장명을 지니며, 활성화 시 연관된 swap area가 enabled됨
Device Type
.device의 확장명을 지니며, udev가 새로운 장치를 인식하면, 관련된 유닛들이 정의되고
자동적으로 활성화됨
1. 유닛은 다양한 타입들을 가지고 있으며, 확장자명을 통해 알 수 있음.
2. 몇몇 유닛들은 자동으로 생성되기에 모든 유닛에 대해 일일이 정의할 필요는 없음.
3. Service와 Target은 직접 설정이 필요하며, Mount와 Swap은 /etc/fstab에 의해,
Device는 udev에 의해 자동으로 설정됨.
11
- Internal Use Only -
Location of unit configuration files
유닛설정파일들의 위치
1. /etc/systemd/system (어드민 커스터마이징 파일들이 위치)
2. /usr/lib/systemd/sytem (rpm패키지에 의해 설치된 디폴트 시스템파일들이 위치)
1. 기본적으로 설정파일들은 위의 두 위치에 존재하며, 설정파일의 이름은
유닛의 이름과 일치함.
2. 중요한 점은 각각의 장소에 같은 이름을 가진 설정파일이 있다면
/etc/systemd/system의 파일이 실행되며, /usr/lib/systemd/system의
파일은 무시된다. 따라서 만약 디폴트 설정의 변경을 원할 시
/usr~/system의 파일을 /etc~/system으로 복사하여 복사본을 변경해야함.
12
- Internal Use Only -
Basic unit operations
기본적인 유닛 동작방법
추가로 service startup scripts의 비정규 옵션들은 systemd에서는 사용하지 못하며,
위와 같은 메시지를 출력.
분류 상세
systemctl enable/disable <unit명> 자동시작될 유닛들을 지정가능
systemctl start/stop/restart <unit명>
유닛의 start/stop/restart기능. (reload옵션의 경우 해당유닛이
설정파일에 ExecReload 옵션을 가졌을 경우에만 가능)
systemctl status <unit명> 해당하는 유닛의 현재 동작상태를 출력
systemctl daemon-reload systemd가 새로 추가된, 혹은 변경된 유닛들에 대해 scan
13
- Internal Use Only -
Unit dependencies and orders
유닛의 Dependencies와 Orders
1. 유닛간의 관계에 Dependency와 Order의 두 가지 종류가 존재.
2. Dependency는 어떤 유닛 A가 활성화 시 유닛B도 같이 되어야 함을 의미하며
Order는 어떤 유닛 A는 반드시 유닛 B 이후에 활성화 되어야 함을 의미함.
3. 기동 시에 systemd는 default.target을 활성화 시키며 이 때 default.target의
의존성에 걸려있는 모든 유닛들이 같이 활성화 됨. (Dependency)
14
- Internal Use Only -
Unit dependencies and orders
주요 dependencies (의존성 트리)
대표적인 dependencies의 예시이며, 예를들어 default.target의 경우
gui환경으로 설치 시에 graphical.target에 심볼릭링크가 되어있는데 이것을 multi-
user.target으로 심볼릭링크로 바꾸고 재부팅하면 runlevel3의 multiuser환경으로 접속됨.
즉, default.target을 바꾸는 것은 runlevel의 변경과 같은 의미를 지님.
15
- Internal Use Only -
Unit dependencies and orders
Default.target을 통한 runlevel 변경
Runlevel 변경
16
- Internal Use Only -
Unit dependencies and orders
Dependency와 order의 정의(1)
1. 기동 시에 systemd는 모든 유닛들에 대해서 해당 유닛들이 가진 dependency를
검토하여 동시에 활성화 시키는 것을 시도함.
2. Dependency는 requires와 wants로 정의됨.
requires: 앞서 실행되어야 할 유닛이 기동에 실패했을 경우, 해당 유닛도 실행하지 말 것.
wants: 앞서 실행되어야 할 유닛이 기동에 실패하더라도, 해당유닛은 어떻게든 실행할 것.
3. 추가로 confilcts옵션을 통해 동시에 활성화되지 말아야 할 유닛을 지정할 수 있음.
17
- Internal Use Only -
Unit dependencies and orders
Dependency와 order의 정의(2)
1. 유닛명.want의 디렉토리들은 서비스들의 자동시작설정파일들을 가지고 있음.
(즉, wants디렉토리는 systemctl enable/disable에 따라 자동시작될 서비스의 심볼릭링크의
등록/해제가 되는 곳)
2. 위의 명령이 실행될 때 want디렉토리엔 wanted by 옵션을 통해 해당 서비스의 심볼릭
링크가생성됨.
18
- Internal Use Only -
Unit dependencies and orders
Dependency와 order의 정의(3)
1. Order는 before와 after로 정의됨.
2. Before는 해당 유닛이 A, B, C유닛의 실행 전에 실행되어야함을 의미하며,
After는 해당유닛이 A, B, C 유닛의 실행 후에 실행되어야함을 의미함.
3. Target 유닛은 여러 유닛들에 대한 동기화 지점으로 정의됨. (중간지점)
19
- Internal Use Only -
Unit dependencies and orders
Dependency와 order의 정의(4)
1. systemctl list-dependencies <unit명> 명령으로 dependency와 order들을 확인 가능.
2. basic.target에 대한 before명령 실행 시 해당 화면과 같이 basic.target이 multi-
user.target보다 먼저 실행되어야함을 알 수 있음.
systemctl list-dependencies
basic.target –before --all 실행
20
- Internal Use Only -
Listing units
유닛 리스트출력
systemctl list-unit-files --type=service 와 같이 –type옵 션을 통해 해당하는 타입들만
출력하는 것이 가능. 이것은 RHEL6의 chkconfig –list와 비슷한데 이것을 7에서 실행할
경우 위와 같이 systemctl list-unit-files를 사용권장하는 메시지를 확인가능.
분류 상세
systemctl list-unit-files 모든 정의된 유닛들과 그 상태들을 출력
systemctl list-units 현재 동작중인, 혹은 동작해야될 유닛들과 그 상태들을 출력
21
- Internal Use Only -
Listing cgroups
croups 관련내용 출력
위와같이 systemd-cgtop 명령을 실행할 시 프로세스의 cpu 점유율 등과 같은 정보를
출력 가능
분류 상세
systemd-cgls cgoups의 group tree를 출력
systemd-cgtop 그룹이 사용하는 자원에 대해 실시간으로 출력
22
- Internal Use Only -
Sending signal to process groups
프로세스 kill
killall이 먹히지않는, 예를 들어 postfix.service의 경우
systemctl kill –s9 postfix.service로 postfix.service에 해당하는 모든 프로세스를
종료가능하며 이 메커니즘은 systemctl stop 에도 적용됨.
(즉, systemd가 순차적으로 설정파일에게 ExecStop, SIGTERM, SIGKILL명령을 차례로
보내는 원리를 따름)
분류 상세
kill -9 <pid>
killall <프로세스명>
RHEL6에서 사용하던대로 사용가능. (ps –ef옵션검색)
systemctl kill –s9 <프로세스명> 같은 croup에 포함되는 모든 프로세스를 동시에 종료가능.
23
- Internal Use Only -
Log management mechanism of systemd
systemd에서의 로그관리
1. 기존의 /var/log/에서 여전히 로그파일들을 확인이 가능함.
2. 추가된 journalctl 명령어를 통해 확인이 가능
3. 그림의 /run/systemd/journal/syslog를 RHEL7에서는 rsyslog가 읽을 필요가 없는데 이는
최근버전의 rsyslog가 journald database에 imjournal모듈을 통해 직접접근하기
때문이며, RHEL7에서는 imjournal모듈을 default로 사용하기 때문
24
- Internal Use Only -
Log management mechanism of systemd
journalctl의 옵션
옵션 상세
journalctl –u <unit명> 해당 유닛과 관련된 로그메세지 출력
journalctl -b 마지막 system boot이후 로그메세지 출력
journalctl -f tail –f 옵션 (마지막10줄 출력)
journalctl -a 긴 메시지를 삭제없이 출력
journalctl --no-pager more옵션 사용없이 출력
journalctl --since=“YYYY-MM-DD hh:mm:ss” 해당날짜/시각 부터의 로그 출력
journalctl --until=“YYYY-MM-DD hh:mm:ss” 해당날짜/시각 까지의 로그 출력
25
- Internal Use Only -
Disabled with masking
mask옵션으로 서비스 활성화 금지
1. mask 사용 시 systemctl로 해당 서비스를 실행 불가능
2. 이미 실행되고 있는 서비스를 masking해도 종료시키지는 않음
3. masking 시의 /etc/systemd/system 상태
26
- Internal Use Only -
Reference
Your first dive into systemd
http://www.slideshare.net/enakai/systemd-study-v14e
감사합니다

Contenu connexe

Tendances

[오픈소스컨설팅] Red Hat ReaR (relax and-recover) Quick Guide
[오픈소스컨설팅] Red Hat ReaR (relax and-recover) Quick Guide[오픈소스컨설팅] Red Hat ReaR (relax and-recover) Quick Guide
[오픈소스컨설팅] Red Hat ReaR (relax and-recover) Quick GuideJi-Woong Choi
 
[오픈소스컨설팅]Nginx 1.2.7 설치가이드__v1
[오픈소스컨설팅]Nginx 1.2.7 설치가이드__v1[오픈소스컨설팅]Nginx 1.2.7 설치가이드__v1
[오픈소스컨설팅]Nginx 1.2.7 설치가이드__v1Ji-Woong Choi
 
20150502 unix v6로 배우는 커널의 원리와 구조 1 김지은
20150502 unix v6로 배우는 커널의 원리와 구조 1 김지은20150502 unix v6로 배우는 커널의 원리와 구조 1 김지은
20150502 unix v6로 배우는 커널의 원리와 구조 1 김지은jieun kim
 
Automation Oracle Solaris 11.3 Administration with puppet for cloud part 1 su...
Automation Oracle Solaris 11.3 Administration with puppet for cloud part 1 su...Automation Oracle Solaris 11.3 Administration with puppet for cloud part 1 su...
Automation Oracle Solaris 11.3 Administration with puppet for cloud part 1 su...suk kim
 
[오픈소스컨설팅]초간단 Cubrid HA구성
[오픈소스컨설팅]초간단 Cubrid HA구성[오픈소스컨설팅]초간단 Cubrid HA구성
[오픈소스컨설팅]초간단 Cubrid HA구성Ji-Woong Choi
 
[오픈소스컨설팅]Day #1 MySQL 엔진소개, 튜닝, 백업 및 복구, 업그레이드방법
[오픈소스컨설팅]Day #1 MySQL 엔진소개, 튜닝, 백업 및 복구, 업그레이드방법[오픈소스컨설팅]Day #1 MySQL 엔진소개, 튜닝, 백업 및 복구, 업그레이드방법
[오픈소스컨설팅]Day #1 MySQL 엔진소개, 튜닝, 백업 및 복구, 업그레이드방법Ji-Woong Choi
 
2node cluster
2node cluster2node cluster
2node clustersprdd
 
Enterprise Linux 7 new feature_network configuration
Enterprise Linux 7 new feature_network configurationEnterprise Linux 7 new feature_network configuration
Enterprise Linux 7 new feature_network configurationsuk kim
 
[오픈소스컨설팅]MySQL Monitoring
[오픈소스컨설팅]MySQL Monitoring[오픈소스컨설팅]MySQL Monitoring
[오픈소스컨설팅]MySQL MonitoringJi-Woong Choi
 
Zinst 패키지 기반의-리눅스_중앙관리시스템_20140415
Zinst 패키지 기반의-리눅스_중앙관리시스템_20140415Zinst 패키지 기반의-리눅스_중앙관리시스템_20140415
Zinst 패키지 기반의-리눅스_중앙관리시스템_20140415sprdd
 
오픈소스컨설팅 클러스터제안 V1.0
오픈소스컨설팅 클러스터제안 V1.0오픈소스컨설팅 클러스터제안 V1.0
오픈소스컨설팅 클러스터제안 V1.0sprdd
 
Scouter와 influx db – grafana 연동 가이드
Scouter와 influx db – grafana 연동 가이드Scouter와 influx db – grafana 연동 가이드
Scouter와 influx db – grafana 연동 가이드Ji-Woong Choi
 
[오픈소스컨설팅]Docker on Cloud(Digital Ocean)
[오픈소스컨설팅]Docker on Cloud(Digital Ocean)[오픈소스컨설팅]Docker on Cloud(Digital Ocean)
[오픈소스컨설팅]Docker on Cloud(Digital Ocean)Ji-Woong Choi
 
시스템 관리자를 위한 리눅스강의 1강 20130203
시스템 관리자를 위한 리눅스강의 1강 20130203시스템 관리자를 위한 리눅스강의 1강 20130203
시스템 관리자를 위한 리눅스강의 1강 20130203doo rip choi
 
150625 마이크로커널 운영체제 김지은
150625 마이크로커널 운영체제 김지은150625 마이크로커널 운영체제 김지은
150625 마이크로커널 운영체제 김지은jieun kim
 
리눅스서버세팅-김태호
리눅스서버세팅-김태호리눅스서버세팅-김태호
리눅스서버세팅-김태호ETRIBE_STG
 
[오픈소스컨설팅] Open stack kilo with DVR_CEPH_v1.1
[오픈소스컨설팅] Open stack kilo with DVR_CEPH_v1.1[오픈소스컨설팅] Open stack kilo with DVR_CEPH_v1.1
[오픈소스컨설팅] Open stack kilo with DVR_CEPH_v1.1Ji-Woong Choi
 
오픈소스 모니터링비교
오픈소스 모니터링비교오픈소스 모니터링비교
오픈소스 모니터링비교sprdd
 
[오픈소스컨설팅]유닉스의 리눅스 마이그레이션 전략_v3
[오픈소스컨설팅]유닉스의 리눅스 마이그레이션 전략_v3[오픈소스컨설팅]유닉스의 리눅스 마이그레이션 전략_v3
[오픈소스컨설팅]유닉스의 리눅스 마이그레이션 전략_v3Ji-Woong Choi
 
김성윤 - 우분투로 슈퍼컴 만들기 (2011Y03M26D)
김성윤 - 우분투로 슈퍼컴 만들기 (2011Y03M26D)김성윤 - 우분투로 슈퍼컴 만들기 (2011Y03M26D)
김성윤 - 우분투로 슈퍼컴 만들기 (2011Y03M26D)Ubuntu Korea Community
 

Tendances (20)

[오픈소스컨설팅] Red Hat ReaR (relax and-recover) Quick Guide
[오픈소스컨설팅] Red Hat ReaR (relax and-recover) Quick Guide[오픈소스컨설팅] Red Hat ReaR (relax and-recover) Quick Guide
[오픈소스컨설팅] Red Hat ReaR (relax and-recover) Quick Guide
 
[오픈소스컨설팅]Nginx 1.2.7 설치가이드__v1
[오픈소스컨설팅]Nginx 1.2.7 설치가이드__v1[오픈소스컨설팅]Nginx 1.2.7 설치가이드__v1
[오픈소스컨설팅]Nginx 1.2.7 설치가이드__v1
 
20150502 unix v6로 배우는 커널의 원리와 구조 1 김지은
20150502 unix v6로 배우는 커널의 원리와 구조 1 김지은20150502 unix v6로 배우는 커널의 원리와 구조 1 김지은
20150502 unix v6로 배우는 커널의 원리와 구조 1 김지은
 
Automation Oracle Solaris 11.3 Administration with puppet for cloud part 1 su...
Automation Oracle Solaris 11.3 Administration with puppet for cloud part 1 su...Automation Oracle Solaris 11.3 Administration with puppet for cloud part 1 su...
Automation Oracle Solaris 11.3 Administration with puppet for cloud part 1 su...
 
[오픈소스컨설팅]초간단 Cubrid HA구성
[오픈소스컨설팅]초간단 Cubrid HA구성[오픈소스컨설팅]초간단 Cubrid HA구성
[오픈소스컨설팅]초간단 Cubrid HA구성
 
[오픈소스컨설팅]Day #1 MySQL 엔진소개, 튜닝, 백업 및 복구, 업그레이드방법
[오픈소스컨설팅]Day #1 MySQL 엔진소개, 튜닝, 백업 및 복구, 업그레이드방법[오픈소스컨설팅]Day #1 MySQL 엔진소개, 튜닝, 백업 및 복구, 업그레이드방법
[오픈소스컨설팅]Day #1 MySQL 엔진소개, 튜닝, 백업 및 복구, 업그레이드방법
 
2node cluster
2node cluster2node cluster
2node cluster
 
Enterprise Linux 7 new feature_network configuration
Enterprise Linux 7 new feature_network configurationEnterprise Linux 7 new feature_network configuration
Enterprise Linux 7 new feature_network configuration
 
[오픈소스컨설팅]MySQL Monitoring
[오픈소스컨설팅]MySQL Monitoring[오픈소스컨설팅]MySQL Monitoring
[오픈소스컨설팅]MySQL Monitoring
 
Zinst 패키지 기반의-리눅스_중앙관리시스템_20140415
Zinst 패키지 기반의-리눅스_중앙관리시스템_20140415Zinst 패키지 기반의-리눅스_중앙관리시스템_20140415
Zinst 패키지 기반의-리눅스_중앙관리시스템_20140415
 
오픈소스컨설팅 클러스터제안 V1.0
오픈소스컨설팅 클러스터제안 V1.0오픈소스컨설팅 클러스터제안 V1.0
오픈소스컨설팅 클러스터제안 V1.0
 
Scouter와 influx db – grafana 연동 가이드
Scouter와 influx db – grafana 연동 가이드Scouter와 influx db – grafana 연동 가이드
Scouter와 influx db – grafana 연동 가이드
 
[오픈소스컨설팅]Docker on Cloud(Digital Ocean)
[오픈소스컨설팅]Docker on Cloud(Digital Ocean)[오픈소스컨설팅]Docker on Cloud(Digital Ocean)
[오픈소스컨설팅]Docker on Cloud(Digital Ocean)
 
시스템 관리자를 위한 리눅스강의 1강 20130203
시스템 관리자를 위한 리눅스강의 1강 20130203시스템 관리자를 위한 리눅스강의 1강 20130203
시스템 관리자를 위한 리눅스강의 1강 20130203
 
150625 마이크로커널 운영체제 김지은
150625 마이크로커널 운영체제 김지은150625 마이크로커널 운영체제 김지은
150625 마이크로커널 운영체제 김지은
 
리눅스서버세팅-김태호
리눅스서버세팅-김태호리눅스서버세팅-김태호
리눅스서버세팅-김태호
 
[오픈소스컨설팅] Open stack kilo with DVR_CEPH_v1.1
[오픈소스컨설팅] Open stack kilo with DVR_CEPH_v1.1[오픈소스컨설팅] Open stack kilo with DVR_CEPH_v1.1
[오픈소스컨설팅] Open stack kilo with DVR_CEPH_v1.1
 
오픈소스 모니터링비교
오픈소스 모니터링비교오픈소스 모니터링비교
오픈소스 모니터링비교
 
[오픈소스컨설팅]유닉스의 리눅스 마이그레이션 전략_v3
[오픈소스컨설팅]유닉스의 리눅스 마이그레이션 전략_v3[오픈소스컨설팅]유닉스의 리눅스 마이그레이션 전략_v3
[오픈소스컨설팅]유닉스의 리눅스 마이그레이션 전략_v3
 
김성윤 - 우분투로 슈퍼컴 만들기 (2011Y03M26D)
김성윤 - 우분투로 슈퍼컴 만들기 (2011Y03M26D)김성윤 - 우분투로 슈퍼컴 만들기 (2011Y03M26D)
김성윤 - 우분투로 슈퍼컴 만들기 (2011Y03M26D)
 

En vedette

[오픈소스컨설팅]RHEL7/CentOS7 Pacemaker기반-HA시스템구성-v1.0
[오픈소스컨설팅]RHEL7/CentOS7 Pacemaker기반-HA시스템구성-v1.0[오픈소스컨설팅]RHEL7/CentOS7 Pacemaker기반-HA시스템구성-v1.0
[오픈소스컨설팅]RHEL7/CentOS7 Pacemaker기반-HA시스템구성-v1.0Ji-Woong Choi
 
[오픈소스컨설팅]스카우터엑스 소개
[오픈소스컨설팅]스카우터엑스 소개[오픈소스컨설팅]스카우터엑스 소개
[오픈소스컨설팅]스카우터엑스 소개Open Source Consulting
 
Your first dive into systemd!
Your first dive into systemd!Your first dive into systemd!
Your first dive into systemd!Etsuji Nakai
 
클라우드 컴퓨팅 기반 기술과 오픈스택(Kvm) 기반 Provisioning
클라우드 컴퓨팅 기반 기술과 오픈스택(Kvm) 기반 Provisioning 클라우드 컴퓨팅 기반 기술과 오픈스택(Kvm) 기반 Provisioning
클라우드 컴퓨팅 기반 기술과 오픈스택(Kvm) 기반 Provisioning Ji-Woong Choi
 
[오픈소스컨설팅] Open Stack Ceph, Neutron, HA, Multi-Region
[오픈소스컨설팅] Open Stack Ceph, Neutron, HA, Multi-Region[오픈소스컨설팅] Open Stack Ceph, Neutron, HA, Multi-Region
[오픈소스컨설팅] Open Stack Ceph, Neutron, HA, Multi-RegionJi-Woong Choi
 
이것이 리눅스다
이것이 리눅스다이것이 리눅스다
이것이 리눅스다Yeon Tae Kim
 
가상서버 세미나
가상서버 세미나가상서버 세미나
가상서버 세미나혜진 이
 
Introduction to systemd
Introduction to systemdIntroduction to systemd
Introduction to systemdYusaku OGAWA
 
Confd, systemd, fleet을 이용한 어플리케이션 배포 in CoreOS
Confd, systemd, fleet을 이용한 어플리케이션 배포 in CoreOSConfd, systemd, fleet을 이용한 어플리케이션 배포 in CoreOS
Confd, systemd, fleet을 이용한 어플리케이션 배포 in CoreOS충섭 김
 
Tensorflow internal
Tensorflow internalTensorflow internal
Tensorflow internalHyunghun Cho
 
The archived Canadian Competitive Intelligence (CI) by Patent Mapping, August...
The archived Canadian Competitive Intelligence (CI) by Patent Mapping, August...The archived Canadian Competitive Intelligence (CI) by Patent Mapping, August...
The archived Canadian Competitive Intelligence (CI) by Patent Mapping, August...Muchiu (Henry) Chang, PhD. Cantab
 
The archived Canadian US Patent Competitive Intelligence Database (2014/11/25)
The archived Canadian US Patent Competitive Intelligence Database (2014/11/25) The archived Canadian US Patent Competitive Intelligence Database (2014/11/25)
The archived Canadian US Patent Competitive Intelligence Database (2014/11/25) Muchiu (Henry) Chang, PhD. Cantab
 
The Archived Canadian US Patent Competitive Intelligence Database (2014/1/21)
The Archived Canadian US Patent Competitive Intelligence Database (2014/1/21) The Archived Canadian US Patent Competitive Intelligence Database (2014/1/21)
The Archived Canadian US Patent Competitive Intelligence Database (2014/1/21) Muchiu (Henry) Chang, PhD. Cantab
 
Presentation1
Presentation1Presentation1
Presentation1kaziomer
 
The archived Canadian US Patent Competitive Intelligence Database (2015/7/21)
The archived Canadian US Patent Competitive Intelligence Database (2015/7/21) The archived Canadian US Patent Competitive Intelligence Database (2015/7/21)
The archived Canadian US Patent Competitive Intelligence Database (2015/7/21) Muchiu (Henry) Chang, PhD. Cantab
 
Presentatie sumoso
Presentatie sumosoPresentatie sumoso
Presentatie sumosoDecofleurs
 
住友スリーエムにおける個人向けガイドラインの策定とその効果
住友スリーエムにおける個人向けガイドラインの策定とその効果住友スリーエムにおける個人向けガイドラインの策定とその効果
住友スリーエムにおける個人向けガイドラインの策定とその効果Akimoto Yoshinobu
 
The archived Canadian Patent Competitive Intelligence (March 8, 2011)
The archived Canadian Patent Competitive Intelligence (March 8, 2011)The archived Canadian Patent Competitive Intelligence (March 8, 2011)
The archived Canadian Patent Competitive Intelligence (March 8, 2011)Muchiu (Henry) Chang, PhD. Cantab
 

En vedette (18)

[오픈소스컨설팅]RHEL7/CentOS7 Pacemaker기반-HA시스템구성-v1.0
[오픈소스컨설팅]RHEL7/CentOS7 Pacemaker기반-HA시스템구성-v1.0[오픈소스컨설팅]RHEL7/CentOS7 Pacemaker기반-HA시스템구성-v1.0
[오픈소스컨설팅]RHEL7/CentOS7 Pacemaker기반-HA시스템구성-v1.0
 
[오픈소스컨설팅]스카우터엑스 소개
[오픈소스컨설팅]스카우터엑스 소개[오픈소스컨설팅]스카우터엑스 소개
[오픈소스컨설팅]스카우터엑스 소개
 
Your first dive into systemd!
Your first dive into systemd!Your first dive into systemd!
Your first dive into systemd!
 
클라우드 컴퓨팅 기반 기술과 오픈스택(Kvm) 기반 Provisioning
클라우드 컴퓨팅 기반 기술과 오픈스택(Kvm) 기반 Provisioning 클라우드 컴퓨팅 기반 기술과 오픈스택(Kvm) 기반 Provisioning
클라우드 컴퓨팅 기반 기술과 오픈스택(Kvm) 기반 Provisioning
 
[오픈소스컨설팅] Open Stack Ceph, Neutron, HA, Multi-Region
[오픈소스컨설팅] Open Stack Ceph, Neutron, HA, Multi-Region[오픈소스컨설팅] Open Stack Ceph, Neutron, HA, Multi-Region
[오픈소스컨설팅] Open Stack Ceph, Neutron, HA, Multi-Region
 
이것이 리눅스다
이것이 리눅스다이것이 리눅스다
이것이 리눅스다
 
가상서버 세미나
가상서버 세미나가상서버 세미나
가상서버 세미나
 
Introduction to systemd
Introduction to systemdIntroduction to systemd
Introduction to systemd
 
Confd, systemd, fleet을 이용한 어플리케이션 배포 in CoreOS
Confd, systemd, fleet을 이용한 어플리케이션 배포 in CoreOSConfd, systemd, fleet을 이용한 어플리케이션 배포 in CoreOS
Confd, systemd, fleet을 이용한 어플리케이션 배포 in CoreOS
 
Tensorflow internal
Tensorflow internalTensorflow internal
Tensorflow internal
 
The archived Canadian Competitive Intelligence (CI) by Patent Mapping, August...
The archived Canadian Competitive Intelligence (CI) by Patent Mapping, August...The archived Canadian Competitive Intelligence (CI) by Patent Mapping, August...
The archived Canadian Competitive Intelligence (CI) by Patent Mapping, August...
 
The archived Canadian US Patent Competitive Intelligence Database (2014/11/25)
The archived Canadian US Patent Competitive Intelligence Database (2014/11/25) The archived Canadian US Patent Competitive Intelligence Database (2014/11/25)
The archived Canadian US Patent Competitive Intelligence Database (2014/11/25)
 
The Archived Canadian US Patent Competitive Intelligence Database (2014/1/21)
The Archived Canadian US Patent Competitive Intelligence Database (2014/1/21) The Archived Canadian US Patent Competitive Intelligence Database (2014/1/21)
The Archived Canadian US Patent Competitive Intelligence Database (2014/1/21)
 
Presentation1
Presentation1Presentation1
Presentation1
 
The archived Canadian US Patent Competitive Intelligence Database (2015/7/21)
The archived Canadian US Patent Competitive Intelligence Database (2015/7/21) The archived Canadian US Patent Competitive Intelligence Database (2015/7/21)
The archived Canadian US Patent Competitive Intelligence Database (2015/7/21)
 
Presentatie sumoso
Presentatie sumosoPresentatie sumoso
Presentatie sumoso
 
住友スリーエムにおける個人向けガイドラインの策定とその効果
住友スリーエムにおける個人向けガイドラインの策定とその効果住友スリーエムにおける個人向けガイドラインの策定とその効果
住友スリーエムにおける個人向けガイドラインの策定とその効果
 
The archived Canadian Patent Competitive Intelligence (March 8, 2011)
The archived Canadian Patent Competitive Intelligence (March 8, 2011)The archived Canadian Patent Competitive Intelligence (March 8, 2011)
The archived Canadian Patent Competitive Intelligence (March 8, 2011)
 

Similaire à [오픈소스컨설팅]About RHEL7 systemd

Systemd
SystemdSystemd
SystemdDataUs
 
[231]나는서버를썰터이니너는개발만하여라 양지욱
[231]나는서버를썰터이니너는개발만하여라 양지욱[231]나는서버를썰터이니너는개발만하여라 양지욱
[231]나는서버를썰터이니너는개발만하여라 양지욱NAVER D2
 
Linux 강의자료 ed10
Linux 강의자료 ed10Linux 강의자료 ed10
Linux 강의자료 ed10hungrok
 
Osc4.x installation v1-upload
Osc4.x installation v1-uploadOsc4.x installation v1-upload
Osc4.x installation v1-uploadDong-Hwa jung
 
제2회 난공불락 오픈소스 인프라 세미나 zinst 관리툴 소개
제2회 난공불락 오픈소스 인프라 세미나 zinst 관리툴 소개제2회 난공불락 오픈소스 인프라 세미나 zinst 관리툴 소개
제2회 난공불락 오픈소스 인프라 세미나 zinst 관리툴 소개Tommy Lee
 
Free rtos seminar
Free rtos seminarFree rtos seminar
Free rtos seminarCho Daniel
 
박진호 - 우분투 부팅 과정에 대한 이야기 (2012Y07M28D)
박진호 - 우분투 부팅 과정에 대한 이야기 (2012Y07M28D)박진호 - 우분투 부팅 과정에 대한 이야기 (2012Y07M28D)
박진호 - 우분투 부팅 과정에 대한 이야기 (2012Y07M28D)Ubuntu Korea Community
 
3. windows system과 rootkit
3. windows system과 rootkit3. windows system과 rootkit
3. windows system과 rootkitYoungjun Chang
 
System Infra와 Recovery 그리고 DevOps
System Infra와 Recovery 그리고 DevOpsSystem Infra와 Recovery 그리고 DevOps
System Infra와 Recovery 그리고 DevOpsJuseok Kim
 
윈도우 커널 익스플로잇
윈도우 커널 익스플로잇윈도우 커널 익스플로잇
윈도우 커널 익스플로잇Seungyong Lee
 
caanoo Device driver
caanoo Device drivercaanoo Device driver
caanoo Device driverjumiss
 
파이썬 병렬프로그래밍
파이썬 병렬프로그래밍파이썬 병렬프로그래밍
파이썬 병렬프로그래밍Yong Joon Moon
 
엘라스틱서치 클러스터로 수십억 건의 데이터 운영하기
엘라스틱서치 클러스터로 수십억 건의 데이터 운영하기엘라스틱서치 클러스터로 수십억 건의 데이터 운영하기
엘라스틱서치 클러스터로 수십억 건의 데이터 운영하기흥래 김
 
[오픈소스컨설팅] SELinux : Stop Disabling SELinux
[오픈소스컨설팅] SELinux : Stop Disabling SELinux[오픈소스컨설팅] SELinux : Stop Disabling SELinux
[오픈소스컨설팅] SELinux : Stop Disabling SELinuxOpen Source Consulting
 
[IoT] MAKE with Open H/W + Node.JS - 2nd
[IoT] MAKE with Open H/W + Node.JS - 2nd[IoT] MAKE with Open H/W + Node.JS - 2nd
[IoT] MAKE with Open H/W + Node.JS - 2ndPark Jonggun
 
RHEL8 Kernel Management Manual in Korean
RHEL8 Kernel Management Manual in KoreanRHEL8 Kernel Management Manual in Korean
RHEL8 Kernel Management Manual in KoreanJun Hee Shin
 
[143] Modern C++ 무조건 써야 해?
[143] Modern C++ 무조건 써야 해?[143] Modern C++ 무조건 써야 해?
[143] Modern C++ 무조건 써야 해?NAVER D2
 

Similaire à [오픈소스컨설팅]About RHEL7 systemd (20)

Systemd
SystemdSystemd
Systemd
 
[231]나는서버를썰터이니너는개발만하여라 양지욱
[231]나는서버를썰터이니너는개발만하여라 양지욱[231]나는서버를썰터이니너는개발만하여라 양지욱
[231]나는서버를썰터이니너는개발만하여라 양지욱
 
Systemd explained
Systemd explainedSystemd explained
Systemd explained
 
Linux 강의자료 ed10
Linux 강의자료 ed10Linux 강의자료 ed10
Linux 강의자료 ed10
 
Osc4.x installation v1-upload
Osc4.x installation v1-uploadOsc4.x installation v1-upload
Osc4.x installation v1-upload
 
제2회 난공불락 오픈소스 인프라 세미나 zinst 관리툴 소개
제2회 난공불락 오픈소스 인프라 세미나 zinst 관리툴 소개제2회 난공불락 오픈소스 인프라 세미나 zinst 관리툴 소개
제2회 난공불락 오픈소스 인프라 세미나 zinst 관리툴 소개
 
Free rtos seminar
Free rtos seminarFree rtos seminar
Free rtos seminar
 
박진호 - 우분투 부팅 과정에 대한 이야기 (2012Y07M28D)
박진호 - 우분투 부팅 과정에 대한 이야기 (2012Y07M28D)박진호 - 우분투 부팅 과정에 대한 이야기 (2012Y07M28D)
박진호 - 우분투 부팅 과정에 대한 이야기 (2012Y07M28D)
 
3. windows system과 rootkit
3. windows system과 rootkit3. windows system과 rootkit
3. windows system과 rootkit
 
System Infra와 Recovery 그리고 DevOps
System Infra와 Recovery 그리고 DevOpsSystem Infra와 Recovery 그리고 DevOps
System Infra와 Recovery 그리고 DevOps
 
Oracle History #8
Oracle History #8Oracle History #8
Oracle History #8
 
윈도우 커널 익스플로잇
윈도우 커널 익스플로잇윈도우 커널 익스플로잇
윈도우 커널 익스플로잇
 
caanoo Device driver
caanoo Device drivercaanoo Device driver
caanoo Device driver
 
파이썬 병렬프로그래밍
파이썬 병렬프로그래밍파이썬 병렬프로그래밍
파이썬 병렬프로그래밍
 
엘라스틱서치 클러스터로 수십억 건의 데이터 운영하기
엘라스틱서치 클러스터로 수십억 건의 데이터 운영하기엘라스틱서치 클러스터로 수십억 건의 데이터 운영하기
엘라스틱서치 클러스터로 수십억 건의 데이터 운영하기
 
[오픈소스컨설팅] SELinux : Stop Disabling SELinux
[오픈소스컨설팅] SELinux : Stop Disabling SELinux[오픈소스컨설팅] SELinux : Stop Disabling SELinux
[오픈소스컨설팅] SELinux : Stop Disabling SELinux
 
[IoT] MAKE with Open H/W + Node.JS - 2nd
[IoT] MAKE with Open H/W + Node.JS - 2nd[IoT] MAKE with Open H/W + Node.JS - 2nd
[IoT] MAKE with Open H/W + Node.JS - 2nd
 
RHEL8 Kernel Management Manual in Korean
RHEL8 Kernel Management Manual in KoreanRHEL8 Kernel Management Manual in Korean
RHEL8 Kernel Management Manual in Korean
 
Eclipse RCP 1/2
Eclipse RCP 1/2Eclipse RCP 1/2
Eclipse RCP 1/2
 
[143] Modern C++ 무조건 써야 해?
[143] Modern C++ 무조건 써야 해?[143] Modern C++ 무조건 써야 해?
[143] Modern C++ 무조건 써야 해?
 

Plus de Ji-Woong Choi

[오픈소스컨설팅] 오픈소스 기반 솔루션 방향성 잡기
[오픈소스컨설팅] 오픈소스 기반 솔루션 방향성 잡기[오픈소스컨설팅] 오픈소스 기반 솔루션 방향성 잡기
[오픈소스컨설팅] 오픈소스 기반 솔루션 방향성 잡기Ji-Woong Choi
 
[오픈소스컨설팅] 스카우터 사용자 가이드 2020
[오픈소스컨설팅] 스카우터 사용자 가이드 2020[오픈소스컨설팅] 스카우터 사용자 가이드 2020
[오픈소스컨설팅] 스카우터 사용자 가이드 2020Ji-Woong Choi
 
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축Ji-Woong Choi
 
[오픈소스컨설팅] 프로메테우스 모니터링 살펴보고 구성하기
[오픈소스컨설팅] 프로메테우스 모니터링 살펴보고 구성하기[오픈소스컨설팅] 프로메테우스 모니터링 살펴보고 구성하기
[오픈소스컨설팅] 프로메테우스 모니터링 살펴보고 구성하기Ji-Woong Choi
 
[오픈소스컨설팅] Ansible을 활용한 운영 자동화 교육
[오픈소스컨설팅] Ansible을 활용한 운영 자동화 교육[오픈소스컨설팅] Ansible을 활용한 운영 자동화 교육
[오픈소스컨설팅] Ansible을 활용한 운영 자동화 교육Ji-Woong Choi
 
[오픈소스컨설팅] 2019년 클라우드 생존전략
[오픈소스컨설팅] 2019년 클라우드 생존전략[오픈소스컨설팅] 2019년 클라우드 생존전략
[오픈소스컨설팅] 2019년 클라우드 생존전략Ji-Woong Choi
 
[오픈소스컨설팅] AWS re:Invent 2018 기계학습(ML)부분 후기
[오픈소스컨설팅] AWS re:Invent 2018 기계학습(ML)부분 후기[오픈소스컨설팅] AWS re:Invent 2018 기계학습(ML)부분 후기
[오픈소스컨설팅] AWS re:Invent 2018 기계학습(ML)부분 후기Ji-Woong Choi
 
[오픈소스컨설팅]Docker기초 실습 교육 20181113_v3
[오픈소스컨설팅]Docker기초 실습 교육 20181113_v3[오픈소스컨설팅]Docker기초 실습 교육 20181113_v3
[오픈소스컨설팅]Docker기초 실습 교육 20181113_v3Ji-Woong Choi
 
[오픈소스컨설팅] 아파치톰캣 운영가이드 v1.3
[오픈소스컨설팅] 아파치톰캣 운영가이드 v1.3[오픈소스컨설팅] 아파치톰캣 운영가이드 v1.3
[오픈소스컨설팅] 아파치톰캣 운영가이드 v1.3Ji-Woong Choi
 
[오픈소스컨설팅]ELK기반 장애예방시스템_구성_2016.12
[오픈소스컨설팅]ELK기반 장애예방시스템_구성_2016.12[오픈소스컨설팅]ELK기반 장애예방시스템_구성_2016.12
[오픈소스컨설팅]ELK기반 장애예방시스템_구성_2016.12Ji-Woong Choi
 
[오픈소스컨설팅] Docker를 활용한 Gitlab CI/CD 구성 테스트
[오픈소스컨설팅] Docker를 활용한 Gitlab CI/CD 구성 테스트[오픈소스컨설팅] Docker를 활용한 Gitlab CI/CD 구성 테스트
[오픈소스컨설팅] Docker를 활용한 Gitlab CI/CD 구성 테스트Ji-Woong Choi
 
[오픈소스컨설팅]클라우드기반U2L마이그레이션 전략 및 고려사항
[오픈소스컨설팅]클라우드기반U2L마이그레이션 전략 및 고려사항[오픈소스컨설팅]클라우드기반U2L마이그레이션 전략 및 고려사항
[오픈소스컨설팅]클라우드기반U2L마이그레이션 전략 및 고려사항Ji-Woong Choi
 
OpenStack Summit 2017 참석후기
OpenStack Summit 2017 참석후기OpenStack Summit 2017 참석후기
OpenStack Summit 2017 참석후기Ji-Woong Choi
 
[오픈소스컨설팅]Docker on Kubernetes v1
[오픈소스컨설팅]Docker on Kubernetes v1[오픈소스컨설팅]Docker on Kubernetes v1
[오픈소스컨설팅]Docker on Kubernetes v1Ji-Woong Choi
 
Docker Setting for Static IP allocation
Docker Setting for Static IP allocationDocker Setting for Static IP allocation
Docker Setting for Static IP allocationJi-Woong Choi
 
[오픈소스컨설팅]Atlassian JIRA Quick Guide
[오픈소스컨설팅]Atlassian JIRA Quick Guide[오픈소스컨설팅]Atlassian JIRA Quick Guide
[오픈소스컨설팅]Atlassian JIRA Quick GuideJi-Woong Choi
 
[오픈소스컨설팅]Scouter 설치 및 사용가이드(JBoss)
[오픈소스컨설팅]Scouter 설치 및 사용가이드(JBoss)[오픈소스컨설팅]Scouter 설치 및 사용가이드(JBoss)
[오픈소스컨설팅]Scouter 설치 및 사용가이드(JBoss)Ji-Woong Choi
 
[오픈소스컨설팅 뉴스레터] 2016년 1분기
[오픈소스컨설팅 뉴스레터] 2016년 1분기[오픈소스컨설팅 뉴스레터] 2016년 1분기
[오픈소스컨설팅 뉴스레터] 2016년 1분기Ji-Woong Choi
 
OpenStack 인스턴스 간략 사용자_매뉴얼(liberty)_v1
OpenStack 인스턴스 간략 사용자_매뉴얼(liberty)_v1OpenStack 인스턴스 간략 사용자_매뉴얼(liberty)_v1
OpenStack 인스턴스 간략 사용자_매뉴얼(liberty)_v1Ji-Woong Choi
 
[오픈소스컨설팅]Atlassian JIRA Deep Dive
[오픈소스컨설팅]Atlassian JIRA Deep Dive[오픈소스컨설팅]Atlassian JIRA Deep Dive
[오픈소스컨설팅]Atlassian JIRA Deep DiveJi-Woong Choi
 

Plus de Ji-Woong Choi (20)

[오픈소스컨설팅] 오픈소스 기반 솔루션 방향성 잡기
[오픈소스컨설팅] 오픈소스 기반 솔루션 방향성 잡기[오픈소스컨설팅] 오픈소스 기반 솔루션 방향성 잡기
[오픈소스컨설팅] 오픈소스 기반 솔루션 방향성 잡기
 
[오픈소스컨설팅] 스카우터 사용자 가이드 2020
[오픈소스컨설팅] 스카우터 사용자 가이드 2020[오픈소스컨설팅] 스카우터 사용자 가이드 2020
[오픈소스컨설팅] 스카우터 사용자 가이드 2020
 
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
 
[오픈소스컨설팅] 프로메테우스 모니터링 살펴보고 구성하기
[오픈소스컨설팅] 프로메테우스 모니터링 살펴보고 구성하기[오픈소스컨설팅] 프로메테우스 모니터링 살펴보고 구성하기
[오픈소스컨설팅] 프로메테우스 모니터링 살펴보고 구성하기
 
[오픈소스컨설팅] Ansible을 활용한 운영 자동화 교육
[오픈소스컨설팅] Ansible을 활용한 운영 자동화 교육[오픈소스컨설팅] Ansible을 활용한 운영 자동화 교육
[오픈소스컨설팅] Ansible을 활용한 운영 자동화 교육
 
[오픈소스컨설팅] 2019년 클라우드 생존전략
[오픈소스컨설팅] 2019년 클라우드 생존전략[오픈소스컨설팅] 2019년 클라우드 생존전략
[오픈소스컨설팅] 2019년 클라우드 생존전략
 
[오픈소스컨설팅] AWS re:Invent 2018 기계학습(ML)부분 후기
[오픈소스컨설팅] AWS re:Invent 2018 기계학습(ML)부분 후기[오픈소스컨설팅] AWS re:Invent 2018 기계학습(ML)부분 후기
[오픈소스컨설팅] AWS re:Invent 2018 기계학습(ML)부분 후기
 
[오픈소스컨설팅]Docker기초 실습 교육 20181113_v3
[오픈소스컨설팅]Docker기초 실습 교육 20181113_v3[오픈소스컨설팅]Docker기초 실습 교육 20181113_v3
[오픈소스컨설팅]Docker기초 실습 교육 20181113_v3
 
[오픈소스컨설팅] 아파치톰캣 운영가이드 v1.3
[오픈소스컨설팅] 아파치톰캣 운영가이드 v1.3[오픈소스컨설팅] 아파치톰캣 운영가이드 v1.3
[오픈소스컨설팅] 아파치톰캣 운영가이드 v1.3
 
[오픈소스컨설팅]ELK기반 장애예방시스템_구성_2016.12
[오픈소스컨설팅]ELK기반 장애예방시스템_구성_2016.12[오픈소스컨설팅]ELK기반 장애예방시스템_구성_2016.12
[오픈소스컨설팅]ELK기반 장애예방시스템_구성_2016.12
 
[오픈소스컨설팅] Docker를 활용한 Gitlab CI/CD 구성 테스트
[오픈소스컨설팅] Docker를 활용한 Gitlab CI/CD 구성 테스트[오픈소스컨설팅] Docker를 활용한 Gitlab CI/CD 구성 테스트
[오픈소스컨설팅] Docker를 활용한 Gitlab CI/CD 구성 테스트
 
[오픈소스컨설팅]클라우드기반U2L마이그레이션 전략 및 고려사항
[오픈소스컨설팅]클라우드기반U2L마이그레이션 전략 및 고려사항[오픈소스컨설팅]클라우드기반U2L마이그레이션 전략 및 고려사항
[오픈소스컨설팅]클라우드기반U2L마이그레이션 전략 및 고려사항
 
OpenStack Summit 2017 참석후기
OpenStack Summit 2017 참석후기OpenStack Summit 2017 참석후기
OpenStack Summit 2017 참석후기
 
[오픈소스컨설팅]Docker on Kubernetes v1
[오픈소스컨설팅]Docker on Kubernetes v1[오픈소스컨설팅]Docker on Kubernetes v1
[오픈소스컨설팅]Docker on Kubernetes v1
 
Docker Setting for Static IP allocation
Docker Setting for Static IP allocationDocker Setting for Static IP allocation
Docker Setting for Static IP allocation
 
[오픈소스컨설팅]Atlassian JIRA Quick Guide
[오픈소스컨설팅]Atlassian JIRA Quick Guide[오픈소스컨설팅]Atlassian JIRA Quick Guide
[오픈소스컨설팅]Atlassian JIRA Quick Guide
 
[오픈소스컨설팅]Scouter 설치 및 사용가이드(JBoss)
[오픈소스컨설팅]Scouter 설치 및 사용가이드(JBoss)[오픈소스컨설팅]Scouter 설치 및 사용가이드(JBoss)
[오픈소스컨설팅]Scouter 설치 및 사용가이드(JBoss)
 
[오픈소스컨설팅 뉴스레터] 2016년 1분기
[오픈소스컨설팅 뉴스레터] 2016년 1분기[오픈소스컨설팅 뉴스레터] 2016년 1분기
[오픈소스컨설팅 뉴스레터] 2016년 1분기
 
OpenStack 인스턴스 간략 사용자_매뉴얼(liberty)_v1
OpenStack 인스턴스 간략 사용자_매뉴얼(liberty)_v1OpenStack 인스턴스 간략 사용자_매뉴얼(liberty)_v1
OpenStack 인스턴스 간략 사용자_매뉴얼(liberty)_v1
 
[오픈소스컨설팅]Atlassian JIRA Deep Dive
[오픈소스컨설팅]Atlassian JIRA Deep Dive[오픈소스컨설팅]Atlassian JIRA Deep Dive
[오픈소스컨설팅]Atlassian JIRA Deep Dive
 

[오픈소스컨설팅]About RHEL7 systemd

  • 1. 2014. 07. 21 RHEL 7 (About systemd) 주식회사 오픈소스컨설팅
  • 2. 2 - Internal Use Only - Who am I? 전갑일(kjeon at osci.kr) 오픈소스컨설팅 IT 인프라 서비스팀 엔지니어 리눅스를 평정하는 그 날까지 정진 또 정진~!
  • 3. 3 - Internal Use Only - SysVinit & Upstarts Review Linux System Boot Process(1) 1. System Bios read GRUB 2. GRUB display kernel select & excution 3. Kernel extracts contents of initrd(init script) into RAM disk area
  • 4. 4 - Internal Use Only - SysVinit & Upstarts Review Linux System Boot Process(2) <Init script의 역할> 1. 메모리에 장치 드라이버들을 load 및 root file system의 mount 2. /sbin/init 프로세스 실행 /sbin/init은 기존의 초기화시스템인 SysVinit과 Upstart의 main body이며, 새로 바뀔 Systemd의 /usr/bin/systemd 와 같은 역할을 함.
  • 5. 5 - Internal Use Only - SysVinit & Upstarts Review Upstarts 동작과정 1. /sbin/init은 RHEL5 에서는 SysVinit, RHEL6에선 upstart라 불리는 작업관리 시스템의 기초 2. /sbin/init에 의해 runlevel별로 실행하며, runlevel5일경우와 아닐경우를 분류해 실행. 3. 초기과정이 미세하게 나뉘긴 하였으나 RHEL5와 거의 흡사. 4. prefdm은 init 5의 GUI환경일 경우 Xwindow부팅을 가능케 함
  • 6. 6 - Internal Use Only - SysVinit & Upstarts Review RHEL5 & RHEL6 (/etc/inittab) RHEL5 RHEL6
  • 7. 7 - Internal Use Only - Objectives of systemd systemd의 목적 목적 상세내용 시스템의 기동시간 감소 쉘스크립트는 시리얼 오더에 있는 명령을 실행하는데 이는 멀티코어프로세스를 사용하는 최근 환경 에선 비효율적임. 따라서 스크립트 내의 다양한 업무가 분할되어 평행하게 실행될 수 있다면 시스템의 기동시간을 감소 시킬 수 있을 것. (병행성의 증대) 시스템 환경설정변화의 제어 시스템의 기동시간 뿐 아니라 시스템 환경설정이 변경 시 서비스들또한 start/stop이 유동적으로 변경되는 것이 필요 프로세스 shutdown에 대한 표준 제공 기존의 서비스스크립트에는 프로세스를 중단하는 표준적인 방법이 없었으며, Systemd는 forked daemons를 스스로 찾아낼 수 있도록 표준적인 방법을 제공해야 함. 프로세스 실행환경에 대한 제어 프로세스 실행환경, 즉 자원관리를 위한 cgroup과 디렉토리들에 대한 접근제어등에 관하여 Systemd 가 중앙집중적으로 관리해야 함.
  • 8. 8 - Internal Use Only - Minimum execution unit of systemd systemd의 최소 실행단위 1. SysVinit에 있던 다양한 시스템 초기화 스크립트들이 여러 개로 추출되어 독립된 유닛들로 정의됨. 2. 남아있는 몇몇의 /etc/init.d/<service명> start등의 명령어 사용시 기동하긴 하지만 Via systemctl 이 출력되며 실질적으로 systemctl에 의해 동작함을 명시함.
  • 9. 9 - Internal Use Only - Minimum execution unit of systemd systemd의 최소 실행단위 (/etc/rc.d내의 파일비교) RHEL5 RHEL6
  • 10. 10 - Internal Use Only - Unit types 주요 유닛의 타입분류 분류 상세내용 Service type .service의 확장명을 지니며, 이것이 활성화 되면 연관된 daemon이 시작 Target Type .target의 확장명을 지니며, 아무 것도 하지 않음. 이 유닛은 어떠한 다른 관계들이 정의 될 때 때에 맞춰 동기화 되는 것을 제공하거나 유닛 간의 의존성을 정의 Swap area Type .swap의 확장명을 지니며, 활성화 시 연관된 swap area가 enabled됨 Device Type .device의 확장명을 지니며, udev가 새로운 장치를 인식하면, 관련된 유닛들이 정의되고 자동적으로 활성화됨 1. 유닛은 다양한 타입들을 가지고 있으며, 확장자명을 통해 알 수 있음. 2. 몇몇 유닛들은 자동으로 생성되기에 모든 유닛에 대해 일일이 정의할 필요는 없음. 3. Service와 Target은 직접 설정이 필요하며, Mount와 Swap은 /etc/fstab에 의해, Device는 udev에 의해 자동으로 설정됨.
  • 11. 11 - Internal Use Only - Location of unit configuration files 유닛설정파일들의 위치 1. /etc/systemd/system (어드민 커스터마이징 파일들이 위치) 2. /usr/lib/systemd/sytem (rpm패키지에 의해 설치된 디폴트 시스템파일들이 위치) 1. 기본적으로 설정파일들은 위의 두 위치에 존재하며, 설정파일의 이름은 유닛의 이름과 일치함. 2. 중요한 점은 각각의 장소에 같은 이름을 가진 설정파일이 있다면 /etc/systemd/system의 파일이 실행되며, /usr/lib/systemd/system의 파일은 무시된다. 따라서 만약 디폴트 설정의 변경을 원할 시 /usr~/system의 파일을 /etc~/system으로 복사하여 복사본을 변경해야함.
  • 12. 12 - Internal Use Only - Basic unit operations 기본적인 유닛 동작방법 추가로 service startup scripts의 비정규 옵션들은 systemd에서는 사용하지 못하며, 위와 같은 메시지를 출력. 분류 상세 systemctl enable/disable <unit명> 자동시작될 유닛들을 지정가능 systemctl start/stop/restart <unit명> 유닛의 start/stop/restart기능. (reload옵션의 경우 해당유닛이 설정파일에 ExecReload 옵션을 가졌을 경우에만 가능) systemctl status <unit명> 해당하는 유닛의 현재 동작상태를 출력 systemctl daemon-reload systemd가 새로 추가된, 혹은 변경된 유닛들에 대해 scan
  • 13. 13 - Internal Use Only - Unit dependencies and orders 유닛의 Dependencies와 Orders 1. 유닛간의 관계에 Dependency와 Order의 두 가지 종류가 존재. 2. Dependency는 어떤 유닛 A가 활성화 시 유닛B도 같이 되어야 함을 의미하며 Order는 어떤 유닛 A는 반드시 유닛 B 이후에 활성화 되어야 함을 의미함. 3. 기동 시에 systemd는 default.target을 활성화 시키며 이 때 default.target의 의존성에 걸려있는 모든 유닛들이 같이 활성화 됨. (Dependency)
  • 14. 14 - Internal Use Only - Unit dependencies and orders 주요 dependencies (의존성 트리) 대표적인 dependencies의 예시이며, 예를들어 default.target의 경우 gui환경으로 설치 시에 graphical.target에 심볼릭링크가 되어있는데 이것을 multi- user.target으로 심볼릭링크로 바꾸고 재부팅하면 runlevel3의 multiuser환경으로 접속됨. 즉, default.target을 바꾸는 것은 runlevel의 변경과 같은 의미를 지님.
  • 15. 15 - Internal Use Only - Unit dependencies and orders Default.target을 통한 runlevel 변경 Runlevel 변경
  • 16. 16 - Internal Use Only - Unit dependencies and orders Dependency와 order의 정의(1) 1. 기동 시에 systemd는 모든 유닛들에 대해서 해당 유닛들이 가진 dependency를 검토하여 동시에 활성화 시키는 것을 시도함. 2. Dependency는 requires와 wants로 정의됨. requires: 앞서 실행되어야 할 유닛이 기동에 실패했을 경우, 해당 유닛도 실행하지 말 것. wants: 앞서 실행되어야 할 유닛이 기동에 실패하더라도, 해당유닛은 어떻게든 실행할 것. 3. 추가로 confilcts옵션을 통해 동시에 활성화되지 말아야 할 유닛을 지정할 수 있음.
  • 17. 17 - Internal Use Only - Unit dependencies and orders Dependency와 order의 정의(2) 1. 유닛명.want의 디렉토리들은 서비스들의 자동시작설정파일들을 가지고 있음. (즉, wants디렉토리는 systemctl enable/disable에 따라 자동시작될 서비스의 심볼릭링크의 등록/해제가 되는 곳) 2. 위의 명령이 실행될 때 want디렉토리엔 wanted by 옵션을 통해 해당 서비스의 심볼릭 링크가생성됨.
  • 18. 18 - Internal Use Only - Unit dependencies and orders Dependency와 order의 정의(3) 1. Order는 before와 after로 정의됨. 2. Before는 해당 유닛이 A, B, C유닛의 실행 전에 실행되어야함을 의미하며, After는 해당유닛이 A, B, C 유닛의 실행 후에 실행되어야함을 의미함. 3. Target 유닛은 여러 유닛들에 대한 동기화 지점으로 정의됨. (중간지점)
  • 19. 19 - Internal Use Only - Unit dependencies and orders Dependency와 order의 정의(4) 1. systemctl list-dependencies <unit명> 명령으로 dependency와 order들을 확인 가능. 2. basic.target에 대한 before명령 실행 시 해당 화면과 같이 basic.target이 multi- user.target보다 먼저 실행되어야함을 알 수 있음. systemctl list-dependencies basic.target –before --all 실행
  • 20. 20 - Internal Use Only - Listing units 유닛 리스트출력 systemctl list-unit-files --type=service 와 같이 –type옵 션을 통해 해당하는 타입들만 출력하는 것이 가능. 이것은 RHEL6의 chkconfig –list와 비슷한데 이것을 7에서 실행할 경우 위와 같이 systemctl list-unit-files를 사용권장하는 메시지를 확인가능. 분류 상세 systemctl list-unit-files 모든 정의된 유닛들과 그 상태들을 출력 systemctl list-units 현재 동작중인, 혹은 동작해야될 유닛들과 그 상태들을 출력
  • 21. 21 - Internal Use Only - Listing cgroups croups 관련내용 출력 위와같이 systemd-cgtop 명령을 실행할 시 프로세스의 cpu 점유율 등과 같은 정보를 출력 가능 분류 상세 systemd-cgls cgoups의 group tree를 출력 systemd-cgtop 그룹이 사용하는 자원에 대해 실시간으로 출력
  • 22. 22 - Internal Use Only - Sending signal to process groups 프로세스 kill killall이 먹히지않는, 예를 들어 postfix.service의 경우 systemctl kill –s9 postfix.service로 postfix.service에 해당하는 모든 프로세스를 종료가능하며 이 메커니즘은 systemctl stop 에도 적용됨. (즉, systemd가 순차적으로 설정파일에게 ExecStop, SIGTERM, SIGKILL명령을 차례로 보내는 원리를 따름) 분류 상세 kill -9 <pid> killall <프로세스명> RHEL6에서 사용하던대로 사용가능. (ps –ef옵션검색) systemctl kill –s9 <프로세스명> 같은 croup에 포함되는 모든 프로세스를 동시에 종료가능.
  • 23. 23 - Internal Use Only - Log management mechanism of systemd systemd에서의 로그관리 1. 기존의 /var/log/에서 여전히 로그파일들을 확인이 가능함. 2. 추가된 journalctl 명령어를 통해 확인이 가능 3. 그림의 /run/systemd/journal/syslog를 RHEL7에서는 rsyslog가 읽을 필요가 없는데 이는 최근버전의 rsyslog가 journald database에 imjournal모듈을 통해 직접접근하기 때문이며, RHEL7에서는 imjournal모듈을 default로 사용하기 때문
  • 24. 24 - Internal Use Only - Log management mechanism of systemd journalctl의 옵션 옵션 상세 journalctl –u <unit명> 해당 유닛과 관련된 로그메세지 출력 journalctl -b 마지막 system boot이후 로그메세지 출력 journalctl -f tail –f 옵션 (마지막10줄 출력) journalctl -a 긴 메시지를 삭제없이 출력 journalctl --no-pager more옵션 사용없이 출력 journalctl --since=“YYYY-MM-DD hh:mm:ss” 해당날짜/시각 부터의 로그 출력 journalctl --until=“YYYY-MM-DD hh:mm:ss” 해당날짜/시각 까지의 로그 출력
  • 25. 25 - Internal Use Only - Disabled with masking mask옵션으로 서비스 활성화 금지 1. mask 사용 시 systemctl로 해당 서비스를 실행 불가능 2. 이미 실행되고 있는 서비스를 masking해도 종료시키지는 않음 3. masking 시의 /etc/systemd/system 상태
  • 26. 26 - Internal Use Only - Reference Your first dive into systemd http://www.slideshare.net/enakai/systemd-study-v14e