keepalived高可用方案

news2024/9/28 11:16:05

keepalived概念

keepalived是一个开源的虚拟路由冗余协议(VRRP)实现,它能够提供高可用性(HA)的解决方案。VRRP是一种网络协议,用于在多个路由器之间分配路由任务,以保证网络的可靠性。在服务器高可用性环境中,keepalived常用于实现负载均衡和故障切换。

一 双机技术

指由两台服务器运行某种同样的应用,为用户提供服务,当某一台出现问题时,用户的请求将由另一台服务器继续提供,从而实现高可用性。双机技术又被称为双机热备或双机容错

二 HA 的容错过程

1.自动检测

2.自动切换

3.自动恢复

三 HA 的三种工作方式

1.主从模式

2.双机双工

3.集群模式

四 keepalived

1.keepalived 基于 vrrp 协议来实现的

注:vrrp 协议,可以实现服务的切换

2.keepalived 启动后会有三个进程:

父进程: 内存管理,子进程管理等等

子进程: VRRP 子进程

子进程: healthchecker 子进程

注:healthchecker 子进程负责检查各主机间的主机状态,当发现某台主机上的服务不可用时,将通知 vrrp 子进程,由 vrrp 子进程来完成服务的切换

五 实验步骤

1.准备实验环境:client(192.168.1.3)与两台 apache 服务器处于同一网络段,两台 web服务器的 IP 地址为 192.168.1.1 和 192.168.1.2。在两台 web 服务器上创建好主页文件,配置httpd,使客户端能够访问。

2.在 server1 和 server2 上配置好/etc/hosts 文件,并安装 keepalived

 #yum install keepalived -y

3.在 server1 上配置

 编辑配置文件:vim /etc/keepalived/keepalived.conf

 内容如下:

global_defs {

 notification_email {

 root@localhost

 }

 notification_email_from root@localhost

 smtp_server 127.0.0.1

 smtp_connect_timeout 30

 router_id host-4

}

vrrp_instance VI_1 {

 state MASTER(设备状态)

 interface eno16777736(链接备服务器的网卡)

 virtual_router_id 51

 priority 100

 advert_int 1

 authentication {

 auth_type PASS

 auth_pass 1111

 }

 virtual_ipaddress {

 192.168.1.18(同一网段任意设置,此为VIP的IP)

 }

}

 在 server2 上配置

 scp root@server1:/etc/keepalived/keepalived.conf

 更改设备 ID:host-5

 更改设备状态:BACKUP

 更改优先级:低于 MASTER 的优先级

4.在两台 keepalved/web 服务器上启动服务

 systemctl restart keepalived

5.在客户端测试

 elinks http://VIP(此为之前配置文件中设置的VIP的IP)

    显示的 server1 上的 test1 page。使 server1 宕机,再次访问 VIP,显示的是 server2 上的 test2 page。或者在 server1 上 systemctl stop keepalived,访问 VIP,显示的是 server2 上的 test page

注:如果是停掉 keepalived 服务,再次启动时,注意 IP 的子网掩码(可以通过 nmtui 中重新激活网卡解决)VIP 可以是一个不存在 IP 地址,但是该 IP 地址必须客户端可以访问

六 keepalived+lvs

1.网络拓扑

 五台虚拟机在同一网络段

               --->lvs1(192.168.0.1)-->web1(192.168.0.2)

 client(192.168.0.5)

               --->lvs2(192.168.0.3)-->web2(192.168.0.4)

2.安装软件

 client:yum install elinks -y

 lk1、lk2:yum install keepalived ipvsadm -y

 web1、web2:yum install httpd -y

3.在 lvs1、lvs2 上

 编辑 keepalived 配置文件:

#vim /etc/keepalived/keepalived.conf

Lvs1

Lvs2

 编辑 lvs-dr.sh 脚本:

#!/bin/bash

  ipvsadm -C

  ipvsadm -A -t 192.168.0.88:80 -s rr

  ipvsadm -a -t 192.168.0.88:80 -r 192.168.0.2:80 -g

  ipvsadm -a -t 192.168.0.88:80 -r 192.168.0.4:80 -g

注:两种配置文件都可以。

4.在 web1、web2 上

 配置 httpd

 编辑 web.sh 脚本:

#!/bin/bash

ifconfig lo:0 192.168.0.88 netmask 255.255.255.255 up

route add -host 192.168.0.88 dev lo:0

echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore

echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce

echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore

echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce

5.在 lk1、lk2 上:systemctl restart keepalived

 bash lvs-dr.sh

 在 web1、web2 上:systemctl restart httpd

 bash web.sh

6.客户端测试:elinks http://192.168.0.254 可以看到 web1 和 web2 上的网页交替出现

将其中一台lvs关机。再用客户端测试还是可以看到web1和web2上的网页交替出现。

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

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

相关文章

Ubuntu的快照和系统恢复

一、快照 ubuntu的快照,相当于将你系统目前的状态做一个备份,完全复制的当前状态。便于之后进行恢复 名称任意 这个文件就是快照文件 二、系统恢复 若你的系统出现问题,这时可以使用快照进行快速修复:

对于组件通信的深刻理解

父组件传递数据给子组件 props传递数据 父组件在子组件的标签上写自定义的属性,属性值是自己的变量,当渲染到子组件时,执行props会找自定义属性,内存了变量的内存,可访问到,写props,会生成vue实例的时候,将props的变量赋给,值找变量内存存入变量.插值语句等可访问.父组件会变…

第四百二十二回

文章目录 1. 概念介绍2. 思路与方法2.1 实现思路2.2 实现方法 3. 示例代码4. 内容总结 我们在上一章回中介绍了"自定义标题栏"相关的内容,本章回中将介绍自定义Action菜单.闲话休提,让我们一起Talk Flutter吧。 1. 概念介绍 我们在这里提到的…

