Keepalived高可用服务器
环境准备
主web1: 192.168.4.100
备web2: 192.168.4.200
client: 192.168.4.5
配置环境
web1服务器ip设置为192.168.4.100
安装apache并设置web1默认页面
[root@web1 ~]# yum -y install httpd
[root@web1 ~]# echo "192.168.4.100" > /var/www/html/index.html
[root@web1 ~]# systemctl restart httpd
web2服务器ip设置为192.168.4.200
安装apache并设置web2默认页面
[root@web1 ~]# yum -y install httpd
[root@web1 ~]# echo "192.168.4.200" > /var/www/html/index.html
[root@web1 ~]# systemctl restart httpd
web服务器安装Keepalived软件
[root@web1 ~]# yum install -y keepalived
[root@web2 ~]# yum install -y keepalived
部署Keepalived服务
(1)web1修改keepalived配置文件
[root@web1 ~]# vim /etc/keepalived/keepalived.conf
global_defs {
notification_email {
[email protected] //设置报警收件人邮箱
}
notification_email_from ka@localhost //设置发件人
smtp_server 127.0.0.1 //定义邮件服务器
smtp_connect_timeout 30
router_id web1 //设置路由ID号(实验需要修改)
}
vrrp_instance VI_1 {
state MASTER //主服务器为MASTER(备服务器需要修改为BACKUP)
interface eth0 //定义网络接口
virtual_router_id 51 //主备服务器VRID号必须一致
priority 100 //服务器优先级,优先级高优先获取VIP
advert_int 1
authentication {
auth_type pass
auth_pass 1111 //主备服务器密码必须一致
}
virtual_ipaddress { //谁是主服务器谁获得该VIP(实验需要修改)
192.168.4.80
}
}
(2)web2修改Keepalived配置文件
[root@web2 ~]# vim /etc/keepalived/keepalived.conf
global_defs {
notification_email {
[email protected] //设置报警收件人邮箱
}
notification_email_from ka@localhost //设置发件人
smtp_server 127.0.0.1 //定义邮件服务器
smtp_connect_timeout 30
router_id web2 //设置路由ID号(实验需要修改)
}
vrrp_instance VI_1 {
state BACKUP //备服务器为BACKUP(实验需要修改)
interface eth0 //定义网络接口
virtual_router_id 51 //主辅VRID号必须一致
priority 50 //服务器优先级(实验需要修改)
advert_int 1
authentication {
auth_type pass
auth_pass 1111 //主辅服务器密码必须一致
}
virtual_ipaddress { //谁是主服务器谁配置VIP(实验需要修改)
192.168.4.80
}
}
(3)启动服务
[root@web1 ~]# systemctl start keepalived
[root@web2 ~]# systemctl start keepalived
(4)web1和web2分别配置SElinux和防火墙
[root@web1 ~]# iptables -F
[root@web1 ~]# setenforce 0
[root@web2 ~]# iptables -F
[root@web1 ~]# setenforce 0
测试
1)登录两台Web服务器查看VIP信息
[root@web1 ~]# ip a s eth0
[root@web2 ~]# ip a s eth0
总结:keepalived通过浮动ip实现服务器的高可用。主服务器会定时的向备份服务器发送消息。告诉备份服务器自己还活着。当备份服务器收不到主服务器的消息后,备份服器会认为主服务器坏掉了。这时他就会接管主服务器的工作,获取主服务器的虚拟ip(vip),从而继续工作。