我有一个简单的服务器设置:
2 个 NVME SSD 磁盘(均为 SAMSUNG MZVLB1T0HALR-00000,容量为 1TB)合并到 RAID0。
操作系统 Ubuntu 19.04
今天我的系统停止响应。重启也没用。我通过 KVM 连接并在启动屏幕上注意到以下错误消息:
md/raid0:md0: too few disks (1 of 2) - aborting!
md: pers->run() failed ...
mdadm: failed to start array /dev/md/0: Invalid argument
md/raid1:md1: active with 1 out of 2 mirrors
md1: detected capacity change from 0 to 536281088
md/raid0:md2: too few disks (1 or 2) - aborting!
md: pers->run() failed ...
mdadm: failed to start array /dev/md/2: Invalid argument
然后启动救援系统并尝试检查磁盘是否有错误,但我找不到第二个磁盘。只有/dev/nvme0
但没有/dev/nvme1
。
我写信给技术支持(我的服务器在 Hetzner),请他们帮我检查磁盘。他们关闭了服务器一分钟,然后将其打开,并能够在救援系统中看到第二个磁盘。
他们检查了两个驱动器是否存在错误,第一个驱动器显示了一些 SMART 错误:
sudo nvme smart-log /dev/nvme0
Smart Log for NVME device:nvme0 namespace-id:ffffffff
critical_warning : 0
temperature : 33 C
available_spare : 100%
available_spare_threshold : 10%
percentage_used : 21%
data_units_read : 279,672,974
data_units_written : 366,481,283
host_read_commands : 2,479,016,466
host_write_commands : 2,637,293,356
controller_busy_time : 19,928
power_cycles : 10
power_on_hours : 5,153
unsafe_shutdowns : 4
media_errors : 21
num_err_log_entries : 26
Warning Temperature Time : 0
Critical Composite Temperature Time : 0
Temperature Sensor 1 : 33 C
Temperature Sensor 2 : 39 C
Thermal Management T1 Trans Count : 0
Thermal Management T2 Trans Count : 0
Thermal Management T1 Total Time : 0
Thermal Management T2 Total Time : 0
他们告诉我磁盘似乎坏了,需要更换。当然,所有数据都会丢失。
我尝试再次重新启动系统(因为他们设法重新连接了第二个磁盘),系统正常加载!
然后我尝试用nvme error-log
命令读取错误日志,但它只显示“SUCCESS”条目:
sudo nvme error-log /dev/nvme0
Error Log Entries for device:nvme0 entries:64
.................
Entry[ 0]
.................
error_count : 0
sqid : 0
cmdid : 0
status_field : 0(SUCCESS: The command completed successfully)
parm_err_loc : 0
lba : 0
nsid : 0
vs : 0
cs : 0
.................
Entry[ 1]
.................
error_count : 0
sqid : 0
cmdid : 0
status_field : 0(SUCCESS: The command completed successfully)
parm_err_loc : 0
lba : 0
nsid : 0
vs : 0
cs : 0
...and so on
系统似乎运行正常。我不知道那是什么。但由于某种原因,其中一个磁盘突然停止运行,直到完全重启并暂停后才启动。
现在我想知道 - 有没有办法读取实际的错误日志?并测试磁盘以确保它确实需要更换?
答案1
如果系统按预期运行且没有报告其他错误,那么一切就应该正常。
根据NVM Express 管理接口说明:“除成功之外的响应消息状态值表示发生了错误[...]”