Revision as of 17:10, 10 November 2009 by Georg (Talk | contribs) (How to compile ipvsadm on difficult Linux distributions)

Jump to: navigation, search


What's LVS?

LVS stands for Linux Virtual Server, which is a highly scalable and highly available server built on a cluster of real servers, with the load balancer running on the Linux operating system. Users interact as if it were a single virtual server.

Is LVS software free?

Yes! All LVS software is released under the GNU General Public License (GPL).

Is there a FreeBSD port of LVS software?

Yes, there is a FreeBSD port of IPVS, which supports the LVS/DR and LVS/TUN methods now. See the LVS On FreeBSD page for more information.

Does LVS cluster support Linux servers only?

No, real servers can almost run any operating systems in a LVS cluster, such as Linux, BSDs, Solaris, and Windows. LVS/NAT balances servers of the operating systems having TCP/IP support, LVS/TUN requires servers having IP Tunneling protocol, and LVS/DR requires servers having a non-arp device. Almost all the modern operating systems support non-arp device.


How is the concurrent processing performance of current LVS software?

The ultimate performance of LVS depends on hardware that LVS runs on. An ordinary box with a single Pentium III processor and 100Mbps NIC card running LVS/DR can handle about 10,000 connections per second for web service. We have heard that a powerful box with good hardware and kernel tuning achieved 50,000 connections per second.

Can LVS handle more than 1 million simultaneous connections?

Yes, LVS can handle much more than 1 million simultaneous connections. One connection just costs 128 bytes in the LVS box, so an LVS box with 1G memory can handle more than 8 million simultaneous connections.


Is there a quick guide to setup LVS

Yes, please check the article Mini Mini Howto, which covers setting up LVS quickly on Linux distributions of Fedora Core 4 or later.

How do I check to see if my kernel has IPVS enabled?

Try to run "modprobe ip_vs" and try to see if there is /proc/net/ip_vs. If so, your kernel has IPVS enabled. You can also run "cat /proc/net/ip_vs" or "ipvsadm -Ln" to see the version number of IPVS.

[root@lb4 root]# ipvsadm -Ln
IP Virtual Server version 1.0.11 (size=65536)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn

You could also check your current kernel config (/proc/config{.gz} or somewhere in /boot) if CONFIG_IP_VS is set (located under Networking support->Networking options->Netfilter when using make menuconfig to configure your kernel).

How to compile ipvsadm on different Linux distributions

Ipvsadm is the tool to set up, maintain or inspect the IPVS table in the Linux kernel. See the article compiling ipvsadm on different Linux distributions for detailed information.


How do i get counters from ipvsadm in order to create graphs from?

Answer 1:

The current kernel 2.6 version of ipvsadm (v1.24) supports

ipvsadm --list --stats --numeric --exact

which gives you non-human-readable counters for Connections, Packets and Bytes for each Service Address and Realserver.

Answer 2:

Install RRDtool and preferabely Cacti onto a host of your choice. From your favorite Linux distribution, install the Net-SNMP daemon onto the Loadbalancer host. Apply the Net-SNMP-LVS-Module to the Net-SNMP daemon. Using RRDtool and/or cacti you may query the Loadbalancer and create all kind of graphs using the statistics the Loadbalancers IPVS-module delivers.