开发者学堂课程【企业集群平台架构设计与实现:lvs/haproxy/keepalived:企业集群平台架构设计与实现lvs篇4】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/391/detail/5012
企业集群平台架构设计与实现lvs篇4
内容介绍
一、案例实操
二、配置 Real server 节点
一、案例实操
[root@host236 keepalived]# ipvsadm -L -n
运行结果:
IP Virtual Server Version 1.2.1(Size=4096)
->RemoteAddress:Port Scheduler Flags Forward weight ActiveConn InActConn
TCP 192.168.81.233:80 rr persistent 50
->192.168.81.235:80 route 1 0 1
->192.168.81.236:80 Local 1 0 0
浏览器访问地址:192.168.81.233
负载均衡器无法打开访问:
注意到全部都是内网地址,把vip地址通过防火墙的映射功能把他映射出去。
为什么访问不了?
后端未设置,需要后端绑定VIP,根据包的传递规则,后端不绑定是接收不到这个包的。
在192.168.81.235:80绑定VIP地址
[root@localhost /]# more /etc/init.d/lvsrs
运行结果:
#!/bin/ bash
#description: start Real Server
VIP=192.168.81.233
./etc/ rc.d/init.d/function
scase "$1"in
start)
echo " Start LvsofReal Server "
/sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up
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; ;
stop)
/sbin/ifconfig lo:0 down
echo "close Lvs Director server"
echo "0" >/proc/sys/net/ipv4/ conf/ lo/arp_ignore
echo "o" >/proc/sys/net/ipv4/ conf/ lo/arp_announce
echo "o" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "o" >/proc/sys/net/ipv4/ conf/all/arp_announce; ;
*)
echo "Usage : $o {start| stop}”
exit 1
执行此脚本:
[root@localhost /]# /etc/init.d/lvsrs start
执行结果:
Starting lvsrs (via systemctl): [ 确定 ]
查看ip地址
[root@localhost / ]# ifconfig
Lo:0:flags=73mtu 65536
inet 192.168.81.233 netmask 255.255.255.255
Loop txqueuelen 0 (Local Loopback)
绑定了地址,浏览器再次访问192.168.81.233
#在keepalived上再次查看ipvsadm,发现活动点为还在增加,
数据能够直接返回到客户端
[root@host236 keepalived]# ipvsadm -L -n
运行结果:
IP Virtual Server Version 1.2.1(Size=4096)
->RemoteAddress:Port Scheduler Flags Forward weight ActiveConn InActConn
TCP 192.168.81.233:80 rr persistent 50
->192.168.81.235:80 route 1 6 6
->192.168.81.236:80 Local 1 0 0
重启服务绑定192.168.81.236:80
[root@localhost /]# /etc/init.d/lvsrs start
#时间保持参数
#拟服务器定义部分。
virtual_serve 192.168.81.233 80{
delay _loop 6
Lb_algo rr
Lb_kind DR
persistence_timeout 50
protocol TCP
Real_erver 192.168.81.235 80 {
weight 1
TCP_CHECK {
Connect_timeout 3
#停止235服务
[root@localhost / ]# systemctl stop httpd
#再次浏览器访问
现在235服务没有了,只有236,实现了故障的转移
二、配置Real server节点
与 heartbeat+LVS 类似, Keepalived+LVS 也需要为 Real server 节点配置相关的脚本,以达到与 Director Server 相互通信的目的,脚本的内容已经在前面介绍过,这里不在讲述。