¿Cómo intercambias / dev / sda con / dev / sdb?

Chico, esto es tal. a. trivial. pregunta, y sin embargo, nadie parece ser capaz de responder correctamente.

¿Cómo intercambias / dev / sda con / dev / sdb?

Alguien puede sugerir usar un etiquetado permanente (por ejemplo, / dev / disk / by- *), pero a pesar de las mejores intenciones, esto noNO responde la pregunta Sí, las rotulaciones permanentes funcionan donde puede usarlas, pero si un programa está programado para usar, por ejemplo. / dev / sda, esta pregunta persiste.

Para ilustrar el problema más allá de lo que encontré en internet:http://ubuntuforums.org/showthread.php?t=1569238&page=2 (Me recuerda a 'Schadenfreude')

Este capítulo parece haber encontrado la solución, simplemente no la compartió (¡boo!):http://ubuntuforums.org/showthread.php?t=944515

Y tbh, tengo un peligro potencial similar. Yo uso CloneZilla, y si un programa pregunta:Would you like to backup /dev/sda to /dev/sdb or /dev/sdb to /dev/sda ?, adivina lo nervioso que estoy al saber que Linux parece asignar aleatoriamente órdenes de disco. Todavía no he sobrescrito mis datos con mi propia copia de seguridad, pero esto solo está esperando que suceda.

¿Qué dentro de Linux asigna / dev / sd * a los discos, y cómo influye en este proceso? ¿Tiene esto algo que ver con udev (/ etc / udev /, udevadm)? Mi sistema operativo es CentOS, pero necesito saber esto también para Ubuntu y CloneZilla (http://clonezilla.org), y este problema ocurre en todos los sistemas, por lo que supongo que este problema no está relacionado con la distribución, sino con el kernel, los módulos del kernel o algo muy cercano al kernel. ¡Por favor ayuda!

------------------ EDIT: 25 de agosto de 2013 Después de advertir el enlace que proporcionó ypnos, lo leí todo, probé un comando y el kernel simplemente 'vomitó'. Las reglas de udev en toda mi pantalla. Luego se le solicitó la contraseña de root para permitir el mantenimiento, o salir para reiniciar. Esto es evidencia de que esto no es para la persona novicia.

También lo busqué un poco más. No entiendo cómo o cuándo se carga el kernel de Linux, pero varios mensajes en Internet indican que el BIOS (!! créanlo o no ”está pasando la lista de discos de inicio a grub, que luego usa el archivo device.map para asignar qué dispositivos a qué grub (hd *,). Tenga en cuenta que / dev / sd ya se han definido en esta etapa, ya que puede usar enlaces simbólicos permanentes. Estos mapas de dispositivos parecen pasar de alguna manera al sistema de archivos raíz real. Entonces, ¿esto es una cosa del gestor de arranque ahora?

Volviendo al udev como una solución potencial, encontré un informe de error en googlehttp://bugs.debian.org/cgi-bin/bugreport.cgi?bug=578826, que dio lugar a una resolución en la que se DESAvivó cambiar el udev NAME (que finalmente se convertirá en / dev / sd * tal como lo conocemos).

Para las páginas MAN de udev sugeridas:

| The following keys can get values assigned:
| 
| NAME
|  The name of the node to be created, or the name the network
|  interface should be renamed to.
   NOTE: changing the kernel-provided name of device nodes
   (except for network devices) is not supported and can result
   in unexpected behavior.
   Today, the kernel defines the device nodes names, and udev
   is expected to only manage the node's permissions and
   additional symlinks.

... Pero salí a hacerlo de todos modos de una manera ligeramente alterada.

# vi /etc/udev/rules.d/00-corrections.rules

KERNEL=="sd?", ATTRS{model}=="SAMSUNG SP0411N", NAME="sda"
KERNEL=="sd??", ATTRS{model}=="SAMSUNG SP0411N", NAME="sda%n"
KERNEL=="sda", ATTRS{model}!="SAMSUNG SP0411N", NAME="sdb"
KERNEL=="sda?", ATTRS{model}!="SAMSUNG SP0411N", NAME="sdb%n"

Esencialmente, lo que hace es "Si el modelo es Samsung, asígnele NOMBRE sda *. Si el modelo no es Samsung, pero se le ha asignado sda *, asígnele NOMBRE sdb *". Esta regla se colocó antes de todas las demás reglas tanto como sea posible. Tenga en cuenta que no estoy seguro de esto, porque parece que también hay algunos archivos de reglas 'invisibles', Y aunque ha cambiado el nombre de los dispositivos, el kernel en algún lugar en 'kernel-loaded-memory', podría tener las referencias incorrectas. Esto puede ser evidente cuando se mira el archivo /var/log/boot.log, donde en mi caso, el principio dice:

%G      Welcome to [0;36mCentOS[0;39m 
Starting udev: %G[60G[[0;32m  OK  [0;39m]Setting hostname UncleFloServer:  [60G[[0;32m  OK  [0;39m]ERROR: asr: seeking device "/dev/sda" to 5999998795264
ERROR: ddf1: seeking device "/dev/sda" to 5999998795264
ERROR: ddf1: seeking device "/dev/sda" to 5999998664192
ERROR: hpt45x: seeking device "/dev/sda" to 5999998790144
ERROR: isw: seeking device "/dev/sda" to 5999998794752
ERROR: jmicron: seeking device "/dev/sda" to 5999998795264
ERROR: lsi: seeking device "/dev/sda" to 5999998795264
ERROR: nvidia: seeking device "/dev/sda" to 5999998794752
ERROR: pdc: seeking device "/dev/sda" to 137438913024
ERROR: pdc: seeking device "/dev/sda" to 137438920192
ERROR: pdc: seeking device "/dev/sda" to 137438927360
ERROR: pdc: seeking device "/dev/sda" to 137438934528
ERROR: sil: seeking device "/dev/sda" to 5999998795264
ERROR: via: seeking device "/dev/sda" to 5999998795264
Setting up Logical Volume Management:   No volume groups found
[60G[[0;32m  OK  [0;39m]Checking filesystems
_CentOS-6.4-x86_: clean, 85517/655360 files, 662649/2621440 blocks
/dev/sda1: clean, 56/65536 files, 33367/262144 blocks
[60G[[0;32m  OK  [0;39m]Remounting root filesystem in read-write mode:  [60G[[0;32m  OK  [0;39m]Mounting local filesystems:  [60G[[0;32m  OK  [0;39m]Enabling local filesystem quotas:  [60G[[0;32m  OK  [0;39m]Enabling /etc/fstab swaps:  [60G[[0;32m  OK  [0;39m]

Aquí, mi dispositivo Samsung es de 40GB (que me gustaría como / dev / sda), y mi gran Areca Raid es de 6TB (que me gustaría como / dev / sdb).

Quedan algunas preguntas restantes

¿Qué significan los errores?

¿Estos errores son la causa del kernel o la causa de un archivo de reglas que aún se ejecuta antes de mis 00-corrections.rules de udev?

¿Estos errores indican algo que amenaza los datos? La partición Areca no montó problemas en una de mis carpetas en fstab.

¿Hay un mejor método anterior de asignación de dispositivos?

Respuestas a la pregunta(3)

Su respuesta a la pregunta