Auflistung nicht verwendeter SATA-Ports unter Linux
18
Ich besitze eine physische Maschine, auf der Linux ausgeführt wird (speziell CentOS 6.3), und ich möchte wissen, wie viele SATA-Ports derzeit nicht verwendet werden (dh es ist nichts angeschlossen). Natürlich könnte ich die Maschine einfach aufmachen, aber sagen wir mal, ich habe keinen physischen Zugang. Gibt es einen Befehl, mit dem ich anzeigen kann, welche SATA-Ports nicht verwendet werden?
Ich weiß bereits über den lshwBefehl Bescheid , aber soweit ich das beurteilen kann, werden nur die verwendeten SATA-Ports aufgelistet und keine freien.
Gibt es einen Befehl, mit dem ich anzeigen kann, welche SATA-Ports nicht verwendet werden?
Nein, aber Sie können das Gegenteil tun. Sie können auflisten, welche Ports verwendet werden. Schauen Sie dann (im Handbuch) nach, wie viele Ports sich auf der Hauptplatine befinden, subtrahieren Sie die Anzahl der bereits verwendeten Ports und ermitteln Sie die Anzahl der verbleibenden Ports.
Dies setzt voraus, dass Sie ein SATA-Laufwerk pro SATA-Anschluss angeschlossen haben (z. B. keine Port-Multiplikatoren ).
Hierzu gibt es mehrere Möglichkeiten.
Wenn auf allen SATA-Controllern Treiber geladen sind (ziemlich normal), finde ich es fdisk -lam einfachsten, alle Festplatten aufzulisten.
Wenn Sie fdisk nicht mehr haben (es werden meine moderneren Varianten wie gpart ersetzt), können Sie das Boot-Protokoll lesen. Einige googeln zeigen, dass CentOS dies über dmesg zur Verfügung hat , aber Sie können die Protokolldateien auch direkt lesen. Es gibt wahrscheinlich in /var/log/dmesg.log, /var/run/dmesg.boot oder in / var / log / boot. (Dies ist ein bisschen generisch für Leute, die CentOS nicht benutzen).
Dann ist da noch lspci. Hier werden alle PCI- und PCI-e-Geräte einschließlich der SATA-Controller aufgelistet. Hinzufügen -v, um eine besser lesbare Ausgabe zu erhalten.
Oder benutze dmidecode. Dies fragt das BIOS nach Informationen. Wenn die Ausgabe dieses Befehls überwältigend erscheint, begrenzen Sie sie mit der -t NROption.
Eine Kombination aus lspciund den relevanten Motherboard-Spezifikationen lieferte die benötigten Informationen. Vielen Dank.
Coledot
20
Es ist schon drei Jahre her, aber wenn jemand über Google kommt, geht es so: Wenn Sie EPEL aktiviert haben, dann installieren Sie lsscsi , es gibt hauptsächlich Informationen über verbundene Geräte, aber der -H-Parameter ist genau das , was Sie brauchen:
--hosts | -H listet eher SCSI-Hosts als SCSI-Geräte auf
Vergleichen Sie mit anderen Ausgabemodi und Sie haben den Unterschied:
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
UPDATE: Ignorieren Sie dies, ohne etwas zu installieren:
lspci
und den relevanten Motherboard-Spezifikationen lieferte die benötigten Informationen. Vielen Dank.Es ist schon drei Jahre her, aber wenn jemand über Google kommt, geht es so: Wenn Sie EPEL aktiviert haben, dann installieren Sie lsscsi , es gibt hauptsächlich Informationen über verbundene Geräte, aber der -H-Parameter ist genau das , was Sie brauchen:
Vergleichen Sie mit anderen Ausgabemodi und Sie haben den Unterschied:
UPDATE: Ignorieren Sie dies, ohne etwas zu installieren:
zeigt Ihnen unbenutzte Ports.
quelle
lsscsi
ist in Standard-Repositories enthalten, mindestens ab 16.04 LTS).