vivion32 发表于 2018-12-30 07:50:30

LAMP+LVS+KEEPALIVED(四)

  



LAMP+LVS+KEEPALIVED(四)
  

  #keepalived.conf配置说明,BACKUP需要更改state和priority优先级
  #全局配置,主要配置报警邮件地址、snmp监控等等。
  global_defs {
  notification_email {
  root@lvs.local
  }
  notification_email_from Alexandre.Cassen@firewall.loc
  smtp_server 192.168.10.89
  smtp_connect_timeout 30
  router_id LVS_DEVEL
  }
  #vrrp实例配置,主要为主备负载调度器、vip和认证配置
  vrrp_instance VI_1 {
  #MASTER表示主,BACKUP表示为备
  state MASTER
  #在哪一个网络接口监测
  interface eth0
  #vrrp标识,同一个vrrp_instance下,MASTER和BACKUP必需相同
  virtual_router_id 51
  #优先级,数值越大优先级越高
  priority 100
  #MASTER和BACKUP同步检查时间间隔,单位秒
  advert_int 1
  #验证类型和密码
  authentication {
  auth_type PASS
  auth_pass 1111
  }
  #vip配置,可以有多个,一行一个
  virtual_ipaddress {
  192.168.10.88
  }
  }
  #虚拟服务器配置,主要为realserver配置、负载均衡方式、调度算法配置
  virtual_server 192.168.10.88 80{
  #运行情况检查时间间隔,单位秒
  delay_loop 6
  #负载调度算法,rr轮叫调度,wrr加权轮叫,lc最少连接,wlc加权最少连接
  lb_algo rr
  #负载均衡模式,NAT、TUN和DR
  lb_kind DR
  #会话保持时间
  persistence_timeout 3
  #指定转发协议,TCP或者UDP
  protocol TCP
  #RS服务器节点配置
  real_server 192.168.80.40 {
  #权值,数值越大优先级越高
  weight 1
  #RS虚拟服务器检测配置
  TCP_CHECK {
  #3秒无响应超时
  connect_timeout 3
  #重试次数
  nb_get_retry 3
  #重试间隔
  delay_before_retry 3
  #检测端口
  connect_port 80
  }
  }
  real_server 192.168.80 80 {
  #权值
  weight 1
  #检测协议为TCP
  TCP_CHECK {
  #rs节点连接超时时间
  connect_timeout 2
  #连接失败后重试次数
  nb_get_retry 3
  #重试前等待时间
  delay_before_retry 2
  connect_port 80
  }
  }
  real_server 192.168.10.81 80 {
  weight 1
  TCP_CHECK {
  connect_timeout 2
  nb_get_retry 3
  delay_before_retry 2
  connect_port 80
  }
  }
  real_server 192.168.10.82 80 {
  weight 1
  TCP_CHECK {
  connect_timeout 2
  nb_get_retry 3
  delay_before_retry 2
  connect_port 80
  }
  }
  real_server 192.168.10.83 80 {
  weight 1
  TCP_CHECK {
  connect_timeout 2
  nb_get_retry 3
  delay_before_retry 2
  connect_port 80
  }
  }
  real_server 192.168.10.84 80 {
  weight 1
  TCP_CHECK {
  connect_timeout 2
  nb_get_retry 3
  delay_before_retry 2
  connect_port 80
  }
  }
  }
  #图示1
http://s3.运维网.com/wyfs02/M02/6E/0D/wKioL1Vyr8ezK0V1AAKLMybEBlw895.jpg
  #图示2
http://s3.运维网.com/wyfs02/M02/6E/11/wKiom1Vyriiwh8phAAEMVh7qzKc888.jpg


