高可用集群下的负载均衡(7):haproxy + keepalived 实现高可用负载均衡
实验环境
server1 和 server2 是调度器,server3 和 server4 是服务器
一、调度器中进行配置 haproxy+keepalived
server1 与server2 均要配置
【1】下载keepalived
yum install -y keepalived
【2】server1 中修改配置文件
[root@server1 keepalived]# cat keepalived.conf
! Configuration File for keepalivedglobal_defs {notification_email {root@localhost}notification_email_from keepalived@localhostsmtp_server 127.0.0.1smtp_connect_timeout 30router_id LVS_DEVELvrrp_skip_check_adv_addr#vrrp_strictvrrp_garp_interval 0vrrp_gna_interval 0
}vrrp_script check_haproxy {#script "killall -0 haproxy"script "/opt/check_haproxy.sh" #可以使用脚本,也可以直接killallinterval 2weight 0
}vrrp_instance VI_1 {state MASTERinterface eth0virtual_router_id 65priority 100advert_int 1authentication {auth_type PASSauth_pass 1111}track_script {check_haproxy}virtual_ipaddress {172.25.0.100}
}
【3】server2 中修改配置文件(server2是backup,且优先级低于server1)
[root@server2 keepalived]# cat keepalived.conf
! Configuration File for keepalivedglobal_defs {notification_email {root@localhost}notification_email_from keepalived@localhostsmtp_server 127.0.0.1smtp_connect_timeout 30router_id LVS_DEVELvrrp_skip_check_adv_addr#vrrp_strictvrrp_garp_interval 0vrrp_gna_interval 0
}vrrp_script check_haproxy {#script "killall -0 haproxy"script "/opt/check_haproxy.sh" #可以使用脚本,也可以直接killallinterval 2weight 0}vrrp_instance VI_1 {state BACKUPinterface eth0virtual_router_id 65priority 50 advert_int 1authentication {auth_type PASSauth_pass 1111}track_script {check_haproxy}virtual_ipaddress {172.25.0.100}
}
二、编写脚本
记得给可执行权限
两台虚拟机中都需要创建此脚本
[root@server1 opt]# vim /opt/check_haproxy.sh
#!/bin/bash
systemctl status haproxy &> /dev/null || systemctl restart haproxy &> /dev/null
killall -0 haproxyif [ $? -ne 0 ];thensystemctl stop keepalived
fi[root@server1 opt]# chmod +x /opt/check_haproxy.sh #可执行权限
三、haproxy
可以先修改好一台虚拟机中的/etc/haproxy/haproxy.cfg文件,然后使用scp命令发送到另一台虚拟机上
# use_backend static if url_staticacl read_request method GETacl read_request method HEADacl write_request method PUTacl write_request method POSTuse_backend static if read_requestuse_backend app if write_requestdefault_backend static
# default_backend app
#---------------------------------------------------------------------
# static backend for serving up images, stylesheets and such
#---------------------------------------------------------------------
backend staticbalance roundrobinserver static 172.25.15.3:80 check
#---------------------------------------------------------------------
# round robin balancing between the various backends
#---------------------------------------------------------------------
backend appbalance roundrobin# balance source# balance static-rrserver app1 172.25.15.4:80 checkserver backup 127.0.0.1:80 backup
四、测试
【1】初始状态
两台虚拟机中的haproxy和keepalived都是打开状态。此时172.25.15.100是在server1上(因为server1的是master优先级高),server2没有172.25.15.100
【2】验证高可用
在server1上:systemctl stop haproxy
此时172.25.15.100不再server1上了
关闭haproxy后172.25.15.100直接迁移到server2中了,实现了高可用
【3】验证优先级
重新打开server1中的haproxy之后,ip又会迁移回来。这是因为server1中的优先级高于server2
高可用集群下的负载均衡(7):haproxy + keepalived 实现高可用负载均衡相关推荐
- 运维企业专题(11)RHCS高可用集群下MySql数据库与共享磁盘(单点写入、多点写入)的设置
实验环境 主机名 IP 服务 server1 172.25.6.1 ricci,luci, iscsi,mysql-server server2 172.25.6.2 ricci,iscsi,mysq ...
- Hadoop高可用集群下namenode格式化失败问题解决
Hadoop高可用集群下namenode格式化失败问题解决 输入hdfs namenode -format报如下错误 解决方法: 1.在zookeeper目录下执行./bin/zkServer.sh ...
- 实战_23_高可用负载均衡集群的实现(Mycat+ZK +HAProxy + Keepalived)
接上一篇:实战_22_Mycat设置开机自启https://blog.csdn.net/weixin_40816738/article/details/100086556 文章目录 一.高可用集群架构 ...
- 高可用集群下的负载均衡(8):pacemaker + corosync + haproxy 实现高可用
实验环境 server1 和 server2 是调度器,server3 和 server4 是服务器 [1]调度器server1 server2 关闭 keepalived 和 httpd,并打开pc ...
- 高可用集群下的负载均衡(6):haproxy实现访问不同资源的负载均衡(日志、监控、acl访问控制的配置)
8.7am 2 1.haproxy的日志管理 [1]修改日至配置文件 [root@server2 haproxy]# pwd /etc/haproxy [root@server2 haproxy]# ...
- 高可用集群下的负载均衡(5):haproxy的动静分离与读写分离
一.haproxy动静分离 实验环境: server2(haproxy):安装 haproxy server3(静态服务器):在apache的默认发布目录下创建一个 images目录,并放一张图片 s ...
- docker 如何加入kubernetes_使用 Kind 在 5 分钟内快速部署一个 Kubernetes 高可用集群...
什么是 Kind Kind(Kubernetes in Docker) 是一个Kubernetes孵化项目,Kind是一套开箱即用的Kubernetes环境搭建方案.顾名思义,就是将Kubernete ...
- 负载均衡集群、高可用集群详解,DR、NAT超详细搭建步骤
集群概述 流量相关: PV:PV(page view)即页面浏览量或点击量,是衡量一个网站或网页用户访问量.具体的说,PV值就是所有访问者在24小时(0点到24点)内看了某个网站多少个页面或某 ...
- Centos 7 部署 OpenStack_Rocky版高可用集群3-1
Centos 7 部署 OpenStack_Rocky版高可用集群3-1 文章目录 Centos 7 部署 OpenStack_Rocky版高可用集群3-1 1.前期准备 1.1 软硬件准备 1.1. ...
最新文章
- Elasticsearch内存分配设置详解
- Java项目:个人博客系统(java+SSM+Mysql+Servlet+JavaWeb)
- mac 配置 php,mac如何配置php环境
- 外包公司做遗留项目有意思么?
- 检测数据类型的几种方式
- 利用Git Bash 远程访问服务器
- access课程均不及格_access 第二章 查询 练习题 -
- 老衣的微服务实践简要指引2017版
- nginx集群_windows环境下搭建简单Nginx+Tomcat集群
- linux awstats搭建
- js逆向解析技巧--selenium
- function fnShowMessageBox(sTitle, sMsg)弹窗
- Django 1.10中文文档-聚合
- 清理C盘内存有用的办法
- TCP/UDP测试工具下载及使用教程
- Emscripten 单词_英语48个音标与单词字母组合拼读发音教程
- java 检测usb_如何从android中检测和打印USB打印机
- MTK Kernel Log 看电池信息
- android 高仿糯米团购 摇一摇 摇奖 效果
- 迷你TXT小说阅读器 V2.8 内测3 发布!
热门文章
- Python | 分析txt文档特定词汇的词频,以《天龙八部》为例
- 用户请求网站提示 网络连接错误
- 现货白银分析离不开SLV持仓分析
- python入门的小问题:计算复利函数
- 这朵玫瑰叫Jenny
- 亲身实践已解决:Mysql Row size too large (> 8126). Changing some columns to TEXT or BLOB or using ROW_FORMAT
- 我国应该大力推广五笔字型输入法
- R语言与RStudio的下载与安装方法
- ipadmobile通用webapp框架前哨战
- rufus中gpt和mrb磁盘_系统重装,硬盘分区MBR和GPT选哪个好?看完才知原来有这讲究!...