Linux raid desaparece após a reinicialização

1

Minha capacidade de solução de problemas no Linux não é impressionante, só para você saber. Eu posso seguir as instruções muito bem, por outro lado. Eu tenho um servidor Linux com o Linux Raid. Funcionava bem sem problemas há cerca de meio ano, mas depois tive uma falha de energia e tive o mesmo problema desde então. Depois de reconstruir o ataque, todos os meus arquivos ainda estão lá, o que é bom. Quando eu reinicio o servidor, o dispositivo raid md0 desaparece.

pi@pinas:~ $ cat /proc/mdstat 
Personalities : 
unused devices: <none>

pi@pinas:~ $ ls /dev/md*
pi@pinas:~ $ 

Eu encontrei uma edição aqui que parece ter ajudado outras pessoas, mas eu tentei isso e isso não ajudou. Eu também olhei para vários outros sites, todos dizendo coisas semelhantes. Eu uso o webmin para criar o ataque e o mdadm.conf "parece" ok. Não sei se estou procurando na internet as coisas certas ou até mesmo se estou procurando nos arquivos de log corretos. Alguém tem alguma ideia?

Obrigado por antecipar.

*** Editar 1

root@pinas:/home/pi# service mdadm start
Failed to start mdadm.service: Unit mdadm.service is masked.

Eu estou querendo saber se o serviço mdadm está funcionando. O processo não está atualmente ativo no sistema e não tenho idéia de como saber se ele está configurado para iniciar na inicialização, como iniciá-lo ou configurá-lo para iniciar na inicialização.

*** Editar 2

systemctl list-unit-files
[email protected]           static  
[email protected]             static  
mdadm-waitidle.service                 masked  
mdadm.service                          masked  
[email protected]                         static  
mdmonitor.service                      static  

Eu encontrei isso. Eu não sei exatamente se isso é ruim, mas é suspeito. é assim que deveria ser? Nenhum deles diz habilitado e eu acho que eles deveriam. Alguma idéia?

*** Editar 3

systemctl list-unit-files
[email protected]           static  
[email protected]             static  
mdadm-waitidle.service                 masked  
mdadm.service                          masked  
[email protected]                         static  
mdmonitor.service                      static  

dpkg-reconfigure mdadm
update-initramfs: deferring update (trigger activated)
update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults
update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults
Processing triggers for initramfs-tools (0.120+deb8u3) ...

Eu executei os comandos que o @telcoM sugeriu e esta é a saída. Eu também tentei reinstalar esses comandos, mas a saída continua a mesma.

Eu tentei olhar para vários outros passos semelhantes na rede, mas até agora não encontrei nada que parecesse útil. Eu acho que o problema está relacionado ao serviço não iniciar na inicialização, mas eu não tenho experiência suficiente com serviços Linux para saber como consertá-lo. @roaima sugeriu que era um problema com o initramfs, mas não sei como verificar ou corrigir isso. Alguém tem alguma ideia?

*** Editar 4

CREATE owner=root group=disk mode=0660 auto=yes
HOMEHOST <system>
MAILADDR root
ARRAY /dev/md/0  metadata=1.2 UUID=d3434dfc:2fb4792e:0b64f806:67e35ee3 name=raspberrypi:0
ARRAY /dev/md/0  metadata=1.2 UUID=40fb937f:870c7c13:46774666:87445bc5 name=pinas:0

Aqui está a saída do meu arquivo mdadm.conf. o que é interessante porque o primeiro array listado não tem o nome certo ...

    
por Goff 16.12.2017 / 18:41

3 respostas

1

Seu /proc/mdstat indica que nenhuma das personalidades RAID (ou seja, RAID1, RAID5, etc.) foi carregada, portanto, nenhuma tentativa é feita para tentar ativar um conjunto RAID.

Failed to start mdadm.service: Unit mdadm.service is masked.

Esta mensagem indica que mdadm.service foi desativado da maneira mais strong possível: nenhuma tentativa explícita será feita para iniciar o serviço e, mesmo que algo dependa desse serviço, ele não será iniciado.

Como na pergunta vinculada por roaima , tente executar estes comandos como root:

dpkg-reconfigure mdadm    # Choose "all" disks to start at boot
update-initramfs -u       # Updates the existing initramfs

