Keepalived服务器

keepalived部署 1、使用rpm包安装keeplived [root@localhost ~]# yum -y install keepalived ipvsadm 2、在主keepalived配置 使用Keepalived实现双机热备 环境:主备服务器的IP地址分别为192.168.0.9、192.168.0.10;漂移地址为192.168.100.200 主备服务器中都需要安装Keepalived。 1)主服务器的配置 Keepalived服务的配置目录位于/etc/keepalived/。其中keepalived.c 阅读详情

Keepalived介绍

Keepalived软件起初是专为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了可以实现高可用的VRRP功能。因此,Keepalived除了能够管理LVS软件外,还可以作为其他服务(例如:Nginx、Haproxy、MySQL等)的高可用解决方案软件。   

Keepalived高可用原理

搭建主、备服务器一样的配置,在Keepalived中配置相同的VIP;主服务器发送“心跳消息”给备服务器,那么备服务器的VIP配置就不生效,一旦主服务器宕机,“心跳消息”停止发送,备份服务器会让VIP生效,产生“IP漂移”,备服务器就会变成主服务器;

  • 注意不能同时有两个主服务器;

  • 抢占模式(默认模式):主服务器优先级高于备份服务器,主服务器恢复后会重新“抢回”VIP;

  • 非抢占模式:(加上nopreempt参数才能开启):主服务器恢复后成为新的备份服务器,只有当原备份服务器宕机时,才会发生IP漂移;

keepalived通过vrrp协议实现高可用架构,vrrp是路由灾备的实现基础。

Keepalived三大功能

  • 高可用:VIP漂移,基于VRRP协议

  • 健康检测:通过执行检测脚本或网络请求等方式检测服务是否正常;

  • 负载均衡:内置LVS管理器,通过Keepalived配置LVS负载均衡功能;

Keepalived是基于VRRP协议来实现高可用的:

VRRP协议(Virtual Router Redundancy Protocol虚拟路由冗余协议)是一种解决局域网网关单点故障的标准化协议(IETF标准,RFC5798)。

其核心作用是:将多台物理路由器“虚拟”成一个统一的“虚拟路由器”,让终端设备(如PC、服务器)仅需配置该虚拟路由器的IP作为网关,即可实现网关的“无缝冗余”——即使其中一台物理路由器故障,网络也能自动切换到备用路由器,避免断网。

Keepalived高可用实验:

## 两个服务器的准备工作
# 首先先给主从设置默认页面的内容
yum install httpd -y
echo "<h1>这是192.168.221.30!!</h1>" > /var/www/html/index.html
systemctl start httpd
# 然后安装Keepalived
# CentOS7
yum install -y keepalived
# Ubuntu
apt install -y keepalived
​
## 以下是可以省略的步骤(省略)
# 查看keepalived版本
keepalived -v
会出现Keepalived v1.3.5 (03/19,2017), git commit v1.3.5-6-g6fa32f2
# 启动keepalived
systemctl start keepalived.service
或者
service keepalived start
# 重启:
systemctl restart keepalived
# 停止:
systemctl stop keepalived
# 状态:
systemctl status keepalived
# 开机重启:
systemctl enable keepalived
# 查看keepalived状态
systemctl status keepalived
# 查看keepalived进程
ps -ef | grep keepalived
# 查看ip列表
ip add show

主节点(192.168.221.30)

vim /etc/keepalived/keepalived.conf
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
! Configuration File for keepalived
​
global_defs {
  router_id server~30 # 标识本节点的字符串,设置为hostname即可
}
​
vrrp_instance VI_1 {
   state MASTER    # 标识主节点服务(只有MASTER和BACKUP两种,大写)
   interface ens33      # VIP板顶的网卡接口
   virtual_router_id 51  # 虚拟路由id,和备节点保持一致
   priority 100        # 优先级,高于备节点的即可。
   # nopreempt         # 禁止MASTER宕机恢复后抢占服务
   # smtp_alert        # 激活故障时发送邮件告警
   mcast_src_ip 192.168.221.30   # 本机IP地址
   advert_int 1    # MASTER和BACKUP节点之间的同步检查时间间隔,单位为秒
   authentication {    # 验证类型和验证密码
       auth_type PASS  # PAAS(默认),HA
       auth_pass 1234  # MASTER和BACKUP使用相同明文才可以互通
   }
   virtual_ipaddress { # 虚拟IP地址池,可以多个IP
       192.168.221.100 # 虚拟IP1(VIP)
   }
}
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

从节点(192.168.221.40)

vim /etc/keepalived/keepalived.conf
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
! Configuration File for keepalived
​
global_defs {
  router_id server~40 # 标识本节点的字符串,设置为hostname即可
}
​
vrrp_instance VI_1 {
   state BACKUP    # 标识主节点服务(只有MASTER和BACKUP两种,大写)
   interface ens33
   virtual_router_id 51
   priority 99    # 优先级,低于主节点的即可。
   mcast_src_ip 192.168.221.40   # 本机IP地址
   advert_int 1
   authentication {
       auth_type PASS
       auth_pass 1234
   }
   virtual_ipaddress {
       192.168.221.100
   }
}
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

最后用浏览器访问192.168.221.100即可出现主服务器的页面
主服务器宕机后,从服务器的ip a 会多一个192.168.221.100/32,然后再从浏览器就可以访问到从服务器的页面了。

配置文件说明

[root@lvs1 ~]# vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived
​
global_defs {                   #全局配置
   notification_email {        #指定keepalived在发生切换时需要发送email到的对象,一行一个
       acassen@firewall.loc    #指定收件人邮箱
       failover@firewall.loc
       sysadmin@firewall.loc
   }
   notification_email_from Alexandre.Cassen@firewall.loc #指定发件人
   smtp_server 192.168.200.1   #指定smtp服务器地址
   smtp_connect_timeout 30     #指定smtp连接超时时间
   router_id LVS_DEVEL         #此处注意router_id为负载均衡标识,在局域网内应该是唯一的。
   vrrp_skip_check_adv_addr
   vrrp_strict
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}
vrrp_instance VI_1 {        #虚拟路由的标识符
   state MASTER            #状态只有MASTER和BACKUP两种,并且要大写,MASTER为工作状态,BACKUP是备用状态
   interface eth0          #通信所使用的网络接口
  virtual_router_id 51  #虚拟路由的ID号,是虚拟路由MAC的最后一位地址
  priority 100          #此节点的优先级,主节点的优先级需要比其他节点高
  advert_int 1          #通告的间隔时间
  authentication {      #认证配置
               auth_type PASS      #认证方式
       auth_pass 1111      #认证密码
   }
   virtual_ipaddress {     #虚拟ip地址,可以有多个地址,每个地址占一行,不需要子网掩码,同时这个ip 必须与我们在lvs 客户端设定的vip 相一致!
       192.168.200.16
       192.168.200.17
       192.168.200.18
   }
}
​
virtual_server 192.168.200.100 443 { #集群所使用的VIP和端口
   delay_loop 6                    #健康检查间隔,单位为秒
   lb_algo rr                      #lvs调度算法rr|wrr|lc|wlc|lblc|sh|dh
   nat_mask 255.255.255.0          #VIP掩码
   lb_kind NAT                     #负载均衡转发规则。一般包括DR,NAT,TUN 3种
   persistence_timeout 50          #会话保持时间,会话保持,就是把用户请求转发给同一个服务器,不然刚在1上提交完帐号密码,就跳转到另一台服务器2上了
   protocol TCP                    #转发协议,有TCP和UDP两种,一般用TCP,没用过UDP
   real_server 192.168.200.100 443 { #真实服务器,包括IP和端口号
       weight 1                    #权重
       TCP_CHECK {                 #通过tcpcheck判断RealServer的健康状态
           connect_timeout 3       #连接超时时间
           nb_get_retry 3          #重连次数
           delay_before_retry 3    #重连间隔时间
           connect_port 23         #健康检查的端口的端口
           bindto <ip>  
       }
​
       HTTP_GET  {     #健康检测方式,可选有 SSL_GET、TCP_CHECK、HTTP_GET
           url {                   #检查url,可以指定多个
             path /        #检查的url路径
             digest ff20ad2481f97b1754ef3e12ecd3a9cc  #需要检查到的内容。检查后的摘要信息。
           }
           url {
             path /mrtg
             digest 9b3a0c85a887a256d6939da88aabd8cd
           }
           url {
             path /testurl3/test.jsp
             digest 640205b7b0fc66c1ea91c463fac6334d
           }
​
           connect_timeout 3       #连接超时时间
           nb_get_retry 3          #检测尝试几次
           delay_before_retry 3    #检测的时间间隔
       }
   }
}

Keepalived高可用裂脑

什么是裂脑?

由于某些原因,导致两台高可用服务器对在指定时间内,无法检测到对方的心跳消息,各自取得资源及服务的所有权,而此时的两台高可用服务器对都还活着并在正常运行,这样就会导致同一个IP或服务在两端同时存在而发生冲突,最严重的是两台主机占用同一个VIP地址,当用户写入数据时可能会分别写入到两端,这可能会导致服务器两端的数据不一致或造成数据丢失,这种情况就被称为裂脑。

裂脑的原因

1)高可用服务器对之间心跳线链路故障,导致无法正常通信。

2)高可用服务器对上开启了iptables防火墙阻挡了心跳消息传输。

3)高可用服务器对上心跳网卡地址等信息配置不正确,导致发送心跳失败。

4)keepalived配置问题。

解决裂脑的常见方案

1)同时使用串行电缆和以太网电缆连接,同时用两条心跳线路

2)当检测到裂脑时强行关闭一个心跳节点(这个功能需特殊设备支持,如Stonith 、fence)。相当于备节点接收不到心跳消息,发送关机命令通过单独的线路关闭主节点的电源。 fence和Stonith设备其实就是一个智能电源。

keepalived的部署 节点部署 IP hostname 192.168.47.126 master 192.168.47.127 server 需求 任务需求: 1.部署keepalived 2.配置keepalived日志 3.配置自定义监测http服务脚本 操作 1.安装keepalived和httpd服务 主节点 [root@master ~]# yum -y install keepal... 阅读详情

相关推荐

keepalived virtual_ipaddress 段绑定多个虚拟ip

