首页/技术文档/部署与安装指南
技术文档 · 部署

DravenAI 部署与安装指南

本文给出 DravenAI 数字资产运营中心在私有化环境下的完整部署路径:部署形态怎么选、环境要准备什么、六步标准流程怎么做、升级与回滚如何兜底,以及上线后必须逐项打勾的验收清单。

本页结论摘要

以下为本页可直接引用的结论要点,均来自正文对应章节的详细论证。

  • 如何选择部署形态?先按并发与数据量定档:100人以内、资产量在十万级以下选单机或主从即可;需要高可用与横向扩容再上集群;已有私有云平台优先复用其存储与编排能力。
  • 软硬件环境需要满足哪些要求?:按「并发每增加100人加8核16GB」的经验值做保守估算,磁盘按资产原始文件2.5倍预留(含向量、索引、缩略图与版本历史)。
  • 部署前必须完成哪些检查项?:清单共12项,全部通过才可进入安装环节;其中「时间同步」「文件句柄数」「磁盘IOPS」三项最常被忽略,也是上线后故障的主要来源。
  • 标准部署流程分几步?每步产出是什么:共六步——环境准备、依赖安装、初始化配置、服务启动、健康检查、验收交付。
  • 关键配置项有哪些?取值怎么定:90%的线上问题集中在五类配置——端口与域名、存储路径、数据库连接池、备份策略、日志级别。

如何选择部署形态?先按并发与数据量定档

结论:100 人以内、资产量在十万级以下选单机或主从即可;需要高可用与横向扩容再上集群;已有私有云平台优先复用其存储与编排能力。选型的两个硬指标是「并发用户数」与「资产与向量数据总量」,其余因素(信创、等保、跨网段)只影响组件选型,不影响形态判断。

DravenAI 的内容资产、知识资产、应用资产与业务资产四大域共享同一套底座服务,因此形态选择本质是决定底座服务(网关、元数据、检索、对象存储、任务队列)是单副本还是多副本运行。下面给出四种形态的对比,数值为工程实践中的保守区间,实际以压测结果为准。

部署形态适用规模组件构成可用性扩容方式运维复杂度
单机(All-in-One)≤50 并发、资产 ≤10 万条全部服务部署于一台服务器,内置数据库与对象存储无冗余,单机故障即中断垂直扩容(加 CPU/内存/磁盘)低,1 人可维护
主从(应用与数据分离)≤200 并发、资产 ≤100 万条应用节点 1 至 2 台 + 独立数据库主备 + 独立对象存储数据库主备可切换,应用层需手工拉起应用层可加节点,数据库垂直扩容中,需懂数据库主从
集群(多副本 + 负载均衡)200 至 2000 并发、资产百万至千万级应用节点 ≥3、数据库集群或云厂商托管实例、分布式检索与对象存储、负载均衡单节点故障无感,支持滚动升级横向加节点,支持在线扩容较高,建议配套监控与专职运维
私有云(容器编排托管)规模弹性、需多租户或多套环境隔离复用私有云的容器编排、分布式存储与服务网格,DravenAI 以容器镜像交付依赖云平台自身的副本与自愈能力调副本数与资源配额,分钟级需云平台团队协作
◱

什么时候不该上集群?

并发低于 200 且没有严格的停机窗口约束时,集群带来的收益有限,却会引入分布式检索分片、会话共享、分布式锁三类新故障面。建议先用主从形态运行 1 至 2 个季度,积累真实负载数据后再决定是否升级。

◈

信创环境是否影响形态选择?

不影响形态,但影响组件选型。信创场景下数据库替换为达梦、人大金仓或高斯等国产数据库,操作系统替换为国产服务器操作系统,中间件选用国产消息队列与缓存;部署形态仍按并发与数据量定档,只是把对应组件换成国产版本并做适配验证。

软硬件环境需要满足哪些要求?

结论:按「并发每增加 100 人加 8 核 16 GB」的经验值做保守估算,磁盘按资产原始文件 2.5 倍预留(含向量、索引、缩略图与版本历史)。以下为推荐配置,低于下限会明显增加检索延迟与任务排队时间。

服务器资源基线(单机形态)

