![Usando mdadm - array RAID1 não espelha outro disco](https://rvso.com/image/756258/Usando%20mdadm%20-%20array%20RAID1%20n%C3%A3o%20espelha%20outro%20disco.png)
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 --detail
para descobrir o que está acontecendo. Se uma unidade falhou, você deve usar --fail
para renderizá-la com falha. E então, usando sgdisk
a 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/mdstat
iria mostrá-lo e você pode continuar sua operação até mesmo --fail
o 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/mdstat
mostra 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, active
significa que está pronto, com dois discos. Qualquer coisa que você gravar no md0 será espelhado em ambos os discos.
Na sua mdadm --detail
saída, clean
significa que o MD acredita que ambos os discos estão sincronizados. Ambos /proc/mdstat
e mdadm --detail
teriam sido mostrados resync
depois que você criou o array, enquanto colocava as duas unidades em sincronização, a menos que você usasse --assume-clean
na 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 --scan
lá 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:
- Execute o Ubuntu
- 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
- 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