基本介绍:


LVS集群的Director Server主要有三种配置模式,分别为 TUN 、NAT、DR,可以对各种服务做负载均

衡,而LVS架设的服务器集群系统由三个部分组成,分别是最前端的负载均衡层(Load Balance),中

间的服务器集群层(Server Array)和最底层的数据共享存储层(Shared Storage)。


LVS的IP负载均衡技术是通过IPVS模块来实现的,IPVS是LVS集群系统的核心软件,它的主要作用是:

安装在Director Server上,同时在Director Server上虚拟出一个IP地址,用户必须通过这个虚拟的

IP地址访问服务。这个虚拟IP一般称为LVS的VIP。访问的请求首先经过VIP到达负载调度器,然后由负载

调度器从Real Server列表中选取一个服务节点响应用户的请求。


当用户的请求到达负载调度器后,调度器如何将请求发送到提供服务的Real Server节点,而Real

 Server节点如何返回数据给用户,是IPVS实现的重点技术,IPVS实现负载均衡机制有三种,分别是

NAT、TUN和DR。


下面来详细说说 DR 模式的配置


一、

安装ipvsadm,详细过程与常见错误可参考笔者的另一篇博文,在此不加赘述。


二、

安装ipvsadm后,我们就可以开始配置LVS集群了,这里采用DR模式的配置,首先在eth0上绑定一

个虚拟网卡eth0:0,创建一个虚拟ip(vip),然后制定广播地址也为这个虚拟ip,注意,这里的子网掩

码不是真实网卡的255.255.255.0,而是255.255.255.255。


例:ifconfig eth0:0 192.168.1.100 broadcast 192.168.1.100 netmask 255.255.255.255 up


三、

在为网卡创建了虚拟ip之后,我们需要为虚拟网卡设置一个路由。


例:route add -host 192.168.1.100 dev eth0:0


四、

设置路由之后,启用系统的端口转发功能。


例:echo "1" > /proc/sys/net/ipv4/ip_forward


说明:参数值为0时,禁止端口转发;参数值为1时,启用端口转发,该参数缺省禁止


五、

配置ipvsadm,执行如下操作:


[root@raffaele-001 ~]#ipvsadm -C


[root@raffaele-001 ~]#ipvsadm -A -t 192.168.1.100:80 -s rr


[root@raffaele-001 ~]#ipvsadm -a -t 192.168.1.100:80 -r 192.168.1.136:80 -g


[root@raffaele-001 ~]#ipvsadm -a -t 192.168.1.100:80 -r 192.168.1.139:80 -g


[root@raffaele-001 ~]#ipvsadm -a -t 192.168.1.100:80 -r 192.168.1.141:80 -g


说明:第一行用于清空虚拟服务器中的记录,第二行添加一条新的虚拟ip记录,同时设置算法(rr),并指定端口,而下面的三行在新加的虚拟ip记录中添加两条新的 Real Server 记录,并指定LVS的工作模式为直接路由模式(-g)。


六、

启动LVS服务:


命令:ipvsadm


为方便管理,通常将上面的命令编写为一个脚本,在次不加赘述,但是要注意,脚本中的命令要写成绝对路径的形式,不然会报错,找不到命令:


ifconfig  ==>  /sbin/ifconfig


route  ==>  /sbin/route


ipvsadm  ==>  /sbin/ipvsadm