Zentrix Gateway 文档English
POC 部署手册

11. 清空重装与更换产品

POC 部署手册章节。按 2026.10 主线代码核对;命令输出以当次交付的安装器为准。

返回概览 · 完整版目录 · 下载完整 PDF

本章内容:本章说明什么时候需要删除已有部署重新安装、什么时候不需要,以及确需清空时怎样先预览、再确认、出错后从哪里继续。更换产品(完整版与 Zentrix 网关互换)也只能走这条路,放在本章最后一节。读者是实施工程师与客户方系统管理员;执行本章任何写入命令前,须取得客户书面同意并安排停服窗口。

11.1 三个入口的区别

适用场景:已有一套安装,准备「重新装一下」之前,先判断要的到底是哪一种。

绝大多数情况你要的是前两个:换新版本用升级,改安装时填错的配置用重新填写配置。这两个入口都保留数据。只有确定要丢弃全部数据、从零开始时,才使用删除重装。

目的入口对已有数据的处理
升级到新版本zenova upgrade <包.zpkg>保留数据;升级完成后不能回退到旧版本(见第 10 章)
重新填写安装配置zenova install <包.zpkg> --reconfigure保留数据;回到「选择能力」一步,带入上次的答案逐项确认
删除旧部署并重新首装zenova install <包.zpkg> --fresh删除旧部署的业务数据、配置、身份与本机全部备份,再按首装流程安装新包

操作步骤

  1. 只是要换版本:用新版本的安装器执行 sudo zenova upgrade <包.zpkg>,或在控制台「系统维护 › 系统更新」上传升级包。
  2. 只是要改访问地址、通知渠道、资源容量等:先看控制台「系统维护 › 部署配置」或 zenova config set 能否在线修改;不能在线修改的,再用 --reconfigure。
  3. 以上都不能解决、且客户同意丢弃全部数据:继续阅读 11.2 节。

你会看到

  • 已完成安装的主机上直接再跑一次普通安装命令时,安装器停止并提示本机已完成安装(诊断代码 SVC_ALREADY_INSTALLED),同时给出三条去向:升级用 sudo zenova upgrade <包.zpkg>,修改配置用 sudo zenova install --reconfigure,清空重装加 --fresh。普通安装命令不会覆盖已有安装。

注意:--fresh 与 --reconfigure 互斥,不能同用。--adopt-existing(在已有平台数据上接管安装)也不能与这两者同用。

11.2 适用条件

前提:以下三条须同时满足,缺一条安装器都会拒绝清空。

条件为什么
单机原生安装(systemd)清空流程由控制面完整安装命令执行,只处理本机上属于该安装的服务、目录与独占资源。多机部署的数据分布在多台主机上,K8s 部署的资源归集群管理,都不在本机安装器的清理范围内
PostgreSQL 与 ClickHouse 都由安装器部署由安装器部署的数据库只监听回环、归本安装独占,安装器能证明它们属于这套部署。现有数据库通常与其他业务共用,安装器无法证明可以删,因此始终拒绝清空
对象存储为自带对象存储或本机目录理由同上。现有 S3 兼容存储的桶与密钥归客户存储管理员,安装器不会删除也不会复用

以下环境不支持清空重装:

  • 平台数据库或分析数据库使用现有服务;
  • 对象存储使用现有 S3 兼容存储;
  • 多机部署;
  • Kubernetes Helm 部署;
  • 远端网关节点主机(zenova install node 不使用 --fresh,节点换控制面或换令牌用 --reenroll,见第 9 章)。

注意:使用现有数据库或现有 S3 的环境确需重装时,需要客户的数据库管理员与存储管理员先自行处理原有库与桶,再按首装流程安装;这部分不由安装器执行,也不在本手册范围内。本机上的网关节点(含与控制面同机的 office-primary)会随清空一并清理;如果本机节点曾注册到另一个远端控制面,该控制面上节点会变为离线,需在其控制台退役。

11.3 先预览再确认

适用场景:任何一次清空重装的第一步。

前提:安装器、离线包、答案文件与凭据文件已放在旧安装根与业务目录之外的独立目录(如 /root/zenova-install),见 11.4 节。

