LHIDC

如何用nvme-cli检查香港服务器SSD健康状态及关键输出指标

本文面向香港服务器验收与运维人员,介绍使用nvme-cli核对NVMe SSD身份、SMART与错误日志的方法,重点解读严重告警、备用空间、寿命消耗、介质错误和温度记录,并说明自检、留证及同条件复测流程。

如何用nvme-cli检查香港服务器SSD健康状态及关键输出指标

验收香港服务器的NVMe SSD硬盘时,最容易忽略的误区是:看到critical_warning: 0便认定硬盘正常。这个字段只能说明当前没有触发严重告警,不能代替对备用空间、寿命消耗、介质错误、过温记录和错误日志的检查。

正确的验收方法是:先确认设备身份,再读取SMART和错误日志,将critical_warningavailable_sparepercentage_usedmedia_errors等指标放在一起判断,最后保存原始输出并对异常项复测。

以下命令适用于Linux直接识别NVMe设备,或虚拟机已经透传NVMe控制器的环境。除可选的设备自检外,主要检查均为只读操作,不会修改磁盘数据。

先明确NVMe SSD验收标准

NVMe SSD没有脱离型号、交付状态和使用历史的统一温度、通电时间或累计写入量标准。验收时可按下表建立正常与异常分界:

验收项目 正常判断 异常或待确认情况
设备身份 型号、序列号、容量、固件与交付信息一致 型号或容量不符,设备无法识别
critical_warning 0x000 任意非零值均需解析告警位
available_spare 不低于available_spare_threshold 低于阈值或触发备用空间告警
percentage_used 与交付状态和使用历史相符 接近或达到100时需核对耐久度与更换计划
media_errors 验收时优先要求为0 非零或复测后继续增长
num_err_log_entries 结合具体错误内容判断 持续增长,或存在介质、数据完整性错误
温度 低于设备自身警告和临界阈值 持续告警,或过温累计时间增加
自检结果 已完成且未发现错误 失败、中止或报告故障段

percentage_used达到100不代表SSD会立即离线,而是控制器估算的额定耐久度已经消耗完毕。反过来,即使该值较低,也不能抵消介质错误、可靠性降低或只读告警。

确认nvme-cli和实际设备

先查看Linux发行版及nvme-cli状态:

cat /etc/os-release
command -v nvme
nvme version

Ubuntu、Debian可安装:

sudo apt update
sudo apt install -y nvme-cli

使用DNF的RHEL、Rocky Linux、AlmaLinux等系统可执行:

sudo dnf install -y nvme-cli

安装通常不需要重启,但生产环境存在软件变更审批时,应先按现有流程确认。

不要直接假设系统盘就是/dev/nvme0n1,应先列出控制器、命名空间和磁盘属性:

sudo nvme list
lsblk -d -o NAME,MODEL,SERIAL,SIZE,ROTA,TRAN

常见命名中,/dev/nvme0是控制器,/dev/nvme0n1是命名空间。本文示例设置为:

CTRL=/dev/nvme0

香港服务器如有多块NVMe SSD硬盘,应分别检查/dev/nvme0/dev/nvme1等控制器,不能只检查系统盘。随后读取设备身份:

sudo nvme id-ctrl -H "$CTRL"

重点核对mnsnfr对应的型号、序列号和固件版本,并确认是否声明支持自检、温度阈值等能力。虚拟机如果只显示普通虚拟磁盘而没有NVMe控制器,则无法通过本机命令判断底层物理SSD健康状态,需要由宿主机侧提供对应日志。

读取SMART并判断关键指标

执行核心检查:

sudo nvme smart-log -H "$CTRL"

需要保存结构化结果时使用:

sudo nvme smart-log "$CTRL" -o json

