13

У меня есть физическая машина под управлением Linux (в частности, CentOS 6.3), и я хочу знать, сколько портов SATA в настоящее время не используется (т.е. ничего не подключено). Конечно, я мог бы просто открыть машину, но допустим, у меня нет физического доступа. Есть ли команда, которую я могу использовать, чтобы показать, какие порты SATA не используются?

Я уже знаю о команде lshw , но, насколько я могу судить, в ней перечислены только используемые порты SATA, а не свободные.

2 ответа2

15

Прошло три года, но если кто-то приходит через Google, то здесь: Если у вас включен EPEL, то установите lsscsi, он в основном дает информацию о подключенных устройствах, но вам нужен параметр -H:

--hosts | -H перечисляет хосты scsi, а не устройства scsi

Сравните с другим режимом вывода, и вы получите разницу:

root@server1:~# lsscsi -H
[0]    ata_piix  
[1]    ata_piix  
[2]    ata_piix  
[3]    ata_piix  
[4]    usb-storage
root@server1:~# lsscsi -g
[0:0:0:0]    disk    ATA      WDC WD2004FBYZ-0 RR03  /dev/sda   /dev/sg0
[0:0:1:0]    disk    ATA      WDC WD2004FBYZ-0 RR04  /dev/sdb   /dev/sg1
[1:0:0:0]    disk    ATA      WDC WD2004FBYZ-0 RR03  /dev/sdc   /dev/sg2
[4:0:0:0]    disk    Seagate  Backup+  Desk    0342  /dev/sdd   /dev/sg3

ОБНОВЛЕНИЕ: Не обращайте на это внимания, не устанавливая ничего:

dmesg | grep 'SATA link down'

покажет вам неиспользуемые порты.

5

Есть ли команда, которую я могу использовать, чтобы показать, какие порты SATA не используются?

Нет, но вы можете сделать наоборот. Вы можете указать, какие порты используются. Затем посмотрите (в руководстве), сколько портов на материнской плате, вычтите, сколько уже используется и получите количество оставшихся портов.

Предполагается, что к каждому разъему SATA подключен один диск SATA (например, нет множителей портов).


Есть несколько способов это сделать.

Если на всех контроллерах SATA загружены драйверы (довольно нормальные), я нахожу fdisk -l чтобы вывести список всех дисков самым простым способом.

Если у вас больше нет fdisk (он заменяет мои более современные варианты, такие как gpart), тогда вы можете прочитать журнал загрузки. Некоторые из них показывают, что в CentOS это доступно через dmesg, но вы также можете читать файлы журналов напрямую. Они, вероятно, находятся в /var/log/dmesg.log, /var/run/dmesg.boot или в /var /log /boot. (Держать это немного общим для людей, не использующих CentOS).

Тогда есть lspci. В этом списке перечислены все устройства PCI и PCI-e, включая контроллеры SATA. Добавьте -v чтобы получить более читаемый вывод.

Или используйте dmidecode. Это просит BIOS для информации. Если вывод этой команды кажется чрезмерным, ограничьте его параметром -t NR .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .