Существует ли более быстрый способ сканирования портов SCSI, отличный от "sbin/rescan-scsi-bus"?
В настоящее время я разрабатываю программу, которая извлекает и проверяет информацию одновременно на 5 SSD. Моя проблема - команда, которую я использую для сканирования дисков (/sbin/rescan-scsi-bus
) занимает слишком много времени и иногда замораживает мою программу или весь компьютер. Так что я ищу способ сканирования твердотельных накопителей, даже если мне нужно изменить некоторые переменные среды или около того. Я использую тестовую доску для выполнения этого сканирования, и я пробовал другие команды, такие как следующие:
echo 1 > /sys/block/sdX **with** echo "- - -" | tee /sys/class/scsi_host/host?/scan
/sbin/rescan-scsi-bus --luns=0 --ids=0 --channels=0
/sbin/rescan-scsi-bus # with other parameters
И команда bash для удаления всех дисков, кроме того, на котором установлена ОС.
1 ответ
Я пришел с решением моей проблемы.
Даже это старая команда ядра, она помогла мне определить время ожидания и убедиться, что все SSD сканируются перед проверкой.
echo 'scsi add-single-device X 0 0 0' > /proc/scsi/scsi
а также
echo 'scsi remove-single-device X 0 0 0' > /proc/scsi/scsi
где X - это номер хоста, который я хочу смонтировать / размонтировать, в данном конкретном случае, например, для порта 'ATA1' хост равен 0, поэтому это будет:
echo 'scsi add-single-device 0 0 0 0' > /proc/scsi/scsi
а также
echo 'scsi remove-single-device 0 0 0 0' > /proc/scsi/scsi