本文主要是介绍keepalived简说,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
keepalived是一款实现高可用的服务。
首先是安装最简单的就是:yum install keepalived -y
rpm -qa keepalived
systemctl enable keepalived
本质上keepalived是通过IP漂移实现高可用的,就是一个虚拟的IP,从坏的机器会飘到好的机器上去。从而实现服务正常运行。他们互相发送心跳包,当从的收不到主的包则变主了。
keepalived 脑裂问题:
由于某种原因双方心跳消失,都成为了master,当用户写入数据时就会报出分入到两端导致数据不一致。
可能原因iptables把心跳这条路堵死了
线路出现了问题。
接下来就是配置文件
下方是双主文件,5这台机器是10.0.0.3这个ip是主,6这台机器是10.0.0.4这个IP是主,主备主要是看priority 150大小,大就是mater,当然最大254
10.0.0.5主机
global_defs{
router_id lb01
}
vrrp_instance_VI_1 {
state MASTER
interface eth0
virtual_route_id 51
priority 150
adver_int 50
authentication {auth_type PASSauth_pass 1111
}
virtual_ipaddress {10.0.0.3/24 dev eth0 label eth0:3}
}
vrrp_instance_VI_2 {
state MASTER
interface eth0
virtual_route_id 52
priority 100
adver_int 50
authentication {auth_type PASSauth_pass 1111
}
virtual_ipaddress {10.0.0.4/24 dev eth0 label eth0:4}
}
10.0.0.6
global_defs{
router_id lb02 唯一表示
}
vrrp_instance_VI_1 {
state MASTER #就是摆设
interface eth0 #使用网卡
virtual_route_id 51 #
priority 100 #优先级才是阿爸爸,谁大谁是主。可以双主,就是写两个变量
adver_int 50 #同步通知的时间间隔
authentication {auth_type PASS #认证类型auth_pass 1111#认证密码
}
virtual_ipaddress {10.0.0.3/24 dev eth0 label eth0:3 #将虚拟网卡健在那块网卡上}
}
vrrp_instance_VI_2 {
state MASTER
interface eth0
virtual_route_id 52
priority 150
adver_int 50
authentication {auth_type PASSauth_pass 1111
}
virtual_ipaddress {10.0.0.4/24 dev eth0 label eth0:4}
}
nginx配置:
http{upstream net_pool {server 10.0.0.7:80;server 10.0.0.8:80;}server { #网站设置listen 10.0.0.3:80;server_name www.blog.com; #服务域名主机名location / {proxy_pass https://net_pool;proxy_set_header Host $host;}}
}
以上是keepalived配合nginx使用的案例。
如果master坏了就会跳转到slave。10.0.0.5 -6 是keepalived主备,7 8是web,各位需要实现则不需要配置双主,只要配置10.0.0.3就可以了
请各位大佬指教。
这篇关于keepalived简说的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!