【黄啊码】linux利用lvs+Keepalived实现负载均衡

负载均衡:两台(一主一备) LVS + Keepalived+三台HTTP服务器

这是我的第一台HTTP服务器【这里使用的是现成lnmp,然后复制出三台一模一样的】

在每台(HTTP服务器)真实服务器网上上添加LO:0接口,并设置虚拟IP在此接口上

记住:./etc/rc.d/init.d/functions这句脚本是没有任何的空格的,网上有出现空格的,百分百是复制出错

这样还会出现另外一个错误

这时候需要在脚本最前边写上让其变成执行脚本:

#chkconfig:  2345 10 90

#description :realserver ....

【黄啊码】linux利用lvs+Keepalived实现负载均衡

至于什么意思,自己搜,我这里就不做啰嗦

如图所示:

开始搭建负载均衡

LVS中提供了八种不同的调度算法

详情请参考:http://blog.csdn.net/u014649204/article/details/25115039

1:轮叫调度(Round-Robin Scheduling)

2: 加权轮叫调度(Weighted Round-Robin Scheduling)

3:最小连接调度(Least-Connection Scheduling)

4:加权最小连接调度(Weighted Least-Connection Scheduling)

5:基于局部性的最少链接(Locality-Based Least Connections Scheduling)

6:带复制的基于局部性最少链接(Locality-Based Least Connections with Replication Scheduling)

7:目标地址散列调度(Destination Hashing Scheduling)

8:源地址散列调度(Source Hashing Scheduling)

9:最短预期延时调度(Shortest Expected Delay Scheduling)

10:不排队调度(Never Queue Scheduling)

对应: rr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq

LVS负载均衡主机:

先看一下CentOs内核,如果内核是2.6版本以后,那么LVS虚拟机已经存在于内核中。

说一下什么是Keepalived?

keepalived的作用是检测web服务器的状态,如果有一台web服务器死机或者工作出现故障,keepalived将会检测到,并将有故障的web服务器从系统中剔除,当web服务器工作正常之后,keepalived自动将web服务器加入到集群中,这些工作都会自动完成

我们用yum install keepalived

安装完成之后,使用rpm -ql 命令,查看一下Keepalived的安装信息

根据提示信息里Keepalived的配置文件路径,覆盖配置文件,写入以下命令。详细说明在最后说明。

【黄啊码】linux利用lvs+Keepalived实现负载均衡

然后启动Keepalived服务,有时候虽然提示启动成功,但是未必,因为Keepalive并没有对配置文件的校验功能,最好查看一下日志。

日志这里我就不说了,因为其他教程都是这样的,我这里使用的是ipvadm,使用说明我放在这

简易使用方式,如图

这里能够观测到三台http的访问状况

启动成功之后,浏览器访问192.168.159.128观察变化,这里分别是192.168.159.130/131/132

然后我们试着关掉一台HTTP服务器,观察访问发现,其他两台仍然可以正常访问,然后再启动一下刚才关闭的服务器,又恢复了之前。

这里很多朋友肯定会出现一个ping得通却无法访问的问题,我们需要注意防火墙的问题,所以我们需要在各自的HTTP机器将主机:192.168.159.128的80端口开通【如果粗暴点就关闭防火墙吧】

iptables -A PREROUTING -t nat -p tcp -d 192.168.159.128 –dport 80 -j REDIRECT

接下来做负载均衡备用机

配置完成之后,然后试着关掉主机,继续访问192.168.159.128,一切正常,主机开机之后,主机继续当主机,备机继续待命

最后还出现一个问题,就是当所有的HTTP机器都service realserver start后会出现无法访问的情况,但所有的都使用了service realserver stop后却可以完美访问,自然切换,有类似问题的网友如果知道解决问题,烦请告知我,我继续完善该博文

OK!完美!结束!

