博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
负载均衡器HAProxy,高可用集群keepalived,keepalived+lvs
阅读量:6454 次
发布时间:2019-06-23

本文共 3219 字,大约阅读时间需要 10 分钟。

负载均衡器:nginx/haproxy/lvs/F5

代理:
正向代理:帮助客户端缓存服务器上的数据
反向代理:帮助服务器缓存数据

HAProxy:

1、安装
[root@vh04 bin]# yum install -y haproxy
2、修改配置文件
[root@vh04 bin]# vim /etc/haproxy/haproxy.cfg
把# main frontend which proxys to the backends后面部分全部删除,增加以下内容:
定义一个监控页面
listen stats
bind 0.0.0.0:1080
stats refresh 30s
stats uri /mystats
stats realm Ha Manager
stats auth admin:admin

listen web-discuz 0.0.0.0:80

cookie SERVERID rewrite
balance roundrobin
server web1 192.168.4.2:80 cookie a1i1 check inter 2000 rise 2 fall
5
server web2 192.168.4.3:80 cookie a1i2 check inter 2000 rise 2 fall 5
3、启服务
[root@vh04 bin]# systemctl start haproxy
4、访问http://192.168.4.4可以实现负载均衡轮询调度,访问http://192.168.4.4:1080/mystats可以看到监控页面

配置vh04为日志服务器,以便于可以接收到haproxy通过网络发来的日志

1、配置vh04接受网络发来的日志
[root@vh04 bin]# vim /etc/rsyslog.conf

Provides UDP syslog reception

$ModLoad imudp

$UDPServerRun 514

Provides TCP syslog reception

$ModLoad imtcp

$InputTCPServerRun 514
2、重启日志服务
[root@vh04 bin]# systemctl restart rsyslog
3、跟踪日志尾部,访问http://192.168.4.4可以看到日志
[root@vh04 bin]# tail -f /var/log/messages

可以执行logger命令,向syslog写日志,如

[root@vh04 bin]# logger "my test log"
[root@vh04 bin]# tail -2 /var/log/messages

HSRP:热备份路由协议,cisco私有

VRRP:虚拟冗余路由协议,IETF(Internet工程师任务组)共公标准
HA:高可用
心跳:HearBeat,相当于是路由器设备上的hello消息

双机热备:keepalived

一、实现高可用的web集群
1、拓扑:两台Web服务器,一台数据库服务器。
2、在web服务器上安装keepalived
[root@vh02 ~]# yum install -y keepalived
3、修改配置
[root@vh02 ~]# vim /etc/keepalived/keepalived.conf

vrrp_strict 注释掉这一行

vrrp_instance VI_1 {

state MASTER 从属服务器改为BACKUP
interface eth0
virtual_router_id 51 虚拟路由器ID
priority 150 优先级
advert_int 1 心跳消息1s发一个
authentication { 两边的共享密码
auth_type PASS
auth_pass 1111
}
virtual_ipaddress { 虚拟IP地址
192.168.4.200
}
}
后续内容全部删除
4、启服务
[root@vh02 ~]# systemctl start keepalived
5、查看虚拟ip地址
[root@vh02 ~]# ip address show eth0
6、验证:把vh02的keepalived停掉,vip将出现在vh03上

配置高可用、负载均衡的web集群

1、创建虚拟机vh05(用作额外的调度器)
Vh05.tedu.cn 192.168.4.5/24 selinux/firewall/yum
2、清除vh04上lvs的规则,因为规则将由keepalived配置
[root@vh04 bin]# ipvsadm -D -t 192.168.4.100:80
3、在vh05上安装lvs
[root@vh05 ~]# yum install -y ipvsadm
4、web服务器需要在lo上配置vip,需要修改内核参数
5、不要在调度器上手工配置VIP,因为VIP由keepalived决定出现在哪台调度器上。所以要把vh04的VIP清除
[root@vh04 bin]# ifdown eth0:0
[root@vh04 bin]# rm -f /etc/sysconfig/network-scripts/ifcfg-eth0:0
6、在调度器上安装keepalived
[root@vh04 bin]# yum install -y keepalived
7、修改配置
[root@vh04 bin]# vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived

global_defs {

notification_email {

vrrp_strict

vrrp_garp_interval 0

vrrp_gna_interval 0
}

vrrp_instance VI_1 {

state MASTER
interface eth0
virtual_router_id 51
priority 150
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.4.100
}
}

virtual_server 192.168.4.100 80 {

delay_loop 6
lb_algo rr
lb_kind DR
persistence_timeout 50 # 50秒内,相同客户端总是调度到相同服务器
protocol TCP

real_server 192.168.4.2 80 {    weight 1    TCP_CHECK {        connect_timeout 3        nb_get_retry 3        delay_before_retry 3    }}real_server 192.168.4.3 80 {    weight 1    TCP_CHECK {        connect_timeout 3        nb_get_retry 3        delay_before_retry 3    }}

}

删除配置文件后续内容
8、启动服务
[root@vh04 bin]# systemctl start keepalived
9、备份lvs调度器启动后,没有VIP。可以把vh04关机,再查看vh05的情况

转载于:https://blog.51cto.com/13841846/2133790

你可能感兴趣的文章
java.lang.NullPointerException&com.cb.action.LoginAction.execute(LoginAction.java:48)
查看>>
理解Docker :Docker 网络
查看>>
通过Application存取公共数据比如登录信息等..
查看>>
intellij maven配置与使用
查看>>
SpringMVC文件下载与JSON格式
查看>>
Q:图像太大,在opencv上显示不完全
查看>>
修正锚点跳转位置 避免头部fixed固定部分遮挡
查看>>
Dubbo序列化多个CopyOnWriteArrayList对象变成同一对象的一个大坑!!
查看>>
linux下ping不通的解决方法
查看>>
利用ItextPdf、core-renderer-R8 来生成PDF
查看>>
irc操作小记
查看>>
JAVA 与 PHP 的不同和相同
查看>>
建立Ftp站点
查看>>
NavigationController的使用
查看>>
多线程编程之Windows环境下创建新线程
查看>>
ASP.Net MVC的开发模式
查看>>
groupbox 下的datagridview的列标题字体修改混乱
查看>>
HDU-3092 Least common multiple---数论+分组背包
查看>>
CentOS 7使用systemctl如何补全服务名称
查看>>
Unity3D NGUI 给button按钮添加单间事件
查看>>