keepalive高可用

准备两台主备主机,都安装keepalived yum install -y keepalived
master上前期已安装nginx
backup 上使用yum 安装nginx yum install -y nginx
提示错误时没有可用软件包nginx,解决办法: yum install -y epel-release

在主(master)上编辑配置文件
vim /etc/keepalived/keepalived.conf
global_defs {
notification_email { #如果有异常,发送邮件br/>[email protected]
}
notification_email_from [email protected] #编辑邮箱信息
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id LVS_DEVEL
}
vrrp_script chk_nginx {
script "/usr/local/sbin/check_ng.sh" #编辑自定义检查脚本
interval 3
}
vrrp_instance VI_1 {
state MASTER
interface ens33 #编辑网卡名称
virtual_router_id 51 #编辑路由ID信息
priority 100
advert_int 1
authentication {
auth_type PASS #访问类型是密码加密
auth_pass aminglinux>com
}
virtual_ipaddress {
192.168.188.100 #VIP服务ip地址
}
track_script { #加载上面的自定义检查脚本
chk_nginx
}
}

再编辑自定义检查脚本
vim /usr/local/sbin/check_ng.sh

给脚本 755权限 ,重启keepalived服务,查看keepalived进程是否开启

因为脚本上定义了开启keepalived服务,即使关闭了nginx,也会自动重启

在备上编辑keepalived配置文件
vim /etc/keepalived/keepalived.conf
global_defs {
notification_email {br/>[email protected]
}
notification_email_from [email protected]
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id LVS_DEVEL
}
vrrp_script chk_nginx {
script "/usr/local/sbin/check_ng.sh"
interval 3
}
vrrp_instance VI_1 {
state BACKUP
interface eno16777736 #指定备的网卡名称,指定监听的网卡
virtual_router_id 51
priority 90
advert_int 1
authentication {
auth_type PASS
auth_pass aminglinux>com
}
virtual_ipaddress {
192.168.188.100 #服务IP VIP
}
track_script {
chk_nginx
}
}
编辑检查脚本

跟主一样,给脚本文件赋值755权限,并重启keepalived服务

重启时keepalived时发现没有启动,检测是因为从配置上的网卡名称没有及时修改。
顺便查看下主从的网卡信息,发现服务ip已经生效
主(master)网卡信息:

备网卡信息:

打开浏览器输入 主从地址,服务地址,查看nginx结果

推测从上IP不成功可能是php还没配置。

测试高可用
先确定好两台机器上nginx差异,比如可以通过curl -I 来查看nginx版本
测试1:关闭master上的nginx服务
测试2:在master上增加iptabls规则
iptables -I OUTPUT -p vrrp -j DROP

访问主 和服务ip,仍有效

查看主从ip网卡信息,100的服务IP 也还没释放
iptable -F 取消策略

测试3:关闭master上的keepalived服务

主上的服务ip已经释放了

从上的服务ip还在
监测下服务ip,网页不通,curl已经发生了改变,说明master挂掉后,服务ip自动选择备服务器,高可用已经生效

看起来有必要在从上安装个php....

测试4:启动master上的keepalived服务
起来之后会发现 主上服务ip已起来了,访问也ok

keepalive高可用

原文地址:http://blog.51cto.com/13528516/2096312

时间: 2024-11-09 10:09:40

keepalive高可用的相关文章

keepalive高可用nginx(nginx动静分离)的实现

HA Cluster的配置前提: 1.各节点时间要同步: 2.确保iptables及selinux不会成为障碍: 3.(可选)各节点之间可通过主机名互相通信: 节点的名称设定与hosts文件中解析的主机名都要保持一致: # uname -n 获得的主机,与解析的主机名要相同: 4.(可选)各节点之间基于密钥认证的方式通过ssh互信通信: keepalive高可用nginx(nginx动静分离)的实现 一.各节点时间同步的实现方法 在centos中安装chrony,其根据时间协议配置文件将多台主机

keepalive高可用的健康检查