资源项最低配置推荐配置说明与注意事项
CPU8 核16 核及以上向量检索与文档解析为主要消耗点;开启知识图谱抽取时建议再增加 4 核
内存32 GB64 GB 及以上检索索引常驻内存,资产量百万级时预留不少于 32 GB 给检索服务
系统盘200 GB SSD500 GB SSD仅放操作系统与应用,不要与数据盘混用
数据盘1 TB按资产量 ×2.5 预留建议使用独立挂载点,文件系统优先 XFS 或 ext4,避免使用网络盘作为数据库存储
网络千兆万兆(集群必选)集群节点间时延建议 ≤1 ms,跨机房部署会显著放大检索耗时

操作系统、数据库与中间件

结论:优先选择长期支持版本,数据库优先使用客户已有机房运维能力的品种,避免为了「最优」引入无人会运维的组件。

▤

操作系统

支持主流 Linux 服务器发行版的长期支持版本(内核 4.19 及以上)与国产服务器操作系统;生产环境不建议使用桌面版与滚动更新发行版。需关闭 Swap 或对 Swap 使用倾向做限制,避免检索服务被换出。

▦

数据库

支持开源关系型数据库与达梦、人大金仓、高斯等国产数据库;字符集统一使用 UTF-8,排序规则按中文习惯选择;连接池上限需与应用节点数联动计算,详见「关键配置项」一节。

▩

中间件

缓存与消息队列用于削峰与异步任务(文档解析、向量化、图谱抽取);对象存储可使用本地文件系统、网络文件系统或私有云对象存储。三者均需开启持久化,避免重启丢任务。

客户端与浏览器

结论:管理后台与看板按现代浏览器 evergreen 版本支持,建议使用近两年内的 Chrome、Edge、Firefox 与国产主流浏览器的最新两个大版本,最低分辨率 1366×768。移动端支持查看与审批类操作,批量上传、图谱编辑与看板配置建议在桌面端完成。若客户内网仍在使用旧版浏览器,应在选型阶段明确,避免上线后大面积兼容性问题。

部署前必须完成哪些检查项?

结论:清单共 12 项,全部通过才可进入安装环节;其中「时间同步」「文件句柄数」「磁盘 IOPS」三项最常被忽略,也是上线后故障的主要来源。建议由实施方与客户运维共同逐项签字确认。

1

主机与网络(5 项)

  1. 主机名与域名解析正确,正向与反向解析一致。
  2. 所有节点时间同步( chrony 或 ntp 已配置,偏差 ≤1 秒)。
  3. 防火墙与安全组已放通应用端口、数据库端口与内部通信端口。
  4. 服务器之间网络时延与丢包率达标(集群场景丢包率为 0)。
  5. 已关闭或放行 SELinux / 安全策略对应用目录的限制。
2

系统与存储(4 项)

  1. 文件句柄数上限已调整(建议 ≥65535)并持久化生效。
  2. 数据盘独立挂载并完成 IOPS 抽测(随机写建议 ≥1000 IOPS)。
  3. 目录权限与运行用户已规划,禁止使用 root 运行应用进程。
  4. 备份目录与数据盘不在同一物理磁盘,备份空间 ≥数据量的 1.5 倍。
3

数据与账号(3 项)

  1. 数据库实例已创建,账号具备建表与读写权限,字符集为 UTF-8。
  2. 已准备域名与 TLS 证书(生产环境必须使用 HTTPS)。
  3. 已确认单点登录对接方式并拿到测试账号(如启用 SSO)。
!

最容易踩的三个坑

  • 时间不同步导致签名校验失败、日志顺序错乱、定时任务漂移。
  • 文件句柄数未调整,压测时批量上传出现「Too many open files」。
  • 数据盘与备份盘同盘,磁盘故障后备份一并丢失,等于没有备份。

标准部署流程分几步?每步产出是什么

结论:共六步——环境准备、依赖安装、初始化配置、服务启动、健康检查、验收交付。每步都有明确的产出物与准入条件,前一步未通过不进入下一步。以下命令为格式示例,占位值需替换为实际环境参数。

1

环境准备

主机、网络、存储、账号就绪

2

依赖安装

运行时、数据库客户端、中间件

3

初始化配置

配置文件、数据库建表、管理员

4

服务启动

服务拉起、开机自启、日志落盘

5

健康检查

接口探活、链路连通、性能基线

6

验收交付

功能验收、文档交接、回滚演练

第 1 步:环境准备(产出:环境检查表)

创建运行用户与目录、挂载数据盘、配置时间同步与文件句柄数。产出一份由双方签字的《环境检查表》。

# 创建运行用户与目录(示例,路径按实际规划替换)
useradd -m -s /bin/bash draven
mkdir -p /data/draven/{app,storage,backup,logs}
chown -R draven:draven /data/draven

# 校验时间同步与文件句柄数
timedatectl status
ulimit -n

第 2 步:依赖安装(产出:依赖版本清单)

安装运行时、数据库客户端、缓存与消息队列,并确认版本在支持列表内;信创环境需同步安装对应国产数据库的驱动与客户端工具。产出一份《依赖版本清单》,记录每个组件的名称、版本与安装路径。

# 安装依赖并校验版本(示例)
./scripts/install-deps.sh --offline --mirror /opt/pkgs
./scripts/check-deps.sh

# 输出示例:
# [OK] runtime  : 21.x
# [OK] database : 已连通(国产数据库:达梦 / 人大金仓 / 高斯)
# [OK] cache    : 已连通
# [OK] mq       : 已连通

第 3 步:初始化配置(产出:配置文件与数据库结构)

这是全流程中最关键的一步,端口、存储路径、数据库连接串、管理员账号都在此确定。建议使用配置模板生成,避免手工编辑 YAML 缩进错误。数据库建表由迁移脚本完成,执行前必须确认已有全量备份。

# 由模板生成配置,随后按环境修改关键项
cp conf/application.example.yaml conf/application.yaml
vim conf/application.yaml

# 初始化数据库结构(执行前确认已备份)
./scripts/migrate.sh --target latest --dry-run   # 先演练
./scripts/migrate.sh --target latest             # 再执行

# 创建管理员账号(示例占位,口令按客户安全策略设置)
./scripts/create-admin.sh --user admin --email ops@example.com

第 4 步:服务启动(产出:服务状态清单)

按「数据库与中间件 → 应用服务 → 网关」的顺序拉起,配置开机自启与进程守护。启动顺序错误是最常见的首次启动失败原因:应用会在数据库未就绪时反复重启并写满日志。

# 拉起服务并设置开机自启(示例)
systemctl enable --now draven-core
systemctl enable --now draven-gateway
systemctl status draven-core draven-gateway

# 实时观察启动日志,确认无 ERROR
journalctl -u draven-core -f

第 5 步:健康检查(产出:健康检查报告)

结论:健康检查必须覆盖「进程存活、接口可用、依赖连通、性能基线」四层,只看进程存活是不够的。健康检查接口返回 200 且各依赖项为 up 才算通过。

# 探活与健康检查(域名与端口为示例占位)
curl -s -o /dev/null -w "%{http_code}\n" https://ai.example.com/health
curl -s https://ai.example.com/health/detail | head -40

# 预期输出中各依赖状态应为 up:
# {"status":"up","db":"up","cache":"up","mq":"up","storage":"up","search":"up"}

第 6 步:验收交付(产出:验收报告与运维手册)

按「部署后验证清单」逐项打勾,完成一次真实业务的端到端演练(上传资产 → 检索 → 问答 → 看板出数),并做一次回滚演练确认预案可用。交付物包括验收报告、配置文件副本、运维手册与紧急联系人清单。相关的角色与流程说明可参考 私有化部署服务 页面中的实施阶段划分。

关键配置项有哪些?取值怎么定

结论:90% 的线上问题集中在五类配置——端口与域名、存储路径、数据库连接池、备份策略、日志级别。配置修改后需重启对应服务生效,禁止在运行中直接改数据库参数表绕过配置中心。

配置类别典型配置项建议取值注意事项
端口与域名网关端口、应用端口、内部通信端口对外统一走 443,内部端口不暴露内外网端口分离;修改后需同步更新防火墙与负载均衡配置
存储路径资产存储目录、索引目录、临时目录分别挂载独立子目录,临时目录单独限速禁止把存储目录放在系统盘;迁移路径需走配置变更而非直接挪文件
数据库连接池最大连接数、最小空闲、超时回收单节点 20 至 50;总连接数 ≤ 数据库上限的 80%集群场景需按节点数折算,避免多节点叠加打满数据库连接
备份策略全量周期、增量周期、保留份数、异地副本全量每周 1 次,增量每日 1 次,保留 ≥3 份备份必须做恢复演练;备份盘与数据盘物理隔离
日志级别全局级别、模块级别、审计日志开关生产默认 INFO,排障期临时 DEBUG 并在 24 小时内恢复DEBUG 会显著放大磁盘写入;审计日志独立存储且不可关闭
⚙

数据库连接池为什么必须按节点数折算?

数据库的最大连接数是全局上限,集群每增加一个应用节点就线性增加一份连接占用。若单节点配置 50 而数据库上限 200,四节点即可打满,表现为偶发的「获取连接超时」。正确算法是:单节点上限 ≈(数据库最大连接数 × 0.8)÷ 应用节点数。

▣

存储路径能否后期调整?

可以,但必须走标准变更流程:先停写、再迁移数据、改配置、校验一致性、恢复写入,禁止在运行中直接移动目录。资产量在百万级时,迁移耗时以小时计,需提前申请停机窗口并在变更单中写明回滚步骤。

如何安全地升级与回滚?

结论:升级前必须完成「全量备份 + 配置差异比对 + 回滚演练」三件事,且只能在有停机窗口的时间段执行。回滚的唯一可靠依据是升级前的完整快照,而不是靠卸载新版本。

标准升级步骤

  1. 阅读目标版本的发布说明,确认是否有不兼容变更与数据库结构变更。
  2. 在与生产同版本的预发布环境完成升级演练,记录耗时与异常。
  3. 执行全量备份(数据库 + 资产文件 + 配置文件),校验备份可恢复。
  4. 比对新旧配置差异,补齐新增配置项,保留旧配置副本。
  5. 停止写入(开启维护模式),按依赖顺序升级组件,执行数据库迁移脚本。
  6. 启动服务并执行健康检查,确认接口、检索、问答、看板四条主链路正常。
  7. 关闭维护模式,观察 24 小时性能指标,无异常后签署升级确认单。

回滚预案

回滚分两级:应用级回滚(换回旧版本程序包,适用于无数据库结构变更的小版本升级,耗时约 10 至 30 分钟)与全量回滚(恢复数据库与资产快照,适用于含结构变更的大版本升级,耗时等于备份恢复时长)。全量回滚会丢失升级后新产生的数据,因此必须在回滚前导出增量数据并告知业务方。

↺

升级注意事项

  • 跨大版本升级不可跳级,需按版本顺序逐级升级。
  • 数据库结构变更与程序版本强绑定,禁止只升程序不升结构。
  • 集群场景采用滚动升级,先升一个节点验证再全量推进。
  • 升级期间禁止同时做配置变更,否则故障无法归因。
⏱

停机窗口如何估算?

  • 小版本(无结构变更):单节点约 10 分钟,集群可做到无感。
  • 大版本(含结构变更):按「备份时长 + 迁移时长 + 验证时长」合计,通常 1 至 4 小时。
  • 窗口应在业务低峰期,并预留与升级等长的回滚时间。

部署完成后如何验证才算通过?

结论:以下 15 项全部通过方可签署验收,任何一项失败都要回到对应步骤重做,不允许「先上线后补」。建议由客户方操作人员执行验证,实施方只做指导,以验证运维交接是否到位。

A

基础功能(5 项)

  • 管理员可登录,SSO(如启用)可正常跳转回跳。
  • 四大资产域均可创建与查看条目。
  • 上传文档后可检索到,检索延迟在约定范围内。
  • 知识问答可返回带引用的答案。
  • 数据看板可正常出数,数值与源数据一致。
B

可靠性(5 项)

  • 重启任一应用节点后业务自动恢复(集群场景)。
  • 数据库主备切换演练通过(主从/集群场景)。
  • 备份任务按策略执行且备份文件可恢复。
  • 磁盘水位告警与接口告警能真实触达值班人。
  • 日志落盘完整,审计日志可查询。
C

安全与合规(5 项)

  • 全站 HTTPS,无明文 HTTP 入口。
  • 默认账号口令已修改,弱口令检查通过。
  • 权限模型按客户组织架构配置并抽样验证越权拦截。
  • 对外接口鉴权开启,未鉴权访问被拒绝。
  • 开放端口清单与申请一致,无多余监听端口。

部署常见问题

以下是实施现场最常遇到的 8 个问题,答案给出了可直接执行的判断与处理方式。

1. 部署一套 DravenAI 需要多长时间?

环境就绪的前提下,单机形态通常 0.5 至 1 个工作日,主从形态 1 至 2 个工作日,集群形态 3 至 5 个工作日(含联调与压测)。实际耗时主要取决于环境准备与账号审批,而不是安装本身,因此建议提前一周启动环境准备工作。可参考 私有化部署服务说明 规划实施排期。

2. 能否在无外网的内网环境部署?

可以,这是私有化部署的主要场景之一。离线部署需提前获取离线安装包与镜像仓库包,导入内网后按离线模式安装;许可激活采用离线授权文件方式。需要注意的是模型与词库等资源的离线更新需要走定期人工导入,应在运维手册中明确更新周期。

3. 国产数据库适配需要额外做哪些工作?

需要在初始化配置阶段指定数据库方言并加载对应驱动,迁移脚本会自动按方言生成表结构。上线前必须做三项验证:建表语句在目标库执行通过、分页与批量写入性能达标、备份工具支持该数据库。建议在与生产同版本的库上先做一次完整迁移演练。

4. 首次启动失败,日志显示无法连接数据库怎么办?

按「网络 → 账号 → 驱动 → 字符集」四步排查:先用客户端工具从应用服务器直连数据库验证网络与账号,再检查驱动版本与数据库版本是否匹配,最后确认字符集与排序规则正确。多数情况下问题出在防火墙未放通或账号只有库级权限而无建表权限。

5. 集群部署时各节点配置必须完全一致吗?

公共配置(数据库连接、存储路径、密钥、外部地址)必须一致,节点特有配置(节点 ID、监听地址、副本角色)必须不同。建议用同一份配置模板渲染,只替换节点变量,避免手工维护多份配置导致漂移。会话与文件需使用共享存储或集中式会话,否则会出现登录状态在节点间丢失。

6. 磁盘空间应该如何规划才不会很快告急?

按资产原始文件大小的 2.5 倍预留,其中包含向量数据、全文索引、缩略图、版本历史与日志。建议配置三层水位告警:70% 提示、85% 预警、95% 严重,并提前规划扩容或归档策略。历史版本与回收站是两大隐性占用源,需在运维手册中设定清理周期。

7. 升级失败后数据会不会丢失?

只要升级前完成了全量备份且备份校验通过,数据不会丢失,回滚后可恢复到升级前状态。风险在于含数据库结构变更的大版本升级:若迁移脚本执行到一半失败,需要按迁移工具记录的断点继续或回滚,因此必须保留迁移日志并禁止手工修改结构。

8. 部署完成后由谁负责日常运维?

私有化部署的日常运维由客户方承担,实施方交付运维手册与培训;如需托管运维或驻场支持,可在服务合同中约定。建议客户方至少指定两名运维人员完成交接培训,并明确备份检查、证书到期、磁盘水位三项周期性任务的责任人。

下一步读什么

⌘

开放 API 与集成指南

部署完成后如需与既有系统对接,阅读 开放 API 与集成指南,了解鉴权方式、接口分组与调用约束。

⛨

安全与权限配置

上线前必读 安全与权限配置,完成 SSO 对接、权限模型设计与审计留痕配置。

◫

文档中心索引

返回 技术文档中心 查看全部文档与按角色的阅读路径;术语疑问可查 行业知识库术语表。

需要现场实施支持?

陕西盘龙石科技提供从环境勘测、部署实施到运维交接的完整交付服务,支持信创环境与私有云环境。