lvs+keepalived实现高可用的web负载均衡
拓扑图http://linuxu.qiniudn.com/wp-content/uploads/2015/02/wpid-4d13c224248612e7ae61bc1f0269c904_44848000.png
安装keepalived
# yum install -y keepalived 修改keepalived MASTER 配置文件
# vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
notification_email {
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}
notification_email_from Alexandre.Cassen@firewall.loc
router_id LVS_DEVEL
}
vrrp_instance VI_1 {
state MASTER##定义主节点
interface eth0
virtual_router_id 51##识别虚拟路由的id,相同的id则会被识别为1组
priority 100##优先级,优先级高的会选举为主节点
advert_int 1
authentication {
auth_type PASS ##认证方式为PASS 还有AH
auth_pass 1111
}
virtual_ipaddress {
172.16.30.100 ##vip即虚拟IP
}
}
virtual_server 172.16.30.100 80 {
delay_loop 6
lb_algo rr ##调度模式rr,轮询
lb_kind DR ##负载均衡模型为DR另外还有NAT
persistence_timeout 0 ##超时时长,在每个节点停留的时间,此处设为0,默认为50s,则会在单一节点停留50秒在去另一节点
protocol TCP
real_server 172.16.30.10 80 { ##后端rs主机
weight 1
TCP_CHECK {
connect_port 80 ##连接端口
connect_timeout 3##连接超时时间
nb_get_retry 3 ##重试次数
delay_before_retry 3 ##每次重试之间的间隔时间
}
real_server 172.16.30.11 80 {
weight 1
TCP_CHECK {
connect_port 80
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
}
将配置文件复制到另一节点
# scp /etc/keepalived/keepalived.conf
172.16.30.2:/etc/keepalived/keepalived.conf 修改state priority 如下图
http://linuxu.qiniudn.com/wp-content/uploads/2015/02/wpid-4d13c224248612e7ae61bc1f0269c904_22255140.png
启动keepalived测试vip
MASTER ip,停掉MASTER keepalived服务
http://linuxu.qiniudn.com/wp-content/uploads/2015/02/wpid-4d13c224248612e7ae61bc1f0269c904_f2587950-c15e-43da-aa7f-eaf3e6e62fed.png
BACKUP ip
http://linuxu.qiniudn.com/wp-content/uploads/2015/02/wpid-4d13c224248612e7ae61bc1f0269c904_b085a5ac-4987-44d1-b74c-b70b1b7f13ac.png
VIP成功转移
配置web服务器
安装httpd
# yum install -y httpd 提供网页文件
# vim /var/www/html/index.html
page from node10
node11同样的操作
配置rs模型
# echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore ##关闭arp转发
# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
# echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
# ifconfig lo:0 172.16.30.100 netmask 255.255.255.255 broadcast 172.16.30.100 up ##在lo:0口设置VIP 并只对自己广播
# ifconfig
eth0 Link encap:EthernetHWaddr 08:00:27:02:A7:9A
inet addr:172.16.30.10Bcast:172.16.255.255Mask:255.255.0.0
inet6 addr: fe80::a00:27ff:fe02:a79a/64 Scope:Link
UP BROADCAST RUNNING MULTICASTMTU:1500Metric:1
RX packets:5319 errors:0 dropped:0 overruns:0 frame:0
TX packets:685 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:485435 (474.0 KiB)TX bytes:55938 (54.6 KiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNINGMTU:65536Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b)TX bytes:0 (0.0 b)
lo:0 Link encap:Local Loopback
inet addr:172.16.30.100Mask:255.255.255.255
UP LOOPBACK RUNNINGMTU:65536Metric:1
node11同样操作
分别启动httpd服务
访问测试
http://linuxu.qiniudn.com/wp-content/uploads/2015/02/wpid-4d13c224248612e7ae61bc1f0269c904_a6e8345d-8fdf-48df-90da-1af602bc55de.png
http://linuxu.qiniudn.com/wp-content/uploads/2015/02/wpid-4d13c224248612e7ae61bc1f0269c904_02d20363-1736-4eef-8465-dd5b1812a35f.png
现在将node1上的keepalived服务停掉
再次访问还是同样的结果,我们再来看一下node2上的ip,vip已经转移过来了
http://linuxu.qiniudn.com/wp-content/uploads/2015/02/wpid-4d13c224248612e7ae61bc1f0269c904_3f546530-8b42-4315-a305-513562757c1e.png
这样便实现了lvs+keepalived的高可用负载均衡,lvs负责web服务器的负载均衡,而keepalived可以保证lvs不会发生单点故障。
页:
[1]