首页 > 其他 > 详细

18.1集群介绍18.2keepalived介绍18.3-5用keepalived配置高可用集群

时间:2018-04-09 22:58:14      阅读:308      评论:0      收藏:0      [点我收藏+]
18.1集群介绍
技术分享图片
18.2 keepalived介绍
技术分享图片
18.3 18.4 18.5 用keepalived配置高可用集群
这里是用ngixn作为高可用的演示对象,因为有生产中很多企业用nginx作为负载均衡器使用
技术分享图片
编辑130上keepalived配置文件,内容从https://coding.net/u/aminglinux/p/aminglinux-book/git/blob/master/D21Z/master_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 { (这个模块是检测一个服务是否正常,间隔是3秒钟)
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 { 这里是定义VIP,是当主坏了,从替换后通过这个IP去访问,这个IP是主从绑定都是一样,无论是主从最终都是解析到这个IP)
192.168.137.100
}
track_script {
chk_nginx 加载服务
}
}
技术分享图片
130编辑监控脚本,内容从https://coding.net/u/aminglinux/p/aminglinux-book/git/blob/master/D21Z/master_check_ng.sh获取
配置文件的位置上面已定义
vim /usr/local/sbin/check_ng.sh
技术分享图片
给脚本755权限
chwon 755 /usr/local/sbin/check_ng.sh
systemctl start keepalived 130启动服务
技术分享图片
nignx服务也没有问题
技术分享图片
这时候停一下nginx服务,查看是否会自动加载,如果开启了防火墙是无法自动加载的,要先停掉防火墙
技术分享图片
查看ip
技术分享图片
配置从要先检查一下主有没有防火墙,开启防火墙会导致实际让失败,从也要关闭降降火墙
技术分享图片
在从上也要编辑配置文件
vi /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 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
}
}
技术分享图片
vi /usr/local/sbin/checkng.sh
#时间变量,用于记录日志
d=`date --date today +%Y%m%d
%H:%M:%S<br/>#计算nginx进程数量<br/>n=ps -C nginx --no-heading|wc -l<br/>#如果进程为0,则启动nginx,并且再次检测nginx进程数量,<br/>#如果还为0,说明nginx无法启动,此时需要关闭keepalived<br/>if [ $n -eq "0" ]; then<br/>systemctl start nginx<br/>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
技术分享图片
给脚本755权限
chmod 755 /usr/local/sbin/check_ng.sh
在主浏览器输入192.168.137.129,显示是默认的主页
技术分享图片
如果要修改内容,需要修改nginx默认的主页内容
技术分享图片
从也可以防问它的默认IP192.168.1.130
技术分享图片
默认页的位置
cat /usr/share/nginx/html/index.html
技术分享图片
输入192.168.137.100,它防问到的IP是主上的默认页
技术分享图片
技术分享图片
先把vrrp出去的包都封掉
技术分享图片
先停掉主上的keepalived服务
技术分享图片
查看从上的ip绑定,这时候绑定的192.168.137.100
技术分享图片
这时候浏览器上防问一下192.168.137.100发生了改变,这说明了vip到了从机上
技术分享图片
主上重启keepalived服务
systemctl start keepalived
刷新一下浏览器就跳转到主的默认页了
技术分享图片
如要有多台从服务器需要调下权重,数值越高的当主出现故障后就由这台服务器当主
技术分享图片
如果给mysql做主从的时候一定要保持两边的数据一致,要不然会出问题的

18.1集群介绍18.2keepalived介绍18.3-5用keepalived配置高可用集群

原文:http://blog.51cto.com/13450039/2096264

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!