集群介绍

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模式搭建