OpenNetでの新しいサーバーディストリビューションMandriva Enterprise Server 5.1のリリースに関連して、コンピューターのインベントリデータベースの管理、マシングループへのアプリケーションのインストールと更新、サービスの診断、リモート管理などの機能を含むPulse 2プラットフォームに関するニュースが登場しました。 当社は現在これらの問題の解決に取り組んでいるので、もちろん、私たちは自分の手でそれを「触る」ことにしました。
私が最初に目を引いたのは、このプラットフォームのルーツが、Mandriva自体と同様にフランスにある長く有名なOCS Inventoryプロジェクトから成長したことです。 たとえば、OCSの純粋なPerlスクリプトは、Linuxのクライアントエージェントとして使用されます。 WindowsエージェントはOCSにもとづいているようです(ソースコードが公開されていないのは残念です)。
したがって、Mandrivaのイノベーションはバックエンドにあります。 本当に新しい方法でやるべきことがたくさんあります。 Mandrivaの標準Mandriva管理コンソール(MMC)フレームワークがWebレイヤーとして使用されます。 エージェントからデータを収集するために使用されるOCSのPerlスクリプトは、Pythonインベントリサーバーに置き換えられました。 サービス対象コンピューターへのパッケージのリモートインストールを制御するために、Package ServerおよびSchedulerコンポーネントが追加されます。 リモートネットワークにサービスを提供するために、インストールパッケージの配信時にネットワークトラフィックを節約できるプロキシコンポーネントがあります。
トライアルランのために、Pulse2 Webサイトで利用可能なVmWare仮想マシンのイメージを取得し、Linux、WindowsXP、およびVistaシステムのトライアルインベントリを実施しました。 すべての場合において、システムは動作可能であることが証明されています。 1つのインベントリでネットワーク経由で転送されるデータの量は少ないことが判明しました(Vistaの3KbからMandriva Linuxの40Kbまで-これは、インストールされているすべてのRPMの長いリストによるものです)。 しかし、サーバーのパフォーマンスには多くの疑問が残りました。 仮想マシンに256 MBのメモリを割り当てたテストAMD Athlon 1.2 GHzでは、サーバーは次の各インベントリを50秒ごとに1回しか処理できませんでした(受信データの頻度の増加、サーバーのメモリ使用量の増加、遅かれ早かれサーバーのクラッシュ) もちろん、コンピュータは明らかにかなり脆弱ですが、(それがストレステストであるため)インベントリデータベースに3〜4台のコンピュータしか存在しないことを考慮すると、リソースコストはより低くなる可能性があります。 ところで、Mandrivaは、システムを使用して100,000台以上のコンピューターのインベントリを作成できると主張しています。 この場合、中央サーバーの容量を推測するだけです。
そのため、完成したVmWareイメージで一般的に肯定的な結果が得られたので、サーバーにインストールしようとしています。 パッケージは、Mandriva Corporate Server 4、Mandriva Enterprise Server 5、Redhat Enterprise Server 5、Debian Etch、およびLennyで利用できます。 Debian Lennyでのインストールプロセスは次のとおりです。
ソースを/etc/apt/sources.list構成に追加します。
# Pulse 2
deb pulse2.mandriva.org/pub/pulse2/server/debian lenny stable
これで、通常のDebianツールを使用してpulse2-inventory-serverをインストールできます。
aptitude install pulse2-inventory-server
インベントリサーバーが正常に機能するには、mysqlが必要です。
aptitude install mysql-server
デフォルトでは、インベントリサーバーはインベントリデータベースを使用します。 作成します。
mysqladmin -u root -p create inventory
データベースのユーザーを作成します。 デフォルトでは、pulse2-inventory-serverはmmcユーザーで実行され、mmcパスワードは次のとおりです。
cat >user_add.sql
INSERT INTO user VALUES('localhost','mmc',PASSWORD('mmc'), 'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0);
INSERT INTO db VALUES ('%','inventory','mmc','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');
mysql -u root -p mysql <user_add.sql
mysqladmin -uroot -p reload
サーバーを起動します。
/usr/sbin/pulse2-inventory-server
運が悪い。 データベースは空であり、サーバーは動作しません。 Pulse 2 Webサイトでベースを形成するための何らかのスクリプトを見つけようとしても、成功につながりません。 Pulse 2の準備が整った状態で仮想マシンに戻ります。そこに行き、仮想マシンからダンプベースを作成します。
mysqldump -u mmc -p inventory >inventory_dump_19042010.sql
そして、それを実際のものにロードします:
mysql -u mmc -p inventory <inventory_dump_19042010.sql
インベントリサーバーを再起動し、今度は勝利です!
ところで、他のLinuxシステム(上記のシステムを除く)では、ソースからのインストールが可能です。 サーバーはPythonで作成され、WebフロントエンドはPHPで作成されているため、コンパイルは不要です。 このようにして、Mandriva 2009.0にサーバーを正常にインストールできました。 しかし、これは新しい投稿のトピックです。