(6)realserver脚本
  #!/bin/sh
  #start realserver
  vip=192.168.10.88
  source /etc/init.d/functions
  case "$1" in
  start)
  echo "start lvs realserver."
  /sbin/ifconfig lo:0 $vip broadcast $vip netmask 255.255.255.255 up
  echo "1">/proc/sys/net/ipv4/conf/lo/arp_ignore
  echo "2">/proc/sys/net/ipv4/conf/lo/arp_announce
  echo "1">/proc/sys/net/ipv4/conf/all/arp_ignore
  echo "2">/proc/sys/net/ipv4/conf/all/arp_announce
  ;;
  stop)
  echo "stop lvs realserver."
  /sbin/ifconfig lo:0 down
  echo "0">/proc/sys/net/ipv4/conf/lo/arp_ignore
  echo "0">/proc/sys/net/ipv4/conf/lo/arp_announce
  echo "0">/proc/sys/net/ipv4/conf/all/arp_ignore
  echo "0">/proc/sys/net/ipv4/conf/all/arp_announce
  ;;
  *)
  echo "usage:$0 {start|stop}"
  exit 1
  esac
  

  #VS/DR和VS/TUN模式下realserver需要使用此脚本设置
http://s3.运维网.com/wyfs02/M00/6E/0D/wKioL1Vyr8jw5HArAAJaZ2vqnPI213.jpg


(7)启动ipvsadm、keepalived和realserver
  #在负载调度器上开启IP转发功能
  sysctl -w net.ipv4.ip_forward=1
  #或者
  echo "1">/proc/sys/net/ipv4/ip_forward
  #在负载调度器上启动ipvsadm
  /sbin/ipvsadm
  #在负载调度器上启动keepalived
  /usr/local/keepalived/sbin/keepalived
  /etc/init.d/keepalived restart
  #在所有服务器节点启动realserver
  ./realserver start
(8)ipvsadm负载均衡测试
  #ipvsadm ln
  #负载调度器也作为一台rs服务器,所有有5台rs
http://s3.运维网.com/wyfs02/M00/6E/11/wKiom1VyriiB1ZycAAE32gKhvoI628.jpg
  #使用不同的客户端来访问192.168.10.88
http://s3.运维网.com/wyfs02/M01/6E/0D/wKioL1Vyr8ig-i6TAAFzka1LhE0675.jpg
http://s3.运维网.com/wyfs02/M02/6E/11/wKiom1Vyrini2G9UAAFXWL2Emdc488.jpg
http://s3.运维网.com/wyfs02/M00/6E/0D/wKioL1Vyr8nRix38AAF5oI704rE588.jpg
http://s3.运维网.com/wyfs02/M01/6E/11/wKiom1VyriqxKFj0AAFfmYlVg60441.jpg
  #将4台rs的httpd服务停止后http://s3.运维网.com/wyfs02/M02/6E/0D/wKioL1Vyr8qheg5gAADisWJW4rc882.jpg
  #keepalived很快就检测到81、82、83和84 TCP连接失败
  #因为89这台主机并没有作为smtp服务器,所以有会SMTP连接失败信息
  #也可以在keepalived.conf配置去除smtp配置,就不会有此类错误信息显示
http://s3.运维网.com/wyfs02/M02/6E/12/wKiom1VyriuzLg1rAAI9pyQ9UWo397.jpg
  #不同IP的客户端访问效果,因为只剩下80这台既是负载调度器又是rs服务器
  #所以客户端全部都被分配到80这台rs服务器
http://s3.运维网.com/wyfs02/M00/6E/0D/wKioL1Vyr8uQVP4FAAF2EQcJGss272.jpg
http://s3.运维网.com/wyfs02/M00/6E/12/wKiom1VyriyTn9ThAAEl4kbqILs323.jpghttp://s3.运维网.com/wyfs02/M00/6E/12/wKiom1VyrizSiWQSAAFUgM2-G5o634.jpg
http://s3.运维网.com/wyfs02/M01/6E/0D/wKioL1Vyr8yw-3czAAFkFoRpE7c283.jpg
  #ipvsadm状态信息,一共有4个客户端,IP分别为10.186、10.77、0.192
  #0.239是通过10.249上网的,所以显示为10.249http://s3.运维网.com/wyfs02/M01/6E/12/wKiom1Vyri2ziB77AAJBp4ysd14534.jpg



页: [1]
查看完整版本: LAMP+LVS+KEEPALIVED(四)