基本介绍:
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