構成管理:マシン間の依存関係


8

私は人形のようなツールを使用して個々のシステムを管理しましたが、一般的には高いレベルの成功を収めています。人形が落ちるのは、個々のサーバーの外部の依存関係を管理するのが得意ではないということです。

たとえば、MySQLサーバーでは、以下を実行するように人形を設定します。

  • LDAPサーバーにアクセスするようにマシンで認証を構成する
  • ローカルリポジトリミラーを使用するようにaptを設定します
  • MySQLパッケージをインストールする
  • my.cnfを記述
  • MySQLを起動します
  • データベースにユーザーを作成する

この一連の手順では、いくつかの依存関係が解決されています。たとえば、パッケージをインストールしていないとデータベースサービスを開始できません。これは、aptリポジトリが正しく構成されていないと実行できません。

このMySQLサーバーは、マスター->マスターレプリケーション設定の1つのボックスです。理想的な世界では、パペット(または他の同様のツール)を使用して、サーバーBがサーバーAが使用可能になるまで待機してから、それとのレプリケーション関係の確立を試みる必要があるという事実を表現できます。

ここにたくさんのテキストがあります-基本的に私が求めていることは、このようなマシン間の依存関係を管理できるパペットのようなツールはありますか?

回答:


4

Puppetを使用している場合、エクスポートされたリソース(つまり、保存された構成)はジョブのツールです。これにより、ノード間で情報を共有できます。必要に応じて、実際の複製設定を含めます。

または、私自身はサブスクライバーではありませんが、マニフェスト/実行を非決定的として扱う人もいます。つまり、1回の実行で必ずしもノードの完全な結果が宣言されるわけではありません。ノードが目的の状態になるまでに、2回以上の実行が必要になる場合があります。

マスターが利用可能になる前にMySQLスレーブを構成することは完全に致命的ではないので、このパスをたどることができます。私の意見では、それは「スマート」ほどではありません。


0

人形使いではないので、他の人がもっと適切な答えを出してくると思いますが、サービスを開始する前にチェックするラッパースクリプトを比較的簡単に実装できるようです。


0

パペットはこれをうまく行うことができます。各サーバーにリソースをエクスポートして、他の適切なサーバーを構成して、稼働中に実行する必要があることを実行させます。MySQLの例はありませんが、すべてのNagios構成と同様に、多くの(現在の数で約80のような)DRBDリソースをこの方法で構成します。


0

コントロール層は、あなたが望んでいるものかもしれません。人形と組み合わせて使用​​できるため、学習曲線が急になりすぎないようにする必要があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.