One way to achieve High Availability and redundancy is to setup two servers, each with their own instance of Evolynx RADIUS server and SQL server. The two SQL servers are mirrored (using SQL server 2005/2008 mirroring), one primary and one secondary. Evolynx RADIUS will be running on each server, but both will use the same connection strings (using the same primary and failover databases). All NAS devices (RADIUS Clients) will be configured to use one of the RADIUS servers as primary and one as secondary.
If SQL server fails on any of the servers, Evolynx RADIUS (on both servers) will know how to failover to the other server. If RADIUS server fails on any of the servers, NAS device knows how to use the other one.
In order for Evolynx RADIUS to work with SQL server failover, a small change needs to be applied to the connections strings in both RADIUS Server and Web Admin. Open the “Settings.xml” file using a text or XML editor and modify the connection string to include “Failover Partner=<YourPartnerServerName>”. Items in connection string are separated by “;”. For web admin program, modify web.config file the same way.
See Database Mirroring in SQL Server (ADO.NET) for more information.
Another approach which is more scalable is to create a cluster of SQL servers on a set of boxes, load balance them, and create a series of RADIUS servers on a separate set of boxes, and load balance those as well. This will be more expensive and harder to manage.