LVS+Nginx实现负载均衡

    • 架构图

LVS+Nginx实现负载均衡_第1张图片

    • 配置Director Server

    • 在eth0上绑定虚拟ip

ifconfig eth0:0 192.168.0.57 broadcast 192.168.0.57 netmask 255.255.255.255 up

此处在eth0设备上绑定了一个虚拟设备eth0:0,同时设置了一个虚拟IP是192.168.0.57,然后指定广播地址也为192.168.0.57,需要特别注意的是,这里的子网掩码为255.255.255.255。

    • 添加路由规则

route add -host 192.168.0.57 dev eth0:0

    • 启用系统的包转发功能

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

参数值为1时启用ip转发,为0时禁止ip转发。其实在DR模式中,开启系统的包转发功能不是必须的,而在NAT模式下此操作是必须的。

    • 清除原有转发规则

ipvsadm –C

    • 添加虚拟IP规则

ipvsadm -A -t 192.168.0.57:80 -s rr

    • 在虚拟IP中添加服务规则

ipvsadm -a -t 192.168.0.57:80 -r 192.168.0.48:80 -g

ipvsadm -a -t 192.168.0.57:80 -r 192.168.0.49:80 –g

在新加虚拟IP记录中添加两条新的Real Server记录,并且指定LVS 的工作模式为直接路由模式。

    • 重启LVS服务

ipvsadm

LVS+Nginx实现负载均衡_第2张图片

    • 配置Real Server

在lvs的DR和TUn模式下,用户的访问请求到达真实服务器后,是直接返回给用户的,而不再经过前端的Director Server,因此,就需要在每个Real server节点上增加虚拟的VIP地址,这样数据才能直接返回给用户。

    • 在回环设备上绑定了一个虚拟IP地址

ifconfig lo:0 192.168.0.57 broadcast 192.168.0.57 netmask 255.255.255.255 up

/sbin/route add -host 192.168.0.57 dev lo:0

    • 设置参数

echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore

echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce

echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore

echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce

sysctl -p

你可能感兴趣的:(lvs,网络,服务器)