不同nvme-cli版本的字段名称和显示格式可能略有差异,但判断方法一致。

  • critical_warning:正常应为0。常见位含义为0x01备用空间不足、0x02温度超限、0x04可靠性降低、0x08进入只读状态、0x10易失性内存备份设备异常。多个问题可以叠加,任何非零值都应留证并解析。
  • available_spare:必须与available_spare_threshold比较。前者低于后者时会触发严重告警。
  • percentage_used:表示厂商依据写入、擦除和介质特性估算的寿命消耗。若交付声称使用全新SSD,而该值、通电时间或写入量明显不符合描述,应要求核对设备历史。
  • media_errors:表示控制器检测到的不可恢复数据完整性错误。非零不一定证明当前仍在故障,但必须结合错误日志并复测。
  • num_err_log_entries:属于累计值,其中可能包含不支持的管理命令等非介质错误,不能单独用于判定硬盘损坏。
  • 温度记录:当前温度应与id-ctrl提供的设备警告和临界阈值比较。warning_temp_timecritical_comp_time非零,说明历史上可能出现过温运行;当前温度恢复正常不能消除这段记录。

data_units_readdata_units_written不是直接以GB或TB表示。一个数据单位对应1000个512字节单位,十进制TB可按下式估算:

累计TB ≈ data_units数值 × 512000 ÷ 1000000000000

部分新版nvme-cli会在-H输出中附带可读容量。累计写入量本身不是故障,需要结合SSD额定耐久度、业务时间和交付状态判断。

用错误日志区分历史记录与持续故障

读取最近的错误日志条目:

sudo nvme error-log "$CTRL" -e 64

重点查看有效条目中的error_countstatus_fieldlba和命令信息。空条目通常由零值填充,历史错误也可能来自不支持的管理命令。以下情况应优先处理:

  • media_errors非零,且错误日志指向介质或数据完整性问题;
  • 相同LBA或相同状态错误重复出现;
  • 两次采集之间错误计数继续增长;
  • 同时出现可靠性降低、备用空间不足或只读告警。

如果命令提示设备不存在,应重新执行nvme list确认控制器路径;提示权限不足时使用sudo。不要通过反复重启清除现场后再取证。

维护窗口内可选短自检

自检会增加控制器检测负载,可能影响I/O延迟。业务繁忙、阵列正在重建或设备能力不明确时,不要直接执行。先确认命令和控制器支持情况:

nvme device-self-test --help
sudo nvme id-ctrl -H "$CTRL" | grep -i "self-test"

确认支持后,可在维护窗口启动短自检并读取结果:

sudo nvme device-self-test "$CTRL" --self-test-code=1
sudo nvme self-test-log "$CTRL"

验收成功标准是测试完成且未报告错误。若返回Invalid Opcode或“不支持”类提示,通常表示控制器、固件或虚拟化层未提供该功能,不能仅凭该提示判定SSD故障。

留证、复测并确认交付结果

建议使用UTC时间保存检查环境、设备身份和原始日志:

CTRL=/dev/nvme0
STAMP=$(date -u +%Y%m%dT%H%M%SZ)
DIR="$HOME/nvme-check-$STAMP"

umask 077
mkdir -p "$DIR"

uname -a > "$DIR/system.txt"
nvme version > "$DIR/nvme-version.txt"
sudo nvme list -o json > "$DIR/nvme-list.json"
sudo nvme id-ctrl -H "$CTRL" > "$DIR/id-ctrl.txt"
sudo nvme smart-log "$CTRL" -o json > "$DIR/smart-log.json"
sudo nvme error-log "$CTRL" -e 64 > "$DIR/error-log.txt"

sha256sum "$DIR"/* > "$DIR/SHA256SUMS"

日志可能包含SSD序列号,对外提交副本前应脱敏,原件保存在受控目录。复测应保持同一控制器、同一nvme-cli版本和相近业务负载,并记录两次采集的UTC时间。

如果严重告警持续存在,或media_errors、错误日志计数、过温累计时间继续增加,应先备份业务数据,避免执行写入压测、固件升级、formatsanitize等可能改变现场的操作。最后将两次日志、设备身份、测试条件和时间点一并提交处理,并确认实际型号、容量、固件及健康状态与香港服务器交付信息一致。

上一篇 租用AMD EPYC 4585PX香港服务器:固定带宽、流量计费与超量费用有何差异 下一篇 IIS服务器磁盘占满或响应变慢,如何检查日志增长、NTFS错误与I/O延迟

LHIDC 产品中心

继续查看可购买的海外服务器产品

文章用于辅助选型,最终价格、库存与配置请以产品详情页和下单页面展示为准。

查看产品 查看方案