【●】Keepalived
一、Keepalived热备
1. 概述
Keepalived是Linux下一个轻量级别的高可用解决方案。高可用:广义来讲,是指整个系统的高可用行;狭义的来讲就是主机的冗余和接管。
Keepalived实现了高可用集群。
专门监控各服务器节点的状态。
Keepalived后来加入了VRRP功能,防止单点故障。
2.原理
Keepalived检测每个服务器节点状态
keepalived的工作原理是VRRP(VirtualRouter Redundancy Protocol)虚拟路由冗余协议。
Keepalived 是一种高性能的服务器高可用或热备解决方案, Keepalived 可以用来防止服务器单点故障的发生,通过配合 Nginx 可以实现 web 前端服务的高可用。
3.Keepalived三种功能:
— 高可用配置ip
— 自动配置LVS规则(-A,-a,-e)Keepalived配置将集群写入配置文件中
— 健康检查
二、Keepalived高可用服务器
步骤
步骤一:配置网络环境
1)设置Web1服务器网络参数、配置Web服务(不能照抄网卡名称)
[root@web1 ~]# nmcli connection modify eth0 ipv4.method manual ipv4.addresses 192.168.4.100/24 connection.autoconnect yes
[root@web1 ~]# nmcli connection up eth0
[root@web1 ~]# yum -y install httpd #安装软件
[root@web1 ~]# echo "192.168.4.100" > /var/www/html/index.html #创建网页文件
[root@web1 ~]# systemctl restart httpd #启动服务器
2)设置Web2服务器网络参数、配置Web服务(不能照抄网卡名称)
[root@web2 ~]# nmcli connection modify eth0 ipv4.method manual ipv4.addresses 192.168.4.200/24 connection.autoconnect yes
[root@web2 ~]# nmcli connection up eth0
[root@web2 ~]# yum -y install httpd #安装软件
[root@web2 ~]# echo "192.168.4.200" > /var/www/html/index.html #创建网页文件
[root@web2 ~]# systemctl restart httpd #启动服务器
3)配置proxy主机的网络参数(如果已经设置,可以忽略此步骤)
[root@proxy ~]# nmcli connection modify eth0 ipv4.method manual ipv4.addresses 192.168.4.5/24 connection.autoconnect yes
[root@proxy ~]# nmcli connection up eth0
步骤二:安装Keepalived软件 # 两台Web服务器做相同的操作。
[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 {
router_id web1 #12行,设置路由ID号(实验需要修改)
vrrp_iptables #13行,清除防火墙的拦截规则(实验需要修改,手动添加该行)
}
vrrp_instance VI_1 {
state MASTER #21行,主服务器为MASTER(备服务器需要修改为BACKUP)
interface eth0 #22行,VIP配在哪个网卡(实验需要修改,不能照抄网卡名)
virtual_router_id 51 #23行,主备服务器VRID号必须一致
priority 100 #24行,服务器优先级,优先级高优先获取VIP
advert_int 1
authentication {
auth_type pass
auth_pass 1111
}
virtual_ipaddress { #30~32行,谁是主服务器谁获得该VIP(实验需要修改)
192.168.4.80/24
}
}
2)修改web2服务器Keepalived配置文件
[root@web2 ~]# vim /etc/keepalived/keepalived.conf
global_defs {
router_id web2 #12行,设置路由ID号(实验需要修改)
vrrp_iptables #13行,清除防火墙的拦截规则(实验需要修改,手动添加该行)
}
vrrp_instance VI_1 {
state BACKUP #21行,备服务器为BACKUP(实验需要修改)
interface eth0 #22行,VIP配在哪个网卡(实验需要修改,不能照抄网卡名)
virtual_router_id 51 #23行,主辅VRID号必须一致
priority 50 #24行,服务器优先级(实验需要修改)
advert_int 1
authentication {
auth_type pass
auth_pass 1111
}
virt