操作步骤

  1. 执行只读预览。
# 安装主机 · root · 只读(预览清理范围,不停服务、不删数据、不开始安装)
cd /root/zenova-install
sudo ./zenova install "$ZPKG" --fresh --dry-run
  1. 逐行核对预览输出,确认列出的就是这台主机上要删除的那套部署。
  2. 预览中出现「归属不明」或带风险提示的残留项时,按下面三种方式之一处理,不要手工清理:
情况处理方式
现场有管理员值守交互模式:直接运行 sudo ./zenova install "$ZPKG" --fresh,安装器逐项列出待确认资源并询问 y/N,由现场管理员逐项确认
远程支持或需要书面审核先导出计划文件,审核后按计划执行(命令见下)
外部数据库或对象存储安装器始终硬拒绝清空外部 PostgreSQL、ClickHouse 与 S3,没有任何参数可以放开
# 安装主机 · root · 只读(导出清理计划文件,供审核)
sudo ./zenova install "$ZPKG" --fresh --dry-run --plan ./reinstall-plan.toml
# 安装主机 · root · 删除(按审核后的计划清空旧部署并重新安装)
sudo ./zenova install "$ZPKG" --fresh --plan ./reinstall-plan.toml --confirm-data-loss DELETE_EXISTING_DATA

你会看到

  • 预览一次性汇总全部待清理项与拒绝项:旧部署的身份、版本与部署形态,以及服务、业务路径、独占容器、卷和网络的清理范围。
  • 遇到以下情况时,预览说明具体对象并停止,处理所列对象后重新预览:
诊断代码含义处理
FRESH_EXTERNAL_DATA检测到外部数据服务,或请求删除外部数据安装器不会删除外部数据库或对象存储;在计划文件中保持 remove = false
FRESH_SHARED_SECRET存在与外部共享、不受本安装独占的资源先解除外部引用或手工迁移该资源,再执行清空重装
FRESH_OWNER_UNPROVEN部分对象无法自动证明由本安装创建交互模式逐项 y/N 确认,或导出计划文件审核后按计划执行
FRESH_LEGACY_IGNORED检测到不由本安装器管理的旧版目录安装器保持原样,不处理
FRESH_INVALID_ARGS清空重装的参数不完整或组合无效改用交互模式 --fresh,或配合 --dry-run / 计划文件执行

注意:严禁手写 rm -rf、docker rm、systemctl 等命令清理旧安装残留。 现场运维与远程支持一律通过 --fresh --dry-run、交互确认或计划文件处理。手工删除会让安装器无法再证明资源归属,后续预览会被拒绝,问题只会更难处理。

注意:计划文件只对生成它时的现场有效。停服后安装器会再次核对旧部署身份,若与计划不一致会以 FRESH_STATE_CHANGED 停止,此时重新执行 --fresh --dry-run 生成新的计划文件。

11.4 执行与中断处理

前提:已完成 11.3 节的预览与核对;客户已书面同意丢弃全部数据;已安排停服窗口。需要保留旧数据时,先执行 zenova backup 并用 zenova backup export 导出,并把导出的归档移到清理范围之外——清空重装不自动备份,且会删除本机全部备份。

操作步骤

  1. 准备物料目录。使用与新离线包同版本的独立 ./zenova,不要使用待删除安装根里的 zenova(/usr/local/bin/zenova 指向的就是旧安装)。安装器、.zpkg、--answers 答案文件、--secret-file 凭据文件都必须放在旧安装根(默认 /opt/zenova)与业务目录之外;放在待清理目录内时,安装器会说明并停止。
# 安装主机 · root · 只读(确认物料位置与版本)
cd /root/zenova-install
ls -l ./zenova "$ZPKG"
sha256sum "$ZPKG"
  1. 执行清空重装。确认词必须完整填写 DELETE_EXISTING_DATA。
# 安装主机 · root · 删除(清空旧部署后重新安装)
sudo ./zenova install "$ZPKG" --fresh --confirm-data-loss DELETE_EXISTING_DATA
  1. 安装完成后按第 6 章重新完成首次登录与初始化、重新申请并导入许可证(6.4 节),再重新离机备份密钥材料并做首次平台备份——旧的密钥归档与备份对新部署无效。

