← 返回文章列表
信创 4 分钟阅读 炬鲸团队

信创环境迁移实操:ARM 采集、国产数据库替换与验证

信创国产化迁移的落地步骤:鲲鹏/飞腾 ARM 采集适配、Elasticsearch 到国产存储的替换、中间件依赖清单与上线后的验证要点。

迁移前先摸清现状

信创改造不是「换台机器重装一遍」,难点在于存量组件和数据的兼容。动手前先盘点三件事:现有采集端跑在什么 CPU 架构(x86 还是 ARM)、后端依赖哪些数据库和中间件、日志和指标的历史数据量有多大。这三项决定了迁移方案和停机窗口。

采集端的 ARM 适配

炬鲸 OBSERVE 的 Agent 和 Collector 同时提供 amd64 与 arm64 两种二进制,覆盖鲲鹏 920、飞腾等主流国产 CPU。在麒麟 V10 / 统信 UOS 上安装:

curl -fsSL https://ob.jjhub.cn/agent/install.sh | ARCH=arm64 bash -s -- --tenant platform --token <token>

安装脚本会自动识别 glibc 版本并选择对应构建。如果内核是国产化加固版,注意关闭 SELinux 或按策略放行 Agent 的端口,这是迁移时最常见的首次启动失败原因。

数据库替换:从 Elasticsearch 到国产存储

很多团队的历史方案是用 Elasticsearch 存日志。信创环境里可以用炬鲸内置的分布式存储完成替换:达梦或 TiDB 作为元数据,自研列式引擎存日志正文。迁移分三步:

  1. 用 jjhub-tools export 把 ES 索引导出为 Parquet;
  2. 用 jjhub-tools import 灌入新集群,工具会自动做字段类型映射和时区校正;
  3. 切流前做双写,观察 24 小时无差异后停掉旧 ES。

索引模板里的 keyword 字段会映射为等价的字典编码列,聚合查询语法不变。

过渡期混合架构

切换很少能一步到位,过渡期会同时跑 x86 和 ARM 两套采集。arm64 与 amd64 二进制共用同一套配置结构和数据模型,混合部署在查询侧完全透明,仪表盘和告警都不需要改。唯一要统一的是安装脚本里显式固定 ARCH 参数,让模板套到错误的主机上时直接报错,而不是装出一个悄悄出错的二进制。

中间件与依赖清单

信创环境常见的坑在中间件:OpenJDK 换成毕昇 JDK 或麒麟自带的 OpenJDK;Redis 换成国产兼容版后注意序列化协议版本;消息队列若从 Kafka 迁移到国产 MQ,需要重配 Collector 的 exporter。建议维护一份依赖清单,逐项标注「已验证 / 需替换 / 不支持」,每次切换前过一遍。

上线后的验证

迁移完成后跑一轮冒烟:模拟告警触发、压测写入吞吐、验证历史数据查询延迟。重点核对时区与字符集——信创环境的默认 locale 常与旧环境不一致,导致日志时间错位或中文乱码。把这些校验写成脚本,纳入每次升级的回归清单,并保留旧 ES 只读一周作为回退。