LVS负载均衡集群 (NAT模式)

LVS集群

集群的概念:

为解决某个特定的问题,将多个计算机组合起来形成一个单个系统

集群的水平扩展:

增加设备,并行运行多个服务,通过网路连接和算法来调度服务分配的问题

集群的类型:

负载均衡集群(LB loab blance) :多个主机组成,每个主机只承担一部分访问请求,靠负载均衡算法实现
高可用集群(HA high availiablity) :避免SPOF(singe point of failuer) 单点故障,系统当中有一部分组件出现故障。可以保障整个系统继续运行
HPC(high-performance computing):快速 转发 快速响应

集群的可靠性指标:

MTBF:系统在正常运行期间无故障平均时间,一般用小时或者天数表示,MTBF值越高,系统的可靠性越高,出现的故障也越小
MTTR:系统从发生故障到恢复正常运行的平均时间,MTTR越小 说明系统的恢复故障的能力越强
A:系统可靠性指标,A值越高越好

A=MTBF/(MTBF+MTTR)

停机时间:

计划内停机:只的预定时间内的维护或者维修时间,自定义

计划外停机:运维人主要关注的

设计集群的需要考虑的一些原则;

1 可扩展性:要有随时添加删除设备的能力(动态的扩缩容)

2 集群中:如果有节点发生故障,它可以快速检测并且自动切换,

3 负载均衡:合理的分配每个服务的负载,避免单个节点的过载影响性能

4 可维护性:方便的进行部署维护监控,降低成本

5 安全性 :数据泄密

6 易用性:相关的工作

lvs集群:

linux virtual server 是一个部署在Linux系统通过内核层面实现负载均衡的软件

作用:

多个后端服务器组成一个高可用,高新能,负载均衡的高性集群,通过负载均衡的算法将客户请求发送到后端服务器。

lv集群当中的术语:

Vs(virtual server) :lvs服务的逻辑名字,外部访问lvs集群是提供的一个虚拟ip地址和端口

VIP: virtual ip对外提供访问的统一虚拟IP地址。
DS(Director server): lvs集群当中的主服务器,也叫调度器,是整个lvs集群的核心,接收客户端的请求转发到后端RS

DIP: Director ip调度器在Iys内部使用的ip地址。用于和真实服务器进行通信。
RS(real server lvs ):后端是真时服务器的IP,接收到DS的请求之后,返回响应结果

RIP:后端真实服务器的jp地址
CIP: client ip客户端的ip地址

LVS访问的大致流程

1 客户端访问都是vip地址

2 由调度器ds接受到请求,根据调度算法选择好后端服务器 请求发送给rs

3 RS处理请求并将响应发送到DS

4 DS把RS 的响应包装成自己响应,发送到客户端

lvs的负载均衡模式方式:

NAT DR TUN

其中NAT和DR最常用的方式**。**

NAT:地址转发

配置步骤:

1:在调度器上配置双网卡。一个指内,一个之外

2:配置一个可以和公网进行通信的vip

3: 配置转发策略,如果访问vip就会把请求的数据转发到后台的RS地址,响应给用户。

192.18.33.0---------调度器---- ---- nat转换-------------12.0.0.1:80-------客户端。

数据请求进入调度器做的是请求报文中ip地址的修改

数据响应进入调度器,根据NAT配置进行地址转换

nat:

对于客户端来说请求地址始终不变,客户端不需要修改任何配置。转发由调度器通过算法来完成,后端服务器只管接受响应。也不需要修改任何配置。

DR:

DR:直接路由模式。请求由调度器完成,但是响应客户端由真实服务器直接响应,不需要通过调度器。

好处是:性能高,而且可以配置vip地址的高可用。不存在单点故障。

如何设置lvs:

Lvs adm工具: 管理ipvs内核模块的命令工具,可用于配置和管理LVS集群

-A: 添加虚拟服务器

-D: 删除整个服务器

-s 指定负载调度的算法

-a 添加真实服务器

-d 删除真实服务器

-t 指定vip地址的端口号

-r 指定rip的端口号

-m 表示使用nat 模式

  • g 表示使用DR模式

  • i 表示使用TUN模式

-w 设置真是服气的权重

  • P 60 :设置连接保持的时间60秒(默认不带)

-ln 以数字和列表的形式查看lvs的配置信息

静态调度的写法:

Rr 轮询

Wrr加权轮询

dh 目的地址hash

根据ip地址查找静态hash表 获取需要真实的rs地址

动态调度的写法:

ls最小连接数调度

wlc:加权最小连接数调度

权重高的,转发的就多,为了额避免性能瓶颈,在跟上最小连接数分配,可以把请求往连接数量较小的服务器继续转发。

