keepalived搭建(本人亲测有效)

目录

1、安装keepalived

 2、查看安装情况

3、修改主配置文件

4、keepalived脚本

5、 测试


抢占模式,其流程如下:

在抢占模式中,keepalived的某台机器挂了之后VIP漂移到了备节点,当主节点恢复后主会将VIP再次抢回,这就是keepalive的抢占模式。keepalived默认工作在抢占模式下。在抢占模式中,主节点的state设为MASTER,备节点的state设为BACKUP,主节点的优先级要比备节点的优先级要高。
抢占模式 取决于优先级,哪个优先级高,谁就是master,和启动顺序无关。

非抢占模式,其流程如下:

两者的state都设为BUAKUP(官网说的),一个节点的优先级要比另一个节点的优先级要高,同时高优先级的节点设置nopreempt参数,该参数表示不抢占vip。这样,当高优先级的节点挂了之后,vip就会漂移到低优先级的节点上,但是当高优先级的节点再次恢复正常后再次起来后不会再抢回vip,因为它加了nopreempt参数。

非抢占模式 取决于启动顺序,哪个先启动,谁就是master,和优先级无关。

1、安装keepalived

yum install -y keepalived

在线安装,安装目录为

/etc/keepalived 

 2、查看安装情况

keepalived -v

 

3、抢占模式修改主配置文件

global_defs {
  router_id YJDL_HA_01 #一般是主机名称,通过hostname获取
}

#定义脚本。固定间隔时间执行
vrrp_script chk_mysql {
 script "killall -0 mysqld" #检测haproxy状态,若无对应进程,则权重降级,备用keepalived启用
 interval 2
 weight -30
 fall 5
 rise 5
}

# 定义主机信息
vrrp_instance VI_1 {
 state MASTER #主机填写MASTER
 interface ens33 #设置实例绑定的网卡
 garp_master_delay 1
 virtual_router_id 10 #虚拟路由器id号。主从必须一致
 priority 100 #定义优先级,数字越大,优先级越高
 advert_int 1 #心跳频率

unicast_src_ip 192.168.253.128 #本机ip
unicast_peer {
 192.168.253.129 #对端ip
 192.168.253.130 #对端ip
}

authentication {
 auth_type PASS
 auth_pass zuanlan1437xi
}
virtual_ipaddress {
 #192.168.112.210 dev ens33 label ens33:0
 192.168.253.219
}

#执行上面定义的脚本
track_script {
 chk_mysql
}
}

4、抢占模式修改从配置文件

global_defs {
  router_id YJDL_HA_01 #一般是主机名称,通过hostname获取
}

#定义脚本。固定间隔时间执行
vrrp_script chk_mysql {
 script "killall -0 mysqld" #检测haproxy状态。若无对应进程,则权重降级,备用keepalived启用
 interval 2
 weight -30
 fall 5
 rise 5
}

# 定义主机信息
vrrp_instance VI_1 {
 state BACKUP #主机填写MASTER
 interface ens33 #设置实例绑定的网卡
 garp_master_delay 1
 virtual_router_id 10 #虚拟路由器id号。主从必须一致
 priority 90 #定义优先级,数字越大,优先级越高
 advert_int 1 #心跳频率

unicast_src_ip 192.168.253.129 #本机ip
unicast_peer {
 192.168.253.128 #对端ip
 192.168.253.130 #对端ip
}

authentication {
 auth_type PASS
 auth_pass zuanlan1437xi
}
virtual_ipaddress {
 #192.168.112.210 dev ens33 label ens33:0
 192.168.253.219
}

#执行上面定义的脚本
track_script {
 chk_mysql
}
}

 5、非抢占模式修改主配置文件

global_defs {
  router_id YJDL_HA_01 #一般是主机名称,通过hostname获取
}

#定义脚本。固定间隔时间执行
vrrp_script chk_mysql {
 script "killall -0 mysqld" #检测haproxy状态,若无对应进程,则权重降级,备用keepalived启用
 interval 2
 weight -30
 fall 5
 rise 5
}

