| 在172.16.28.130 和172.16.28.131 上安装ipvs和keepalived: # 安装ipvs sudo yum install ipvsadm # 安装keepalived sudo yum install keepalived 
 在172.16.28.132 和172.16.28.133 上安装nginx: # 安装nginx sudo yum install nginx 
 需要注意的是,在两台nginx服务器上需要将防火墙关闭,否则lvs+keepalived的两台机器就无法将请求发送到两台nginx服务器上来: # 关闭防火墙 systemctl disable firewalld.service 
 查看两台负载均衡机器是否支持lvs: sudo lsmod |grep ip_vs # 如果看到如下结果,则说明是支持的 [zhangxufeng@localhost ~]$ sudo lsmod|grep ip_vs ip_vs 145497 0 nf_conntrack 137239 1 ip_vs libcrc32c 12644 3 xfs,ip_vs,nf_conntrack 
 如果上述命令没有任何结果,则执行sudo ipvsadm  命令启动ipvs之后,再通过上述命令进行查看即可。启动ipvs之后,我们就可以在/etc/keepalived/ 目录下编辑keepalived.conf  文件,我们以172.16.28.130 机器作为master机器,master节点配置如下: # Global Configuration global_defs {  lvs_id director1 # 指定lvs的id } # VRRP Configuration vrrp_instance LVS {  state MASTER   # 指定当前节点为master节点  interface ens33    # 这里的ens33是网卡的名称,通过ifconfig或者ip addr可以查看  virtual_router_id 51   # 这里指定的是虚拟路由id,master节点和backup节点需要指定一样的  priority 151   # 指定了当前节点的优先级,数值越大优先级越高,master节点要高于backup节点  advert_int 1   # 指定发送VRRP通告的间隔,单位是秒  authentication {  auth_type PASS # 鉴权,默认通过  auth_pass 123456   # 鉴权访问密码  }  virtual_ipaddress {  172.16.28.120  # 指定了虚拟ip  } } # Virtual Server Configuration - for www server # 后台真实主机的配置 virtual_server 172.16.28.120 80 {  delay_loop 1   # 健康检查的时间间隔  lb_algo rr # 负载均衡策略,这里是轮询  lb_kind DR # 调度器类型,这里是DR  persistence_time 1 # 指定了持续将请求打到同一台真实主机的时间长度  protocol TCP   # 指定了访问后台真实主机的协议类型  # Real Server 1 configuration  # 指定了真实主机1的ip和端口  real_server 172.16.28.132 80 {  weight 1   # 指定了当前主机的权重  TCP_CHECK {  connection_timeout 10  # 指定了进行心跳检查的超时时间  nb_get_retry 3 # 指定了心跳超时之后的重复次数  delay_before_retry 3   # 指定了在尝试之前延迟多长时间  }  }  # Real Server 2 Configuration  real_server 172.16.28.133 80 {  weight 1   # 指定了当前主机的权重  TCP_CHECK {  connection_timeout 10  # 指定了进行心跳检查的超时时间  nb_get_retry 3 # 指定了心跳超时之后的重复次数  delay_before_retry 3   # 指定了在尝试之前延迟多长时间  }  } } 
 上面是master节点上keepalived的配置,对于backup节点,其配置与master几乎是一致的,只是其state和priority参数不同。如下是backup节点的完整配置: # Global Configuration global_defs {  lvs_id director2 # 指定lvs的id } # VRRP Configuration vrrp_instance LVS {  state BACKUP   # 指定当前节点为master节点  interface ens33    # 这里的ens33是网卡的名称,通过ifconfig或者ip addr可以查看  virtual_router_id 51   # 这里指定的是虚拟路由id,master节点和backup节点需要指定一样的  priority 150   # 指定了当前节点的优先级,数值越大优先级越高,master节点要高于backup节点  advert_int 1   # 指定发送VRRP通告的间隔,单位是秒  authentication {  auth_type PASS # 鉴权,默认通过  auth_pass 123456   # 鉴权访问密码  }  virtual_ipaddress {  172.16.28.120  # 指定了虚拟ip  } } # Virtual Server Configuration - for www server # 后台真实主机的配置 virtual_server 172.16.28.120 80 {  delay_loop 1   # 健康检查的时间间隔  lb_algo rr # 负载均衡策略,这里是轮询  lb_kind DR # 调度器类型,这里是DR  persistence_time 1 # 指定了持续将请求打到同一台真实主机的时间长度  protocol TCP   # 指定了访问后台真实主机的协议类型  # Real Server 1 configuration  # 指定了真实主机1的ip和端口  real_server 172.16.28.132 80 {  weight 1   # 指定了当前主机的权重  TCP_CHECK {  connection_timeout 10  # 指定了进行心跳检查的超时时间  nb_get_retry 3 # 指定了心跳超时之后的重复次数  delay_before_retry 3   # 指定了在尝试之前延迟多长时间  }  }  # Real Server 2 Configuration  real_server 172.16.28.133 80 {  weight 1   # 指定了当前主机的权重  TCP_CHECK {  connection_timeout 10  # 指定了进行心跳检查的超时时间  nb_get_retry 3 # 指定了心跳超时之后的重复次数  delay_before_retry 3   # 指定了在尝试之前延迟多长时间  }  } } 
 将master和backup配置成完全一样的原因是,在master宕机时,可以根据backup的配置进行服务的无缝切换。 (编辑:源码网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |