Identifizierung der Festplatte anhand der SATA-Portnummer

15

Wie finde ich heraus, an welcher SATA-Anschlussnummer der Hauptplatine eine Festplatte angeschlossen ist?

Wir möchten eine HDD-Kopiersoftware auf der Grundlage der physischen Identifizierung von SATA erstellen.

Daxesh
quelle

Antworten:

10

lsscsi --verbose liefert eine Ausgabe ähnlich der folgenden:

[0:0:0:0]    disk    ATA      TOSHIBA THNSNH12 HTRA  /dev/sda 
  dir: /sys/bus/scsi/devices/0:0:0:0  [/sys/devices/pci0000:00/0000:00:1f.2/ata1/host0/target0:0:0/0:0:0:0]
[1:0:0:0]    disk    ATA      WDC WD2003FZEX-0 01.0  /dev/sdb 
  dir: /sys/bus/scsi/devices/1:0:0:0  [/sys/devices/pci0000:00/0000:00:1f.2/ata2/host1/target1:0:0/1:0:0:0]
[2:0:0:0]    disk    ATA      WDC WD3001FAEX-0 01.0  /dev/sdc 
  dir: /sys/bus/scsi/devices/2:0:0:0  [/sys/devices/pci0000:00/0000:00:1f.2/ata3/host2/target2:0:0/2:0:0:0]
[3:0:0:0]    cd/dvd  Optiarc  DVD RW AD-7280S  1.01  /dev/sr0 
  dir: /sys/bus/scsi/devices/3:0:0:0  [/sys/devices/pci0000:00/0000:00:1f.2/ata4/host3/target3:0:0/3:0:0:0]

Hier wird der ataNPort angegeben, der mit den im Syslog gefundenen Informationen übereinstimmen kann. Nützlich, wenn Sie feststellen möchten, woher ein Fehler stammt.

Bearbeiten: Wenn which lsscsikeine Ausgabe verfügbar ist, müssen Sie diese installieren:

sudo apt-get install lsscsi

Weitere Bearbeitung:

Dies ist wahrscheinlich selbstverständlich, aber Sie können die Ausgabe natürlich mit filtern grep, um herauszufinden, woran Sie interessiert sind, wenn Sie beispielsweise einen Fehler finden, wie ata4: status: { DRDY ERR }Sie den Befehl einfach ausgeben könnten

lsscsi --verbose | grep -P1 -A1 ata4 Das würde eine Ausgabe wie diese erzeugen:

[3:0:0:0]    cd/dvd  Optiarc  DVD RW AD-7280S  1.01  /dev/sr0 
  dir: /sys/bus/scsi/devices/3:0:0:0  [/sys/devices/pci0000:00/0000:00:1f.2/ata4/host3/target3:0:0/3:0:0:0]

Dies würde darauf hinweisen, dass das Gerät (Optiarc DVD RW AD-7280S auf ata4) bei Aufforderung nicht bereit war.

Dies sollten genügend Informationen sein, damit Sie das gestörte Gerät lokalisieren können.

Elder Geek
quelle
8

sudo lshw -c storage -c diskgibt Ihnen viele Informationen zu Ihren Festplatten. Z.B:

 *-scsi:1
      physical id: 2
      logical name: scsi2
      capabilities: emulated
    *-disk
         description: ATA Disk
         product: ST31000524AS
         vendor: Seagate
         physical id: 0.0.0
         bus info: scsi@2:0.0.0
         logical name: /dev/sdb
         version: JC4B
         serial: 5VPDESM5
         size: 931GiB (1TB)
         capabilities: gpt-1.00 partitioned partitioned:gpt
         configuration: ansiversion=5 guid=d6e747d2-3e9c-47c2-865b-44f8d7cc5808 sectorsize=512
       *-volume
            description: EXT4 volume
            vendor: Linux
            physical id: 1
            bus info: scsi@2:0.0.0,1
            logical name: /dev/sdb1
            logical name: /mnt/hdd0
            version: 1.0
            serial: 2de34713-f0ee-4a12-9214-21a5431a7b7b
            size: 931GiB
            capabilities: journaled extended_attributes large_files huge_files dir_nlink recover extents ext4 ext2 initialized
            configuration: created=2013-07-20 14:14:09 filesystem=ext4 lastmountpoint=/mnt/hdd0 modified=2013-08-29 21:29:24 mount.fstype=ext4 mount.options=rw,relatime,errors=remount-ro,data=ordered mounted=2013-08-29 21:29:24 state=mounted

