迁移手册
# 前言
本文档为金蝶Apusic负载均衡器软件V2.0.6标准版的迁移手册,为用户介绍如何从ALB历史版本迁移升级到V2.0.6标准版,帮助用户顺利完成版本升级。
# 适用对象
本文档适用于IT信息化业务负责人、研发经理、软件项目经理、软件架构师、运维工程师。
# 相关文档
了解更多ALB V2.0.6产品相关的信息,请参阅以下ALB V2.0.6产品手册文档集:
| 序号 | 手册文档 | 说明 |
|---|---|---|
| 1 | 金蝶Apusic负载均衡器软件 V2.0.6 发版说明 | 介绍了ALB 产品版本更新内容 。 |
| 2 | 金蝶Apusic负载均衡器软件 V2.0.6 快速使用手册 | 简单介绍了如何快速上手使用ALB 。 |
| 3 | 金蝶Apusic负载均衡器软件 V2.0.6 安装手册 | 详细介绍如何在各操作系统上安装ALB,以及ALB服务启停操作,产品的注册过程。 |
| 4 | 金蝶Apusic负载均衡器软件 V2.0.6 代理功能手册 | 详细介绍 ALB 相关功能的使用、配置、管理及配套工具的使用方法。 |
| 5 | 金蝶Apusic负载均衡器软件 V2.0.6 管控台用户手册 | 详细介绍ALB管控台相关功能的使用和操作说明。 |
| 6 | 金蝶Apusic负载均衡器软件 V2.0.6 开发手册 | 详细介绍ALB外部API、alb-cli命令行工具及AI Agent集成方法。 |
| 7 | 金蝶Apusic负载均衡器软件 V2.0.6 迁移手册 | 详细介绍ALB历史版本迁移升级到V2.0.6版本的说明。 |
| 8 | 金蝶Apusic负载均衡器软件 V2.0.6 运维手册 | 详细介绍ALB的监控、运维、安全加固等运维说明。 |
| 9 | 金蝶Apusic负载均衡器软件 V2.0.6 性能优化手册 | 详细介绍ALB性能调优的说明。 |
# 技术支持
ALB产品提供全面的技术支持服务,您可以通过以下方式获得技术支持:
网址:www.apusic.com
电话:400-855-5800
邮箱:support@apusic.com
金蝶云社区:https://vip.kingdee.com/?productId=73&productLineId=14&lang=zh-CN
您在取得技术支持时,请提供如下信息:
您的姓名
公司信息与联系方式
操作系统及其版本
产品版本号
出现异常及错误的日志、截图等详细信息
# 迁移概述
ALB V2.0.6 标准版在 V2.0.5 标准版的基础上进行了全面升级,主要包括:
- 管控台全新升级,支持更细粒度的三员权限管理和审计功能。
- 安装包目录结构统一为
ALB-V2.0.6-SE-amd64/ALB-V2.0.6-SE-arm64。 - 控制台二进制统一为
console/alb-console,并采用新的用户数据库结构。 - 配置文件保持 Nginx 兼容,历史版本的
alb.conf可直接复用。 - 授权文件兼容:
license.lic、license.xml和统一授权acls.properties均可继续使用。
# 支持迁移的版本
| 源版本 | 目标版本 | 说明 |
|---|---|---|
| ALB V2.0.5 标准版 | ALB V2.0.6 标准版 | 推荐迁移路径,配置文件高度兼容 |
| ALB V2.0.2 标准版 | 兼容 | 如果采用的是标准Nginx配置文件,可整体升级至V2.0.6 |
| ALB V2.0.2 敏捷版 | ALB V2.0.6 标准版 | 功能差异较大,建议按新安装部署后迁移业务配置 |
# V2.0.5 迁移至V2.0.6
V2.0.5可以不停机升级至V2.0.6,操作方式如下:
备份现有环境
- 备份旧版本安装目录,例如:
cp -r /opt/ALB-V2.0.5-SE-amd64 /opt/ALB-V2.0.5-SE-amd64.bak1
- 备份旧版本安装目录,例如:
上传V2.0.6安装包至/opt目录并解压
- 解压安装包
tar -zxvf ALB-V2.0.6-SE-*.tar.gz -C /opt/1
- 解压安装包
替换lualib目录
- 本迁移采用原地替换策略:在保留原有安装目录结构的前提下,将V2.0.6的新文件逐步替换到V2.0.5目录中。替换
lualib目录:mv /opt/ALB-V2.0.5-SE-amd64/lualib /opt/ALB-V2.0.5-SE-amd64/lualib.bak cp -r /opt/ALB-V2.0.6-SE-amd64/lualib /opt/ALB-V2.0.5-SE-amd64/lualib1
2
- 本迁移采用原地替换策略:在保留原有安装目录结构的前提下,将V2.0.6的新文件逐步替换到V2.0.5目录中。替换
替换alb可执行文件
- 替换
sbin/alb:mv opt/ALB-V2.0.5-SE-amd64/sbin/alb opt/ALB-V2.0.5-SE-amd64/sbin/alb.bak cp /opt/ALB-V2.0.6-SE-amd64/sbin/alb /opt/ALB-V2.0.5-SE-amd64/sbin/alb1
2
- 替换
替换启动脚本
- 替换
bin目录启动脚本:cp /opt/ALB-V2.0.6-SE-amd64/bin/* /opt/ALB-V2.0.5-SE-amd64/bin/1
- 替换
发送重启信号
- 发送
USR2信号给alb主进程,以重新加载配置文件:kill -USR2 $(cat /opt/ALB-V2.0.5-SE-amd64/logs/alb.pid) # 查看是否存在新旧进程,即存在两个alb master进程 ps -ef | grep alb | grep -v grep # 查看logs目录是否存在alb.pid.oldbin文件,如果存在则新旧进程均存在1
2
3
4
- 发送
优雅停掉旧worker和master进程
# 优雅停止旧worker进程 kill -WINCH $(cat /opt/ALB-V2.0.5-SE-amd64/logs/alb.pid.oldbin) # 优雅停止旧master进程 kill -QUIT `cat /opt/ALB-V2.0.5-SE-amd64/logs/alb.pid.oldbin`1
2
3
4
5检查是否只有新进程
- 仅存在一个alb master进程,则说明旧版本已停掉
版本查看
./sbin/alb -v # 输出结果为: alb version: alb/2.0.6-2606151
2
3控制台停机升级
# 找到控制台进程,并杀掉 ps aux | grep alb-console | grep -v grep | awk '{print $2}' | xargs kill -9 # 备份旧控制台目录 mv /opt/ALB-V2.0.5-SE-amd64/console /opt/ALB-V2.0.5-SE-amd64/console.bak # 替换控制台目录 cp -r /opt/ALB-V2.0.6-SE-amd64/console /opt/ALB-V2.0.5-SE-amd64/console # 启动控制台(使用绝对路径,避免目录错误) cd /opt/ALB-V2.0.5-SE-amd64/console && nohup ./alb-console > nohup.log 2>&1 &1
2
3
4
5
6
7
8
# V2.0.2 敏捷版迁移至V2.0.6
V2.0.2 敏捷版可以迁移至V2.0.6,操作方式如下:
备份现有环境
- 备份旧版本安装目录,例如:
cp -r /opt/ALB-V2.0.2-AE-amd64 /opt/ALB-V2.0.2-AE-amd64.bak1
- 备份旧版本安装目录,例如:
上传V2.0.6标准版安装包至/opt目录并解压
- 解压安装包(标准版安装包可用于迁移替换二进制和脚本)
tar -zxvf ALB-V2.0.6-SE-*.tar.gz -C /opt/1
- 解压安装包(标准版安装包可用于迁移替换二进制和脚本)
拷贝lualib目录
- 先备份旧版lualib,再复制新版目录:
mv /opt/ALB-V2.0.2-AE-amd64/lualib /opt/ALB-V2.0.2-AE-amd64/lualib.bak cp -r /opt/ALB-V2.0.6-SE-amd64/lualib /opt/ALB-V2.0.2-AE-amd64/lualib1
2
- 先备份旧版lualib,再复制新版目录:
替换alb可执行文件
- 替换
sbin/alb:mv /opt/ALB-V2.0.2-AE-amd64/sbin/alb /opt/ALB-V2.0.2-AE-amd64/sbin/alb.bak cp /opt/ALB-V2.0.6-SE-amd64/sbin/alb /opt/ALB-V2.0.2-AE-amd64/sbin/alb1
2
- 替换
替换启动脚本
- 替换
bin目录启动脚本:cp /opt/ALB-V2.0.6-SE-amd64/bin/* /opt/ALB-V2.0.2-AE-amd64/bin/1
- 替换
发送重启信号
- 发送
USR2信号给alb主进程,以重新加载配置文件:
kill -USR2 $(cat /opt/ALB-V2.0.2-AE-amd64/logs/alb.pid) # 查看是否存在新旧进程,即存在两个alb master进程 ps -ef | grep alb | grep -v grep # 查看logs目录是否存在alb.pid.oldbin文件,如果存在则新旧进程均存在1
2
3
4- 发送
优雅停掉旧worker和master进程
# 优雅停止旧worker进程 kill -WINCH $(cat /opt/ALB-V2.0.2-AE-amd64/logs/alb.pid.oldbin) # 优雅停止旧master进程 kill -QUIT `cat /opt/ALB-V2.0.2-AE-amd64/logs/alb.pid.oldbin`1
2
3
4
5检查是否只有新进程
- 仅存在一个alb master进程,则说明旧版本已停掉
版本查看
./sbin/alb -v # 输出结果为: alb version: alb/2.0.6-2606151
2
3控制台停机升级
# 找到控制台进程,并杀掉 ps aux | grep alb-2.0-light-console | grep -v grep | awk '{print $2}' | xargs kill -9 # 备份旧控制台目录 mv /opt/ALB-V2.0.2-AE-amd64/console /opt/ALB-V2.0.2-AE-amd64/console.bak # 替换控制台目录 cp -r /opt/ALB-V2.0.6-SE-amd64/console /opt/ALB-V2.0.2-AE-amd64/console # 启动控制台(使用绝对路径,避免目录错误) cd /opt/ALB-V2.0.2-AE-amd64/console && nohup ./alb-console > nohup.log 2>&1 &1
2
3
4
5
6
7
8
# Nginx迁移至ALB (使用ALB迁移工具)
ALB 自带nginx配置文件迁移工具,用于将 nginx 配置迁移为 ALB 配置。
ALB-Nginx迁移工具:[ALB安装路径]/utils/nginx-migrate
# 功能特性
# 配置迁移
- 扫描 nginx 主配置文件(nginx.conf)
- 解析并迁移所有 include 子配置文件
- 子配置迁移到
conf/conf.d/目录 - 自动更新主配置的 include 路径为
conf.d/*.conf
# SSL 证书迁移
- 自动扫描
ssl_certificate、ssl_certificate_key、ssl_trusted_certificate - 复制证书文件到
conf/certs/目录 - 更新配置中的证书路径为新路径
# 静态资源迁移
- 自动扫描
root和alias指令 - 复制静态资源到
conf/html/目录 - 更新配置中的静态资源路径为绝对路径
# 日志路径迁移
- 自动迁移
error_log、access_log、pid路径 - 统一迁移到
{ALBPath}/logs/目录
# 其他特性
- 迁移前自动备份原配置
- 交互式确认(可跳过)
- 详细日志模式
- 配置验证
# 使用方法
使用前提:
- 同一台机器已经部署安装好ALB。
- nginx 配置文件所在目录和 ALB 安装目录已存在。
# 自动检测 nginx 配置和 ALB 路径
./nginx-migrate
# 指定 nginx 配置和 ALB 目录
./nginx-migrate --nginx-path /path/to/nginx.conf --alb-path /path/to/ALB
2
3
4
5
# 命令行选项
| 选项 | 简写 | 说明 | 默认值 |
|---|---|---|---|
--nginx-path | - | nginx 配置文件路径 | 自动检测 |
--alb-path | - | ALB 安装目录 | 从工具位置推断 |
--from-running | - | 从运行中的 nginx 进程获取配置路径 | false |
--dry-run | - | 仅扫描,不执行迁移 | false |
-y / --yes | - | 自动确认所有提示 | false |
-v / --verbose | - | 显示详细日志 | false |
--backup | - | 迁移前备份原配置 | true |
# 使用示例
# 从运行中的 nginx 进程获取配置并迁移
./nginx-migrate --from-running --alb-path /path/to/ALB
# 完整模式(自动确认 + 详细日志)
./nginx-migrate --nginx-path /etc/nginx/nginx.conf --alb-path /opt/ALB -y -v
# 预览模式(仅扫描)
./nginx-migrate --nginx-path /etc/nginx/nginx.conf --alb-path /opt/ALB --dry-run
# 禁用备份
./nginx-migrate --nginx-path /etc/nginx/nginx.conf --alb-path /opt/ALB --backup=false
2
3
4
5
6
7
8
9
10
11
# 迁移后的目录结构
ALB/
├── conf/
│ ├── alb.conf # 主配置文件
│ ├── certs/ # SSL 证书
│ │ ├── server.crt
│ │ ├── server.key
│ │ └── ca.crt
│ ├── conf.d/ # 子配置文件
│ │ ├── default.conf
│ │ ├── ssl.conf
│ │ └── upstream.conf
│ └── html/ # 静态资源
│ ├── index.html
│ ├── css/
│ └── js/
└── logs/ # 日志目录
├── access.log
├── error.log
└── nginx.pid
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 注意事项
# 路径问题
- 确保 nginx 配置文件中的路径为相对路径或绝对路径
- 相对路径会基于配置文件所在目录解析
- 建议在测试环境先使用
--dry-run预览
# 备份
- 迁移前会自动备份原配置到
conf.backup_YYYYMMDD_HHMMSS - 如需恢复,删除新配置并将备份目录重命名为
conf
# 权限
- 确保有读取 nginx 配置和证书文件的权限
- 确保有写入 ALB 目录的权限
# 验证
- 迁移完成后会自动验证配置语法
- 建议重启 ALB 前手动检查配置
# Nginx迁移至ALB (手工迁移)
# 简单直接使用nginx.conf文件
- 备份旧配置
- 备份旧ALB配置,并将nginx.conf替换为alb.conf:
cp /opt/ALB-V2.0.6-SE-amd64/conf/alb.conf /opt/ALB-V2.0.6-SE-amd64/conf/alb.conf.bak cp /path/to/nginx.conf /opt/ALB-V2.0.6-SE-amd64/conf/alb.conf # 根据实际情况修改源路径,将nginx.conf文件复制到目标路径 chmod 644 /opt/ALB-V2.0.6-SE-amd64/conf/alb.conf1
2
3 - 调整include路径
- 如果原nginx.conf中使用了
include指令引用子配置文件(如conf.d/*.conf),需确保这些路径在ALB安装目录中有效。建议将子配置文件复制到/opt/ALB-V2.0.6-SE-amd64/conf/conf.d/目录,并修改include路径为相对路径或绝对路径:
mkdir -p /opt/ALB-V2.0.6-SE-amd64/conf/conf.d cp /path/to/nginx/conf.d/*.conf /opt/ALB-V2.0.6-SE-amd64/conf/conf.d/1
2 - 如果原nginx.conf中使用了
- 迁移SSL证书文件
- 将原nginx使用的SSL证书文件复制到ALB目录,并更新alb.conf中的证书路径:
mkdir -p /opt/ALB-V2.0.6-SE-amd64/conf/certs cp /path/to/ssl/server.crt /opt/ALB-V2.0.6-SE-amd64/conf/certs/ cp /path/to/ssl/server.key /opt/ALB-V2.0.6-SE-amd64/conf/certs/1
2
3- 编辑alb.conf,将
ssl_certificate和ssl_certificate_key路径更新为新的绝对路径。
- 调整日志路径
- 将alb.conf中的
error_log、access_log和pid路径修改为ALB日志目录:
error_log /opt/ALB-V2.0.6-SE-amd64/logs/error.log; access_log /opt/ALB-V2.0.6-SE-amd64/logs/access.log; pid /opt/ALB-V2.0.6-SE-amd64/logs/alb.pid;1
2
3 - 将alb.conf中的
- 验证配置并启动ALB
- 使用ALB自带的配置检查命令验证语法:
/opt/ALB-V2.0.6-SE-amd64/sbin/alb -t -c /opt/ALB-V2.0.6-SE-amd64/conf/alb.conf1- 停止Nginx,并启动ALB:
/path/to/sbin/nginx -s stop # 根据实际情况修改Nginx安装路径 /opt/ALB-V2.0.6-SE-amd64/bin/start-alb.sh1
2
# 常见问题
# 迁移后管控台无法登录
- 原因:V2.0.6 管控台使用新的用户数据库,旧版本用户数据不兼容。
- 解决:首次启动V2.0.6管控台时,系统会自动生成初始随机密码并输出到控制台日志中。请查看日志获取默认用户账号和密码进行登录。若需重置密码,请通过管控台界面或联系系统管理员操作,不要手动修改系统文件。
# 迁移后授权验证失败
- 原因:授权文件未正确复制到新版本安装目录,或授权文件已过期。
- 解决:检查
license.lic、license.xml或acls.properties是否存在且有效。