# 定义主机信息
vrrp_instance VI_1 {
 state BACKUP#主机填写BACKUP
 interface ens33 #设置实例绑定的网卡
 nopreempt
 garp_master_delay 1
 virtual_router_id 10 #虚拟路由器id号。主从必须一致
 priority 100 #定义优先级,数字越大,优先级越高
 advert_int 1 #心跳频率

unicast_src_ip 192.168.253.128 #本机ip
unicast_peer {
 192.168.253.129 #对端ip
 192.168.253.130 #对端ip
}

authentication {
 auth_type PASS
 auth_pass zuanlan1437xi
}
virtual_ipaddress {
 #192.168.112.210 dev ens33 label ens33:0
 192.168.253.219
}

#执行上面定义的脚本
track_script {
 chk_mysql
}
}

6、非抢占模式修改从配置文件

global_defs {
  router_id YJDL_HA_01 #一般是主机名称,通过hostname获取
}

#定义脚本。固定间隔时间执行
vrrp_script chk_mysql {
 script "killall -0 mysqld" #检测haproxy状态。若无对应进程,则权重降级,备用keepalived启用
 interval 2
 weight -30
 fall 5
 rise 5
}

# 定义主机信息
vrrp_instance VI_1 {
 state BACKUP #主机填写BACKUP
 interface ens33 #设置实例绑定的网卡
 garp_master_delay 1
 nopreempt
 virtual_router_id 10 #虚拟路由器id号。主从必须一致
 priority 90 #定义优先级,数字越大,优先级越高
 advert_int 1 #心跳频率

unicast_src_ip 192.168.253.129 #本机ip
unicast_peer {
 192.168.253.128 #对端ip
 192.168.253.130 #对端ip
}

authentication {
 auth_type PASS
 auth_pass zuanlan1437xi
}
virtual_ipaddress {
 #192.168.112.210 dev ens33 label ens33:0
 192.168.253.219
}

#执行上面定义的脚本
track_script {
 chk_mysql
}
}

4、keepalived脚本

systemctl start keepalived.service  #启动服务

systemctl stop keepalived.service #关闭服务

systemctl status keepalived.service #服务状态

5、 测试

使用命令

 ip addr

关闭此服务

systemctl stop keepalieved.service

查看备服务器,说明成功切换

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
KeepalivedLinux下的一款高可用性软件,它可以实现在多台服务器之间共享一个虚拟IP地址,当主服务器故障时,自动将虚拟IP地址切换到备用服务器,从而保证服务的高可用性和可靠性。下面是使用Keepalived实现高可用性的简单步骤: 1.安装KeepalivedLinux系统中,可以使用包管理工具apt-get或yum来安装Keepalived。 对于Debian/Ubuntu系统,可以使用以下命令安装: ``` sudo apt-get install keepalived ``` 对于CentOS/RHEL系统,可以使用以下命令安装: ``` sudo yum install keepalived ``` 2.配置Keepalived Keepalived的配置文件位于/etc/keepalived/keepalived.conf中,下面是一个简单的配置文件示例: ``` ! Configuration File for keepalived vrrp_script chk_http_port { script "/etc/keepalived/check_http_port.sh" interval 2 weight 2 } vrrp_instance VI_1 { state MASTER interface eth0 virtual_router_id 51 priority 100 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 192.168.1.100 } track_script { chk_http_port } } ``` 上面的配置文件中,定义了一个名为VI_1的VRRP实例,它使用eth0网卡作为虚拟IP地址的网络接口,虚拟路由器ID为51,优先级为100,认证密码为1111,虚拟IP地址为192.168.1.100。同时,还定义了一个名为chk_http_port的VRRP脚本来检测HTTP端口的状态,并将其添加到VI_1实例的跟踪脚本列表中。 3.启动Keepalived 配置完成后,可以使用以下命令来启动Keepalived: ``` sudo systemctl start keepalived ``` 此时,Keepalived就会开始工作,并自动将虚拟IP地址绑定到主服务器上。 4.测试高可用性 在主服务器上停止HTTP服务,等待几秒钟后,备用服务器就会自动将虚拟IP地址绑定到自己的网卡上,并接管HTTP服务。在此期间,客户端可以通过虚拟IP地址访问HTTP服务,而不用关心当前哪台服务器是主服务器。 以上就是使用Keepalived实现高可用性的简单步骤,当然,在实际应用中还需要根据具体情况进行定制化配置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值