現在私が働いているところでは、サーバーファームのLinux部分を管理する必要があります。これは300を超えるLinuxサーバーです。これには、主にHP Proliantsが含まれ、その後にIBM 3850、一部のIBMブレード、VMware ESX、および内部管理サーバー用の一部のKVMが含まれます。
コブラー
cobblerを調べましたが、問題はcobblerがRHEL / Red Hat固有であるということでした。少なくともRHELとSLESをサポートする必要があり、Ubuntuが次です。
人形
私たちは人形を検討しましたが、Rubyに依存しているため、後で決定しました。つまり、Rubyのアップグレードは管理システムを破壊する可能性があることを意味します。
熱線
Hotwireは私たちが使用するもので(社内で開発されていますが、オープンソースです)、過去数年にわたってそうしています。最初に構築するシステムのインベントリを作成します。つまり、データセンター、ラック、ハードウェア、オペレーティングシステム、ネットワークなどのインベントリを作成し、次に迅速なビルドと展開を実行します。システムが構築されると、hotwireの自動インベントリは、cfengineが維持する間、インベントリの同期を維持します。Hotwireは、python-dmidecodeを介してBiosのSMBIOS / DMIデータと通信することにより、サーバーハードウェアを認識します。
ボーナスポイントは、インベントリとビルドプロセスが1つにまとめられているため、管理する手間が少なくなり、ライブインベントリ機能は、何かが正しくないかどうかがわかるように素晴らしいことです。
欠点は、ユーザーインターフェイスをまだ磨く必要があり、バグがあることですが、開発はまだ活発であり、報告されたバグは比較的迅速に修正されます。
cfengine
cfengineを使用するのは、それとパペット以外には何もないからです。実際には優れたツールですが、ポリシーがどれだけ優れているかという関数としてのみ「優れた」ものです。危険なポリシーを設定すると、小さな間違いが多くの損害を引き起こす可能性があります。たとえば、ポリシーにより、ファイルを「変更」することはありません。ファイルを置き換えるか、または変更しません。また、置き換えられるすべてのファイルにはヘッダーがあり、編集者に次回の実行時に置き換えられることを知らせます(cronを1時間ごとに実行します)。
cfengineによってサーバーにプッシュされた構成およびすべてのファイルもSCMに保持され、可能な場合はポストコミットフックを使用して構文をチェックし、失敗した場合、コミットは拒否されます。これは、Apacheなどの優れたアプリケーションでは簡単ですが、ほとんどのエンタープライズアプリケーションではそれほど簡単ではありません。