Redundancy recommendation.

Alan DeKok aland at deployingradius.com
Thu Aug 12 16:58:26 CEST 2021


On Aug 12, 2021, at 10:45 AM, Pizu <pizpower at gmail.com> wrote:
> I have 2 FreeRadius + MySQL servers in 2 different locations and everything
> is working with no issues, now I'd like to add redundancy for MySQL.

  What kind of redundancy?  radacct, or radcheck?  They're different.

  For radcheck / radreply, use MySQL replication.

  For radacct, use detail files and proxying.  i.e. have RADIUS1 proxy to RADIUS2, and RADIUS2 to RADIUS1.

  See raddb/copy-acct-to-home-server for examples.

> Options:
> 1) MySQL MASTER/MASTER Replication
> 2) MySQL Master/Slave
> 3) FreeRadius SQL redundancy
> 4) any other idea?
> 
> I have already tested the option 1 but am not happy with it as am have some
> errors with the accounting id in the db as am having duplicate entries.

  Yes.  MySQL does row-level replication.  It doesn't know what the rows *mean*.  So it can't deal with differences or conflicts.

  FreeRADIUS understands what the rows mean, so it can deal with differences and conflicts.

> For
> option 3 when the local mariadb is stopped the server doesn't start, is it
> normal?

  Yes.  See the "pool" section of mods-available/sql.  This is documented.

  A related question is "what do you want FreeRADIUS to do when SQL is down?"

  i.e. if the SQL server is down, where do the packets go?

  See raddb/sites-available/buffered-sql

  There are a ton of examples in the sites-available directory.  Many common situations are documented extensively.

  Alan DeKok.




More information about the Freeradius-Users mailing list