Keepalived 双机热备基础知识

7.1 Keepalived 双机热备基础知识

       Keepalived起初是专门针对LVS设计的一款强大的辅助工具,主要用来提供故障切换(Failover) 和健康检查査(Health Checking)功能一一判断LVS 负载调度器、节点服务器的可用性,及时隔离并替 换为新的服务器,当故障主机恢复后将其重新加入群集。

7.1.1 Keepalived 概述及安装

       Keepalived的官方网站位于http://www.keepalived.org/、本章将以YUM方式讲解Keepalived的 安装,配置和使用过程。在非LVS群集环境中使用时,Keepalived也可以作为热备软件使用。

1. Kcepalived的热备方式

       Keepalived 采用VRRP (Virtual Router Redundancy Protocol,虚拟路由冗余协议)热备份协议,以 软件的方式实现Linux服务器的多机热备功能。VRRP是针对路由器的一种备份解决方案一一由多台 路由器组成一个热备组,通过共用的虚拟P地址对外提供服务,每个热备组内同一时刻只有一台主 路由器提供服务,其他路由器处于冗余状态,若当前在线的路由器失效,则其他路由器会自动接替 (优先级决ぐ接替顺序)虚拟IP地址,以继续提供服务,如图7.1所示。 热备组内的每台路由器都可能成为主路由器,虚拟路由器的IP地址(VIP)可以在热备组内的路由器之间进行转移,所以也称为漂移IP地址。使用Keepalived时,漂移地址的实现不需要手动建立 虚接口配置文件(如 ens33:0),而是由Keepalived 根据配置文件自动管理。

部署配置实验

实验环境

虚拟机 4台 centos7.3

网卡NAT模式 数量 1

组件包LVS、keepslived、httpd

Centos01

192.168.161.102

node01

Centos02

192.168.161.103

node02

Centos03

192.168.161.104

web1

Centos04

192.168.161.105

web2

初始配置

关闭防火墙

[root@node02 ~]# Systemctl disable firewalld --now[root@node02 ~]# vim /etc/sysconfig/selinux

 

关闭Selinux

[root@node02 ~]# setenforce 0

配置IP DNS 网关

[root@node02 ~]# nmtui

两台调度节点配置并安装

[root@node02 ~]# yum install -y keepalived ipvsadm

修改配置文件

node02 配置内容[root@node02 ~]# vim /etc/keepalived/keepalived.conf vrrp_instance VI_1 {state MASTER           //角色 MASTER BACKUPinterface ens33        //本地网卡 ens33virtual_router_id 51   //VRRP组号priority 100           //优先级advert_int 1           //VRRP传递时间 1sauthentication {       //VRRP认证auth_type PASS     //认证类型auth_pass abc.123  //密码}virtual_ipaddress {    //虚拟IP,VIP,飘逸地址192.168.161.200}
}

node03 配置内容[root@node03 ~]# vim /etc/keepalived/keepalived.conf vrrp_instance VI_1 {state BACKUP           //角色 MASTER BACKUPinterface ens33        //本地网卡 ens33virtual_router_id 51   //VRRP组号priority 90            //优先级advert_int 1           //VRRP传递时间 1sauthentication {       //VRRP认证auth_type PASS     //类型密码auth_pass abc.123  //密码}virtual_ipaddress {    //虚拟IP,VIP,飘逸地址192.168.160.200}
}

启动服务

[root@node02 ~]# systemctl enable keepalived --now

验证虚拟 IP 切换

node02 和 node03 查看虚拟IP

[root@node02 ~]# ip add

node02 关闭keepalived

[root@node02 ~]# systemctl stop keepalived

node03 查看虚拟IP

[root@node03 ~]# ip add

查看日志

找到主备切换

[root@node03 ~]# tail /var/log/messages 

LVS+keepalived 高可用配置

WEB节点web1、web2配置 服务及站点

[root@node04 ~]# yum -y install httpd
[root@node04 ~]# echo "<h1>www.web1.com</h1>" > /var/www/html/index.html //仅在web1配置
[root@node04 ~]# echo “<h1>www.web2.com</h1>” > /var/www/html/index.html  //仅在web2配置
[root@node04 ~]# systemctl enable httpd --now

主 备 关联后端WEB节点 并配置节点切换策略

[root@node02 ~]# vim /etc/keepalived/keepalived.confvirtual_server 192.168.161.200 80 {delay_loop 6lb_algo rr  轮询方式  lb_kind DR LVS模式 NAT DR TUNpersistence_timeout 50   超时时间50sprotocol TCP 协议TCP节点服务器1             real_server 192.168.161.104 80 {weight 1  轮询权重CHECK {  开启检测connect_port 80  链接端口connect_timeout 3 链接超时3snb_get_retry 3    重试次数delay_before_retry 3 重试间隔时间3s}}节点服务器2real_server 192.168.161.105 80 {weight 1CHECK {connect_port 80connect_timeout 3nb_get_retry 3delay_before_retry 3}} 
}

