Serf用のinitスクリプトを書いてみた

Serf用のinitスクリプトを書いてみた

Serf用のinitスクリプトを書いてみた はてなブックマーク - Serf用のinitスクリプトを書いてみた


Serf 用の systemd 向けスクリプトは先日の投稿で公開しました。systemd だけでなく、実際の所は SysV init のスクリプトを使っても、自動起動設定や、service コマンドを使った制御が可能です。

RHEL 環境でテストした serf 用の init スクリプトを公開しました。必要があればどうぞ。

serf 用スクリプト

設置方法

先のスクリプトを /etc/init.d/serf に転記します。その後、パーミッション等を設定します。

# /sbin/chkconfig --add serf
# chmod 755 /etc/init.d/serf
# /sbin/chkconfig --add serf

設定ファイルのパスは /etc/serf.conf です。このファイルがあれば、serf start 時 ( agent として起動)にこのファイルを読み込みます。serf の引数で -config-file=/etc/serf.conf を指定したのと同等の働きです。config の指定方法については、先日のエントリをご参考にどうぞ。

起動・停止方法は、それぞれ、

# service serf start
# service serf stop

このようになっています。

背景

serf の config ファイルを書き換えたあと、都度 serf の PID を kill し、立ち上げ直すのが面倒でした。また、サーバ内の作業時の同一性確保という意味もあります。

補足事項

‘service serf stop’ 時は、serf に対して kill シグナルを発行します。このとき、他の serf エージェントからは ‘leave’ ではなく ‘failed’ と表示される事に注意してください。leaveを発行 ( force-leave ) の場合は、’service serf leave’ を実行します。

One thought on “Serf用のinitスクリプトを書いてみた

  1. zhuweimin

    このinitスクリプトを使わせていただきます。
    有難う御座います。