LVS(Linux virual server)之基础知识+部署NAT模式集群案例

LVS是什么:

LVS是Linux虚拟服务器的缩写,是开源的集群系统,负载调度器,内核集成;章文嵩博士在1998年创建的。

LVS的工作原理是通过一个前端的负载调度器(Load Balancer)将客户的请求按照一定的算法分发到后端的不同服务器进行处理。这个负载调度器负责将客户的请求转发到正确的服务器,并根据服务器的状态和设定的调度算法从服务器池中选择一个合适的服务器来处理请求。这种工作模式使得LVS能够提供较高的吞吐率和可用性,同时具有良好的可伸缩性和易管理性。

提到这里,就需要提出集群与分布式的概念了

集群Cluster

1.定义:集群是为了解决某个特定问题将多台计算机组合起来形成的单个系统

2.分类(常见的类型):

  • LB:(LoadBalancing)(负载均衡)由多个主机组成,每个主机只承担一部分访问
  • HA:(High Availiablity)--高可用,SPOF(single Point Of failure)

        MTBF(Mean Time Between Failure) 平均无故障时间,正常时间;

        MTTR: Mean Time To Restoration( repair)平均恢复前时间,

        故障时间A=MTBF/(MTBF+MTTR) (0,1):99%, 99.5%, 99.9%, 99.99%, 99.999%(数字越大)

  • HPC:(High-performance computing)高性能计算,国家战略资源,不在课程范围内

分布式:

  1. 存储:Ceph,GlusterFs,FastDFS,MogileFs

  2. 计算:hadoop,Spark

  3. 常见的应用:

    • 分布式应用-服务按照功能拆分,使用微服务

    • 分布式静态资源--静态资源放在不同的存储集群上

    • 分布式数据和存储--使用key-value缓存系统

    • 分布式计算--对特殊业务使用分布式计算,比如Hadoop集群

分布式与集群的区别:

  1. 集群:同一个业务系统,部署在多台服务器上,集群中,每一台服务器实现的功能没有差别,数据和代码都是一样的

  2. 分布式:一个业务被拆成多个子业务,或者本身就是不同的业务,部署在多台服务器上。分布式中,每一台服务器实现的功能是有差别的,数据和代码也是不一样的,分布式每台服务器功能加起来,才是完整的业务

  3. 分布式是以缩短单个任务的执行时间来提升效率的,而集群则是通过提高单位时间内执行的任务数来提升效率,

  4. 对于大型网站,访问用户很多,实现一个群集,在前面部署一个负载均衡服务器,后面几台服务器完成同一业务。如果有用户进行相应业务访问时,负载均衡器根据后端哪台服务器的负载情况,决定由给哪一台去完成响应,并且台服务器垮了,其它的服务器可以顶上来。分布式的每一个节点,都完成不同的业务,如果一个节点垮了,那这个业务可能就会失败。

LVS的运行原理

  1. 定义 : Linux Virtual Server,负载调度器,内核集成

    ----------章文嵩,阿里的四层SLB(Server LoadBalance)是基

    于LVS+keepalived实现.

  2. 工作原理:VS根据请求报文的目标IP和目标协议及端口将其调度转发至某RS,根据调度算法来挑选RS

LVS集群的类型分类

部署NAT模式集群案例 (后续还会更新其他模式哟~)
  1. 定义(lvs-nat):本质是多目标IP的DNAT,通过将请求报文中的目标地址和目标端口修改为某挑出的RS的RIP和

    PORT实现转发。

  2. 注意事项:

  • RIP和DIP应在同一个IP网络,且应使用私网地址;RS的网关要指向DIP

  • 请求报文和响应报文都必须经由Director转发,Director易于成为系统瓶颈

  • 支持端口映射,可修改请求报文的目标PORT

  • VS必须是Linux系统,RS可以是任意OS系统

 

工作流程

访问流程:CIP <--> VIP == DIP <--> RIP

实验环境
 

准备四台主机

LVS主机 :两张网卡(NAT+仅主机)

eth0---172.25.254.100 eth1--192.168.0.100

websever1: 仅主机 192.168.0.10

websever2: 仅主机 192.168.0.20

一台测试机,自己的电脑也可以(可以用win+R里测试)

 

步骤
  • 准备主机,3台均为9.4的虚拟机

  • 配置LVS主机

 #采用 vmset.sh(3.脚本自动获取)的方式
[root@lvs ~]# vmset.sh eth1 192.168.0.100 lvs.txy.org
[root@lvs ~]# vmset.sh eth0 172.25.254.100 lvs.txy.org

  • 配置websever1和websever2

[root@websever1 ~]# vmset.sh eth0 192.168.0.10 websever1.txy.org
[root@websever2 ~]# vmset.sh eth0 192.168.0.20 websever2.txy.org
#注意修改网关
[root@websever1 ~]# vim /etc/NetworkManager/system-connections/eth1.nmconnection

  • LVS中 配路由策略  开内核,开路由策略  编辑文件配置

 #配置文件

[root@lvs ~]# vim /etc/sysctl.conf
# 或者
[root@lvs ~]# echo "net.ipv4.ip_forward=1" > /etc/sysctl.d/ip_forward.conf
[root@lvs ~]# sysctl --system

  •  安装在LVS中安装ipvsadm

[root@lvs ~]# yum install ipvsadm -y

  •  在LVS中添加调度策略

[root@lvs ~]# ipvsadm -A -t 172.25.254.100:80 -s rr
[root@lvs ~]# ipvsadm -a -t 172.25.254.100:80 -r 192.168.0.10:80
[root@lvs ~]# ipvsadm -a -t 172.25.254.100:80 -r 192.168.0.10:80 -m
[root@lvs ~]# ipvsadm -a -t 172.25.254.100:80 -r 192.168.0.20:80 -m

#查看
[root@lvs ~]# ipvsadm -Ln

#保存
[root@lvs ~]# ipvsadm -Sn

#删除
[root@lvs ~]# ipvsadm -C
[root@lvs ~]# ipvsadm -Ln

  •  测试 用自己的主机win+R

命令: curl 172.25.254.100

加油哟~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值