O primeiro irá reconfigurar o pacote mdadm e deve detectar todos os conjuntos RAID e permitir que você escolha quais conjuntos RAID serão ativados automaticamente na inicialização: geralmente, "todos" é uma boa resposta. Isso também deve cuidar do mdadm.service sendo mascarado, se eu entendi corretamente.

Uma vez feito isso, o segundo comando atualizará seu initramfs, para que os arquivos de configuração atualizados também sejam atualizados em seu initramfs, e os scripts que serão executados nas primeiras fases de inicialização receberão as informações que existem. um conjunto de RAID que deve ser ativado.

    
por 16.12.2017 / 20:28
0

Pelo menos parte do problema é que você tem duas definições para o mesmo dispositivo RAID /dev/md/0 no seu mdadm conf . Você precisa consertar isso primeiro.

Depois, execute sua matriz e, finalmente, você pode seguir as instruções em A nova matriz RAID não será montada automaticamente, leva a problemas de inicialização -

dpkg-reconfigure mdadm # Choose "all" disks to start at boot
update-initramfs -u # Updates the existing initramfs 
    
por 19.12.2017 / 22:54
0

Esta receita funcionou para mim depois de ter o mesmo problema. Olhou toda a net tentando
para encontrar a resposta e, finalmente, deparar com isso, e ainda não ajuda.

O problema que vejo é multiforme.

O mdadm reatribui os arquivos do dispositivo de / dev / md0 para algo como / dev / md127 na próxima reinicialização.
Então você não pode simplesmente usar o arquivo do dispositivo no fstab. Acabei usando o UUID, do sistema de arquivos criado.

2- Quase todos os tutoriais de configuração da unidade RAID na web estão mostrando a criação do dispositivo RAID usando os arquivos de dispositivo de driver como este:

mdadm --create --verbose / dev / md0 --level = 0 --raid-devices = 4 / dev / sda / dev / sdb / dev / sdc / dev / sdd

Em vez disso, usei os arquivos do dispositivo de partição, como este:

mdadm --create --verbose / dev / md0 --level = 0 --raid-devices = 4 / dev / sda1 / dev / sdb1 / dev / sdc1 / dev / sdd1

O segundo formulário requer a criação adequada de partições em cada disco usando 'gdisk' ou 'fdisk'. Eu usei 'gdisk' e o atribui como tipo 'fd00', que é uma partição raid.

3- Fala-se muito sobre a necessidade de atualizar o /etc/mdadm/mdadm.conf. Isto está errado. Eu propositadamente, excluí esse arquivo. Não é necessário. (Veja abaixo)

Isso é realmente tudo que existe também. A receita completa segue ...

Particione cada unidade com uma partição do tipo 'fd00', Linux RAID

root@teamelchan:~# gdisk /dev/sda
Command (? for help): n
Partition number (1-128, default 1):
First sector (2048-3907029134, default = 2048) or {+-}size{KMGTP}:
Last sector (2048-3907029134, default = 3907029134) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300): fd00
Changed type of partition to 'Linux RAID'

Command (? for help): p
Disk /dev/sda: 3907029168 sectors, 1.8 TiB
Model: ST2000DM001-1ER1
Sector size (logical/physical): 512/4096 bytes
Disk identifier (GUID): F81E265F-2D02-864D-AF62-CEA1471CFF39
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 2048, last usable sector is 3907029134
Partitions will be aligned on 2048-sector boundaries
Total free space is 0 sectors (0 bytes)

Number Start (sector) End (sector) Size Code Name
1
2048 3907029134 1.8 TiB FD00 Linux RAID

Command (? for help): w

Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!

Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/sda.
The operation has completed successfully.


Agora você deve ver os dispositivos de disco e os dispositivos de partição em / dev

root@teamelchan:~# ls /dev/sd[a-d]*
/dev/sda /dev/sda1 /dev/sdb /dev/sdb1 /dev/sdc /dev/sdc1 /dev/sdd /dev/sdd1


Agora crie o RAID de sua escolha com o mdadm usando os arquivos do dispositivo de partição, não os dispositivos de disco |

