sda e sdb continuam trocando

sda e sdb continuam trocando

A caixa é um microservidor HP, rodando Ubuntu 16.04. Recentemente, "atualizei" o dispositivo de inicialização para um SSD de 64 GB. Além disso, há uma unidade SATA de 1 TB.

geralmente ele inicializa /dev/sda1como partição primária (no SSD) e /dev/sda5como swap, e /dev/sdb1aponta para a partição no HDD de 1 TB, que está montada em /mnt/media0.

O problema é que às vezes isso muda tudo, e o SSD é agora /dev/sdb1e /dev/sdb5a partição de mídia é agora /dev/sda1.

Isso, é claro, faz com que as montagens de troca e mídia falhem, pois são listadas /etc/fstabusando seus /dev/sd*nomes anteriores.

Então eu tenho:

  1. Verifiquei o BIOS e ele lista consistentemente o SSD de 64 GB como a primeira unidade e o IDE de 1 TB como a segunda.

  2. Tentei mudar /etc/fstabpara fazer referência à unidade de mídia por rótulo de volume, mas isso faz com que o Ubuntu falhe na inicialização e me coloque em modo de recuperação.

  3. Tentei mudar /etc/fstabpara referenciar as partições swap e (ext4) de mídia usando UUID (pois, na verdade, ele lista a partição primária)masEu então encontro o segundo problema que tenho.

Quando executo o seguinte para encontrar os UUIDs das várias partições...

ls /dev/disk/by-uuid
blkid

ambos listam apenas a entrada 1 – o UUID da partição primária. Só consigo ver o UUID da partição de mídia usando (em inicializações onde, de fato, é atribuído sdb1obviamente)

tune2fs -l /dev/sdb1

mas, novamente, se eu usar esse UUID, /etc/fstabo Ubuntu falhará ao inicializar e entrará no modo de recuperação.

Então, minhas perguntas são:

  • Existe alguma maneira de obter /dev/sdae /dev/sdbparar de trocar entre unidades?

  • Como posso fazer com que o sistema veja os UUIDs das outras partições para que eu possa usá-los fstab?

  • e/ou existe alguma outra maneira de montar com segurança minhas partições swap e de mídia?

Responder1

Você poderia usar os nomes "disco/por-id" em /etc/fstab, veja

ls -l /dev/disk/by-id

Observe que esses nomes de dispositivos também podem ser usados ​​em outros arquivos (initrd, grub configs). Portanto, você pode atualizar sua configuração do grub e recriar o initrd também.

Responder2

Ele continua trocando o disco rígido porque diferentes kernels têm suporte ao udev e outros não têm suporte ao udev (eudev)!

Sim, eu também fui mordido por isso quando comecei a experimentar a substituição de sysv, openrc e s6 init (substituição do systemd).

O problema está nos utilitários grub e em seus arquivos de configuração ao construir diferentes imagens Linux vmlinuz dentro do mesmo disco, ESPECIALMENTE ao habilitar GRUB_DISABLE_LINUX_UUID( /etc/default/grub, et. al.) para uma construção de kernel e não para outras.

== Causa #1 ==

Então… quem é o culpado? O mais antigo não-systemd. A troca ocorre por não-systemd para tornar a unidade sda ​​sempre o rótulo do disco inicial, independentemente de qual conector SATA/IDE é usado.

A ordenação da unidade é feita pelo dispositivo ATA (biblioteca SATA ou libata) e a reordenação é feita pelo drivers/scsi/ida_probe(). Remova isso GRUB_DEVICE_BOOTdo seu /etc/default/grubarquivo.

== Causa #2 ==

Especificar CONFIG_SCSI_DEBUGcomo “sim” (ou como “m” se estiver usando initramfs com “ scsi_debug=add_host:1em seus bootparams vmlinuz) definitivamente IRÁ aumentar o número do índice do rótulo “sd” de seu(s) disco(s) rígido(s) existente(s) em um: ou seja, seu sda1se torna sdb1.

informação relacionada