centos7haproxy+keepalive
1部署keepalived
1.1下载keepalived源码包,并解压
# wget http://www.keepalived.org/software/keepalived-1.4.2.tar.gz
# tar xf keepalived-1.4.2.tar.gz
# cd keepalived-1.4.2
1.2安装包
# ./configure --prefix=/usr/local/keepalived --disable-fwmark && make && make install
# cp /usr/local/src/keepalived-1.4.2/keepalived/etc/init.d/keepalived.rh.init /etc/sysconfig/keepalived.sysconfig
# cp -f /usr/local/src/keepalived-1.4.2/keepalived/keepalived.service /usr/lib/systemd/system/
# cp /usr/local/src/keepalived-1.4.2/bin/keepalived /usr/sbin/
1.3配置keepalived
分别在两台负载服务器同时执行以下操作安装keepalived:
1.3.1master服务器:
# mkdir /etc/keepalived
# mkdir /etc/keepalived/vip
# cat /etc/keepalived/keepalived.conf
vrrp_instance VI_1 {
state MASTER
interface eth0 # 实例绑定的网卡
virtual_router_id 80 # router_id必改
priority 50 # 优先级
advert_int 1 # 检查间隔,默认为1秒
unicast_src_ip 10.10.21.197 # 本机ip
unicast_peer {
10.10.21.198 # 备机ip
}
authentication {
auth_type PASS # 负载同步验证方式
auth_pass 123456
}
virtual_ipaddress {
10.10.21.250/24 dev eth0 label eth0:0 # vip配置
}
}
include /etc/keepalived/vip/*.conf # 配置文件导入
1.3.2backup服务器:
# mkdir /etc/keepalived
# mkdir /etc/keepalived/vip
# cat /etc/keepalived/keepalived.conf
vrrp_instance VI_1 {
state backup
interface eth0 # 实例绑定的网卡
virtual_router_id 81 # router_id必改
priority 50 # 优先级
advert_int 1 # 检查间隔,默认为1秒
unicast_src_ip 10.10.21.198 # 本机ip
unicast_peer {
10.10.21.197 # 备机ip
}
authentication {
auth_type PASS # 负载同步验证方式
auth_pass 123456
}
virtual_ipaddress {
10.10.21.250/24 dev eth0 label eth0:0 # vip配置
}
}
include /etc/keepalived/vip/*.conf # 配置文件导入
1.3.3 验证
# 启动keepalived
# systemctl start keepalived
# systemctl enable keepalived
# ifconfig
2haproxy安装
# yum -y install haproxy
# mkdir /etc/haproxy/conf
# vim /usr/lib/systemd/system/haproxy.service
[Unit]
Description=HAProxy Load Balancer
After=syslog.target network.target
[Service]
EnvironmentFile=/etc/sysconfig/haproxy
ExecStartPre=/usr/sbin/haproxy -f /etc/haproxy/haproxy.cfg -f /etc/haproxy/conf -c -q
ExecStart=/usr/sbin/haproxy-systemd-wrapper -f /etc/haproxy/haproxy.cfg -f /etc/haproxy/conf -p /run/haproxy.pid $OPTIONS
ExecReload=/bin/kill -USR2 $MAINPID
KillMode=mixed
[Install]
WantedBy=multi-user.target
# vim /etc/haproxy/haproxy.cfg
global
log 127.0.0.1 local2
chroot /var/lib/haproxy
pidfile /var/run/haproxy.pid
maxconn 100000
user haproxy
group haproxy
daemon
stats socket /var/lib/haproxy/stats
defaults
mode http
option http-keep-alive
option forwardfor except 127.0.0.0/8
maxconn 100000
retries 3
timeout http-request 10s
timeout queue 1m
timeout connect 10s
timeout client 1m
timeout server 1m
timeout http-keep-alive 10s
timeout check 10s
listen stats
mode http
bind 0.0.0.0:9999
stats enable
log global
stats uri /haproxy-status # 页面访问路径
stats auth haadmin:q1w2e3r4ys
#####################分文件conf/*.cfg 配置实例###############
frontend openstack_mysql
bind 192.168.10.100:3306
mode tcp
default_backend openstack_mysql_node
backend openstack_mysql_node
mode tcp
balance source
server 192.168.10.201 192.168.10.201:3306 check inter 2000 fall 3 rise 5
# vim /etc/sysconfig/syslog
local2.* /var/log/haproxy.log
# vim /etc/sysctl.conf
# 开启允许绑定非本机的IP,haporxy启动忽视VIP存在
net.ipv4.ip_nonlocal_bind = 1
# 内核是否转发数据包
net.ipv4.ip_forward = 1
# sysctl -p
验证:
# systemctl reload haproxy
# systemctl start haproxy
# systemctl enable haproxy
http://<IP>:9999/haproxy-status
3keepalived与haproxy配置
# cat /etc/keepalived/check_haproxy.sh
#!/bin/bash
if [ $(ps -C haproxy --no-header | wc -l) -eq 0 ];then
systemctl start haproxy
fi
sleep 2
if [ $(ps -C haproxy --no-header | wc -l) -eq 0 ];then
systemctl stop keepalived
fi
主:
vrrp_script chk_haproxy { #Haproxy服务启动
script "/etc/keepalived/check_haproxy.sh" #监控haproxy进程的脚本, 根据自己的实际路径放置
interval 2
weight -4
}
vrrp_instance VI_1 {
state MASTER
interface eth0 # 实例绑定的网卡
virtual_router_id 80 # router_id必改
priority 50 # 优先级
advert_int 1 # 检查间隔,默认为1秒
unicast_src_ip 10.10.21.197 # 本机ip
unicast_peer {
10.10.21.198 # 备机ip
}
authentication {
auth_type PASS # 负载同步验证方式
auth_pass 123456
}
track_script { #调用haproxy进程检测脚本
chk_haproxy
}
virtual_ipaddress {
10.10.21.250/24 dev eth0 label eth0:0 # vip配置
}
}
include /etc/keepalived/vip/*.conf # 配置文件导入
从:
# cat /etc/keepalived/keepalived.conf
vrrp_script chk_haproxy { #Haproxy服务启动
script "/etc/keepalived/check_haproxy.sh" #监控haproxy进程的脚本, 根据自己的实际路径放置
interval 2
weight -4
}
vrrp_instance VI_1 {
state BACKUP
interface eth0
virtual_router_id 81 # router_id必改
priority 50 # 优先级
advert_int 1 # 检查间隔,默认为1秒
unicast_src_ip 10.10.21.198 # 本机ip
unicast_peer {
10.10.21.197 # 备机ip
}
authentication {
auth_type PASS # 负载同步验证方式
auth_pass 123456
}
track_script { #调用haproxy进程检测脚本
chk_haproxy
}
virtual_ipaddress {
10.10.21.250/24 dev eth0 label eth0:0 # vip配置
}
}
include /etc/keepalived/vip/*.conf # 配置文件导入
centos7haproxy+keepalive的更多相关文章
- keepalive的不足,如何处理
MySQL(或者其它服务)的keepalived高可用监控脚本 开发脚本需求:我们知道,keepalive是基于虚拟ip的存活来判断是否抢占master的机制的,但是如果我们做了MySQL的keepa ...
- 大话keepalive
大话keepalive 我们说到keepalive的时候,需要先明确一点,这个keepalive说的是tcp的还是http的. tcp的keepalive是侧重在保持客户端和服务端的连接,一方会不定期 ...
- HttpsURLConnection 利用keepAlive特性进行优化一例
最近项目中,遇到一个报错: java.lang.OutOfMemoryError: unable to create new native thread 报错的场景是:一个消息的群发,群里总共有50多 ...
- 修改socket为keepAlive
参考文章:http://blog.csdn.net/ctthuangcheng/article/details/8596818 [root@mdw- gpadmin]# vi /etc/sysctl. ...
- HTTP Keep-Alive模式
1.什么是Keep-Alive模式? 我们知道HTTP协议采用"请求-应答"模式, 当使用普通模式,即非KeepAlive模式时,每个请求/应答客户和服务器都要新建一个连接,完成 ...
- TCP心跳 | TCP keepAlive(转)
应用层对于每个socket采用如下函数来开启 keepalive机制,其参数将采用系统上述配置. setsockopt(rs, SOL_SOCKET, SO_KEEPALIVE, (void *)&a ...
- 闲说HeartBeat心跳包和TCP协议的KeepAlive机制
很多应用层协议都有HeartBeat机制,通常是客户端每隔一小段时间向服务器发送一个数据包,通知服务器自己仍然在线,并传输一些可能必要的数据.使用心跳包的典型协议是IM,比如QQ/MSN/飞信等协议. ...
- SCRIPT7002: XMLHttpRequest: 网络错误 0x2ef3, 由于出现错误 00002ef3 而导致此项操作无法完成,浏览器中的Keep-Alive
http://www.cnblogs.com/OpenCoder/p/5089258.html IE中Keep-Alive机制引起的错误 我们知道Http协议是基于TCP/IP连接的,也就是说 ...
- Keepalive双主搭建配置
Keepalive 双主搭建配置 keepalived保证双主数据库的可用性 环境说明 192.168.1.10 keepalive 主1 192.168.1.20 keepalive 主2 19 ...
随机推荐
- Git config 使用说明(转)
原文:https://blog.csdn.net/gdutxiaoxu/article/details/79253737
- 音视频入门-09-RGB&YUV互转-使用开源库
* 音视频入门文章目录 * 介绍开源库 使用第三方开源库来简化开发,屏蔽一些底层的复杂度,节省大量编写代码的时间. libyuv: Google 开源的实现各种 YUV 与 RGB 之间相互转换.旋转 ...
- 基于NetCore+SqlSugar+Layui开发出来的开源框架项目FytSoaCms问题处理
最近刚好在学习NetCore框架所以就在网上搜索了一下相关的开源框架项目,正好在Github上找到了一个不错的开源框架所以推荐给大家看看哈哈哈. 1:项目相关技术 运行NetCore SDK版本为2. ...
- GIL与线程进程小知识点
一 .GIL全局解释器 GIL是一个互斥锁:保证数据的安全(以牺牲效率来换取数据的安全)阻止同一个进程内多个线程同时执行(不能并行但是能够实现并发)并发:看起来像同时进行的GIL全局解释器存在的原因是 ...
- iOS - 性能优化:Instruments使用简介
最近采用Instruments 来分析整个应用程序的性能.发现很多有意思的点,以及性能优化和一些分析性能消耗的技巧,小结如下. Instruments使用技巧 关于Instruments官方有一个很有 ...
- RZ70注册SLD
本文的将S4 abap系统向PO JAVA系统中注册. S4 QASERPAP01 NR=60 ASCS=61 PO QASPISAP01 NR=60 SCS=61 http://qaspisap01 ...
- Story of Jerry Wang's Wechat subscription account
As an SAP Techinical Ambassador,Jerry is always willing to share his SAP expertise to various social ...
- 类中变量私有化和调用:__x和getx/setx或者property
__xx:双前置下划线,子类不可继承属性.方法,父类私有. 详见:https://www.cnblogs.com/andy9468/p/8299448.html 例子1:隐藏数据:私有化后,用get和 ...
- rabbitmq笔记(一)rabbitmq简介及基础
一.消息组件 如果从消息组件来讲主要划分位两类: 1.JMS组件:ActiveMQ(慢): 2.AMQP组件(协议):性能是最高的, 而AMQP有两个主要的开源: 1)RabbitMQ:使用最广泛,速 ...
- openwrt 切换overlay文件系统为根文件系统
http://blog.chinaunix.net/uid-27057175-id-4584360 openwrt的overlayfs 通过/etc/preinit调用 /sbin/mount_roo ...