Comment savoir à quel numéro de port SATA de la carte mère un disque dur est connecté?
Nous voulons construire un logiciel de copie de disque dur basé sur l'identification physique de SATA.
lsscsi --verbose fournira une sortie similaire à celle-ci:
[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]
qui fournit le port ataN
qui peut correspondre aux informations trouvées dans le syslog. Utile si vous essayez de déterminer d'où provient une erreur.
Edit: Si which lsscsi
ne fournit aucun résultat, vous devez l'installer:
Sudo apt-get install lsscsi
Nouvelle édition:
Cela va probablement de soi, mais vous pouvez bien sûr filtrer la sortie avec grep
pour localiser ce qui vous intéresse, par exemple si vous trouvez une erreur comme ata4: status: { DRDY ERR }
vous pouvez simplement émettre la commande
lsscsi --verbose | grep -P1 -A1 ata4 qui produirait une sortie comme celle-ci:
[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]
Ce qui indiquerait que le périphérique (Optiarc DVD RW AD-7280S sur ata4) n'était pas prêt lorsqu'il a été appelé.
Cela devrait être suffisant pour vous permettre de localiser le périphérique en difficulté.
Sudo lshw -c storage -c disk
vous donne beaucoup d'informations concernant vos disques durs. Par exemple:
*-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
Je soupçonne que physical id
vous indique le port physique auquel le disque dur est connecté (2 dans ce cas).
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
cet utilitaire vous donnera les ports ATA 0 à 3.
Sudo lshw -c storage -c disk
vous donne beaucoup d'informations concernant vos disques durs.
Les champs bus info
vous donnent le port physique auquel chaque disque dur/SSD est connecté (ports 0 et 2 dans ce cas).
Notez que le numéro peut différer si votre système dispose de plusieurs contrôleurs SATA (intégrés ou via des cartes d'extension).
Par exemple:
*-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