首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

LVS和Keepalived 介绍与实战操作演示

一、LVS 概述

LVS是Linux Virtual Server的缩写,是一种基于Linux内核实现的高可用性、高性能的负载均衡技术。它可以将来自客户端的请求分发到多台服务器上,实现多台服务器的负载均衡,提高整个系统的性能和可用性。

LVS技术主要包括以下几个组件:

LVS调度器:负责接收客户端请求并将其分发到后端的真实服务器上,根据不同的负载均衡算法进行分发。

真实服务器:处理来自调度器的请求并返回响应,提供实际的服务。

Keepalived:LVS的高可用组件,用于监控LVS调度器的状态并在发生故障时自动切换到备用调度器,以保证服务的高可用性。

IPVS:内核中实现LVS技术的模块,实现负载均衡算法和请求分发等功能。

LVS技术广泛应用于互联网服务、网络游戏、数据中心等领域,能够提高系统的性能和可用性,降低系统的维护成本。

二、LVS 基本操作

1)基本命令操作

1、添加规则

2、删除规则

3、清空定义的所有内容

4、重载

6、保存

7、增、改RS规则

8、删除RS规则

9、查看规则列表

10、清空计数器

11、ipvs规则

12、ipvs连接

2)保存及重载规则

1、保存

建议保存至

2、重载

三、LVS 四种模式实战操作讲解

1)NAT 模式

1、设计要点

RIP与DIP在同一IP网络,RIP的网关要指向DIP

支持端口映射

Director要打开核心转发功能

2、配置

1、管理集群服务:增,改,删

增、改

删除:

service-address:

2、管理集群上的RS:增、改、删

增、改:ipvsadm -a|e -t|u|f service-address -r server-address [-g|i|m] [-w weight]

server-address:

rip[:port] 如省略port,不作端口映射

选项:lvs类型:

3、ipvs scheduler

ipvs scheduler:根据其调度是否考虑各RS当前的负载状态

两种:静态方法和动态方法

静态方法:仅根据算法本身进行调度

4、实验:实现NAT模式的LVS(必须原路返回)

2)DR 模式

1、DR模型中各主机上均需要配置VIP,解决地址冲突的方式有三种:

在前端网关做静态绑定

在各RS使用arptables

在各RS修改内核参数,来限制arp响应和通告的级别

2、限制响应级别:arp_ignore

:默认值,表示可使用本地任意接口上配置在任意地址响应

:仅在请求目标IP配置在本地主机的接收到请求报文的接口上时,才给予响应

3、限制通告级别:arp_announce

:默认值,把本机所有接口的所有信息向每个接口的网络进行通知

:尽量避免将接口信息向非直接连接网络进行通知

:必须避免将接口信息向非网络进行通告

4、实验:实现DR模式的LVS(不原路返回

步骤一:准备3台虚拟机

步骤二:先配置3台虚拟机的网络

步骤三:配置lvs的VIP

步骤四(RS):调整RS的响应,通告级别(每一台RS都配)

步骤五:在RS上配置VIP

步骤六:启动RS上的httpd服务

步骤七:安装 LVS---ipvsadm

3)TUN模式

4)FULL-NAT模式

四、Keepalived + LVS 实战操作

Keepalived 是一个用于 Linux 平台的高可用性软件。它实现了虚拟路由器冗余协议 (VRRP) 和健康检查功能,可以用于确保在多台服务器之间提供服务的高可用性。Keepalived 可以检测服务器的故障,并在主服务器宕机时,自动将备份服务器提升为主服务器,确保服务的持续性和可用性。

Keepalived 可以在主备服务器之间动态分配虚拟 IP 地址,使客户端能够在主备服务器之间无缝切换,提高服务的可用性。此外,Keepalived 还支持基于文本文件的配置和基于 SNMP 的监控。它可以与常用的负载均衡器配合使用,如 HAProxy、Nginx 等。

总的来说,Keepalived 是一个功能强大的工具,可用于提供高可用性服务。它是一个免费的开源软件,广泛应用于企业和个人服务器环境中。

架构图如下:

1) keepalived 安装以及基本操作

2)具体配置步骤

【步骤一】至少准备四台虚拟机

【步骤二】调整RS的响应,通告级别(每一台RS都配)

步骤三:在RS上配置VIP,切记(DR模式)不要忘了在RS配置VIP,要不然数据包会被丢弃

步骤四:在RS安装启动httpd服务

步骤五:给两台keepalived机子安装keepalived(一主一备)

步骤六:配置keepalived配置文件

主节点配置:

从节点配置:

缺点:脑裂问题

【分析原因】:keepalived自身不是高可用,主进程可能会被杀死,但是进程杀死后,没有回收VIP,导致主keepalived无法广播,备keepalived得不到主的广播信号,导致备也会配上VIP,使得主备都有VIP,最后CIP访问VIP的三次握手可能会被打散到主备keepalived上,无法建立连接,导致无法访问。

【解决方案】:

写一个自动脚本,定时巡检主keepalived进程是否还存活,如果被杀死,则重启主keepalived服务

换用更高级的高可用技术(zookeeper),后续会有zookeeper相应的文章

最后附上keepalived配置文件说明:

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20230408A000TI00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券