你会看到

  • 删除任何内容之前,安装器先核对:新包全部组件的 sha256 与大小、安装器与离线包的版本和平台、安装答案、所选能力是否齐全。任一项未通过,不会进入删除阶段,旧部署保持原样。组件摘要用于发现下载损坏,不代表签名校验。
  • 通过后依次执行:停止旧服务和容器并再次核对旧部署身份 → 清理属于该安装的服务、数据路径、容器、独占卷和网络(保留 Docker 镜像与系统账户)→ 按首装流程安装新包并完成装后验收。
  • 完成输出与首装相同:新的 root 初始密码、访问地址与「下一步」。

中断后从哪里继续

中断位置处理
旧部署已清理成功,后续安装失败处理安装错误后,对同一个包执行普通安装命令 sudo ./zenova install "$ZPKG",从已有安装进度继续,不再加 --fresh
清理阶段失败或中断执行 sudo ./zenova install "$ZPKG" --fresh --dry-run,把输出的清单与诊断代码回传给支持,按提示用计划文件或交互确认继续

注意:在旧部署已清理、新安装未完成的状态下再次带 --fresh 并确认删除,表示重新清空本机数据,不是继续上次安装。

注意:清空重装会生成新的部署标识。原许可证、原 root 密码、原两步验证绑定、原密钥材料与备份全部失效;原有租户、成员、模型供应商、API 密钥都需要重新创建,调用方需要换用新的 API 密钥。

11.5 更换产品

适用场景:已安装 Zentrix 网关,要改装完整版;或反过来。

前提:两个产品使用同一套安装命令,但产品在安装时锁定,安装后不能原地更换。两者互换只能清空重装,11.2 节的适用条件同样适用。

操作步骤

  1. 向客户说明后果并取得书面同意:原有数据全部删除;原许可证失效,需在新产品上重新导出授权请求、重新申请许可证。
  2. 从下载站重新选择目标产品,下载目标产品的安装器与离线包(第 2 章)。离线包文件名里的产品字段应与目标产品一致。
  3. 用目标产品的安装器按 11.3 节预览、11.4 节执行清空重装。
  4. 按第 6 章重新完成初始化与许可证导入,按第 7 章重新验收。

你会看到

  • 不做清空、直接用另一个产品的安装器执行普通安装时,安装器停止并提示「本机已安装<已装产品>,该安装程序为<另一产品>版,请使用<已装产品>版的安装包」。这表示产品已锁定:要么换回已装产品的安装包,要么按本节清空重装。
  • 输出中带诊断代码 ANS_EDITION_LOCKED(版本形态已锁定)时含义相同,处理办法是执行 zenova install <安装包> --fresh 后重新选择。
  • 安装器与离线包分属不同产品时,提示「安装包与安装程序不属于同一版本:安装程序为…版,安装包为…版」,须换用同一产品的安装器与离线包。

注意:只是想多启用或停用某项能力(如知识库)时,不需要换产品,也不需要清空重装:在控制台「系统更新」页启用已随离线包带来的能力,或用 --reconfigure 重新选择能力。目标能力不在本产品中(安装器提示「…不含「…」能力,请从 --with 中去掉」)时,才需要考虑更换产品。

能力说明

不提供的能力替代做法
清空使用现有数据库或现有 S3 的环境由客户数据库管理员与存储管理员自行处理原有库与桶,再按首装流程安装
多机部署、Kubernetes 部署、远端网关节点的清空重装多机与 K8s 按各自部署方案处理;节点使用 --reenroll 重新注册或在控制台退役
清空前自动备份执行前手工 zenova backup 并导出到清理范围之外
原地更换产品清空重装为目标产品,并重新申请许可证
跨版本恢复旧备份到新安装恢复只能在同一版本、同一产品、同一部署形态与平台上进行
手工清理旧安装残留只用 --fresh --dry-run、交互确认或计划文件处理

上一章:10. 备份、恢复与升级 · 下一章:12. 故障排查与提交支持

On this page