Linuxシステムの大規模展開のベストプラクティスは何ですか?


9

同時にネットワークインストールを通じて500 Linuxシステムをインストールしようとしている場合、ボトルネックはNFS / HTTP / FTPまたはインストールに必要なファイルを保持しているサーバーです。

IMO、これは、インストールサーバーを追加してラウンドロビンすることによってのみ解決できます。

この問題に対するより良い解決策はありますか?「P2P Linuxインストール」のようなものですか?

更新:私は自分の状況をより具体的に説明する必要があります。現在、私はキックスタート+ NFSを使用してRHELを展開しています。500 RHELを同時に展開しようとすると、NFSサーバーに大量のトラフィックが発生し、すべてのインストールプロセスが遅くなります。より多くのNFSサーバーを設定することは解決策ですが、私はそれが良いとは思いません。


何をしたいですか?ベースシステムをインストールし、後でシステムを管理しますか?構成またはアプリケーションを展開しますか?
シャカランディー

@shakalandyキックスタート+ NFSを使用してRHELを展開しています。500 RHELを同時に展開しようとすると、NFSサーバーに大量のトラフィックが発生し、すべてのインストールプロセスが遅くなります。より多くのNFSサーバーを設定することは解決策ですが、私はそれが良いものだとは思いません。
yegle

回答:


7

これは通常、マルチキャストイメージングが登場する場所です。Clonezillaやghostのようなものはデータマルチキャストの送信をサポートしており、イメージを1つのシステムにプッシュするのと基本的に同じ速度で500のシステムすべてに一度にイメージをプッシュできます。


3

雪崩のインストーラのLinuxクラスタディストリビューションは、うまくビットトレントベースとスケールです。また、PXEブートから実行中のシステムに移動します。ただし、岩(CentOSベース)を使用し、岩のように物事を行うことに縛られています。



1

これにより状況が複雑になるため、マルチキャストは使用しません。まず、NFSトラフィックを最小限に抑えます。つまり、HTTP経由でインストールする必要があるパッケージを取得します。パッケージリポジトリのWebサーバーが過負荷になった場合は、そのうちの2つを使用し、各クライアントに異なるサーバーを割り当てることで負荷を分散します(たとえば、2を法とするIPアドレス)。

より多くのnfsdデーモンが起動される場合、NFSサーバーはより高速になる可能性があります。多くの場合、そのうちの8つだけが開始されます。

FAIを使用して(PXE、NFS、HTTP経由で)Debianインストールのトラフィックを測定しました。4.2GBのソフトウェアをインストールすると、1.3GBのHTTP(すべてのパッケージ)と100MBのNFSトラフィック(インストール時のnfsroot)がネットワーク経由で送信されました。これは、1つのインストールクライアント用でした。したがって、NFSトラフィックを削減し、HTTPトラフィックを分散させると、非常に役立つと思います。

サーバーの10 GB NICまたはサーバーNICのボンディングも役立ちます。また、すべてのマシンを同時にインストールする必要はなく、短時間でインストールする必要があると思います。

しかしとにかく、最初にボトルネックが何になるかを分析する必要があります。たとえば、いくつかのテストで20台のマシンをunsigします。


0

インストールを実行するのではなくイメージの展開に切り替えることができない限り、ビットトレントまたはマルチキャストを使用する方法はわかりません。そうでない場合のために、これは問題に取り組む1つの方法です。

ボトルネックについてもっと詳しく考えてみましょう。CPUはボトルネックではありません。NFSは多くの処理能力を必要としません。ディスクはボトルネックではありません。RHELのインストールに必要なファイルは数ギガバイトを超えないため、NFSサーバーのRAMに簡単に収まるはずです。ネットワークスループットは明らかにボトルネックです。インストールされている1つのシステムが1秒あたり平均50メガビットを要求すると仮定すると、500インストールを供給するには少なくとも25ギガビットの帯域幅が必要になります。それは多くのNIC、またはいくつかの非常に高価なNICです。

これは、理由により、ハードウェアを増やすことでパフォーマンスを向上させようとするべきではないという意味ではありません。NFSサーバーで可能な限り多くのNICを取得し、それらを結合します。時間とコストを正当化できる場合は、より多くのNFSサーバーをセットアップします。もちろん、NFSサーバーが適切に調整されいることを確認してください。

ハードウェアを追加するかどうかに関係なく、ネットワークの輻輳を回避し、スループットのピークと谷のバランスをとることによってパフォーマンスが向上するかどうかを確認します。これを行うには、インストールをバッチに分割します。単一のインストールを実行し、インストール中のスループットをグラフ化します。そのグラフを見て、同時に開始できるインストールの数と、より多くのバッチを開始するのに最適な時期を判断します。

たとえば、NFSサーバーから4Gb /秒を転送できるとします。インストーラがダウンロードされている間、最初の1分間は100Mb / sがコピーされ、その後、インストーラがパーティション分割のように機能している間は1分間データがコピーされず、50Mb / sが3分間コピーされます。インストーラーはパッケージをダウンロードして抽出します。これを知っていれば、40回のインストールを開始し、1分間待機し、さらに40回のインストールを開始し、5分間待機して、プロセスを繰り返すことができると計算できます。


0

ファイルの大量配備に関しては、bittorent:Murderに基づいたTwitterによるソリューションがすでに存在します。

サーバーへのOSのインストールについて話している場合、明らかにこのソリューションでは機能しません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.