lvs虚拟服务器之LVS-NAT模式

一.集群
二.LVS:虚拟服务器:工作在传输层,解决高并发
三.LVS-NAT



一.集群
	1.概念:
		集群就是一组计算机

		集群核心:任务调度
	
		集群目的
			提高性能,降低成本,提高可扩展性,增强可靠性
	
		集群分类
			HA:高可用集群(High Availability Cluster):避免单点故障(代理服务器)
			LB:负载均衡集群/负载均衡系统(Load Balance Cluster):平均分摊
			HPC:高性能计算集群(High Performance Computing)

二.LVS:虚拟服务器:工作在传输层
				
	1.基本概念:
		(1)LVS组成
			内核空间:IPVS框架
			用户空间:ipvsadm命令

		(2)LVS集群组成
	
			前端:负载均衡层
				一台或多台负载调度器构成
	
			中间:服务器群组层
				实际运行的应用服务器组成
	
			底端:数据共享存储层(每个服务器项目更新)--nfs服务
				提供共享存储空间的存储区域
		(3)术语:
			1)调度器:LVS服务器
			2)真实服务器Real Server:提供服务的服务器
	
			3)VIP:虚拟地址,外提供的IP地址,客户端通过这个IP地址访问LVS集群
			4)DIP:指定地址,将请求转发给后端真实服务器时所使用的地址
			5)RIP:真实地址,后端真实服务器的IP地址

		(4)LVS的工作模式:
			NAT:网络地址转换,公私网转换
			DR:路由模式
			TUN:隧道模式

		(5)LVS与nginx反向代理区别:
			1)LVS适用于高并发
			2)nginx具有健康检查,功能全面一些,LVS没有
			3)不能持久化规则,关机后失效

		(6)补充相关命令

			1)开机不启动
			nmcli connection modify "System eth0" ipv4.method disabled autoconnect no
			
			2)禁用相关网卡的命令
				nmcli connection down "System eth0"

			3)允许数据跨网口转发
				cat  /proc/sys/net/ipv4/ip_forward  -->1
				88.10-->99.5-->99.100-->99.200:可以ping通


三.LVS-NAT工作模式简介
		
	1.概念:LVS-NAT模式是一种负载均衡技术


	2.工作原理

		客户端请求(VIP)-->负载均衡服务器(修改源和目地IP)(DIP)-->真实业务服务器(RIP)
	 	客户端请求(VIP)<--负载均衡服务器(修改源和目地IP)(DIP)<--真实业务服务器(RIP)
			
	在LVS-NAT模式下,负载均衡器充当客户端和真实服务器之间的中介。当客户端发送请求到负载均衡器的虚拟IP地址(VIP)时,负载均衡器会根据预设的负载均衡算法选择一个真实的后端服务器来处理该请求。

	然后,负载均衡器将请求的数据包的源地址修改为自身的IP地址,目标地址修改为选定的真实服务器的IP地址,并将修改后的数据包发送给真实服务器。

	真实服务器处理请求后,将响应返回给负载均衡器。负载均衡器再将响应的数据包的源地址修改为虚拟IP地址,目标地址修改为客户端的IP地址,并将修改后的响应数据包发送给客户端。
		

	3.实验环境准备
			(1) pubserver:eth0->192.168.88.240,eth1->192.168.99.240
			client:eth0->192.168.88.10,网关192.168.88.5
			lvs1: eth0 -> 192.168.88.5;eth1->192.168.99.5
			web1:eth1->192.168.99.100;网关192.168.99.5
			web2:eth1->192.168.99.200;网关192.168.99.5

			(2)搭建ansible环境

			(3)web1,web2安装nginx服务器


	4.LVS-NAT虚拟服务器搭建:
			(1)装ipvsadm包
			(2)配置内核参数开启路由转发功能
			(3)搭建lvs-nat模式


			(1)配置内核参数开启路由转发功能,lvs调度服务器/etc/sysctl.conf

			开启路由转发功能内核参数设置:net.ipv4.ip_forward=1
				net.ipv4.ip_forward=1:
					这意味着Linux系统可以作为路由器,将接收到的IP数据包根据目标IP地址的路由信息转发到合适的接口,以便数据包能够到达目标主机。
				直接设置 echo 1 >  /proc/sys/net/ipv4/ip_forward  -->1(临时)

				内核参数配置文件:/etc/sysctl.conf,设置参数net.ipv4.ip_forward=1(永久)
				刷新配置文件:"sysctl -p"

				---
				- name: config sysctl
				  hosts: lbs
				  tasks:
				    - name: modify kernel args          #持久开启Linux路由转发功能
				      sysctl:
				        name: net.ipv4.ip_forward
				        value: '1'
				        sysctl_set: true                #立即生效
				        sysctl_file: /etc/sysctl.conf   #写入的文件
				      notify: flush args
				  handlers:
				    - name: flush args                  
				      shell: "sysctl -p"			#刷新sysctl.conf文件

			(2)装ipvsadm包:
				利用ansible给lvs1安装ipvsadm包(提供用户命令行下的操作接口)

				# ipvsadm命令常用选项
				    -A: 添加虚拟服务器
				    -C: 删除所有虚拟服务器
				    -D: 删除虚拟服务器
				    -E: 编辑虚拟服务器
				    -s: 指定调度算法。
					如轮询rr(Round Robin)
					加权轮询wrr
					最少连接lc:并将新的请求调度到连接数最少的服务器上
					加权最少连接wlc


				    -a tu rw mg:
				    -a: 向"添加"的虚拟服务器中加入真实服务器
				    -t: 添加tcp服务器, -u: 添加udp服务器
				    -r: 指定真实服务器地址
				    -w: 设置权重

				    -m: 指定工作模式为NAT
				    -g: 指定工作模式为DR
				    
				   
			(3)搭建lvs-nat模式
				[root@lvs1 ~]# ipvsadm -A -t 192.168.88.5:80 -s rr
				[root@lvs1 ~]# ipvsadm -a -t 192.168.88.5:80 -r 192.168.99.100:80 -w 1 -m   
				[root@lvs1 ~]# ipvsadm -a -t 192.168.88.5:80 -r 192.168.99.200:80 -w 2 -m
				[root@lvs1 ~]# ipvsadm -Ln      #查看虚拟主机列表

