jacky4955 发表于 2019-1-4 10:15:31

44.LVS群集应用

LVS群集

  群集的类型:
  负载均衡群集:提高应用程序的响应能力,以减少延迟为目标,获得高并发,高负载的整体性能。
  高可用群集:提高应用系统的可靠性,尽可能的减少中断为目标,确保服务的连续性,达到高可用的容错效果。
  高性能运算群集:提高应用系统的CPU运算速度,获得相当于大型,超级计算的高性能运算能力。
  负载均衡群集的分层结构:负载调度器,服务器池,共享存储。
  负载均衡的工作模式:
  地址转换模式:NAT,负载调度器作为所有服务器节点的网关,即作为客户机的访问入口,也是各个节点回应客户机的访问出口,服务器节点使用私有IP地址,与负载均衡器位于同一个物理网络。
  直接路由模式:DR,采用半开式的网络结构,服务器与调度器位于同一个物理网络。
  IP隧道模式:TUN,采用开放式的网络结构,负载调度器仅作为客户机的访问入口,各节点通过各自的internet连接直接会用客户机,而不再进过负载均衡调度器。
  
  LVS虚拟服务器是针对Linux内核开发的一个负载均衡的项目,LVS是linux系统内核的一部分,默认编译为ip_vs模块,使用管理ipvsadm管理工具。
  LVS的负载调度算法:
  轮询:将收到的访问请求按顺序来分配给群集中的各个节点。
  加权轮询:根据真实服务器的处理能力轮流分配给群集中的各个节点。
  最少连接:根据真是服务器已建立的连接数进行分配。
  加权最少连接:为真是服务器自动调整权重,权重较高的节点承担更大比例的活动连接。
  直接路由LVS-DR部署:
v 配置调度服务器:
  #iptables -F                                    关闭防火墙
  #setenfoece 0
  #modprobe ip_vs                               加载IP_vs模块
  #yum -y install ipvsadm                        安装ipvs管理工具
  #ifconfig eth0:0 1.1.1.100/32                        创建环回虚IP
  #route add -host 1.1.1.100 dev eth0:0               创建虚IP路由
  #service ipvsadm stop                           清楚ipvsadm策略
  #ipvsadm -A -t 1.1.1.100:80 -s rr                   创建虚拟服务器
  #ipvsadm -a -t 1.1.1.100:80 -r 1.1.1.1:80-g-w1    创建ipvsadm策略
  #ipvsadm -a -t 1.1.1.100:80 -r 1.1.1.2:80-g-w1
  #service ipvsadm save                        保存策略
  
  
  
v 配置节点服务器:
  #iptables -F
  #setenforce 0                              关闭防火墙
  #ifconfig lo:0 1.1.1.100/32                  创建虚IP
  #route add -host 1.1.1.100 dev lo:0            创建虚IP路由
  #vim /etc/sysctl.conf                        关闭ARP解析
  修改内容:
  Net.ipv4.conf.all.arp_ignore = 1
  Net.ipv4.conf.all.arp_announce = 2
  Net.ipv4.conf.default.arp_ignore = 1
  Net.ipv4.conf.default.arp_announce = 2
  Net.ipv4.conf.lo.arp_ignore = 1
  Net.ipv4.conf.lo.arp_announce = 2
  #sysctl -p
  #service httpd restart
v 配置节点服务器:
  #iptables -F                              关闭防火墙
  #setenforce 0                                 
  #ifconfig lo:0 1.1.1.100/32                  创建虚IP
  #route add -host 1.1.1.100 dev lo:0         创建虚IP路由
  #vim /etc/sysctl.conf                         关闭ARP解析
  修改内容:
  Net.ipv4.conf.all.arp_ignore = 1
  Net.ipv4.conf.all.arp_announce = 2
  Net.ipv4.conf.default.arp_ignore = 1
  Net.ipv4.conf.default.arp_announce = 2
  Net.ipv4.conf.lo.arp_ignore = 1
  Net.ipv4.conf.lo.arp_announce = 2
  #sysctl -p
  #service httpd restart
  地址转换LVS-NAT部署:
v 配置负载调度器:
  #vim /etc/sysctl.conf
  修改内容:
  Net.ipv4.ip_forword= 1                         打开路由开关
  #sysctl -p
  #iptables -t nat -A POSTROUTING -s 1.1.1.0/24 -o eth0 -j SNAT --to-source 1.1.1.100    NAT转换
  #service ipvsadm stop                           清除ipvsadm策略
  #ipvsadm -A -t 1.1.1.100:80 -s rr                   创建虚拟服务器
  #ipvsadm -a -t 1.1.1.100:80 -r 1.1.1.1:80-m-w1    创建ipvsadm策略
  #ipvsadm -a -t 1.1.1.100:80 -r 1.1.1.2:80-m-w1
  #service ipvsadm save
v 节点服务器只需要开启web服务即可:
  #service httpd restart
ipvsadm命令选项总汇
  -A
  表示添加虚拟服务器
  -t
  表示使用TCP协议
  -s
  表示指定负载调度的算法:轮询(rr),加权轮询(wrr),最少连接(lc),加权最少连接(wlc)
  -a
  表示添加服务器节点
  -r
  表示真实服务器地址
  -m
  表示使用NAT群集模式
  -g
  表示使用DR群集模式
  -i
  表示用TUN群集模式
  -w
  表示权重
  -ln
  查看ipvsadm节点状态
  -C
  表示清楚ipvsadm策略
  -d
  表示删除服务器节点
  创建虚拟服务器命令格式:
  Ipvsadm -A -t 虚拟地址:端口 -s 调度算法
  例:ipvsadm -A -t 1.1.1.100:80 -s rr
  创建ipvsadm策略:
  Ipvsadm -a -t 虚拟地址:端口 -r 真实地址:端口群集模式-w 权重值
  例:ipvsadm -a -t 1.1.1.100:80-r1.1.1.1:80-m-w1
  注:
  永久修改虚IP:
  vim /etc/sysconfig/netwrok-scripts/ifcfg-lo:0
  内容如下:
  DEVICE=lo:0
  ONBOOT=yes
  IPADDR=1.1.1.1
  NETMASK=255.255.255.255
  永久修改路由方法一:
  Vim /etc/rc.local
  添加内容:
  /sbin/route add -host 1.1.1.1 dev lo:0
  永久修改路由方法二:
  Vim /etc/sysconfig/networking/static-route
  添加内容:
  Any -host 1.1.1.1 dev lo:0
  

  思考:
  为什么要节点服务器关闭ARP解析?
  答:当调度服务器和节点服务器使用同一个IP时,访问者发送ARP请求,那么如果是节点服务器响应,那么访问就不会通过调度服务器。



页: [1]
查看完整版本: 44.LVS群集应用