跳到主要内容

管理中心高可用

目录​

一、管理中心主从配置-Keepalived

一、管理中心主从配置-Keepalived​

当您需要管理中心能够长期稳定提供服务时,可以通过Keepalived搭建主从模式。

从节点充当主节点的备份,以保证系统的高可用性和容错性。

当主节点故障时,从节点可以立即接管主节点的工作,以保证系统的正常运行。

多个管理中心的 redis 和数据库配置信息必须保持一致,数据库和redis配置参考《产品安装》。

环境准备​

系统:Linux localhost.localdomain 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux

服务器A(主节点):10.10.22.211

服务器B(备节点):10.10.22.215

虚拟IP:10.10.22.110

安装启动管理中心​

使用Keepalived配置ESB管理中心主从模式,需要先分别启动主从管理中心,即分别在不同服务器上启动管理中心,启动方式参考安装手册。

查看接口名称​

Keepalived配置主从模式需要指定一个具体的网口来虚拟IP。 查看接口名称的方式如下:

   ifconfig -a

输出结果类似如下信息:

查看接口

在这个例子中,真实的接口名是 ens192,后续配置中会用到。

常见的接口名还有 ens192, enp0s3, eno1 等。

安装Keepalived​

注: 主备节点均需安装 keepalived

1. 安装​

sudo yum install -y keepalived

2. 验证​

keepalived -v

keepalived_check

配置Keepalived​

1. 主节点配置​

(/etc/keepalived/keepalived.conf)

global_defs {
router_id LVS_MASTER # 唯一标识
}

vrrp_script chk_java {
script "/etc/keepalived/check_java.sh"
interval 2
weight -20
}

vrrp_instance VI_1 {
state MASTER # 主节点
interface ens192 # 网络接口
virtual_router_id 51 # 主备必须相同
priority 100 # 优先级(100-254),主高于备

# 主备通信认证
authentication {
auth_type PASS
auth_pass 1111 # 密码,主备需一致
}

# 虚拟IP配置,可配置
virtual_ipaddress {
10.10.22.110/24 dev ens192
}

track_script {
chk_java
}

}

2. 备节点配置​

(/etc/keepalived/keepalived.conf)

global_defs {
router_id LVS_BACKUP
}

vrrp_script chk_java {
script "/etc/keepalived/check_java.sh"
interval 2
weight -20
}

vrrp_instance VI_1 {
state BACKUP # 备节点
interface ens192
virtual_router_id 51 # 与主节点相同
priority 90 # 优先级低于主节点

authentication {
auth_type PASS
auth_pass 1111
}

virtual_ipaddress {
10.10.22.110/24 dev ens192
}

track_script {
chk_java
}

}

3. 创建Java进程检测脚本​

(两台服务器相同,都需要创建)

创建 /etc/keepalived/check_java.sh:

#!/bin/bash

# 检查Java进程是否存在
if pgrep -f "ESBManage" > /dev/null; then
exit 0
fi

# 两者都不存在则返回错误
exit 1

赋予执行权限:

  chmod +x check_java.sh

启动Keepalived​

重启或重载 Keepalived 使配置生效:

    # 先测试配置文件语法是否正确
sudo keepalived -t -f /etc/keepalived/keepalived.conf

# 如果语法OK,则重启服务(因为修改了接口,推荐重启而非重载)
sudo systemctl restart keepalived

# 重载配置指令如下
sudo systemctl reload keepalived

检查服务状态

    sudo systemctl status keepalived

确保状态是 active (running)

查看 VIP 是否绑定

    ip addr show ens192  # 将ens192替换为你的接口名
查看VIP

应该在输出中看到 10.10.22.110 这个 IP 地址。

验证​

单独访问主节点

主节点

单独访问备节点

备节点

访问VIP

VIP

停止主节点访问VIP

停主VIP

停止主备节点访问VIP

停备VIP