一.集群

二.LVS:虚拟服务器:工作在传输层,解决高并发

三.LVS-NAT

四.LVS-DR

一.集群

1.概念:

集群就是一组计算机

集群核心:任务调度

集群目的

提高性能,降低成本,提高可扩展性,增强可靠性

集群分类

HA:高可用集群(High Availability Cluster):避免单点故障(代理服务器)

LB:负载均衡集群/负载均衡系统(Load Balance Cluster):平均分摊

HPC:高性能计算集群(High Performance Computing)

二.LVS:虚拟服务器:工作在传输层

1.基本概念:

(1)LVS组成

内核空间:IPVS框架

用户空间:ipvsadm命令

(2)LVS集群组成

前端:负载均衡层

一台或多台负载调度器构成

中间:服务器群组层

实际运行的应用服务器组成

底端:数据共享存储层(每个服务器项目更新)--nfs服务

提供共享存储空间的存储区域

(3)术语:

1)调度器:LVS服务器

2)真实服务器Real Server:提供服务的服务器

3)VIP:虚拟地址,外提供的IP地址,客户端通过这个IP地址访问LVS集群

4)DIP:指定地址,将请求转发给后端真实服务器时所使用的地址

5)RIP:真实地址,后端真实服务器的IP地址

(4)LVS的工作模式:

NAT:网络地址转换,公私网转换

DR:路由模式

TUN:隧道模式

(5)LVS与nginx反向代理区别:

1)LVS适用于高并发

2)nginx具有健康检查,功能全面一些,LVS没有

3)不能持久化规则,关机后失效

(6)补充相关命令

1)开机不启动

nmcli connection modify "System eth0" ipv4.method disabled autoconnect no

2)禁用相关网卡的命令

nmcli connection down "System eth0"

3)允许数据跨网口转发

cat /proc/sys/net/ipv4/ip_forward -->1

88.10-->99.5-->99.100-->99.200:可以ping通

三.LVS-NAT工作模式简介

1.概念:LVS-NAT模式是一种负载均衡技术

2.工作原理

客户端请求(VIP)-->负载均衡服务器(修改源和目地IP)(DIP)-->真实业务服务器(RIP)

客户端请求(VIP)<--负载均衡服务器(修改源和目地IP)(DIP)<--真实业务服务器(RIP)

在LVS-NAT模式下,负载均衡器充当客户端和真实服务器之间的中介。当客户端发送请求到负载均衡器的虚拟IP地址(VIP)时,负载均衡器会根据预设的负载均衡算法选择一个真实的后端服务器来处理该请求。

