找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

1561

积分

0

好友

231

主题
发表于 6 天前 | 查看: 19| 回复: 0

第一步:下载Keepalived安装包

官方下载地址:https://www.keepalived.org/software/keepalived-2.2.2.tar.gz

Keepalived下载页面

第二步:安装编译依赖

在开始编译安装Keepalived之前,需要先安装必要的依赖包,这涉及基础的Linux系统运维。

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

第三步:编译与安装Keepalived

解压下载的源码包,并编译安装到指定目录。

# 解压
tar -xf keepalived-2.2.2.tar.gz
# 进入解压目录
cd keepalived-2.2.2
# 配置安装路径
./configure --prefix=/data/keepalived
# 编译并安装
make
make install
# 创建软链接方便命令调用
ln -s /data/keepalived/sbin/keepalived /usr/sbin/keepalived
# 验证安装
keepalived -v

第四步:配置Systemd服务

为了方便管理和自启动,我们需要为Keepalived创建Systemd服务文件。

vim /usr/lib/systemd/system/keepalived.service

将以下内容写入文件:

[Unit]
Description=LVS and VRRP High Availability Monitor
After=network-online.target syslog.target
Wants=network-online.target

[Service]
Type=forking
PIDFile=/run/keepalived.pid
KillMode=process
EnvironmentFile=-/data/keepalived/etc/sysconfig/keepalived
ExecStart=/data/keepalived/sbin/keepalived  $KEEPALIVED_OPTIONS
ExecReload=/bin/kill -HUP $MAINPID

[Install]
WantedBy=multi-user.target

第五步:创建主从节点配置文件

首先在主节点服务器上操作。

  1. 创建配置目录并复制默认配置文件:
    mkdir /etc/keepalived
    cp /data/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/
  2. 编辑主配置文件 /etc/keepalived/keepalived.conf

    vim /etc/keepalived/keepalived.conf

    配置示例如下:

    ! Configuration File for keepalived
    
    global_defs {
       notification_email {
         root@localhost
       }
       notification_email_from keepalived@localhost
       smtp_server 127.0.0.1
       smtp_connect_timeout 10
       router_id kp_ng01
    }
    
    vrrp_script chk_nginx {
        script "/etc/keepalived/sh/check.sh"
        interval 3
    }
    
    vrrp_instance VI_1 {
        state MASTER
        interface ens192
        virtual_router_id 70
        priority 100
        advert_int 2
        authentication {
            auth_type PASS
            auth_pass 12345
        }
        track_script {
            chk_nginx
        }
        virtual_ipaddress {
            172.16.30.161
        }
    }
  3. 创建健康检查脚本 /etc/keepalived/sh/check.sh
    #!/bin/bash
    echo "[nginx_check.sh]:now prepareing to healthy check " >> /var/log/messages
    n=`netstat -tunlp | grep nginx|wc -l`
    if [ $n -eq "0" ]; then
        echo "[ nginx_check.sh]:now start nginx">> /var/log/messages
        /data/nginx/sbin/nginx
        n2=`netstat -tunlp | grep nginx|wc -l`
        if [ $n2 -eq "0" ]; then
            echo "[nginx_check.sh]:nginx down,keepalived will stop" >> /var/log/messages
            systemctl stop keepalived
        fi
    fi

    记得给脚本添加执行权限:

    chmod +x /etc/keepalived/sh/check.sh

从节点配置
注意:在从节点服务器上重复此步骤,但配置文件中的router_idstatepriority需要相应修改。
主要区别部分如下,其他配置与主节点保持一致:

global_defs {
   ...
   router_id kp_ng02
}
...
vrrp_instance VI_1 {
    state BACKUP
    ...
    priority 90
    ...
}

第六步:配置日志输出

为了方便问题排查,我们将Keepalived的日志定向到独立文件。

  1. 修改配置文件,启用日志并指定设备:
    vim /data/keepalived/etc/sysconfig/keepalived

    添加或修改以下行:

    KEEPALIVED_OPTIONS="-D -d -S 0"
  2. 配置rsyslog,将local0设备的日志写入单独文件,这需要了解Linux下的网络与系统日志管理机制。
    vim /etc/rsyslog.conf

    在文件末尾添加:

    local0.*  /var/log/keepalived.log
  3. 重启相关服务使配置生效:
    systemctl restart rsyslog
    systemctl restart keepalived

完成以上步骤后,一个基于Keepalived和Nginx的高可用集群就部署完成了。虚拟IP(VIP)172.16.30.161将始终由主节点或健康的备用节点承载,从而保障服务的连续性。




上一篇:高并发性能测试核心指标解析:TPS、QPS与并发数的区别与应用
下一篇:Java并发编程:CountDownLatch、CyclicBarrier等JUC工具类深度解析
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2025-12-24 18:59 , Processed in 0.166000 second(s), 40 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2025 云栈社区.

快速回复 返回顶部 返回列表