AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / unix / Perguntas / 765830
Accepted
lessharm
lessharm
Asked: 2023-12-31 00:30:08 +0800 CST2023-12-31 00:30:08 +0800 CST 2023-12-31 00:30:08 +0800 CST

Os pontos de montagem dos discos são inconsistentes após cada reinicialização. Usando UUID no fstab

  • 772

Estou tendo um problema em que posso montar meus discos manualmente usando o comando mount. Em seguida, adiciono os discos ao fstab. Depois de reiniciar: sda1 aponta para o ponto de montagem correto (/mnt/da), mas o resto não. Por favor me ajude, estou sem ideias.

Configuração do servidor :

  • 2 unidades nvme em software raid1
  • 10 unidades de 16 TB sem RAID, discos independentes (tive que remover o RAID deles após a configuração inicial)
  • SO: Debian 12
  • sistema de arquivos xfs
  • Usando UUID, obtenho o comando blkid para adicionar os dispositivos ao fstab

Testado :

  • Montou manualmente os discos
  • Tentei montar um disco por vez
  • Tentei adicionar um disco por vez ao fstab e recarregar
  • Tentei adicionar todos os discos ao fstab e recarregar

df-h

root@data7 ~ # df -h
Filesystem      Size  Used Avail Use% Mounted on
udev             63G     0   63G   0% /dev
tmpfs            13G  896K   13G   1% /run
/dev/md2        875G 1013M  829G   1% /
tmpfs            63G     0   63G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
/dev/md1        989M   66M  873M   7% /boot
/dev/sdb1        15T  104G   15T   1% /mnt/db
/dev/sdd1        15T  104G   15T   1% /mnt/dc
/dev/sda1        15T  104G   15T   1% /mnt/da
tmpfs            13G     0   13G   0% /run/user/0

lsblk

root@data7 ~ # lsblk
NAME        MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINTS
sda           8:0    0  14.6T  0 disk
└─sda1        8:1    0  14.6T  0 part  /mnt/da
sdb           8:16   0  14.6T  0 disk
└─sdb1        8:17   0  14.6T  0 part  /mnt/db
sdc           8:32   0  14.6T  0 disk
└─sdc1        8:33   0  14.6T  0 part
sdd           8:48   0  14.6T  0 disk
└─sdd1        8:49   0  14.6T  0 part  /mnt/dc
sde           8:64   0  14.6T  0 disk
└─sde1        8:65   0  14.6T  0 part
sdf           8:80   0  14.6T  0 disk
└─sdf1        8:81   0  14.6T  0 part
sdg           8:96   0  14.6T  0 disk
└─sdg1        8:97   0  14.6T  0 part
sdh           8:112  0  14.6T  0 disk
└─sdh1        8:113  0  14.6T  0 part
sdi           8:128  0  14.6T  0 disk
└─sdi1        8:129  0  14.6T  0 part
sdj           8:144  0  14.6T  0 disk
└─sdj1        8:145  0  14.6T  0 part
sdk           8:160  0  57.7G  0 disk
nvme0n1     259:0    0 894.3G  0 disk
├─nvme0n1p1 259:1    0     4G  0 part
│ └─md0       9:0    0     4G  0 raid1 [SWAP]
├─nvme0n1p2 259:2    0     1G  0 part
│ └─md1       9:1    0  1022M  0 raid1 /boot
└─nvme0n1p3 259:3    0 889.3G  0 part
  └─md2       9:2    0 889.1G  0 raid1 /
nvme1n1     259:4    0 894.3G  0 disk
├─nvme1n1p1 259:5    0     4G  0 part
│ └─md0       9:0    0     4G  0 raid1 [SWAP]
├─nvme1n1p2 259:6    0     1G  0 part
│ └─md1       9:1    0  1022M  0 raid1 /boot
└─nvme1n1p3 259:7    0 889.3G  0 part
  └─md2       9:2    0 889.1G  0 raid1 /

blkid

GETTING UUID
root@data7 ~ # blkid | g sda
/dev/sda1: UUID="cea5e8d9-1ddf-4502-a609-3a17af37082c" BLOCK_SIZE="4096" TYPE="xfs" PARTUUID="d0a89050-f533-7245-877e-5006d974516c"
root@data7 ~ # blkid | g sdb
/dev/sdb1: UUID="e3ae1145-d37b-41d7-ac1f-5c6a646bd5ed" BLOCK_SIZE="4096" TYPE="xfs" PARTUUID="da1f85c1-9054-d147-a9b8-0965020b4d67"
root@data7 ~ # blkid | g sdc
/dev/sdc1: UUID="47bf4e70-ec50-4369-88c2-9dfd8dd5d422" BLOCK_SIZE="4096" TYPE="xfs" PARTUUID="f458a5c3-6b6c-054d-a069-27930dcb02f2"

fstab

