Keepalived概述:
- Keepalived实现了高可用集群
- Keepalived最初是为了LVS设计的,专门监控各服务器节点状态
- Keepalived新增加了VRRP功能,防止单点故障[root@web1 ~]# ip addr show
Keepalived运行原理:
- Keepalived检测每个服务器节点状态
- 服务器节点异常或者工作出现故障,Keepalived将故障节点从集群系统中剔除
- 故障节点恢复后,Keepalived再将其加入到集群系统中
- 所有工作自动完成,无需人工干预
好吧,废话不多说,还是把配置文件给解释一下吧:
配置文件信息
! 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 127.0.0.1 #定义邮件服务器
smtp_connect_timeout 30
router_id web2 #设置路由器ID号,实验的时候需要修改
vrrp_skip_check_adv_addr
vrrp_strict
vrrp_garp_interval 0
vrrp_gna_interval 0
}
vrrp_instance VI_1 {
state BACKUP #主服务器为MASTER (如果是备用服务器可以修改为:BACKUP)
interface eth0 #定义网络接口
virtual_router_id 51#主备服务器VRID号必须一致
priority 100 #服务器优先级,优先级个高先获取VIP(虚拟IP)实验时需要修改
advert_int 1
authentication {
auth_type PASS
auth_pass 1111 #主备服务器密码必须一致
}
virtual_ipaddress {
192.168.4.80 #谁是主服务器谁获取该VIP,实验时需要修改
}
}
修改完之后,重启服务的时候,需要:keepalived会自动添加一个drop的防火墙规则,需要晴空
#重启服务
[root@web1 ~]# systemctl start keepalived
#清空防火墙规则
[root@web1 ~]# iptables -F
[root@web1 ~]# setenforce 0
#测试两台web服务器VIP信息
[root@web1 ~]# ip addr show
#客户端访问
#客户端使用curl命令连接http://192.168.4.80,查看Web页面;关闭Web1服务器的网卡,客户端再次访问http://192.168.4.80,验证是否可以正常访问服务。