負荷分散を始めようとしていますElasticHosts クラウド サーバー、そのシステムでは VRRP の使用が許可されていません。
標準の Debian/Ubuntu 用に事前にパッケージ化された非 VRRP ロードバランサーを知っている人はいますか?
非VRRPを試してみたウルトラモンキーしかし、ソフトウェアは古くなってきており、パッケージも整っていません。最後のリリースは Debian Sarge 用でした。
アドバイスをありがたく受け取りました。
答え1
UltraMonkey は、本質的には、Linux ボックスでロード バランサーを構築するときに役立ついくつかのコンポーネントを包括するプロジェクトです。コンポーネントは次のとおりです。
ipvs
. ほとんどのディストリビューションの標準カーネル (2.6 以降) に存在し、モジュールとしてコンパイルされています。実行してmodinfo ip_vs
カーネルに存在するかどうかを確認してください。現在も開発中ですが、ごく最近 IPv6 サポートが追加されました。コードはカーネル標準に準拠している必要があり、非常に優れたパフォーマンスが得られます。http://www.linuxvirtualserver.org/software/ipvs.html詳細については。ipvsadm
。IPVS の管理に使用するコマンドライン ツール。仮想グループへのバックエンド サーバーの追加や削除、サーバーの重みの設定、スケジュール アルゴリズム (ラウンドロビン、重み付け最小接続など) の選択などを行うことができます。Debian についてはわかりませんが、ipvsadm v1.2.5-1 は標準の Ubuntu リポジトリに存在し、2011 年 2 月にリリースされた v1.26 も利用可能です。したがって、システムで a: を実行してからsudo apt-get install ipvsadm
a を実行するとman ipvsadm
、完全な詳細が表示されます。ldirectord
これは Perl で書かれたヘルスチェックデーモンで、ipvsadm への便利なインターフェースとしても機能します。これを使用すると、複数の ipvsadm コマンドを自分でスクリプト化する必要はなく、ipvs 構成の設定ファイルを管理できます。バックエンドサーバーでは、さまざまな種類のヘルスチェックを実行できます。繰り返しになりますが、ldirectord は (少なくとも Ubuntu では) 標準リポジトリ経由でインストールでき、現在も開発中です (2011 年 6 月に IPv6 が変更されました)。- Linux-HA。さらに複雑なことに、これもまた、実際には ldirectord を含む組み合わせプロジェクトです。ただし、前述のように、リポジトリを介して ldirectord を単独でインストールできます。私の知る限り、Linux-HA が提供する主な追加機能は Heartbeat です。これにより、2 つ (またはそれ以上) のロード バランサーをクラスタ化できます。これらのロード バランサーは (当然のことながら) 互いにハートビートを送信して、互いの状態を認識し、必要に応じてフェイルオーバーします。ここで VRRP との違いが出てきます。通常は、1 つのロード バランサーでのみ仮想 IP をアクティブ (つまり「アップ」) にして、VIP の ARP 要求に応答するマシンが 1 つだけになるようにします。そのため、ロード バランサーはアクティブ/パッシブ状態になり、スレーブ ノードがマスターの障害を検出すると、仮想 IP を「アップ」します。両方のノードで仮想 IP がアップしている場合は、一般に「スプリット ブレイン」と呼ばれる問題が発生しています。Heartbeat の詳細:http://www.linux-ha.org/wiki/ハートビート。
UltraMonkey プロジェクトのメンテナンスが不足しているのは、個々のコンポーネントが現在では一般的なディストリビューションで (バイナリ形式で) 広く利用できるようになっているためではないかと想像します。これは 5 年以上前であればあり得なかったことです。
上記の方法でこれらのコンポーネントを使用すると、ロード バランサが専用のマシンであるため、元の計画と異なる可能性があることに注意してください。つまり、これらすべてをアプリケーション サーバーにインストールするわけではありません。代わりに、ipvs ボックスがバックエンド サーバーの前に配置され、そのスケジューリング アルゴリズムとその他の構成パラメータ (重みなど) に従ってトラフィックをバックエンド サーバーに「直接」送信します。
レイヤー 4 で負荷分散を行う特別な必要性 (通常はパフォーマンス上の理由) がない限り、十分な負荷分散機能を備えたレイヤー 7 プロキシである HAProxy も検討してください。ServerFault には、HAProxy に関するよく回答された質問が多数あります。また、ハートビート/フェイルオーバーと仮想 IP の管理に関しては、Linux-HA の Heartbeat の代替として keepalived を検討してください。