下文给大家带来Keepalived的工作原理以及haproxy的负载均衡介绍,希望能够给大家在实际运用中带来一定的帮助,负载均衡涉及的东西比较多,理论也不多,网上有很多书籍,今天我们就用亿速云在行业内累计的经验来做一个解答。
Keepalived检测每个服务节点状态
当服务器节点异常或工作出现故障,keepalived将故障节点从集群从集群系统中踢除
故障节点恢复后,自动将其加入
使用keepalived软件配置HA集群
yum -y install httpd keepalived
35行以后是做调度器的高可用配置
这里的主备是抢占式的
global_defs {
notification_email {
acassen@firewall.com //设置报警收件人邮箱
}
notification_email_from link@firewall.com //发件人邮箱
smtp_server 192.168.200.1 //邮件服务器地址
smtp_connect_timeout 30 //邮件超时时间
router_id LVS_DEVEL //设置路由ID
#vrrp_strict //这条需要注释掉,不然下面的VIP就会不通
}
vrrp_instance webha { //webha 集群名称
state MASTER //描述名,
interface eth0 //与集群内服务主机之间通信使用网卡
virtual_router_id 51
priority 100 //优先级,数值越高,越优先,主的优先级高,默认100
优先级最大255,超过失效
advert_int 1 //集群内服务主机之间的通信时间间隔,单位秒
authentication {
auth_type PASS //认证类型
auth_pass 1111 //使用密码
}
virtual_ipaddress { //设置VIP地址
192.168.200.16
}
}
vim /root/check_80.sh
#!/bin/bash
netstat -ntulp | grep 80
if [ $? -ne 0 ];then
systemctl stop keepaloved.service
if
1.A、B上安装keepalived软件,ipvsadm软件
Yum -y install keepalived ipvsadm
2.修改/etc/keepalived/keepalived.conf
修改优先级划分主备(AB)服务主机
修改认证的密码 主备(AB)服务器的密码必须一致
修改IPV(virtual_ipaddress)为192.168.4.253
以下配置A、B一致
virtual_server 192.168.4.253 80 { //定义虚拟调度机
delay_loop 6
lb_algo rr //调度算法
lb_kind DR //工作模式,与后台realserver的工作模式一致
persistence_timeout 50
protocol TCP
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
real_server 192.168.4.52 80 { //后台提供web服务的主机
weight 1
}
}
这个步骤是将A、B设为为keepalived主备机,并且加上LVS(ipvsadm),实现高可用(HA)和
负载均衡(LB)的综合应用
3.在A、B上启动并设置开机自启(keepalived)
systemctl restart keepalived.service
systemctl enable keepalived.service
4.在客户机上进行测试,
curl http://192.168.4.253
前提:后台提供web服务的机器必须正常运行
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
ifconfig lo:1 192.168.4.253/32
real_server 192.168.4.52 80 {
weight 1
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
工作模式 1.mode http
2.mode tcp
3.mode htalth
1.http close
每次响应请求后立即断开连接
2.keep-alive
每一连接可以发起多个请求,但是多个请求需要服务器按顺序一个一个响应不能一次性作出响应
3.pipelining
一次连接可以发起多次请求,这些请求服务器并行进行响应,同时处理请求,减少了延迟,但是
对服务器的要求比较高,
1.装包 Yum -y install haproxy 2.配置文件及介绍 Vim /etc/haproxy/haproxy.cfg default:为后续的其他部分设置默认参数,缺省参数可以被后续部分覆盖 frontend:描述接收客户端侦听套接紫集 backend:描述转发连接的服务器集 listen:把frontend和backend结合到一起的完整声明 //这里为/etc/haproxy/haproxy.cfg的配置 default stats uri /admin #以友好的页面展示LB集群实际状况 listen webla 192.168.4.56:80 cookie SERVERID rewrite balance roundrobin server weba 192.168.4.55:80 cookie app1inst1 check inter 2000 rise 2 fall 5 server webb 192.168.4.57:80 cookie app2inst2 check inter 2000 rise 2 fall 5 3.启动服务及查看状态 Systemctl restart haproxy Systemctl status haproxy 4.有好页面的访问
http://192.168.4.56/admin
看了以上关于Keepalived的工作原理以及haproxy的负载均衡介绍,如果大家还有什么地方需要了解的可以在亿速云行业资讯里查找自己感兴趣的或者找我们的专业技术工程师解答的,亿速云技术工程师在行业内拥有十几年的经验了。亿速云官网链接www.yisu.com
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。