选型与验收72 条

NVMe 设备验收

NVMe 验收核对识别、固件、SMART 与性能:nvme list 全量识别、id-ctrl 查固件、smart-log 看健康与温度,性能用 libaio 引擎复核。

NVMe 验收四项

NVMe 验收核对识别、固件、健康与性能四件事:设备列表确认所有盘被识别并对应槽位,控制器标识查固件版本,SMART 日志看温度与介质错误,性能用贴近真实负载的异步引擎复核。PCIe 通道分配与盘位散热直接决定性能上限,数据异常时先核对这两项。

基本信息

识别核对设备列表与物理盘位的对应关系
固件版本控制器标识中的版本与序列号
健康状态SMART 日志中的温度与错误计数
性能复核异步引擎加直接 IO 测试
环境前提PCIe 链路宽度与盘位散热条件
留档内容盘清单、固件版本与性能测试结果

典型使用场景

  • 新机验收:逐盘核对识别、固件与健康状态
  • 换盘复测:替换后确认识别正常且性能无异常
  • 过热排查:性能波动时先看控制器与盘温度
  • 固件升级:升级后复测健康与性能指标
  • 交付留档:保存盘清单、固件与序列号记录
  • 故障复盘:与基线数据对比定位劣化的盘
  • 扩容评估:新增盘位后核对总能力是否线性提升

识别与性能复核

识别与性能复核
# 列出所有 NVMe 设备
nvme list
# 控制器信息:固件版本、序列号与型号
nvme id-ctrl /dev/nvme0 | grep -iE 'fr|sn|mn' | head
# 健康状态:温度、可用备用块与介质错误
nvme smart-log /dev/nvme0 | head -20
# 性能复核:异步引擎加直接 IO,贴近真实负载
fio --name=nvme-rand --filename=/dev/nvme0n1 --rw=randread --bs=4k \
    --iodepth=64 --ioengine=libaio --direct=1 --runtime=180 --time_based --group_reporting

验收项与异常

项目核对内容异常表现
设备识别盘数与槽位对应关系缺盘或多识别
固件版本控制器与盘固件与基线清单不一致
健康计数SMART 中的错误项介质错误持续增长
温度控制器与盘温度逼近上限触发降速
性能IOPS 与时延明显低于同型号基线
用默认的缓冲方式压测,测到的其实是内存速度:NVMe 的能力要用直接 IO 与足够队列深度才能体现出来。
性能异常时不要急着换盘:先核对 PCIe 链路宽度与盘位散热,这两项配置问题导致的降速比盘故障更常见。

易错点

  • 用默认缓冲 IO 压测:测到的是内存速度,结论无效
  • 不检查温度:过热降速被忽略,性能问题反复出现
  • 不记录固件版本:后续对比与升级缺少基线
  • 忽略 PCIe 链路宽度:通道不足导致能力被限制却不自知

数据来源与参考

  • nvme-cli 文档
  • fio 文档
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