Linux Mint: o mapa dos drives mudando na reinicialização traz o erro fstab

4

Eu configurei o fstab para montar automaticamente unidades de mídia em uma máquina Linux Mint.
O sistema operacional é instalado em um disco IDE / ATA enquanto 3 discos SATA armazenam dados para compartilhar. O BIOS tem o disco ATA como primeiro dispositivo de inicialização.
Todas as unidades SATA são NTFS não inicializáveis com uma única partição.

Quando instalei o sistema operacional:
O disco ATA foi visto como sda e as outras unidades como sdb, sdc e sdd. O problema é que de vez em quando quando eu reinicio, as unidades estão mudando: sda se torna sdd, sdb se torna sda, etc ... Ele não parece afetar o sistema operacional, mas obviamente minha configuração fstab envia erros.

Todas as unidades parecem boas e nenhuma delas está faltando.

Então, pergunta: posso forçar o mapeamento das unidades com caminho fixo? Eu tentei usar Labels, mas parece que não funcionou.

Além disso, não sei se é anormal e / ou relevante, mas a minha unidade ATA tem quatro partições:
- sda1 = > OS
- sda2 = > Partição vazia do EX4, talvez um sistema operacional simultâneo no futuro | - sda4 = > Partição estendida
- sda5 = > Trocar
- sdb4 = > SATA HDD 1
- sdc1 = > SATA HDD 2
- sdd1 = > SATA HDD 3

Não há algo estranho? Eu teria pensado que eu iria obter sda1 a 4, então sdb1, sdc1 e sdd1.

Obrigado pela sua ajuda!

    
por Gilles 11.11.2011 / 15:13

2 respostas

4

So, question: can I force to map the drives with fixed path? I tried using Labels but it didn't seem to work.

Use o UUID:

$ ls -lF /dev/disk/by-uuid/
total 0
lrwxrwxrwx 1 root root 10 Sep 15 15:35 61965e0c-8aba-4207-9424-1350aa6e051e -> ../../sda2
lrwxrwxrwx 1 root root 10 Sep 15 15:35 e002a7bc-02da-47a8-ab98-1225e6ace6d5 -> ../../sda1
lrwxrwxrwx 1 root root 10 Sep 15 15:35 e23cc6c4-0e57-4cbd-8036-91ea9974bab0 -> ../../sda5
# blkid
/dev/sda5: LABEL="/data" UUID="e23cc6c4-0e57-4cbd-8036-91ea9974bab0" TYPE="ext3" 
/dev/sda3: LABEL="SWAP-sda3" TYPE="swap" 
/dev/sda2: LABEL="/" UUID="61965e0c-8aba-4207-9424-1350aa6e051e" TYPE="ext3" 
/dev/sda1: LABEL="/boot" UUID="e002a7bc-02da-47a8-ab98-1225e6ace6d5" TYPE="ext3" 

e altere seu /etc/fstab para usar o nome persistente:

UUID=e23cc6c4-0e57-4cbd-8036-91ea9974bab0    /data    ext3    defaults    1 2
...
    
por 11.11.2011 / 16:45
3

Os nomes dos discos ( sda , sdb , sdc ,…) são atribuídos na ordem em que os drivers são inicializados. Isso pode ser bastante aleatório (depende da ordem em que os dispositivos são carregados e, às vezes, de qual drive responde a uma consulta um microssegundo antes do outro em algum barramento de sistema).

Os números das partições ( sda1 vs sda2 vs…) são fixos; eles não mudarão até você reparticionar o disco. Os números de partição não são atribuídos sequencialmente; leia em particionamento de PC (siga os links de "informações adicionais") e talvez esta resposta e este encadeamento .

A maneira confiável de acessar determinados discos é através de LVM, rótulos ou UUIDs.

  • Os UUIDs são atribuídos quando você cria o sistema de arquivos; a resposta do quanta mostra como ver o UUID de um disco e usá-lo em /etc/fstab .
  • Se você preferir usar rótulos significativos, execute tune2fs -L ubuntu /dev/sda1 e assim por diante para atribuir a cada partição um sistema de arquivos com um rótulo exclusivo e mkswap -L swap1 /dev/sda5 (não faça isso enquanto a área de troca estiver em uso). Em seguida, use uma linha como esta em /etc/fstab :

    LABEL="ubuntu" / ext4 errors=remount-ro,acl 0 1
    
  • LVM nomes de volumes lógicos é o que eu prefiro usar, mas seu sistema não usa LVM. Pense nisso para a sua próxima compilação.

por 11.11.2011 / 23:58