web-dev-qa-db-fra.com

Comment puis-je demander à ubuntu de mapper des lecteurs vers / dev / xxx spécifique

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

1
velis

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.

3
vidarlo