Redundancy and failover
[draft:some initial notes]
FreeNAc was designed with Redundancy and load sharing, for high service availability.
In VMPS mode several FreeNAC servers can be defined, if one fails to answer, the switch queries the next FreeNAC server on the list. This does not affect end-devices.
In FreeNAC, there is a concept of a 'main' and 'secondary' server, both of which have mysql adtabases that are synchronised in a multi-master architecture.
Services critical to end-device authenticatiion run on both servers (vmpsd_external, postconnect), allowing seamless failover / redundnacy frojm a service point of view.
Non critical functions and housekeeping tools are run only on the main server, and will not work if the main server fails:
- Snmp_scan, port_scan, ping_switch.php
- Syslog analysis/monitoring: logcheck, monitor2, monitor_allows, flap_detect
- Port control: cron_restart_port
- Statictics: stats.php, statistics.php
- ePO, Wsus synchronisation
- MySql backups
Prior to V3.0.1 (1.Dec.07):
vmpsd_external runs on replicas, and this does not update the DB, it just queries it, and can thus run even if the master dies.
Now on the main we have syslog, vmps_lastseen, nmap /snmp scanning and the SQL queries from the Windows or Web GUI etc. All of these dies of course if the master dies, but that is less critical: end-devices will continue to be authenticated by the replicas.
t is important that no process on the replica/slave server try to insert or change data. Any information they wish to transmit to the master must be sent via syslog.
There is a script monitor_mysql_slave in /bin that should be run often in the slave cron, it alerts you if replication is no longer working.