Original: https://www.cnblogs.com/huangama/p/15190967.html
Author: 黄啊码
Title: 【黄啊码】linux利用lvs+Keepalived实现负载均衡

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/619687/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 即时通讯课设Android端问题记录

    转眼间,就已经是大四学生,目前正在写毕设。Android 端没有系统的学习过,都是哪里不会查哪里,基本靠度娘。所以,在此记录下课设开发过程中,Android 端遇到的问题。 在主线…

    数据库 2023年6月9日
    056
  • Javaweb08-Ajax项目-分页条件查询 + 增删改

    1、登录 欢迎登录课工场KH96动漫管理系统 用户名: 用户密码: 欢迎登录课工场KH96动漫管理系统 用户名: 用户密码: $(function(){ //使用jQuery的Aj…

    数据库 2023年6月16日
    0107
  • 号称能将STW干掉1ms以内的Java垃圾收集器ZGC到底是个什么东西?

    ZGC介绍 ZGC(The Z Garbage Collector)是JDK 11中推出的一款追求极致低延迟的实验性质的垃圾收集器,它曾经设计目标包括: 停顿时间不超过10ms; …

    数据库 2023年6月16日
    0131
  • MySQL之select 语句的执行顺序

    mysql语句编写顺序 ① select 字段名 ② from &am…

    数据库 2023年5月24日
    092
  • 【01】Maven依赖插件之maven-dependency-plugin

    1、analyze:分析项目依赖,确定哪些是已使用已声明的,哪些是已使用未声明的,哪些是未使用已声明的 2、analyze-dep-mgt:分析项目依赖,列出已解析的依赖项与dep…

    数据库 2023年6月9日
    091
  • Redis SCAN命令

    获取指定前缀的key 需求描述: Redis中有大量以xxx开头的key,在不使用keys命令的情况下,如何快速获取这些前缀的key 解决方案: redis自带的scan命令可以解…

    数据库 2023年6月14日
    078
  • Secret加密以及Configmapd配置介绍

    今天我们来了解有关Secret加密以及Configmapd配置介绍 一、Configmapd配置介绍 ConfigMap 功能在 Kubernetes1.2 版本中引入,许多应用程…

    数据库 2023年6月14日
    064
  • 【转】SpringBoot多模块打包瘦身分离

    背景 首先项目是个多层级的多模块springBoot项目,每次打出来的jar包都在90M,其中包含核心代码以及所有依赖的jar包,上传到服务器速度比较慢。 由于核心代码(contr…

    数据库 2023年6月6日
    0103
  • MySQL 数据备份与恢复

    数据备份 使用 mysqldump 命令可以将数据库中的数据备份成一个文本文件,表的结构和数据以 SQL 的形式将存储生成的文本文件 mysqldump -u username -…

    数据库 2023年5月24日
    0125
  • RabbitMQ

    安装Rabbitmq 1.由于需要erlang语言的支持,在安装rabbitMq之前需要安装erlang sudo apt-get install erlang-nox 2.安装r…

    数据库 2023年6月9日
    083
  • python-图片文字识别

    两种方法 1. 第一种方法 from PIL import Image import pytesseract import re #导入…

    数据库 2023年6月14日
    075
  • 千万级别的表分页查询非常慢,怎么办?

    一、问题复现 在实际的软件系统开发过程中,随着使用的用户群体越来越多,表数据也会随着时间的推移,单表的数据量会越来越大。 以订单表为例,假如每天的订单量在 4 万左右,那么一个月的…

    数据库 2023年6月14日
    090
  • day01-需求分析和系统设计

    对传输数据的分析: 因为在通讯的时候信息的种类和信息比较多,如果使用文本的方式来传递数据,那么服务器拿到信息的时候对其进行拆解会很麻烦。因此使用对象的方式来进行数据的传输(同时使用…

    数据库 2023年6月11日
    086
  • 23种设计模式之状态模式和策略模式的区别

    文章目录 概述 状态模式 策略模式 区别 总结 概述 在行为类设计模式中,状态模式和策略模式是亲兄弟,两者非常相似,我们先看看两者的通用类图,把两者放在一起比较一下 ; 状态模式 …

    数据库 2023年6月6日
    0121
  • 三分钟小短文:一致性非锁定读与一致性锁定读

    台上三分钟,台下三小时,兄弟们,今天咱们花三分钟了解下数据库中的两种读(select)操作: 一致性非锁定读 和 一致性锁定读 一致性非锁定读 什么是一致的未锁定读取?在这里,我想…

    数据库 2023年5月24日
    076
  • Tomcat的关于Web应用的类加载器

    类加载器的补充 一 类加载器的结构 二 类加载器的源码 源码视频 ClassLoader: 类加载器的基础实现,双亲委派就是这里实现的 SecureClassLoader: 安全相…

    数据库 2023年6月11日
    072
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球