水电工888 发表于 2018-12-30 11:21:22

keepalived+lvs负载均衡

  virtual ip:192.168.0.202
  load balancer:192.168.0.101
  backup:192.168.0.201
  real server1:192.168.0.1
  real server2:192.168.0.2
  load balancer的主备机配置:
  安装:
  yum install ipvsadm kernel-xen-devel openssl-devel -y
  wget http://www.keepalived.org/software/keepalived-1.1.20.tar.gz
  tar xf keepalived-1.1.20.tar.gz
  cd keepalived-*
  ./configure --prefix=/usr/local/keepalived \
  --with-kernel-dir=/usr/src/kernels/2.6.18-164.el5xen.i686/
  make && make install
  注意编译时需看到以下即为OK。
  Use IPVS Framework : Yes
  IPVS sync daemon support : Yes
  Use VRRP Framework : Yes
  配置:
  mkdir /etc/keepalived
  ln -s /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/
  ln -s /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/
  ln -s /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
  ln -s /usr/local/sbin/keepalived /usr/sbin/
  vi /etc/keepalived/keepalived.conf
  =======================================================
  ! Configuration File for keepalived
  global_defs {
  notification_email {
  151000000000@139.com
  }
  notification_email_from root@localhost
  smtp_server 127.0.0.1
  smtp_connect_timeout 30
  router_id LVS_DEVEL
  }
  vrrp_instance VI_1 {
  state MASTER //on backup change this to: BACKUP
  interface eth0
  virtual_router_id 7 //this must keep same with backup
  priority 150 //主机优先级,备机改为50
  advert_int 1 //主备间通告间隔秒数
  authentication { //主备切换时的验证
  auth_type PASS
  auth_pass 1111
  }
  virtual_ipaddress { //HA 的virtual ip,可多个
  192.168.0.202
  }
  }
  virtual_server 192.168.0.202 80 {
  delay_loop 6 //每隔6秒查询real server 状态
  lb_algo rr //lvs 轮叫调度RR
  lb_kind DR //lvs负载均衡机制,直连路由
  persistence_timeout 50 //同一IP的连接50秒内被分配到同一台real server
  protocol TCP //用TCP协议检查real server 状态
  real_server 192.168.0.1 80 {
  weight 1
  TCP_CHECK {
  connect_timeout 3
  nb_get_retry 3 //故障重试秒数
  delay_before_retry 3 //重试延迟
  }
  }
  real_server 192.168.0.2 80 {
  weight 1
  TCP_CHECK {
  connect_timeout 3
  nb_get_retry 3
  delay_before_retry 3
  }
  }
  }
  ========================================================
  real server配置:
  vi /etc/sysctl.conf
  net.ipv4.conf.all.arp_ignore = 1
  net.ipv4.conf.lo.arp_ignore = 1
  net.ipv4.conf.all.arp_announce = 2
  net.ipv4.conf.lo.arp_announce = 2
  sysctl -p
  ifconfig eth0:0 192.168.0.202 netmask 255.255.255.255 up
  route add -host 192.168.0.202 dev eth0:0
  echo `hostname` > /var/www/html/index.html
  /etc/init.d/httpd start
  测试:
  访问http://192.168.0.202 不断刷新看到在两个real server上切换即OK!
  ipvsadm -Lnc 查看详细连接情况.
  原文出处:http://www.xnlinux.cn/thread-1361-1-1.html

页: [1]
查看完整版本: keepalived+lvs负载均衡