Keepalived的作用是检测服务器的状态,如果有一台web服务器宕机或工作出现故障,Keepalived将检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工作正常后Keepalived自动将服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的服务器.

高可用集群(HA High Availability Cluster)

作用:最大限度的保证用户的应用程序持久,不间断的提供服务.(实现故障转移)

高可用性(HA High Availablity)是指通过尽量缩短系统停机时间(因日常的维护操作或突发的系统崩溃等),以提高系统和应用的可用性.

高可用集群最少是2个节点做出的HA集群,有很多通俗不科学的名称,比如 "双机热备","双机互备",这样做的好处是当服务启动的时候,两台服务器一个作主(mast),另外一个作从(ser),测试机每几秒会ping主机当发现主机没有回应,就证明主机拓机了,那么从机马上会启动相应的服务,继续进行服务,这样就可保证服务不间断.

负载均衡集群与高性能运算集群(HPC),的区别?

负载均衡集群:通过提高单位时间内的执行的任务数量来提高效率.

高性能运算集群:通过提高单位时间内的执行时间来提高效率.

VRRP(Virtual Router Redundancy Protocol 虚拟路由冗余协议)简介

虚拟路由冗余协议(Virtual Router Redundancy Protocol,简称VRRP)是由IETF提出的解决局域网中配置静态网关出现单点失效现象的路由协议,1998年已推出正式的RFC2338协议标准。VRRP广泛应用在边缘网络中,它的设计目标是支持特定情况下IP数据流量失败转移不会引起混乱,允许主机使用单路由器,以及及时在实际第一跳路由器使用失败的情形下仍能够维护路由器间的连通性。

VRRP是一种容错协议,它通过把几台路由设备联合组成一台虚拟的路由设备,并通过一定的机制来保证当主机的下一跳设备出现故障时,可以及时将业务切换到其它设备,从而保持通讯的连续性和可靠性。

脑分裂:与解决方法

解释: 在一个网络或线缆故障时导致两个节点同时认为自已是唯一处于活动状态的服务器从而出现争用资源的情况,这种争用资源的场景即是所谓的"脑裂",会导致数据不完整或服务不可访问.

解决方法:

1.设置参考ip,在抢夺资源之前,都去ping参考ip(网关),ping不通时,不会去抢资源,而是释放资源,将控制权交出去.

2.设置冗余线路,设置两条心跳线,两个网卡,第一个测时不通,再拿第二个去测.

3.stonish(爆头),基于能够通过软件指令关闭某节点特殊的硬件设备掐电源.

附加知识点:

RS232串口线: 串行电缆被认为是比以太网连接安全性稍好些的连接方式,因为黑客无法通过串行连接运行诸如telnet、ssh或rsh类的程序,从而可以降低其通过已劫持的服务器再次侵入备份服务器的几率.但串行线缆受限于可用长度,一般是(5米以内)因此主、备服务器的距离必须非常短.

常用的双机热备软件: RoseHA KeepaLived Heartbear RHCS

一年内最大停机限度

99%:87.6h

99.9%:8.8h

99.99%:53m

99.999%:5m

编译安装

1.安装依赖

[root@localhost ~]# yum install -y gcc kernel kernel-devel openssl openssl-devel popt popt-devel

2.编译Keepalived

[root@localhost ~]# wget http://www.keepalived.org/software/keepalived-1.4.3.tar.gz
[root@localhost ~]# tar -xzvf keepalived-1.4.3.tar.gz
[root@localhost ~]# cd keepalived-1.4.3/ #RHEL6中的编译参数
[root@localhost ~]# ./configure --prefix=/ --with-kernel-dir=/usr/src/kernels/2.6.32-358.el6.x86_64 #RHEL7中的编译参数
[root@localhost ~]# ./configure --prefix=/ --with-kernel-dir=/usr/src/kernels/3.10.0-123.el7.x86_64/net/ [root@localhost ~]# make && make install

LVS高可用配置

