Zuordnen von Portnummern zu Geräten

Zuordnen von Portnummern zu Geräten

Wir haben einen Computer mit mehreren Boot-Laufwerken, die alle die gleiche Software enthalten. Die Auswahl des Boot-Laufwerks erfolgt über einen Mehrpositionsschalter auf der Vorderseite. Wenn Laufwerk 1 ausgewählt ist, wird das Laufwerk am SATA-Port 0 gebootet. Wenn Laufwerk 2 ausgewählt ist, wird das Laufwerk am SATA-Port 1 gebootet. Usw.

Der Disk-Manager auf RH kann anzeigen, an welchen SATA-Port die Festplatten angeschlossen sind. Es handelt sich um eine grafische Benutzeroberfläche aufetwas, und dasetwasist was ich will.

Wie kann ich diese Informationen über die Befehlszeile abrufen? Ich verbinde mich über eine SSH-Verbindung und möchte herausfinden, womit die Startdiskette verbunden ist. Wo werden diese Informationen gespeichert?

Danke!

Antwort1

Zuordnen von Portnummern zu Geräten

Ich habe diese Frage gefunden, weil ich versucht habe, dasselbe herauszufinden. Folgendes habe ich herausgefunden; es sollte in Bash oder Zsh funktionieren:

for i in /dev/disk/by-path/*;do [[ ! "$i" =~ '-part[0-9]+$' ]] && echo "Port $(basename "$i"|grep -Po '(?<=ata-)[0-9]+'): $(readlink -f "$i")";done

Die Ausgabe sollte ungefähr so ​​aussehen:

Port 1: /dev/sda
Port 2: /dev/sdb
Port 3: /dev/sdc

Diese PortnummernSOLLENmit den auf Ihrem Motherboard aufgedruckten Nummern übereinstimmen, obwohl dies voraussetzt, dass Ihr Motherboard-Hersteller so rücksichtsvoll war, die auf der Platine aufgedruckten Nummern mit den Portnummern im SATA-Controller-Chip abzugleichen. Zumindest bleiben die Gerätepfade stabil, sodass sich eine Zuordnung zwischen den aufgelisteten Portnummern und den Nummern auf dem Bedienfeld nicht mehr ändern wird, sobald Sie sie einmal hergestellt haben.

Dieses Snippet durchläuft das /dev/disk/by-pathVerzeichnis. Es überspringt Dateien, die mit enden, -part<number>da es sich dabei nur um Partitionen handelt, und extrahiert die Portnummer aus dem -ata<number>am Ende der verbleibenden Dateinamen. Diese Dateien sind symbolische Links zu den herkömmlichen /dev/sdXKnoten, die es mithilfe von erhält readlink -f.

Wenn Sie mehrere SATA-Controller haben, werden Ihnen mehrere Geräte für die gleichen Portnummern aufgelistet, da jeder Controller seinen eigenen Port 1, Port 2 usw. hat. Führen Sie es also einfach aus ls -l /dev/disk/by-pathund analysieren Sie es manuell.

Herausfinden, welches Gerät Ihr Startgerät ist

Um herauszufinden, welches Ihr Startgerät ist, führen Sie aus mount | grep ' on / ' | cut -f 1 -d ' '. Dadurch wird das unter eingebundene Gerät angezeigt /.

Antwort2

Die richtige SATA-Portzuordnung ist das, was „user371366“ erwähnt hat.

Ich rate jedoch dringend davon ab, sich auf die auf der Hauptplatine aufgedruckte SATA-Portnummer zu verlassen.

Weil es Hardware-/Softwareprobleme oder Fehler gibt, die sie unzuverlässig machen.

Es wird Fälle geben, in denen der SATA-Port Nr. 1 auf der Hauptplatine als SDB oder SDx (wobei x ein beliebiger Buchstabe ist, der auf Ihrem PC-Terminal o. Ä. angezeigt wird) und nicht als SDA angezeigt wird.

Das ist mir ein paar Mal passiert, beispielsweise bei der Verwendung der Sicherungssoftware „Clonezilla“, wo SATA-Port Nr. 1 als SDB angezeigt wird, obwohl es SDA sein sollte.

Am besten notieren Sie sich die Seriennummer der Festplatte und verwenden diese als Referenz für die ausgewählte Festplatte.

verwandte Informationen