博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
集群相关、用keepalived配置高可用集群
阅读量:6462 次
发布时间:2019-06-23

本文共 2497 字,大约阅读时间需要 8 分钟。

1、集群相关

2、keepalived相关

3、用keepalived配置高可用集群

安装:yum install keepalived -y

 

高可用,主要是针对于服务器硬件或服务器上的应用服务而言的,在软件方面就得根据自己的需要而定,这里就针对于nginx服务进行设置

两台电脑都安装上nginx服务

修改keepalived 的配制文件:

vim /etc/keepalived/keepalived.conf
加入:

global_defs {

notification_email {
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
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass aminglinux>com
}
virtual_ipaddress {
192.168.188.100
}

track_script {

chk_nginx
}

}

编辑执行脚本文件:

vim /usr/local/sbin/check_ng.sh
加入:

#!/bin/bash

#时间变量,用于记录日志
d=`date --date today +%Y%m%d_%H:%M:%S`
#计算nginx进程数量
n=`ps -C nginx --no-heading|wc -l`
#如果进程为0,则启动nginx,并且再次检测nginx进程数量,
#如果还为0,说明nginx无法启动,此时需要关闭keepalived
if [ $n -eq "0" ]; then
/etc/init.d/nginx start
n2=`ps -C nginx --no-heading|wc -l`
if [ $n2 -eq "0" ]; then
echo "$d nginx down,keepalived will stop" >> /var/log/check_ng.log
systemctl stop keepalived
fi
fi
改变脚本权限:
chmod 755  /usr/local/sbin/check_ng.sh  (增加可执行权限)
然后启动keepalived服务:
systemctl start keepalived 或 service keepalived start
进行查看:ps aux |greep keepalive
查看VIP:
进行测试:

这样子,主的keepalived就设置好了。

配制重服务器keepalived

安装:yum install keepalived -y

修改配制文件:vim /etc/keepalived/keepalived.conf
加入:

global_defs {

notification_email {
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 ens33
virtual_router_id 51
priority 90
advert_int 1
authentication {
auth_type PASS
auth_pass aminglinux>com
}
virtual_ipaddress {
192.168.188.100
}

track_script {

chk_nginx
}

}

 

配制检测nginx的脚本:vim /usr/local/sbin/check_ng.sh

加入:

#时间变量,用于记录日志

d=`date --date today +%Y%m%d_%H:%M:%S`
#计算nginx进程数量
n=`ps -C nginx --no-heading|wc -l`
#如果进程为0,则启动nginx,并且再次检测nginx进程数量,
#如果还为0,说明nginx无法启动,此时需要关闭keepalived
if [ $n -eq "0" ]; then
systemctl start nginx      (根据自己的具体情况进行配制相关的服务)
n2=`ps -C nginx --no-heading|wc -l`
if [ $n2 -eq "0" ]; then
echo "$d nginx down,keepalived will stop" >> /var/log/check_ng.log
systemctl stop keepalived
fi
fi

增加执行权限:chmod 755  /usr/local/sbin/check_ng.sh

启动keepalived: systemctl start keepalived
查看:ps aux |grep keepalived

 由于都是外网机器,所以这里暂时无法测试。

 

   

转载于:https://www.cnblogs.com/nfyx/p/9254580.html

你可能感兴趣的文章
过滤DataTable表中的重复数据
查看>>
再次更新
查看>>
mysql的数据类型int、bigint、smallint 和 tinyint取值范围
查看>>
利用网易获取所有股票数据
查看>>
移动铁通宽带上网设置教程
查看>>
Python算法(含源代码下载)
查看>>
利用Windows自带的Certutil查看文件MD5
查看>>
通过原生js添加div和css
查看>>
简单的导出表格和将表格下载到桌面上。
查看>>
《ArcGIS Engine+C#实例开发教程》第一讲桌面GIS应用程序框架的建立
查看>>
查询指定名称的文件
查看>>
Python 嵌套列表解析
查看>>
[GXOI/GZOI2019]旧词——树链剖分+线段树
查看>>
anroid 广播
查看>>
AJAX POST&跨域 解决方案 - CORS
查看>>
开篇,博客的申请理由
查看>>
Servlet 技术全总结 (已完成,不定期增加内容)
查看>>
[JSOI2008]星球大战starwar BZOJ1015
查看>>
centos 7 部署LDAP服务
查看>>
揭秘马云帝国内幕:马云的野心有多大
查看>>