The Linux Virtual Server (LVS)  load balancers can send requests to predefined clusters and make parallel services of the cluster to appear as a virtual service on a single IP address. Scalability of the system is achieved by transparently adding or removing nodes in the cluster. High availability is provided by detecting node or daemon failures and reconfiguring the system appropriately.

LVS extensions

  • To use the LVS load balancer with any of the Stratos services, it is required to pass the Virtual IP of Stratos along with the subscribableInfo of the cartridge.
  • The subscriber information will be passed to the payload of the cartridge.
  • The Python agent creates a dummy interface in the real server, using the LVS virtual IP that it received from the payload.
  • The LVS extension checks to see if the service exists in the topology:
    • If the service exists in the topology, the extensions will write the configuration related to the Keepalived.
    • If the service does not exist in the topology, a warning message will be given to the user.

    Points to note:

    • It is mandatory that the LVS extension have service names with its virtual IPs. 
    • The LVS extension can be executed as a standalone service, which is similar to the current HAProxy and nginx extensions.

Keepalived

Keepalived is a routing software which is written in pure ANSI/ISO C.It provides simple and robust facilities to the Linux based system and infrastructure, for load balancing and high-availability. Keepalive consists of VRRP ( Virtual Router Redundancy Protocol ) implementations to manage virtual routers via virtual interfaces, and health check facility to determine whether a service is up and operational. If a service fails a significant number of health checks, the Keepalived will direct a virtual router over to a secondary node. Keepalived is very useful when combined with the Linux Virtual Server.

For more information on Keepalived, see the Keepalived user guide.

IPVSADM

IPVS (Internet Protocol Virtual Server) implements transport-layer load balancing inside the Linux kernel's so called Layer-4 switching. IPVS runs as a load balancer at the front, of a cluster of real servers, and it directs requests from the TCP ( Transmission Control Protocol)/UDP (User Datagram Protocol) based services to the real servers. It also make services of the real server to appear as a virtual service on a single IP address.

  • No labels