设为首页 收藏本站
查看: 1322|回复: 0

[经验分享] day01 LVS

[复制链接]
发表于 2019-1-3 07:38:41 | 显示全部楼层 |阅读模式
LVS
  一、集群

  • 一组相互独立的,通过高速网络互联的计算机构成的一个组,并以单一系统的模式加以管理
  • 将很多服务器集中起来一起进行同一种服务,在C端看来就像是只有一个服务器
  • 可以在较低成本的情况下获得在性能、可靠、灵活性方面相对较高的收益
  • 任务调度则是集群系统中的核心技术
    二、集群分类
  • 高性能计算集群(HPC)
  • 高可用集群(HA)
  • 负载均衡集群(LB)
    三、LVS集群组成
  • 前端:负载均衡层
    -- 由一台或多台负载均衡调度器构成
  • 中端:服务器群组层
    --由一组实际运行应用服务的服务器组成
  • 后端:数据共享存储层
    -- 提供共享存储空间的存储区域

    四、LVS术语
  • Director Server:调度器,将负载分发到Real Server 的服务器
  • Real Server:真实服务器,真正提供应用服务的服务器
  • VIP:虚拟IP地址,公布给Client访问的IP地址
  • RIP:真实IP地址,集群节点使用的IP地址
  • DIP:Director连接到Real Server 的IP地址
    五、LVS负载均衡方式
  • VS/NAT:通过网络地址转换实现的虚拟服务器
    --Director 将用户请求报文的目的地址改变成选的的Real Server地址后,将请求转发给Real Server
    --大并发访问时,调度器性能成为瓶颈
  • VS/DR:直接使用路由技术实现虚拟服务器
    --通过改写请求报文的的MAC地址,将请求发至Real Server,Real Server直接响应给客户端
  • VS/TUN:通过隧道方式实现虚拟服务器
    --Director采用隧道技术将请求发至Real Server后,Real Server 直接响应客户端

    六:负载均衡调度算法
  • Director Server根据各台服务器的负载情况,通过高度算法动态选择一台Real Server
  • LVS目前实现了10种调度算法
  • 常用调度算法有4种
    --轮询(Round Robin)
    --加权轮询(Weighted Round Robin)
    --最少连接(Least Connections)
    --加权最少连接(Weighted Least Connections)
  • 轮询(rr)
    --将用户的请求平均的分配到Real Server
  • 加权轮询(wrr)
    --根据真实服务器的性能设置权重,再进行轮询调度
  • 最少连接(lc)
    --动态的将请求分发到已建立的连接数最少的服务器上
  • 加权最少连接(wlc)
    --根据真实服务器的性能设置权重,再将网络请求调度到以建立连接的最少服务器上
  • 基于局部性的最少连接(lblc)
    --根据请求的目标IP地址找出该目标IP地址最近使用的服务器,若该服务器是可用的且没有超载,将请求发送到该服务器;若服务器不存在,或者该服务器超载且有服务器处于一半的工作负载,则用“最少链接” 的原则选出一个可用的服务器,将请求发送到该服务器
  • 带复制的基于局部性最少链接(Locality-Based Least Connections with Replication)
    --维护从一个目标IP地址到一台服务器的映射根据请求的目标IP地址找出该目标IP地址对应的服务器组,按“最小连接”原则从服务器组中选出一台服务器,若服务器没有超载,将请求发送到该服务器;若服务器超载,则按“最小连接”原则从这个集群中选出一台服务器,将该服务器加入到服务器组中,将请求发送到该服务器
    当该服务器组有一段时间没有被修改,将最忙的服务器从服务器组中删除,以降低复制的程度。
  • 目标地址散列(Source Hashing)
    --根据请求的源IP地址,作为散列键(Hash Key)从静态分配的散列表找出对应的服务器,若该服务器是可用的且未超载,将请求发送到该服务器,否则返回空
  • 目标地址散列(Destination Hashing)
    --根据请求的目标IP地址,作为散列键(Hash Key)从静态分配的散列表找出对应的服务器,若该服务器是可用的且未超载,将请求发送到该服务器,否则返回空
  • 最短的期望的延迟(Shortest Expected Delay Scheduling SED)
    --基于WLC算法,A、B、C三台机器分别权重1、2、3 ,连接数也分别是1、2、3如果使用WLC算法的话一个新请求进入时它可能会分给ABC中的任意一个,使用sed算法后会进行这样一个运算:A(1+1)/1,B(1+2)/2,C(1+3)/3,根据运算结果,把连接交给C
  •   最少队列调度(Never Queue Scheduling NQ)
    如果有台Real Server的连接数为0就直接分配过去,无需SED运算
    七:LVS-NAT实现方式

    • 拓扑

    •   配置  DIP 和RIP在一个网段  真实服务器网关指向DIP
      ipvsadm
      -A     添加虚拟服务器
      -t       设置集群地址
      -s       指定调度算法
      ipvsadm  -A -t  192.168.4.100:80 -s rr
      -a       添加真实服务器
      -d       删出真实服务器
      -r        指定真实服务器地址
      -m       使用NAT 模式  -g  DR模式  -i TUN模式
      -w       为节点服务器设置权重,默认1
      ipvsadm  -a -t 192.168.4.100:80  -r 192.168.4.1:80 -m
      ipvsadm -d -r 192.168.4.1:80 -t 192.168.4.100:80
      ipvsadm  -Ln    查看lvs信息
      ipvsadm  -C     清空所有规则
      环境4台主机 1client 1director 2real server
      客户端ip  201.1.1.200
      VIP 201.1.1.100
      DIP  192.168.4.100
      RIP 192.168.4.11/12     
      (1)director  开启路由转发 echo "net.ipv4.ip_forward = 1" >> /etcsysctl.conf sysctl -p 文件生效  查看 /proc/sys/net/ipv4/ip_forward 文件内容为1
      yum -y install ipvsadmipvsadm -A -t 192.168.4.100:80 -s rripvsadm -a -t 192.168.4.100:80 -r 192.168.4.11:80 -m ipvsadm -a -t 192.168.4.100:80 -r 192.168.4.12:80 -m
      (2)真实服务器
      配置ip,httpd  编写测试页面
      保存配置:ipvsadm-save -n >>/etc/sysconfig/ipvsadm  #重定向到配置文件  或 sevice  ipvsadm save
      (3)客户端访问201.1.1.100 就可以访问到real server
      (4) 修改算法
      ipvsadm  -E -t 192.168.4.100:80 -s wrr
      八、LVS-DR  DIP 必须设置在虚拟接口上
      拓扑

        real配置
      vim  /etc/sysctl.confnet.ipv4.conf.all.arp_announce = 2net.ipv4.conf.lo.arp_announce = 2net.ipv4.conf.all.arp_ignore = 1net.ipv4.conf.lo.arp_ignore = 1
      cd /etc/sysconfig/network-scripts/
      vim  ifcfg-lo:0
      DEVICE=lo:0
      IPADDR=202.1.1.200
      NETMASK=255.255.255.255
      BROADCAST=202.1.1.200
      ONBOOT=yes

  内核参数说明
