Il s'agit d'une question inverse à des tonnes de questions sur la façon d'identifier le lecteur physique correspondant /dev/sdx
. Je veux éviter d'avoir à poser cette question lorsqu'un disque tombe en panne.
J'ai acheté un adaptateur capable de servir 8 disques (9211-8i). Les deux câbles SFF-8087 sont bien marqués afin que je sache quel lecteur physique est lequel.
Cependant, les lecteurs connectés sont mappés en tant que /dev/sdx
Juste pour référence, mon lecteur de démarrage M.2 se monte bien comme /dev/nvmxxx
qui le distingue bien des autres lecteurs du système.
Alors, comment puis-je demander au mappeur de périphériques Ubuntu de mapper les lecteurs connectés à mon contrôleur en tant que quelque chose de distinct et correspondant exactement au port physique auquel un lecteur est connecté, par exemple /dev/scsi[abcdefgh]
? En fait, je préfère même les numéros de port numériques, mais je ne suis pas sûr qu'il corresponde aux règles de mappage Unix où les lecteurs sont marqués de lettres, puis suivis de numéros de partition, par exemple /dev/sda
-> /dev/sda1
Merci
Jettes un coup d'oeil à /dev/disk/by-path/
, qui fait essentiellement cela. L'autre façon consiste à le référencer par UUID ou Label, qui est une propriété de la partition et non du matériel. Si vous référencez des disques par UUID, cela ne changera pas, même si vous déplacez le lecteur vers un autre ordinateur.
$ ls /dev/disk/
by-id by-label by-path by-uuid
$ ls /dev/disk/by-path/
pci-0000:03:00.0-scsi-0:0:0:0 pci-0000:03:00.0-scsi-0:0:0:0-part2
pci-0000:03:00.0-scsi-0:0:0:0-part1 pci-0000:03:00.0-scsi-0:0:0:0-part5
Comme vous pouvez le voir, cela identifie de manière unique le lecteur en fonction du chemin, y compris la connexion au bus. Ces fichiers sont un lien symbolique vers le périphérique réel:
$ ls -la pci-0000\:03\:00.0-scsi-0\:0\:0\:0
lrwxrwxrwx 1 root root 9 Oct 18 09:08 pci-0000:03:00.0-scsi-0:0:0:0 -> ../../sda
Pour identifier un lecteur, l'utilitaire lsblk
est utile:
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
fd0 2:0 1 4K 0 disk
sda 8:0 0 8G 0 disk
├─sda1 8:1 0 7.6G 0 part /
├─sda2 8:2 0 1K 0 part
└─sda5 8:5 0 383M 0 part [SWAP]
sr0 11:0 1 247M 0 rom
Pour voir l'UUID d'un disque, vous pouvez exécuter Sudo lsblk -f
. Cela montrera l'UUID, que vous trouverez dans /dev/disk/by-uuid/
ainsi que:
$ Sudo lsblk -f
[...]
└─system-swap swap 73195006-1ae6-4d5f-87df-78cb52f48f15 [SWAP]
$ ls -la /dev/disk/by-uuid/73195006-1ae6-4d5f-87df-78cb52f48f15
lrwxrwxrwx 1 root root 10 Oct 20 17:33 /dev/disk/by-uuid/73195006-1ae6-4d5f-87df-78cb52f48f15 -> ../../dm-3
Cela peut également être utilisé dans fstab. Par exemple:
UUID=f0a2eebe-1791-4c44-ab86-75ea81a82c43 /boot ext4 acl,user_xattr 1 2
montera la partition avec cet UUID sur/boot.