Recommended
PDF
PDF
今だからこそ知りたい Docker Compose/Swarm 入門
PDF
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
PDF
PDF
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
PDF
Docker入門 - 基礎編 いまから始めるDocker管理
PDF
コンテナの作り方「Dockerは裏方で何をしているのか?」
PDF
PDF
Python 3.9からの新定番zoneinfoを使いこなそう
PDF
「仮想マシンからの移⾏先としてPaaSとKaaS、どちらを選ぶか? #ヤフー名古屋」
PDF
PDF
PPTX
BuildKitによる高速でセキュアなイメージビルド
PDF
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
PDF
Redmineのバージョンアップに追従していくための一工夫
PPTX
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
PPTX
PDF
PDF
Dockerfileを改善するためのBest Practice 2019年版
PDF
PDF
ストリーム処理を支えるキューイングシステムの選び方
PDF
PPTX
PDF
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
PPTX
PDF
PDF
PDF
PDF
PDF
More Related Content
PDF
PDF
今だからこそ知りたい Docker Compose/Swarm 入門
PDF
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
PDF
PDF
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
PDF
Docker入門 - 基礎編 いまから始めるDocker管理
PDF
コンテナの作り方「Dockerは裏方で何をしているのか?」
PDF
What's hot
PDF
Python 3.9からの新定番zoneinfoを使いこなそう
PDF
「仮想マシンからの移⾏先としてPaaSとKaaS、どちらを選ぶか? #ヤフー名古屋」
PDF
PDF
PPTX
BuildKitによる高速でセキュアなイメージビルド
PDF
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
PDF
Redmineのバージョンアップに追従していくための一工夫
PPTX
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
PPTX
PDF
PDF
Dockerfileを改善するためのBest Practice 2019年版
PDF
PDF
ストリーム処理を支えるキューイングシステムの選び方
PDF
PPTX
PDF
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
PPTX
PDF
PDF
PDF
Similar to initとプロセス再起動
PDF
PDF
ODP
DRBD/Heartbeat/Pacemakerで作るKVM仮想化クラスタ
PDF
Android組み込み開発テキスト pandaboard es編
PDF
PPTX
PFIセミナーH271022 ~コマンドを叩いて遊ぶ コンテナ仮想、その裏側~
PDF
PDF
Solaris ディープダイブセミナー #4: A-2-1 サービス実行を超えた 新たなサービス管理アーキテクチャ Service Management...
PPT
Debug Hacks Conference 2009
PPTX
PDF
PPTX
PDF
2012/03/31 Apacheスタートスクリプト読書会発表資料
PDF
Infinite Debian - Platform for mass-producing system every second
PPTX
PDF
qemuのriscv64にDebianを入れてみた
PDF
PPTX
LinAction Theme LPICの問題を解いてみる~システムアーキテクチャ編~
PDF
Kickstart, Puppet, Docker
PDF
More from Takashi Takizawa
PDF
PDF
PDF
PDF
PDF
Unboundの最適化(OSC2011 Tokyo/Spring)
PDF
UnboundとDNSSEC(OSC2011 Tokyo/Spring)
PDF
PDF
Unbound/NSD最新情報(OSC 2013 Tokyo/Spring)
PDF
Unbound/NSD最新情報(OSC 2014 Tokyo/Spring)
PDF
PDF
#mailerstudy 02 暗号入門 (2012-02-22更新)
PDF
qpstudy08 lsyncdによる共有ファイルシステムっぽい何かの検証
PDF
#mailerstudy 02 メールと暗号 - SSL/TLS -
PPTX
PDF
PDF
PDF
PDF
#mailerstudy 01 LT POP/IMAP入門
PDF
PPTX
BIND of Summer (2017-04-13)
initとプロセス再起動 1. 2. 2
私は誰
• 氏名: 滝澤 隆史 @ttkzw
• 所属: 株式会社ハートビーツ
• 何やっている人
▫ メーラMuttの国際化や日本語対応パッチ作者
▫ SpamAssassinの日本語対応パッチ作者
▫ Unbound/NSDの文書の翻訳
3. 5. Linuxにおけるinit
• initはカーネルのブート後に最初に起動するプロセス
• 厳密に言うと、
▫ カーネルは起動時に、initrdとして指定されたinitramfs/initrd
イメージをルートパーティションとしてマウントする。
▫ /init(スクリプト)を実行する。
▫ /initスクリプト内でデバイスの認識やルートパーティショ
ンのマウントなどを行う。
▫ /initスクリプトの最後で、exec経由および、switch_rootあ
るいはrun-initコマンド経由で/sbin/initを実行する。
exec switch_root /sysroot /sbin/init
exec run-root /root /sbin/init
7. SysV init inittabの形式
ID:ランレベル:アクション:プロセス
• /sbin/initが起動
• /etc/inittabを読む。 /etc/inittab
id:3:initdefault:
• sysinitに定義したプロセスを実行
▫ rc.sysinitスクリプトを実行 si::sysinit:/etc/rc.d/rc.sysinit
• initdefaultに定義したランレベル l0:0:wait:/etc/rc.d/rc 0
に切り替え l1:1:wait:/etc/rc.d/rc 1
l2:2:wait:/etc/rc.d/rc 2
• ランレベル毎のwaitに定義したプ l3:3:wait:/etc/rc.d/rc 3
ロセスを実行。 l4:4:wait:/etc/rc.d/rc 4
l5:5:wait:/etc/rc.d/rc 5
▫ rcスクリプトを実行。 l6:6:wait:/etc/rc.d/rc 6
• respawnに定義したプロセスを実
1:2345:respawn:/sbin/mingetty tty1
行 2:2345:respawn:/sbin/mingetty tty2
▫ mingetty(端末)あるいは 3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
prefdm( 5:2345:respawn:/sbin/mingetty tty5
ジャ)を起動。 x:5:respawn:/etc/X11/prefdm -nodaemon
▫ プロセスが終了したら再起動
8. SysV initにおけるサービスの起動
• initにより直接起動する機能が提供されているわ
けではない
• サービス毎のrcスクリプトを利用して起動
▫ /etc/rc.d/init.d/サービス名 start
▫ /etc/init.d/サービス名 start
• serviceコマンドによりサービスを起動
▫ service サービス名 start
• 例)sshdの場合
▫ /etc/init.d/sshd start
▫ service sshd start
9. 10. 11. 自動再起動の設定
• 設定ファイル
▫ /etc/inittab
• respawnアクションの記述
▫ ID:ランレベル:respawn:サービスの起動コマンド
• 例)Monit
▫ mo:2345:respawn:/usr/sbin/monit -Ic /etc/monitrc
• 設定の反映
▫ telinit q
12. サービス監視ツールの併用
• respawnの問題点
▫ サービスによってはうまく制御できないことがあ
る。
▫ 停止させることができない。
• daemontoolsやmonitなどサービス監視系のツー
ルをinittabに登録し、自動再起動させたいサー
ビスをその制御下に置くとよい
14. Upstartによるサービスの起動
• initctlコマンドによりサービスを起動
▫ initctl start サービス名
• startコマンドはinitctlのシンボリックリンク
▫ start サービス名
• 後方互換のためにserviceコマンドも使える
▫ service サービス名 start
• 例)sshdの場合
▫ initctl start ssh
▫ start ssh
▫ service ssh start
15. 16. 17. 18. 19. /etc/init/ssh.conf
# ssh - OpenBSD Secure Shell server
#
# The OpenSSH server provides secure shell access to the system.
description "OpenSSH server"
start on filesystem or runlevel [2345]
stop on runlevel [!2345]
respawn
respawn limit 10 5
umask 022
# 'sshd -D' leaks stderr and confuses things in conjunction with 'console log'
console none
pre-start script
test -x /usr/sbin/sshd || { stop; exit 0; }
test -e /etc/ssh/sshd_not_to_be_run && { stop; exit 0; }
test -c /dev/null || { stop; exit 0; }
mkdir -p -m0755 /var/run/sshd
end script
# if you used to set SSHD_OPTS in /etc/default/ssh, you can change the
# 'exec' line here instead
exec /usr/sbin/sshd -DA
21. 22. 23. 24. 25. サービス毎の設定ファイル
• サービス毎の設定ファイル
▫ /etc/systemd/system/multi-
user.target.wants/XXX.service
• 実態は次のファイルのシンボリックリンク
▫ /usr/lib/systemd/system/XXX.service
• 例)sshdに対する設定ファイル
▫ /etc/systemd/system/multi-
user.target.wants/sshd.service
▫ /usr/lib/systemd/system/sshd.service
26. サービス停止時の動作の設定
• ServiceセクションのRestartの設定値によりサー
ビス停止時の動作を指定できる。
設定値 サービス停止時の動作
no 再起動しない。(デフォルト)
on-success 正常終了したときのみ再起動する。
すなわち、終了コード0の場合。
on-failure 正常終了しなかったときのみ再起動する。
終了コードが0以外、あるいはシグナルによる終了。
on-abort キャッチしていないシグナルの受信により終了したと
きのみ再起動する。
always 正常終了や異常終了やシグナルによる終了をしたとき
再起動する。
27. 28. 29.