LVS集群

目录

一、集群概述

二、LVS结构

三、LVS工作模式

四、LVS负载均衡算法

五、ipvsadm命令详解

六、搭建


一、集群概述

负载均衡技术类型

四层负载均衡器 也称为 4 层交换机,主要通过分析 IP 层及 TCP/UDP 层的流量实现基于 IP 加端口的负载均衡,如常见的 LVS、F5 等;

七层负载均衡器 也称为 7 层交换机,位于 OSI 的最高层,即应用层,此负载均衡器支持多种协议,如HTTP、FTP、SMTP 等。7 层负载均衡器可根据报文内容,配合一定的负载均衡算法来选择后端服务器,即“内容交换器”。如常见的 HAProxy、Nginx。

负载均衡实现方式

硬件负载均衡产品:F5 、深信服 、Radware

软件负载均衡产品: LVS(Linux Virtual Server)、 Haproxy、Nginx、Ats(apache traffic server)

二、LVS结构

三层结构
        负载调度器
        服务器池
        共享存储

架构对象

VS:Virtual Server,也称为 Director,负载均衡服务器

RS:Real Server,真正的服务器,集群中各节点

VIP:Director 向外部提供服务的 IP

DIP:Director 向内部与 RS 通信的 IP

RIP:真实服务器的 IP

CIP:客户端的 IP

三、LVS工作模式

LVS-NAT(NAT模式)
    LVS-DR(直接路由模式)(应用最广泛)
    LVS-TUN(IP隧道(Tunnel)模式,不常用)

FULL-NAT模式(双向转换模式,不常用)

四、LVS负载均衡算法

静态负载均衡
            rr(round robin,轮询 )
            wrr(weight round robin,加权轮询)
            sh(source hashing,源地址散列算法(HASH))
            dh(destination hashing,目标地址 HASH)

动态负载均衡
        lc(leash-connection,最少连接 )
            简单算法:active * 256 + inactive (谁的小选谁)
        wlc(加权最少连接)
            简单算法:(active * 256 + inactive) / weight(谁的小选谁)
        sed(最少期望延迟)
            简单算法:(active + 1) * 256 / weight (谁的小选谁)
        nq(never queue,永不排队)
        LBLC(基于局部性的最少连接 )
        LBLCR(基于局部性的带复制功能的最少连接)

五、ipvsadm命令详解

-A        添加虚拟服务节点

-D        删除虚拟服务节点

-L        查看虚拟服务节点列表

-a       添加真实服务节点

-d       删除真实服务节点

-l       查看真实服务节点列表

-t      指定虚拟服务器IP地址

-s        指定调度算法

-r        指定真实服务器节点IP地址

-w        指定权重值

-g        直接路由模式(默认)

-i        隧道模式(不常用)

-m     NAT模式

六、搭建

(一)实现NAT模型搭建

1)负载调度器配置

配置IP地址

增加一块网卡

cd /etc/sysconfig/network-scripts/

cp ifcfg-ens33 ifcfg-ens37

vim ifcfg-ens37

LVS集群_第1张图片

配置本地yum源

LVS集群_第2张图片

安装ipvsadm    yum  install -y ipvsadm

LVS集群_第3张图片

开启路由转发功能

vim /etc/sysctl.conf

net.ipv4.ip_forward = 1

sysctl -p

 LVS集群_第4张图片

加载ip_vs模块

modprobe ip_vs

lsmod |grep ip_vs

LVS集群_第5张图片

启动ipvsadm服务      systemctl start ipvsadm(需要创建一个文件:/etc/sysconfig/ipvsadm)

配置负载分配策略

ipvsadm -A -t 192.168.100.3:80 -s rr

ipvsadm -a -t 192.168.100.3:80 -r 192.168.115.4:80 -m

ipvsadm -a -t 192.168.100.3:80 -r 192.168.115.5:80 -m

保存策略    ipvsadm-save > /etc/sysconfig/ipvsadm

LVS集群_第6张图片

2)web节点

安装nginx

配置网页文档

 LVS集群_第7张图片

启动服务

配置网关    route add -net 0/0 gw 192.168.115.3

LVS集群_第8张图片

测试

LVS集群_第9张图片

(二)实现DR模型搭建

1)负载调度器配置

调整ARP参数

vim /etc/sysctl.conf
net.ipv4.conf.all.send_redirects = 0 
net.ipv4.conf.default.send_redirects=0
net.ipv4.conf.ens33.send_redirects = 0

LVS集群_第10张图片
sysctl -p

LVS集群_第11张图片

配置虚拟IP地址

cd /etc/sysconfig/network-scripts/

cp ifcfg-ens33 ifcfg-ens33:0

vimifcfg-ens33:0 

LVS集群_第12张图片

LVS集群_第13张图片

安装ipvsadm    yum  install -y ipvsadm

LVS集群_第14张图片

加载ip_vs模块

modprobe ip_vs

lsmod |grep ip_vs

LVS集群_第15张图片

启动ipvsadm服务    systemctl start ipvsadm(需要创建一个文件:/etc/sysconfig/ipvsadm)

配置负载分配策略

ipvsadm -A -t 192.168.115.200:80 -s rr

ipvsadm -a -t 192.168.115.200:80 -r 192.168.115.4:80 -g

ipvsadm -a -t 192.168.115.200:80 -r 192.168.115.5:80 -g

保存策略   ipvsadm-save > /etc/sysconfig/ipvsadm

2)web节点配置(2台虚拟机一样)

调整ARP参数

vim /etc/sysctl.conf

net.ipv4.conf.all.arp_ignore=1 

net.ipv4.conf.all.arp_announce=2 

net.ipv4.conf.default.arp_ignore=1 

net.ipv4.conf.default.arp_announce = 2 

net.ipv4.conf.lo.arp_ignore = 1 

net.ipv4.conf.lo.arp_announce=2

LVS集群_第16张图片

sysctl -p

LVS集群_第17张图片

配置虚拟IP地址

cd /etc/sysconfig/network-scripts/

cp ifcfg-lo ifcfg-lo:0

vim ifcfg-lo:0

LVS集群_第18张图片

LVS集群_第19张图片

添加回环路由   route add -host 192.168.115.200/32 dev lo:0

安装nginx

LVS集群_第20张图片

 配置网页文档

LVS集群_第21张图片

启动服务

测试

LVS集群_第22张图片

LVS集群_第23张图片

 

你可能感兴趣的:(lvs)