Je veux détecter si un disque est attaché au bon port sata. Bien que lsscsi me donne des informations utiles sur l'hôte utilisé, je me demandais si le numéro de l'hôte SCSI resterait toujours le même :
[0:0:0:0] disk ATA 2.5" SATA SSD 3M P130 /dev/sda
[1:0:0:0] disk ATA 2.5" SATA SSD 3M P130 /dev/sdb
[4:0:0:0] disk ATA SATADOM D150SV-L 1209 /dev/sdc
Un petit test a montré que ni le redémarrage du système ni le retrait d'un des disques n'affectent l'un des autres numéros d'hôtes. En outre, j'ai trouvé ce qui suit à http://www.tldp.org/HOWTO/SCSI-2.4-HOWTO/scsiaddr.html :
Le numéro de l'adaptateur SCSI est généralement une numérotation arbitraire des cartes d'adaptation sur les bus d'E/S internes (par exemple PCI, PCMCIA, ISA, etc.) de l'ordinateur. [...] Les numéros d'adaptateur SCSI sont émis par le noyau dans un ordre croissant en commençant par 0.
Ces deux éléments m'amènent à penser que le numéro d'hôte SCSI doit toujours rester le même sur un système, car le bus est toujours énuméré de la même façon. Est-ce correct ?
MISE À JOUR : Il semble que le fait d'attacher un dispositif ATA Pass Through (ATP) peut changer les numéros d'hôtes de tous les dispositifs.
1 votes
Oui, l'emplacement du bus est cohérent avec le numéro de l'emplacement, du moins au sein de la même révision du micrologiciel.
4 votes
Ne comptez pas là-dessus. Si vous voulez être certain que vous accédez au même disque, utilisez son UUID. Le slot dans lequel il se trouve n'a alors aucune importance.
0 votes
D'accord avec Michael - Toujours utiliser l'uuid ou un des ids dans /dev/disk/
0 votes
J'ai également pensé à cela, mais dans ce cas particulier, une application doit juste être capable de vérifier si un certain disque est toujours présent ou non. En utilisant le numéro d'hôte, cette application pourrait simplement demander le disque #N, ce qui devrait être plus facile à utiliser/implémenter car je n'ai pas besoin de prendre soin d'un UUID. Et cela fonctionnera toujours si un disque est remplacé (ce qui est tout à fait normal).