Я добавил новый диск к моей работающей виртуальной машине Linux.
Можно ли явно добавить устройство SCSI / SATA или повторно сканировать всю шину хоста SCSI / SATA без перезагрузки работающего Linux?
Да, это возможно. Для этого есть несколько способов:
Добавить одно устройство
echo "scsi add-single-device <Host> <Bus> <Target> <Lun>" > /proc/scsi/scsi
В моем случае я добавил единственный диск SCSI / SATA на Host = 8, поэтому команда
echo "scsi add-single-device 8 0 0 0" > /proc/scsi/scsi
Повторное сканирование хост-шины SCSI / SATA
Если в вашу систему было добавлено более одного диска, вы можете сканировать все устройства на явном узле SCSI / SATA.
echo "- - -" > /sys/class/scsi_host/hostHOSTNUM/scan
Т.е. если диск был добавлен в Host = 8, команда будет
echo "- - -" > /sys/class/scsi_host/host8/scan
Повторное сканирование всех хостов SCSI / SATA
Обычно, если вы не знаете номер хоста добавленного диска, вы можете сканировать все хосты SCSI на своем компьютере.
Получите список хостов SCSI / SATA:
Использовать lsscsi чтобы получить список хостов: lsscsi -H
Использовать sysfs чтобы получить список хостов: ls -d /sys/class/scsi_host/host*
.
Повторное сканирование данного хоста: echo "- - -" > /sys/class/scsi_host/hostX/scan
Простой скрипт автоматизации полной проверки
#/bin/bash
# ReScan all SCSI/SATA Hosts
for SHOST in /sys/class/scsi_host/host*; do
echo -n "Scanning ${SHOST##*/}..."
echo "- - -" > ${SHOST}/scan
echo Done
done
В этом ответе были использованы источники: