ipvsadm搭建

本文详细介绍了LinuxVirtualServer(LVS)作为四层负载均衡器的工作原理,探讨了其nat、dr和tun模式的区别,以及如何配置VIP、DIP和RIP。同时强调了LVS的局限性和使用Keepalived进行高可用性的建议。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

概述:

linux virtual server,基于linux虚拟服务器。

 LVS 自身是一个负载均衡器(director),不直接处理请求,而是将请求转发至位于它后端真正的服务器realserver上。

 LVS 是四层(传输 tcp/udp)负载均衡工具

 ipvs是集成在内核中的框架,可以通过用户空间的程序ipvsadm工具来管理,该工具可以定义一些规则内核中的ipvs。

LVS无法解决RS的健康检查,并且存在单点故障,建议使用keepalived高可用。

LVS集群术语:

VS:virtual server,负责调度

RS:real server,负责真正提供服务

CIP:客户端ip

VIP:VS 外网 IP 

DIP:VS 内网 ip 

RIP:后端真实 ip

LVS工作模式:

LVS三种模式:

1)nat模式

nat模式是一种外网和内网地址映射的技术。

通过将请求报文中的目标地址和目标端口修改为某 RS 的 RIP 和 PORT 实现转发。

RIP 和 DIP 应在同一个 IP 网络,使用不同网络时,RS 和 lvs 需要指向到达互相的路由
请求报文和响应报文都必须经过 Director 转发,Director 易于成为系统瓶颈
支持端口映射,可修改请求报文的目标 PORT
VS 必须是 linux,RS 可以是其他系统
 

2)dr模式(常用)

请求有LVS接受,由真实提供服务的服务器(realserver)直接返回给客户,返回时不经过lvs

 Director 和 RS 都配置 VIP
    需要确保前端路由器将目标 VIP 的请求报文发往 Dircetor
    RS 和 Dircetor 需要在同一物理网络(因为 lvs 将通过 arp 找到 RS), RS 的网关不用指向DIP
    请求报文经过 Director,响应报文不经过 Director,由 RS 直接发往 Client
    不支持端口映射

3)tun模式

不修改请求报文的 IP 首部(源 IP 为 CIP,目标 IP 为 VIP),而在原 IP 报 文之外再封装一个 IP 首部(源 IP 是 DIP,
目标 IP 是 RIP),将报文发往挑 选出的目标 RS;RS 直接响应给客户端。

DIP、VIP、RIP 可以是公网地址
请求报文经过 Director,响应报文不经过 Director,由 RS 直接发往 Client
不支持端口映射
RS 的 OS 须支持隧道功能 
RS 的网关不用指向 DIP

lvs-dr模式配置:

负载均衡器ens33  192.168.8.10ens33:0 192.168.8.200
节点1ens33  192.168.8.20lo:0  192168.8.200
节点2ens33  192.168.8.30lo:0  192.168.8.200

1、lvs调度器(192.168.8.10):采用接口虚接口方式(ens33:0),为了网卡ens33绑定VIP地址,以便相应群集访问。

配置命令如下:

yum install ipvsadm -y    #安装ipvsadm


cd /etc/sysconfig/network-scripts/
cp ifcfg-ens33 ifcfg-ens33:0

vim ifcfg-ens33:0
修改:
TYPE="Ethernet"
BOOTPROTO="static"
DEVICE="ens33:0"
ONBOOT="yes"
IPADDR=192.168.8.200
NETMASK=255.255.255.0
保存退出

ifup ens33:0             #启动网卡
ifconfig ens33:0         #查看是否有8.200

 2、配置LVS负载分配策略:

ipvsadm -A -t 192.168.8.200:80 -s rr

ipvsadm -a -t 192.168.8.200:80 -r 192.168.8.20:80 -g -w 1

ipvsadm -a -t 192.168.8.200:80 -r 192.168.8.30:80 -g -w 1

ipvsadm -Ln --stats 

3、配置RS节点服务器(192.168.8.20,192.168.8.30):

使用DR模式时,节点服务器也需要vip地址,并调整内核的ARP响应参数以阻止更新vip的MAC地址,避免发生冲突。 


cd /etc/sysconfig/network-scripts
cp ifcfg-lo ifcfg-lo:0

vim ifcfg-lo:0
修改:
DEVICE=lo:0
IPADDR=192.168.8.200
NETMASK=255.255.255.255
ONBOOT=yes
保存退出 

ifup lo:0

 

添加vip本地访问路由:
route add -host 192.168.8.200 dev lo:0

配置RS节点的arp响应和通告级别:
 

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

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

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

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值