Submit Search
インフラエンジニアのお仕事 ~ daemontools から systemdに乗り換えた話 ~
Download as PPTX, PDF
1 like
4,773 views
K
KLab Inc. / Tech
KLab TECH Meetup #3 インフラエンジニアのお仕事 ~ daemontools から systemdに乗り換えた話 ~
Technology
Read more
1 of 46
Download now
Download to read offline
1
2
3
4
Most read
5
Most read
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Most read
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
More Related Content
PDF
Keycloak拡張入門
Hiroyuki Wada
PDF
Test Yourself - テストを書くと何がどう変わるか
Takuto Wada
PDF
O/Rマッパーによるトラブルを未然に防ぐ
kwatch
PPTX
Keycloak入門
Hiroyuki Wada
PDF
Kubernetes Service Account As Multi-Cloud Identity / Cloud Native Security Co...
Preferred Networks
PDF
FIDO認証によるパスワードレスログイン実装入門
Yahoo!デベロッパーネットワーク
PDF
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
infinite_loop
PDF
実装して理解するLINE LoginとOpenID Connect入門
Naohiro Fujie
Keycloak拡張入門
Hiroyuki Wada
Test Yourself - テストを書くと何がどう変わるか
Takuto Wada
O/Rマッパーによるトラブルを未然に防ぐ
kwatch
Keycloak入門
Hiroyuki Wada
Kubernetes Service Account As Multi-Cloud Identity / Cloud Native Security Co...
Preferred Networks
FIDO認証によるパスワードレスログイン実装入門
Yahoo!デベロッパーネットワーク
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
infinite_loop
実装して理解するLINE LoginとOpenID Connect入門
Naohiro Fujie
What's hot
(20)
PDF
FridaによるAndroidアプリの動的解析とフッキングの基礎
ken_kitahara
PDF
マルチテナントのアプリケーション実装〜実践編〜
Yoshiki Nakagawa
PDF
シリコンバレーの「何が」凄いのか
Atsushi Nakada
PDF
マルチテナント化で知っておきたいデータベースのこと
Amazon Web Services Japan
PDF
Docker Compose 徹底解説
Masahito Zembutsu
PPTX
継続的にテスト可能な設計を考える
Atsushi Nakamura
PDF
Dockerからcontainerdへの移行
Kohei Tokunaga
PDF
ドメイン駆動設計 ( DDD ) をやってみよう
増田 亨
PDF
DockerとPodmanの比較
Akihiro Suda
PDF
分散システムの限界について知ろう
Shingo Omura
PDF
WebSocket / WebRTCの技術紹介
Yasuhiro Mawarimichi
PPTX
DockerコンテナでGitを使う
Kazuhiro Suga
PDF
KubernetesでRedisを使うときの選択肢
Naoyuki Yamada
PDF
JDKの選択肢とサーバーサイドでの選び方
Takahiro YAMADA
PDF
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
Yahoo!デベロッパーネットワーク
PDF
コンテナの作り方「Dockerは裏方で何をしているのか?」
Masahito Zembutsu
PDF
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
NTT DATA Technology & Innovation
PDF
オブジェクト指向エクササイズのススメ
Yoji Kanno
PDF
今なら間に合う分散型IDとEntra Verified ID
Naohiro Fujie
PPTX
世界一わかりやすいClean Architecture
Atsushi Nakamura
FridaによるAndroidアプリの動的解析とフッキングの基礎
ken_kitahara
マルチテナントのアプリケーション実装〜実践編〜
Yoshiki Nakagawa
シリコンバレーの「何が」凄いのか
Atsushi Nakada
マルチテナント化で知っておきたいデータベースのこと
Amazon Web Services Japan
Docker Compose 徹底解説
Masahito Zembutsu
継続的にテスト可能な設計を考える
Atsushi Nakamura
Dockerからcontainerdへの移行
Kohei Tokunaga
ドメイン駆動設計 ( DDD ) をやってみよう
増田 亨
DockerとPodmanの比較
Akihiro Suda
分散システムの限界について知ろう
Shingo Omura
WebSocket / WebRTCの技術紹介
Yasuhiro Mawarimichi
DockerコンテナでGitを使う
Kazuhiro Suga
KubernetesでRedisを使うときの選択肢
Naoyuki Yamada
JDKの選択肢とサーバーサイドでの選び方
Takahiro YAMADA
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
Yahoo!デベロッパーネットワーク
コンテナの作り方「Dockerは裏方で何をしているのか?」
Masahito Zembutsu
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
NTT DATA Technology & Innovation
オブジェクト指向エクササイズのススメ
Yoji Kanno
今なら間に合う分散型IDとEntra Verified ID
Naohiro Fujie
世界一わかりやすいClean Architecture
Atsushi Nakamura
Ad
Similar to インフラエンジニアのお仕事 ~ daemontools から systemdに乗り換えた話 ~
(20)
PPTX
Device Farm を使ったスマホアプリの自動テスト
Kenichi Tatsuhama
PDF
Automation with SoftLayer and Zabbix
softlayerjp
PDF
Eight meets AWS
Tetsuya Mase
PDF
Google Cloud Platformでソーシャルゲームを1本出してみた!
Hasegawa Yusuke
PDF
NCstudy 2.5
Yuichi Saotome
PDF
Mroongaを社内クラウド的なMySQLプラットフォームに標準搭載している話 #groonga
Yahoo!デベロッパーネットワーク
PDF
20121019 engineer startup_meeting
Shuichi Wada
PPTX
JAWS-UG三都物語_企業でのAWS導入のエントリーポイント
Toshiyuki Konparu
PDF
おすすめインフラ! for スタートアップ
Koichiro Sumi
PPTX
My First Monitoring With Mackerel
Koichi Ota
PDF
Lineにおけるspring frameworkの活用
Tokuhiro Matsuno
PPTX
Hueによる分析業務の改善事例
Masahiro Kiura
PPTX
誰にでもできるパフォーマンスチューニング
Kiyokazu Kaba
PDF
Eureka go 2015_12_12
matsuo kenji
PDF
TopSE.20121119
Osamu Habuka
PDF
Osc2013 kansai@kyoto ZABBIX-JP クラウド環境監視効率化
Daisuke Ikeda
PDF
使ってみた!ioMemoryで実現する噂のAtomic write!
IIJ
PDF
【20-E-5】実践!Infrastructure as a Codeの取り組みと改善
Developers Summit
PDF
Infrastructure as Codeの取り組みと改善
Takashi Honda
PDF
退屈なブラウザ作業をpuppeteerにやらせたいお話
Tadashi Nemoto
Device Farm を使ったスマホアプリの自動テスト
Kenichi Tatsuhama
Automation with SoftLayer and Zabbix
softlayerjp
Eight meets AWS
Tetsuya Mase
Google Cloud Platformでソーシャルゲームを1本出してみた!
Hasegawa Yusuke
NCstudy 2.5
Yuichi Saotome
Mroongaを社内クラウド的なMySQLプラットフォームに標準搭載している話 #groonga
Yahoo!デベロッパーネットワーク
20121019 engineer startup_meeting
Shuichi Wada
JAWS-UG三都物語_企業でのAWS導入のエントリーポイント
Toshiyuki Konparu
おすすめインフラ! for スタートアップ
Koichiro Sumi
My First Monitoring With Mackerel
Koichi Ota
Lineにおけるspring frameworkの活用
Tokuhiro Matsuno
Hueによる分析業務の改善事例
Masahiro Kiura
誰にでもできるパフォーマンスチューニング
Kiyokazu Kaba
Eureka go 2015_12_12
matsuo kenji
TopSE.20121119
Osamu Habuka
Osc2013 kansai@kyoto ZABBIX-JP クラウド環境監視効率化
Daisuke Ikeda
使ってみた!ioMemoryで実現する噂のAtomic write!
IIJ
【20-E-5】実践!Infrastructure as a Codeの取り組みと改善
Developers Summit
Infrastructure as Codeの取り組みと改善
Takashi Honda
退屈なブラウザ作業をpuppeteerにやらせたいお話
Tadashi Nemoto
Ad
More from KLab Inc. / Tech
(20)
PDF
【公開用】モバイルオンラインゲーム開発を支える早く、安く、使いやすいサーバインフラ構築
KLab Inc. / Tech
PDF
モバイルオンラインゲームのアプリ外課金の導入と運用方法について
KLab Inc. / Tech
PDF
デバイスファーム 「AirLab」 による 自動QAテストの実績と機械学習が拓く次世代QAの可能性
KLab Inc. / Tech
PDF
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
KLab Inc. / Tech
PDF
大規模モバイルオンラインゲーム開発における チーム組成とワークフロー最適化
KLab Inc. / Tech
PDF
運用中の大規模オンラインゲームで 8年ぶりにPHPバージョンアップをした話
KLab Inc. / Tech
PDF
AirLab導入でテストコストの大幅削減と品質向上! 数十台の端末を一斉に全自動テストできる社内DeviceFarmについてご紹介
KLab Inc. / Tech
PDF
生成AIが切り拓く新しいゲームの創り方・遊び方
KLab Inc. / Tech
PDF
表も裏もすべて見せます! KLab謹製大規模オンラインゲームの リアルタイムチャットマイクロサービス
KLab Inc. / Tech
PDF
モバイルオンラインゲームでの大規模観戦とチート対策 〜自社製リアルタイム通信システム「WSNet2」の事例〜
KLab Inc. / Tech
PDF
他業界からゲーム業界へ転向したときの話
KLab Inc. / Tech
PDF
KLabのゲーム開発を支える開発環境
KLab Inc. / Tech
PDF
ゲーム開発を知らない人にも分かるKLabのゲーム開発運営
KLab Inc. / Tech
PDF
「リアルISUCON」としてのモバイルオンラインゲーム開発
KLab Inc. / Tech
PDF
ゴリラテスト モバイルゲームのUIを自動的に検出・操作する モンキーテスト
KLab Inc. / Tech
PDF
モバイルアプリの高速で安定したビルドを支えるJenkins運用術
KLab Inc. / Tech
PDF
『ラブライブ!スクールアイドルフェスティバル ALL STARS』を支えるビルドパイプライン 〜より安定したサービス提供を目指して〜
KLab Inc. / Tech
PPTX
KLabのチャットシステム インフラ変遷
KLab Inc. / Tech
PPTX
Ganglia のUIにGrafanaを追加する話
KLab Inc. / Tech
PPTX
KLabのインフラエンジニア 〜 こんな感じで働いてます 〜
KLab Inc. / Tech
【公開用】モバイルオンラインゲーム開発を支える早く、安く、使いやすいサーバインフラ構築
KLab Inc. / Tech
モバイルオンラインゲームのアプリ外課金の導入と運用方法について
KLab Inc. / Tech
デバイスファーム 「AirLab」 による 自動QAテストの実績と機械学習が拓く次世代QAの可能性
KLab Inc. / Tech
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
KLab Inc. / Tech
大規模モバイルオンラインゲーム開発における チーム組成とワークフロー最適化
KLab Inc. / Tech
運用中の大規模オンラインゲームで 8年ぶりにPHPバージョンアップをした話
KLab Inc. / Tech
AirLab導入でテストコストの大幅削減と品質向上! 数十台の端末を一斉に全自動テストできる社内DeviceFarmについてご紹介
KLab Inc. / Tech
生成AIが切り拓く新しいゲームの創り方・遊び方
KLab Inc. / Tech
表も裏もすべて見せます! KLab謹製大規模オンラインゲームの リアルタイムチャットマイクロサービス
KLab Inc. / Tech
モバイルオンラインゲームでの大規模観戦とチート対策 〜自社製リアルタイム通信システム「WSNet2」の事例〜
KLab Inc. / Tech
他業界からゲーム業界へ転向したときの話
KLab Inc. / Tech
KLabのゲーム開発を支える開発環境
KLab Inc. / Tech
ゲーム開発を知らない人にも分かるKLabのゲーム開発運営
KLab Inc. / Tech
「リアルISUCON」としてのモバイルオンラインゲーム開発
KLab Inc. / Tech
ゴリラテスト モバイルゲームのUIを自動的に検出・操作する モンキーテスト
KLab Inc. / Tech
モバイルアプリの高速で安定したビルドを支えるJenkins運用術
KLab Inc. / Tech
『ラブライブ!スクールアイドルフェスティバル ALL STARS』を支えるビルドパイプライン 〜より安定したサービス提供を目指して〜
KLab Inc. / Tech
KLabのチャットシステム インフラ変遷
KLab Inc. / Tech
Ganglia のUIにGrafanaを追加する話
KLab Inc. / Tech
KLabのインフラエンジニア 〜 こんな感じで働いてます 〜
KLab Inc. / Tech
インフラエンジニアのお仕事 ~ daemontools から systemdに乗り換えた話 ~
1.
インフラエンジニアのお仕事 ~ daemontools から
systemdに乗り換えた話 ~ Kansei CHIBA @KLab
2.
$ whoami 千葉 幹正
(CHIBA Kansei) ● 仕事 ○ KLab 株式会社 2011 年新卒入社 ○ インフラマネジメント部 所属 ○ AWS・GCP を使ったクラウド環境でのインフラ設計・構築・運用がメイン ● 趣味 ○ ここ数年は、ロードバイク一本 ● AWS, GCP, Golang, Systemd...
3.
$ groups KLab 株式会社 ●
くらぶ かぶしきがいしゃ ● 2000 年発足 ● サイバード社の研究開発部署から独立した会社 ● 元々は、(株) ケイ・ラボラトリー で、今もたまに ケイラボ と呼ばれる ● 技術大好きな人にとって、居心地の良い会社(だと思います) ○ インフラエンジニア絶賛募集中 (公には募集してないので声かけてください)
4.
$ login どんな人がこの会社のインフラエンジニアに向いているか? ● 入社初日 ●
しーてぃーおー 「一般ユーザあげるからさ、root をどうにかして奪っといてよ(^^)」 ● あなた 「....この会社超絶ブラックだわorz」 => 向いていません 「....ヤベェ、おらワクワクしてきた」=> 向いています!
5.
$ su - 一応説明しておくと・・・ ●
root 取れなくてもしーてぃーおーに食べられたりはしません ● root 取るために何を考えて行動を起こしたか、起こせそうか、そんなことを 考えることに少しでもテンション上がる方を募集中 ● あくまで一例です。 この分野なら俺に語らせろ、これで仕事させろ というあなたからのお声がけをお待ちしています
6.
要約: 人足りてません。声かけてください(TT)
7.
宣伝終わり
8.
プロセスの管理手段 考え直してみました
9.
プロセスの管理どうしてますか (Linux) 制御方法 ● プロセスの起動・停止・再起動は何を使って管理している? 関連して... ●
プロセスの起動判定基準 ● プロセスが終了した際の挙動 ● プロセスの標準出力・エラー出力の取り扱い など
10.
これまではどうしてきた? 環境 ● Debian 7
(Wheezy) ● sysvinit + daemontools プロセスの管理 ● 原則、独自に導入したアプリケーションの管理は、daemontools にお任せ ● daemontools から、各種アプリケーション向けに用意したシェルを実行
11.
daemontools ● 任意のプログラムをデーモン化 ● 起動・停止・再起動用コマンドの提供 ●
自動再起動 ● プログラムの標準出力,エラー出力を、ログファイルへ ● KLab では、長い間使い続けている OSS ○ http://cr.yp.to/daemontools.html
12.
sysvinit ● 説明不要の大御所 init
(ですよね? ● 多くのデストリで systemd への置き換えが進められている状況 ● daemontools 同様に KLab では長い間使い続けている ○ というか、構築当初はこれ以外選択肢がなかったはず
13.
sysvinit + daemontools ●
以前 ○ Apache + modphp の組み合わせで API を提供する構成が多数 ○ インフラの構成は、各案件共通で、一つのシステムで相乗り ● 現在 ○ Apache, PHP 以外の OSS も採用されるように ■ nginx, uwsgi ■ python, golang で作成された自社プログラム ● 扱うものは変わったが、大抵の案件はこの構成で運用できた
14.
プロセス管理を再考するきっかけ 以下要件でデーモンを立ち上げる必要が出た 1. プロセス終了時に自動再起動したくない 2. プロセス終了時に通知を出して欲しい 3.
プロセスの標準出力/エラーはログに出力したい
15.
プロセス管理を再考するきっかけ 以下要件でデーモンを立ち上げる必要が出た 1. プロセス終了時に自動再起動したくない -> daemontools
では運用不可と判断 (頑張ればできそうだけど、容易でない) 2. プロセス終了時に通知を出して欲しい -> 従来のやり方で対応可能(デーモン監視ツールの運用) 3. プロセスの標準出力/エラーはログに出力したい -> 従来のやり方で対応可能(daemontools + multilog)
16.
作ってみた execmon ● 任意のプログラムをデーモン化・監視(通知)・標準(エラー)出力をログに落と し込んでくれる便利なやつ ● fork(),
execve(),dup2(),pipe() あたりを利用して、バックグラウンド実行 & ロ グ出力 ● $ execmon -n ${notifycmd} -p ${pathtopid} -- cmd ● 正直、daemonize のお作法一度実装しておきたかった面がでかい\(^o^)/
17.
execmon
18.
運用上の懸念 ● インフラ担当者として、C を触れる人をアサインする必要がある ○
そうコストが高いものではないが、新しいメンバーが、execmon のために、C を触るの? ● プロセス管理手段が複数あるの少し気になる(できたらまとめたい) ○ sysvinit (daemontools の 始動, その他システム関連) ○ daemontools (自動再起動が必要なデーモンの管理) ○ execmon(自動再起動したくないデーモンの管理)
19.
プロセス管理手段を改めて考え直す 1. execmon を部内の共通言語で書き直す? a.
最近の部内の共通言語は、Go・Python あたり i. 可能なら、コード見なくても済むようにしたい 2. やっぱり、sysvinit + daemontools だけで頑張ってみる? a. sysvinit で管理するとしても、標準(エラー)出力はどうログに書き出そう? b. daemontools だと、起動スクリプトの実装が若干煩雑に i. あまりシンプルな方法を思いつかない 3. それ以外の選択肢を模索? a. sysvinit, daemontools, execmon を綺麗にまとめられる奴がいたら... i. せめて、daemontools と、execmon だけでも ● 直近、別案件で、触る機会のあった Debian 8 の systemd を第一候補に
20.
systemd の採用検討 ● プロセスの起動/停止/再起動/自動再起動 ●
プロセスの起動完了判定 ● プロセス終了判定時の通知 ● プロセスの標準出力の扱い ● https://www.freedesktop.org/software/systemd/man/ ● http://0pointer.de/blog/projects/systemd.html ● Debian, Arch, RedHat の systemd に関わるドキュメントは、 日本語での情報提供もちらほらあるので、割とすんなり情報採集できた
21.
s/sysvinit/systemd/ ● execmon は、systemd
ユニット で簡単に置き換え可と判断 ○ 自動再起動しない (Restart=no (default)) ○ 落ちたら通知を出す (OnFailure=alert.service) ○ プロセスの標準出力/エラーはログに出力 (Journald) ● sysvinit + daemontools の置き換え ○ こちらも同様に置き換えできそうな温度感 ○ 独自に作ってきた起動処理の置き換えをどう systemd で対応するか
22.
独自の起動フロー @ AWS
EC2 一つのサーバイメージから様々な役割のサーバを立ち上げる仕組み AWS EC2 インスタンス起動時に、タグに役割を登録することで、役割ごとに設定 されているプロセスが立ち上がる
23.
検討初期 ● 設定された役割に応じて、ステータスを変えるサービスユニットの配置 (役割判定ユニット) ● 役割ごとに、役割判定ユニットを配置して、各サービスユニットは適切な役 割ユニットを前提ユニットに指定
24.
検討初期 ● 役割判定ユニットの具体例 ○ WEB
という役割が設定されていれば、Active になる WEB-role.service ○ DB という役割が設定されていれば、Active になる DB-role.service ■ いずれも、当該役割の設定がなければ、Fail になる ● 役割判定ユニットを前提ユニットとするサービスユニットの挙動 ○ 役割判定ユニットが、 ■ Active であれば、起動する ■ Fail であれば、前提ユニットとの依存関係解決に失敗して、起動しない (Fail ステータスへ落ちる)
25.
OnFailure が使えない.. ● 設定外のサービスユニットのステータスは、Fail
となる ● 担当役割外のサービスユニットに、OnFailure が設定されていると、サーバ 起動時に、発火してしまう。(そして、アラートで埋もれる...) ● OnFailure 使うのやめる? ○ これまで、自前で実装してきたプロセス監視ツールを systemd にお任せできるのは大きい ○ OnFailure はプロセスが不意に落ちた時の通知などに使いたい ※ OnFailure: プロセスが落ちた時に任意のサービスユニットを呼び出す機能
26.
original-init.service 役割判定 & 当該役割のターゲットユニット
を動的に実行するプログラムを配置
27.
実装にあたって KLab インフラ内でのちょっとした運用ポリシー ● シェルスクリプト運用をできるだけ回避する ●
サクッとかけて便利だけど、書く人によって品質の差が出やすい ● サクッと修正できるので、環境ごとの差異が生まれやすい (あくまで、KLab インフラG 内での認識です)
28.
systemd API の利用 ●
golang (1.10) ○ 言語はなんでもいいけど、とりあえず使える人が多いものを ● go-systemd ○ https://github.com/coreos/go-systemd ● systemd v232 ○ version が古いと、使えない API がいくつかある ○ https://www.freedesktop.org/wiki/Software/systemd/dbus/
29.
systemd API の利用 Sysvinit
との大きな違い ● Systemd は、各種プロセスのステータスを握っている ● Systemd 経由で、プロセスの制御はもちろん、PID や、UID、GID などの情報 を取り出したりできる ● これらは、プロパティという形で Systemd から取得できる
30.
サービスユニットの組み方
31.
サービスユニット の組み方? 依存先のサービスユニットは、本当にアプリケーションレベルで機能しているか? ● 標準では、exec()
した瞬間に起動完了とみなすため、アプリケーションが完 全に立ち上がっていなくても、起動完了と判断される (Type=simple) ● アプリケーションが本当に機能しているかを確認するサービスユニットの導 入 (テストユニット)
32.
サービスユニット の組み方? 結局この組み方はやめた ● テストプログラムのメンテナンスコストが大きい ●
サービスユニットと、テストユニットの挙動を同期させる必要がある ○ サービスユニットが停止しているのに、テストユニットは立ち上がったまま ○ サービスユニットの再起動に合わせて、テストユニットも再起動など ■ これらを満たすには、ユニットに一手間設定を加える必要があるが、複雑性が増す
33.
サービスユニットの組み方? ではどうしたか? ● 説明がややこしいのと、時間がないので懇親会で(笑
34.
インフラ利用者への対応
35.
(再) daemontools の置き換え インフラ
管轄の sysvinit + daemontools な処理を systemd へ置き換えたが、実環 境では、インフラ利用者(アプリ開発者)向けに、専用の daemontools を立ち上げ ている ● インフラ利用者と協議し、daemontools -> systemd (user) への乗り換えに ● cron についても、systemd timer への乗り換え ● 勿論、systemd API も、systemd (system) 同様に利用可
36.
systemd --user ● 一般ユーザ向けの
systemd プロセス ○ ps で見ると、systemd --user で見えるハズ ● systemctl や、ライブラリ類から、systemd (user) に接続する際は、 systemd の一部環境変数を修正する必要あり ● Debian 9 だとデフォルトで利用可能だが、標準設定では、 ログイン中のみ有効となるため注意
37.
systemd --user インフラとして、インフラ利用者へ協力したこと ● systemd
(user) がユーザログアウト後も動作するように ○ Debian 9 なのですんなりだったけど、CentOS あたりだと... ● systemd の基本的な扱い方と概念の説明 ○ service, timer, target ... ○ ユニットのサンプル提供 ● systemd API 利用時のサンプル作成 ○ 本案件では、Golang のコードを提供
38.
s/sysvinit with daemontools/systemd/ ●
一部案件では、sysvinit + daemontools + execmon 運用を、systemd 運用へ 乗り換え完了 ● 一部のパッケージが、LSB script を取り込んでくるので、一応 sysvinit 互換 は残してある
39.
最後に systemd で幸せになれたのか ● まだ、systemd
各所で把握できていないものがあるため、これからも様々な 調査が必要。そういった意味では、それなりの学習コストを覚悟 ● 取り扱うシェルスクリプト群が減った ● プログラマブルにプロセスを管理することができるようになった ● 通知が容易になった 等から、現時点では、幸せになりつつある(笑
40.
systemd 管理者の方、ぜひお声がけください ● systemd
の罠を踏んだ方 ● systemd なんてアンインストールしてやる と言う方 ● systemd よりこの init の方が断然いい!!1111 ● systemd のこの機能使ってる? ぜひお声がけください
41.
最後の最後に
42.
相談とか共有とか
43.
(相談) configtest service hogefuga
configtest 相当のことをやりたい ● サービスユニットで管理しているアプリケーションの設定ファイルの syntax check とか ● syntax check 専用のサービスユニットを作るぐらいしか方法を思いつかない ● どんな運用でカバーしている?
44.
(相談) 認証ロジック d-bus API,
systemd API の認証ロジック ● getsockopt() + SO_PEERCRED ? ● 多分それしかないと思うんだけど、違ってたら誰か教えて
45.
(共有) systemd API
の入り口 private socket & dbus socket の使い分けをどう考えるか ● systemctl や、各種ライブラリを見ていると、private socket, dbus socket に connect() しているのが見える。 自前のプログラムからつなぐ場合はどちらを使えばいい? ● 原則として、dbus socket を利用する ○ private socket は、dbus が使えないシーンで systemctl から利用される ○ 将来、破壊的な変更が入る可能性があるため、private socket の利用は非推奨 ○ systemd API 利用時は、不必要に private socket を利用しない
46.
詳しい話は、懇親会で!
Editor's Notes
#9:
テスト
#17:
プロトタイプフェーズ
#18:
-
#20:
-
#23:
-
#24:
-
#25:
-
#26:
-
#27:
-
#31:
テスト
#35:
テスト
#42:
テスト
#46:
-
#47:
テスト
Download