然后,负载均衡器将请求的数据包的源地址修改为自身的IP地址,目标地址修改为选定的真实服务器的IP地址,并将修改后的数据包发送给真实服务器。

真实服务器处理请求后,将响应返回给负载均衡器。负载均衡器再将响应的数据包的源地址修改为虚拟IP地址,目标地址修改为客户端的IP地址,并将修改后的响应数据包发送给客户端。

3.实验环境准备

(1) pubserver:eth0->192.168.88.240,eth1->192.168.99.240

client:eth0->192.168.88.10,网关192.168.88.5

lvs1: eth0 -> 192.168.88.5;eth1->192.168.99.5

web1:eth1->192.168.99.100;网关192.168.99.5

web2:eth1->192.168.99.200;网关192.168.99.5

(2)搭建ansible环境

(3)web1,web2安装nginx服务器

4.LVS-NAT虚拟服务器搭建:

(1)装ipvsadm包

(2)配置内核参数开启路由转发功能

(3)搭建lvs-nat模式

(1)配置内核参数开启路由转发功能,lvs调度服务器/etc/sysctl.conf

开启路由转发功能内核参数设置:net.ipv4.ip_forward=1

net.ipv4.ip_forward=1:

这意味着Linux系统可以作为路由器,将接收到的IP数据包根据目标IP地址的路由信息转发到合适的接口,以便数据包能够到达目标主机。

直接设置 echo 1 > /proc/sys/net/ipv4/ip_forward -->1(临时)

内核参数配置文件:/etc/sysctl.conf,设置参数net.ipv4.ip_forward=1(永久)

刷新配置文件:"sysctl -p"


  • name: config sysctl

hosts: lbs

tasks:

  • name: modify kernel args #持久开启Linux路由转发功能

sysctl:

name: net.ipv4.ip_forward

value: '1'

sysctl_set: true #立即生效

sysctl_file: /etc/sysctl.conf #写入的文件

notify: flush args

handlers:

  • name: flush args

shell: "sysctl -p" #刷新sysctl.conf文件

(2)装ipvsadm包:

利用ansible给lvs1安装ipvsadm包(提供用户命令行下的操作接口)

ipvsadm命令常用选项

-A: 添加虚拟服务器

-C: 删除所有虚拟服务器

-D: 删除虚拟服务器

-E: 编辑虚拟服务器

-s: 指定调度算法。

如轮询rr(Round Robin)

加权轮询wrr

最少连接lc:并将新的请求调度到连接数最少的服务器上

加权最少连接wlc

-a tu rw mg:

-a: 向"添加"的虚拟服务器中加入真实服务器

-t: 添加tcp服务器, -u: 添加udp服务器

-r: 指定真实服务器地址

-w: 设置权重

-m: 指定工作模式为NAT

-g: 指定工作模式为DR

(3)搭建lvs-nat模式

[root@lvs1 ~]# ipvsadm -A -t 192.168.88.5:80 -s rr

[root@lvs1 ~]# ipvsadm -a -t 192.168.88.5:80 -r 192.168.99.100:80 -w 1 -m

[root@lvs1 ~]# ipvsadm -a -t 192.168.88.5:80 -r 192.168.99.200:80 -w 2 -m

[root@lvs1 ~]# ipvsadm -Ln #查看虚拟主机列表

相关推荐
新手上路狂踩坑23 分钟前
Android Studio的笔记--BusyBox相关
android·linux·笔记·android studio·busybox
一个不秃头的 程序员1 小时前
服务器上加入SFTP------(小白篇 1)
运维·服务器
fnd_LN1 小时前
Linux文件目录 --- 复制命令CP、递归复制目录、软连接、硬链接
linux·运维·服务器
MorleyOlsen1 小时前
【Trick】解决服务器cuda报错——RuntimeError: cuDNN error: CUDNN_STATUS_NOT_INITIALIZED
运维·服务器·深度学习
周周的奇妙编程1 小时前
基于鲲鹏服务器的打砖块小游戏部署
运维·服务器
OopspoO2 小时前
Linux查看键鼠输入
linux
从后端到QT2 小时前
boost asio 异步服务器
服务器·网络·tcp/ip
墨水\\2 小时前
Ansible部署及基础模块
服务器·网络·ansible
七七powerful2 小时前
ansible play-book玩法
linux·服务器·ansible
晚安,cheems2 小时前
linux的权限
linux·运维·服务器