私はさまざまなプログラムの束を実行するソフトウェアを書いています (ツイスト twistd
経由)。つまり、さまざまな種類の N 個のデーモンを複数のマシンで開始する必要があります。これを手動で行うと、関係するマシンで などのtwistd foo_worker
コマンドを実行することになります。twistd bar_worker
基本的に、マシンのリストと、それらを実行する必要があるデーモンが表示されます。さらに、必要に応じてすべてをシャットダウンする必要があります。
これをゼロからプログラムする場合は、クラスタ内の各マシンで永続的に実行される「spawner」デーモンを作成し、認証された管理者クライアントがネットワークを介してアクセスできる次の機能を使用します。
- 指定されたコマンド ラインでプロセスを開始します。それを管理するためのハンドルを返します。
- ハンドルを指定してプロセスを強制終了します。
- 必要に応じて、ハンドルを指定して CPU 時間などをクエリします。
上記をプログラムするのはかなり簡単ですが、これが新しい問題になるとは思えません。確かにこれを行うための既存のソリューションはありますか? ただし、サーバー管理の経験がなく、関連する用語が何であるかさえ知りません。
Linux クラスターでこれを行うには、どのような既存の方法がありますか?また、関連する重要な用語は何ですか? Python 固有のソリューションは歓迎されますが、必須ではありません。
別の言い方をすれば、LAN 内に多数のマシンがある場合、それらをクラスターとしてプログラムで操作するにはどうすればよいでしょうか。