centos7 下源码安装keepalived踩坑记

  目录
  
  环境准备
  
  为什么源码安装
  
  源码安装
  
  环境准备
  
  全新最小化安装的centos 7.5
  
  keepalived 1.4.5
  
  vip : 172.16.0.169
  
  为什么源码安装
  
  centos7 自带的 yum安装,keepalived 版本为1.3.5, 这个版本会有一个大坑,导致高可用对应的服务挂掉,如果触发keepalived down
  
  通过 service keepalived status 命令查看运行状态会看到  tcp socket bind failed. rescheduling 这个异常, 通过源码安装无此问题
  
  源码安装
  
  下载安装包并解压
  
  #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
  
  编译安装
  
  编译安装成功后,就会自动生成启停服务
  
  #cd /opt/keepalived-1.4.5
  
  #./configure
  
  #make && make install
  
  创建配置文件
  
  源码安装默认配置文件路径为: /etc/keepalived/keepalived.conf ,不创建这个文件,不能成功启动
  
  #mkdir -p /etc/keepalived
  
  #vim /etc/keepalived/keepalived.conf
  
  配置文件如下:
  
  自行根据注释修改 备实例的配置
  
  注意: 实际配置要把注释内容去掉,否则会产生某些功能失效
  
  ! Configuration File for keepalived
  
  global_defs {
  
  router_id MYSQL-140   #每个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 www.michenggw.com--add-rich-rule='rule protocol value="vrrp" accept' --permanent
  
  #firewall-cmd --reload
  
  设置开机服务
  
  #systemctl enable keepalived
  
  操作keepalived
  
  #service keepalived start
  
  #service keepalived  www.mhylpt.com stop
  
  #service keepalived www.dfgjpt.com/ restart
  
  #service keepalived www.gcyl152.com status
  
  验证结果
  
  首先在主备实例的服务器分别 执行 service keepalived start 开启keepalived
  
  通过ip addr 命令分别查看主备两台机器,只有主示例的服务器可以看到这个vip
  
  在主实例的服务器执行 service keepalived stop 停止keepalived
  
  通过ip addr 命令查看备实例的ip, 会发现可以看到vip的
  
  在主实例的服务器执行 service keepalived start 再次启动keepalived
  
  通过ip addr 命令分别查看主备两台机器,只有主示例的服务器可以看到这个vip

你可能感兴趣的:(centos7 下源码安装keepalived踩坑记)