ネットワークインストールを介して500Linuxシステムを同時にインストールしようとしている場合、ボトルネックはNFS/HTTP/FTPまたはインストールに必要なファイルを保持しているサーバーになります。
IMO、これは、インストールサーバーを追加してから、それらをラウンドロビンすることによってのみ解決できます。
この問題に対するより良い解決策はありますか? 「P2PLinuxインストール」のようなものですか?
更新:状況をより具体的に説明する必要があります。現在、kickstart + NFSを使用してRHELをデプロイしています。 500 RHELを同時にデプロイしようとすると、NFSサーバーに大量のトラフィックが発生し、すべてのインストールプロセスが遅くなります。より多くのNFSサーバーをセットアップすることは解決策ですが、それは良いものではないと思います。
これは通常、マルチキャストイメージングが登場する場所です。 Clonezillaやghostのようなものは、データマルチキャストの送信をサポートします。これにより、画像を1つのシステムにプッシュするのと基本的に同じ速度で、500のシステムすべてに一度にイメージをプッシュできます。
Avalancheインストーラーrocks linuxクラスターディストリビューションは、ビットトレントベースであり、適切に拡張できます。また、PXEブートから実行中のシステムに移動します。ただし、あなたは岩(CentOSベース)を使用し、岩のように物事を行うことに縛られています。
SystemImager ビットトレントを使用して大量展開を高速化することもできます。
マルチキャストは複雑になるため、使用しません。まず、NFSトラフィックを最小限に抑えるようにします。つまり、HTTP経由でインストールする必要のあるパッケージを取得します。パッケージリポジトリのWebサーバーが過負荷になった場合は、そのうちの2つを使用し、各クライアントに異なるサーバーを割り当てて負荷を分散します(たとえば、IPアドレスを2を法として)。
より多くのnfsdデーモンが起動される場合、NFSサーバーはより高速になる可能性があります。多くの場合、そのうちの8つだけが開始されます。
FAIを使用して(PXE、NFS、HTTP経由で)Debianインストールのトラフィックを測定しました。 4.2GBのソフトウェアをインストールすると、1.3GBのHTTP(すべてのパッケージ)と100MBのNFSトラフィック(インストール中のnfsroot)がネットワーク経由で送信されました。これは1つのインストールクライアント用でした。したがって、NFSトラフィックを減らし、HTTPトラフィックを分散することが大いに役立つと思います。
10 GB NICサーバーまたはボンディングサーバーNICでも役立ちます。また、すべてのマシンを同時にインストールする必要はなく、短時間でインストールする必要があると思います。
しかしとにかく、最初にあなたはあなたのボトルネックが何であるかを分析しなければなりません。したがって、いくつかのテストを20台のマシンに署名しないようにします。
インストールを実行するのではなく、イメージのデプロイに切り替えることができない限り、bittorrentまたはマルチキャストを使用する方法がわかりません。そうでない場合は、ここに問題に取り組む1つの方法があります。
ボトルネックについてもっと詳しく考えてみましょう。 CPUはボトルネックではありません。 NFSは多くの処理能力を必要としません。ディスクはボトルネックではありません。 RHELのインストールに必要なファイルは数ギガバイト以下であるため、NFSサーバーのRAMに簡単に収まるはずです。ネットワークスループットは間違いなくボトルネックです。インストールされている1つのシステムが1秒間に平均50メガビットを要求すると仮定すると、500のインストールをフィードするには、少なくとも25ギガビットの帯域幅が必要になります。それは多くのNIC、またはいくつかの非常に高価なNICです。
これは、理にかなった範囲で、より多くのハードウェアを投入してパフォーマンスを向上させようとすべきではないという意味ではありません。 NFSサーバーで実行可能な限り多くのNICを取得し、それらを結合します。時間とコストを正当化できる場合は、NFSサーバーをさらにセットアップします。もちろん、NFSサーバーが 十分に調整されている であることを確認してください。
ハードウェアを追加するかどうかに関係なく、ネットワークの輻輳を回避し、スループットのピークとトラフのバランスをとることで、パフォーマンスが向上するかどうかを確認してください。これを行うには、インストールをバッチに分割します。単一のインストールを実行し、インストール中のスループットをグラフ化します。そのグラフを見て、同時に開始できるインストールの数と、より多くのバッチを開始するのに最適な時期を判断します。
たとえば、NFSサーバーから4Gb/sを転送できるとします。インストーラーのダウンロード中に最初の1分間はインストールが100Mb/sをコピーし、インストーラーがパーティション分割のように機能している間は1分間データをコピーせず、その後3分間は50Mb/sをコピーします。インストーラーはパッケージをダウンロードして抽出します。これを知っていると、40回のインストールを開始し、1分間待機し、さらに40回のインストールを開始し、5分間待機してから、プロセスを繰り返すことができると計算できます。
ファイルの大量展開に関しては、bittorentに基づいてTwitterによってもたらされた解決策がすでにあります: Murder 。
サーバーにOSをインストールすることについて話している場合、明らかにこのソリューションでは機能しません。