[实验环境]

[类型]			[IP地址]				[VIP/IO]

LVS1_Master		IP:192.168.22.191		VIP:192.168.22.195
LVS2_Slaves IP:192.168.22.192 VIP:192.168.22.195 RealServer_1 IP:192.168.22.193
RealServer_2 IP:192.168.22.194 [配置说明] 1.首先我们需要配置一个LVS实现负载均衡
2.其次安装第二个LVS但不需要配置
3.在第一个LVS上配置轮询规则,并且安装开启Keepalived服务
4.在第二个LVS上安装Keepalived服务,启动后会自动同步数据

配置主节点

1.修改主配置文件,其他可删除,只写入以下内容,修改以下标★处

[root@localhost ~]# vim /etc/keepalived/keepalived.conf

 1 ! Configuration File for keepalived
2
3 global_defs {
★ router_id kp_master #指定本机keepalaved名字(主从不能重复)
5 }
6
7 vrrp_instance VI_1 {
★ state MASTER #声明成主服务器(MASTER)/声明成从服务器(SLAVE)
★ interface eth0 #定义相应网卡接口名称
★ virtual_router_id 100 #虚拟路由ID(主从应同步)
★ priority 100 #Keepalaved主从服务器优先级(主服务器必须大于从服务器)
12 advert_int 1 #检查间隔,默认1秒
13 authentication { #定义主从验证
14 auth_type PASS #设置验证方式(PASS或HA)
15 auth_pass 1111 #验证密码
16 }
17 virtual_ipaddress { #指定负载调度器(指定VIP的地址)
★ 192.168.22.195
19 }
20 }
21
★ virtual_server 192.168.22.195 80 { #虚拟主机区域(指定VIP地址)
23 delay_loop 6 #服务器轮询间隔时间
24 lb_algo rr #指定rr轮询算法
★ lb_kind DR #指定DR模式
★ net_mask 255.255.255.0 #指定子网掩码
27 persistence_timeout 50 #会话保持时间
28 protocol TCP #指定数据转发协议
29
★ real_server 192.168.22.193 80 { #RealServer1池,如有多台复制此区域
31 weight 1 #设置服务器权重
★ TCP_CHECK { #对后端真实服务器TCP健康检查
33 connect_timeout 3 #链接超时时间
34 retry 3 #重试次数
35 delay_before_retry 3 #重试时间间隔
36 }
37 }
38
★ real_server 192.168.22.194 80 { #RealServer2池,如有多台复制此区域
40 weight 1 #设置服务器权重
★ TCP_CHECK { #对后端真实服务器TCP健康检查
42 connect_timeout 3 #连接超时时间
43 retry 3 #重试次数
44 delay_before_retry 3 #重试时间间隔
45 }
46 }
47 }

2.启动keepalived

[root@localhost ~]# chkconfig  --add  keepalived
[root@localhost ~]# chkconfig keepalived on
[root@localhost ~]# ./keepalived -f /usr/local/keepalived/etc/keepalived.conf
[root@localhost ~]# systemctl restart keepalived

配置备节点

1.修改主配置文件,其他可删除,只写入以下内容,修改以下标★处

[root@localhost ~]# vim /etc/keepalived/keepalived.conf

 1 ! Configuration File for keepalived
