Как я могу получить конкретное расположение SSD-дисков, подключенных мостом USB-SATA?

Я надеюсь, что кто-то может ответить на мой вопрос, потому что сейчас я в порядке.

У меня уже есть программа на Python, которая проверяет информацию прошивки SSDs и информацию о базе данных. Итак, если все в порядке, программа вставляет информацию в другую базу данных, где все проверенные SSD.

Однако это не проблема.

Метод, который я использовал для создания этой программы работать визуально - получить строку из команд, чтобы изображения соответствовали физическому расположению диска, поэтому оператор может знать, какой диск хорош или плох.

Скажем, команда:

readlink /sys/block/sd?

дает мне этот вывод:

../devices/pci0000:00/0000:00:1f.2/ata6/host5/target5:0:0/5:0:0:0/block/sda

Из вывода я беру в качестве ссылки положение ATA порт. В этом случае это будет: ata6

Этот метод жестко запрограммирован, поэтому, если настройка кабеля смешана, изображение не будет правильно отображаться.

Теперь у меня есть мои цели - тестовая плата SSD, которая представляет собой 8-портовый PC-порт, способный передавать питание на диски, поэтому его можно прочитать на компьютере.

Первоначально и даже сейчас установка ограничена 5 дисками в валидация, 6-й порт зарезервирован для ОС SSD.

Теперь мне нужно сделать, чтобы упомянутая панель работала с 8 мостами USB-SATA, поэтому их можно использовать на всех ПК, но предыдущая команда не работает мне по-прежнему.

Я запускаю его, и он дает мне следующий вывод:

../devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3/2-1.3.1/2-1.3.1:1.0/host94/target94:0:0/94:0:0:0/block/sdb ../devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3/2-1.3.3/2-1.3.3:1.0/host100/target100:0:0/100:0:0:0/block/sdc

Я не могу взять usb2 в качестве ссылки, потому что он одинаковый для всех и хост (m), где m - это число, увеличивается каждый раз, когда SSD подключен или отключен.

Я хотел бы спросить:

Как отключить и смонтировать мосты USB-SATA, чтобы они могли сбросить номер хоста до 0 или 1? Есть ли лучший способ динамически сопоставить физическую позицию с виртуальной позицией, скажем, sd (n) соответствует host (m)? Какие команды мне нужно запускать в терминале, чтобы получить более точный подход к физико-логическому совпадению?

EDIT: Для справки, когда я впервые подключаю мосты SATA-USB, они запускаются как смонтированные (даже если нет подключенных SSD), поэтому предыдущая команда дает мне следующий вывод:

../devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3/2-1.3.1/2-1.3.1:1.0/host103/target103:0:0/103:0:0:0/block/sdb ../devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3/2-1.3.2/2-1.3.2:1.0/host104/target104:0:0/104:0:0:0/block/sdc ../devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3/2-1.3.3/2-1.3.3:1.0/host105/target105:0:0/105:0:0:0/block/sdd ../devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3/2-1.3.4/2-1.3.4:1.0/host106/target106:0:0/106:0:0:0/block/sde ../devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.4/2-1.4.1/2-1.4.1:1.0/host107/target107:0:0/107:0:0:0/block/sdf ../devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.4/2-1.4.2/2-1.4.2:1.0/host108/target108:0:0/108:0:0:0/block/sdg ../devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.4/2-1.4.3/2-1.4.3:1.0/host109/target109:0:0/109:0:0:0/block/sdh ../devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.4/2-1.4.4/2-1.4.4:1.0/host110/target110:0:0/110:0:0:0/block/sdi

Они на самом деле выглядят так, как будто они упорядочены, но если я отключу их снова и снова подключу, они иногда получат неправильный порядок.

1
задан 25 July 2017 в 19:13

0 ответов

Другие вопросы по тегам:

Похожие вопросы: