GNU/Linux >> Linux の 問題 >  >> Linux

Linux 一括/リモート管理

それは、正確に何が必要で、何を探しているかによって異なります。しかし、一般に、「構成管理には次のような複数のソリューションが存在します:

<オール>
  • 操り人形
  • シェフ
  • cfengine
  • 可能な
  • 個人的にはパペットをお勧めします。大きなコミュニティがあり、外部から提供されたレシピがたくさんあるからです。これにより、システムを自動的に構成および管理できます。これを独自のリポジトリと自動更新と組み合わせると、たとえばunattended-upgrades システムを自動的に更新できます。

    別の解決策は、 company-base のような独自のパッケージを提供することです など、必要なソフトウェアに自動的に依存し、システムを自動的に構成できます。

    自動展開 (ベアボーンおよび仮想化) も検討する必要があります。これを構成管理または独自のリポジトリと組み合わせると、システムを簡単に自動化して再インストールできます。自動インストールを開始したい場合は、libvirt とベアボーン インストールをサポートし、puppet サポートを統合した forman を参照してください。自分でやりたい場合は、キックスタート (redhat など) または「preseed」を調べて、システムを自動的に構成できます。 Debian の場合、仮想化イメージをサポートする debootstrap や grml-debootstrap という名前のラッパーなどを使用することもできます。

    開発者に VirtualBox イメージを提供するのに役立つ vagrant を見ると、仮想環境をカスタマイズするためのシェフ、パペット、およびシェル スクリプトをサポートする VirtualBox を使用して、仮想化システムの作成を自動化できます。

    既存のプロバイダーでソリューションを使用したい場合は、彼らがシステムをどのように管理しているかを尋ねる必要がありますが、それはおそらく何らかの構成管理になるでしょう.構成サーバーにアクセスできる場合は、システムでエージェントを実行できる可能性があります。

    Google キーワードについては、devops を調べてください 、 configuration managementit automation および server orchestration .

    要するに、可能な限り自動化し、手動で行うことさえ考えないでください。


    Ulrich は、ソフトウェアの展開と自動化されたサーバーのセットアップに関する回答を既に提供しています。

    この背後にある原則は

    • サーバーがどのように見えるかを定義します。これには、デフォルトでインストールされる一般的なソフトウェア、パーティショニング スキーム、およびファイル システム レイアウトが含まれます
    • 本番、ステージング、テスト、および開発サーバーは、これらの基本的な基準に関して異なるべきではありません (そうでなければ、後で問題に遭遇します - あなたがしたように)
    • 適切な変更管理を使用して、行ったすべての変更を文書化します (構成内の小さな 1 行の変更を含む)
    • 常に最初にテスト、次に開発、次にステージング、最後に本番環境で変更しますか

    あなたは大量のサーバーを管理するための便利なツールを求めていました - 私の個人的なお気に入りは cluster-ssh (cssh) )。 1 回入力するだけで、多数のサーバーで同時に変更を行うことができます。

    問題を発見し、問題を解決する修正がある場合:

    <オール>
  • 実際に機能する場合は、Test/Dev/Staging/Prod (上記を参照) に修正を適用します
  • 仮想テンプレートに修正を適用して、将来の VM クローンにそのバグが発生しないようにします
  • 物理的なインストール プロセス (kickstart/autoyast/whatever) に修正を適用します
  • すべてのサーバーに修正を適用
  • 大量のサーバーを修正する必要がある場合、これは十分に文書化する必要があるプロセスであり、最後に別のチームが修正が完全に適用されているかどうかを確認する必要があります。

    そのために Mantis (オープンソース、PHP) を採用しています。


    複数の国で約 30 の製品と数百のサーバーを管理しています。私はソフトウェア構成マネージャーであるため、(設計上) ルート アクセス権がなく、データベースやそのサーバーに触れず (これも設計上)、企業のセキュリティのために多くのフープをジャンプする必要があります。ただし、データベースのリンクや変更を含め、テスト、ステージング、本番環境で構成を管理しています。 ssh の組み合わせを使用してサーバーに送信するスクリプトがいくつかあります 、 python およびシェル スクリプト。

    主な考慮事項は次のとおりです。

    <オール>
  • サーバーとのやり取りはどのようなものですか?ファイルのアップロードだけですか?コマンドライン プログラムを実行していますか?リモート X クライアントを実行していますか?
  • これらのサーバーにアクセスするには、どのレベルのセキュリティが必要ですか?ファイアウォール、安全なネットワーク、vpn? ssh です 十分で、中央の安全な場所からですか?
  • 各サーバーでどの程度自動化できますか?各サーバーにプログラムをインストールして実行できますか、それとも ssh のような方法でプログラムをストリーミングする必要がありますか? リモートで実行するには? expect でスクリプト化できますか それともコマンドライン呼び出しですか?
  • VirtualBox は ssh だけで管理できる多くのコマンドライン ツールを提供します または puppet のようなシステム Ulrich が述べているように。


    Linux
    1. Linuxバルク/リモート管理?

    2. Linux – Vm Dnsサーバーをオーバーライドする方法は?

    3. Linuxサーバーでのブロックストレージの構成

    1. Linux用の5つの最高のリモートデスクトップアプリ

    2. LinuxにリモートWindows共有をマウントする方法

    3. リモートLinuxサーバーを強制的に再起動します

    1. LinuxでリモートMySQL接続を追加するにはどうすればよいですか?

    2. 最高の Web Linux サーバー

    3. 管理 Linux サーバー