Clustering ties multiple servers into a single logical server for users to access. Think of it like RAID, but for the whole server.
Uses for Clustering
- Failover – If a physical server fails services will continue to be provided by other servers in the cluster
- Load Balancing – Traffic can be routed servers based on resource utilization
- High Performance – Compute services can be assigned to different servers in the cluster
- NAS High Availability (Synology) – multiple NAS devices can synchronize data, and if the heartbeat signal fails the other NAS will automatically promote itself to be primary NAS
- Active Directory (Database) – AD Servers can be clustered for failover, and also be positioned to be geographically closer to the end user
- Hypervisor Cluster (VMware) – Server instances are in a hypervisor running on physical machine. If a machine fails the instance will be automatically migrated to another physcical machine.
- Replication Strategy – when data is written to one server by a user, that data must then be written to the other servers in the cluster. This process has to be configured based on your requirements.
- Split Brain – If a heart beat signal is lost for non system failure reasons the secondary server may promote itself to be the primary server. When this happens users may be routed to both servers and changes will be haphazardly spread between the two servers.
- Notifications – Make sure to setup notifications for problems. Since system failures will not be easily seen by users you may have major hardware issues build up without realizing it.