Найти в Дзене

Реанимация NVMe диска в Linux — 2

Имеется сервер с операционной системой Oracle Linux. В сервере два NVME диска Samsung, которые объединены в зеркальный RAID1 массив.

Samsung SSD MZPLJ12THALA-00007 — NVMe 12.8 ТБ

Один из NVMe дисков на сервере перестал работать. Массив, собранный с помощью mdadm выкинул сбойный диск и продолжил в статусе degraded.

-2

Посмотреть информацию об NVMe дисках можно с помощью утилиты nvme из пакета nvme-cli:

yum install nvme-cli
или
apt install nvme-cli

nvme list

Однако, утилита не смогла обнаружить второй NVMe диск и его контроллер.

Сервер в работе, перезагружать его нельзя. Можно посмотреть, определяется ли диск как PCI устройство командой lspci. Диски бывают разные, поэтому приходится думать, как именно обнаружить устройство в списке. Но у меня два одинаковых диска, один из них точно работает, поэтому мне проще. В итоге я вычисляю устройства. В списке присутствуют оба диска:

lspci | grep Samsung
02:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd Device a824
81:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd Device a824

Заходим в /sys/bus/pci/drivers/nvme/ и видим, что устройство 0000:02:00.0 имеется, а вот второго нет. Удаляем отсутствующий диск из списка устройств и заново сканируем PCI.

echo 1 > /sys/bus/pci/devices/0000\:81\:00.0/remove
echo 1 > /sys/bus/pci/rescan

На этом, собственно, всё. Диск определился.

-3

Возвращаем диск в массив.

mdadm /dev/md30 --add /dev/nvme1n1p1
-4

Массив начал восстанавливаться.

-5

Ссылки

Реанимация NVMe диска в Linux

Источник:
https://internet-lab.ru/nvme_rescan_pci

💰 Поддержать проект

Если вам понравилась статья, то ставьте 👍🏻 каналу.
Пишите комментарии, задавайте вопросы, подписывайтесь.