【黄啊码】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)

大家都在看

  • 09 子查询

    数据库关联子查询和非关联子查询 非关联子查询:数据库嵌套查询中内层查询是完全独立于外层查询的。 执行顺序: 先执行内层查询 得到内层查询的结果后带入外层,再执行外层查询 selec…

    数据库 2023年6月16日
    0125
  • gauss杀进程

    1)查询当前所有连接的状态 select datname,pid,application_name,state from pg_stat_activity; 2)关闭当前state…

    数据库 2023年6月16日
    0117
  • 客户流失?来看看大厂如何基于spark+机器学习构建千万数据规模上的用户留存模型 ⛵

    💡 作者:韩信子@ShowMeAI📘 大数据技术 ◉ 技能提升系列:https://www.showmeai.tech/tutorials/84📘 行业名企应用系列:https:/…

    数据库 2023年6月14日
    0101
  • 【01】Spring Boot配置文件相关

    1、Spring Boot 获取属性的属性源,优先级从高到低 (1)命令行参数 (2)java:comp/env里的JNDI属性 (3)JVM系统属性 (4)操作系统的环境变量 (…

    数据库 2023年6月9日
    0103
  • 深入浅出的分析 Properties

    作者:炸鸡可乐原文出处:www.pzblog.cn 一、摘要 在集合系列的第一章,咱们了解到,Map 的实现类有 HashMap、LinkedHashMap、TreeMap、Ide…

    数据库 2023年6月14日
    0104
  • jQuery基础

    作者导言: 引用偶像刘德华的一句话 “学到的就要教人,赚到的就要给人”! 以下是关联的web前端基础知识文章,通过这些文章,您既可以系统地学习和了解这些知识…

    数据库 2023年6月14日
    0132
  • ansible-复制模块

    简介:临时的,在ansible中是指需要快速执行的单条命令,并且不需要保存的命令。对于复杂的命令则为 playbook。 1、复制模块 可在终端执行ansible-doc copy…

    数据库 2023年6月14日
    0120
  • 机器学习—神经网络

    BP神经网络的综述 1.1神经网络的定义 神经网络(neural network) 是由具有适应性的简单单元组成的广泛并行互连的网络,它的组织能够模拟生物神经系统对真实世界物体所做…

    数据库 2023年6月16日
    0107
  • Redis-持久化

    因为Redis是内存操作,意味着掉电就GG, 所以为了保证异常重启等问题后能尽快恢复服务,还是需要一定的持久化机制来保证。Redis提供了两种持久化机制: AOF Append O…

    数据库 2023年6月11日
    0140
  • 从生命周期的角度看线程和进程之间的异同

    概述 进程与线程想必都不陌生,两者有诸多相同点,甚至可以这样说,线程就是”轻量级的进程”。而且两者基本的五个状态也几乎一样,但进程和线程在状态切换时的触发条…

    数据库 2023年6月11日
    0118
  • 网卡限速工具之WonderShaper

    GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。 GreatSQL是MySQL的国产分支版本,使用上与MySQL一致。 什么是WonderShaper …

    数据库 2023年5月24日
    0121
  • 关于在vue项目中引入<el-img>标签失败的问题

    问题如下 语法没有写错,但是冒号错了,不能在img后面紧接着冒号 只能在src前面紧接着冒号 Original: https://www.cnblogs.com/ly-heker/…

    数据库 2023年6月11日
    0111
  • MySQL中varchar(1)的解读(辟谣)

    MySQL中varchar(1)的解读(辟谣) 网上有如下错误解读: 在mysql中, varchar(n)和char(n)表示n个字符。不管是中文还是英文,MySQL都可以存储n…

    数据库 2023年6月14日
    0132
  • gh-ost使用问题记录

    因为 pt-osc 对数据库性能影响较大,且容易造成死锁问题,目前我们在线更改表结构都使用 gh-ost 工具进行修改,这里记录一下使用 gh-ost 过程中的问题,以作记录;首先…

    数据库 2023年6月9日
    0105
  • MySQL的文件系统(Linux环境)

    /var/lib/mysql/ 可通过以下sql命令查看: mysql> show variables like ‘datadir’; +—————+–…

    数据库 2023年5月24日
    096
  • JUC学习笔记(六)

    JUC 中提供了三种常用的辅助类,通过这些辅助类可以很好的解决线程数量过多时 Lock 锁的频繁操作。这三种辅助类为: CountDownLatch: 减少计数 CyclicBar…

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