目录
什么是keepalived?
keepalived工作原理
部署nginx+keepalived
什么是keepalived?
keepalived是集群管理中保证集群高可用的一个服务,类似于heartbeat,用来防止单节点故障。
keepalived工作原理
keepalived是以VRRP协议为基础实现的。
Virtual Route Redundancy Protocol,即虚拟路由冗余协议,它主要是实现路由器高可用的容错协议,即将N台提供相同功能的路由器组成一个路由器组,这个组里有一个master和多个backup,master上面有一个对外提供服务的vip(该路由器所在局域网内其他机器的默认路由为该vip),master会发组播,当backup收不到vrrp包时就认为master宕掉了,这时就需要根据VRRP的优先级来选举一个backup当master,这样的话就可以保证路由器的高可用了。
。
部署nginx+keepalived
环境准备:
10.3.145.110[ master ]: nginx+keepaived
10.3.145.111[ backup ]: nginx+keepalived
VIP: 10.3.145.112 ( 必须局域网内是没有用过的 IP )
1.每台机器都要部署 nginx 作为web服务
# yum install -y nginx
# systemctl start nginx
2.每台机器都要部署 keepalived 服务
# yum install -y keepalived
# systemctl start keepalived
3.修改keepalived的配置文件
[root@master ~]# vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
router_id director1
}
vrrp_instance VI_1 {
state MASTER #10.3.145.111的keepalived配置文件只需该成 BACKUP
nopreempt
interface ens33 #vip绑定机器的网卡接口
virtual_router_id 90 #VRID 同一组集群,主备一致
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 11112
}
virtual_ipaddress {
10.3.145.109 #vip地址
}
}
4.都重启 keepalived 服务
# systemctl restart keepalived
查看vip是否生效:
# ip a
5.测试:把master的keepalived服务停止,切换到backup查看vip是否漂移
[root@master ~]# systemctl stop keepalived
[root@backup ~]# ip a #查看到VIP,nginx高可用部署成功
keepalived是集群管理中保证集群高可用的一个服务,类似于heartbeat,用来防止单节点故障。
keepalived是以VRRP协议为基础实现的。
Virtual Route Redundancy Protocol,即虚拟路由冗余协议,它主要是实现路由器高可用的容错协议,即将N台提供相同功能的路由器组成一个路由器组,这个组里有一个master和多个backup,master上面有一个对外提供服务的vip(该路由器所在局域网内其他机器的默认路由为该vip),master会发组播,当backup收不到vrrp包时就认为master宕掉了,这时就需要根据VRRP的优先级来选举一个backup当master,这样的话就可以保证路由器的高可用了。
。
部署nginx+keepalived
环境准备:
10.3.145.110[ master ]: nginx+keepaived
10.3.145.111[ backup ]: nginx+keepalived
VIP: 10.3.145.112 ( 必须局域网内是没有用过的 IP )
1.每台机器都要部署 nginx 作为web服务
# yum install -y nginx
# systemctl start nginx
2.每台机器都要部署 keepalived 服务
# yum install -y keepalived
# systemctl start keepalived
3.修改keepalived的配置文件
[root@master ~]# vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
router_id director1
}
vrrp_instance VI_1 {
state MASTER #10.3.145.111的keepalived配置文件只需该成 BACKUP
nopreempt
interface ens33 #vip绑定机器的网卡接口
virtual_router_id 90 #VRID 同一组集群,主备一致
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 11112
}
virtual_ipaddress {
10.3.145.109 #vip地址
}
}
4.都重启 keepalived 服务
# systemctl restart keepalived
查看vip是否生效:
# ip a
5.测试:把master的keepalived服务停止,切换到backup查看vip是否漂移
[root@master ~]# systemctl stop keepalived
[root@backup ~]# ip a #查看到VIP,nginx高可用部署成功
环境准备:
10.3.145.110[ master ]: nginx+keepaived
10.3.145.111[ backup ]: nginx+keepalived
VIP: 10.3.145.112 ( 必须局域网内是没有用过的 IP )



