安装LVS安装LVS和配置LVS的工作比较繁杂,读者在配置的过程中需要非常细心和耐心。在本节我们将对其进行详细地介绍。主要包括如下几个核心步骤:
1.获取支持LVS的内核源代码
如果读者需要使用LVS,需要下载2.4.23以后版本的内核源代码。下载地址为http://www.kerner.org。目前主流的Linux内核已经支持LVS,只需要直接使用,不需要进行内核的下载和更新工作。
2.用户配置工具ipvsadm
该软件的下载地址为:http://www.linuxvirtualserver.org/software/ipvs.html
3.调整内核配置选项
读者在内核配置时应该对下列必选项(用*号表示)进行检查,如果某些选项的设置不正确,将有可能影响LVS的正常工作和使用。在查看这些选项之前,用户需要使用make menuconfig命令,进入Networking options选项进行查看:

1. Networking options  --->
2. <*> Packet socket
3. <*> Netlink device emulation
4. [*] TCP/IP networking
5. [*] IP: advanced router
6. [*] Network packet filtering (replaces ipchains)
7. IP: Netfilter Configuration  --->
8. <*> Connection tracking (required for masq/NAT)
9. <*> IP tables support (required for filtering/masq/NAT)
10. <*> Full NAT
11. <*> MASQUERADE target support
12. IP: Virtual Server Configuration  --->
13. <*> virtual server support (EXPERIMENTAL)
14. <M>   IPVS connection table size (the Nth power of 2)--- IPVS scheduler
15. <M>   round-robin scheduling
16. <M>   weighted round-robin scheduling
17. <M>   least-connection scheduling
18. <M>   weighted least-connection scheduling
19. <M>   locality-based least-connection scheduling
20. <M>   locality-based least-connection with replication scheduling
21. <M>   destination hashing scheduling
22. <M>   shortest expected delay scheduling
23. <M>   never queue scheduling


配置和使用LVS在安装好LVS之后,就可以配置和使用LVS了,在本节我们将以一个具体的例子来对其进行讲解。图2为一个采用LVS系统的实际网络拓扑图。它基于NAT机制,具体的配置如下:

一台对外服务的超级服务器:它部署了LVS,也称为balancer或者director,主要功能为负载均衡和任务调度,其外部IP地址为:210.77.132.8,内部IP地址为:172.168.10.8。外部用户可以通过路由器(IP地址为:210.77.132.1)访问它;

两台内部的服务器:它们为实际的工作机器,通过前述的服务器对其进行调度。一台为RS1,其内部IP地址为:172.168.10.9;另一台为RS2,其内部IP地址为:172.168.10.10。

<ignore_js_op>

 

图  采用LVS系统的实际网络拓扑图

根据上述的网路配置和拓扑,对LVS的配置如下:
1.配置LVS的超级服务器(称为load balancer或者director)
运行如下命令:

1. //配置重定向#echo "1" >/proc/sys/net/ipv4/ip_forward#echo "0" >/proc/sys/net/ipv4/conf/all/send_redirects
2. #echo "0" >/proc/sys/net/ipv4/conf/default/send_redirects
3. #echo "0" >/proc/sys/net/ipv4/conf/eth0/send_redirects
4. #echo "0" >/proc/sys/net/ipv4/conf/eth1/send_redirects
5. //清除ipvsadm表
6. #/sbin/ipvsadm -C
7. //使用ipvsadm安装LVS服务
8. #add http to VIP with rr scheduling
9. #/sbin/ipvsadm -A -t 210.77.132.8:80 -s rr
10. //增加第一台内部服务器RS1
11. #forward http to realserver 172.168.10.9 using LVS-NAT (-m), with weight=1
12. /sbin/ipvsadm -a -t 210.77.132.8:80 -r 172.168.10.9:80 -m -w 1
13. 增加第二台内部服务器RS2
14. #forward http to realserver 172.168.10.10 using LVS-NAT (-m), with weight=1
15. /sbin/ipvsadm -a -t 210.77.132.8:80 -r 172.168.10.10:80 -m -w 1

2.配置LVS中的内部服务器
在172.168.10.9(RS1)和172.168.10.9(RS2)上分别将其网关设置为172.168.10.8,并分别启动apache服务。在客户端使用浏览器多次访问:http://210.77.132.8,然后再210.77.132.8上运行ipvsadm命令,应该有类似下面的输出:1. IP Virtual Server version 1.0.12 (size=4096)
2. Prot LocalAddress:Port Scheduler Flags
3.   -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
4. TCP  210.77.132.8:http rr
5.   -> 172.168.10.9:http           Masq    1      0          33       
6.   -> 172.168.10.10:http           Masq    1      0          33

从上面的结果可以看出,我们配置的LVS服务器已经成功运行。