基于keepalived的redis系统master双机热备(读数据负载均衡)设(6)

2019-03-10 14:41

需要特别注意的配置,如果没有这个配置就会发生keepalived不转发的的问题,而且是如果redis和keepalive是同一台机器,会转发,但是如果相互间独立,则realserver收不到转发包 配置master

vim /etc/sysctl.conf,添加内容如下

[plain] view plaincopy 1. net.ipv4.conf.lo.arp_ignore = 1 2. net.ipv4.conf.lo.arp_announce = 2 3. net.ipv4.conf.all.arp_ignore = 1 4. net.ipv4.conf.all.arp_announce = 2

执行命令 [plain] view plaincopy 1. sysctl -p

2. ip addr add 192.168.0.7/32 dev lo 3. ip add list

lo环上出现了指定的ip即可 配置slave1

vim /etc/sysctl.conf,添加内容如下

[plain] view plaincopy 1. net.ipv4.conf.lo.arp_ignore = 1 2. net.ipv4.conf.lo.arp_announce = 2 3. net.ipv4.conf.all.arp_ignore = 1 4. net.ipv4.conf.all.arp_announce = 2

执行命令 [plain] view plaincopy 1. sysctl -p

2. ip addr add 192.168.0.7/32 dev lo

3.

list

配置slave2

vim /etc/sysctl.conf,添加内容如下

[plain] view plaincopy 1. net.ipv4.conf.lo.arp_ignore = 1 2. net.ipv4.conf.lo.arp_announce = 2 3. net.ipv4.conf.all.arp_ignore = 1 4. net.ipv4.conf.all.arp_announce = 2

执行命令 [plain] view plaincopy 1. sysctl -p

2. ip addr add 192.168.0.8/32 dev lo 3. ip add list

设置sentinel

redis 的sentinel在配置文件中设定为2,所以route1和route2两台机器都需要配置 启动redis的sentinel

[plain] view plaincopy 1. /usr/local/bin/redis-server /etc/redis/sentinel.conf --sentinel 2.

==========================================================================================

Keepalived原理与实战精讲

gotop&FinalBSD

什么是Keepalived呢,keepalived观其名可知,保持存活,在网络里面就是保持在线了,也就是所谓的高可用来防止单点故障(单点故障是指一旦某一点出现故障就会导致整个系统架构的不可用)的发生,那说到keepalive的一个协议就是VRRP协议,可以说这个协议就是keepalived实现的基础,那么首先我们来看看VRRP协议

注:搞运维的要有足够的耐心哦,不理解协议就很难透彻的掌握keepalived的了

一,VRRP协议

VRRP协议

学过网络的朋友都知道,网络在设计的时候必须考虑到冗余容灾,包括线路冗余,设备冗余等,防止网络存在单在路由器或三层交换机处实现冗余就显得尤为重要,在网络里面有个协议就是来做这事的,这个协议就是VRRPKeepalived就是巧用VRRP协议来实现高可用性(HA)的

VRRP协议有一篇文章写的非常好,大家可以直接看这里(记得认真看看哦,后面基本都已这个为基础的了) 帖子地址:http://bbs.ywlm.net/thread-790-1-1.html 只需要把服务器当作路由器即可!

在《VRRP协议》里讲到了虚拟路由器的ID也就是VRID在这里比较重要

keepalived完全遵守VRRP协议,包括竞选机制等等

二,Keepalived原理

Keepalived原理

keepalived也是模块化设计,不同模块复杂不同的功能,下面是keepalived的组件 core check vrrp libipfwc libipvs-2.4 libipvs-2.6

core:是keepalived的核心,复杂主进程的启动和维护,全局配置文件的加载解析等

check:负责healthchecker(健康检查),包括了各种健康检查方式,以及对应的配置的解析包括LVS的配置解vrrp:VRRPD子进程,VRRPD子进程就是来实现VRRP协议的 libipfwc:iptables(ipchains)库,配置LVS会用到 libipvs*:配置LVS会用到

注意,keepalived和LVS完全是两码事,只不过他们各负其责相互配合而已

keepalived启动后会有三个进程 父进程:内存管理,子进程管理等等 子进程:VRRP子进程

子进程:healthchecker子进程

有图可知,两个子进程都被系统WatchDog看管,两个子进程各自复杂自己的事,healthchecker子进程复杂检查的健康程度,例如HTTP,LVS等等,如果healthchecker子进程检查到MASTER上服务不可用了,就会通知本机上子进程,让他删除通告,并且去掉虚拟IP,转换为BACKUP状态

三,Keepalived配置文件详解

keepalived配置详解

keepalived有三类配置区域(姑且就叫区域吧),注意不是三种配置文件,是一个配置文件里面三种不同类别的

全局配置(Global Configuration) VRRPD配置 LVS配置

一,全局配置

全局配置又包括两个子配置: 全局定义(global definition)

静态路由配置(static ipaddress/routes)

1,全局定义(global definition)配置范例

1. global_defs 2. {

3. notification_email 4. {

5. admin@example.com 6. }

7. notification_email_from admin@example.com 8. smtp_server 127.0.0.1 9. stmp_connect_timeout 30 10. router_id node1 11. }

复制代码

全局配置解析

global_defs全局配置标识,表面这个区域{}是全局配置

1. notification_email 2. 3. { 4.

5. admin@example.com 6. admin@ywlm.net 7. 8. }

复制代码

表示keepalived在发生诸如切换操作时需要发送email通知,以及email发送给哪些邮件地址,邮件地址可以个

notification_email_from admin@example.com 表示发送通知邮件时邮件源地址是谁

smtp_server 127.0.0.1

表示发送email时使用的smtp服务器地址,这里可以用本地的sendmail来实现

smtp_connect_timeout 30 连接smtp连接超时时间


基于keepalived的redis系统master双机热备(读数据负载均衡)设(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:笔试题答案-南瑞

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: