高可用的 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