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
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 /data
in/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/sda2
por 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.
wwn
na etiqueta do discoNã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.
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
init
para osystemd
, 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.d
diretório. No link do comentário do schrodingerscatcuriosity está escrito:Bem, isso significa: os discos são pesquisados na ordem padrão com SysV
init
; mas nosystemd
disco 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:o que você pode mudar
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.