【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

深度刷新

相关推荐
努力成为DBA的小王1 小时前
Linux( 权限+特殊权限 图片+大白话)
linux·运维·服务器·学习
王大傻09281 小时前
数据库的性能优化 -- SQL性能优化
数据库·sql·性能优化
_.Switch2 小时前
Django SQL 查询优化方案:性能与可读性分析
开发语言·数据库·python·sql·django·sqlite·自动化
Amo Xiang2 小时前
Django 2024全栈开发指南(三):数据库模型与ORM操作(上篇)
数据库·django·django-orm
ketil273 小时前
Redis 典型应用 - 缓存(cache)
数据库·redis·缓存
pen-ai5 小时前
【SQL】一文速通SQL
数据库·sql
DC_BLOG7 小时前
Mysql-DDL语句
服务器·数据库·mysql
努力遇见美好的生活7 小时前
Mysql每日一题(行程与用户,困难※)
android·数据库·mysql
卫生纸不够用8 小时前
远程链接mysql步骤
数据库·mysql
raysync8888 小时前
镭速大文件传输软件向金融银行的文档管理提供高效的解决方案
服务器·网络·金融