·arp_announce
–0 (默认):在任意网络接口上的任何本地地址
–1:尽量避免不在该网络接口子网段的本地地址做出arp回应。当发起ARP请求的源IP地址是被设置应该经由路由达到此网络接口的时候很有用。此时会检查来访IP是否为所有接口上的子网段内ip之一。如果改来访IP不属于各个网络接口上的子网段内,那么将采用级别2的方式来进行处理
–2:对查询目标使用最适当的本地地址。在此模式下将忽略这个IP数据包的源地址并尝试选择与能与该地址通信的本地地址。首要是选择所有的网络接口的子网中外出访问子网中包含该目标IP地址的本地地址。如果没有合适的地址被发现,将选择当前的发送网络接口或其他的有可能接受到该ARP回应的网络接口来进行发送
·arp_ignore
–0(默认值):回应任何网络接口上对任何本地IP地址的arp查询请求
–1:只回答目标IP地址是来访网络接口本地地址的ARP查询请求
–2:只回答目标IP地址是来访网络接口本地地址的ARP查询请求,且来访IP必须在该网络接口的子网段内
–3:不回应该网络接口的arp请求,而只对设置的唯一和连接地址做出回应
–4-7:保留未使用
–8:不回应所有(本地地址)的arp查询
director 配置
cd /etc/sysconfig/network-scripts/
vim  ifcfg-eth0:0
DEVICE=eth0:0
HWADDR=00:0C:29:B6:5E:A4
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
IPADDR=202.1.1.200
PREFIX=24
ipvsadm  -A  -t  202.1.1.200:80  -s  wlcipvsadm  -a  -t  202.1.1.200:80  -r  202.1.1.10  -g  -w  1ipvsadm  -a  -t  202.1.1.200:80  -r  202.1.1.20  -g  -w  2
客户端访问
九、编写脚本,监控real  server是否出现故障,如果出现故障将其移除,如果故障恢复,再将它加入到LVS中





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-658774-1-1.html 上篇帖子: LVS类型的介绍以及LVS的调度方法 下篇帖子: 负载均衡集群解决方案 (一)LVS
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表