HAProxy+Keepalived 高可用负载均衡
转自 https://www.jianshu.com/p/95cc6e875456 Keepalived+haproxy实现高可用负载均衡 Master 192.168.0.69 haproxy、keepalived Centos7.
backup 192.168.0.70 haproxy、keepalived Centos7.
vip(虚拟IP)
192.168.0.180 192.168.0.181 、两台都安装haproxy,参照安装haproxy文档 、 两台都安装Keepalived yum -y install gcc automake autoconf libtool gcc-c++ gd zlib zlib-devel openssl openssl-devel libxml2 libxml2-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libmcrypt libmcrypt-devel pcre pcre-devel yum install -y libnl libnl-devel libnfnetlink-devel popt-devel cd /usr/local/src/ tar -zxvf keepalived-1.2..tar.gz cd keepalived-1.2. ./configure --prefix=/usr/local/keepalived make && make install 、将keepalived安装成Linux系统服务 mkdir /etc/keepalived
cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/
cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/
cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
chmod +x /etc/init.d/keepalived
ln -s /usr/local/sbin/keepalived /usr/sbin/
ln -s /usr/local/keepalived/sbin/keepalived /usr/sbin/
ln -s /usr/local/keepalived/sbin/keepalived /usr/local/sbin/
chkconfig keepalived on 、修改keepalived配置文件 接下来就是配置了,很简单,之前的删除,直接复制下面配置文件 先是主服务器: vi /etc/keepalived/keepalived.conf global_defs
{
notification_email #通知email,根据实际情况配置
{
admin@example.com
}
notification_email_from admin@example.com
smtp_server 127.0.0.1
stmp_connect_timeout
router_id node1 #节点名标识,主要用于通知中
} vrrp_script chk_http_port {
script "/etc/keepalived/chk_haproxy.sh" #在这里添加脚本链接
interval #脚本执行间隔
weight #脚本结果导致的优先级变更
} vrrp_script chk_http_port {
script "/etc/keepalived/chk_haproxy.sh" #在这里添加脚本链接
interval #脚本执行间隔
weight #脚本结果导致的优先级变更
} vrrp_instance VI_NODE_1 {
state MASTER #配置为主服务器
interface ens33 #通讯网卡
virtual_router_id #路由标识
priority #优先级,-
advert_int #通知间隔,实际部署时可以设置小一点,减少延时 authentication {
auth_type PASS
auth_pass #验证密码,用于通讯主机间验证
} track_script {
chk_http_port #添加脚本执行
} virtual_ipaddress {
192.168.0.180 #虚拟ip,可以定义多个
}
} vrrp_instance VI_NODE_2 {
state MASTER #配置为主服务器
interface ens33 #通讯网卡
virtual_router_id #路由标识
priority #优先级,-
advert_int #通知间隔,实际部署时可以设置小一点,减少延时 authentication {
auth_type PASS
auth_pass #验证密码,用于通讯主机间验证
} track_script {
chk_http_port #添加脚本执行
} virtual_ipaddress {
192.168.0.181 #虚拟ip,可以定义多个
}
} 接下是从服务器设置: vi /etc/keepalived/keepalived.conf global_defs {
notification_email {
admin@example.com
}
notification_email_from admin@example.com
smtp_server 127.0.0.1
stmp_connect_timeout router_id node2
} vrrp_script chk_http_port {
script "/etc/keepalived/chk_haproxy.sh" #在这里添加脚本链接
interval #脚本执行间隔
weight #脚本结果导致的优先级变更
} vrrp_script chk_http_port {
script "/etc/keepalived/chk_haproxy.sh" #在这里添加脚本链接
interval #脚本执行间隔
weight #脚本结果导致的优先级变更
} vrrp_instance VI_NODE_1 {
state BACKUP #与主服务器对应
interface ens33 #从服务器的通信网卡
virtual_router_id #路由标识,和主服务器相同
priority #优先级,小于主服务器即可
advert_int #这里是接受通知间隔,与主服务器要设置相同 authentication {
auth_type PASS
auth_pass #验证密码,与主服务器相同
} track_script {
chk_http_port #添加脚本执行
} virtual_ipaddress {
192.168.0.180 #虚拟IP,也要和主服务器相同
}
} vrrp_instance VI_NODE_2 {
state BACKUP #与主服务器对应
interface ens33 #从服务器的通信网卡
virtual_router_id #路由标识,和主服务器相同
priority #优先级,小于主服务器即可
advert_int #这里是接受通知间隔,与主服务器要设置相同 authentication {
auth_type PASS
auth_pass #验证密码,与主服务器相同
} track_script {
chk_http_port #添加脚本执行
} virtual_ipaddress {
192.168.0.181 #虚拟IP,也要和主服务器相同
}
} 两个节点配置check_ngixn脚本 当脚本检测到haproxy没有运行的时候会尝试去启动haproxy以此,如果失败则停掉keepalived进程 vi /usr/local/keepalived/haproxy.sh tatus=$(ps aux|grep haproxy | grep -v grep | grep -v bash | wc -l)
if [ "${status}" = "" ]; then
/usr/local/haproxy/sbin -f /usr/local/haproxy/conf/haproxy.cfg status2=$(ps aux|grep haproxy | grep -v grep | grep -v bash |wc -l) if [ "${status2}" = "" ]; then
/etc/init.d/keepalived stop
fi
fi 、启动keepalived
[root@bogon ~]# service keepalived start
Starting keepalived (via systemctl): [ OK ] 、查看虚拟ip在哪台上, 注意过两分钟才出现vip [root@bogon ~]# ip a
[root@bogon ~]# ip a
: lo: <LOOPBACK,UP,LOWER_UP> mtu qdisc noqueue state UNKNOWN group default qlen
link/loopback ::::: brd :::::
inet 127.0.0.1/ scope host lo
valid_lft forever preferred_lft forever
inet6 ::/ scope host
valid_lft forever preferred_lft forever
: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu qdisc pfifo_fast state UP group default qlen
link/ether :0c::::c4 brd ff:ff:ff:ff:ff:ff
inet 192.168.0.69/ brd 192.168.0.255 scope global noprefixroute ens33
valid_lft forever preferred_lft forever
inet 192.168.0.180/ scope global ens33
valid_lft forever preferred_lft forever
inet 192.168.0.181/ scope global ens33
valid_lft forever preferred_lft forever
inet6 fe80::d675:3ae7::ad71/ scope link noprefixroute
valid_lft forever preferred_lft forever 、访问:http://192.168.0.181:1080/stats http://192.168.0.181:1080/stats 账号密码: admin/admin 、高可用切换 在192.168.0.69停止keepalived , 查看192.168.0.180飘到了192.168.0.70上 service keepalived stop : lo: <LOOPBACK,UP,LOWER_UP> mtu qdisc noqueue state UNKNOWN group default qlen
link/loopback ::::: brd :::::
inet 127.0.0.1/ scope host lo
valid_lft forever preferred_lft forever
inet6 ::/ scope host
valid_lft forever preferred_lft forever
: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu qdisc pfifo_fast state UP group default qlen
link/ether :0c::ba:: brd ff:ff:ff:ff:ff:ff
inet 192.168.0.70/ brd 192.168.0.255 scope global noprefixroute ens33
valid_lft forever preferred_lft forever
inet 192.168.0.180/ scope global ens33
valid_lft forever preferred_lft forever
inet6 fe80::6c33:a5d6:2ea9:d781/ scope link noprefixroute
valid_lft forever preferred_lft forever
inet6 fe80::d675:3ae7::ad71/ scope link tentative noprefixroute dadfailed
valid_lft forever preferred_lft forever
HAProxy+Keepalived 高可用负载均衡的更多相关文章
- 案例一(haproxy+keepalived高可用负载均衡系统)【转】
1.搭建环境描述: 操作系统: [root@HA-1 ~]# cat /etc/redhat-release CentOS release 6.7 (Final) 地址规划: 主机名 IP地址 集群角 ...
- 基于HAProxy+Keepalived高可用负载均衡web服务的搭建
一 原理简介 1.HAProxyHAProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种解决方案.HAProxy特别适用于那些负载特大的web ...
- 005.HAProxy+Keepalived高可用负载均衡
一 基础准备 1.1 部署环境及说明 系统OS:CentOS 6.8 64位 HAProxy软件:HA-Proxy version 1.5.18 Keepalived软件:keepalived-1.3 ...
- HAProxy+Keepalived高可用负载均衡
一 基础准备 1.1 部署环境及说明 系统OS:CentOS 6.8 64位 HAProxy软件:HA-Proxy version 1.5.18 Keepalived软件:keepalived-1.3 ...
- Haproxy+Keepalived高可用负载均衡详细配置
本文所使用的环境: 10.6.2.128 centos6.5 10.6.2.129 centos6.5 VIP 为10.6.2.150 要实现的目标: 实现10.6.2.128和10.6 ...
- 测试LVS+Keepalived高可用负载均衡集群
测试LVS+Keepalived高可用负载均衡集群 1. 启动LVS高可用集群服务 此时查看Keepalived服务的系统日志信息如下: [root@localhost ~]# tail -f /va ...
- LVS+Keepalived高可用负载均衡集群架构实验-01
一.为什么要使用负载均衡技术? 1.系统高可用性 2. 系统可扩展性 3. 负载均衡能力 LVS+keepalived能很好的实现以上的要求,LVS提供负载均衡,keepalived提供健康检查, ...
- 使用Ansible实现nginx+keepalived高可用负载均衡自动化部署
本篇文章记录通过Ansible自动化部署nginx的负载均衡高可用,前端代理使用nginx+keepalived,端web server使用3台nginx用于负载效果的体现,结构图如下: 部署前准备工 ...
- Keepalived+HAProxy 搭建高可用负载均衡
转载自:https://mp.weixin.qq.com/s/VebiWftaRa26x1aA21Jqww 1. 概述 软件负载均衡技术是指可以为多个后端服务器节点提供前端IP流量分发调度服务的软件技 ...
随机推荐
- webpack中环境变量的使用方法
这节课讲解一下,在webpack打包过程中,怎么去使用一些环境变量. 首先我有一个打包配置的三个文件 "scripts": { "dev-build": &qu ...
- synchronized 和 ReentrantLock 区别是什么?(未完成)
synchronized 和 ReentrantLock 区别是什么?(未完成)
- Oracle查询表空间使用情况的一个sql
select t1.tablespace_name,curr_b/1024/1024/1024,max_b/1024/1024/1024,curr_b/max_b from(select table ...
- 【SCOI2007】降雨量
新人求助,降雨量那题本机AC提交WAWAWA…… 原题: 我们常常会说这样的话:“X年是自Y年以来降雨量最多的”.它的含义是X年的降雨量不超过Y年,且对于任意Y<Z<X,Z年的降雨量严格小 ...
- 删除集合元素Collection ,remove()
package seday11;/*** @author xingsir*/public class coordinate { private int x; private int y; /* * 右 ...
- [HNOI2009] 有趣的数列——卡特兰数与杨表
[HNOI 2009] 我们称一个长度为2n的数列是有趣的,当且仅当该数列满足以下三个条件: (1)它是从1到2n共2n个整数的一个排列{ai}: (2)所有的奇数项满足a1<a3<…&l ...
- [2019牛客多校第四场][G. Tree]
题目链接:https://ac.nowcoder.com/acm/contest/884/G 题目大意:给定一个树\(A\),再给出\(t\)次询问,问\(A\)中有多少连通子图与树\(B_i\)同构 ...
- mybatis collection
转自:http://blog.csdn.net/wj3319/article/details/9025349 在SQL开发过程中,动态构建In集合条件查询是比较常见的用法,在Mybatis中提供了fo ...
- windows游戏编程X86 (内存)寄存器相关的基本概念
本系列文章由jadeshu编写,转载请注明出处.http://blog.csdn.net/jadeshu/article/details/22446971 作者:jadeshu 邮箱: jades ...
- 集合家族——stack
一.概述 在 Java 中 Stack 类表示后进先出(LIFO)的对象堆栈.栈是一种非常常见的数据结构,它采用典型的先进后出的操作方式完成的 它通过五个操作对类 Vector 进行了扩展 ,允许将向 ...