2
3 global_defs {
★ router_id kp_slave #指定本机keepalaved名字(主从不能重复)
5 }
6
7 vrrp_instance VI_1 {
★ state SLAVE #声明成主服务器(MASTER)/声明成从服务器(SLAVE)
★ interface eth0 #定义相应网卡接口名称
★ virtual_router_id 100 #虚拟路由ID(主从应同步)
★ priority 50 #Keepalaved主从服务器优先级(主服务器必须大于从服务器)
12 advert_int 1 #检查间隔,默认1秒
13 authentication { #定义主从验证
14 auth_type PASS #设置验证方式(PASS或HA)
15 auth_pass 1111 #验证密码
16 }
17 virtual_ipaddress { #指定负载调度器(指定VIP的地址)
★ 192.168.22.195
19 }
20 }
21
★ virtual_server 192.168.22.195 80 { #虚拟主机区域(指定VIP地址)
23 delay_loop 6 #服务器轮询间隔时间
24 lb_algo rr #指定rr轮询算法
★ lb_kind DR #指定DR模式
★ net_mask 255.255.255.0 #指定子网掩码
27 persistence_timeout 50 #会话保持时间
28 protocol TCP #指定数据转发协议
29
★ real_server 192.168.22.193 80 { #RealServer1池,如有多台复制此区域
31 weight 1 #设置服务器权重
★ TCP_CHECK { #对后端真实服务器TCP健康检查
33 connect_timeout 3 #链接超时时间
34 retry 3 #重试次数
35 delay_before_retry 3 #重试时间间隔
36 }
37 }
38
★ real_server 192.168.22.194 80 { #RealServer2池,如有多台复制此区域
40 weight 1 #设置服务器权重
★ TCP_CHECK { #对后端真实服务器TCP健康检查
42 connect_timeout 3 #连接超时时间
43 retry 3 #重试次数
44 delay_before_retry 3 #重试时间间隔
45 }
46 }
47 }

2.修改内核参数.防止相同网络地址广播冲突

[root@localhost ~]# vim /etc/sysctl.conf

net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.eth0.send_redirects = 0 [root@localhost ~]# sysctl -p

3.启动keepalived 添加自启动菜单以及设置开机自启

[root@localhost ~]# chkconfig  --add  keepalived
[root@localhost ~]# chkconfig keepalived on
[root@localhost ~]# ./keepalived -f /usr/local/keepalived/etc/keepalived.conf
[root@localhost ~]# systemctl restart keepalived

构建Keepalived高可用集群的更多相关文章

  1. Keepalived高可用集群应用

    Keepalived高可用集群应用 1.keepalived服务说明 1.1.keepalived介绍 Keepalived是一个用C语言编写的路由软件.该项目的主要目标是为Linux系统和基于Lin ...

  2. Haproxy+keepalived高可用集群实战

    1.1  Haproxy+keepalived高可用集群实战 随着互联网火热的发展,开源负载均衡器的大量的应用,企业主流软件负载均衡如LVS.Haproxy.Nginx等,各方面性能不亚于硬件负载均衡 ...

  3. Nginx+Keepalived高可用集群应用实践

    Nginx+Keepalived高可用集群应用实践 1.Keepalived高可用软件 1.1 Keepalived服务的三个重要功能 1.1.1管理LVS负载均衡软件 早期的LVS软件,需要通过命令 ...

  4. Nginx + Keepalived 高可用集群部署

    负载均衡技术对于一个网站尤其是大型网站的web服务器集群来说是至关重要的!做好负载均衡架构,可以实现故障转移和高可用环境,避免单点故障,保证网站健康持续运行.在使用 Nginx 做反向代理或者负载均衡 ...

  5. 使用Keepalived构建LVS高可用集群

    LVS的DR模型配置+Keepalive部署 介绍 下图为DR模型的通信过程,图中的IP不要被扑结构中的IP迷惑,图里只是为了说明DR的通信原理,应用到本例中的拓扑上其工作原理不变. 拓扑结构 服务器 ...

  6. Keepalived高可用集群搭建(转载linuxIDC)

    1.Keepalived简介 Keepalived是一个基于VRRP协议来实现的WEB服务高可用方案,可以利用其来避免单点故障.使用多台节点安装keepalived.其 他的节点用来提供真实的服务,同 ...

  7. Corosync+Pacemaker+crmsh构建Web高可用集群

    一.概述: 1.1 AIS和OpenAIS简介 AIS应用接口规范,是用来定义应用程序接口(API)的开放性规范的集合,这些应用程序作为中间件为应用服务提供一种开放.高移植性的程序接口.是在实现高可用 ...

  8. 基于Keepalived高可用集群的MariaDB读写分离机制实现

    一 MariaDB读写分离机制 在实现读写分离机制之前先理解一下三种主从复制方式:1.异步复制:MariaDB默认的复制即是异步的,主库在执行完客户端提交的事务后会立即将结果返给给客户端,并不关心从库 ...

  9. Linux 笔记 - 第十八章 Linux 集群之(一)Keepalived 高可用集群

    一.前言 Linux 集群从功能上可以分为两大类:高可用集群和负载均衡集群.此处只讲高可用集群,负载均衡放在下一篇博客讲解. 高可用集群(High Availability Cluster,简称 HA ...

  10. Keepalived高可用集群部署

    KeepAlived 目录 KeepAlived KeepAlived安装 KeepAlived部署 准备工作 主备模式 节点配置 验证 正常状态 故障 故障恢复 1+N(一主多备)模式 节点配置 验 ...

随机推荐

  1. GIL 锁或将在 CPython 中成为可选项

    哈喽大家好,我是咸鱼 几天前有媒体报道称,经过多次辩论,Python 指导委员会打算批准通过 PEP 703 提案,让 GIL(全局解释器)锁在 CPython 中成为一个可选项 PEP 703 提案 ...

  2. 给科研人的 ML 开源发布工具包

    什么是开源发布工具包? 恭喜你的论文成功发表,这是一个巨大的成就!你的研究成果将为学界做出贡献. 其实除了发表论文之外,你还可以通过发布研究的其他部分,如代码.数据集.模型等,来增加研究的可见度和采用 ...

  3. [Docker] Mac M2 – no such file or directory: /var/lib/docker/volumes ,找不到var/lib/docker/volumes (已解決)

    Mac M2 Pro Docker 24.0.6 $ docker volume inspect 14dfdb65fb7075d91b2004c979a3591df54bcc1303ff3ca96a3 ...

  4. AcWing 第 13 场周赛  补题记录

    比赛链接:Here AcWing 3811. 排列 签到题, 先输出 \(n\) 然后输出 \(1\sim n -1\) 即可 AcWing 3812. 机器人走迷宫 不会什么特别高级的方法 qaq, ...

  5. AtCoder ARC 115 E - LEQ and NEQ (延迟标记线段树 or 笛卡尔积 + DP维护)

    问题链接:Here 长度为 \(N\) 的数列 \(A_1,-,A_N\) .回答满足以下条件的长度 \(N\) 的数列 \(X_1,-,X_N\) 的个数除以 \(998244353\) 的余数. ...

  6. vivo悟空活动中台-打造 Nodejs 版本的MyBatis

    经典的架构设计可以跨越时间和语言,得以传承. -- 题记 一.背景 悟空活动中台技术文章系列又和大家见面了,天气渐冷,注意保暖. 在往期的系列技术文章中我们主要集中分享了前端技术的方方面面,如微组件的 ...

  7. 服务降级,限流等--sentinel(SpringCloud Alibaba)

    一. 介绍Sentinel,中文翻译为哨兵,是为微服务提供流量控制.熔断降级的功能,它和Hystrix提供的功能一样,可以有效的解决微服务调用产生的"雪崩"效应,为微服务系统提供了 ...

  8. vue双向定位导航效果

    需求:实现双向定位导航效果,点击左侧菜单,右侧滚动到相应的位置.滚动右边,左侧相应菜单高亮. html代码: 1 <ul class="EntTake_main_left" ...

  9. Python数据可视化-动态柱状图可视化

    Python数据可视化-动态柱状图可视化 一.基础柱状图 通过Bar构建基础柱状图 """ 演示基础柱状图的开发 """ from pyec ...

  10. java项目实践-webapp-mytomcat-day16

    目录 1. http协议 2. 自定义的web框架 3. 具体实现 4. 启动 1. http协议 CS架构 建立连接"三次握手" 断开连接 "四次挥手" 三次 ...