web-dev-qa-db-ja.com

冗長なFreeRADIUS + MySQL

私は、Debian上のFreeRADIUS + MySQLによってAAAが実装されているWebサービスに取り組んでいます。

私が現在取り組んでいる問題は、HAとRADIUSのスケーラビリティです。 FreeRADIUSマシンまたはMySQLマシンがダウンすると、サービス全体がダウンします。

次のホワイトペーパーを確認しました。

http://www.mysql.com/why-mysql/white-papers/mysql_wp_ha_auth_account.php

http://www.mysql.com/why-mysql/white-papers/mysql_wp_scaling_web_databases.php

今、私は次の一連の質問があります:

  1. 2つのFreeRADIUSサーバーがその整合性を「壊す」ことなく同じMySQLデータベースを使用できることを理解できる限り、それは正しいですか?もしそうなら、そのようなセットアップのパフォーマンス上の欠点は何ですか?
  2. HAをアーカイブするために何を冗長にする必要がありますか?それはFreeRADIUSサーバー自体ですか、それともMySQLデータストアだけですか、あるいはその両方ですか?アーカイブのスケーラビリティには何を冗長化する必要がありますか?
  3. RADIUSサーバーを乗算した場合、インターネット上に分散されたWebサーバーに負荷分散をどのように実装できますか?
  4. インターネット経由でMySQLClusterを配布するにはどうすればよいですか? (レプリケーションを使用して、両方のクラスターメンバーを同じローカルネットワークに残す必要がありますか?
1
Aleksa
  1. 実際、複数のFreeRadiusサーバーをMySQL Clusterに接続することは可能です。これにより、両側(RadiusとSQL)でHAが提供されます。
  2. Nr2の質問も。少なくとも2台のマシンのMySQLクラスターを作成する必要があります。また、FreeRadiusがインストールされている少なくとも2台のマシンが必要です。明らかに、MySQLとFreeRadiusの両方を備えた2台のマシンを各マシンにインストールできます。これは、インストールのサイズとクライアントの数によって異なります。
  3. これは、Radiusクライアントの実装方法に大きく依存しますが、複数のサーバーをサポートしていますか?重みまたは優先順位をサポートしていますか?
  4. MySQLには、クラスターを構築するためのいくつかのオプションがあります。このために、MySQL Clusterホワイトペーパーを提案し、ニーズに最適なオプションを選択します。
2
Flash
  1. RADIUSサーバーを使用しても、データの整合性が損なわれることはありません。要求を受信したRADIUSサーバーのみが、適切な認証/アカウンティングクエリを実行します。また、必要に応じてDBレベルでのロックを使用できます。
  2. 冗長性を提供するには、RADIUSサーバーとmysqlDBの両方を複製する必要があります。
  3. RADIUSサーバーの前にロードバランサーが必要です。これはUDPベースのロードバランサーである必要があります。検討できるもう1つのオプションは、サービスからのリクエストを手動で負荷分散することです(たとえば、複数のIPの1つをランダムに選択し、それをRADIUSとして使用できますサーバ)。これは、サービスの実装によって異なります。
2
Khaled