lvs原理

一、LVS :四层负载均衡设备,可针对IP和端口进行匹配相应的规则

                借鉴iptables工作机制,工作在input链上,在上面设置规则,一旦发现用户请求集群服务,强行修改报文,通过postrouting链转发给其主机

               命令行工具:ipvsadm(管理集群服务)

                  内核模块: ipvs

二、LVS类型:NAT(地址转换):需要两个网卡,一个面对外网,一个面对后端服务,

                                集群节点跟idrector必须工作在同一个ip网络中

                                director位于client和relal server 之间,并负责处理进出的所有通信

                                realserver必须将网关指向DIP

                                diretory支持端口映射

                                realserver可以使用任意操作系统

                                较大规模应用场景中,director易成为系统瓶颈


                       DR(直接路由):director只有一块网卡,只负责进来的请求并通过修改MAC地址进行分发,realserver可以直接响应响应用户请求,回应的源地址是VIP,一般能带动百台server

                                集群节点跟director必须在同一个物理网络中

                                RIP可以使用公网地址,实现便捷的远程管理

                                 director仅负责入站请求,响应报文由realserver直接发往客户端

                                 realserver不能将网关指向DIP

                                不支持端口映射

                                

                       TUN(隧道):

                                  集群节点可以跨越互联网

                                  RIP必须是公网地址

                                  director仅负责入站请求,响应报文由realserver直接发往客户端

                                   realserver不能将网关指向DIP

                                    只有支持隧道功能的OS才能用于realserver

                                    不支持端口映射

三、LVS调度方法

                        固定(静态)调度:director不对后端主机进行健康检查

                                         rr: 轮询

                                         wrr: weight,加权

                                         sh: source hash 源地址hash(主要用于session affinity)

                                         dh: destination hash

                        动态调度:

                                          lc(lest connection):最少连接active*256+inactive

                                           wlc:加权最少连接(active*256+inactive)/weight

                                            sed:最短期望延迟(active+1)*256/weight

                                           nq(nerver queue):

                                            lblc:基于本地的最少连接

                                            lblcr:基于本地带复制功能的最少连接

你可能感兴趣的:(LVS,负载均衡)