Master配置文件  注意iptables防火墙(见上个随笔)和健康检查脚本 keepalived 只是高可用,如果keepalived宕机后,ip会飘到备份主机,但是如果nginx掉了,keepalived是不会stop掉的,所以需要脚本做健康检查,代码如下: ! Configuration File for keepalived global_defs { notification_email { acassen@firewall.loc failover@firewall.loc sys

LVS-DR+Keepalive高可用群集集

LVS负载均衡群集其中之一:LVS-DR加上keepalive可实现稳定以及可靠的负载均衡: 实验结构 实验思路: 调度服务器区域实现接收访问,调用节点服务器池可用服务器.实现keepalive,实现双机热备功能,由于调度服务器由于负载量过大出现拓机情况时,备份调度服务器可直接顶替工作,保证了服务访问不被中断. 节点服务器提供网络服务,利用内部网络存储服务器提供的存储空间,将需要提供的网络服务搭建其中. ##实验环境: 服务器 系统环境 IP地址 所需服务 主调度 centos7 192.168

Centos 部署Keepalive高可用软件

Keepalive安装部署   一.环境介绍 1)Centos6.4 2) keepalived-1.2.12 3) 主备机的ip Master:172.31.100.5 Slave: 172.31.100.54 Virtault ip:172.31.100.1 二.部署安装 计划具体部署步骤: 步骤1:安装 步骤2:配置 步骤3:运行 步骤4:检查 现在开始: 1)安装 $ yum install -y gcc make openssl openssl-devel $ wget http://

lvs+keepalive高可用web应用部署

环境: 192.168.92.183 7.3.1611 192.168.92.184 7.3.1611 192.168.92.185 7.3.1611 一.系统标准化 1.安装必要软件 yum -y install wget vim lrzsz unzip 2.下载标准版包 $ cd /usr/local/src $ wget http://182.138.101.48:51280/package/tar/nn_sys_init-20180605.tar.gz 3.修改config.ini配置文

Nginx+Keepalive高可用之主从配置

实验环境 操作系统:CentOS 7.4 1708 软件安装:yum -y install epel-release && yum -y install nginx keepalived Nginx+Keepalived NodeA:18.50.129.72(master) Nginx+Keepalived NodeB:18.50.129.73(slave) VIP:18.50.129.74 实现目标 当Nginx服务停止后Keepalived会自动去启动此服务,如果无法启动将VIP转移至

Keepalive 之 高可用实现

1  概述 本文将介绍三个Keepalive高可用的实现案例,分别是keepalive实现LVS高可用,keepalive通过fwmark实现LVS高可用,keepalive实现Nginx高可用. 2  实验准备 .(1) 各节点时间必须同步,这个操作很关键.工具有ntp  和chrony(CentOS7上开始启用) .(2) 确保iptables及selinux不会成为阻碍.7上要停止firewalld服务和iptables .(3) 各节点之间可通过主机名互相通信(对KA并非必须),建议使用

rabbitmq高可用实现

需求背景 1.业务按需求将一些功能拆分成异步任务,将消息放入队列进行处理.2.rabbitmq消息队列的使用,要求保证服务随时可用,并保证消息队列内的消息不丢失.rabibtmq在整个业务中的地位不比mysql低,高可用不可或缺. rabbitmq集群 rabbitmq简单介绍:   基于erlang语言开发,而erlang是一门分布式语言开发,适用于集群开发:rabbitmq自身也提供了多种集群方案:http://www.rabbitmq.com/ha.html    1.集群管理:没有明显的

Nginx+keepalived高可用(双主模式)

负载均衡技术对于一个网站尤其是大型网站的web服务器集群来说是至关重要的!做好负载均衡架构,可以实现故障转移和高可用环境,避免单点故障,保证网站健康持续运行.由于业务扩展,网站的访问量不断加大,负载越来越高.现需要在web前端放置nginx负载均衡,同时结合keepalived对前端nginx实现HA高可用.介绍下Nginx和keepalive1.Nginx Nginx 是一个很强大的高性能Web和反向代理服务器,它具有很多非常优越的特性:Nginx作为负载均衡服务器:Nginx 既可以在内部直