实验环境:centos7

节点1:10.15.192.21

节点2:10.15.192.22

vip地址:10.15.192.23

1、下载文件

cd /usr/local/src
wget https://www.keepalived.org/software/keepalived-2.0.19.tar.gz
# 官网地址 https://www.keepalived.org/download.html

2、解压文件

tar xzf keepalived-2.0.19.tar.gz
cd keepalived-2.0.19

3、安装依赖

yum -y install libnl libnl-devel openssl-devel

4、初始化配置

cd keepalived-2.0.19/
./configure --prefix=/usr/local/keepalived

5、编译安装

make && make install

6、配置

mkdir /etc/keepalived
cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/
cp /usr/local/keepalived/sbin/keepalived /etc/init.d/

节点1配置文件如下,注意两个节点mcast_src_ip 和 priority 值

cat keepalived.conf
! Configuration File for keepalived global_defs {
router_id hf-ayd-web-balance-01
script_user root
enable_script_security
} vrrp_script chk_nginx {
script "/etc/keepalived/nginx_check.sh"
interval 2
weight -20
} vrrp_instance VI_1 {
state BACKUP
interface eth0
virtual_router_id 151
mcast_src_ip 10.15.192.21
priority 100
advert_int 1
nopreempt authentication {
auth_type PASS
auth_pass 1111
} virtual_ipaddress {
10.15.192.23
} track_script {
chk_nginx
}
}

节点2配置文件如下

cat keepalived.conf
! Configuration File for keepalived global_defs {
router_id hf-ayd-web-balance-02
script_user root
enable_script_security
} vrrp_script chk_nginx {
script "/etc/keepalived/nginx_check.sh"
interval 2
weight -20
} vrrp_instance VI_1 {
state BACKUP
interface eth0
virtual_router_id 151
mcast_src_ip 10.15.192.22
priority 90
advert_int 1
nopreempt authentication {
auth_type PASS
auth_pass 1111
} virtual_ipaddress {
10.15.192.23
} track_script {
chk_nginx
}
}

  

7、管理服务

systemctl start keepalived #启动
systemctl restart keepalived #重启
systemctl stop keepalived #关闭
systemctl status keepalived # 状态

  

常见问题一:keepalived配置nopreempt参数无效解决方法

nopreempt    #设置为不抢占 注:这个配置只能设置在backup主机上,而且这个主机优先级要比另外一台高
master不能设置nopreempt
解决方案是:不设置master,全部设置成backup,这样大家都是backup,就都能添加nopreempt,即使原本成为master的LB坏掉重新修好之后也不会抢占master。
通常如果master服务死掉后backup会变成master,但是当master服务又好了的时候 master此时会抢占VIP,这样就会发生两次切换对业务繁忙的网站来说是不好的。所以我们要在配置文件加入 nopreempt 非抢占,但是这个参数只能用于state 为backup,故我们在用HA的时候最好master 和backup的state都设置成backup 让其通过priority来竞争

  

常见问题二:编译安装keepalived时提示以下错误

make
cd . && /bin/sh /data/keepalived-2.0.19/missing automake-1.15 --foreign Makefile
/data/keepalived-2.0.19/missing: line 81: automake-1.15: command not found
WARNING: 'automake-1.15' is missing on your system.
You should only need it if you modified 'Makefile.am' or
'configure.ac' or m4 files included by 'configure.ac'.
The 'automake' program is part of the GNU Automake package:
<http://www.gnu.org/software/automake>
It also requires GNU Autoconf, GNU m4 and Perl in order to run:
<http://www.gnu.org/software/autoconf>
<http://www.gnu.org/software/m4/>
<http://www.perl.org/>
make: *** [Makefile.in] Error 127

解决方法如下:

yum install automake -y
autoreconf -ivf
再次执行make

  

编译报错问题安装参考:https://blog.csdn.net/arackethis/article/details/42222905

部署参考:https://www.cnblogs.com/gray13/p/11690590.html

CentOS7编译安装Keepalived2.0.19的更多相关文章

  1. 编译安装Keepalived2.0.0

    简介 Keepalived是基于vrrp协议的一款高可用软件.Keepailived有一台主服务器和多台备份服务器,在主服务器和备份服务器上面部署相同的服务配置,使用一个虚拟IP地址对外提供服务,当主 ...

  2. 编译安装 keepalived-2.0.16.tar.gz

    一.下载安装包 wget https://www.keepalived.org/software/keepalived-2.0.16.tar.gz 安装相关依赖 把所有的rpm包放在一个目录下. rp ...

  3. CentOS7编译安装MySQL8.0

    1.下载mysql8.0.16源码包和cmake源码包 cd /usr/local/srcwget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-b ...

  4. centos7 二进制安装mysql-8.0.19

    安装包下载地址:https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.19-linux-glibc2.12-x86_64.tar.xz 1.检 ...

  5. Centos7编译安装kafka-manager-2.0.0.2

    一.kafka-manager简介 项目地址为:https://github.com/yahoo/kafka-manager 为了简化开发者和服务工程师维护Kafka集群的工作,yahoo构建了一个叫 ...

  6. centos7 编译安装 redis-6.0.5

    安装redis sudo yum install redis centos自带的redis才3.2 太旧了所以使用源码编译 需要先安装gcc新版才能编译 centos7 默认的 gcc 版本为:4.8 ...

  7. Centos7编译安装zabbix-4.0.1

    架构组合:nginx1.9.10+php7.0.32+mysql5.7.22+zabbix4.0.1 nginx1.9.10 先装依赖 openssl-1.1.0f tar zxvf openssl- ...

  8. centos7编译安装pure-ftpd-1.0.42

    一.下载 wget https://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.42.tar.gz 二.安装 tar xvf ...

  9. centos7下编译安装php-7.0.15(PHP-FPM)

    centos7下编译安装php-7.0.15(PHP-FPM) 一.下载php7源码包 http://php.net/downloads.php 如:php-7.0.15.tar.gz 二.安装所需依 ...

随机推荐

  1. Npcap:Nmap项目里一个为Windows而生的嗅探库 Npcap: Nmap Project's packet sniffing library for Windows

    如果有人知道Npcap与libpcap对应的头文件列表,请告诉我,非常感谢 Introduction介绍 This Manual describes the programming interface ...

  2. 团队作业第五次—项目冲刺-Day5

    Day5 part1-SCRUM: 项目相关 作业相关 具体描述 所属班级 2019秋福大软件工程实践Z班 作业要求 团队作业第五次-项目冲刺 作业正文 hunter--冲刺集合 团队名称 hunte ...

  3. leetcode 354. 俄罗斯套娃信封问题(二维排序有关)

    题目描述 给定一些标记了宽度和高度的信封,宽度和高度以整数对形式 (w, h) 出现.当另一个信封的宽度和高度都比这个信封大的时候,这个信封就可以放进另一个信封里,如同俄罗斯套娃一样. 请计算最多能有 ...

  4. JVM系列之六:内存溢出、内存泄漏 和 栈溢出

    1. OOM && SOF OutOfMemoryError异常: 除了程序计数器外,虚拟机内存的其他几个运行时区域都有发生OutOfMemoryError(OOM)异常的可能, 内存 ...

  5. STM32Cube生成的HID项目,找不到hUsbDeviceFS

    症状 在main中尝试发消息给上位机: 解决方法 在STM32生成的HID项目里,默认是没有把hUsbDeviceFS导出的,需要修改usb_device.h文件,在USER CODE BEGIN V ...

  6. Intellij插件之MavenHelper

    作用: 一键查看maven依赖,查看冲突的依赖,一键进行exclude依赖 插件提供地址: https://plugins.jetbrains.com/plugin/7179-maven-helper ...

  7. cv2.putText,cv2.rectangle方法

    常用方法:cv2.putText(img,xy,(x1,y1), cv2.FONT_HERSHEY_PLAIN, 2, (0, 0, 255), thickness=2)img:要作用的图片xy:显示 ...

  8. javascript碰撞检测的方法

    javascript碰撞检测的方法需要把要检测碰撞的精灵都放到数组里array push 然后循环遍历数组里的精灵检测碰撞 ps:不放到数组里没办法循环遍历检测每个精灵核心代码如下 <pre&g ...

  9. Asp.Net、API 、MVC、 PUT/DELETE 报405错解决办法

    本地put/delete能正常运行,但是部署在服务器就 报webapi method not allowed 405的错误 解决方案就是在Web.config里面加入如下设置: <system. ...

  10. C语言memset()函数:将内存的前n个字节设置为特定的值

    头文件:#include <string.h> memset() 函数用来将指定内存的前n个字节设置为特定的值,其原型为:    void * memset( void * ptr, in ...