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/>aming@aminglinux.com
}
notification_email_from root@aminglinux.com #编辑邮箱信息
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
keepalive高可用
给脚本 755权限 ,重启keepalived服务,查看keepalived进程是否开启
keepalive高可用
因为脚本上定义了开启keepalived服务,即使关闭了nginx,也会自动重启
keepalive高可用

在备上编辑keepalived配置文件
vim /etc/keepalived/keepalived.conf
global_defs {
notification_email {br/>aming@aminglinux.com
}
notification_email_from root@aminglinux.com
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
}
}
编辑检查脚本
keepalive高可用
跟主一样,给脚本文件赋值755权限,并重启keepalived服务
keepalive高可用
重启时keepalived时发现没有启动,检测是因为从配置上的网卡名称没有及时修改。
顺便查看下主从的网卡信息,发现服务ip已经生效
主(master)网卡信息:
keepalive高可用
备网卡信息:
keepalive高可用
打开浏览器输入 主从地址,服务地址,查看nginx结果
keepalive高可用
keepalive高可用keepalive高可用

keepalive高可用

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

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

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

测试3:关闭master上的keepalived服务
keepalive高可用
主上的服务ip已经释放了
keepalive高可用

从上的服务ip还在
监测下服务ip,网页不通,curl已经发生了改变,说明master挂掉后,服务ip自动选择备服务器,高可用已经生效
keepalive高可用
看起来有必要在从上安装个php....

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

转载于:https://blog.51cto.com/13528516/2096310

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值