区域节点部署
Cloud Blox 支持多节点部署:一个主节点 + 多个区域节点,共享同一套数据库。本文介绍区域节点的定位、生成与安装方式。
前提条件
区域节点安装包由主节点生成,因此必须先完成主节点安装(见 安装教程),并确保主节点运行正常、MySQL / Redis / ClickHouse 可被区域节点机器访问。
一、主节点与区域节点的区别
| 主节点 | 区域节点 | |
|---|---|---|
| 数据库容器 | 可 Docker 部署 MySQL/Redis/ClickHouse | 仅连接已有实例,不创建数据库容器 |
| 数据库迁移 | 负责执行 | 不执行 |
| 默认数据初始化 | 负责执行 | 不执行 |
| 定时任务 | 运行全部定时任务 | 仅运行区域任务(清理、副本备份等) |
多节点部署时,只需一个主节点,其他机器选择区域节点。
二、由主节点生成区域安装包(推荐)
在已安装且运行正常的主节点上,可用同一套 install.sh 自动检测并生成区域节点安装包(安装/升级后安装目录内也会保留一份 install.sh):
# 方式一:在安装目录直接运行,选「3) 打包区域节点」cd /opt/cloud-bloxbash install.sh# 方式二:子命令(跳过升级菜单)bash install.sh region-pack# 或显式指定安装目录与输出目录bash install.sh region-pack --install-dir /opt/cloud-blox --output ./my-region-pack脚本会自动检测:
- 安装目录是否为主节点(
region.primary=true或编排含 MySQL 服务) - 是否存在
cloud-blox-server与public/ - 若能访问管理端
/api/public/edition,且features.region显式为false,则拒绝生成;接口不可达时不拦截
生成产物包含:install.sh、install-package.tar.gz、可选 cloud-blox-runtime.tar、预填连接信息的 region.env,以及同名 .tar.gz 压缩包。
将压缩包拷到区域节点机器解压后执行:
bash install.sh --yes脚本检测到同目录下的 region.env 后,会自动按区域节点模式安装并连接主节点数据库。
网络可达性
若主节点将 MySQL/Redis/ClickHouse 端口仅绑定 127.0.0.1,其他机器无法直连。生成前请将映射改为局域网可达,或通过 VPN / 内网转发;生成时会提示填写「主节点对区域节点可达的地址」(也可用环境变量 REGION_MAIN_HOST 预设)。
三、手动安装区域节点
- 在主节点先完成安装,确保 MySQL、Redis、ClickHouse 可被区域节点访问(如开放端口或使用内网地址)。
- 在区域节点机器上使用普通安装包运行安装脚本,选择部署类型 = 区域节点(或使用
NODE_TYPE=region)。 - 按提示输入主节点的 MySQL、Redis、ClickHouse 连接信息。
# 非交互模式快速部署区域节点NODE_TYPE=region bash install.sh --yes生成的 config.yaml 中 region.primary 会自动设为 false。
四、安装后的区域配置
区域节点启动后,还需在主节点管理后台完成区域侧配置:
- 区域管理(系统管理 → 存储管理 → 区域管理):维护区域的名称、Code、端点域名(S3 / 资源访问 / WebDAV)等,需与该节点的反向代理域名一致。
- 服务端配置(区域管理 → 操作列「服务端配置」):可按区域生成并管理服务端配置(如 Nginx / Caddy 反向代理规则),同一区域的多台机器可直接复用生成结果,详见 Nginx 反向代理。
- 区域节点统计:管理后台「统计报表」提供区域节点板块,可查看各区域的通道数、容量与流量概览。
五、常见问题
- 区域节点连不上 Redis/ClickHouse:主节点若未映射端口,或映射仅绑
127.0.0.1,其他机器无法访问;需映射为局域网可达地址并放行防火墙。 - 区域节点是否执行迁移:不执行。数据库迁移与默认数据初始化仅由主节点负责,升级时先升级主节点。
- 区域节点反向代理:区域节点同样需要按域名分发 S3 / 资源访问 / WebDAV 端口,规则与主节点一致,见 Nginx 反向代理。