lblc:基于地址的最小连接数调度。

将来自同一个目的地址的请求分配给RS,如果这台服务器尚未满负荷,就会把请求分配给连接数最小的RS,而且在下一次转发

网址访问内容

#清空原有数据

所有从233.0网段进来的统统从12.0.0.1出去

#配置共享策略

root@www opt\]# vim /etc/exports

#创建共享目录,哪些网址可以访问,给与权限可以同步

#把服务发布下

root@www opt\]# exportfs -rv

NAT模式

命令:systemctl stop firewalld

setenforce 0
#安装依赖环境

命令:yum -y install nfs-utils rpcbind
#开启服务

命令:systemctl start rpcbind

systemctl start nfs
#创建共享目录

命令:mkdir /opt/[名字] /opt/[名字]

给目录文件赋权

命令:chmod 777 /opt/名称 /opt/名称

设置共享配置文件

命令:vim /etc/exports

发布共享目录并查看

命令:exportfs -rv

showmount -e

配置第二台虚拟机

安装HTTP服务

命令:yum -y install httpd

开启HTTP服务

命令:systemctl start httpd

systemctl enable httpd

安装共享依赖环境

命令:yum -y install rpcbind nfs-utils

按顺序开启服务

命令:systemctl start nfs

systemctl enable nfs

systemctl start rpcbind

systemctl enable rpcbind

测试查看共享地址

命令:showmount -e 192.168.8.100

创建网页执行文件

命令:echo "内容" > /var/www/html/index.html

创建永久挂载

命令:vim /etc/fstab

查看挂载是否成功

命令:mount -a #先刷新挂载

df -h

部署第三台虚拟机

安装相同的服务

命令:yum -y install nfs-utils rpcbind httpd

创建网页执行文件

命令:echo "内容" > /var/www/html/index.html

创建永久挂载

命令:vim /etc/fstab

查看挂载

命令:mount -a #刷新挂载

df -h

查看指定地址共享

命令:showmount -e [IP地址]

部署第四台虚拟机

配置SNAT转发规则

命令:vim /etc/sysctl.conf

测试配置内容

命令:sysctl -p

清除防火墙策略

命令:iptables -F

检查一下防火墙策略

命令:iptables -t nat -nL

设置防火墙策略

命令:iptables -t nat -A POSTROUTING -s [IP地址] -o ens36 -j SNAT --to--source 10.0.0.1

加载IP_VS模块

命令:modprobe ip_vs

安装ipvsadm工具

命令:yum -y install ipvsadm

修改虚拟机设置

修改网络编辑器

​​​​​​​

创建网卡

命令:cp ifcfg-ens33 ifcfg-ens36

修改网卡配置文件

vim /etc/sysconfig/network-scripts/ifcfg-ens36

查看网卡信

命令:ifconfig

设置ipvsadm策略

命令:ipvsadm -C

ipvsadm -A -t 10.0.0.1:80 -s rr

ipvsadm -a -t 10.0.0.1:80 -r 192.168.8.200:80 -m -w 1

ipvsadm -a -t 10.0.0.1:80 -r 192.168.8.130:80 -m -w 1

保存分配策略

命令:ipvsadm-save

启动策略

命令:ipvsadm

修改Win系统的IPv4地址协议

修改Web节点服务器的网关指向

网关指向调度器的RIP地址

两台Web服务重启网卡

命令:systemctl restart network

修改Win系统虚拟机的网络适配器

用浏览器进行访问测试

相关推荐
rain bye bye5 天前
calibre LVS run不起来跑不通
lvs
rain bye bye6 天前
calibre LVS 跑不起来 就将setup 的LVS Option connect下的 connect all nets by name 打开。
服务器·数据库·lvs
2301_787328498 天前
25.负载均衡-Nginx、HAProxy、LVS 全解析
nginx·负载均衡·lvs
小任今晚几点睡16 天前
LVS深度解析:从原理到实战的负载均衡完全指南
负载均衡·lvs
Yyyy48224 天前
LVS TUN隧道模式
运维·网络·lvs
IT成长日记25 天前
【LVS入门宝典】LVS调度算法轮询(RR)深度解析:从原理到实战的公平调度之道
算法·lvs·rr·轮询调度算法
chen_note25 天前
LVS集群
nginx·lvs·haproxy·ipvsadm·lvs四种模式
Yyyy48225 天前
LVS三种模式及原理
服务器·php·lvs
Yyyy48225 天前
LVS、Nginx、HAProxy 的区别
运维·nginx·lvs
IT成长日记1 个月前
【LVS入门宝典】LVS核心原理与实战:Real Server(后端服务器)高可用配置指南
linux·运维·服务器·负载均衡·lvs