by shigemk2

当面は技術的なことしか書かない

サーバ/インフラを支える技術5 デーモンの稼動管理

前回
サーバ/インフラを支える技術5 サーバ管理の効率化(Puppet) - by shigemk2

OS起動時に自動で起動して動き続けるデーモン。
でもいつのまにかいなくなってしまって大変な思いを
したことはないだろうか。

このようなデーモンの稼動管理を行うツールが
daemontoolsである。

daemontoolsは、デーモンプロセスの開始、終了、
再起動、プロセスが落ちた場合の自動起動、といった
デーモンプロセスの管理を行うためのプログラム群である。

1. svscanbootがsvscanを起動する
2. svsvanは指定されたディレクトリを監視して、新たなデーモンが
追加された場合はsuperviseを起動する。

daemontoolsを使う理由として、

  • プロセスが落ちた場合に、自動的に起動し直してくれる
  • 手軽にデーモンを作れる

というメリットが存在する。
(特に、デーモンとして振舞うためには、制御端末からの切り離しや、
カレントワーキングディレクトリをルートに変更するなどの処理が必要なので
若干面倒)
ただし、デーモンになるためには「フォアグラウンドで動作する」という条件
が必要になる。

デーモンを開始するためには、
svscanが監視しているディレクトリに、デーモン用ディレクトリを指す
シンボリックリンクを張る必要がある。

また、デーモンの停止や再起動は、svcコマンドを使い、
デーモンの削除は、シンボリックリンクを削除した上で、svcコマンドを使い
superviseを解放する必要がある。

またシェルスクリプトを自作してkeepaliveddaemontoolsで管理したり、
デーモンの登録や削除を行うことも出来る。

次回
サーバ/インフラを支える技術5 ネットワークブートの活用 - by shigemk2

[24時間365日] サーバ/インフラを支える技術 ?スケーラビリティ、ハイパフォーマンス、省力運用 (WEB+DB PRESS plusシリーズ)

[24時間365日] サーバ/インフラを支える技術 ?スケーラビリティ、ハイパフォーマンス、省力運用 (WEB+DB PRESS plusシリーズ)