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 #查看虚拟主机列表

相关推荐
wdxylb1 小时前
云原生俱乐部-shell知识点归纳(1)
linux·云原生
飞雪20073 小时前
Alibaba Cloud Linux 3 在 Apple M 芯片 Mac 的 VMware Fusion 上部署的完整密码重置教程(二)
linux·macos·阿里云·vmware·虚拟机·aliyun·alibaba cloud
路溪非溪3 小时前
关于Linux内核中头文件问题相关总结
linux
海绵不是宝宝8174 小时前
连接远程服务器上的 jupyter notebook,解放本地电脑
服务器·jupyter·github
Lovyk5 小时前
Linux 正则表达式
linux·运维
Fireworkitte6 小时前
Ubuntu、CentOS、AlmaLinux 9.5的 rc.local实现 开机启动
linux·ubuntu·centos
sword devil9007 小时前
ubuntu常见问题汇总
linux·ubuntu
ac.char7 小时前
在CentOS系统中查询已删除但仍占用磁盘空间的文件
linux·运维·centos
繁星¹⁸⁹⁵8 小时前
通过update-alternatives可以实现cuda的多版本切换
服务器
淮北也生橘128 小时前
Linux的ALSA音频框架学习笔记
linux·笔记·学习