jxp2002 发表于 2019-1-1 06:17:21

Cent OS上安装配置LVS(DR方式)+keepalived,实现负载均衡和双机热备

  今天抽时间吧这个实验整理了一下。

  实验环境:
  LVS+keepalived:172.16.11.2;172.16.11.3, vip: 172.16.11.8
  后台web Server:172.16.11.6,;172.16.11.7
  

  安装部分:
  LVS的安装
使用wget下载ipvsadm。我使用的是:

   # wget http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.24-5.src.rpm
    下载后安装,因为是rpm源码,先使用rpm安装:
   # rpm -ivh ipvsadm-1.24-5.src.rpm
    再把安装后的tar压缩包拷贝到src目录中。
   #cp /usr/src/redhat/SOURCES/ipvsadm-1.24.tar.gz/usr/local/src/
   #创建软链接
   # ln -s /usr/src/kernels/2.6.18-194.el5-x86_64/ /usr/src/linux
   最后就安装吧
    #make && make install
  keepalived安装:
  使用wget下载ipvsadm。我使用的是:
  http://www.keepalived.org/software/keepalived-1.2.7.tar.gz
  安装:
  #tar -zxvf keepalived-1.2.7.tar.gz
  #cd keepalived-1.2.7
  #yum install -y openssl-*.X86_64 openssl-devle
  #./configure --prefix=/usr/local/keepalived
  #make && make install
   #cp /usr/local/etc/rc.d//init.d/keepalived /etc/init.d/
      #cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/
    #mkdir /etc/keepalived
    #cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/
    #cp /usr/local/sbin/keepalived /usr/sbin/
    启动keepaived。
    #service keepalive start
编辑keepalived.conf配置文件:
  # cat /etc/keepalived/keepalived.conf   #另外一台lvs配置类似。
  ! Configuration File for keepalived
  

  global_defs {
  notification_email {
  swen.zhao@163.com
  

  }
  notification_email_from swen.zhao@163.com
  smtp_server smtp.163.com
  smtp_connect_timeout 30
  router_id LVS_DEVEL
  }
  

  vrrp_instance keepalived_1 {
  state MASTER             #另外一台lvs是BACKUP
  interface eth0         #注意网卡接口
  virtual_router_id 61    #另外一台也是61.不同就表示不是同一组双机。
  priority 100             #另外一个优先级是99.数学越大越优先。
  advert_int 1
  authentication {
  auth_type PASS       #两个keepalived之间验证方式。
  auth_pass password   #验证密码。
  }
  virtual_ipaddress {
  172.16.11.8         #vip
  }
  }
  

  virtual_server 172.16.11.8 80 {
  delay_loop 6
  lb_algo wrr             #访问后台web服务区的方式
  lb_kind DR            #lvs部署方式
  persistence_timeout 50
  protocol TCP
  inhibit_on_failure
  real_server 172.16.11.6 80 {#定义后台web服务区
  weight 1
  TCP_CHECK {
  connect_timeout 3
  nb_get_retry 3
  delay_before_retry 3
  connect_port 80
  }
  }
  

  real_server 172.16.11.7 80 {   #定义后台web服务区
  weight 1
  TCP_CHECK {
  connect_timeout 3
  nb_get_retry 3
  delay_before_retry 3
  connect_port 80
  }
  }
  }


后台web服务器配置:
A,更改/etc/sysctl.conf配置文件中的参数。
# vi /etc/sysctl.conf
   在最后添加如下内容:
   net.ipv4.ip_forward = 0
   net.ipv4.conf.lo.arp_ignore = 1
   net.ipv4.conf.lo.arp_announce = 2
   net.ipv4.conf.all.arp_ignore = 1
   net.ipv4.conf.all.arp_announce = 2
   执行下面命令让参数生效:
   # sysctl -p
B,在Loopback网卡上添加子接口,并分配IP地址。
# ifconfig lo:0 172.16.11.8 netmask 255.255.255.255 broadcast 172.16.11.8 up
   添加路由条目:
   #route add -host 172.16.11.8 dev lo:0


在客户端访问LVS的VIP的80端口,查看访问结果。在LVS01上查看80请求分配情况:
  

  配置完成后,在两个lvs上重新启动keepalived服务。并查看log。
  # service keepalived restart

  #tail /var/log/messages
  Aug2 23:26:55 LVS01 Keepalived_healthcheckers: Opening file '/etc/keepalived/keepalived.conf'.
  Aug2 23:26:55 LVS01 Keepalived_healthcheckers: Configuration is using : 14214 Bytes
  Aug2 23:26:55 LVS01 Keepalived_healthcheckers: Using LinkWatch kernel netlink reflector...
  Aug2 23:26:55 LVS01 Keepalived_healthcheckers: Activating healthchecker for service :80
  Aug2 23:26:55 LVS01 Keepalived_healthcheckers: Activating healthchecker for service :80
  

  Aug2 23:26:55 LVS01 Keepalived_vrrp: VRRP sockpool:
  Aug2 23:26:56 LVS01 Keepalived_vrrp: VRRP_Instance(keepalived_1) Transition to MASTER STATE
  Aug2 23:26:57 LVS01 Keepalived_vrrp: VRRP_Instance(keepalived_1) Entering MASTER STATE
  Aug2 23:26:57 LVS01 Keepalived_vrrp: VRRP_Instance(keepalived_1) setting protocol VIPs.
  Aug2 23:26:57 LVS01 Keepalived_healthcheckers: Netlink reflector reports IP 172.16.11.8 added
  Aug2 23:26:57 LVS01 avahi-daemon: Registering new address record for 172.16.11.8 on eth0.
  Aug2 23:26:57 LVS01 Keepalived_vrrp: VRRP_Instance(keepalived_1) Sending gratuitous ARPs on eth0 for 172.16.11.8
  Aug2 23:26:57 LVS01 Keepalived_vrrp: Netlink reflector reports IP 172.16.11.8 added
  Aug2 23:27:02 LVS01 Keepalived_vrrp: VRRP_Instance(keepalived_1) Sending gratuitous ARPs on eth0 for 172.16.11.8
  




页: [1]
查看完整版本: Cent OS上安装配置LVS(DR方式)+keepalived,实现负载均衡和双机热备