Usando mdadm - array RAID1 não espelha outro disco

Usando mdadm - array RAID1 não espelha outro disco

Atualmente estou construindo um servidor nextcloud no Ubuntu 20.04. Eu tenho um disco para o sistema operacional rodar em um disco rígido de 320GB. E quero que o diretório de dados esteja em um array raid1, porque se uma unidade falhar, ainda teremos a outra unidade com os dados. Então eu tenho 2 discos rígidos de 500 GB em um array raid1 em/dev/md0.

Quando corro:cat /proc/mdstat

Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 sdb[0] sdc[1]
      488254464 blocks super 1.2 [2/2] [UU]
      bitmap: 0/4 pages [0KB], 65536KB chunk

unused devices: <none>

diz que está ativo, quando executo: sudo mdadm --detail /dev/md0

/dev/md0:
           Version : 1.2
     Creation Time : Fri Aug 14 16:50:18 2020
        Raid Level : raid1
        Array Size : 488254464 (465.64 GiB 499.97 GB)
     Used Dev Size : 488254464 (465.64 GiB 499.97 GB)
      Raid Devices : 2
     Total Devices : 2
       Persistence : Superblock is persistent

     Intent Bitmap : Internal

       Update Time : Sat Aug 15 14:50:13 2020
             State : clean
    Active Devices : 2
   Working Devices : 2
    Failed Devices : 0
     Spare Devices : 0

Consistency Policy : bitmap

              Name : nextcloudserver:0  (local to host nextcloudserver)
              UUID : e525d3e8:2d738f44:59d495fa:2fdcce41
            Events : 9032

    Number   Major   Minor   RaidDevice State
       0       8       16        0      active sync   /dev/sdb
       1       8       32        1      active sync   /dev/sdc

diz que o estado está limpo. Não deveria estar ressincronizando?

Sudo mdadm --detail /dev/md0

mdadm: No md superblock detected on /dev/md0.

Eu perdi alguma coisa?

Portanto, /dev/md0 está montado em /mnt/raid1. Criei um arquivo de texto em /mnt/raid1. Quando eu desligo o pc e conecto um disco rígido no array raid1 e inicializo o pc. Não consigo encontrar o arquivo de texto que criei em /mnt/raid1.

E se eu executar cat /proc/mdstat ele diz que o status está inativo

Alguém poderia me ajudar com o espelhamento dos discos. Para que, se um falhar, o nextcloud ainda tenha a data no outro disco.

Qualquer ajuda seria apreciada, obrigado antecipadamente

Este é o tutorial que segui: (https://www.linuxbabe.com/linux-server/linux-software-raid-1-setup)

Até a etapa 5 funciona para mim. Depois de desconectar um dos discos rígidos, não consigo mais acompanhar.

Responder1

Você pode forçar, acho que o comando era:

mdadm --assemble --force /dev/md0 /dev/sdb /dev/sdc

no entanto, as pessoas criam partições e, em seguida, criam um array md0 nelas, assim o comando se tornaria,

mdadm --assemble --force /dev/md0 /dev/sdb1 /dev/sdc1

(Não entendi mas você pode ter criado em discos raw...)

que lhe dará seus arquivos.

A questão é que o disco fica inativo quando você o força, ele fica degregado. Normalmente, quando um array está inativo, você deve usá-lo mdadm --scan --detailpara descobrir o que está acontecendo. Se uma unidade falhou, você deve usar --failpara renderizá-la com falha. E então, usando sgdiska cópia da tabela gpt do disco de trabalho para o novo disco, altere o uuid dos novos discos e reconstrua a matriz.

Mas você sempre pode forçar um único disco a criar seu array.

O grande problema aqui seria usar o raid1 em vez do backup diário adequado. Raid é para operação ininterrupta e quando um disco falha /proc/mdstatiria mostrá-lo e você pode continuar sua operação até mesmo --failo disco e sincronizá-lo novamente e ele se reconstrói automaticamente sem parar a operação ...

Veja isso:

https://www.thomas-krenn.com/en/wiki/Mdadm_recovery_and_resync

Responder2

Sua saída cat /proc/mdstatmostra uma matriz RAID 1 funcionando corretamente.

md0 : active raid1 sdb[0] sdc[1]
      488254464 blocks super 1.2 [2/2] [UU]
      bitmap: 0/4 pages [0KB], 65536KB chunk

Aqui, activesignifica que está pronto, com dois discos. Qualquer coisa que você gravar no md0 será espelhado em ambos os discos.

Na sua mdadm --detailsaída, cleansignifica que o MD acredita que ambos os discos estão sincronizados. Ambos /proc/mdstate mdadm --detailteriam sido mostrados resyncdepois que você criou o array, enquanto colocava as duas unidades em sincronização, a menos que você usasse --assume-cleanna linha de comando para mdadm create.

Os problemas subsequentes, acredito, são todos devido ao fato de a matriz RAID não ter inicializado no momento da inicialização e de não ter o sistema de arquivos que você criou montado no momento da inicialização. Por exemplo, na saída abaixo, o array claramente não está em execução.

sudo mdadm --detail /dev/md0
mdadm: No md superblock detected on /dev/md0.

Se, após a inicialização, seu array não estiver funcionando, você poderá montá-lo manualmente assim:

mdadm --assemble /dev/md0 /dev/sdb /dev/sdc

Em seguida, monte seu sistema de arquivos.

mount /dev/md0 /mnt/raid1

Para que o array seja iniciado automaticamente na inicialização, você precisa configurá-lo no arquivo /etc/mdadm.conf. A maneira mais fácil é enviar a saída de mdadm --detail --scanlá quando o array estiver em execução.

mdadm --detail --scan >> /etc/mdadm.conf

Para montar o sistema de arquivos na inicialização, adicione-o ao arquivo /etc/fstab. Siga as instruções ou faça com que pareça uma das outras entradas.

Como disse o outro respondente, o RAID não é uma solução de backup. O RAID irá mantê-lo funcionando quando algum hardware falhar. Mas não ajudará se todo o seu hardware falhar ou se o seu hardware ou software corromper os dados. Portanto, se os dados forem importantes, investigue técnicas de backup.

Responder3

Tente assim:

  1. Execute o Ubuntu
  2. Execute o terminal e escreva
  • Sudo senha raiz
  • mdadm –create /dev/md0 -- level=1 --raid-devices=2 /dev/sda1 ausente
  • mdadm –create /dev/md1 -- level=1 --raid-devices=2 /dev/sdb1 ausente
  1. Instale o Linux. Ataque à casa 1. Se você receber um erro no meio do processo, escreva no terminal isto:

Ls -l /dev/sd*

mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sda1 /dev/sdb1

Importante: DEV é uma chave USB

df-h

montar --bind /dev /target/dev montar --bind /sys /target/sys montar --bind /proc /target/proc cp /etc/resolv.conf /target/etc/resolv.conf chroot /target/ apt instale mdadm grub-install /dev/sda exit e então reinicie o linux.

Se você apenas adicionar disco ao mesmo grupo (md0), use este comando:

sudo mdadm --add /dev/md0 /dev/sdc2

Responder4

[RESOLVIDO]

Então, quando eu conectei uma unidade. Eu queria poder ver os dados na outra unidade. Eu conectei um disco rígido, executei cat /proc/mdstat que dizia ativo

então eu tentei

sudo mdadm -S /dev/md0 para pará-lo

então

sudo mdadm -A /dev/md0 para ativá-lo

e montando o sistema de arquivos novamente sudo mount /dev/md0 /mnt/raid1

informação relacionada