centos7 下源码安装keepalived踩坑记

转帖请注明来源:https://my.oschina.net/u/2342969/blog/2962442vim

目录

  • 环境准备centos

  • 为何源码安装bash

  • 源码安装

环境准备

  1. 全新最小化安装的centos 7.5
  2. keepalived 1.4.5
  3. vip : 172.16.0.169

为何源码安装

    centos7 自带的 yum安装,keepalived 版本为1.3.5, 这个版本会有一个大坑,致使高可用对应的服务挂掉,若是触发keepalived down服务器

    经过 service keepalived status 命令查看运行状态会看到  tcp socket bind failed. rescheduling 这个异常, 经过源码安装无此问题curl

源码安装

    下载安装包并解压

#cd /opt
#wget http://www.keepalived.org/software/keepalived-1.4.5.tar.gz
#tar -zxvf /opt/keepalived-1.4.5.tar.gz

    安装编译依赖包,不安装依赖包编译不成功

#yum install curl gcc openssl-devel libnl3-devel net-snmp-devel libnfnetlink-devel -y

    编译安装

    编译安装成功后,就会自动生成启停服务socket

#cd /opt/keepalived-1.4.5
#./configure
#make && make install

    建立配置文件

    源码安装默认配置文件路径为: /etc/keepalived/keepalived.conf ,不建立这个文件,不能成功启动tcp

#mkdir -p /etc/keepalived
#vim /etc/keepalived/keepalived.conf

    配置文件以下:url

    自行根据注释修改 备实例的配置centos7

    注意: 实际配置要把注释内容去掉,不然会产生某些功能失效spa

! Configuration File for keepalived
global_defs {
router_id 1   #每一个keepalived取个不一样名称
}

vrrp_instance VI_1 {
state MASTER          # MASTER为主实例,BACKUP 为从实例
interface eth0        # 网卡名称
virtual_router_id 60  # 主备这里要配置为一样的 
priority 100        # 优先级,主要高于备. 通常主配置为100  备配置为80
advert_int 1
nopreempt           # 主动抢占,主备都开启的话,服务器抢占过去后,要等这个服务器keepalived停掉才会漂移到另外一台
authentication {
auth_type PASS      # 主备必须配置成一样的
auth_pass 1111      # 主备必须配置成一样的
}
virtual_ipaddress {
172.16.0.169        # vip,主备必须配置同样
}
}
}
}

    防火墙开启vrrp

keepalived 是基于vrrp作到虚拟ip漂移的,这里不开启的话,主备均会认为对方挂掉了,会形成主备都能获取到虚拟ip(vip)

#firewall-cmd --add-rich-rule='rule protocol value="vrrp" accept' --permanent
#firewall-cmd --reload

    设置开机服务

#systemctl enable keepalived

    操做keepalived

#service keepalived start
#service keepalived stop
#service keepalived restart
#service keepalived status

    验证结果

首先在主备实例的服务器分别 执行 service keepalived start 开启keepalived

  1. 经过ip addr 命令分别查看主备两台机器,只有主示例的服务器能够看到这个vip
  2. 在主实例的服务器执行 service keepalived stop 中止keepalived
  3. 经过ip addr 命令查看备实例的ip, 会发现能够看到vip的
  4. 在主实例的服务器执行 service keepalived start 再次启动keepalived
  5. 经过ip addr 命令分别查看主备两台机器,只有主示例的服务器能够看到这个vip

相关文章
相关标签/搜索