[集群架构]利用keepalived软件,构建一个web集群服务器。
keepalived软件,是一款支持健康检查的类似LVS-DR架构的调度软件。
预先准备环境:
web1:192.168.4.100
web2:192.168.4.150
yum install -y keepalived //安装支持软件包
打开web1配置文件:
vim /etc/keepalived/keepalived.conf //按照如下配置
global_defs { notification_email { } notification_email_from [email protected] smtp_server 192.168.200.1 smtp_connect_timeout 30 router_id web3 //设置路由ID号 vrrp_skip_check_adv_addr vrrp_strict vrrp_garp_interval 0 vrrp_gna_interval 0 } vrrp_instance VI_1 { state BACKUP //设置主备(BACKUP、MASTER) interface eth0 //定义网络接口 virtual_router_id 51 //主备服务器VRID号必须一致 priority 100 //服务器优先级,优先级高优先获取VIP advert_int 1 authentication { auth_type PASS auth_pass 1111 //主备服务器密码必须一致 } virtual_ipaddress { 192.168.4.80 //谁是主服务器谁获得该VIP } } |
打开web2配置文件:
vim /etc/keepalived/keepalived.conf //按照如下配置
global_defs { notification_email { } notification_email_from [email protected] smtp_server 192.168.200.1 smtp_connect_timeout 30 router_id web4 vrrp_skip_check_adv_addr vrrp_strict vrrp_garp_interval 0 vrrp_gna_interval 0 } 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.4.80 } } |
启动服务:
systemctl start keepalived
启动keepalived会自动添加一个drop的防火墙规则,需要使用如下命令清空
iptables -F
keepalived软件使用的另一种方式:keepalived+LVS
参考链接中的LVS-DR模式配置本地环回地址:https://teddyou.com/?id=48
配置一台LVS调度器:
步骤同上,但配置文件修改方法不同。
配置文件参考如下:
! Configuration File for keepalived global_defs { notification_email { } notification_email_from [email protected] smtp_server 192.168.200.1 smtp_connect_timeout 30 router_id LVS_DEVEL vrrp_skip_check_adv_addr vrrp_strict vrrp_garp_interval 0 vrrp_gna_interval 0 } vrrp_instance VI_1 { state MASTER interface eth0 virtual_router_id 50 priority 100 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 192.168.4.15 } } virtual_server 192.168.4.15 80 { delay_loop 6 lb_algo rr lb_kind DR #persistence_timeout 50 protocol TCP } real_server 192.168.4.200 80 { weight 1 TCP_CHECK { connect_timeout 3 nb_get_retry 3 delay_before_retry 3 } } real_server 192.168.4.250 80 { weight 1 TCP_CHECK { connect_timeout 3 nb_get_retry 3 delay_before_retry 3 } } |
[root@proxy1 ~]# systemctl start keepalived [root@proxy1 ~]# ipvsadm -Ln #查看LVS规则 [root@proxy1 ~]# ip a s #查看VIP配置
启动服务清理防火墙规则即可。
注意!有一个东西需要理解。
keepalived只是一个备份的软件,可以自动的转移虚拟IP,使浏览者无法感觉到服务器异常,例如,搭建一个keepalived+Nginx架构的负载均衡,在主的搭建了keepalived 环境的Nginx调度服务器尚未出现问题的时候,从的keepalived 将不会发挥任何作用,但当主的宕机以后,从的服务器就会自动接管IP,实现调度作用。由于客户访问的都是一个IP,所以并不会感受到出现过问题。、
也就是说不论是keepalived+LVS还是keepalived+Nginx都需要把这些服务搭建在一台服务器上。web服务器则只管访问的事情。
发表评论