Ich vermute, physical idSie haben den physischen Anschluss, an den die Festplatte angeschlossen ist (in diesem Fall 2).

Cubiq
quelle
2
Ich habe SATA-Ports nummeriert: 0,1,2,3. lshw meldet physische IDs: 5,6,7,8. Diese Antwort scheint nicht richtig zu sein.
user14654
1
Ich denke, "* -scsi: 1" des lshw-Berichts bezieht sich auf SATA-Port 1.
user14654
hat bei mir nicht funktioniert. Der SATA-Port war 7, die physische ID war 9. Mit Vorsicht verwenden!
Preexo
2
@Preexo Trylsscsi --verbose
Elder Geek
Das Feld, das Sie suchen, ist bus info. Da von einer umfangreichen Bearbeitung durch Antworten abgeraten wird , habe ich dies in eine separate Antwort mit einem ausführlicheren Beispiel aufgeteilt.
13.
5

sudo apt-get install lsscsi

tech@tech:~$ lsscsi
[2:0:0:0]    disk    ATA      SAMSUNG HD040GJ/ ZG10  /dev/sda
[3:0:1:0]    disk    ATA      WDC WD3200AAJS-0 03.0  /dev/sdb
[4:0:0:0]    disk    Generic- Compact Flash    1.00  /dev/sdc
[4:0:0:1]    disk    Generic- SM/xD-Picture    1.00  /dev/sdd
[4:0:0:2]    disk    Generic- SD/MMC           1.00  /dev/sde
[4:0:0:3]    disk    Generic- MS/MS-Pro/HG     1.00  /dev/sdf

Mit diesem Dienstprogramm erhalten Sie ATA-Port 0 bis 3.

Rahim
quelle
Kann ich wissen, ob ich ein Gigabyte-Motherboard habe? Wenn ich diesen Befehl verwende, wird dadurch meine Hardware beschädigt? Weil die Art und Weise, wie Sie Ihre Antwort geschrieben haben, so klingt, als würde ich meine Hardware beschädigen, wenn ich es jetzt probiere;)
Dan
Es funktioniert einwandfrei auf Intel-Motherboards.
Geselle Geek
funktioniert auch auf Supermicro-Boards.
Tim Kennedy
1
@ Rahim wo ist 0-3 in deiner Beispielausgabe? Ich sehe 2,3,4
simpleuser
0

sudo lshw -c storage -c disk gibt Ihnen viele Informationen zu Ihren Festplatten.

In den bus infoFeldern sehen Sie den physischen Port, an den jede Festplatte / SSD angeschlossen ist (in diesem Fall die Ports 0 und 2).
Beachten Sie, dass die Anzahl abweichen kann, wenn Ihr System über mehrere SATA-Controller verfügt (an Bord oder über Erweiterungskarten).

Beispielsweise:

  *-scsi:0
       physical id: 1
       logical name: scsi0
       capabilities: emulated
     *-disk
          description: ATA Disk
          product: Samsung SSD 840
          physical id: 0.0.0
          bus info: scsi@0:0.0.0
          logical name: /dev/sda
          version: BB6Q
          serial: S1DBNSAF791657P
          size: 232GiB (250GB)
          capabilities: partitioned partitioned:dos
          configuration: ansiversion=5 sectorsize=512 signature=d6cfe005
  *-scsi:1
       physical id: 2
       logical name: scsi2
       capabilities: emulated
     *-disk
          description: ATA Disk
          product: CT500MX500SSD1
          physical id: 0.0.0
          bus info: scsi@2:0.0.0
          logical name: /dev/sdb
          version: 010
          serial: 1810E132AC1E
          size: 465GiB (500GB)
          capabilities: partitioned partitioned:dos
          configuration: ansiversion=5 sectorsize=4096 signature=0007569c
n.st
quelle
(Erweiterung der @ Cubiq-Antwort über den Umfang der Bearbeitung hinaus, daher als separate Antwort.)
13.