Como configurar o RAID-1 no Raspberry Pi, a maneira fácil

Como configurar o RAID-1 no Raspberry Pi, a maneira fácil

O sistema operacional do Raspberry Pi é instalado no cartão SD ou em um disco USB. Devido aos ciclos de gravação limitados de células flash em cartões SD, sua confiabilidade não é garantida. Discos rígidos e SSDs se saem melhor em confiabilidade; o último usa algoritmos de nível de desgaste para prolongar a vida útil do dispositivo. Mas ainda assim, manter os dados em um único disco é sempre arriscado.





MAKEUSEO VÍDEO DO DIA

A ideia de espelhar dados usando RAID-1

Para evitar a perda de dados em caso de falha de disco, Espelhamento de dados RAID-1 deve ser implementado. O problema é que não é possível configurar o RAID durante a fase de instalação do sistema operacional em um Raspberry Pi.





Essa ideia é sobre como configurar o espelhamento RAID-1 em dois SSDs USB e, em seguida, copiar o diretório inicial para a partição RAID e configurá-lo para usá-lo como /home. Como os dados do usuário residem no diretório inicial, os dados podem ser totalmente recuperados e o RAID pode ser reconstruído novamente em caso de falha de um único disco.





O sistema operacional ainda permanecerá no cartão SD (ou outro SSD). Se o disco do sistema operacional falhar, os dados importantes ainda estarão disponíveis na matriz RAID-1. Além disso, o disco do sistema operacional durará mais, pois há menos pressão no disco. Isso ocorre porque a maior parte da atividade do disco está acontecendo no diretório /home (por exemplo, leitura/gravação contínua em “Arquivos de perfil do Firefox”).

Esse processo emprega uma interface da Web para simplificar o processo complexo de configuração do RAID. Configuração mostrada aqui usa o Ubuntu MATE 22.04 e o mesmo processo pode ser aplicado a qualquer outro Pi OS.



Escolha o hardware certo considerando a disponibilidade de energia

São necessários no mínimo dois discos para RAID-1. Esses discos podem ser discos rígidos ou SSDs. Depois que o RAID-1 é configurado, os dados são espelhados (clonados) no array. Isso significa que os dados são gravados em ambos os discos e são lidos a partir do RAID Member mais rápido.

  Dois SSDs conectados a um Raspberry Pi 4 usando adaptadores USB para SATA

Adaptadores USB para SATA são usados ​​para conectar SSDs ao Pi. Um SSD consome cerca de 5 Watts de energia no pico de uso. Como dois deles são necessários para RAID-1, a disponibilidade de energia precisa ser considerada.





2 (SSDs) x 5 (Watts) = 10 Watts

Um Pi 4 rodando no clock padrão consome cerca de 6 Watts e um Pi 4 com overclock em plena carga consome cerca de 8 Watts.





A fonte de alimentação oficial de um Raspberry Pi 4 é 5.1V, 3.0A.

5,1 (Volts) x 3 (Amperes) = 15,3 Watts

  Classificações de energia de um adaptador oficial Raspberry Pi

Resumindo, o requisito de energia é maior que a saída máxima do adaptador.

10 Watts + 8 Watts > 15,3 Watts

O Pi também precisará alimentar seu sistema de refrigeração. Portanto, os SSDs devem ser alimentados externamente para ter espaço para operação estável.

UMA Dock duplo USB HDD/SSD atende a esse propósito idealmente, ele pode abrigar discos de 2,5' e 3,5'. Ele tem seu próprio adaptador de energia e não consumirá energia do Pi.

SD's para RAID, escolha modelos com TBWs não idênticos para que ambos os discos tenham pontos de falha em intervalos diferentes. Isso dá tempo suficiente para reconstruir a matriz RAID e manterá seus dados perpetuamente intactos. Existem duas portas USB 3.0 no Pi 4. Como o dock usa apenas uma delas, uma porta sobressalente ainda está disponível para conectar outro dispositivo rápido.

  Raspberry Pi 4 conectado pela porta USB 3.0 a um Dual HDD Dock

Instale as ferramentas para configurar o espelhamento RAID-1

Conecte os discos no dock e ligue o Pi. A configuração do RAID é fácil usando uma ferramenta chamada 'Webmin', sua interface pode ser acessada através do navegador. Abra o terminal (atalho: Ctrl+Alt+T ) e use estes comandos para instalar o Webmin:

Edite o arquivo sources.list:

sudo nano /etc/apt/sources.list

Adicione esta linha (atalho: Ctrl+Shift+Inserir ):

deb http://download.webmin.com/download/repository sarge contrib
  Adicionando um novo repositório ao arquivo de fontes de software usando o editor nano

Salvar arquivo usando Ctrl+O , pressione “Enter” e saia usando Ctrl+X .

Baixe a chave para confiar na fonte:

wget -q -O- http://www.webmin.com/jcameron-key.asc | sudo apt-key add

Atualizar novos repositórios:

como saber quem deixou de te seguir no instagram
sudo apt update

Instale o Webmin:

sudo apt install webmin -y

Instale o utilitário RAID de software mdadm:

sudo apt install mdadm -y

Instale a ferramenta de gerenciamento de disco:

sudo apt install gnome-disk-utility -y

Defina uma senha para o usuário root (para gerenciar o Webmin):

sudo su 
passwd
  Criando uma senha para o superusuário no terminal

Atualize, atualize e reinicie:

sudo apt update && sudo apt upgrade -y && sudo reboot

Processo para construir o array RAID-1

Abrir Discos ferramenta de Menu > Preferências . Você também pode usar o comando:

gnome-disks

Mostraria os novos discos, formatar ambos.

  Formatando um disco usando o Gnome Disk Utility

Abra o navegador da web e digite este URL:

https://localhost:10000

O Webmin é executado em localhost na porta 10000. Como https é usado e o Certificado SSL não está instalado, o navegador mostrará um aviso. É seguro clicar Avançado e depois Aceite o risco e continue .

  Adicionando uma exceção no Firefox ao navegar em uma URL https sem um certificado válido

Faça login com o usuário como “root” e a senha que você definiu para root anteriormente. Primeiro, Atualizar módulos . Feito isso, expanda Hardware e selecione RAID Linux . Na lista suspensa, selecione RAID1 (Espelhado) e clique no botão Criar dispositivo RAID de nível .

  Escolhendo o modo RAID na interface Webmin

Selecione os dois discos mantendo pressionado o Ctrl chave. Alternar Pular inicialização de dispositivos . Isso porque a inicialização leva muito tempo, mais de uma hora para cada 100 GB, e não é necessário replicar discos vazios.

  Adicionando discos ao RAID-1 ao criar o dispositivo RAID usando a interface Webmin

Clique Crio . O Webmin deve responder em três minutos com o array recém-criado. Você pode então verificar mais detalhes através /dev/md0 . Os dois discos são mostrados como Partições em RAID e a Status do sistema de arquivos é Ativo mas não montado .

  Uma exibição de todos os discos conectados a um dispositivo RAID na interface Webmin

A nova matriz RAID deve ser formatada antes de montá-la. Isso pode ser feito usando os discos à esquerda. Selecione os Matriz RAID-1 e Formatar partição .

  Formatando um RAID Array usando o Gnome Disk Utility

Dê um nome, por exemplo Dados . Selecione o botão de rádio Disco interno para uso apenas com sistemas Linux (Ext4) e prossiga para formatá-lo.

  Selecionando o sistema de arquivos para partição RAID 1

Essa matriz precisa ser montada automaticamente a cada inicialização. Selecionar Editar opções de montagem .

  O processo de montagem de uma matriz RAID usando o Gnome Disk Utility

Alternar Padrões de sessão do usuário e clique OK . Após a autenticação, este processo modifica o arquivo “/etc/fstab”.

  Alternar os padrões do usuário ao montar a matriz RAID

Reinicie, o array RAID-1 montado aparece como a pasta 'Data' no explorador de arquivos.

Mova o diretório inicial para a matriz RAID-1

Para espelhar dados importantes, o diretório inicial deve estar no array RAID-1. Recomenda-se fazer uma cópia em vez de movê-la, pois isso ajudará a “Reconstruir RAID” no futuro.

No terminal:

dir /mnt

Copie o nome da montagem RAID, parece “6256d81c-c23c-42c4-aea3-d194466c6c33” e é diferente para você. Substitua o nome do diretório e use este comando para clonar o diretório inicial:

sudo rsync -av /home/* /mnt/6256d81c-c23c-42c4-aea3-d194466c6c33/

Faça este novo diretório para montar como /home em vez do antigo:

sudo nano /etc/fstab

Encontre a linha /dev/disco... (geralmente a última linha desde que você acabou de montá-lo) e altere o ponto de montagem para '/home', conforme mostrado na captura de tela abaixo.

assistir filmes grátis sem inscrição ou download
  Editando o FStab para montar discos RAID na inicialização

Reinicialize, o diretório inicial do Pi agora está no RAID-1 e os dados são espelhados.

Opções de recuperação de falha do Raspberry Pi RAID

Em caso de falha do RAID, há duas opções disponíveis para recuperação e devem ser definidas agora.

1) Monte a matriz degradada e reconstrua

Crie um novo arquivo:

sudo nano /etc/initramfs-tools/conf.d/mdadm

Incluir este conteúdo:

BOOT_DEGRADED=true

Isso montará a matriz RAID mesmo se um disco falhar. O diretório inicial no array degradado será usado.

2) Não monte o array degradado, mas reconstrua

Não faça nada, o array degradado não será montado na inicialização. O diretório inicial antigo será usado; anteriormente, você copiou o diretório inicial em vez de movê-lo por esse motivo. Agora, ele ajudará a reconstruir a matriz RAID. Não entre em pânico depois de observar dados ausentes neste modo, lembre-se de que este não é seu diretório pessoal real. Seus dados estão seguros em outro disco e estão esperando para serem recuperados.

Caso o Webmin mostre uma mensagem de erro 'mdadm: Cannot get array info for /dev/md0.'

  mdadm mostrando um erro que não pode obter as informações da matriz RAID

Use este comando para iniciar a matriz:

sudo mdadm --run /dev/md0

Reconstruindo o array em caso de falha

Embora não seja necessário replicar esta etapa, é bom saber que os dados podem ser recuperados em caso de falha de disco.

Processo de simulação

O Pi é desligado e um disco é removido. O Pi é então ligado e o Webmin é acessado. Dentro RAID Linux , a Status agora é mostrado como Inativo . Após uma inspeção adicional, verificando /dev/md0 mostra uma matriz degradada com apenas um disco em RAID.

  Interface Webmin mostrando apenas um disco disponível após a falha de um membro RAID

Os dados estão intactos, mas agora estão apenas em um disco. A matriz RAID precisa ser reconstruída para preservar os dados.

O Pi é desligado, um novo disco HDD/SSD vazio é inserido no lugar do antigo e o Pi é ligado. Webmin é acessado, verificando /dev/md0 mostra opções para adicionar um novo disco à matriz RAID. Selecione o novo disco na lista suspensa e clique em Adicionar partição .

  Adicionando um novo disco para reconstruir o RAID na interface do Webmin

A reconstrução começaria imediatamente, a duração depende do tamanho dos discos. Geralmente, leva uma hora para cada 100 GB (para SSDs).

  Interface Webmin mostrando o progresso de uma reconstrução RAID 1

Proteger os dados do seu Pi é essencial

Com essa implementação, os dados ficam mais seguros e o Pi pode ser usado como driver diário. Ultimamente, os Raspberry Pi são amplamente utilizados em aplicações industriais e o tempo de inatividade pode ser minimizado.

Você pode fazer uma escolha inteligente com a seleção de SSDs. Os fabricantes têm SSDs de capacidade semelhante em diferentes faixas de preço, sendo a diferença TBW (Total Bytes Written); o melhor modelo geralmente tem 50% mais TBW. Ao usar SSDs para RAID, escolha modelos com TBWs não idênticos para que ambos os discos tenham pontos de falha em intervalos diferentes. Isso dá tempo suficiente para reconstruir a matriz RAID e manterá seus dados perpetuamente intactos.