Migratory Virtual IP Addresses

Learn about clustered servers, virtual IP addresses, and virtual IP addresses before and after an active node fails.

Clustered server

Suppose the server hosting a critical, but not natively clustered, application goes down. The cluster server on its failover node notices the lack of a regular heartbeat from the failed server. This cluster server then decides that the original server has failed. It starts up the application on the secondary server, including mounting any required filesystems. It also takes over the virtual IP address assigned to the clustered network interface.

Virtual IP

Unfortunately, the term virtual IP is overloaded. Generally speaking, it means an IP address that is not strictly tied to an Ethernet MAC address. Cluster servers use it to migrate ownership of the address between the members of the cluster. Load balancers use virtual IPs to multiplex many services (each with its own IP address) onto a smaller number of physical interfaces. There’s some overlap here, since load balancers typically come in pairs, so the virtual IP (meaning “service address”) can also be a virtual IP (meaning “migrating address”).

This kind of virtual IP address is just an IP address that can be moved from one NIC to another as needed. At any given time, exactly one server claims the IP address. When the address needs to be moved, the cluster server and the operating systems collaborate to do some funny stuff in the lower layers of the TCP/IP stack. They associate the IP address with a new MAC address (hardware address) and advertise the new route (ARP). The following figure depicts a virtual IP address before and after the active node fails.

Get hands-on with 1400+ tech skills courses.