linux keepalived安装,CentOS安装Keepalived版本2.0.18

本文档详细介绍了在Linux系统上安装Keepalived的步骤,包括基础依赖包的安装,Keepalived软件包的下载、解压、编译和安装,以及配置文件的修改和启动。Keepalived主要用于实现负载均衡和故障切换,确保服务的高可用性。配置文件中涉及到的关键元素如VRRP实例、虚拟IP地址、健康检查脚本等都进行了详细说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、基础依赖包安装

yum install gcc

yum -y install openssl-devel

yum -y install libnl libnl-devel

yum -y install libnfnetlink-devel

yum -y install net-tools

yum -y install vim

2、安装包下载、解压编译和安装

官网下载keepalived安装包:

此处下载最新版本2.0.18

4fbc51103c734f41fcfc138d9dc6418e.png

将keepalived-2.0.18.tar.gz安装包上传到服务器上的某个目录下,此处为/usr/local/src目录下:

652adf0026d0f16910ef9641c4899033.png

进入安装目录下并解压安装包:

cd /usr/local/src/

tar -zxvf keepalived-2.0.18.tar.gz

84cfdf7130b673ea98158bfd772ed849.png

将解压的目录移动到/usr/local/keepalived下并进入移动后的目录:

mv keepalived-2.0.18 ../keepalived

cd ../keepalived/

86818f169a0fa238730006605c2cb68f.png

生成makefile文件:

./configure

00e7a844c7f41eafce755c58dba74b86.png

安装执行:

make && make install

4006ceb798b24b43b670d72c21a9b384.png

完成后会在以下路径生成:

/usr/local/etc/keepalived/keepalived.conf

/usr/local/etc/sysconfig/keepalived

/usr/local/sbin/keepalived

3 、初始化及启动

将配置文件放到默认路径下:

mkdir /etc/keepalived

cp /usr/local/keepalived/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/

6e3323b60cb7d4f2337da68e82693294.png

将keepalived启动脚本(源码目录下),放到/etc/init.d/目录下:

cp /usr/local/keepalived/keepalived/etc/init.d/keepalived /etc/rc.d/init.d/

d24304a053703f45c66bf96fb7854b47.png

将keepalived启动脚本变量引用文件放到/etc/sysconfig/目录下:

cp /usr/local/keepalived/keepalived/etc/sysconfig/keepalived /etc/sysconfig/

cfc7f086a234cb4d619f542746f69667.png

将keepalived主程序加入到环境变量/usr/sbin/目录下:

cp /usr/local/sbin/keepalived /usr/sbin/

cab9ad14ae8370701e3e493f8e52bdb1.png

启动keepalived:

service keepalived start

3c1ef20fb2f2befb85bccdcf00098592.png

附注:

service keepalived stop //停止服务

service keepalived status //查看服务状态

4 、配置文件修改

停止keepalived服务,修改keepalived.conf配置文件(第3步中的/etc/keepalived/keepalived.conf )并重新启动keepalived服务加载配置文件。

配置属性说明可参照keepalived.conf文件,在具体使用中可参考修改:

48304ba5e6f9fe08f3fa1abda7d326ab.png

! Configuration File for keepalived

# 全局定义块

global_defs {

# 邮件通知配置,用于服务有故障时发送邮件报警,可选项

notification_email {

[email protected]

}

# 通知邮件从哪里发出

notification_email_from [email protected]

# 通知邮件的smtp地址

smtp_server 127.0.0.1

# 连接smtp服务器的超时时间

smtp_connect_timeout 30

# 标识本节点的字条串,通常为hostname,但不一定非得是hostname。故障发生时,邮件通知会用到

router_id LVS_DEVEL

}

# 做健康检查的脚本配置,当时检查失败时会将vrrp_instance的priority减少相应的值

vrrp_script chk_haproxy {

# 待执行脚本

script "/etc/keepalived/chk_nginx.sh"

# 执行间隔

interval 2

# 控制priority增减

weight 2

}

# VRRP实例定义块

vrrp_instance VI_1 {

# 标识当前节点的状态,可以是MASTER或BACKUP,当其他节点keepalived启动时会将priority比较大的节点选举为MASTER

state MASTER

# 节点固有IP(非VIP)的网卡,用来发VRRP包

interface ens192

# 取值在0-255之间,用来区分多个instance的VRRP组播。同一网段中virtual_router_id的值不能重复,否则会出错

virtual_router_id 100

# 用来选举master的,要成为master,那么这个选项的值最好高于其他机器50个点,该项取值范围是[1-254](在此范围之外会被识别成默认值100)

priority 200

# 发VRRP包的时间间隔,即多久进行一次master选举(可以认为是健康查检时间间隔)

advert_int 1

# 认证区域,认证类型有PASS和HA(IPSEC),推荐使用PASS(密码只识别前8位)

authentication {

auth_type PASS

auth_pass 1111

}

# 调用chk_http_port中定义的脚本,当使用track_script时可以不用加nopreempt,只需要加上preempt_delay 5,这里的间隔时间要大于vrrp_script中定义的时长

track_script {

chk_haproxy

}

# 允许一个priority比较低的节点作为master,即使有priority更高的节点启动。nopreemt必须在state为BACKUP的节点上才生效(因为是BACKUP节点决定是否来成为MASTER的)

nopreempt

# 启动多久之后进行接管资源(VIP/Route信息等),前提是没有nopreempt选项

preempt_delay 300

# 虚拟ip地址

virtual_ipaddress {

192.168.26.34

}

}

# 虚拟服务定义块

virtual_server 192.168.26.34 9999{

# 延迟轮询时间(单位秒)

delay_loop 6

# 后端调试算法

lb_algo wrr

# LVS调度类型NAT/DR/TUN

lb_kind DR

# nat掩码

nat_mask 255.255.255.0

# 持久化超时时间,保持客户端的请求在这个时间段内全部发到同一个真实服务器,解决客户连接的相关性问题

persistence_timeout 1

# 传输协议

protocol TCP

# 真实提供服务的服务器

real_server 192.168.26.36 9999 {

# 权重

weight 1

# 健康检查方式 HTTP_GET|SSL_GET|TCP_CHECK|SMTP_CHECK|MISC_CHECK

TCP_CHECK {

# 连接超时时间

connect_timeout 10

# 检测失败后的重试次数,若达到重试次数还是失败则将其从服务器池中移除

nb_get_retry 3

# 下次重试的时间延迟

delay_before_retry 3

# 连接端口

connect_port 9999

}

}

real_server 192.168.26.54 9999 {

weight 1

TCP_CHECK {

connect_timeout 10

nb_get_retry 3

delay_before_retry 3

connect_port 9999

}

}

}

virtual_server 192.168.26.34 3306{

delay_loop 6

lb_algo wrr

lb_kind DR

nat_mask 255.255.255.0

persistence_timeout 1

protocol TCP

real_server 192.168.26.36 3306 {

weight 1

TCP_CHECK {

connect_timeout 10

nb_get_retry 3

delay_before_retry 3

connect_port 3306

}

}

real_server 192.168.26.54 3306 {

weight 1

TCP_CHECK {

connect_timeout 10

nb_get_retry 3

delay_before_retry 3

connect_port 3306

}

}

}

48304ba5e6f9fe08f3fa1abda7d326ab.png

修改完之后重新启动

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值