Poupe até 53% em Servidores VPS, escolha agora. Oferta limitada.

Passo a passo para configurar RAID 1 no VPS Linux: Guia Completo

16 min de leitura  ·  Guia técnico

Configurar RAID 1 no VPS Linux é um processo que aumenta a redundância de dados através do espelhamento de discos, protegendo contra falhas de hardware. Para implementar esta solução, você precisa de um VPS Linux com pelo menos dois discos disponíveis. Neste guia, você aprenderá a configurar um array RAID 1 do zero, verificar seu status e recuperar-se de falhas potenciais em aproximadamente 30 minutos.

Pré-requisitos

  • Um VPS Linux com acesso root
  • Pelo menos dois discos disponíveis (físicos ou virtuais)
  • Sistema operacional Linux (Ubuntu, Debian, CentOS ou similar)
  • Pacote mdadm instalado (gerenciador de RAID)
  • Backup completo dos dados importantes (por segurança)

Entendendo o RAID 1 e seus benefícios

O RAID 1 (Redundant Array of Independent Disks) implementa espelhamento de dados, onde cada informação é escrita simultaneamente em dois ou mais discos. Esta redundância oferece proteção contra falhas de hardware, pois se um disco falhar, os dados permanecem acessíveis através do outro disco.

Os principais benefícios do RAID 1 incluem:

  • Proteção contra falhas de disco - se um disco falhar, os dados continuam disponíveis
  • Melhor desempenho de leitura - os dados podem ser lidos de múltiplos discos simultaneamente
  • Recuperação simplificada - substituição de disco com reconstrução automática
  • Sem perda de capacidade útil em caso de falha

Diferente de outras configurações RAID como o RAID 0 (que prioriza velocidade) ou RAID 5 (que equilibra redundância e espaço), o RAID 1 foca exclusivamente na segurança dos dados através da duplicação completa.

Instalando as ferramentas necessárias

O primeiro passo para configurar um array RAID 1 é instalar o mdadm, a ferramenta de administração de RAID mais comum em sistemas Linux. Dependendo da sua distribuição, o comando pode variar ligeiramente.

Para Ubuntu/Debian:

sudo apt update
sudo apt install mdadm

Para CentOS/RHEL:

sudo yum install mdadm

Após a instalação, verifique se o mdadm está funcionando corretamente:

mdadm --version

Output esperado:

mdadm - v4.2 - 2021-12-18

O número da versão pode variar dependendo da sua distribuição Linux, mas o importante é confirmar que o comando está disponível e funcionando.

Identificando os discos disponíveis

Antes de criar o array RAID, você precisa identificar os discos disponíveis no seu sistema. Existem vários comandos que podem ajudar nessa tarefa:

lsblk

Output esperado:

NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0   20G  0 disk 
└─sda1   8:1    0   20G  0 part /
sdb      8:16   0   20G  0 disk 
sdc      8:32   0   20G  0 disk

Alternativamente, você pode usar:

fdisk -l

Ou para informações mais detalhadas:

sudo parted -l

Neste exemplo, vamos assumir que temos dois discos não utilizados: /dev/sdb e /dev/sdc, cada um com 20GB. Estes serão os discos que usaremos para criar nosso array RAID 1.

Atenção: Certifique-se de que os discos que você planeja usar para o RAID não contêm dados importantes, pois o processo a seguir apagará todos os dados existentes neles.

Preparando os discos para o RAID

A preparação dos discos envolve a criação de partições do tipo Linux RAID. Embora seja possível criar um array RAID usando discos inteiros, é uma prática recomendada usar partições para maior flexibilidade.

Vamos criar partições nos discos usando o fdisk:

sudo fdisk /dev/sdb

Siga estas etapas no prompt do fdisk:

  1. Digite n para criar uma nova partição
  2. Pressione p para partição primária
  3. Pressione 1 para a primeira partição
  4. Pressione Enter duas vezes para aceitar os valores padrão (usar todo o disco)
  5. Digite t para alterar o tipo da partição
  6. Digite fd para definir o tipo como "Linux RAID auto"
  7. Digite w para gravar as alterações e sair

Repita o mesmo processo para o segundo disco:

sudo fdisk /dev/sdc

Após criar as partições, verifique se elas foram criadas corretamente:

lsblk

Output esperado:

NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0   20G  0 disk 
└─sda1   8:1    0   20G  0 part /
sdb      8:16   0   20G  0 disk 
└─sdb1   8:17   0   20G  0 part 
sdc      8:32   0   20G  0 disk 
└─sdc1   8:33   0   20G  0 part

Criando o array RAID 1

Agora que temos as partições preparadas, podemos criar o array RAID 1 usando o comando mdadm. O espelhamento de RAID requer pelo menos dois discos ou partições para funcionar corretamente.

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

Explicação dos parâmetros:

  • --create: indica que estamos criando um novo array
  • --verbose: mostra informações detalhadas durante o processo
  • /dev/md0: o nome do dispositivo RAID que estamos criando
  • --level=1: especifica que queremos RAID 1 (espelhamento)
  • --raid-devices=2: indica que estamos usando dois dispositivos
  • /dev/sdb1 /dev/sdc1: as partições que farão parte do array

Você pode receber um aviso perguntando se deseja continuar criando o array, mesmo que as partições não contenham assinaturas RAID. Confirme digitando "y".

Após a criação, o sistema começará a sincronizar os discos. Você pode verificar o progresso com:

cat /proc/mdstat

Output esperado:

Personalities : [raid1] 
md0 : active raid1 sdc1[1] sdb1[0]
      20954112 blocks super 1.2 [2/2] [UU]
      [=============>.......]  resync = 67.8% (14222144/20954112) finish=1.2min speed=89153K/sec

A sincronização pode levar alguns minutos dependendo do tamanho dos discos. Aguarde até que esteja concluída antes de prosseguir.

Formatando e montando o array RAID

Após a criação do array RAID 1, precisamos criar um sistema de arquivos nele para poder armazenar dados. O sistema de arquivos mais comum no Linux é o ext4, que oferece bom desempenho e confiabilidade.

sudo mkfs.ext4 /dev/md0

Agora, vamos criar um ponto de montagem e montar o array:

sudo mkdir -p /mnt/raid1
sudo mount /dev/md0 /mnt/raid1

Verifique se o array foi montado corretamente:

df -h

Output esperado:

Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        20G  3.2G   16G  17% /
/dev/md0         20G   24M   19G   1% /mnt/raid1

Para garantir que o array seja montado automaticamente após a reinicialização do sistema, adicione uma entrada ao arquivo /etc/fstab:

echo '/dev/md0 /mnt/raid1 ext4 defaults 0 2' | sudo tee -a /etc/fstab

Configurando a montagem automática do RAID

Para garantir que o array RAID seja reconhecido e montado automaticamente após uma reinicialização do sistema, precisamos salvar a configuração do RAID e atualizar o initramfs.

Primeiro, vamos salvar a configuração do RAID:

sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf

Se o diretório /etc/mdadm não existir, você pode criá-lo ou usar o caminho alternativo dependendo da sua distribuição:

sudo mkdir -p /etc/mdadm
sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf

Para distribuições baseadas em Debian/Ubuntu, atualize o initramfs:

sudo update-initramfs -u

Para distribuições baseadas em RHEL/CentOS:

sudo dracut --force

Agora seu array RAID 1 está configurado para ser montado automaticamente na inicialização do sistema.

Monitorando e gerenciando o RAID

O monitoramento regular do seu array RAID é essencial para garantir que ele esteja funcionando corretamente. Existem várias maneiras de verificar o status do seu RAID.

Para verificar o status atual do RAID:

cat /proc/mdstat

Para obter informações detalhadas sobre o array:

sudo mdadm --detail /dev/md0

Output esperado:

/dev/md0:
           Version : 1.2
     Creation Time : Wed May 10 15:30:45 2023
        Raid Level : raid1
        Array Size : 20954112 (19.98 GiB 21.47 GB)
     Used Dev Size : 20954112 (19.98 GiB 21.47 GB)
      Raid Devices : 2
     Total Devices : 2
       Persistence : Superblock is persistent

       Update Time : Wed May 10 15:35:20 2023
             State : clean
    Active Devices : 2
   Working Devices : 2
    Failed Devices : 0
     Spare Devices : 0

Consistency Policy : resync

              Name : vps:0
              UUID : 12345678:abcdef01:23456789:abcdef01
            Events : 17

    Number   Major   Minor   RaidDevice State
       0       8       17        0      active sync   /dev/sdb1
       1       8       33        1      active sync   /dev/sdc1

