【LVS集群】

目录

一、集群概述

1.负载均衡技术类型

2.负载均衡实现方式

二、LVS结构

1.三层结构

2.架构对象

三、LVS工作模式

四、LVS负载均衡算法

1.静态负载均衡

2.动态负载均衡

五、ipvsadm命令详解

[1. -A](#1. -A)

[2. -D](#2. -D)

[3. -L](#3. -L)

[4. -a](#4. -a)

[5. -d](#5. -d)

[6. -l](#6. -l)

[7. -t](#7. -t)

[8. -s](#8. -s)

[9. -r](#9. -r)

[10. -w](#10. -w)

[11. -g](#11. -g)

[12. -i](#12. -i)

[13. -m](#13. -m)

[14. 案例](#14. 案例)

六、LVS配置案例

1.基础配置

2.实现NAT模型搭建

[2.1 负载调度器配置](#2.1 负载调度器配置)

[2.1.1 配置IP地址](#2.1.1 配置IP地址)

[2.1.2 配置本地yum源](#2.1.2 配置本地yum源)

[2.1.3 安装ipvsadm](#2.1.3 安装ipvsadm)

[2.1.4 开启路由转发功能](#2.1.4 开启路由转发功能)

[2.1.5 加载ip_vs模块](#2.1.5 加载ip_vs模块)

[2.1.6 启动ipvsadm服务](#2.1.6 启动ipvsadm服务)

[2.1.7 配置负载分配策略](#2.1.7 配置负载分配策略)

[2.1.8 保存策略](#2.1.8 保存策略)

[2.2 web节点配置](#2.2 web节点配置)

[2.2.1 安装httpd](#2.2.1 安装httpd)

[2.2.2 配置网关](#2.2.2 配置网关)

[2.3 测试](#2.3 测试)

3.实现DR模型搭建

[3.1 负载调度器配置](#3.1 负载调度器配置)

[3.1.1 调整ARP参数](#3.1.1 调整ARP参数)

[3.1.2 配置虚拟IP地址](#3.1.2 配置虚拟IP地址)

[3.1.3 安装ipvsadm](#3.1.3 安装ipvsadm)

[3.1.4 加载ip_vs模块](#3.1.4 加载ip_vs模块)

[3.1.5 启动ipvsadm服务](#3.1.5 启动ipvsadm服务)

[3.1.6 配置负载分配策略](#3.1.6 配置负载分配策略)

[3.1.7 保存策略](#3.1.7 保存策略)

[3.2 web节点配置](#3.2 web节点配置)

[3.2.1 调整ARP参数](#3.2.1 调整ARP参数)

[3.2.2 配置虚拟IP地址](#3.2.2 配置虚拟IP地址)

[3.2.3 添加回环路由](#3.2.3 添加回环路由)

[3.2.4 安装httpd](#3.2.4 安装httpd)


一、 集群概述

1.负载均衡技术类型

  • 四层负载均衡器 也称为 4 层交换机,主要通过分析 IP 层及 TCP/UDP 层的流量实现基于 IP 加端口的负载均衡,如常见的 LVS、F5 等;
  • 七层负载均衡器 也称为 7 层交换机,位于 OSI 的最高层,即应用层,此负载均衡器支持多种协议,如HTTP、FTP、SMTP 等。7 层负载均衡器可根据报文内容,配合一定的负载均衡算法来选择后端服务器,即"内容交换器"。如常见的 HAProxy、Nginx。

2.负载均衡实现方式

  • 硬件负载均衡产品:F5 、深信服 、Radware
  • 软件负载均衡产品: LVS(Linux Virtual Server)、 Haproxy、Nginx、Ats(apache traffic server)

二、LVS结构

1.三层结构

  • 负载调度器
  • 服务器池
  • 共享存储

2.架构对象

  • 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负载均衡算法

1.静态负载均衡

  • rr(round robin,轮询 )
  • wrr(weight round robin,加权轮询)
  • sh(source hashing,源地址散列算法(HASH))
  • dh(destination hashing,目标地址 HASH)

2.动态负载均衡

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

五、ipvsadm命令详解

1. -A

添加虚拟服务节点

2. -D

删除虚拟服务节点

3. -L

查看虚拟服务节点列表

4. -a

添加真实服务节点

5. -d

删除真实服务节点

6. -l

查看真实服务节点列表

7. -t

指定虚拟服务器IP地址

8. -s

指定调度算法

9. -r

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

10. -w

指定权重值

11. -g

直接路由模式(默认)

12. -i

隧道模式(不常用)

13. -m

NAT模式

14. 案例

ipvsadm -A -t 207.175.44.110:80 -s rr

ipvsadm -a -t 207.175.44.110:80 -r 192.168.10.1:80 -m

ipvsadm -a -t 207.175.44.110:80 -r 192.168.10.2:80 -m

ipvsadm -a -t 207.175.44.110:80 -r 192.168.10.3:80 -m

ipvsadm -a -t 207.175.44.110:80 -r 192.168.10.4:80 -m

ipvsadm -a -t 207.175.44.110:80 -r 192.168.10.5:80 -m

六、LVS配置案例

1.基础配置

  • 修改主机名
  • 关闭防火墙
  • 关闭Selinux
  • 关闭Networkmanager
  • 配置IP地址

2.实现NAT模型搭建

2.1 负载调度器配置

2.1.1 配置IP地址

增加一块网卡

cd /etc/sysconfig/network-scripts/

cp ifcfg-ens33 ifcfg-ens36

vim ifcfg-ens36

删除UUID

NAME=ens36

DEVICE=ens36

2.1.2 配置本地yum源

2.1.3 安装ipvsadm

yum install -y ipvsadm

2.1.4 开启路由转发功能

vim /etc/sysctl.conf

net.ipv4.ip_forward = 1

sysctl -p

2.1.5 加载ip_vs模块

modprobe ip_vs

lsmod |grep ip_vs

2.1.6 启动ipvsadm服务

mkdir /etc/sysconfig/ipvsadm

systemctl start ipvsadm

2.1.7 配置负载分配策略

ipvsadm -A -t 192.168.100.3:80 -s rr

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

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

2.1.8 保存策略

ipvsadm-save > /etc/sysconfig/ipvsadm/ipvsadm

2.2 web节点配置

2.2.1 安装httpd

yum install -y nginx

2.2.2 配置网关

route add -net 0/0 gw 192.168.42.3

2.3 测试

深度刷新

3.实现DR模型搭建

3.1 负载调度器配置

3.1.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

sysctl -p

3.1.2 配置虚拟IP地址

cd /etc/sysconfig/network-scripts/

cp ifcfg-ens33 ifcfg-ens33:0

TYPE=Ethernet

BOOTPROTO=static

NAME=ens33:0

DEVICE=ens33:0

ONBOOT=yes

IPADDR=192.168.42.200

PREFIX=24

3.1.3 安装ipvsadm

yum install -y ipvsadm

3.1.4 加载ip_vs模块

modprobe ip_vs

lsmod |grep ip_vs

3.1.5 启动ipvsadm服务

mkdir /etc/sysconfig/ipvsadm

systemctl start ipvsadm

3.1.6 配置负载分配策略

ipvsadm -A -t 192.168.42.200:80 -s rr

ipvsadm -a -t 192.168.42.200:80 -r 192.168.42.4:80 -g

ipvsadm -a -t 192.168.42.200:80 -r 192.168.42.5:80 -g

3.1.7 保存策略

touch /etc/sysconfig/ipvsadm/ipvsadm

ipvsadm-save > /etc/sysconfig/ipvsadm/ipvsadm

3.2 web节点配置

3.2.1 调整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

sysctl -p

3.2.2 配置虚拟IP地址

cd /etc/sysconfig/network-scripts/

cp ifcfg-lo ifcfg-lo:0

vim ifcfg-lo:0

DEVICE=lo:0

IPADDR=192.168.42.200

NETMASK=255.255.255.255

ONBOOT=yes

NAME=loopback:0

3.2.3 添加回环路由

route add -host 192.168.42.200/32 dev lo:0

3.2.4 安装httpd

深度刷新

相关推荐
Mike117.4 小时前
GBase 8a 日期边界写法和时间窗口取数偏差
数据库
SPC的存折5 小时前
1、Redis数据库基础
linux·运维·服务器·数据库·redis·缓存
爱学习的小囧6 小时前
VMware ESXi 6.7U3v 新版特性、驱动集成教程和资源包、部署教程及高频问答详情
运维·服务器·虚拟化·esxi6.7·esxi蟹卡驱动
小疙瘩6 小时前
只是记录自己发布若依分离系统到linux过程中遇到的问题
linux·运维·服务器
dldw7777 小时前
IE无法正常登录windows2000server的FTP服务器
运维·服务器·网络
我是伪码农8 小时前
外卖餐具智能推荐
linux·服务器·前端
汤愈韬8 小时前
下一代防火墙通用原理
运维·服务器·网络·security
IMPYLH9 小时前
Linux 的 od 命令
linux·运维·服务器·bash
MatrixOrigin9 小时前
数据库没有死,只是范式变了
数据库·oracle