サーバ/インフラを支える技術 第5章 省力運用 その3
今日は 5.3 サーバ管理の効率化 と 5.4 デーモンの稼動管理
- Puppet
- 大量のサーバの設定ファイルの更新などを効率化
- pupetmasterd へ各ノードで起動している pupetd が情報をポーリングして設定を反映させる
- マニフェストファイルの書きかた
- ちょっとむずかしいですね。最近は Chef というのも注目されているそうでそっちは設定が簡単と聞いたことがああります
- 設定変更の通知(メール、ログ)
- 自動設定ツールのはまりどころ
- 誤った設定を全体に適用してしまうと戻すのが大変になることがある(ssh が繋らなくなる変更をしてしまう、とか)
- 自動で反映されるモードを使わず、一部のサーバでテスト後に手動で展開する
- 実行前に --noop などで文法チェックするワークフローを組む
- 設定ファイルをバージョン管理する
- トラブル時など緊急で設定を直接変更したあと、自動設定でその設定を消してしまって動かなくなる
- 誤った設定を全体に適用してしまうと戻すのが大変になることがある(ssh が繋らなくなる変更をしてしまう、とか)
自動設定ツールは最初から全てを任せようとするとなかなか大変なので、楽をしたいところから使っていくのがいいようです。
- daemontools
- プログラムのデーモン化、自動再起動などの管理をしてくれるツール
- 特定のディレクトリを監視してプログラムが追加されたら自動で起動
- フォアグラウンドで起動するプログラム(つまりいわゆるデーモンではないもの)をデーモンとして起動する
自作のデーモンをたくさん作るような場合に便利そうです