【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

深度刷新

相关推荐
sunxunyong2 小时前
CGroup配置
linux·运维·服务器
小吴编程之路2 小时前
MySQL 索引核心特性深度解析:从底层原理到实操应用
数据库·mysql
~莫子2 小时前
MySQL集群技术
数据库·mysql
凤山老林3 小时前
SpringBoot 使用 H2 文本数据库构建轻量级应用
java·数据库·spring boot·后端
就不掉头发3 小时前
Linux与数据库进阶
数据库
与衫3 小时前
Gudu SQL Omni 技术深度解析
数据库·sql
咖啡の猫3 小时前
Redis桌面客户端
数据库·redis·缓存
oradh3 小时前
Oracle 11g数据库软件和数据库静默安装
数据库·oracle
what丶k3 小时前
如何保证 Redis 与 MySQL 数据一致性?后端必备实践指南
数据库·redis·mysql
_半夏曲4 小时前
PostgreSQL 13、14、15 区别
数据库·postgresql