yaomint 发表于 2019-1-3 13:49:02

lvs主主互备

  项目名称:lvs双主负载均衡
  项目描述:lvs双主负载web为CDN客户提供访问
  项目技术:lvs双主负载Nginx
  

  lvs+keepalived
  192.168.110.130
  vip1:192.168.110.140
  lvs+keepalived
  192.168.110.131
  vip2:192.168.110.141
  

  Nginx1
  192.168.110.132
  vip1:192.168.110.140
  vip2:192.168.110.141
  Nginx2
  192.168.110.133
  vip1:192.168.110.140
  vip2:192.168.110.141
  

  lvs上安装keepalived和ipvsadm
  #!/bin/bash
  

  #判断执行结果
  judge() {
  if [ $? -eq 0 ];then
  echo "successfully...."
  else
  echo "filed...."
  exit
  fi
  }
  #http://www.linuxvirtualserver.org/software/kernel-2.6
  #http://www.keepalived.org/software
  

  echo "环境安装"
  yum -y install gcc openssl openssl-devel popt popt-devel net-snmpnet-snmp-devel libnl* &>> /dev/null
  judge
  

  echo "安装ipvsadm"
  cd /usr/local/src
  yum -y install ipvsadm &>> /dev/null
  judge
  

  echo "下载并安装keepalived"
  wget http://www.keepalived.org/software/keepalived-1.2.7.tar.gz &>> /dev/null
  tar -zxf keepalived-1.2.7.tar.gz
  cd keepalived-1.2.7
  echo "执行configure"
  ./configure --prefix=/usr/local/keepalived --enable-snmp --sysconfdir=/etc &>> configure-`date +%F`.log
  judge
  echo "执行make"
  make &>> make-`date +%F`.log
  judge
  echo "执行make install"
  make install &>> make_install-`date +%F`.log
  judge
  

  rm -rf configure-`date +%F`.log make-`date +%F`.log make_install-`date +%F`.log
  cp /usr/local/keepalived/sbin/keepalived/sbin/
  cp /usr/local/keepalived/bin/genhash /bin/
  

  webserver上配置VIP
  #!/bin/bash
  #description:start realserver
  #script_name:realserver_config
  

  VIP1="192.168.110.140"   #虚拟IP
  VIP2="192.168.110.141"   #虚拟IP
  

  source /etc/init.d/functions
  

  case "$1" in
  start)
  echo "start LVS of realserver."
  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
  /sbin/ifconfig lo:0 $VIP1 broadcast $VIP1 netmask 255.255.255.255 up
  /sbin/ifconfig lo:1 $VIP2 broadcast $VIP2 netmask 255.255.255.255 up
  ;;
  stop)
  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
  /sbin/ifconfig lo:0 down
  /sbin/ifconfig lo:1 down
  ;;
  *)
  echo "Usage: $0 {start|stop}"
  exit 1
  esac
  

  lvs1配置keepalived
  global_defs {
  notification_email {
  guotao@163.com
  }
  notification_email_from guotao@163.com
  smtp_server guotao@163.com
  smtp_connect_timeout 30
  router_id LVS_DEVEL
  }
  vrrp_instance VI_1 {
  state MASTER
  interface eth0
  virtual_router_id 51
  priority 100
  advert_int 1
  authentication {
  auth_type PASS
  auth_pass 1111
  }
  virtual_ipaddress {
  192.168.110.140
  }
  }
  virtual_server 192.168.110.140 80 {
  delay_loop 6
  lb_algo wrr
  lb_kind DR
  #   nat_mask 255.255.255.0
  #   persistence_timeout 50
  protocol TCP
  real_server 192.168.110.132 80 {#real server上80端口
  weight 5
  TCP_CHECK {
  connect_timeout 3
  nb_get_retry 3
  delay_before_retry 3
  connect_port 80
  }
  }
  real_server 192.168.110.133 80 {
  weight 3
  TCP_CHECK {
  connect_timeout 3
  nb_get_retry 3
  delay_before_retry 3
  connect_port 80
  }
  }
  }
  vrrp_instance VI_2 {
  state BACKUP
  interface eth0
  virtual_router_id 52
  priority 90
  advert_int 1
  authentication {
  auth_type PASS
  auth_pass 1111
  }
  virtual_ipaddress {
  192.168.110.141
  }
  }
  virtual_server 192.168.110.141 80 {
  delay_loop 6
  lb_algo wrr
  lb_kind DR
  #   nat_mask 255.255.255.0
  #   persistence_timeout 50
  protocol TCP
  real_server 192.168.110.132 80 {#real server上80端口
  weight 5
  TCP_CHECK {
  connect_timeout 3
  nb_get_retry 3
  delay_before_retry 3
  connect_port 80
  }
  }
  real_server 192.168.110.133 80 {
  weight 3
  TCP_CHECK {
  connect_timeout 3
  nb_get_retry 3
  delay_before_retry 3
  connect_port 80
  }
  }
  }
  

  lvs2配置keepalived
  global_defs {
  notification_email {
  guotao@163.com
  }
  notification_email_from guotao@163.com
  smtp_server guotao@163.com
  smtp_connect_timeout 30
  router_id LVS_DEVEL
  }
  vrrp_instance VI_1 {
  state BACKUP
  interface eth0
  virtual_router_id 51
  priority 90
  advert_int 1
  authentication {
  auth_type PASS
  auth_pass 1111
  }
  virtual_ipaddress {
  192.168.110.140
  }
  }
  virtual_server 192.168.110.140 80 {
  delay_loop 6
  lb_algo wrr
  lb_kind DR
  #   nat_mask 255.255.255.0
  #   persistence_timeout 50
  protocol TCP
  real_server 192.168.110.132 80 {#real server上80端口
  weight 5
  TCP_CHECK {
  connect_timeout 3
  nb_get_retry 3
  delay_before_retry 3
  connect_port 80
  }
  }
  real_server 192.168.110.133 80 {
  weight 3
  TCP_CHECK {
  connect_timeout 3
  nb_get_retry 3
  delay_before_retry 3
  connect_port 80
  }
  }
  }
  vrrp_instance VI_2 {
  state MASTER
  interface eth0
  virtual_router_id 52
  priority 100
  advert_int 1
  authentication {
  auth_type PASS
  auth_pass 1111
  }
  virtual_ipaddress {
  192.168.110.141
  }
  }
  virtual_server 192.168.110.141 80 {
  delay_loop 6
  lb_algo wrr
  lb_kind DR
  #   nat_mask 255.255.255.0
  #   persistence_timeout 50
  protocol TCP
  real_server 192.168.110.132 80 {#real server上80端口
  weight 5
  TCP_CHECK {
  connect_timeout 3
  nb_get_retry 3
  delay_before_retry 3
  connect_port 80
  }
  }
  real_server 192.168.110.133 80 {
  weight 3
  TCP_CHECK {
  connect_timeout 3
  nb_get_retry 3
  delay_before_retry 3
  connect_port 80
  }
  }
  }
  




页: [1]
查看完整版本: lvs主主互备