数据结构(五)——树森林

5.4 树和森林 5.4.1 树的存储结构 树的存储1:双亲表示法 用数组顺序存储各结点,每个结点中保存数据元素、指向双亲结点(父结点)的“指针” #define MAX_TREE_SIZE 100// 树的结点 typedef struct{ElemType data;int parent; }PTNode;// 树的类型 type…

阿里云服务器价格购买价格表,2024新版报价查询

2024年腾讯云服务器优惠价格表,一张表整理阿里云服务器最新报价,阿里云服务器网整理云服务器ECS和轻量应用服务器详细CPU内存、公网带宽和系统盘详细配置报价单,大家也可以直接移步到阿里云CLUB中心查看 aliyun.club 当前最新的云服务器优惠券…

提面 | 面试抽题

学习到更新日期面试抽题-1.2案例分析的思维本质2024-3-23 1提面抽屉论述问题的分类 1.1案例分析占总论 1.2案例分析的思维本质

为什么安装了4GB的内存条,却显示只有3.8GB?

朋友们,对于计算机而言,其基本包含三部分。 第一,CPU; 第二,存储器(内存、物理内存);第三,输入设备、输出设备。 32位的地址总线,其地址范围就是 CPU 访问内存&#xf…

腾讯云服务器价格查询系统,2024年1年、3年和5年活动价格表

腾讯云服务器多少钱一年?61元一年起。2024年最新腾讯云服务器优惠价格表,腾讯云轻量2核2G3M服务器61元一年、2核2G4M服务器99元一年可买三年、2核4G5M服务器165元一年、3年756元、轻量4核8M12M服务器646元15个月、4核16G10M配置32元1个月、312元一年、8核…

如何设计循环队列(两种方法)

文章目录 前言一、方法一:数组法二、方法二.链表法总结 前言 前面有提到过队列的知识,这次来说一下怎么设计一个循环队列 一.循环队列(力扣) . - 力扣(LeetCode). - 备战技术面试?力扣提供海量技术面试资…

Git bash获取ssh key

目录 1、获取密钥 2、查看密钥 3、在vs中向GitHub推送代码 4、重新向GitHub推送修改过的代码 1、获取密钥 指令:ssh-keygen -t rsa -C "邮箱地址" 连续按三次回车,直到出现类似以下界面: 2、查看密钥 路径:C:\U…

2024年阿里云服务器价格查询系统,最新报价

2024年腾讯云服务器优惠价格表,一张表整理阿里云服务器最新报价,阿里云服务器网整理云服务器ECS和轻量应用服务器详细CPU内存、公网带宽和系统盘详细配置报价单,大家也可以直接移步到阿里云CLUB中心查看 aliyun.club 当前最新的云服务器优惠券…

结构体类型详细讲解(附带枚举,联合)

前言: 如果你还对结构体不是很了解,那么本篇文章将会从 为什么存在结构体,结构体的优点,结构体的定义,结构体的使用与结构体的大小依次介绍,同样会附带枚举与联合体 目录 为什么存在结构体: 结构…

机器学习周报第34周

目录 摘要Abstract一、CNN复习二、目标检测2.1 背景2.2 目标检测发展脉络2.2.1传统目标检测算法2.2.2 Anchor-Based中的Two-stage目标检测算法 三、文献阅读:Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks3.1 摘要3.2 背景3.3 解…

day06vue2学习

day06 路由的封装抽离 问题:所有的路由配置都堆在main.js中不太合适么?不好,会加大代码的复杂度 目标:将路由模块抽离出来。好处:差分模块,利于维护。 大致的做法就是,将路由相关的东西都提…

关于使用TCP-S7协议读写西门子PLC字符串的问题

我们可以使用TCP-S7协议读写西门子PLC, 比如PLC中定义一个String[50] 的地址DB300.20 地址DB300.20 DB块编号为300,偏移量【地址】是30 S7协议是西门子PLC自定义的协议,默认端口102,本质仍然是TCP协议的一种具体实现&#xff…

Linux的一些基本指令

​​​​​​​ 目录 前言: 1.以指令的形式登录 2.ls指令 语法: 功能: 常用选项: 3.pwd指令 4.cd指令 4.1 绝对路径与相对路径 4.2 cd .与cd ..(注意cd后先空格,然后两个点是连一起的&#xff0…

数据库范式拆分实战

函数依赖 如果给定一个X,能唯一确定一个Y,就称X确定Y,或者说Y依赖于X,例如Y X*X函数。 X -> Y(X确定Y,Y依赖于X) 部分函数依赖 A可确定C,(A,B&#xff09…

基于深度学习的生活垃圾智能分类系统(微信小程序+YOLOv5+训练数据集+开题报告+中期检查+论文)

摘要 本文基于Python技术,搭建了YOLOv5s深度学习模型,并基于该模型研发了微信小程序的垃圾分类应用系统。本项目的主要工作如下: (1)调研了移动端垃圾分类应用软件动态,并分析其优劣势;…

stm32使用定时器实现PWM与呼吸灯

PWM介绍 STM32F103C8T6 PWM 资源: 高级定时器( TIM1 ): 7 路 通用定时器( TIM2~TIM4 ):各 4 路 例如定时器2 PWM 输出模式: PWM 模式 1 :在 向上计数 时&#xff0…

Linux之git

一、什么叫做版本控制 版本控制(Revision control)是一种在开发的过程中用于管理我们对文件、目录或工程等内容的修改历史,方便查看更改历史记录,备份以便恢复以前的版本的软件工程技术。简单来说就是用于管理多人协同开发项目的技…