Serf(サーフ)とは、非集中/分散型のクラスタ管理ツールです。対象サーバにバイナリを1つ配置して軽量エージェントを起動するだけで、手軽にクラスタを構成できます。

オープンソースのクラスタリング/Serfとは

Serf(サーフ)とは、非集中/分散型のクラスタ管理ツールです。対象サーバにバイナリを1つ配置して軽量エージェントを起動するだけで、手軽にクラスタを構成できます。

基本情報

概要

Serf(サーフ)とは、非集中/分散型のクラスタ管理ツールです。対象サーバにバイナリを1つ配置して軽量エージェントを起動するだけで、手軽にクラスタを構成できます。

基本説明

Serfは、管理用サーバを必要としないクラスタを簡単に構築できます。

クラスタに所属する複数のサーバで、「死活管理」「障害探知」「一斉にセットアップ/デプロイ用コマンド実行」「バージョンの確認」などを行えます。

発生したイベントに対応してスクリプトを実行させることも可能です。

ポイント

・Go言語実装
・シンプル(機能が必要最小限)
・軽量
・管理サーバ不要(非集中型ソリューション)
・クラスタ構成が容易
・主要プラットフォームで利用可能(Linux, Mac OS X, Windows)
・高可用性
・障害耐性

経緯

HashiCorp社がオープンソースプロダクトとして開発/公開しています。

ユースケース

・構成管理ツール(ChefAnsibleなど)を一斉実行
・監視ツール(Nagios、Sensu、Zabbixなど)の監視対象の追加/削除の自動化
・特定のサーバプロセスを一斉再起動
・インメモリDB(RedisMemcachedなど)のクラスタリング
・DNS更新 など

TOPに戻る

主な特徴

簡単セットアップ

Serfのセットアップは、クラスタ化したいサーバに実行用バイナリファイルをインストールするだけで完了します。

システムに変更を加えずに即座に開始できます。

クラスタメンバー管理機能

主なメンバー管理機能
・クラスタ参加/離脱管理
・メンバー情報管理(ホスト名、IPアドレス、タグ 他) など

障害検出(回復)機能

Serfは、クラスタメンバーが障害などでダウンした場合、それを検出し、残りのメンバーに通知します。また、自動的に復旧させるように動きます。

この段階で指定するスクリプトを動作させることも可能です。

イベント伝搬機能

Serfは、発生したイベントをクラスタ全体で瞬時に共有します。100台のサーバ構成で約2秒で全体に伝播するとされています。

特定のイベントに対するカスタムスクリプトを実行できます。

イベントハンドラ

Serfが発行するイベントは以下のようなものがあります。
・メンバー参加
・メンバー離脱
・メンバーダウン
・メンバーアップデート
・メンバー解除
・カスタムイベント発行
・カスタムクエリ発行 など

カスタムイベント

独自のイベントをクラスタ内に伝搬させることも可能です。

「デプロイトリガー」「クラスタ再起動」などの用途に使用されます。

TOPに戻る

同様製品

同様な機能を提供する製品として、次のようなものがあります。

オープンソース製品:「Apache Mesos」「Pacemaker」など。

TOPに戻る

ライセンス情報

Serfのライセンスは「Mozilla Public License Version 2.0」です。このライセンスに従うことを条件として、ソースコードの改変と公開が許可されています。

TOPに戻る

ダウンロード

ダウンロードページ

TOPに戻る

参考元サイト

・Serf
・gihyo.jp →Serf/Consulで管理を自動化!~実践的な手法を紹介~ 第1回 Serf入門:動的に変化する環境を簡単に管理
・Think IT →自動化・省力化のためのSerf入門
・SOTA →Serf 虎の巻
・Gunosy Tech Blog →3分でまとめ読むSerfとConsulの基本機能
・cloudpack.media →Serf はじめての運用ツール 〜 インストールとエージェント起動
・さくらのナレッジ  →コンテナ/クラウド環境におけるSerfを使った構成管理

TOPに戻る

※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。

Serf最新TOPICS

最新情報はありません。

Serf最新CLOSEUPコラム

  • オープソース書籍(サイド)
  • OSSNEWSに広告を掲載しませんか?

facebook

twitter