É recomendável configurar o monitoramento automático do RAID para receber alertas em caso de falhas. Para isso, configure o serviço de monitoramento do mdadm:

sudo systemctl enable mdmonitor
sudo systemctl start mdmonitor

Para configurar alertas por e-mail, edite o arquivo de configuração do mdadm:

sudo nano /etc/mdadm/mdadm.conf

Adicione ou modifique a linha MAILADDR para incluir seu endereço de e-mail:

MAILADDR [email protected]

Salve o arquivo e reinicie o serviço de monitoramento:

sudo systemctl restart mdmonitor

Simulando e recuperando de falhas de disco

Uma das principais vantagens do RAID 1 é a capacidade de recuperação após falhas de disco. Vamos simular uma falha de disco e aprender como recuperar o array.

Para simular uma falha em um dos discos do array:

sudo mdadm --manage /dev/md0 --fail /dev/sdb1

Verifique o status do array após a falha simulada:

cat /proc/mdstat

Output esperado:

Personalities : [raid1] 
md0 : active raid1 sdc1[1] sdb1[0](F)
      20954112 blocks super 1.2 [2/1] [_U]

Observe que o status do /dev/sdb1 agora mostra (F) indicando falha, e o array está operando com apenas um disco ([_U]).

Para remover o disco com falha do array:

sudo mdadm --manage /dev/md0 --remove /dev/sdb1

Em um cenário real, você substituiria o disco físico com falha. No caso de um VPS, isso geralmente envolve entrar em contato com o provedor para substituir o disco virtual. Para nossa simulação, vamos "reparar" o disco e adicioná-lo de volta ao array:

sudo mdadm --manage /dev/md0 --add /dev/sdb1

O array começará a reconstruir automaticamente, sincronizando os dados do disco funcional para o novo disco:

cat /proc/mdstat

Output esperado:

Personalities : [raid1] 
md0 : active raid1 sdb1[2] sdc1[1]
      20954112 blocks super 1.2 [2/1] [_U]
      [=============>.......]  recovery = 67.8% (14222144/20954112) finish=1.2min speed=89153K/sec

Aguarde até que a reconstrução seja concluída para ter o array totalmente redundante novamente.

Problemas comuns e como resolver

Sintoma: O array RAID não é montado após reinicialização

Causa: A configuração do RAID pode não estar salva corretamente no arquivo mdadm.conf ou o initramfs não foi atualizado.
Solução: Verifique se a configuração está correta em /etc/mdadm/mdadm.conf e atualize o initramfs com sudo update-initramfs -u (Ubuntu/Debian) ou sudo dracut --force (CentOS/RHEL).

Sintoma: Desempenho lento do array RAID

Causa: O array pode estar em processo de reconstrução ou sincronização em segundo plano.
Solução: Verifique o status com cat /proc/mdstat. Se estiver em reconstrução, aguarde a conclusão. Se o problema persistir, verifique a saúde dos discos com sudo smartctl -a /dev/sdX (requer o pacote smartmontools).

Sintoma: Erro "mdadm: super block on /dev/sdX1 not recognized"

Causa: O superbloco do RAID pode estar corrompido ou a partição não está marcada como tipo RAID.
Solução: Verifique o tipo de partição com sudo fdisk -l. Se necessário, altere o tipo para "Linux RAID autodetect" (fd) usando fdisk. Em casos extremos, pode ser necessário recriar o array.

Sintoma: Disco marcado como falho mesmo estando funcional

Causa: Falsos positivos podem ocorrer devido a problemas temporários de E/S ou configurações incorretas.
Solução: Remova o disco do array com sudo mdadm --manage /dev/md0 --remove /dev/sdX1 e adicione-o novamente com sudo mdadm --manage /dev/md0 --add /dev/sdX1. Se o problema persistir, verifique a saúde física do disco.

Sintoma: Espaço em disco menor que o esperado

Causa: No RAID 1, a capacidade utilizável é igual à do menor disco no array, já que os dados são espelhados.
Solução: Isso é um comportamento normal do RAID 1. Se você precisa de mais espaço, considere adicionar mais arrays RAID ou usar uma configuração diferente, como RAID 5 ou RAID 10, que oferecem melhor equilíbrio entre redundância e capacidade.

Perguntas frequentes sobre configuração de RAID 1 no VPS Linux

