Keepalived 二进制部署

Keepalived 二进制部署

前言

前段时间二进制部署了Keepalived,才多了一段时间就忘了,还是要码上记录才行。

keepalived简介

Keepalived 是一个用于实现高可用性(High Availability,HA)的工具,主要在 Linux 系统中用于负载均衡和故障转移。它的主要功能和特点包括:

主要功能

  1. 虚拟路由冗余协议(VRRP)
    • Keepalived 实现了 VRRP(Virtual Router Redundancy Protocol),允许多个路由器在同一网络中一起工作,以确保在主路由器故障时,备份路由器能够迅速接管其职责,确保网络的高可用性。
  2. 负载均衡
    • Keepalived 支持使用 LVS(Linux Virtual Server)进行负载均衡。通过将客户端请求分配给后端服务器,可以提高应用程序的可扩展性和可靠性。
  3. 健康检查
    • Keepalived 提供了健康检查机制,可以监控后端服务的状态,在检测到某个服务不健康时,自动将其从负载均衡池中移除,防止用户请求被路由到不可用的服务。

主要特点

  • 易于配置Keepalived 的配置文件使用简单的文本格式,便于用户进行修改和管理。
  • 灵活性:支持多种负载均衡算法,如轮询、加权轮询和最少连接等,以满足不同应用场景的需求。
  • 紧密集成:可以与 iptables、ipvsadm 等工具结合使用,以实现更为复杂的流量管理和负载均衡策略。
  • 高性能:由于运行在内核态,Keepalived 可以提供较高的性能,适用于大规模部署。

适用场景

  • 高可用性架构:用于确保关键服务(如数据库、Web 服务器等)的高可用性,避免单点故障。
  • 负载均衡:在多台服务器之间分流请求,提高服务的吞吐量和响应速度。
  • 服务监控与管理:监控后端服务的状态,自动处理故障并进行恢复。

安装keepalived

下载解压

下载地址:https://www.keepalived.org/download.html
解压 : tar -zxvf keepalived-2.3.1.tar.gz

编译安装

使用configure命令配置安装目录与核心配置文件所在位置:

yum -y install libnl libnl-devel 
cd keepalived-2.3.1
./configure --prefix=/usr/local/keepalived --sysconf=/etc

# 安装keepalived
make && make install
  • prefixkeepalived安装的位置
  • sysconfkeepalived核心配置文件所在位置,固定位置,改成其他位置则keepalived启动不了
  • 配置文件在/etc/keepalived/keepalived.conf

不安装libnl/libnl-3依赖,配置过程中可能会出现警告信息,如下所示:

*** WARNING – this build will not support IPVS with IPv6. Please install libnl/libnl-3 dev libraries to support IPv6 with IPVS.

如果忘记安装配置的目录,则通过如下命令找到:whereis keepalived

把keepalived注册为系统服务

拷贝配置文件
将安装目录的keepalived目录下etc/init.d/keepalived拷贝到/etc/init.d/
将安装目录的keepalived目录下etc/sysconfig/keepalived拷贝到/etc/sysconfig/

cd /usr/local/src/keepalived-2.3.1/keepalived/etc/init.d
cp keepalived /etc/init.d/
cd /usr/local/src/keepalived-2.3.1/keepalived/etc/sysconfig/
cp keepalived /etc/sysconfig/
# 刷新systemctl
systemctl daemon-reload

#启动
systemctl start keepalived.service
#停止
systemctl stop keepalived.service
#重启
systemctl restart keepalived.service

配置keepalived

通过命令vim keepalived.conf配置文件

[baiy@nginx108 ~]$ cat /etc/keepalived/keepalived.conf
global_defs {
# 路由id:当前安装keepalived的节点主机标识符,保证全局唯一
   router_id  nginx108
}

vrrp_script check_run {
        script  "/etc/keepalived/check_nginx.sh"
        interval 5
        weight 2
}

vrrp_instance VI_1 {
    # 非抢占
    nopreempt
    # 表示状态是MASTER主机还是备用机BACKUP 
    state BACKUP
    # 该实例绑定的网卡 
    interface eth0
    # 保证主备节点一致即可 
    virtual_router_id 51
    # 权重,master权重一般高于backup,如果有多个,那就是选举,谁的权重高,谁就当选 
    priority 88
    # 主备之间同步检查时间间隔,单位秒 
    advert_int 2
    # 认证权限密码,防止非法节点进入 
    authentication {
        auth_type PASS
        auth_pass 2222
    }
# 虚拟出来的ip,可以有多个(vip) 
    virtual_ipaddress {
      10.194.106.121/25
    }
    track_script {
        check_run
    }
}

check_run脚本信息

[baiy@nginx108 keepalived]$ cat check_nginx.sh
#!/bin/bash
count=`ps -C nginx --no-header |wc -l`
if [ $count -eq 0 ];then
        /AppHome/nginx/sbin/nginx  -c /AppHome/nginx//conf/nginx.conf
        sleep 5
        if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then
                killall keepalived
        fi
fi

参考

1.https://www.cnblogs.com/jingzh/p/16215536.html(实现双机主备高可用-keepalived双主热备)

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