KLBurn

开源 · 服务器出厂老化测试启动盘

插上 U 盘,开机,
走开。

跑完拔盘,U 盘里就有一份中文验收报告(HTML + PDF)和全部原始数据。不用装系统,也不依赖任何服务端。

  • 基于 Ubuntu 24.04.4
  • x86_64 服务器
  • UEFI / Legacy
  • MIT 源码
+=====================================================+
|  SELECT TEST SCOPE                                  |
+=====================================================+
  [0]  SHELL           root command line
  [1]  FULL BURN-IN    everything, one session (default)
  [2]  CPU ONLY        stress + computation validation
  [3]  MEMORY ONLY     stress + ECC re-check
  [4]  GPU ONLY        stress + vendor diagnostics
  [5]  DISK ONLY       still asks before writing
  [6]  INVENTORY ONLY  collect + cross-check only

  Press 0-6, ENTER to accept.  Auto-select in 34s
开机第一屏:选测试范围,60 秒不按就默认全量。
测试阶段
6个

采集到测后复查

判定状态
4态

PASS / WARN / SKIP / FAIL

内存专用版
~3分钟

开机不问任何东西

服务端依赖
0

报告直接落在 U 盘

01 · 下载

两种盘,按任务挑一张

两种盘出自同一份源码、同一个版本号,每次成对发布。

正在读取版本数据…

FULL

整机测试版

出厂验收、整机老化

  • 开机选范围(全量 / CPU / 内存 / 显卡 / 硬盘 / 仅清单)和时长
  • 采集 → 核对 → 基准 → 专项验证 → 压测 → 测后复查
  • 不按任何键,默认「全量 + 标准 30 分钟」

正在读取下载信息…如果一直没有出现下载按钮,请到 GitHub Releases 下载。

MEM

内存专用版

一批内存逐台过筛、查假条子

  • 什么都不用选,约 3 分钟出结果
  • 逐条读出槽位、型号、序列号、生产周次,压测并查 ECC
  • 序列号重复、SPD 被克隆都会标出;只有内存坏才判 FAIL

正在读取下载信息…如果一直没有出现下载按钮,请到 GitHub Releases 下载。

定制构建工具

换成自己的名称、报告抬头和标识。Windows / macOS / Linux 提供命令行入口,ISO 在 x86_64 Ubuntu 24.04 上构建(本机或 SSH 构建机)。

工具包随通过验收的版本一起发布。

定制与环境要求 ↗

历史版本

公开版本索引还没有内容。

GitHub Releases ↗ 更新日志 ↗

02 · 快速上手

从下载到报告,四步

需要一根 16 GB 左右的 U 盘和一台 Windows 电脑(用来写盘、看报告)。

  1. 校验镜像

    下载 ISO 后比对 SHA256。full 和 mem 的校验值不一样,别混用。

  2. 制作 U 盘

    用 Rufus 写盘,分区类型选 GPT。点「开始」后必须选「DD 映像模式」;写完 Windows 提示格式化时点取消。

  3. 建报告分区

    在 U 盘剩余空间新建一个 exFAT 分区,卷标写 KLBURN(全大写),报告就存在这里。

  4. 开机,等报告

    BIOS 启动菜单选 U 盘,选好范围和时长后就可以离开。出现 PASS / FAIL 大字后拔盘,打开 .html 或 .pdf 报告。

注意:写盘会清空整根 U 盘。硬盘压测会擦除被测服务器的数据盘,所以要确认两次,默认跳过。

03 · 报告

跑完一轮,U 盘里多一个文件夹

交付给客户的只有同名的 HTML 和 PDF。原始数据都在 raw\ 里,留给自己排查,不外发。

  • 交付报告HTML 与 PDF 同一份内容,抬头写明本轮测试范围
  • 逐条判定results.jsonl 每条判定一行,整机结论就从这里算
  • 可校验SHA256SUMS 覆盖整个目录,拿到手能核对有没有被改过
├── …_Full.html           交付
├── …_Full.pdf            交付
├── meta.json             版本、范围、时长
├── results.jsonl         每条判定一行
├── metrics.jsonl         零散实测数值
├── sys_metrics.csv       压测期间每 5 秒采样
├── gpu_metrics.csv       逐卡 20 列监控
├── klburn.log            全程运行日志
├── SHA256SUMS            整个目录的校验清单
└── raw\                  不外发
    ├── INTERNAL_….html   内部工程报告
    ├── smart-pre\  smart-post\
    ├── counters-pre.txt  counters-post.txt
    └── bench\ validate\ stress\ …
实测一份完整档:128 个文件、1.5 MB。

04 · 测试内容

六个阶段,压测之后还要复查

压测跑完不报错,不等于机器没问题,关键要看压测把什么问题逼了出来。

  1. 采集整机、CPU、逐条内存、硬盘(含阵列卡后的物理盘)、网卡、显卡、电源、BMC
  2. 核对同规格部件的型号与固件、内存容量、PCIe 降级、序列号。配置不一致判 WARN
  3. 基准CPU 浮点、内存带宽、硬盘读写、显卡带宽与互联。只报数,不判合格
  4. 专项CPU 计算正确性、SMART 自检、网卡自检、显卡厂商诊断
  5. 压测CPU / 内存 / 显卡并发跑满时长,硬盘单独跑
  6. 复查ECC、热节流、PCIe AER、内核日志、BMC 事件、SMART 增量,都按压测前后的差值判

整机版的六个范围

1
全量测试出厂验收用这个 · _Full
2
CPU换过 CPU、怀疑算错 · _CPU
3
内存换过内存、查 ECC · _MEM
4
显卡只验显卡 · _GPU
5
硬盘时长全给硬盘 · _DISK
6
仅导出报告几分钟出配置清单 · _INFO

单项范围的报告不能当整机验收依据,报告抬头会写明本轮范围。

05 · 判定原则

宁可说「没测」,也不乱判

四态判定

PASS / WARN / SKIP / FAIL。没装显卡、没接网线判 SKIP,装了却认不到才判 FAIL。一条判定都没有时,报告会写明本报告无效。

性能只报不判

代码里没有任何「参考值」。由做验收的人,用自己的标准去对实测数据。

不冤枉好机器

测试环境自己的问题(比如 OOM、驱动不支持新卡)判 WARN 或 SKIP,并写明原因。

阵列卡后面也查

自动识别 RAID 卡,逐块透传读物理盘的 SMART,避免「报告写 PASS,一块盘都没查」。

不会写坏启动盘

硬盘压测的目标盘要经过五道排除,Ventoy 场景按设备号反查;破坏性写入要确认两次。

报告一定落盘

报告分区有四层回退查找,都找不到时屏幕上会给黄色大框警告,不会悄悄丢报告。

许可与归属

KLBurn 自有的原创代码采用 MIT。ISO 里的 Ubuntu、内核、固件、字体、运行库和第三方工具仍适用各自的许可证,整张 ISO 并不统一采用 MIT。见第三方归属与分发说明。

问题反馈请提 Issue。版权或许可问题请发邮件到 yiyezq162@gmail.com,并写明版本、文件和权利依据。我们核实后会按适用许可处理。

This product includes software developed at the University of Tennessee, Knoxville, Innovative Computing Laboratory.

This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit. (http://www.openssl.org/)

This product includes cryptographic software written by Eric Young (eay@cryptsoft.com).

This product includes software written by Tim Hudson (tjh@cryptsoft.com).

以上是 HPL 和 shim 所含代码的必要归属声明,不代表相关机构或作者为 KLBurn 背书。shim 完整版权原文