
Поймал странный глюк при установке NVMe дисков в сервер HPE Proliant DL380 Gen10 с Linux на борту. Диски определились в iLO, видны в lspci
, однако, nvme list
их не показывает. Dmesg плюётся ошибками:
nvme nvme15: missing or invalid SUBNQN field
nvme nvme15: Shutdown timeout set to 15 second

Первым делом нужно попробовать "передёрнуть" диск. Определяем адрес PCI:
lspci | grep -E "NVMe|Non-Volatile"
Получаем список устройств.
b1:00.0 Non-Volatile memory controller: SK hynix Device 2429 (rev 01)
b2:00.0 Non-Volatile memory controller: SK hynix Device 2429 (rev 01)
Наша задача, определить нужную железку и адрес PCI.
cd /sys/bus/pci/drivers/nvme/
ll
Сравниваем два списка. Находим отсутствующее устройство. Отключаем устройство и сканируем:
echo 1 > /sys/bus/pci/devices/0000\:b1\:00.0/remove
echo 1 > /sys/bus/pci/rescan
Здесь самое важное, не удалить что-нибудь не то. Если ошибиться с диском, то можно потерять данные.
Если не помогло, пробуем перезагрузить сервер.