集群:同一个业务系统,部署在多台服务器上,集群中,每一台服务器实现的功能没有差别,数据和代码都是一样的
分布式:一个业务被拆分成了多个子业务,或者本身就是不同的业务,部署在多台服务器上。分布式中,每一台服务器实现的功能是有差别的,数据和代码也是不一样的,分布式每台服务器功能架起来,来时一个完整的业务
总结:分布式是以缩短当任务的执行时间来提升效率的,而集群是通过提高单位时间内执行的任务数来提高效率
nat模式数据逻辑
![](https://i-blog.csdnimg.cn/direct/12c92b16151640ff8c3c7bef19879a02.png)
![](https://i-blog.csdnimg.cn/direct/9bf63b2c9ed54ec693a633ef11295988.png)
![](https://i-blog.csdnimg.cn/direct/4dff90f0fd884406a8730dc1c200e271.png)
LSV组成:
1.IPVS:ip vitual server,运行在内核,基于内核的netfiter框架实现
2.lpvsadm:运行在用户态,是LSV的管理工具,可以实现LSV的配置,例如VIP的增删改查
一。Linux Dummy 接口基础概念
1.Dummy 接口 是 Linux 操作系统中的一个虚拟网络接口,它不与任何物理硬件设备关联,主要用于测试和配置网络环境。Dummy 接口可以模拟一个网络接口,允许你在没有实际网络硬件的情况下进行网络相关的操作和测试。
2.VIP虚拟ip,再高可用集群中,一般使用VIP向外提供服务,可避免集群中某台主机宕机后可能引起的业务访问IP发生变化
3.地址漂移:在高可用集群中,VIP从某一台主机迁移到另外一台主机成为地址漂移
![](https://i-blog.csdnimg.cn/direct/19c08cf51a7b4e4997d968213cfef9eb.png)
二。LVS负载均衡的简单搭建
服务器配置:
1.添加VIP:nmcli con add type dummy ifname dummy1 ipv4.method manual ipv4.addresses 192.168.142.10/32
删除VIP:nmcli con delect dummy-dummy1
2.下载工具yum install ipvsadm:
3.添加信息
![](https://i-blog.csdnimg.cn/direct/0201e93024c94479a23a17b99a1ba33a.png)
ipvsadm -C:清除规则
![](https://i-blog.csdnimg.cn/direct/b9b4e530de8e4ba2a8db34d2da8a6000.png)
![](https://i-blog.csdnimg.cn/direct/ce9c1e4454584b46a5158d99c665e9f3.png)
判断是否成功
![](https://i-blog.csdnimg.cn/direct/9baee2f4fad2458d94301a1de89ee28b.png)
![](https://i-blog.csdnimg.cn/direct/d31821469bf2448b8eeee93b64729d14.png)
客户机配置:
1.添加nginx页面
2.添加VIP:nmcli con add type dummy ifname dummy1 ipv4.method manual ipv4.addresses 192.168.1.10/32:
![](https://i-blog.csdnimg.cn/direct/d941f7e4df674990b00c09998fd6bd06.png)
3.vim /etc/sysctl.conf:进行apr抑制,也可以使用arp防火墙进行操作
![](https://i-blog.csdnimg.cn/direct/2f089f472eea49ecb6a50f7b9d0767e4.png)
net.ipv4.conf.all.arp_ignore=1
:开启 ARP 响应限制。取值为 1 时,系统在响应 ARP 请求时,只有当目标 IP 地址配置在请求进入的接口上时,才会发送 ARP 响应,可减少 ARP 欺骗风险。net.ipv4.conf.all.arp_announce=2
:设置 ARP 通告模式为 2,系统会尽量避免通告一个不属于该网络接口子网的本地地址,有助于在多宿主网络环境中防止 ARP 混乱。net.ipv4.conf.dummy1.arp_ignore=1
:对名为dummy1
的虚拟网络接口设置 ARP 响应限制,规则同net.ipv4.conf.all.arp_ignore
。net.ipv4.conf.dummy1.arp_announce=2
:对名为dummy1
的虚拟网络接口设置 ARP 通告模式,规则同net.ipv4.conf.all.arp_announce
。
拓展:arp防火墙抑制(首先将vim /etc/sysctl.conf内的内容设置为0)
(1)下载:yum install arptables.X86_64
(2)查看arp防火墙:arptables -L -n
(3)添加一条拒绝规则:arptables -A INPUT -d++$VIP地址++ -j DROP
(4)arptables -A OUTPUT -s ++VIP地址++ -j mangle --mangle-ip-s ++自己的ip++
(5)保存防火墙命令:arptables-save > /etc/sysconfig/arptables
(6)启动:systemctl enable --now arptables
4.sysctl -p启动
5.保存ipvsadm:ipvsadm -Sn > /etc/sysconfig/ipvsadm
如果使用了ipvsadm -C删除了内容,可以使用ipvsadm -R < /etc/sysconfig/ipvsadm恢复
三。LSV的算法
![](https://i-blog.csdnimg.cn/direct/06205eeb174f494ca22cf1c61d5db73a.png)
更改算法:++ipvsadm -Et 192.168.1.10:80 -s wrr++
更改权重++:ipvsadm -et 192.168.1.10:80 -r 192.168.142.1.11 -g -w 2++
删除算法:++ipvsadm -Et 192.168.1.10:80++
![](https://i-blog.csdnimg.cn/direct/550c863840784af6a03a5e18519a0cd9.png)
![](https://i-blog.csdnimg.cn/direct/4e1f5ffa50954c608040611a7f9e254b.png)
四。LSV-DR模式特点
也就是用直接路由技术实现虚拟服务器,它的连接调度和管理与VS/NAT和VS/TUV一样,但它的报文转发方法又有不同,VS/DR通过改写请求报文的MAC地址,将请求发送给real server,而real server将响应直接返回给客户,免去了VS/TUN的IP隧道开销,这种方法是三种负载调度中性能最好的,但是必须要求Director Server和Real Server都有一块网卡连在同一物理隧道上
![](https://i-blog.csdnimg.cn/direct/3af1fb2766b946d4a9aac35273137085.png)
五。使用arp防火墙配置
![](https://i-blog.csdnimg.cn/direct/a199f05f1523496cb179444d2e392dd8.png)
![](https://i-blog.csdnimg.cn/direct/f483c902df994ad5b8d6249245eaa6d9.png)