SlideShare a Scribd company logo
Submit Search
Upload
Login
Signup
Hello, systemd
Report
Emma Haruka Iwao
Follow
Developer Advocate
Jul. 24, 2014
•
0 likes
•
35,158 views
1
of
17
Hello, systemd
Jul. 24, 2014
•
0 likes
•
35,158 views
Download Now
Download to read offline
Report
Engineering
Systemd を使うと何がうれしいのかについて説明しています。
Emma Haruka Iwao
Follow
Developer Advocate
Recommended
systemdを始めよう
Preferred Networks
12.5K views
•
23 slides
initとプロセス再起動
Takashi Takizawa
49.1K views
•
29 slides
Systemd入門
Takuya Itou
1.1K views
•
12 slides
initramfsについて
Kazuhiro Nishiyama
14.2K views
•
53 slides
PFIセミナーH271022 ~コマンドを叩いて遊ぶ コンテナ仮想、その裏側~
Preferred Networks
12.6K views
•
32 slides
Introduction to Initramfs - Initramfs-tools and Dracut
Taisuke Yamada
3.3K views
•
20 slides
More Related Content
What's hot
systemdでよく使うサブコマンド
Kazuhiro Nishiyama
757 views
•
8 slides
Open vSwitchソースコードの全体像
Sho Shimizu
10.2K views
•
54 slides
Cent OS7 and RHELl7 update
Kazumi Hirose
948 views
•
23 slides
Lxc cf201207-presen
Kouhei Maeda
1.3K views
•
25 slides
Ylug 110th kpatch code reading
Masami Hiramatsu
3.2K views
•
23 slides
MINCS – containers in the shell script
Masami Hiramatsu
6.1K views
•
39 slides
What's hot
(20)
systemdでよく使うサブコマンド
Kazuhiro Nishiyama
•
757 views
Open vSwitchソースコードの全体像
Sho Shimizu
•
10.2K views
Cent OS7 and RHELl7 update
Kazumi Hirose
•
948 views
Lxc cf201207-presen
Kouhei Maeda
•
1.3K views
Ylug 110th kpatch code reading
Masami Hiramatsu
•
3.2K views
MINCS – containers in the shell script
Masami Hiramatsu
•
6.1K views
Ubuntuとコンテナ技術 What is LXD? and Why? 2015-12-08
Nobuto Murata
•
2.4K views
Mincs 日本語版
Masami Hiramatsu
•
2K views
Using rump on NetBSD 7.0
Masaru Oki
•
1.9K views
ネットワークエンジニアのための Puppet / Chef
npsg
•
8.1K views
CloudFoundry 2 on Apache CloudStack 4.2.1
Kotaro Noyama
•
453 views
systemd 再入門
Kazuhiro Nishiyama
•
430 views
Fabricでサーバー管理をDRYにしよう
max747
•
10.7K views
“bcache”を使ってSSDの速さと HDDの大容量のいいとこどり 2015-12-12
Nobuto Murata
•
6.3K views
パケットジェネレータipgenから見るnetmap
furandon_pig
•
5.6K views
プロセスとコンテキストスイッチ
Kazuki Onishi
•
3K views
RでGPU使ってみた
Kazuya Wada
•
16.1K views
Puppetのススメ
Gosuke Miyashita
•
22.8K views
ポリドックにServerspecを教えよう!
ftnk
•
1.5K views
Pacemaker+DRBDでHAクラスタを作る
Tsubasa Nomura
•
1.5K views
Viewers also liked
覚えておきたい! zypper コマンドの使い方
Fuminobu Takeyama
8.9K views
•
34 slides
systemdいろいろ(書きかけ)
Moriwaka Kazuo
6.5K views
•
32 slides
.NET Micro Framework で IoT
Yoshitaka Seo
1.8K views
•
20 slides
WindowsでMySQL入門
Hidenori Ishii
12.7K views
•
43 slides
OpenStackをさらに”使う”技術 概要と基礎操作
irix_jp
5.5K views
•
84 slides
PG-REXで学ぶPacemaker運用の実例
kazuhcurry
14.7K views
•
91 slides
Viewers also liked
(20)
覚えておきたい! zypper コマンドの使い方
Fuminobu Takeyama
•
8.9K views
systemdいろいろ(書きかけ)
Moriwaka Kazuo
•
6.5K views
.NET Micro Framework で IoT
Yoshitaka Seo
•
1.8K views
WindowsでMySQL入門
Hidenori Ishii
•
12.7K views
OpenStackをさらに”使う”技術 概要と基礎操作
irix_jp
•
5.5K views
PG-REXで学ぶPacemaker運用の実例
kazuhcurry
•
14.7K views
MySQLはじめの第一歩
MKT International Inc.
•
45.9K views
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Masahiro Nagano
•
32.9K views
Rails SQL Injection Examplesの紹介
Hiroshi Tokumaru
•
14.2K views
テストコード入門
小川 昌吾
•
25K views
Hokkaido.cap #osc11do Wiresharkを使いこなそう!
Panda Yamaki
•
33.2K views
ゲームの中の人工知能
Youichiro Miyake
•
44.6K views
PacemakerのMaster/Slave構成の基本と事例紹介(DRBD、PostgreSQLレプリケーション) @Open Source Confer...
Tatsuya Watanabe
•
29.8K views
Mysql toranomaki
Mikiya Okuno
•
22.3K views
C#/.NETがやっていること 第二版
信之 岩永
•
39.4K views
MySQL入門
小川 昌吾
•
2.4K views
文字コードの脆弱性はこの3年間でどの程度対策されたか?
Hiroshi Tokumaru
•
32.7K views
Where狙いのキー、order by狙いのキー
yoku0825
•
39K views
安全なPHPアプリケーションの作り方2014
Hiroshi Tokumaru
•
55.3K views
Bitcoinを技術的に理解する
Kenji Urushima
•
131.5K views
Similar to Hello, systemd
2012/03/31 Apacheスタートスクリプト読書会発表資料
Yasutaka Hamada
1.3K views
•
18 slides
Serfが面白いと俺の中で話題にwwwwww 【改訂版】
Masahito Zembutsu
14.8K views
•
121 slides
etckeeperをopenSUSEの公式リポジトリに入れたいぞ! Ver.2
Mitsutoshi Nakano
1.2K views
•
34 slides
FreeBSDで行こう for small server
Tatsumi Naganuma
2.5K views
•
24 slides
Ubuntuで始めるコンテナ技術入門
Takenori Matsumoto
1.1K views
•
66 slides
Osc10do linux nextstep
smokey monkey
1K views
•
30 slides
Similar to Hello, systemd
(9)
2012/03/31 Apacheスタートスクリプト読書会発表資料
Yasutaka Hamada
•
1.3K views
Serfが面白いと俺の中で話題にwwwwww 【改訂版】
Masahito Zembutsu
•
14.8K views
etckeeperをopenSUSEの公式リポジトリに入れたいぞ! Ver.2
Mitsutoshi Nakano
•
1.2K views
FreeBSDで行こう for small server
Tatsumi Naganuma
•
2.5K views
Ubuntuで始めるコンテナ技術入門
Takenori Matsumoto
•
1.1K views
Osc10do linux nextstep
smokey monkey
•
1K views
Functions
do_aki
•
1.5K views
20apr2012 kernelvm7-main
Shotaro Uchida
•
2.4K views
[JANOG35.5] WhiteBox SW検証 ~サーバサイド編~
gree_tech
•
2.3K views
More from Emma Haruka Iwao
Friction Logging and Internal Advocacy, DevRel/Asia 2020
Emma Haruka Iwao
363 views
•
20 slides
Woman Tech Terrace 2020 Keynote - 夢を持ち続ける
Emma Haruka Iwao
457 views
•
29 slides
Google Cloud 一般公開データセット
Emma Haruka Iwao
784 views
•
19 slides
Favorite English YouTube Channels
Emma Haruka Iwao
1.7K views
•
18 slides
Docker事始めと最新動向 2015年6月
Emma Haruka Iwao
5K views
•
54 slides
CephとGluster次期バージョンでの新機能
Emma Haruka Iwao
7.6K views
•
35 slides
More from Emma Haruka Iwao
(20)
Friction Logging and Internal Advocacy, DevRel/Asia 2020
Emma Haruka Iwao
•
363 views
Woman Tech Terrace 2020 Keynote - 夢を持ち続ける
Emma Haruka Iwao
•
457 views
Google Cloud 一般公開データセット
Emma Haruka Iwao
•
784 views
Favorite English YouTube Channels
Emma Haruka Iwao
•
1.7K views
Docker事始めと最新動向 2015年6月
Emma Haruka Iwao
•
5K views
CephとGluster次期バージョンでの新機能
Emma Haruka Iwao
•
7.6K views
Git for Begineers GitHub ハンズオン
Emma Haruka Iwao
•
12.5K views
Docker, Kubernetes and OpenShift v3
Emma Haruka Iwao
•
5K views
Dockerイメージ構築 実践テクニック
Emma Haruka Iwao
•
23K views
Storage by Red Hat #rhcpday 2015
Emma Haruka Iwao
•
4K views
Docker向けOSとか[LT] @ #techgirl 2015/01
Emma Haruka Iwao
•
5K views
Docker on RHEL & Project Atomic 入門 - #Dockerjp 4
Emma Haruka Iwao
•
36.9K views
RHEL, CentOS 7 に移行しよう! LT
Emma Haruka Iwao
•
16.3K views
分散ストレージ技術Cephの最新情報
Emma Haruka Iwao
•
16.5K views
DockerをRed Hatはどのように見ているのか
Emma Haruka Iwao
•
9.6K views
初心者が Python で戸惑ったところ
Emma Haruka Iwao
•
4.1K views
Ceph Loves OpenStack: Why and How
Emma Haruka Iwao
•
2.3K views
Rails Girls: Not Only for Girls - RubyKaigi 2014
Emma Haruka Iwao
•
20.8K views
AWS VM import / export ハンズオン
Emma Haruka Iwao
•
7.7K views
私がCephを好きな7つの理由
Emma Haruka Iwao
•
5.1K views
Hello, systemd
1.
Hello, systemd! Haruka Iwao 2014/07/24
2.
自己紹介 • 岩尾 はるか(@Yuryu) •
恵比寿方面から来ました – 発表は個人の見解です(お約束) – 担当はストレージです(GlusterFS, Ceph) • クックパッドプレミアム会員です
3.
Hello, systemd! • Systemd
がやってきた • RHEL 7, CentOS 7, Fedora に採用 • DebianとUbuntuも将来は採用 – たぶんGentoo以外みんなsystemd • SysV Initとupstart、今までありがとう
4.
Systemdとは • PID 1
を置き換える新しいデーモン • すべてのプロセスの親 – Systemd自体はカーネルにより直接起動される • 今までより担当範囲が広くなった • 後方互換性はほとんど無い
5.
追加されたコマンド • systemctl – service
コマンドに相当 – systemctl <コマンド> <サービス名> • journalctl – ログを表示(syslogの代わり) • systemd-* – いっぱいあるけどとりあえず気にしない
6.
何がうれしいの? • init はサービスと点で接していた –
起動とシグナル送信だけに責任を持つ • systemd はサービスの一生を監視 – 起動前から終了後まですべてに責任を持つ – cgroup によるリソースの分離 • 「unit」単位でシステムを抽象化 • シェルスクリプトからの解放 • 高速化、柔軟性、etc
7.
サービスの一生を監視 • init で起動した後SIGKILL送るとどうなる? –
例) Apacheの親プロセスだけSIGKILL • 従来のinitは知らぬ存ぜぬ • systemdはちゃんと見ている
8.
SIGKILLしたらどうなるか # systemctl status
httpd httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled) Active: active (running) since Thu 2014-07-24 03:57:50 JST; 1min 21s ago Main PID: 1311 (httpd) Status: "Total requests: 0; Current requests/sec: 0; Current traffic: 0 B/sec" CGroup: /system.slice/httpd.service ├─1311 /usr/sbin/httpd -DFOREGROUND ├─1451 /usr/sbin/httpd -DFOREGROUND ├─1452 /usr/sbin/httpd -DFOREGROUND ├─1453 /usr/sbin/httpd -DFOREGROUND ├─1455 /usr/sbin/httpd -DFOREGROUND └─1457 /usr/sbin/httpd -DFOREGROUND Jul 24 03:57:50 centos7.local httpd[1311]: AH00558: httpd: Could not reliably determine the server's fully qualified ...essage Jul 24 03:57:50 centos7.local systemd[1]: Started The Apache HTTP Server.
9.
# kill -9
1311 # systemctl status httpd httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled) Active: deactivating (stop-sigterm) (Result: signal) since Thu 2014-07-24 04:00:40 JST; 3s ago Process: 2554 ExecStop=/bin/kill -WINCH ${MAINPID} (code=exited, status=0/SUCCESS) Process: 1311 ExecStart=/usr/sbin/httpd $OPTIONS -DFOREGROUND (code=killed, signal=KILL) Main PID: 1311 (code=killed, signal=KILL) Status: "Total requests: 0; Current requests/sec: 0; Current traffic: 0 B/sec" CGroup: /system.slice/httpd.service ├─1451 /usr/sbin/httpd -DFOREGROUND ├─1452 /usr/sbin/httpd -DFOREGROUND ├─1453 /usr/sbin/httpd -DFOREGROUND ├─1455 /usr/sbin/httpd -DFOREGROUND └─1457 /usr/sbin/httpd -DFOREGROUND Jul 24 03:57:50 centos7.local httpd[1311]: AH00558: httpd: Could not reliably determine the server's fully qualified ...essage Jul 24 03:57:50 centos7.local systemd[1]: Started The Apache HTTP Server. Jul 24 04:00:40 centos7.local systemd[1]: httpd.service: main process exited, code=killed, status=9/KILL
10.
systemdがみてる • サービスに対するSIGKILLをしっかり監視 • 子プロセスも迷子にならない •
ついでにログも見てる – 従来はsyslogがごっちゃに吐いてた • プロセスの自動再起動も可能 – daemontools っぽいよね
11.
cgroup によるリソースの分離 • リソース制限といえば
ulimit – プロセス単位なのでforkすると別になる • cgroup で「サービス単位」の制限が可能 – すべてsystemd経由で指定できる – わかりやすい、漏れが無い – ulimit どこに書くのが正解か議論に終止符
12.
unit 概念の追加 • あらゆるタスクを「unit」とした •
unit には service, target, device などがある • runlevel も「multi-user.target」とunit化 • それぞれに依存関係を記述 – race conditionによる事故が無い – システムの起動が高速化
13.
起動と終了が高速化 • 「サーバーなんだから」と思うなかれ – AWSみたいな環境だと結構効くと思う •
reboot 打ってからlogin:出るまで – RHEL 6.5: 29秒 – RHEL 7.0: 10秒
14.
シェルスクリプトからの解放 • ポータブルなinit.dスクリプト、書けますか? • シェルスクリプトは遅い •
init.dスクリプトのバグに悩む… • 数行の設定ファイルで大丈夫 – そう、systemdならね。
15.
柔軟性 • パケットが届いてからサービスを起動 – それってinetdじゃね •
ファイルが作成されたらサービスを起動 • 複数のunitをまとめたtargetを作れる • サービス専用の/tmpを用意
16.
おまけ: 単発コマンドを実行 • リソース制限したり、ログを残したり、状態を 監視しつつ簡単に実行できるよ #
systemd-run echo abc Running as unit run-2942.service. # systemctl status run-2942 run-2942.service Loaded: not-found (Reason: No such file or directory) Active: inactive (dead) Jul 24 04:50:36 centos7.local systemd[1]: Starting /bin/echo abc... Jul 24 04:50:36 centos7.local systemd[1]: Started /bin/echo abc. Jul 24 04:50:36 centos7.local echo[2943]: abc
17.
おしまい