Wyświetlanie nieużywanych portów SATA w systemie Linux

18

Mam fizyczną maszynę z systemem Linux (w szczególności CentOS 6.3) i chcę wiedzieć, ile portów SATA jest obecnie nieużywanych (tj. Nic nie jest podłączone). Oczywiście mógłbym po prostu otworzyć maszynę, ale powiedzmy, że nie mam fizycznego dostępu. Czy istnieje polecenie, którego mogę użyć, aby pokazać, które porty SATA są nieużywane?

Wiem już o tym lshwpoleceniu, ale o ile wiem, wyświetla tylko używane porty SATA, a nie wolne.

coledot
źródło

Odpowiedzi:

5

Czy istnieje polecenie, którego mogę użyć, aby pokazać, które porty SATA są nieużywane?

Nie, ale możesz zrobić odwrotnie. Możesz wyświetlić listę używanych portów. Następnie sprawdź (w instrukcji), ile portów jest na płycie głównej, odejmij, ile portów jest już w użyciu, i uzyskaj liczbę pozostałych portów.

Zakłada się, że do jednego złącza SATA podłączony jest jeden dysk SATA (np. Brak mnożników portów ).


Można to zrobić na kilka sposobów.

Jeśli wszystkie kontrolery SATA mają załadowane sterowniki (dość normalne), znajdę fdisk -llistę wszystkich dysków w najprostszy sposób.

Jeśli nie masz już programu fdisk (jest on zastępowany przez moje bardziej nowoczesne warianty, takie jak gpart), możesz przeczytać dziennik rozruchu. Niektóre googlingi pokazują, że CentOS ma to dostępne za pośrednictwem dmesg , ale możesz także bezpośrednio czytać pliki dziennika. Prawdopodobnie są w /var/log/dmesg.log, /var/run/dmesg.boot lub w / var / log / boot. (Utrzymanie tego odrobinę ogólnego dla osób nie używających CentOS).

To jest lspci. Zawiera listę wszystkich urządzeń PCI i PCI-e, w tym kontrolerów SATA. Dodaj, -vaby uzyskać łatwiejszy do odczytu wynik.

Lub użyj dmidecode. To prosi BIOS o informacje. Jeśli wynik tej komendy wydaje się przytłaczający, ogranicz ją za pomocą -t NRopcji.

Hennes
źródło
Połączenie lspcii odpowiednia specyfikacja płyty głównej zapewniły mi potrzebne informacje. Dzięki.
coledot
21

Minęły trzy lata, ale jeśli ktoś przejdzie przez Google, oto: Jeśli masz włączony EPEL, a następnie zainstaluj lsscsi , to głównie daje informacje o podłączonych urządzeniach, ale potrzebujesz parametru -H:

--hosts | -H wyświetla listę hostów scsi zamiast urządzeń scsi

Porównaj z innym trybem wyjścia i masz różnicę:

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

AKTUALIZACJA: zignoruj ​​to, bez instalowania czegokolwiek:

dmesg | grep 'SATA link down'

pokaże nieużywane porty.

krigl
źródło
Dzięki, bardzo przydatna. Działa również na Ubuntu ( lsscsijest zawarty w domyślnych repozytoriach, przynajmniej od 16.04 LTS).
gerlos