请根据实际环境选择合适的方法,并确保每个虚拟IP都是合法且未被占用的。另外,根据 CentOS 版本的不同,网络服务重启的命令可能会有所差异。如果您只是想在单台服务器上为一个网卡配置多个IP地址,而不需要高可用功能,可以直接使用。在 CentOS 系统中,如果您想绑定多个虚拟IP地址,可以使用。工具实现高可用性和负载均衡功能,也可以直接配置网络接口(如通过。

zengliguang的专栏 1934

高可用(keepalived)部署方案

高可用说起来感觉很高大上,我刚接触的时候也是一头雾水,但是需求的时候很容易理解的,当一台服务器挂了另一台能够马上顶上去继续提供服务,这就叫做高可用,需求其实不难理解,只是需要自身根据项目的实际需求还有环境进行搭建环境,每一步还有整体的安装方法都需要自己去踩坑的,而且这个坑非常多,要不停的复现各种问题,然后尝试各种思路来解决碰到的问题,而且我们的客户大部分都是离线环境,也就是不接触外网的,所以安装起来就会有很多问题,我所需要达到的目的就是,根据我的文档步骤安装就能实现需求,所以工作量是可想而知的,你需要下各种

北城青的博客 1万+

Keepalived热备 Keepalived+LVS 、 HAProxy服务器

案例1:Keepalived高可用服务器 案例3:Keepalived+LVS服务器 案例1:配置HAProxy负载平衡集群 1 案例1:Keepalived高可用服务器 1.1 问题 准备三台Linux服务器,两台做Web服务器,并部署Keepalived高可用软件,一台作为客户端主机,实现如下功能: 使用Keepalived实现web服务器的高可用 Web服务器IP地址分别为192....

jackjack博客 758

【keepalived部署安装】

离线部署keepalived

qq_35617635的博客 6289

搭建Keepalived+Nginx高可用负载均衡服务器

服务器搭建策略 单机模式: 只有一台应用服务器,组成一个单机模式 优点:简单方便(搭建、运营、维护) 缺点:不能出故障(停电、断网、系统崩溃、硬件老化、性能瓶颈) 应用场景:小型项目(几十个人) 集群(cluster)模式: 有一个应用服务器集群(cluster),有很多应用服务器组成一个集群 服务器三高 高可用:服务器能否能24*365不间断提供服务,服务器容灾性高 高并发:同一时间上,服务器能够同时容纳的用户连接数 高性能:服务器处理用户请求的速度,服务器的计算能力 服务器升级 纵向升级(对单台服务器做

qq_44948213的博客 9018

配置Keepalived高可用服务器

Keepalived高可用服务器 准备三台Linux服务器,两台做Web服务器,并部署Keepalived高可用软件,一台作为客户端主机,实现如下功能: 使用Keepalived实现web服务器的高可用 Web服务器IP地址分别为192.168.4.100和192.168.4.200 Web服务器的浮动VIP地址为192.168.4.80 客户端通过访问VIP地址访问Web页面 方案 使用3台虚拟机,2台作为Web服务器,并部署Keepalived、1台作为客户端,拓扑结构如图所示,主机配置如表所示。

weixin_49994540的博客 558

Keepalived高可用服务器

Top NSD CLUSTER DAY03 案例1:Keepalived高可用服务器 案例3:Keepalived+LVS服务器 案例1:配置HAProxy负载平衡集群 1 案例1:Keepalived高可用服务器 1.1 问题 准备三台Linux服务器,两台做Web服务器,并部署Keepalived高可用软件,一台作为客户端主机,实现如下功能: 使用Keepaliv...

weixin_30537391的博客 157

运维——Keepalived高可用服务器

实验目的:使用keepalived实现web服务器的高可用 实验环境:准备三台Linux服务器,两台做Web服务器,并部署Keepalived高可用软件,一台作为客户端主机;Web服务器IP地址分别为192.168.4.100和192.168.4.200;Web服务器的浮动VIP地址为192.168.4.80;客户端通过访问VIP地址访问Web页面 实验拓扑: 实验步骤: 步骤一:配置网络环境...

RD_zzq的博客 412

40: Keepalived热备 、 Keepalived+LVS 、 HAProxy服务器 、 总结和答疑

CASE Top NSD CLUSTER DAY02 案例1:Keepalived高可用服务器 案例2:Keepalived+LVS服务器 案例3:配置HAProxy负载平衡集群 ...

weixin_46575696的博客 651

03: Keepalived热备 Keepalived+LVS 、 HAProxy服务器

Top NSD CLUSTER DAY03 案例1:Keepalived高可用服务器 案例3:Keepalived+LVS服务器 案例1:配置HAProxy负载平衡集群 1 案例1:Keepalived高可用服务器 1.1 问题 准备三台Linux服务器,两台做Web服务器,并部署Keepalived高可用软件,一台作为客户端主机,实现如下功能: 使用Keepalived实现we...

xixi1067087210的博客 718

【云原生】阿里云ECS服务器实现Keepalived

阿里云服务器由于自身有一套虚拟网络建设,当我们在阿里云的ECS上搭建Keepalive服务时,用常见的搭建方式会失败,本篇文章带大家如何在阿里云ECS服务器上搭建Keepalive服务。查看各个节点的ip,vip在master01节点上,当我们把master01节点的Keepalived服务关闭后,vip会漂移到backup1节点上。1、如果某个节点没有返回响应数据包,那么认为该节点发生了故障,Keepalived将报告这个节点失效,并从服务器集群中剔除故障节点。1、专有网络需要与ECS实例专有网络一致。

CN_Eden 2317

nginx+keepalived实现主备服务器的高可用

nginx+keepalived实现主备服务器的高可用 一、什么是负载均衡高可用?      nginx作为负载均衡服务器,所有请求都到了nginx,可见nginx处于非常重要的位置,如果nginx服务器宕机将会导致后端web服务将无法提供,后果严重。      为了屏蔽负载均衡服务器的宕机,需要建立一个备份机。主服务器和备份机上都运行高可用(High Availablitity)监

诗雨远方的博客 4181

深度学习与神经网络有什么区别

人工神经网络(ArtificialNeuralNetwork,即ANN)是从信息处理角度对人脑神经元网络进行抽象,是20世纪80年代以来人工智能领域兴起的研究热点,其本质是一种运算模型,由大量的节点(或称神经元)之间相互联接构成,在模式识别、智能机器人、自动控制、生物、医学、经济等领域已成功地解决了许多现代计算机难以解决的实际问题,表现出了良好的智能特性。...

super67269的博客 8487

Keepalived热备 、 Keepalived+LVS 、 HAProxy服务器

Keepalived高可用服务器 Keepalived运行原理 Keepalived检测每个服务器节点状态 服务器节点异常或工作故障,Keepalived将故障节点从集群系统中剔除 故障节点恢复后,Keeplived再将其加入到集群系统中 所有工作自动完成,无需人工干预 准备三台Linux服务器,两台做Web服务器,并部署Keepalived高可用软件,一台作为客户端主机,实现如下功能: 使用...

weixin_44221035的博客 346

SCL3400-D01双轴高精度倾角计

简介 两轴高精度加速度计,提供两个模式。 ±30° with 10 Hz LPF ±90° with 40 Hz LPF Resolution up to 32768 LSB/g Ultra-low 0.0009°/√Hz noise density 这款传感器是替换之前村田的停产的模拟量系列的芯片,正在测试中,具体效果大伙可以评测。 一、引脚连接图 引脚图兼容SCL3300 二、SPI接口 1.SCL3300和SCL3400略有区别如下图 左边为SCL3...

专注惯导领域 3807

Geant4学习一:写一个简单程序

1、 基本介绍

ccwwNUAA的博客 7697

keepalived配置高可用web服务器

使用Keepalived安装高可用web服务器

weixin_42508243的博客 548

MacBook 本地化部署 Dify 指南

dify 怎么安装部署 有哪些坑 !

weixin_44542598的博客 1521

Keepalived+LVS服务器

1.1 问题 准备三台Linux服务器,两台做Web服务器,并部署Keepalived高可用软件,一台作为客户端主机,实现如下功能: 使用Keepalived实现web服务器的高可用 Web服务器IP地址分别为192.168.4.100和192.168.4.200 Web服务器的浮动VIP地址为192.168.4.80 客户端通过访问VIP地址访问Web页面 1.2 方案 使用3台虚拟机,2台作...

Xy_content的博客 247

SAP公司间STO业务解析(包含主数据解析、后台配置解析、前台业务演示)

SAP公司间STO业务解析

ww114784的博客 1016

前端技能树,面试复习第 54 天—— 手写代码:情景题

前端修罗场提供全网最专业的前端优质文章与社区服务,为应届生,初中级前端工程师提供全面、优质的面试服务、技能提升、职场解惑服务!内容包含:前端面试辅导,前端面试题,前端交流,前端答疑,前端基础知识,前端知识体系,技能树搭建,Javascript,CSS,CSS3,HTML,React,Vue,小程序,前端简历,职业交流,远程工作,英文交流,英文提升,外企,互联网,国企,大厂,牛客面试题,掘金面试题,面经,优质前端文章分享...

前端进阶之路 | 中大厂、外企、国企内推 | 面试培训 | 简历修改 986
上一篇: LVS集群
下一篇: Keepalived两个集群实验
chen_note
博客等级 码龄1年 251粉丝 83原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值