Keepalived高可用服务器
2:Keepalived+LVS服务器
3:配置HAProxy负载平衡集群

作用:解决单点故障
实现高可用集群

Keepalived的功能
VRRP功能 //虚拟路由热备份协议
自动配置LVS
健康检查

                              keepalived安装

yum -y install keepali(k波利普)ved //RHEL7的光盘中已经包含keepalived软件包,只要配置好yum,

                               Keepalived高可用服务器

nmcli connection modify eth0 ipv4.method manual ipv4.addresses 192.168.4.100/24 connection.autoconnect yes //服务器配置IP(有几台配置机台客户机除外)

nmcli connection up eth0 //启动服务

yum -y install httpd

echo “192.168.4.200” > /var/www/html/index.html

systemctl restart httpd //启动httpd

yum install -y keepalived //安装Keepalived软件

vim /etc/keepalived/keepalived.conf //服务器Keepalived配置文件

notification_email {
admin@tarena.com.cn //设置报警收件人邮箱

notification_email_from ka@localhost //设置发件人
smtp_server 127.0.0.1 //定义邮件服务器
router_id LVS_DEVEL //设置路由ID号(LVS_DEVEL可以自定义)

rrp_instance VI_1 {

state MASTER //主服务器为MASTER(备服务器需要修改为BACKUP)
interface eth0 //定义网络接口
virtual_router_id 51 //主备服务器VRID号必须一致
priority 100 //服务器优先级,优先级高优先获取VIP

authentication {
auth_pass 1111 //主备服务器密码必须一致

virtual_ipaddress { //谁是主服务器谁获得该VIP(实验需要修改)
192.168.4.80 //修改成自己的vip

配置防火墙和SELinux

iptables -F //清空防火墙配置

setenforce 0 // 临时开启SELnux运行模式

ip addr show eth0 //查看VIP主备信息

tailf /var/log/messages //keepalived日志(报错可查看)

systemctl stop keepalived //关闭防火墙

                              Keepalived+LVS服务器

nmcli connection modify eth0 ipv4.method manual ipv4.addresses 192.168.4.100/24 connection.autoconnect yes //服务机配置IP

nmcli connection up eth0 //启动服务

cd /etc/sysconfig/network-scripts/ //进入IP目录

cp ifcfg-lo{,:0} //复制一个lo作为

vim ifcfg-lo:0 //修改配置文件 (服务机2同样操作)

DEVICE=lo:0

IPADDR=192.168.4.15

NETMASK=255.255.255.255

NETWORK=192.168.4.15

BROADCAST=192.168.4.15

ONBOOT=yes

AME=lo:0

vim /etc/sysctl.conf //配置文件(服务器2也同样操作)

net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
net.ipv4.conf.all.arp_announce = 2

重启网络服务,设置防火墙与SELinux
systemctl stop NetworkManager
systemctl disable NetworkManager
systemctl restart network
cat /var/www/html/index.html
ifconfig
systemctl stop firewalld

mcli connection modify eth0 ipv4.method manual ipv4.addresses 192.168.4.5/24 connection.autoconnect yes //配置主机1的网络参数(主机2同样操作)

nmcli connection up eth0 //启动

yum -y install httpd //配置后台web服务

echo “192.168.4.100” > /var/www/html/index.html //自定义页面(服务机2同样操作)

systemctl start httpd ; systemctl enable httpd //启动Web服务器软件(服务机2同样操作)

               部署Keepalived实现LVS-DR模式调度器的高可用

mode http 客户端请求被深度分析后再发往服务器
mode tcp 4层调度,不检查第七层信息
mode health 仅做健康检查,已经不建议使用

(主机2同样操作)
yum install -y keepalived //下载软件
systemctl enable keepalived //设置开机自启
yum install -y ipvsadm //下载软件
ipvsadm -C //清空所有的LVS的配置

vim /etc/keepalived/keepalived.conf //配置文件(主机2同样操作)

global_defs { //全局配置
notification_email {
admin@tarena.com.cn //设置报警收件人邮箱
}

notification_email_from ka@localhost //设置发件人
smtp_server 127.0.0.1 //定义邮件服务器
smtp_connect_timeout 30
router_id lvs1 //设置路由ID号(实验需要修改)
}

vrrp_instance VI_1 {
state MASTER //主服务器为MASTER(备服务器为BACKUP)
interface eth0 //定义网络接口
virtual_router_id 51 //主辅VRID号必须一致
priority 100 //服务器优先级(备服务器比主的参数低)
advert_int 1
authentication {
auth_type pass
auth_pass 1111 //主辅服务器密码必须一致
}

virtual_ipaddress { //配置VIP(要修改为调度机ip)
192.168.4.15
}
}

virtual_server 192.168.4.15 80 { //设置ipvsadm的VIP规则(实验需要修改)
delay_loop 6
lb_algo rr //设置LVS调度算法为RR
lb_kind DR //设置LVS的模式为DR(实验需要修改)
#persistence_timeout 50 //(实验需要注释)
#注意这样的作用是保持连接,开启后,客户端在一定时间内始终访问相同服务器
protocol TCP

real_server 192.168.4.100 80 { //设置后端web服务器真实IP(实验需要修改)
weight 1 //设置权重为1
TCP_CHECK { //对后台real_server做健康检查(实验需要修改)
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}

real_server 192.168.4.200 80 { //设置后端web服务器真实IP(实验需要修改)
weight 1 //设置权重为1
TCP_CHECK { //对后台real_server做健康检查(实验需要修改)
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}

real_server 192.168.4.200 80 { //设置后端web服务器的真实IP(实验需要修改)
weight 2 //设置权重为2
TCP_CHECK { //对后台real_server做健康检查(实验需要修改)
connect_timeout 3 //超时间链接
nb_get_retry 3 //
delay_before_retry 3 //

systemctl start keepalived //重启服务(刷新:restart)

ipvsadm -Ln //查看LVS规则

ip a s //查看VIP设置

iptables -F //清空防火墙所有规则

客户端使用curl命令反复连接http://192.168.4.15

                         配置HAProxy负载平衡集群

前提 删除所有设备的VIP,清空所有LVS设置,关闭keepalived!!!

将前面实验VIP、LVS等实验的内容清理干净!!!!!!
ifdown lo:0 //停用lo:0

mcli connection modify eth1 ipv4.method manual ipv4.addresses 192.168.2.100/24 connection.autoconnect yes //配置ip(服务机2同样操作)

nmcli connection up eth1 //启用IP

nmcli connection modify eth0 ipv4.method manual ipv4.addresses 192.168.4.5/24 connection.autoconnect yes //主机配置IP

nmcli connection up eth0 //启用IP

yum -y install httpd // 下载httpd
systemctl start httpd // 启动httpd
echo “192.168.2.100” > /var/www/html/index.html //服务机1和2操作

部署HAProxy服务器
yum -y install haproxy //下载haproxy

vim /etc/haproxy/haproxy.cfg //修改配置文件

global
log 127.0.0.1 local2 ##[err warning info debug]
chroot /usr/local/haproxy
pidfile /var/run/haproxy.pid ##haproxy的pid存放路径
maxconn 4000 ##最大连接数,默认4000
user haproxy
group haproxy
daemon ##创建1个进程进入deamon模式运行

defaults
mode http ##默认的模式mode { tcp|http|health }
option dontlognull ##不记录健康检查的日志信息
option httpclose ##每次请求完毕后主动关闭http通道
option httplog ##日志类别http日志格式
option forwardfor ##后端服务器可以从Http Header中获得客户端ip
option redispatch ##serverid服务器挂掉后强制定向到其他健康服务器
timeout connect 10000 #如果backend没有指定,默认为10s
timeout client 300000 ##客户端连接超时
timeout server 300000 ##服务器连接超时
maxconn 3000 ##最大连接数
retries 3 ##3次连接失败就认为服务不可用,也可以通过后面设置

#main frontend which proxys to the backends //以上的是默认配置,下面的可以修改

listen stats 0.0.0.0:1080 #监听端口
stats refresh 30s #统计页面自动刷新时间
stats uri /stats #统计页面url
stats realm Haproxy Manager #进入管理解面查看状态信息
stats auth admin:admin #统计页面用户名和密码设置

listen websrv-rewrite 0.0.0.0:80 (或者*:80)
balance roundrobin
server web1 192.168.2.100:80 check inter 2000 rise 2 fall 5
成功链接2次 连续失败5次
server web2 192.168.2.200:80 check inter 2000 rise 2 fall 5

(访问后出现的图表)

Queue队列数据的信息(当前队列数量,最大值,队列限制数量);
Session rate每秒会话率(当前值,最大值,限制数量);
Sessions总会话量(当前值,最大值,总量,Lbtot: total number of times a server was selected选中一台服务器所用的总时间);
Bytes(入站、出站流量);
Denied(拒绝请求、拒绝回应);
Errors(错误请求、错误连接、错误回应);
Warnings(重新尝试警告retry、重新连接redispatches);
Server(状态、最后检查的时间(多久前执行的最后一次检查)、权重、备份服务器数量、down机服务器数量、down机时长)。

配置HAProxy负载平衡集群

HAProxy工作模式:
mode heep 客户机请求被深度分析后再发往服务器
mode tcp 4层服务,不检查七层服务
mode health 仅做健康状态检查,已经不建议使用

Keepalived HAProxy应用相关推荐

  1. Keepalived+HAProxy基于读写分离方式实现discuz论坛

    一.测试环境: centos 6.6:使用8台虚拟机(上图) 分别对它们设置主机名: 主机名 ip地址 软件包 node1 172.16.16.11 keepalived+haproxy node2 ...

  2. 用 Keepalived+HAProxy 实现高可用负载均衡的配置方法

    1. 概述 软件负载均衡技术是指可以为多个后端服务器节点提供前端IP流量分发调度服务的软件技术.Keepalived和HAProxy是众多软负载技术中的两种,其中Keepalived既可以实现负载均衡 ...

  3. Keepalived+Haproxy+Mysql(双主)高可用架构部署

    Keepalived+Haproxy+Mysql(双主)高可用架构部署 一.背景 公司原部署的Mysql架构为keepalived+Mysql双主,但是这个架构有个缺陷是所有的读写请求都在一台机器上( ...

  4. keepalived + HAProxy + mysql高可用

    文章目录 MySQL 高可用 简介 1. 环境准备 2. 搭建 mysql 双主复制 3. 安装 HAProxy 4. 安装 keepalived 4.1 修改配置文件 4.2 编写脚本 5. 测试 ...

  5. keepalived + haproxy 实现web 双主模型的高可用负载均衡--转

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://xz159065974.blog.51cto.com/8618592/140581 ...

  6. RabbitMQ负载均衡(3)——Keepalived+HAProxy实现高可用的负载均衡

    欢迎支持笔者新作:<深入理解Kafka:核心设计与实践原理>和<RabbitMQ实战指南>,同时欢迎关注笔者的微信公众号:朱小厮的博客. 欢迎跳转到本文的原文链接:https: ...

  7. keepalived+haproxy(双主)+nginx(静态)+lamp(动态)部署phpBB

    简介: haproxy为高性能的反向代理服务器,在向后端server调度方面支持很多的调度算法:roundrobin,source,uri,url_param,hdr(),leastconn等,且支持 ...

  8. LNMP Keepalived Haproxy 笔记

    以下内容只是本人实验的记录笔记.以下内容是参照某真实案例中的部分内容所攒写,当然本人对Linux各应用系统不是很熟悉,大家将就看看,有错的请指出.由于本人是在VMWare上仿照生产网络环境搭建的架构, ...

  9. Ceph RGW高可用HA集群keepalived+Haproxy

    部署了入口服务的主机有 N 个.每个主机都有一个 haproxy 守护进程和一个 keepalived 守护进程.一次仅在其中一台主机上自动配置虚拟 IP. 每个keepalived 守护进程每隔几秒 ...

  10. kubernetes1.15.0高可用(keepalived+haproxy)

    一.Master高可用 解决Master单节点,以及etcd单节点的问题,需要针对Master高可用,etcd数据要保持一致. [root@localhost ~]# hostnamectl set- ...

最新文章

  1. asp vb 插入,更新,删除数据库操作。
  2. DOM编程艺术12章
  3. 物理借助传感器用计算机测速度,用打点计时器测速度教案_物理_教学设计_人教版...
  4. 3张经典人事管理模板,HR都直呼很好用
  5. 《Webservice的应用与开发》学习笔记 ·002【XML进阶、XML Schema】
  6. 一文搞懂常见概率分布的直觉与联系
  7. MacOS Monterey12.3和Big Sur11.6.5离线安装包
  8. 系统集成项目管理工程师考试英语吗?
  9. VM14无法将网络更改为桥接状态:没有未桥接的主机网络适配器
  10. FPGA代码规则检查工具
  11. 【The Economist】2018经济学人杂志经济学人双语版阅读分享资源
  12. 实习生去公司都干些啥
  13. 【数学】求导公式+积分公式
  14. eclipse中如何把中文变成英文?
  15. IBM李永辉:智慧运算的软硬之道
  16. R902520808、AA10VSO140DRS/32R-VPB22U00E液压变量柱塞泵
  17. 如何使用新一代轻量级分布式日志管理神器 Graylog 来收集日志
  18. python,做一个汽车识别网,你还在担心认不出车标吗?
  19. 云顶之弈天选战神劫阵容攻略,天选战神劫如何玩?
  20. VSTO | 零基础开发个人专属PPT导航插件

热门文章

  1. 蛮好用的Gungho重点工作督查督办跟踪管理系统
  2. 如何区别聚合支付“一清二清”?
  3. 数据库学生表,课程表,选课表
  4. The CXX compiler identification is unknown
  5. iOS 此应用需要开发者更新以在此ios版本上运行
  6. [C#]C# 如何捕获键盘按钮和组合键以及KeyPress/KeyDown事件之间的区别 (附KeyChar/KeyCode值)
  7. 我是一名朝九晚五的程序员
  8. 通过一道ARM PWN题引发的思考:jarvisOJ_typo
  9. “国六”新要求——基于OBD系统的量产车评估测试 (PVE)
  10. druid Hadoop-based Batch Ingestion