keepalive实现双机热备

首先准备两台服务器,我这里的两台服务器的ip分别是192.168.1.2和192.168.1.3

安装keepalived(两台都要装)

yum install keepalived

修改配置文件

修改配置文件前先找到网卡的信息,记录网卡名称
cd /etc/sysconfig/network-scripts/
在文件夹中找到网卡名称
删除掉/etc/keepalived/keepalived.conf,然后重新创建一个/etc/keepalived/keepalived.conf:
vim /etc/keepalived/keepalived.conf
1.2这台服务器的内容如下:
! 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 localhost
smtp_connect_timeout 30
router_id z11
vrrp_skip_check_adv_addr
vrrp_strict
vrrp_garp_interval 0
vrrp_gna_interval 0
}

vrrp_instance VI_1 {
state BACKUP
interface em1
mcast_src_ip 192.168.1.2
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.1.4
}
}
1.3的配置文件如下:
! 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 localhost
smtp_connect_timeout 30
router_id z12
vrrp_skip_check_adv_addr
vrrp_strict
vrrp_garp_interval 0
vrrp_gna_interval 0
}

vrrp_instance VI_1 {
state BACKUP
interface em1
virtual_router_id 51
mcast_src_ip 192.168.1.3
priority 90
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.1.4
}
}

修改好配置文件之后,重启两台机器的keepalived

systemctl restart keepalived

需要防火墙开启vrrp协议

firewall-cmd --direct --permanent --add-rule ipv4 filter INPUT 0 --in-interface em1 --destination 224.0.0.18 --protocol vrrp -j ACCEPT
firewall-cmd --reload

开机自启

systemctl enable keepalived.service

配置参数说明

vrrp_script chk_nginx这里是一个执行脚本,定时2S执行一次,这里的演示我没有创建这个脚本,所以它不会执行,也就是这句不会生效了。因此你如果不需要脚本的时候,可以把这句连同track_script 这句一起去掉。留着也不会有什么影响。
state BACKUP 表示这两个服务器都是备用服务器。
interface enp4s0 表示当前使用的网卡,通过ifconfig可以查看到,这我用的是enp4s0。
virtual_router_id 100 这个是个分组标记,在一个网内,所有的virtual_router_id为100的服务器自动分到一个组里面,由于这里面我把两台服务器的status都设置成为了BACKUP,那么这两台服务器就会利用priority这个值来决定谁是主服务器,谁是备用服务器,高的那个会抢占当前的vip,也就是它就会变成主服务器。
mcast_src_ip 填写你当前机器的真实ip即可
advert_int 1 没有仔细研究,应该是两台服务器之间的心跳间隔
authentication 就用默认的就可以了。
track_script 和vrrp_script chk_nginx 配合使用的。
virtual_ipaddress 两台机器共有的vip,注意,要和两台服务器在一个网关里面。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值