集群介绍
keepalived介绍
CentOS7安装运行Keepalived
官方网站上下载最近版本的keepalived进行解压
需要安装的包插件
编译安装
启动:
首先拷贝几个文件到CentOS7环境中:
[root@localhost ~]# cp keepalived-1.3.4/keepalived/etc/init.d/keepalived /etc/init.d/
[root@localhost ~]# mkdir /etc/keepalived
[root@localhost ~]# cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/
[root@localhost ~]# cp keepalived-1.3.4/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
[root@localhost ~]# cp /usr/local/keepalived/sbin/keepalived /usr/sbin/
查看服务启动情况,发现没有启动成功:
keepalived的master配置:
主要配置为vrrp_instance中的参数
virtual_router_id 此id主从必须一直不然会出现脑裂现象
state 主为master 从为backup
inferface 通过此网卡去发送
priority 优先级 主优先级比从高,最少高 50
advert_int 心跳数
virtual_ipaddress 相当于一个代理的ip
vrrp_strict此处如果不注释,vip无法被解析!
vrrp_script chk_nginx 此处用于定义脚本
trace_script 此处用于加载脚本
定义脚本
通过ipaddr命令才能看到vip
配置之前需检查防火墙以及selinux关闭firewalld服务
此时复制从中的conf文件
配置相应的脚本
设置权限chmod 755 /usr/local/sbin/check_ng.sh
/etc/init.d/keepalived start 此时启动任务
此时开启两端的nginx 看到主的内容
此页面为从 的页面信息
当关闭keepalived服务时候,此时vip直接×××从服务
此时再从服务器内容可以看到
此时刷新缓存发现跳转
在 vim中如果需要删除conf中不用 内容,可以选择将光标放在相应的行,执行d+G操作删除该行以及以下内容。
磁珠如果执行此命令会造成裂脑现象!
什么是裂脑?
由于某些原因,导致两台高可用服务器对在指定时间内,无法检测到对方的心跳消息,各自取得资源以及服务的所有权,而此时的两台高可用服务器对都还活着并在正常运行,就这样会导致同一个IP或服务在两端同事存在而发生冲突,最严重的是两台电脑占用同一个VIP地址,当用户写入数据时可能会分别写入到两端,这可能会导致服务器两端的数据不一致或造成数据丢失,这种情况被称为脑裂。。
导致脑裂发生的原因
一般来说,脑裂的发生。以下几种原因
高可用服务器对之间心跳线链路发生故障,导致无法正常通信。
1.心跳线坏了(老化,断了)
2.网卡以及相应驱动坏了,IP配置冲突问题(网卡直连)
3.心跳线间连接的设备古战(网卡及交换机)
4.仲裁的机器的问题
5.高可用服务器上开启了iptables防火墙阻挡了心跳信息传输
6.高可用服务器上心跳网卡地址等信息配置不正确,导致发送心跳失败
7.其他服务配置不当等原因,如心跳方式不通,心跳广播冲突,软件bug等
8.keepalived配置里统一vrrp实例如果virtual_router_id两端参数配置不一致,也会导致脑裂问题发生
负载均衡集群介绍
LVS介绍
NAT模式
IP Tunnel模式
DR模式
LVS调度算法
LVS NAT模式搭建
转载于:https://blog.51cto.com/13749388/2148810