linux学习

高可用的 web 集群

试验前准备

三台虚拟机,web1、we2、客户端测试机

在 web1、we2 中安装 httpd 服务与 keepalived ,设置开机自启并启动服务

# 安装httpd软件
yum -y install httpd
# 设置开机自启
systemctl enable httpd
# 重启httpd服务
systemctl restart httpd
# 安装keepalived 软件
yum -y install keepalived

配置keepalived

配置web1:

[root@web1 ~]# vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived

global_defs {
   notification_email {
     acassen@firewall.loc
     failover@firewall.loc
     sysadmin@firewall.loc
   }
   notification_email_from Alexandre.Cassen@firewall.loc
   smtp_server 192.168.200.1
   smtp_connect_timeout 30
   router_id web1  # 标识
   vrrp_iptables   # 关闭防火墙
   vrrp_skip_check_adv_addr
   vrrp_strict
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}

vrrp_instance VI_1 {
    state MASTER
    interface eth36
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.2.80
    }
}

# 重启服务:
[root@web1 ~]# systemctl restart keepalived

# 编写网页:
[root@web1 ~]# echo 100 >/var/www/html/index.html

配置web2:

[root@web2 ~]# vim /etc/keepalived/keepalived.conf
   smtp_server 192.168.200.1
   smtp_connect_timeout 30
   router_id web2  # 标识
   vrrp_iptables   # 关闭防火墙 
   vrrp_skip_check_adv_addr
   vrrp_strict
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}

vrrp_instance VI_1 {
    state NACKUP
    interface eth33   # 网络接口
    virtual_router_id 51
    priority 90    # 优先级
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.2.80
    }
}

# 重启服务:
[root@web2 ~]# systemctl restart keepalived

# 编写网页:
[root@web2 ~]# echo 200 >/var/www/html/index.html

测试是否可以访问:

[root@ceshi ~]# curl 192.168.2.80
100

测试高可用性

# 关闭keepalived
[root@we1 ~]# systemctl restart keepalived
# 在测试机中访问服务
[root@ceshi ~]# curl 192.168.2.80
200

留言

您的邮箱地址不会被公开。 必填项已用 * 标注