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

[经验分享] 上课笔记第三十三天、lvs(net、dr)

[复制链接]

尚未签到

发表于 2019-1-6 07:48:47 | 显示全部楼层 |阅读模式
  1、大规模站点构建框架。
        http:状态
               keep-alive:长连接
               cookie:session

         cluster:集群
                 构建高可扩展性系统的重要原则;在系统内部尽量避免串行化和交互
                 HA:High Availability
                 LB:Load Balancing
                 session复制
                 memcached:内存缓存服务器
                             key-value:键值匹配

2、lvs的基础原理
         LB: (应用层、传输层)
               软件:
                      lvs(传输层)
                      haproxy, nginx (应用层)
               硬件:
                      F5 BIG-IP
                      Citrix Netscaler
                      A10 A10
                      Array
                      Redware
         HA:
               heartbeat
               corosync + pacemaker
               RHCS: cman + rgmanager
               cman + pacemaker
               keepalived
         HP:
               hadoop

         lvs: Linux Virtual Server
             四层路由,四层交换:根据目标地址和目标端口实现请求转发,lvs工作在内核中并监听在input链上,访问请求到达本机后prerouting转到input链。lvs查看是否是自己监听的ip:port,如果是就强行转发到postrouting把访问请求转发到后台真实主机上。
             iptables/netfilter
                     netfiler: PREROUTING --> INPUT --> FORWARD --> OUTPUT --> POSTROUTING
             lvs: ipvsadm/ipvs
                     ipvs: netfilter
             集群服务:tcp、udp。IP:PORT

        LVS的术语:
            director/real server
            IP:
                  VIP:Virtual IP
                  DIP: Director IP      
                  RIP: Real Server IP
                  CIP:Client IP

         lvs的类型:
                  lvs-nat
                        Network Address Translation(网络地址转换)
                  lvs-dr
                        Direct Routing(直接路由)
                  lvs-tun
                        Tunneling(隧道)

         nat类型的特性:
                  RS应用使用私有地址;RS的网关必须指向DIP,RIP和DIP必须在同一个网段内;
                  请求和响应都要经过Director;高负载场景中,Director易成为性能瓶颈;
                  支持端口映射;
                  RS可以使用任意OS;
                  最少2块网卡

         dr类型的特性:
                  保证前端路由将目标地址为VIP的报文统统发往Directory,而不能是RS;
                                   修改RS上内核参数,将RS上的VIP配置在lo接口的别名上,并限制其不能响应对VIP地址解析请求;
                  RS可以使用私有地址;但也可以使用公网地址,此时可通过互联网通过RIP对其直接访问;
                  RS跟Directory必须在同一物理网络中;
                  请求报文经由Director,但响应报文必须不能经过Director;
                  不支持端口映射;
                  RS可以是大多数常见的OS;
                  RS的网关绝不允许指向DIP;
                  一块网卡即可

          tun类型的特性:
                  RIP、VIP、DIP全部是公网地址;
                  RS的网关不会也不可能指向DIP;
                  请求报文经由Director,但响应报文必须不能经过Director;
                  不支持端口映射;
                  RS的OS必须支持隧道功能;

          fullnat:淘宝自行开发的模型

