У меня простая настройка сервера:
2 NVME SSD диска (оба SAMSUNG MZVLB1T0HALR-00000 по 1 ТБ), объединенных в 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) и попросил проверить диски для меня. Они выключили сервер на минуту, затем включили его и смогли увидеть 2-й диск в системе восстановления.
Они проверили оба диска на наличие ошибок, и на первом были обнаружены ошибки 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
Они сказали мне, что диск выглядит неисправным и его нужно заменить. Конечно, все данные будут потеряны.
Попробовал просто еще раз перезагрузить систему (так как 2-й диск удалось подключить обратно) и система нормально загрузилась!
Затем я попытался прочитать журнал ошибок с помощью nvme error-log
команда, но она показывает только записи "УСПЕШНО":
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
Система работает нормально. Я не знаю, что это было. Но почему-то один из дисков внезапно остановился и не хотел запускаться до полной перезагрузки с паузой.
Теперь мне интересно - есть ли способ прочитать фактический журнал ошибок? И протестировать диски, чтобы убедиться, что их действительно нужно заменить?