root@teamelchan:~# mdadm --create --verbose /dev/md0 --level=0 --raid-devices=4 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1
mdadm: chunk size defaults to 512K
mdadm: /dev/sda1 appears to contain an ext2fs file system
size=471724032K mtime=Sun Nov 18 19:42:02 2018
mdadm: /dev/sda1 appears to be part of a raid array:
level=raid0 devices=4 ctime=Thu Nov 22 04:00:11 2018
mdadm: /dev/sdb1 appears to be part of a raid array:
level=raid0 devices=4 ctime=Thu Nov 22 04:00:11 2018
mdadm: /dev/sdc1 appears to be part of a raid array:
level=raid0 devices=4 ctime=Thu Nov 22 04:00:11 2018
mdadm: /dev/sdd1 appears to contain an ext2fs file system
size=2930265540K mtime=Sun Nov 18 23:58:02 2018
mdadm: /dev/sdd1 appears to be part of a raid array:
level=raid0 devices=4 ctime=Thu Nov 22 04:00:11 2018
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.


Agora, verifique o / dev / disk para ver se há algum UUID associado ao seu novo / dev / md0 RAID

Não deve haver nenhum.

root@teamelchan:~# ls -l /dev/disk/by-uuid
total 0
lrwxrwxrwx 1 root root 10 Nov 22 04:24 4777-FB10 -> ../../sdf1
lrwxrwxrwx 1 root root 10 Nov 22 04:24 D616BDCE16BDAFBB -> ../../sde1
lrwxrwxrwx 1 root root 10 Nov 22 04:24 e79571b6-eb75-11e8-acb0-e0d55e117fa5 -> ../../sdf2


Cria o novo sistema de arquivos, e depois disso você deve ter um UUID com / dev / md0

root@teamelchan:~# mkfs.ext4 -F /dev/md0
mke2fs 1.44.1 (24-Mar-2018)
Creating filesystem with 2685945088 4k blocks and 335745024 inodes
Filesystem UUID: 7bd945b4-ded9-4ef0-a075-be4c7ea246fb
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
102400000, 214990848, 512000000, 550731776, 644972544, 1934917632,
2560000000

Allocating group tables: done
Writing inode tables: done
Creating journal (262144 blocks): done
Writing superblocks and filesystem accounting information: done


Voila, aí está.

root@teamelchan:~# ls -l /dev/disk/by-uuid
total 0
lrwxrwxrwx 1 root root 10 Nov 22 04:24 4777-FB10 -> ../../sdf1
lrwxrwxrwx 1 root root 9 Nov 22 04:43 7bd945b4-ded9-4ef0-a075-be4c7ea246fb -> ../../md0
lrwxrwxrwx 1 root root 10 Nov 22 04:24 D616BDCE16BDAFBB -> ../../sde1
lrwxrwxrwx 1 root root 10 Nov 22 04:24 e79571b6-eb75-11e8-acb0-e0d55e117fa5 -> ../../sdf2


Modifique seu / etc / fstab e adicione a montagem para seu novo RAID

Certifique-se de usar o UUID e não o arquivo do dispositivo.

root@teamelchan:~# cat /etc/fstab
UUID=e79571b6-eb75-11e8-acb0-e0d55e117fa5 / ext4 defaults 0 0
UUID=4777-FB10 /boot/efi vfat defaults 0 0
/swap.img none
swap sw 0 0
UUID=7bd945b4-ded9-4ef0-a075-be4c7ea246fb /md0/tweets ext4 auto 0 0


Aqui, não procure /etc/mdadm/mdadm.conf

Não é necessário.

root@teamelchan:~# ls -l /etc/mdadm
total 0


Reiniciar

root@teamelchan:~# reboot
Connection to 192.168.0.131 closed by remote host.
Connection to 192.168.0.131 closed.


O RAID é montado, mas o mdadm renomeou o arquivo do dispositivo de md0 para md127

Ainda bem que usamos o UUID e não o arquivo de dispositivo real.

root@teamelchan:~# df /md0/tweets
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/md127 10658016696 73660 10120737636 1% /md0/tweets


Look md0 desapareceu de / dev

root@teamelchan:~# ls /dev/md*
/dev/md127

/dev/md:


É isso. Agora estou aproveitando meu RAID0 de 10 Terabytes que opera a mais de 600 MB / s

root@teamelchan:~# hdparm -tT /dev/md127

/dev/md127:
Timing cached reads: 26176 MB in 1.99 seconds = 13137.47 MB/sec
Timing buffered disk reads: 1878 MB in 3.00 seconds = 625.13 MB/sec

    
por 22.11.2018 / 06:30

Tags