双主机高可用部署

1.部署架构:两台keepalived同时作为Master,两台Web服务器提供Web服务
2.原理:两台keepalived服务器中,一台服务器有两个vrrp实例,一个实例为master指向一个虚拟地址A,一个实例为slave指向另一个虚拟地址B,另一台keepalived服务器也有两个vrrp实例,一个实例为master指向一个虚拟地址B,一个实例为slave指向另一个虚拟地址A,达到双主机的效果,同时利用LVS高扩展,建立服务器集群,实现高可用高扩展的功能。
3.部署实施:
3.1 四台服务器分别配置防火墙、selinux、网卡、hostname【根据环境需求配置】
3.2 配置web服务:
3.2.1 keepalived安装httpd是为了当所有web服务器都宕掉,可以让自己为客户提供服务信息:



3.2.2: web安装nginx可以参考此链接:
Centos安装nginx
3.3 配置keepalived服务器
3.3.1 给master和slave安装keepalived软件:



3.3.2 配置keepalived配置文件:





######################################## Master ########################################################
 ! Configuration File for keepalived 

 global_defs {
   router_id kpmaster
 } 

 vrrp_instance VI_1 {
   state MASTER
   interface eth0
   virtual_router_id 51
   priority 100
   virtual_ipaddress {
     192.168.1.100 dev eth0 label eth0:0
   }
 } 

 vrrp_instance VI_2 {
   state BACKUP
   interface eth0
   virtual_router_id 52
   priority 50
   virtual_ipaddress {
     192.168.1.200 dev eth0 label eth0:1
   }
 } 

 virtual_server 192.168.1.100 80 {
   delay_loop 2
   lb_algo rr
   lb_kind DR
   protocol TCP
   sorry_server 127.0.0.1 80
   real_server 192.168.1.28 80 {
   TCP_CHECK {
   connect_timeout 3
   }
   }
   real_server 192.168.1.29 80 {
     TCP_CHECK {
     connect_timeout 3
     }
   }
 } 

 virtual_server 192.168.1.200 80 {
   delay_loop 2
   lb_algo rr
   lb_kind DR
   protocol TCP
   sorry_server 127.0.0.1 80
   real_server 192.168.1.28 80 {
      TCP_CHECK {
      connect_timeout 3
     }
   }  

   real_server 192.168.1.29 80 {
     TCP_CHECK {
     connect_timeout 3
     }
   }
  }
######################################## Master ########################################################

######################################## Slave ########################################################
 ! Configuration File for keepalived 

 global_defs {
     router_id kpslave
 } 

 vrrp_instance VI_1 {
   state BACKUP
   interface eth0
   virtual_router_id 51
   priority 50
   virtual_ipaddress {
     192.168.1.100 dev eth0 label eth0:0
   }
 } 

 vrrp_instance VI_2 {
   state MASTER
   interface eth0
   virtual_router_id 52
   priority 100
   virtual_ipaddress {
     192.168.1.200 dev eth0 label eth0:1
   }
 } 

 virtual_server 192.168.1.100 80 {
   delay_loop 2
   lb_algo rr
   lb_kind DR
   protocol TCP
   sorry_server 127.0.0.1 80
   real_server 192.168.1.28 80 {
   TCP_CHECK {
   connect_timeout 3
   }
   }
   real_server 192.168.1.29 80 {
     TCP_CHECK {
     connect_timeout 3
   }
   }
 } 

 virtual_server 192.168.1.200 80 {
   delay_loop 2
   lb_algo rr
   lb_kind DR
   protocol TCP
   sorry_server 127.0.0.1 80
   real_server 192.168.1.28 80 {
     TCP_CHECK {
     connect_timeout 3
   }
   }  

   real_server 192.168.1.29 80 {
     TCP_CHECK {
     connect_timeout 3
   }
   }
 }

######################################## Slave ########################################################

 3.4 配置web主机:
 3.4.1 配置ARP抑制:



 3.4.2 web服务器添加虚拟地址口:



 3.5 运行
 3.5.1 开启keepalived服务:systemclt start keepalived
 3.5.2 检查两台主机网卡运行情况:可以看到根据配置各自作为对应虚拟ip的Master





 3.5.3 检查LVS规则运行情况:



 3.5.4 客户端测试: