このページでは、Webminのクラスタリングシステムを紹介し、モジュールを使用して複数のシステムにソフトウェアパッケージを同時にインストールする方法について説明します。
コンテンツ
Webminクラスタリングの概要
Webminには、クラスターと呼ばれる、複数のマシンで一度にタスクを簡単に実行できるようにするモジュールがいくつかあります。大規模な組織では、ソフトウェアパッケージのインストール、Unixユーザーの作成、またはWebminモジュールの追加が必要なサーバーが数十または数百ある場合があります。クラスターモジュールはこれを簡単にします。それぞれが単一マシンモジュールの1つに対応しますが、一度に複数のシステムで同じタスクを実行できます。
システムをクラスターの一部にするには、実際に直接ログインしたことがない場合でも、Webminがインストールされている必要があります。単一のホスト上のクラスターモジュールの1つは、WebminのRPC(リモートプロシージャコール)プロトコルを使用して他のすべてのモジュールに接続し、特定のタスクを実行するように指示します。このマスターホストはクラスターの一部であるため、同じタスクを実行するように自身に指示する場合もあれば、完全に独立している場合もあります。
マスターシステムでは、最初にWebmin Servers Indexモジュール(第53章で説明)を使用して、他のすべての管理対象サーバーを登録する必要があります。管理対象サーバーごとに、rootまたはadminのユーザー名とパスワードを指定して、マスターがログイン方法を認識できるようにする必要があります。これが完了すると、登録されたシステムの一部またはすべてを管理するように各クラスターモジュールを設定できます。
WebminのRPCメカニズムでは、サーバー上で任意のファイルにアクセスしたりコマンドを実行したりできるため、デフォルトでは、管理対象システムのユーザーrootとadminのみがRPC呼び出しを受信できます。つまり、管理対象サーバーのWebminサーバーインデックスモジュールに他のユーザーを入力することは、そのユーザーがRPCログインを受け入れることができるように特別に構成されていない限り機能しません。 WebminUsersの*Editingmodule access control *セクションでは、これを設定する方法について説明しています。
マスターシステムが管理対象ホストを制御するために使用するRPCプロトコルは、Webminに固有のものであり、SunのRPC、SOAP、RMIなどの他の同様のプロトコルに基づいていません。これには2つの異なるモードがあります。コマンドの送信にHTTP要求のみが使用される古いモードと、永続的なTCP接続が使用される新しいモードです。後者の方法はより高速で信頼性が高くなりますが、ファイアウォールがマスターホストと管理対象ホスト間のトラフィックをブロックしている場合は失敗する可能性があります。デフォルトではポート10001以上を使用しますが、古いプロトコルはWebminが通常の接続を受け入れるポート(通常は10000)を使用するだけです。 WebminServersIndexは、サーバーのモードを選択する方法をより詳細に説明しています。
クラスターソフトウェアパッケージモジュール
このモジュールを使用すると、複数のシステムにパッケージを一度にインストール、表示、および削除できます。一部のプログラムを多数のシステムにロールアウトする必要がある場合は、このモジュールを使用して、単一のアクションでインストールを実行できます。別の方法は、各ホストに手動でインストールするか、NFSを使用して単一のサーバーから複数のクライアントにプログラムファイルを共有することです。
読む前に、通常のソフトウェアパッケージモジュールがどのように機能するか、パッケージとは何か、そしてそれらが何をすることができるかを完全に理解する必要があります。 SoftwarePackagesページには、これらすべてが詳細に記載されているので、今すぐ読んでください。 2つのモジュールのユーザーインターフェイスは非常に似ており、この章の手順は、通常のモジュールに精通していることを前提としています。
Cluster Software Packageモジュールの制限の1つは、マスターシステムとすべての管理対象システムがRPM、DPKG、Solarisパッケージ形式などの同じパッケージシステムを使用する必要があることです。一部のシステムがそのパッケージ形式をサポートしていない場合、特定のタイプの単一のパッケージファイルを複数のシステムにインストールする方法がないため、これは考えてみると理にかなっています。ネットワーク上のホストが異なるパッケージ形式を使用している場合は、異なるホストで、使用する形式ごとにこのモジュールを1回設定する必要があります。
サポートされているパッケージシステムを備えたオペレーティングシステムでのみ、モジュールが表示されます。執筆時点では、RPM、Debianのパッケージ形式、Gentooパッケージ形式、SolarisおよびSCOOpenServerパッケージシステムのみがサポートされています。ソフトウェアパッケージモジュールではさらにいくつかの形式がサポートされていますが、現在、この形式では使用できません。
モジュール自体は、Webminのクラスターカテゴリの他のクラスター関連モジュールと一緒に見つけることができます。アイコンをクリックするとメインページが表示されます。その例を図48-1に示します。上部にはモジュールに登録されている管理対象サーバーを表すアイコンのリストがあり、その下にはパッケージを検索してインストールするためのフォームがあります。後者のフォームは、一部のシステムが登録されている場合にのみ表示されますが、モジュールを初めて使用する場合は表示されません。
クラスターソフトウェアパッケージモジュールモジュールの検索を高速化するために、モジュールが管理するシステムにインストールされているすべてのパッケージのリストが保持されます。これは、このモジュールを使用せずにこれらのシステムの1つに直接インストールまたは削除されたパッケージは、リストが更新されるまで検出されないことを意味します。これにより、モジュールがパッケージが実際には存在しないのに存在することを誤って報告したり、その逆の場合があります。この問題を回避するには、常にクラスターソフトウェアパッケージモジュールを使用して、管理対象ホストからパッケージを追加または削除します。または、パッケージリストの更新を使用します ボタン(後で説明)を使用して、直接変更した後にリストを更新します。
サーバーの登録
このモジュールを使用して別のシステムのソフトウェアを管理する前に、そのシステムをサーバーのリストに追加する必要があります。これを行うには、次の手順に従います。
- Webmin Servers Indexモジュールを使用してリモートシステムを追加し、ユーザー名とパスワードを指定してください。ただし、マスターサーバーを管理する場合は、これを行う必要はありません。
- このモジュールでは、[*サーバーの追加*]ボタンの横にあるメニューからシステムを選択し、クリックします。メニューには通常、特別なエントリこのサーバーが含まれます 、マスターシステムです。ただし、すでに追加されているサーバーは含まれません。または、グループにサーバーを追加の横にあるメニューからサーバーのグループ全体を選択することもできます。 。グループは、WebminServersIndexモジュールでも定義できます。
- 追加されたすべてのホストと各ホストのパッケージ数を示すページが表示されます。ホストに接続できない場合、またはRPCログインが失敗した場合は、代わりにそのホストの問題を説明するエラーメッセージが表示されます。
- モジュールのメインページに戻ります。このページに、各ホストの新しいアイコンが表示されます。
サーバーを追加する際の問題の最も一般的な原因は、WebminServersIndexモジュールでそのホストに入力された誤ったユーザー名またはパスワードです。他のユーザーのログインではなく、rootまたはadminログインを提供する必要があります。ファイアウォールが2つのホスト間の接続をブロックしている場合、またはマスターWebminサーバーがRPC HTTP要求を許可しないHTTPプロキシを使用するように構成されている場合も、追加が失敗する可能性があります。
パッケージのインストール
パッケージは、ソフトウェアパッケージモジュールの単一のホストにインストールするのと同様の方法で、このモジュールを使用して複数のホストにインストールできます。最初に、SoftwarePackagesの*新しいパッケージのインストール*セクションを読む必要があります。このセクションでは、インストールに関するさまざまなパッケージシステムの違いについて説明しています。
従う手順は次のとおりです。
- メインページで、[新しいパッケージのインストール]まで下にスクロールします 形。
- パッケージファイルがすでにマスターシステム上にある場合は、ローカルファイルからを選択します。 隣接するテキストフィールドにフルパスを入力します。一部の管理対象システムがNFSを使用してマスターとファイルを共有し、パッケージファイルが同じディレクトリに存在する場合、RPCを使用して各管理対象ホストにファイルを転送する必要がないため、このオプションが最も効率的です。代わりに、リモートWebminサーバーはNFSマウントされたファイルシステムから直接それを読み取ります。
- ブラウザが実行されているPCにパッケージファイルがある場合は、ファイルのアップロードからを選択します。 参照をクリックします ボタンをクリックして選択します。
- ファイルがWebまたはFTPサイトにある場合は、[*ftpまたはhttpURLから*]を選択し、テキストフィールドに完全なURLを入力します。通常、マスターサーバーはファイルをダウンロードしてから、RPCを使用して各管理対象ホストに転送します。 [*各サーバーでパッケージを再ダウンロードする必要がある*]チェックボックスがオンになっている場合、代わりに各ホストがダウンロードを実行します。これは、URLがローカルネットワーク上のWebサーバーを参照している場合に効率的です。
- インストールをクリックします ボタンをクリックして、パッケージファイルのダウンロードの進行状況(必要な場合)、パッケージ名、およびインストールオプションを選択するためのフォームを表示するページに移動します。これらのオプションは、使用しているパッケージシステムによって異なり、ソフトウェアパッケージで詳しく説明されています。
- デフォルトでは、パッケージはすべての管理対象システムにインストールされます。ただし、インストールするサーバーから選択することで、1つまたはグループのメンバーに制限できます。 メニュー。これは、パッケージが特定のシステムにのみ適切である場合に役立ちます。 それを持たないホストを選択することもできます このパッケージのいずれかのバージョンがすでにあるシステムでのインストールの試行をスキップするようにモジュールに指示します。これにより、アップグレードも試行されなくなります。
- インストールをクリックします もう一度先に進みます。これにより、各管理対象ホストからの結果を示すページが表示されます。あるシステムではインストールは成功する可能性がありますが、依存関係の問題またはパッケージがすでにインストールされているために別のシステムでは失敗する可能性があります。インストールはすべての管理対象システムに同時に実行されるため、1つずつ完了するのを待つ必要はありません。
パッケージの検索
このモジュールは、各システムにインストールされたパッケージの独自のローカルホストを保持するため、すべての管理対象ホスト間でパッケージをすばやく検索するために使用できます。パッケージの詳細を検索して表示するには、次の手順に従ってください。
- モジュールのメインページで、検索語( Mozilla など)を入力します )パッケージの検索の横のフィールドに入力します ボタン。ページをクリックすると、一致するすべてのパッケージが表示されるか、パッケージが見つからない場合はエラーメッセージが表示されます。正確に1つのパッケージが一致する場合は、その編集ページに直接移動します。
- 複数のパッケージが一致する場合は、リストで表示するパッケージの名前をクリックします。これにより、インストールされている各ホストの完全な詳細とアイコンを示す編集ページが表示されます。詳細は、それがインストールされている最初のシステム、または可能であればマスターサーバーから取得されます。
- パッケージに含まれているファイルを表示するには、[ファイルの一覧表示]の横にあるメニューからホストを選択します ボタン。それをクリックすると、ソフトウェアパッケージモジュールの同様のリストのように、そのホストからのパッケージ内のファイルの詳細を示すページが開きます。
- パッケージがインストールされているホストの詳細を表示するには、パッケージ編集フォームのアイコンをクリックします。これにより、*サーバーの探索と削除*セクションで説明されているページに移動します。
同じパッケージの多くの異なるバージョンがネットワーク内の異なるシステムにインストールされる可能性は十分にあります。これにより、バージョン 1.0 の詳細が表示される可能性があるため、パッケージの詳細が少し混乱する可能性があります。 ほとんどのシステムが実際にバージョン2.0を実行している場合の一部のパッケージの 。パッケージ内のファイルのリストは、バージョン間や、さまざまなLinuxディストリビューションベンダーの同じプログラムの異なるパッケージ間でも大幅に異なる可能性があります。
パッケージの削除
不要になった場合は、このモジュールを使用して、インストールされているパッケージを1つまたはすべてのホストから削除できます。これは次のように実行できます。#パッケージの検索の手順に従って、削除するパッケージを検索します。 セクション。
- 1つのホストから削除するには、アンインストール元の横のメニューからホストを選択します ボタン。すべてから削除するには、*<すべてのホスト>*を選択したままにします。モジュールがパッケージがオンになっていることを認識しているホストのみがメニューに含まれます。
- ボタンをクリックして、削除されるファイルの数とバイト数を示す確認ページを表示します。パッケージシステムによっては、このページに、依存関係のチェックが行われるかどうかなど、アンインストールオプションを設定するためのフィールドが含まれる場合があります。
- 削除を押します ボタンをクリックして削除を続行します。削除は、プロセスを高速化するために、選択したすべてのシステムで同時に実行されます。削除される各システムの結果を示すページが表示され、システムが成功したかどうか、または失敗した理由が示されます。これらの最も一般的な失敗の原因は、他の人によるこのパッケージへの依存です。 *<すべてのホスト>*が選択された場合、モジュールはパッケージがインストールされていると見なすシステムからのみそれを削除しようとします。
サーバーの探索と削除
このモジュールを使用すると、管理対象システムとそれが具体的にインストールしたパッケージの詳細を表示できます。これは、システムに異なるパッケージセットがある場合に役立ちます。システム上のソフトウェアを制御する必要がなくなった場合は、このモジュールからソフトウェアを削除することもできます。
管理対象サーバーの詳細とパッケージを表示するには、次の手順を実行します。
- モジュールのメインページにあるアイコンをクリックします。これにより、ホストが実行しているオペレーティングシステムとパッケージカテゴリのツリーを示すページが表示されます。ソフトウェアパッケージモジュールの場合と同様に、このツリーのカテゴリ名をクリックして開き、それらに含まれるサブカテゴリとパッケージを表示できます。
- パッケージの詳細を表示するには、ツリー内のアイコンをクリックします。各アイコンは、パッケージの検索で説明されているパッケージ編集フォームにリンクしています。 セクション。1つまたはすべてのホストから削除できます。ただし、表示される詳細は、必ずしもこの管理対象システムからのものであるとは限りません。
- このシステムをモジュールのコントロールから削除するには、管理対象リストから削除をクリックします。 パッケージツリーの上。これにより、インストールされたパッケージリストのマスターシステムのコピーのみが削除されるため、確認を求めずに削除が行われます。
パッケージリストの更新
このモジュールを介さずにパッケージが管理対象システムにインストールまたは削除された場合、そのパッケージのリストは正しくなくなります。後でリストが更新される限り、これは問題ありません。これは、次の手順に従って実行できます。
- パッケージリストの更新をクリックします メインページのボタン。
- 各管理対象システムの結果を示すページが表示され、見つかった新しいパッケージまたは存在しなくなった古いパッケージが一覧表示されます。何らかの理由で連絡できない場合は、エラーメッセージが表示されます。インストールと削除の場合と同様に、管理対象サーバーが多数ある場合は、プロセスを高速化するために更新が並行して実行されます。