
La caja es un microservidor HP que ejecuta Ubuntu 16.04. Recientemente "actualicé" el dispositivo de arranque a un SSD de 64 GB. Además, hay una unidad SATA de 1 TB.
Por lo general, se inicia /dev/sda1
como partición primaria (en el SSD) y /dev/sda5
como intercambio, y /dev/sdb1
apunta a la partición en el disco duro de 1 Tb, que está montada en /mnt/media0
.
El problema es que a veces cambia todo eso, y el SSD ahora es /dev/sdb1
y /dev/sdb5
la partición multimedia ahora es /dev/sda1
.
Esto, por supuesto, hace que los montajes de intercambio y de medios fallen, ya que se enumeran /etc/fstab
con sus nombres anteriores /dev/sd*
.
Así que tengo:
Revisé el BIOS y constantemente enumera el SSD de 64 GB como la primera unidad y el IDE de 1 TB como el segundo.
Intenté cambiar
/etc/fstab
para hacer referencia a la unidad de medios por etiqueta de volumen, pero eso hace que Ubuntu falle al iniciarse y me ponga en modo de recuperación.Intenté cambiar
/etc/fstab
para hacer referencia al intercambio y a las particiones de medios (ext4) usando UUID (ya que, de hecho, enumera la partición primaria)peroLuego me encuentro con el segundo problema que tengo.
Cuando ejecuto lo siguiente para encontrar los UUID de las distintas particiones...
ls /dev/disk/by-uuid
blkid
ambos solo enumeran la 1 entrada: el UUID de la partición primaria. Solo puedo ver el UUID de la partición multimedia usando (en los arranques donde, de hecho, se asigna sdb1
obviamente)
tune2fs -l /dev/sdb1
pero nuevamente, si uso ese UUID, /etc/fstab
Ubuntu no arranca y entra en modo de recuperación.
Entonces, mis preguntas son:
¿Hay alguna manera de conseguir
/dev/sda
y/dev/sdb
detener el intercambio entre unidades?¿Cómo puedo hacer que el sistema vea los UUID de las otras particiones para poder usarlos
fstab
?y/o ¿hay alguna otra manera de poder montar de manera confiable mis particiones de intercambio y de medios?
Respuesta1
Puede utilizar los nombres "disk/by-id" en /etc/fstab
, consulte
ls -l /dev/disk/by-id
Tenga en cuenta que estos nombres de dispositivos también pueden usarse en otros archivos (initrd, grub configs). Por lo tanto, puede actualizar su configuración de grub y volver a recrear initrd también.
Respuesta2
¡Continúa intercambiando discos duros porque diferentes núcleos tienen soporte para udev y otros no tienen soporte para udev (eudev)!
Sí, a mí también me molestó esto cuando comencé a experimentar con sysv, openrc y s6 init replacement (reemplazo de systemd).
El problema radica en las utilidades de grub y sus archivos de configuración al crear diferentes imágenes de vmlinuz de Linux dentro del mismo disco, ESPECIALMENTE al habilitar GRUB_DISABLE_LINUX_UUID
( /etc/default/grub
, et. al.) para una compilación del kernel y no para las demás.
== Causa #1 ==
Entonces… ¿quién es el culpable? Los más antiguos que no son systemd. El intercambio se produce cuando no es systemd para que la unidad sda sea siempre la etiqueta del disco de inicio, independientemente del conector SATA/IDE que se utilice.
El pedido de unidades se realiza mediante un dispositivo ATA (SATA o biblioteca libata) y el reordenamiento se realiza mediante drivers/scsi/ida_probe()
. Elimina eso GRUB_DEVICE_BOOT
de tu /etc/default/grub
archivo.
== Causa #2 ==
Especificar CONFIG_SCSI_DEBUG
como "sí" (o como "m" si usa initramfs con " scsi_debug=add_host:1
en sus parámetros de arranque de vmlinuz) definitivamente aumentará el número de índice de la etiqueta "sd" de su(s) disco(s) duro(s) existente(s) en uno: es decir, su sda1
se convierte en sdb1
.