3、lvs调度方法及nat模型的实现

        Director :eth0:192.168.146.137(dip)
                        eth1:192.168.5.28(已该网卡地址做vip)
          node1:eth0:192.168.146.131 (网关必须指向dip)
          node2:eth0:192.168.146.138 (网关必须指向dip)
         注意:网卡转发和rs中的默认网关都需要设置
                    route add default gw 192.168.146.137:设定默认网关


          lvs scheduler:
                    grep -i 'ipvs' /boot/config-2.6.32-358.el6.x86_64:显示内核中和ipvs相关选项。
                    grep -i 'vs' /boot/config-2.6.32-358.el6.x86_64:显示相关
          静态方法:根据算法本身进行调度。
                     rr:round robin轮询,轮流调度。
                     wrr:weighted round robin,加权轮询,根据设定权重调度
                     sh: source hashing,来自同一个源地址请求将一直定向于同一个rs中,session保持
                     dh: destination hashing, 目标地址hash,
                     route add default gw 192.168.146.137 :指定默认网关
          动态方法:根据算法和rs状态进行调度。
                     lc: least connection,最少连接,根据机器连接数调度。Overhead=Active*256+Inactive,活动连接数*256+非活动连接数
                     wlc:weighted  least connection:Overhead=(Active*256+Inactive)/weight,活动连接数*256+非活动连接数/权重
                     sed: shortest expection delay:Overhead=(Active+1)*256/weight
                     nq: Never Queue:连接来后先每台rs发一个,之后用sed方式计算。
                     lblc: Locality-Based Least Connection:
                     lblcr:Replicated lblc:带复制功能的lblc

           安装lvs管理工具:
                      yum install -y ipvsadm:先安装ipvsadm,
                      curl http://192.168.146.1:测试web服务器是否正常工作
                      echo 1 > /proc/sys/net/ipv4/ip_forward:打开路由转发功能
                      ipvsadm -h:查看帮助
                      ipvsadm -A|E -t|u|f service-address [-s scheduler]:
                                -A:添加director上的vip相关信息, -E:修改
                                -t:tcp服务、-u:udp服务、-f:防火墙标记
                                service-address:指定ip和端口为集群服务,也称为vip。
                                -s: 调度算法,默认为wlc
                      例如:ipvsadm -A -t 192.168.5.28:80 -s rr:添加一个集群服务
                                 ipvsadm -D -t 192.168.5.28:80:删除一个集群服务
           为一个已经定义过的集群服务添加一个rs:
                      ipvsadm -a|e -t|u|f service-address -r server-address [options]:集群服务添加rs格式
                                 -a:添加一个rs,-e:修改
                                 -t:tcp服务、-u:udp服务、-f:防火墙标记
                                 service-address:指定已定义过的集群服务。
                                 server-address:添加rs,ip和端口。
                                 options:为可选选项,一般常用选项:
                                              -w:指定权重。
                                              -g:指定为dr模型。不指默认为dr。
                                              -i:指定为tun模型。
                                             -m:指定为net模型。
                                例如:ipvsadm -a -t 192.168.5.28:80 -r 192.168.146.138 -m
            查看ipvs:
                        ipvsadm -L -n:查看一个集群服务
                        ipvsadm -L -n -c:查看连接转发信息  
                        ipvsadm -L -n --stats:统计各rs连接情况
                        ipvsadm -L -n --rate:速率,平均数
                        ipvsadm -L -n --exact:精确值  
            删除集群服务:
                       -D:例如: ipvsadm -D -t 192.168.5.28:80:删除一个集群服务
            清除集群服务:
                        -C:例如:ipvsadm -C
             保存集群服务:
                         -S:例如:ipvsadm -S > /path/file_name
             读取文件:
                          -R:例如:ipvsadm -R < /path/file_name

4、lvs dr模型及lxc虚拟化
            session持久机制方法:
                      session绑定,始终将来自同一个源ip的请求转发到同一台rs,没有容错能力,有损负载均衡效果。可以通过调度算法实现sh
                      session复制,在rs之中同步所有的session,每个rs拥有所有集群session信息,对大规模集群不适用。
                      session服务器,用单独部署的服务器节点管理所有的session。

             dr模型实现:vip、dip和rip必须在同一个物理网络中,中间不能有路由器拆封包信息。
                      Director:DIP, VIP
                      RS:RIP, VIP

              RS: 配置内核参数,每台服务器所有提供服务的网络接口都需要配置相关信息。
                     arp_ignore: 如何响应接收ARP地址请求;0表示全部响应;1表示仅在请求的地址配置在请求报文的接口进行响应;
                     arp_announce: 如何通告本地地址;0表示通告全部;2表示仅通告网络直连的接口地址;

             dr模型:
                     dip:192.168.5.7
                     vip:192.168.5.88
                     rip1:192.168.5.9
                     rip2:192.168.5.16
                 
             ifconfig eth1:0 192.168.5.88/24:添加vip
           

             为rs设定网卡工作特性内核参数,每台rs都需要设定。
                     echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
                     echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
                     echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
                     echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
                     ifconfig lo:0 192.168.5.88 netmask 255.255.255.255 broadcast 192.168.5.88 up
                     route add -host 192.168.5.88 dev lo:0
         
            测试响应服务器网卡amc地址:ping vip(ping 192.168.5.88)
                   arp -a:查看vip是由那个服务器的网卡mac地址响应。




运维网声明 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.yunweiku.com/thread-659809-1-1.html 上篇帖子: 教你配置LVS 下篇帖子: scsi+gfs2+lvs2
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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