Qual a diferença entre RAID 1 e RAID 0?

O RAID 1 (espelhamento) duplica os dados em dois ou mais discos para garantir redundância e proteção contra falhas, priorizando a segurança. Já o RAID 0 (striping) divide os dados entre múltiplos discos para aumentar a velocidade de leitura/escrita, mas sem redundância, o que significa que a falha de um único disco resulta na perda total dos dados.

É possível configurar RAID 1 em um VPS que já está em uso?

Sim, é possível configurar RAID 1 em um VPS em uso, mas requer cuidado extra. Você precisará adicionar um novo disco, criar o array RAID com apenas um disco inicialmente, copiar os dados do sistema existente para o array e, finalmente, adicionar o disco original ao array. Este processo exige backup completo prévio e pode causar tempo de inatividade.

O RAID 1 substitui a necessidade de backups?

Não, o RAID 1 não substitui backups. Enquanto o RAID 1 protege contra falhas físicas de disco, ele não protege contra corrupção de dados, exclusões acidentais, ataques maliciosos ou desastres que afetem todo o servidor. Backups regulares armazenados em locais diferentes continuam sendo essenciais mesmo com RAID 1 configurado.

Qual o impacto do RAID 1 na performance do VPS?

O RAID 1 geralmente melhora a velocidade de leitura, pois os dados podem ser lidos de qualquer um dos discos espelhados simultaneamente. No entanto, a velocidade de escrita pode ser ligeiramente reduzida, já que cada operação de escrita precisa ser duplicada em todos os discos do array. O impacto real depende do tipo de workload e da configuração do servidor.

Como sei se um disco do RAID 1 falhou e como faço para substituí-lo?

Você pode monitorar o status do RAID com o comando 'cat /proc/mdstat' ou configurar o mdadm para enviar alertas por email. Para substituir um disco falho, primeiro remova-o do array com 'mdadm --remove /dev/mdX /dev/sdYZ', substitua fisicamente o disco (ou no caso de VPS, solicite a substituição ao provedor), e adicione o novo disco ao array com 'mdadm --add /dev/mdX /dev/sdYZ'. O array irá reconstruir automaticamente.

Conclusão

A configuração de RAID 1 em um VPS Linux é uma estratégia eficaz para aumentar a redundância de dados e proteger contra falhas de disco. Neste guia, você aprendeu:

  • Como preparar discos, criar e gerenciar um array RAID 1 usando mdadm
  • Como monitorar o status do RAID e configurar alertas para falhas
  • Como simular e recuperar-se de falhas de disco
  • Como solucionar problemas comuns relacionados ao RAID

Lembre-se de que, embora o RAID 1 ofereça proteção contra falhas de hardware, ele não substitui uma estratégia completa de backup. Para máxima proteção de dados, combine o RAID com backups regulares armazenados em locais diferentes.

Implementar o RAID 1 em seu VPS Linux é um passo importante para aumentar a confiabilidade da sua infraestrutura e minimizar o tempo de inatividade em caso de falhas de disco.

Precisa de ajuda com configuração de RAID em seu servidor?

A AviraHost oferece servidores VPS Linux com suporte técnico especializado para implementações de RAID e outras configurações avançadas de sistema. Nossa equipe pode ajudar você a configurar a solução ideal para suas necessidades.

Conheça nossos planos de Servidor VPS

  • 0 Usuários acharam útil
  • raid1, linux, vps, redundância, mdadm, segurança, backup, AviraHost
Esta resposta lhe foi útil?

Artigos Relacionados

Guia Completo: Como escolher o melhor plano de hospedagem para o seu site

Escolher o plano de hospedagem ideal para o seu site é fundamental para garantir seu bom...

Lista Prática: 5 Vantagens de ter SSL gratuito no seu site

Ter um certificado SSL no seu site não é apenas uma questão de segurança, mas também uma...

Comparativo: Hospedagem de sites vs. VPS: qual é a melhor opção?

Quando se trata de escolher entre hospedagem compartilhada ou VPS, as opções variam de acordo...

Dicas de Otimização de Servidores Linux

Dicas de Otimização de Servidores Linux Servidores Linux são amplamente utilizados por sua...

Como Implementar Soluções Eficientes para Melhorar a Gestão de Serviços Online

Como Implementar Soluções Eficientes para Melhorar a Gestão de Serviços Online...