Identyfikacja dysku twardego według numeru portu SATA


15

Jak sprawdzić, do którego numeru portu SATA płyty głównej jest podłączony dysk twardy?

Chcemy zbudować oprogramowanie do kopiowania dysku twardego na podstawie fizycznej identyfikacji SATA.

Odpowiedzi:


10

lsscsi --verbose zapewni dane wyjściowe podobne do tego:

[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]

który zapewnia ataNport, który może dopasować informacje znalezione w syslog. Przydatne, jeśli próbujesz ustalić, skąd pochodzi błąd.

Edycja: Jeśli which lsscsinie zawiera danych wyjściowych, musisz je zainstalować:

sudo apt-get install lsscsi

Dalsza edycja:

Prawdopodobnie jest to oczywiste, ale oczywiście możesz filtrować dane wyjściowe, grepaby zlokalizować to, co Cię interesuje, na przykład, jeśli znajdziesz błąd, taki jak ata4: status: { DRDY ERR }zwykłe wydanie polecenia

lsscsi --verbose | grep -P1 -A1 ata4 Który dałby wynik w ten sposób:

[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]

Co wskazywałoby, że urządzenie (Optiarc DVD RW AD-7280S na ata4) nie było gotowe po wywołaniu.

Powinno to być wystarczające informacje, aby umożliwić zlokalizowanie niesprawnego urządzenia.


8

sudo lshw -c storage -c diskdaje wiele informacji na temat dysków twardych. Na przykład:

 *-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

Podejrzewam, że physical iddaje ci fizyczny port, do którego podłączony jest dysk twardy (w tym przypadku 2).


2
Mam porty SATA o numerze: 0,1,2,3. lshw zgłasza identyfikator fizyczny: 5,6,7,8. Ta odpowiedź wydaje się nieprawidłowa.
user14654,

1
Myślę, że „* -scsi: 1” raportu lshw odnosi się do portu SATA 1.
user14654

nie działało dla mnie. Port SATA to 7, identyfikator fizyczny lshw to 9. Używaj ostrożnie!
Preexo

2
@Preexo Trylsscsi --verbose
Elder Geek

Pole, którego szukasz, to bus info. Od obszerna edycja anwer jest zniechęcony , że mam podzielone off do odrębnej odpowiedzi o przykład bardziej dogłębne.
n.

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

to narzędzie da ci port ATA od 0 do 3.


Czy mogę wiedzieć, czy mam płytę główną Gigabyte? Jeśli użyję tego polecenia, czy spowoduje to uszkodzenie mojego sprzętu? Ponieważ sposób, w jaki napisałeś swoją odpowiedź, brzmi tak, jakbym uszkodził mój sprzęt, jeśli spróbuję teraz;)
Dan

Działa idealnie dobrze na płytach głównych Intel.
Journeyman Geek

działa również na płytach Supermicro.
Tim Kennedy

1
@Rahim gdzie 0-3 w przykładowym wyjściu? Widzę 2,3,4
prostota

0

sudo lshw -c storage -c disk daje wiele informacji na temat dysków twardych.

Te bus infopola daje fizyczny port każdy HDD / SSD jest podłączony do (porty 0 i 2 w tym przypadku).
Należy pamiętać, że liczba może się różnić, jeśli system ma wiele kontrolerów SATA (wbudowanych lub za pomocą kart rozszerzeń).

Na przykład:

  *-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

(Rozszerzenie odpowiedzi @ Cubiq poza zakres edycji, dlatego jako osobna odpowiedź).
n.
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.