avatar

瓜生花子八宝粥

少壮不努力 老了看浏览器

  • 首页
  • 开源项目
  • Linux
  • Windows
  • Docker
  • 中间件
  • 数据库
主页 Nginx Keeplived负载均衡
文章

Nginx Keeplived负载均衡

发表于 2024-12-3 更新于 2024-12- 3
作者 jepwei
13~17 分钟 阅读

Keepalived 安装与配置指南

概述

Keepalived 是一个用于提供高可用性和负载均衡的工具,主要用于实现 VRRP(虚拟路由冗余协议)。本指南将详细介绍在 CentOS 7 环境中安装和配置 Keepalived 的步骤,并提供测试方法以验证配置的有效性。

下载 Keepalived 源码包

您可以从以下链接下载 Keepalived 的源码包:

Keepalived 下载链接

1. 安装依赖

在安装 Keepalived 之前,您需要安装一些必要的依赖包。请使用以下命令:

sudo yum install -y gcc openssl openssl-devel libnl libnl-devel

注意:如果您使用的是麒麟 Linux 系统,还需要安装 libnl3。

下载并解压 Keepalived 源码包:

tar -zxvf keepalived-2.0.18.tar.gz
cd keepalived-2.0.18

2. 安装 Keepalived

使用以下命令配置和安装 Keepalived:

./configure --prefix=/usr/local/keepalived --sysconf=/etc
make
sudo make install

提示:如果您的系统中 OpenSSL 是手动编译安装的,您可以使用以下命令指定 OpenSSL 路径进行安装:

LDFLAGS="$LDFLAGS -L /usr/local/openssl/lib" ./configure --prefix=/usr/local/keepalived --sysconf=/etc

3. 防火墙配置

如果您的防火墙处于开启状态,请执行以下命令以允许 VRRP 协议通过:

sudo firewall-cmd --add-rich-rule='rule protocol value="vrrp" accept' --permanent
sudo firewall-cmd --reload

注意:如果防火墙已关闭,可以跳过此步骤。

4. 创建配置文件

创建 Keepalived 的配置目录并编辑配置文件:

sudo mkdir -p /etc/keepalived
sudo vi /etc/keepalived/keepalived.conf

主节点配置示例

以下是主节点的配置示例:

! Configuration File for keepalived
vrrp_script chk_mysql {
    script "/etc/keepalived/mysql_chk.sh"
    interval 2
}

global_defs {
    router_id 12  # 每个 Keepalived 实例取个不同的名称
}

vrrp_instance VI_1 {
    state MASTER  # 设置为主实例
    interface eth0  # 网卡名称
    virtual_router_id 68  # 主备配置相同
    priority 100  # 优先级,主节点一般为 100,备节点为 80
    advert_int 1
    nopreempt  # 主备都开启时,抢占后需等 Keepalived 停止才会漂移
    authentication {
        auth_type PASS  # 主备必须配置成相同
        auth_pass 1111  # 主备必须配置成相同
    }
    virtual_ipaddress {
        10.202.3.16  # VIP,主备必须配置相同
    }
    track_script {
        chk_mysql  # 监控脚本
    }
}

MySQL 监控脚本

以下是监控 MySQL 服务的脚本示例。您可以根据需要修改监控的端口或服务:

#!/bin/bash
mysql_status=`netstat -an | grep 54321 | wc -l`
if [ ${mysql_status} -eq 0 ]; then
    exit 1
else
    exit 0
fi

将脚本保存为 /etc/keepalived/mysql_chk.sh 并赋予执行权限:

sudo chmod +x /etc/keepalived/mysql_chk.sh

从节点配置示例

从节点的配置示例如下:

! Configuration File for keepalived
global_defs {
    router_id 13  # 每个 Keepalived 实例取个不同的名称
}

vrrp_instance VI_1 {
    state BACKUP  # 设置为从实例
    interface eth0  # 网卡名称
    virtual_router_id 68  # 主备配置相同
    priority 80  # 从节点优先级一般为 80
    advert_int 1
    nopreempt  # 主备都开启时,抢占后需等 Keepalived 停止才会漂移
    authentication {
        auth_type PASS  # 主备必须配置成相同
        auth_pass 1111  # 主备必须配置成相同
    }
    virtual_ipaddress {
        10.202.3.16  # VIP,主备必须配置相同
    }
}

5. 启动 Keepalived 服务

启用并启动 Keepalived 服务:

sudo systemctl enable keepalived
sudo systemctl start keepalived

6. 测试 Keepalived 配置

在完成配置后,您可以通过以下方法测试 Keepalived 是否正常工作:

6.1 检查服务状态

首先,检查 Keepalived 服务的状态:

sudo systemctl status keepalived

确保服务处于“active (running)”状态。

6.2 测试 VIP

在主节点上,使用以下命令检查虚拟 IP 地址是否已经分配:

ip addr show

您应该能看到配置的虚拟 IP 地址(如 10.202.3.16)出现在主节点的网络接口上。

6.3 测试主备切换

  1. 在主节点上,您可以通过停止 Keepalived 服务来模拟故障:

    sudo systemctl stop keepalived
    
  2. 然后,在从节点上,检查虚拟 IP 地址是否已经切换到从节点:

    ip addr show
    

    如果切换成功,您应该能在从节点的网络接口上看到虚拟 IP 地址。

  3. 重新启动主节点的 Keepalived 服务:

    sudo systemctl start keepalived
    
  4. 再次检查主节点的虚拟 IP 地址是否恢复。同时也可以关闭54321端口来测试看VIP地址是否会漂移

完成

至此,Keepalived 的安装与配置已完成。您可以根据需要进行后续的测试和调整,确保高可用性配置正常工作。

中间件
Nginx
许可协议: 
分享

相关文章

5月 23, 2025

nacos 部署

环境:centos7 版本:nacos-2.3.2 部署方式:编译安装 1.安装jdk (自行安装) 2.下载nacos安装包并解压 3.配置nacos的配置文件 ### 注释掉原有的端口参数再添加这个 server.port=7200 ### 开启鉴权 nacos.core.auth.enable

12月 31, 2024

容器部署fastdfs

本文详细介绍了在Docker中部署FastDFS的步骤,包括创建工作目录、配置Docker Compose、启动服务、检查端口监听以及修改Nginx配置。首先,需在主机创建FastDFS工作目录并设置权限,然后编辑docker-compose.yml文件定义服务配置。接下来,通过docker-compose命令启动服务,并使用netstat命令确认端口监听情况。最后,若需调整Nginx的8888端口配置,可进入storage容器并编辑nginx.conf文件,完成后重启容器以应用更改。

12月 24, 2024

容器部署nacos

本文详细介绍了如何在 Docker 中部署 Nacos,包括前提条件和具体步骤。首先确保已安装 Docker,然后拉取 Nacos 镜像并创建必要的目录。接着设置目录权限,复制初始配置文件到本地,重新运行 Nacos 容器。最后,用户可以通过浏览器访问 Nacos 管理界面,并可选地启用鉴权。按照这些步骤,用户将能够成功在 Docker 上部署 Nacos,并根据需求进行进一步配置。

下一篇

Nginx Fastdfs服务部署

上一篇

Nginx 常用HTTPS配置模板

最近更新

  • 1panel 部署
  • jumpserver 堡垒机部署
  • ubuntu 设置时间显示为24小时制
  • pritunl vpn 部署
  • dockovpn 部署

热门标签

nacos openvpnas 资源分享 docker oracle mysql ubuntu 开源项目 虚拟化 Linux

目录

©2025 瓜生花子八宝粥. 保留部分权利。

使用 Halo 主题 Chirpy