Como posso instruir o ubuntu a mapear unidades para / dev / xxx específicas

1

Essa é uma pergunta inversa para muitas perguntas sobre como identificar qual unidade física corresponde a /dev/sdx . Eu quero evitar ter que fazer essa pergunta quando uma unidade falhar.

Comprei um adaptador capaz de servir 8 drives (9211-8i). Ambos os cabos SFF-8087 são bem marcados para que eu saiba qual unidade física é qual.

No entanto, as unidades conectadas são mapeadas como /dev/sdx

Apenas para referência, minha unidade de inicialização M.2 é montada como /dev/nvmxxx , o que a diferencia das outras unidades do sistema.

Então, como posso instruir o mapeador de dispositivos do ubuntu para mapear as unidades conectadas ao controlador como algo distinto & amp; Correspondendo EXACTAMENTE à porta física à qual uma unidade está conectada, por exemplo, %código%? Na verdade, eu até preferiria números numéricos de porta, mas não tenho certeza se ele corresponde a regras de mapeamento unix onde as unidades são marcadas com letras, seguidas por números de partição, por exemplo, /dev/scsi[abcdefgh] - > /dev/sda

Obrigado

    
por velis 16.11.2017 / 12:31

1 resposta

3

Dê uma olhada em /dev/disk/by-path/ , que essencialmente faz isso. A outra maneira é referenciá-lo pelo UUID ou Label, que é uma propriedade da partição e não do hardware. Se você fizer referência a discos pelo UUID, isso não será alterado, mesmo se você mover a unidade para um computador diferente.

$ 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

Como você pode ver, isso identifica exclusivamente a unidade dependendo do caminho, incluindo a conexão de barramento. Esses arquivos são um link simbólico para o dispositivo real:

$ 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

Para identificar uma unidade, o utilitário lsblk é útil:

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

Para ver o UUID de um disco, você pode executar sudo lsblk -f . Isso mostrará o UUID, que você também encontrará em /dev/disk/by-uuid/ :

$ 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

Isso também pode ser usado no fstab. Por exemplo:

UUID=f0a2eebe-1791-4c44-ab86-75ea81a82c43 /boot ext4 acl,user_xattr 1 2

montará a partição com esse UUID em / boot.

    
por vidarlo 16.11.2017 / 12:43