重启服务

[root@node02 ~]# systemctl restart keepalived

主 备 两台LVS调度节点配置

[root@node02 ~]# ipvsadm > /etc/sysconfig/ipvsadm
[root@node02 ~]# ipvsadm -A -t 192.168.161.200:80 -s rr
[root@node02 ~]# ipvsadm -a -t 192.168.161.200:80 -r 192.168.161.104:80 -g -w 1
[root@node02 ~]# ipvsadm -a -t 192.168.161.200:80 -r 192.168.161.105:80 -g -w 1
[root@node02 ~]# ipvsadm-save > /etc/sysconfig/ipvsadm
[root@node02 ~]# systemctl restart ipvsadm
[root@node02 ~]# ipvsadm -ln[root@node02 ~]# cat /etc/sysconfig/ipvsadm  //查看保存结果

两台web节点配置

[root@node04 ~]# cd /etc/sysconfig/network-scripts/[root@node04 network-scripts]# cp ifcfg-lo ifcfg-lo:0
[root@node04 network-scripts]# vim ifcfg-lo:0DEVICE=lo:0
IPADDR=192.168.160.200
NETMASK=255.255.255.255
ONBOOT=yes
NAME=lo:0
[root@node04 ~]# systemctl restart network

验证WEB节点切换访问

浏览器访问测试

web1 http://192.168.161.104

 web2 http://192.168.161.105

虚拟IP httpd://192.168.161.200

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/709555.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Container killed on request. Exit code is 143

Bug信息 WARN YarnAllocator: Container marked as failed: container_e33_1480922439133_0845_02_000002 on host: hdp4. Exit status: 143. Diagnostics: Container killed on request. Exit code is 143 Container exited with a non-zero exit code 143 Killed by externa…

day03_登录注销(前端接入登录,异常处理, 图片验证码,获取用户信息接口,退出功能)

文章目录 1. 前端接入登录1.1 修改前端代码1.2 跨域请求1.2.1 跨域请求简介1.2.2 COSR概述CORS简介CORS原理 1.2.3 CORS解决跨域 2. 异常处理2.1 提示空消息分析2.2 系统异常分类2.3 异常处理2.2.1 方案一2.2.2 方案二 3. 图片验证码3.1 图片验证码意义3.2 实现思路3.3 后端接口…

java找工作之JavaWeb(一)

JavaWeb 一个web应用有多部份组成&#xff08;静态web&#xff0c;动态web&#xff09; html&#xff0c;css&#xff0c;jsjsp&#xff0c;servletjava程序jar包配置文件(Properties) web应用程序编写完毕后&#xff0c;若想提供给外界访问&#xff0c;需要一个服务器来统一…

【IC验证】数据类型

一、思维导图 二、代码 &#xff08;1&#xff09;字符串 字符串的结尾不带空标识符null&#xff0c;\0。是动态存储方式&#xff0c;因此不用担心存储空间被用完。 编辑.SV文件使用 gvim 文件名 运行仿真使用 vcs -sverilog -full64 string_type.sv 和./simv命令如果是字…

【微服务】微服务架构包含哪些组件、各个组件又承担什么职责呢?

前面的文章里我们介绍了微服务架构的一些基础知识以及特点&#xff0c;也提到了国产的微服务架构标准实现SpringCloud Alibaba&#xff0c;聊了这么多&#xff0c;还是没有开始阐述各组件在Java技术体系中的具体实现。那从这里开始&#xff0c;我们开始全面认识微服务架构在Jav…

上拉电阻与下拉电阻、电容的作用

上拉电阻与下拉电阻 在单片机电路中&#xff0c;上拉电阻和下拉电阻都是常见的电路元件&#xff0c;它们在数字电路设计中扮演着重要的角色。它们的作用如下&#xff1a; 1. **上拉电阻**&#xff1a; - **作用**&#xff1a;当一个引脚没有外部信号时&#xff0c;上拉电阻…

微调(Fine-tuning)技术概念

——微调&#xff0c;像化妆&#xff0c;一种“精细化、风格性调整”的人工美颜技能。 微调&#xff08;Fine-tuning&#xff09;是指在深度学习领域中&#xff0c;特别是针对预训练模型的一种训练策略。预先训练好的模型通常是在大规模无标注数据上通过自监督学习得到的&#…

【Micropython】I2C层次结构、I2C协议

文章目录 前言一、I2C的结构层次1.1 怎样在两个设备之间传输数据1.2 I2C如何传输数据1.3 硬件框图1.4 软件层次 二、IIC协议2.1 硬件连接2.2 I2C 总线的概念2.3 传输数据类比2.3 I2C信号2.4 I2C数据的含义 总结 前言 I2C&#xff08;Inter-Integrated Circuit&#xff09;是一…

【Redis】redis事务和发布订阅

Redis 事务 Redis 事务可以一次执行多个命令&#xff0c; 并且带有以下三个重要的特性&#xff1a; 批量操作在发送 EXEC 命令前被放入队列缓存。收到 EXEC 命令后进入事务执行&#xff0c;事务中任意命令执行失败&#xff0c;其余的命令依然被执行。在事务执行过程&#xff…

C++设计模式——抽象工厂模式

文章目录 抽象工厂模式的主要组成部分抽象工厂模式的一个典型例子抽象工厂模式用于其他场景抽象工厂模式与其他设计模式结合使用 C 中的抽象工厂模式是一种创建型设计模式&#xff0c;它主要用于处理对象家族的创建&#xff0c;这些对象之间可能存在一定的关联关系或属于相同的…

国产航顺HK32F030M: HK32F030MJ4M6_SOP8资料

最小系统 参考资料 [1] 航顺MCU HK32F030MJ4M6-SOP8 各个文件夹简介&#xff1a; Boards&#xff1a;HK32F030xMF4P6开发板的BSP驱动代码。 Documents&#xff1a;HK32F030xMxx数据手册、用户手册、API手册以及HK32F030xMxx开发板原理图。 Package&#xff1a;HK32F030xMxx Ke…

任务系统之API子任务

日常运维工作中有许多的任务要执行&#xff0c;例如项目发布/数据备份/定时巡检/证书更新/漏洞修复等等&#xff0c;大部分的任务都会有多个步骤共同完成&#xff0c;例如一个发布任务会有拉代码、编译、分发、通知等等步骤&#xff0c;而不同的任务可能还包含相同或相似的步骤…

PRL算法调控

伴随汽车电子技术发展&#xff0c;传统轮式车辆制动系统的气体或液体传输管路长&#xff0c;阀类原件多原有的真空助力系统无法兼顾车辆的再生制动功能&#xff0c;而再生制动功能是混合动力车辆是混动车辆最主要的市场优势之一&#xff0c;真空助力器逐渐被eBooster 所取代。针…

微信小程序 - 渲染和逻辑

通信模型 渲染层的界面使用了WebView 进行渲染&#xff1b;逻辑层采用JsCore线程运行JS脚本。 数据驱动 WXML会解析对应model值&#xff0c;并生成js对象&#xff0c;最后生成最终的dom树。 当model发生变更时候&#xff0c;会判断解析wxml后的js对象是否改动&#xff0c;若改动…

[重磅更新] Mac玩游戏必备!Crossover24版现已上线!附免费升级攻略 Crossover软件使用方法安装程序 免费版

好久不见啦&#xff0c;最近一直在忙着研究Mac玩游戏&#xff0c;什么幻兽帕鲁、女神异闻录之类的&#xff0c;有些沉迷了&#xff0c;实在对不住大家… 不过今天还是给大家带来了好消息&#xff01;那就是让Mac玩游戏不再是笑话的神器&#xff0c;Crossover正式发布了2024版&a…

使用CANoe进行27服务安全认证解密算法

方法&#xff1a;通过cdd文件dll文件进行27服务通过安全认证解密 步骤1&#xff1a;菜单栏选中Diagnostics&XCP这一栏&#xff0c; 步骤2&#xff1a;鼠标左击CANdelaStudio 步骤3&#xff1a;弹出如下弹窗&#xff0c;选择 I accept 步骤4&#xff1a;选择新建 步骤5&…

redis-Redis主从,哨兵和集群模式

一&#xff0c;Redis的主从复制 ​ 主机数据更新后根据配置和策略&#xff0c; 自动同步到备机的master/slaver机制&#xff0c;Master以写为主&#xff0c;Slave以读为主。这样做的好处是读写分离&#xff0c;性能扩展&#xff0c;容灾快速恢复。 1.1 环境搭建 如果你的redi…

ModStartCMS v8.1.0 图片前端压缩,抖音授权登录

ModStart 是一个基于 Laravel 模块化极速开发框架。模块市场拥有丰富的功能应用&#xff0c;支持后台一键快速安装&#xff0c;让开发者能快的实现业务功能开发。 系统完全开源&#xff0c;基于 Apache 2.0 开源协议&#xff0c;免费且不限制商业使用。 功能特性 丰富的模块市…

手机AI摄影时代开启,传音引领行业标准化建设

今年春节&#xff0c;AI摄影可谓大出风头。人们在社交平台晒出自己在龙年的AI写真&#xff0c;极大地增添了节日的氛围感&#xff0c;也让我们看到了“AI摄影”的价值。新年伊始&#xff0c;手机巨头们纷纷布局该赛道&#xff0c;基于AI大模型实现的影像功能成为业界关注焦点。…

Java Web(十)--jQuery

介绍 官网文档&#xff1a;jQuery 教程 jQuery API 中文文档 | jQuery API 中文在线手册 | jquery api 下载 | jquery api chm 下载地址&#xff1a;https://jquery.com/download/%20jQuery jQuery 是一个快速的&#xff0c;简洁的 javaScrip工具库&#xff0c;使用户能更方…