/etc/fstab - WAS CORRECT BEFORE RESTART .. CHANGED IT 5+ TIMES AND BREAKS AFTER EVERY RESTART
proc /proc proc defaults 0 0
# /dev/md/0
UUID=e2f568f6-846b-4657-b88d-3c8108d5600c none swap sw 0 0
# /dev/md/1
UUID=a5868f6d-b7e5-43b1-ab81-4770a543d83a /boot ext3 defaults 0 0
# /dev/md/2
UUID=612c81e1-94e4-415e-863f-6dfcbe127dee / ext4 defaults 0 0
# /dev/sda1
UUID=cea5e8d9-1ddf-4502-a609-3a17af37082c /mnt/da xfs defaults 0 2
# /dev/sdb1
UUID=e3ae1145-d37b-41d7-ac1f-5c6a646bd5ed /mnt/db xfs defaults 0 2
# /dev/sdc1
UUID=2b28f001-d9a0-4759-8f29-4bf45a18aeb6 /mnt/dc xfs defaults 0 2

Meus outros servidores (em resposta ao comentário de que os nomes dos dispositivos não persistem durante as reinicializações)

root@data2:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            126G     0  126G   0% /dev
tmpfs            26G  1.3G   24G   6% /run
/dev/sda3       5.5T  4.9T  246G  96% /
tmpfs           126G     0  126G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           126G     0  126G   0% /sys/fs/cgroup
/dev/sda2       923M   79M  781M  10% /boot
/dev/sde1       5.5T  5.0T  236G  96% /mnt/de
/dev/sdf1       5.5T  4.1T  1.2T  79% /mnt/df
/dev/sdd1       5.5T  4.7T  468G  92% /mnt/dd
/dev/sdc1       5.5T  5.1T   49G 100% /mnt/dc
/dev/sdb1       5.5T  5.1T   74G  99% /mnt/db
tmpfs            26G     0   26G   0% /run/user/1000
tmpfs            26G     0   26G   0% /run/user/0

root@data3:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            126G     0  126G   0% /dev
tmpfs            26G  2.5G   23G  10% /run
/dev/sda3       5.5T  4.2T  1.1T  81% /
tmpfs           126G     0  126G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           126G     0  126G   0% /sys/fs/cgroup
/dev/sda2       923M   79M  781M  10% /boot
/dev/sdc1        11T   11T  660G  95% /mnt/df
/dev/sdf1        11T  9.2T  1.8T  84% /mnt/de
/dev/sdd1        11T  9.8T  1.2T  90% /mnt/dc
/dev/sde1        11T   11T  191G  99% /mnt/dd
/dev/sdb1        11T   11T  855G  93% /mnt/db
tmpfs            26G     0   26G   0% /run/user/1001
tmpfs            26G     0   26G   0% /run/user/0


root@data4:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            126G     0  126G   0% /dev
tmpfs            26G  2.5G   23G  10% /run
/dev/sda3        11T   11T  249G  98% /
tmpfs           126G     0  126G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           126G     0  126G   0% /sys/fs/cgroup
/dev/sda2       923M   80M  781M  10% /boot
/dev/sdc1        11T  9.3T  1.7T  85% /mnt/dc
/dev/sdd1        11T  9.0T  2.0T  82% /mnt/dd
/dev/sdb1        11T  9.8T  1.2T  90% /mnt/db
tmpfs            26G     0   26G   0% /run/user/1002
tmpfs            26G     0   26G   0% /run/user/1000
tmpfs            26G     0   26G   0% /run/user/1005
tmpfs            26G     0   26G   0% /run/user/0
mount
  • 3 3 respostas
  • 100 Views

3 respostas

  • Voted
  1. Best Answer
    ron
    2024-01-02T22:02:08+08:002024-01-02T22:02:08+08:00

    Não é garantido que os IDs do dispositivo sejam consistentes nas reinicializações...

    você está usando vocabulário errado.

    Existem 6 maneiras de montar discos no Linux, conforme mostrado abaixo /dev/disk; isso está usando RHEL-7.9 ...

    by-id/ by-label/ by-partlabel/ by-partuuid/ by-path/ by-uuid/

    by-id é um identificador scsi ou identificador wwn (número mundial).

    A maneira não confiável (ou inconsistente) é montar by-device-name que, por exemplo, está fazendo apenas /dev/sdb1 /datain /etc/fstab, que é o que você estava fazendo e está se referindo incorretamente como device id's . Os IDs são consistentes, os nomes dos dispositivos (que são sda, sdb, sdc e assim por diante) não são.

    Você verá que tudo nessas seis /dev/disk/pastas são links que apontam para cima e para cima para o nome do dispositivo { /dev/sda2por exemplo}

    conforme mencionado nos comentários, o nome do dispositivo é mapeado após a inicialização, na ordem em que os dispositivos são reconhecidos. Adicionar um novo disco conectado por cabo SATA não o coloca no final da lista sda,sdb,sdc.... Muitas vezes é colocado na frente como sda e então tudo desce, e é assim que surge a inconsistência. Basta trocar dois discos e as portas SATA às quais eles estão conectados na placa-mãe - mesmo problema.

    • by-UUID é muito consistente - daí o nome id universalmente exclusivo
    • by-id como no scsi id ou wwn id, também deve ser muito confiável; você encontrará frequentemente wwnna etiqueta do disco
    • por rótulo deve ser confiável, até que você faça algo como rotular vários discos (na verdade, partições) com o mesmo nome de rótulo.
    • Acho que o caminho alternativo é inconsistente, pois se os discos forem conectados a diferentes portas SAT/SAS, esse agora será um caminho diferente.
    • 2
  2. lessharm
    2024-01-02T06:21:58+08:002024-01-02T06:21:58+08:00

    Não é garantido que os nomes dos dispositivos (alterados dos IDs) sejam consistentes nas reinicializações. Usar UUIDs em seu fstab ainda garante que seus discos sejam montados consistentemente apontando para o mesmo caminho. Os dados que você coloca em /mnt/da, /mnt/db ... etc continuarão a residir nesses locais mesmo se o ID do dispositivo mudar.

    Obrigado a @frostschutz e outros nos comentários.

    • 0
  3. schweik
    2024-01-02T08:04:59+08:002024-01-02T08:04:59+08:00

    AFAIK no passado, a ordem do disco era estritamente definida pela detecção da ordem: mestre IDE primário = hda, escravo = hdb; mestre IDE secundário = hdc, escravo = hdd. Novo hardware trouxe canais SATA, o que mudou o identificador do dispositivo para sda, sdb, etc. Além das mudanças de hardware o boot resp. o software de inicialização também foi um pouco alterado. Tanto o BIOS (resp. uEFI) quanto o bootloader e systemboot começam a usar mais núcleos de CPU. Você pode notar que o Debian (e outros) migraram do SysV initpara o systemd, então você pode iniciar mais componentes independentes em paralelo e não em uma ordem estrita definida com ordem "alfabética" no /etc/rc3.ddiretório. No link do comentário do schrodingerscatcuriosity está escrito:

    ... o primeiro disco rígido detectado é denominado /dev/sda ...

    Bem, isso significa: os discos são pesquisados ​​na ordem padrão com SysV init; mas no systemddisco a detecção é feita em paralelo, o que significa que o primeiro disco detectado não precisa ser o disco conectado ao primeiro canal SATA. O primeiro toque é feito pelo BIOS (uEFI) e pela ROM do BIOS da placa PCI(e) adicional - SCSI (SAS), por exemplo. Portanto, você não pode confiar na ordem de detecção do disco, porque os discos rotacionais precisam de mais tempo para iniciar após serem ligados, mas após a reinicialização a quente pode ser detectada imediatamente. É por isso que o UUID e o LABEL foram adicionados para identificar a partição do disco a ser montada. Então você pode ver no fstab (no Linux baseado em Debian) algo como:

    # / was on /dev/sda1 during installation
    UUID=98765432-9876-abcd-9090-1234567890ab / ext4 ...
    

    o que você pode mudar

    LABEL=mysda1 / ext4 ...
    

    se você definir o LABEL da partição como mysda1 . O IDE nem o disco SATA não possuem nenhum identificador padrão como o endereço MAC da NIC.

    • 0

relate perguntas

  • Montando permanentemente um diretório com LVM

  • Impedir que montagens NFS quebradas bloqueiem um diretório no solaris 11.3?

  • Como montar partições de unidade zfs no solaris 11.3

  • Bloqueando montagem syscall

  • montar lan hdd no linux fedora

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Possível firmware ausente /lib/firmware/i915/* para o módulo i915

    • 3 respostas
  • Marko Smith

    Falha ao buscar o repositório de backports jessie

    • 4 respostas
  • Marko Smith

    Como exportar uma chave privada GPG e uma chave pública para um arquivo

    • 4 respostas
  • Marko Smith

    Como podemos executar um comando armazenado em uma variável?

    • 5 respostas
  • Marko Smith

    Como configurar o systemd-resolved e o systemd-networkd para usar o servidor DNS local para resolver domínios locais e o servidor DNS remoto para domínios remotos?

    • 3 respostas
  • Marko Smith

    apt-get update error no Kali Linux após a atualização do dist [duplicado]

    • 2 respostas
  • Marko Smith

    Como ver as últimas linhas x do log de serviço systemctl

    • 5 respostas
  • Marko Smith

    Nano - pule para o final do arquivo

    • 8 respostas
  • Marko Smith

    erro grub: você precisa carregar o kernel primeiro

    • 4 respostas
  • Marko Smith

    Como baixar o pacote não instalá-lo com o comando apt-get?

    • 7 respostas
  • Martin Hope
    user12345 Falha ao buscar o repositório de backports jessie 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl Por que a maioria dos exemplos do systemd contém WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky Como exportar uma chave privada GPG e uma chave pública para um arquivo 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll status systemctl mostra: "Estado: degradado" 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim Como podemos executar um comando armazenado em uma variável? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S Por que /dev/null é um arquivo? Por que sua função não é implementada como um programa simples? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 Como ver as últimas linhas x do log de serviço systemctl 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - pule para o final do arquivo 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla Por que verdadeiro e falso são tão grandes? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis Substitua a string em um arquivo de texto enorme (70 GB), uma linha 2017-12-30 06:58:33 +0800 CST

Hot tag

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve