HDD nombre en Linux?

5

¿Intenta Linux darle a una unidad la misma letra cada vez?
Por ejemplo, si conectara dos unidades a mi computadora, entonces desconéctelas y vuelva a conectarlas en orden inverso. ¿Sdb y sdc corresponderían a las mismas unidades físicas?

Esto es lo que quiero:

First:  
    Plug in HDD A, which becomes sdb.
    Plug in HDD B, which becomes sdc.


Then:
    Plug in HDD B, which becomes sdc.
    Plug in HDD A, which becomes sdb.

La pregunta es ¿Linux hace esto automáticamente? Si no, ¿cómo haría algo como esto? (Quiero tener tres unidades que se pueden inicializar en cualquier orden pero que aún se pueden montar en el mismo punto).

Billylegota
fuente

Respuestas:

12

No, el sd* los nombres se asignan de forma secuencial, según el disco que se detectó primero.

Si necesita un nombre persistente, udev ya los proporciona en función de varias propiedades, como las etiquetas de sistemas de archivos / UUID; etiquetas de partición / UUID (solo GPT); rutas de conexión de disco; SCSI WWNs; y así.

Echa un vistazo a /dev/disk:

┌ rain ~ 
┘ tree /dev/disk/
/dev/disk/
├── by-id  (Identificación basada en hardware)  │ ├── ata-SlimtypeDVD_A_DS8A5SH_012160166091 - & gt; ../../sr0
├── ├── ata-ST9640320AS_5WX1ZH91 - & gt; ../../sda
├── ├── ata-ST9640320AS_5WX1ZH91-part7 - & gt; ../../sda7
├── ├── mmc-SD4GB_0x0054b5cf - & gt; ../../mmcblk0
├── ├── mmc-SD4GB_0x0054b5cf-part1 - & gt; ../../mmcblk0p1
├── ├── wwn-0x5000c5002f0e9ce1 - & gt; ../../sda
├── ├── wwn-0x5000c5002f0e9ce1-part1 - & gt; ../../sda1
│ └──…
├── por etiqueta  (nombre codificado en el encabezado del sistema de archivos)  ├── ├── tarjeta de acceso - & gt; ../../mmcblk0p1
├── ├── raindows - & gt; ../../sda6
├── ├── casa de lluvia - & gt; ../../sda5
│ └──…
├── por partlabel  (nombre codificado en la tabla de particiones GPT)  ├── ├── Arco - & gt; ../../sda4
│ ├── EFI - & gt; ../../sda1
│ ├── inicio - & gt; ../../sda5
├── ├── swap - & gt; ../../sda8
│ └──…
├── por-partuuid  (UUID codificado en la tabla de particiones GPT)  ├── ├── 14420948-2cea-4de7-b042-40f67c618660 - & gt; ../../sda4
├── ├── 1c737f60-8667-4d1a-9c92-5f5caf69be60 - & gt; ../../sda3
├── ├── 267bbb83-0bb5-48b8-aa4c-ffe328328f5b - & gt; ../../sda5
│ └──…
└── por-uuid  (UUID codificado en el encabezado del sistema de archivos)  ├── 0C5C17E25C17C57C - & gt; ../../sda7
    ├── 413b42fe-77f7-41d0-8d40-a7578f70995d - & gt; ../../sda4
    ├── 4b30e8db-563e-4947-8d41-f242d94a6d3a - & gt; ../../mmcblk0p1
    ├── 8594cc4c-9c42-436a-8723-9a0611b1f97d - & gt; ../../sda5
    └──… 

Puedes usarlos como tales:

/dev/disk/by-label/arch_boot  /boot  ext4  rw,auto  0  1

En fstab, una sintaxis alternativa también funciona para label y uuid campos:

LABEL=arch_boot               /boot  ext4  rw,auto  0  1

Nota: En algunas distribuciones de Linux más antiguas, varias reglas de udev intento para hacer el sd* nombres persistentes. Pero no poder trabajar de forma fiable; a menudo el "cambio de nombre" falla porque a otro disco se le asignó el nombre deseado. Esta función fue eliminada en versiones posteriores de udev. No confiar en sd* Los nombres son persistentes, incluso si parecen serlo.

grawity
fuente
Todos mis discos persistentes están montados por UUID, o por medio de LVM (que usa el UUID del PV debajo). Eso incluye / boot. Después de todo, ¿qué sucede si conecta otro disco duro de otro sistema Linux (lo que puede hacer en algún momento)? En cualquier caso nunca debes contar con el sd* los nombres son consistentes
Michael Hampton
Así que podría usar un script de shell para ver el UUID de un disco duro y montarlo en un punto determinado según su UUID, ¿no? EX: si uuid == xxxxxxxxxx entonces monte / dev / sdb / whatever / my / mount / point / is
Billylegota
@Billylegota: ¿Eh? No. Puede usar los UUID directamente en / etc / fstab. Incluso di dos ejemplos para exactamente eso. ¿Para qué necesitas un script de shell?
grawity
@grawity: Lo siento, no vi esa parte. Acabo de ver el árbol de / dev / disk y dijo "parece un trabajo para bash"; D
Billylegota
¿Hay una manera de obtener constantemente el disco en lugar de la partición? / dev / sda en lugar de / dev / sda1?
sep332