Parte 1 — Fundamentos de RAID, Cenários Reais e Planejamento
Introdução
A confiabilidade do armazenamento é um dos pilares fundamentais de qualquer infraestrutura de servidores. Em ambientes de produção — especialmente em VPS, servidores dedicados ou cloud com discos locais — a perda de um disco pode causar indisponibilidade imediata do serviço ou perda de dados críticos.
Uma das soluções mais utilizadas para reduzir esse risco é o RAID 1, também conhecido como espelhamento de discos (disk mirroring).
Neste guia completo você aprenderá:
- O que é RAID e por que ele é essencial em servidores
- Diferença entre RAID por hardware e software
- Como planejar RAID corretamente em Linux
- Como configurar RAID 1 usando mdadm
- Como monitorar, recuperar e substituir discos
- Boas práticas reais utilizadas em produção
Este guia foi expandido para administradores de servidores Linux que desejam alta disponibilidade e tolerância a falhas no armazenamento.
O que é RAID
RAID significa:
Redundant Array of Independent Disks
Ou seja:
Um conjunto de discos combinados para melhorar redundância, desempenho ou ambos.
Em vez de usar discos individualmente, o sistema operacional enxerga um único volume lógico formado por vários discos físicos.
Dependendo do nível RAID escolhido, você pode obter:
| Objetivo | RAID |
|---|---|
| Redundância | RAID 1 |
| Performance | RAID 0 |
| Redundância + capacidade | RAID 5 |
| Alta redundância | RAID 6 |
| Performance + redundância | RAID 10 |
Neste artigo vamos focar no RAID 1, o modelo mais simples e confiável.
O que é RAID 1
RAID 1 funciona através de espelhamento de dados.
Isso significa que:
Disco A → Dados
Disco B → Cópia idêntica
Cada bloco escrito no disco principal também é escrito no disco secundário.
Se um disco falhar:
- O sistema continua funcionando
- Os dados permanecem disponíveis
- Basta substituir o disco defeituoso
Essa técnica é chamada de fault tolerance (tolerância a falhas).
RAID 1 é amplamente utilizado em:
- servidores web
- bancos de dados
- sistemas críticos
- armazenamento de logs
- servidores de backup
Como funciona o espelhamento
Exemplo de RAID 1 com dois discos:
RAID1
┌──────────┐
│ /dev/md0 │
└────┬─────┘
│
┌──────┴──────┐
│ │
/dev/sda /dev/sdb
Disco 1 Disco 2
Quando o sistema grava dados:
Arquivo → md0 → grava em sda + sdb
Quando lê dados:
- pode ler de qualquer disco
- alguns kernels fazem balanceamento de leitura
Capacidade real do RAID 1
Um erro comum é acreditar que RAID aumenta espaço.
Não aumenta.
Exemplo:
| Discos | Capacidade |
|---|---|
| 2 × 1 TB | 1 TB útil |
| 2 × 2 TB | 2 TB útil |
Isso ocorre porque os discos contêm dados duplicados.
A capacidade final sempre será igual ao menor disco do array.
RAID não é backup
Uma regra extremamente importante:
RAID não substitui backup.
RAID protege contra:
- falha física de disco
RAID não protege contra:
- exclusão acidental
- corrupção de dados
- ransomware
- falha humana
- bugs de software
Mesmo com RAID é obrigatório possuir:
- backup externo
- snapshot
- backup off-site
RAID por hardware vs software
Existem dois tipos de RAID.
RAID por hardware
Utiliza uma controladora dedicada.
Exemplo:
- LSI MegaRAID
- Dell PERC
- HP Smart Array
Vantagens:
- melhor performance
- cache dedicado
- gerenciamento avançado
Desvantagens:
- custo elevado
- dependência da controladora
RAID por software
O RAID é gerenciado pelo próprio sistema operacional.
Linux usa o driver:
MD (Multiple Device)
A ferramenta para gerenciamento é:
mdadm
Ela permite criar RAID:
- RAID 0
- RAID 1
- RAID 5
- RAID 6
- RAID 10
Por que RAID software é muito usado
Hoje RAID software é extremamente popular porque:
- CPUs modernas são muito rápidas
- Overhead é mínimo
- Flexibilidade maior
- Funciona em qualquer servidor
Inclusive grandes empresas utilizam software RAID + LVM + NVMe.
Ferramenta usada no Linux: mdadm
A ferramenta padrão para RAID no Linux é:
mdadm
Ela permite:
- criar arrays
- adicionar discos
- remover discos
- monitorar RAID
- reconstruir arrays
Exemplo de criação de RAID 1:
mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sda /dev/sdb
Esse comando cria um array RAID1 chamado:
/dev/md0
Quando usar RAID 1
RAID 1 é ideal para:
Servidores web
Bancos de dados
Sistemas críticos
- ERP
- API
- microserviços
Logs
- logs de aplicação
- logs de segurança
Quando NÃO usar RAID 1
RAID 1 pode não ser ideal quando:
- precisa de grande capacidade
- trabalha com storage massivo
- precisa de performance extrema
Nestes casos pode ser melhor:
- RAID 10
- RAID 5
- RAID 6
- ZFS
Cenários comuns em servidores
Servidor dedicado
Exemplo:
2x NVMe 1TB
RAID1
Ideal para:
- hospedagem
- banco de dados
- SaaS
VPS com discos locais
Alguns provedores permitem RAID via software.
Exemplo:
Cloud
Em cloud pública muitas vezes RAID não é necessário porque o storage já é redundante.
Exemplo:
- AWS EBS
- Google Persistent Disk
Mas em NVMe local de cloud RAID pode ser útil.
Antes de configurar RAID
Planejamento é essencial.
Você precisa verificar:
1 — Quantidade de discos
RAID 1 exige:
mínimo: 2 discos
2 — Tamanho dos discos
Idealmente devem ser:
mesmo tamanho
mesma velocidade
mesmo modelo
3 — Tipo de filesystem
Depois do RAID você precisará escolher:
- EXT4
- XFS
- Btrfs
4 — Tipo de particionamento
Discos devem possuir:
- GPT (recomendado)
- partições alinhadas
Verificando discos no Linux
Primeiro precisamos identificar os discos.
Execute:
lsblk
Exemplo:
NAME SIZE
sda 1T
sdb 1T
Outra opção:
fdisk -l
Isso mostra:
- tamanho
- partições
- tipo de disco
Planejamento de partições
Uma prática comum:
/boot
swap
/
Com RAID 1 geralmente:
- /boot em RAID
- root em RAID
Estrutura recomendada
Exemplo de layout:
/dev/sda1 → RAID /boot
/dev/sda2 → RAID /
Espelhado com:
/dev/sdb1
/dev/sdb2
Preparando discos para RAID
Primeiro criamos partições.
Ferramentas comuns:
fdisk
parted
gdisk
Exemplo com fdisk:
fdisk /dev/sdb
Criar nova partição:
n
Definir tipo RAID:
t
fd
Depois repita no outro disco.
Próxima etapa
Na Parte 2 vamos mostrar:
- instalação do mdadm
- criação do RAID 1
- formatação do array
- montagem do sistema
E começaremos a entrar na parte 100% prática da configuração.
Conclusão
Ao seguir estes passos, você terá configurado com sucesso um arranjo RAID 1 em seu sistema Linux, proporcionando uma camada essencial de proteção de dados através do espelhamento de discos. Lembre-se de monitorar regularmente a saúde do seu arranjo RAID para garantir sua integridade e funcionalidade.
Parte 2 — Criando o RAID 1 com mdadm (Passo a Passo)
Na Parte 1 vimos:
- conceitos de RAID
- funcionamento do RAID 1
- planejamento de discos
- preparação das partições
Agora vamos entrar na parte prática: criar o RAID 1 no Linux utilizando mdadm, a ferramenta padrão para RAID software. O Linux usa o driver MD (Multiple Device) para implementar RAID diretamente no kernel.
Instalando o mdadm
Antes de criar qualquer RAID, precisamos garantir que o utilitário esteja instalado.
Debian / Ubuntu
apt install mdadm
AlmaLinux / Rocky / RHEL
dnf install mdadm
Arch Linux
pacman -S mdadm
A ferramenta mdadm é responsável por criar e administrar arrays RAID no Linux, permitindo configurar diferentes níveis como RAID0, RAID1, RAID5 e RAID10.
Verificando os discos disponíveis
Antes de criar o RAID, precisamos identificar quais discos serão utilizados.
Execute:
lsblk
Exemplo:
NAME SIZE TYPE
sda 1T disk
sdb 1T disk
Também é possível verificar com:
fdisk -l
ou
blkid
Criando as partições RAID
Na maioria das configurações em produção, não utilizamos o disco inteiro diretamente.
Criamos partições RAID.
Exemplo:
/dev/sda1
/dev/sdb1
Criar partição com fdisk:
fdisk /dev/sda
Passos:
n → nova partição
p → primária
1 → número da partição
Enter → tamanho padrão
Depois altere o tipo da partição:
t
fd
O código fd define Linux RAID autodetect.
Repita o processo para o segundo disco.
Verificando as partições
Após criar as partições execute:
lsblk
Resultado esperado:
sda
└─sda1
sdb
└─sdb1
Agora podemos criar o RAID.
Criando o RAID 1
Agora vem o comando principal.
mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sda1 /dev/sdb1
Explicação:
| Parâmetro | Função |
|---|---|
| /dev/md0 | nome do dispositivo RAID |
| –level=1 | define RAID1 |
| –raid-devices=2 | quantidade de discos |
| /dev/sda1 /dev/sdb1 | discos utilizados |
Esse comando cria um array RAID chamado /dev/md0 utilizando dois discos em modo espelhado.
O sistema pode perguntar:
Continue creating array? (y/n)
Digite:
y
Monitorando a criação do RAID
O RAID começa a sincronizar imediatamente.
Para acompanhar o progresso:
cat /proc/mdstat
Exemplo de saída:
md0 : active raid1 sdb1[1] sda1[0]
104320 blocks super 1.2 [2/2] [UU]
Significado:
| Símbolo | Significado |
|---|---|
| [UU] | ambos discos funcionando |
| [_U] | um disco falhou |
| resync | sincronização em andamento |
Também podemos usar:
watch cat /proc/mdstat
Isso atualiza automaticamente.
Verificando detalhes do RAID
Para visualizar detalhes completos:
mdadm --detail /dev/md0
Saída típica:
/dev/md0:
Version : 1.2
Raid Level : raid1
Array Size : 976630336
Raid Devices : 2
Active Devices : 2
Esse comando mostra:
- estado do RAID
- discos ativos
- discos removidos
- progresso de rebuild
Durante um rebuild é possível identificar qual disco está sendo reconstruído usando mdadm --detail.
Criando filesystem no RAID
Após criar o RAID, precisamos formatá-lo.
O RAID funciona como um disco normal.
Exemplo com EXT4:
mkfs.ext4 /dev/md0
Outras opções comuns:
XFS
mkfs.xfs /dev/md0
Btrfs
mkfs.btrfs /dev/md0
Criando ponto de montagem
Agora criamos um diretório para montar o RAID.
mkdir /raid1
Montar:
mount /dev/md0 /raid1
Verificar:
df -h
Resultado:
Filesystem Size Used Avail Mounted on
/dev/md0 1T 20M 980G /raid1
Tornando a montagem permanente
Para que o RAID monte automaticamente no boot:
Edite:
/etc/fstab
Adicione:
/dev/md0 /raid1 ext4 defaults 0 0
Alternativa mais segura:
usar UUID.
Descobrir UUID:
blkid
Exemplo:
UUID=0a45... /raid1 ext4 defaults 0 0
Salvando configuração do mdadm
Outro passo fundamental é salvar o array no sistema.
Execute:
mdadm --detail --scan >> /etc/mdadm/mdadm.conf
Isso garante que o RAID seja reconhecido no boot.
Depois atualize o initramfs.
Debian / Ubuntu
update-initramfs -u
RHEL / AlmaLinux
dracut -H -f
Testando reinicialização
Agora reinicie o servidor:
reboot
Após subir:
cat /proc/mdstat
Você deve ver:
md0 : active raid1
Isso confirma que o RAID está funcionando.
Estrutura final do RAID
Depois da configuração o layout será algo assim:
RAID1
┌───────────┐
│ /dev/md0 │
└─────┬─────┘
│
┌────────┴────────┐
│ │
/dev/sda1 /dev/sdb1
Filesystem:
EXT4 / XFS
Mount:
/raid1
Performance do RAID 1
RAID 1 possui algumas características interessantes.
Escrita
A escrita ocorre em todos os discos.
Isso pode gerar pequeno overhead.
Leitura
A leitura pode ocorrer em qualquer disco.
Alguns kernels fazem balanceamento de leitura, melhorando desempenho.
RAID 1 com mais de dois discos
RAID 1 não precisa ter apenas dois discos.
Exemplo:
3 discos
4 discos
Comando:
mdadm --create /dev/md0 --level=1 --raid-devices=3 /dev/sda1 /dev/sdb1 /dev/sdc1
Isso cria triple mirror.
Muito usado em ambientes críticos.
RAID 1 + LVM
Em servidores profissionais geralmente usamos:
RAID → LVM → Filesystem
Exemplo:
/dev/md0
└── Volume Group
└── Logical Volumes
Vantagens:
- resize online
- snapshots
- gerenciamento flexível
Verificando saúde do RAID
Comandos úteis:
status
cat /proc/mdstat
detalhes
mdadm --detail /dev/md0
discos
lsblk
Próxima parte
Na Parte 3 vamos ver:
- como simular falha de disco
- como substituir disco defeituoso
- como reconstruir RAID
- troubleshooting real de produção
- erros comuns com RAID Linux
Esses procedimentos são essenciais para qualquer sysadmin que administra VPS, dedicado ou cloud com discos locais.
Parte 3 — Falha de Disco, Rebuild e Recuperação do RAID
Na Parte 1 vimos:
- fundamentos de RAID
- planejamento de discos
- arquitetura de RAID 1
Na Parte 2 configuramos:
- instalação do
mdadm - criação do RAID
- formatação
- montagem permanente
Agora vamos abordar algo muito mais importante em produção:
O que fazer quando um disco falha.
Todo sysadmin que usa RAID precisa dominar:
- identificação de falha
- remoção de disco defeituoso
- substituição de disco
- reconstrução do RAID
Isso acontece frequentemente em:
- servidores dedicados
- storages NVMe
- ambientes de hospedagem
- servidores de banco de dados
Como detectar falha de disco
Existem alguns sinais claros de falha em RAID.
1 — Alertas do kernel
Execute:
dmesg
Possível saída:
md: disk failure on sdb1
2 — Status do RAID
O método mais rápido:
cat /proc/mdstat
Exemplo saudável:
md0 : active raid1 sda1[0] sdb1[1]
[2/2] [UU]
Significado:
U = disco funcionando
RAID degradado
Exemplo:
md0 : active raid1 sda1[0] sdb1[1]
[2/1] [U_]
Significado:
um disco falhou
Nesse estado o RAID continua funcionando, mas sem redundância.
Verificando detalhes do RAID
Use:
mdadm --detail /dev/md0
Exemplo:
State : degraded
Active Devices : 1
Failed Devices : 1
Também mostrará qual disco falhou.
Identificando o disco defeituoso
Saída típica:
Number Major Minor RaidDevice State
0 8 1 0 active sync /dev/sda1
1 8 17 1 faulty /dev/sdb1
Neste exemplo:
/dev/sdb1 falhou
Removendo disco defeituoso
Primeiro marcamos o disco como falho.
mdadm --fail /dev/md0 /dev/sdb1
Depois removemos do array.
mdadm --remove /dev/md0 /dev/sdb1
Agora o RAID terá apenas um disco ativo.
Substituindo o disco físico
Agora precisamos substituir o disco.
Isso pode acontecer em:
Servidor dedicado
Troca física do disco.
VPS
Provedor troca automaticamente.
Cloud
Volume é recriado.
Após inserir o novo disco ele aparecerá como:
/dev/sdb
Criando partição no novo disco
O novo disco precisa ter mesma estrutura do anterior.
Copiar tabela de partições:
sfdisk -d /dev/sda | sfdisk /dev/sdb
Isso replica todas as partições.
Verifique:
lsblk
Resultado esperado:
sdb
└─sdb1
Adicionando disco ao RAID
Agora adicionamos o disco ao array.
mdadm --add /dev/md0 /dev/sdb1
Imediatamente o rebuild começa.
Monitorando reconstrução
Execute:
cat /proc/mdstat
Exemplo:
md0 : active raid1 sdb1[2] sda1[0]
[2/1] [U_]
recovery = 35% (35000/100000)
Isso significa que o RAID está sendo reconstruído.
Tempo de reconstrução
O tempo depende de:
| Fator | Impacto |
|---|---|
| tamanho do disco | alto |
| velocidade do disco | médio |
| carga do servidor | médio |
Exemplo:
| Disco | Tempo |
|---|---|
| 500GB | 10–20 min |
| 1TB | 20–40 min |
| 4TB | 1–3 horas |
Durante esse processo o servidor continua funcionando.
Após reconstrução
Quando o rebuild terminar:
[UU]
Isso significa:
RAID totalmente saudável
Simulando falha de disco (teste)
Uma prática recomendada é testar falha controlada.
Simular falha:
mdadm --fail /dev/md0 /dev/sdb1
Verificar:
cat /proc/mdstat
Depois reativar:
mdadm --add /dev/md0 /dev/sdb1
Esse teste garante que o RAID está configurado corretamente.
Monitoramento automático de RAID
Em produção o ideal é monitorar RAID.
Habilitar serviço mdadm monitor
Debian / Ubuntu:
systemctl enable mdadm
systemctl start mdadm
Isso permite alertas automáticos.
Configurando alertas por email
Editar:
/etc/mdadm/mdadm.conf
Adicionar:
MAILADDR admin@servidor.com
Quando ocorrer falha você receberá alerta.
Verificando saúde do disco (SMART)
RAID protege contra falha total, mas podemos detectar falhas antes.
Instalar:
apt install smartmontools
Verificar disco:
smartctl -a /dev/sda
Indicadores importantes:
| Parâmetro | Significado |
|---|---|
| Reallocated Sector Count | setores defeituosos |
| Pending Sector | setores instáveis |
| Temperature | temperatura |
Monitorar SMART ajuda a prever falhas.
RAID degradado: riscos
Um RAID degradado pode funcionar por muito tempo, mas é perigoso.
Se o segundo disco falhar:
perda total de dados
Portanto sempre substitua discos imediatamente.
Problemas comuns em RAID Linux
RAID não monta no boot
Causa comum:
mdadm.conf não configurado
Corrigir:
mdadm --detail --scan >> /etc/mdadm/mdadm.conf
update-initramfs -u
RAID não inicia após reboot
Verificar:
cat /proc/mdstat
Se não existir:
mdadm --assemble --scan
Disco novo não entra no RAID
Possível causa:
- partição errada
- tamanho diferente
Verificar:
fdisk -l
RAID 1 com NVMe
Em servidores modernos é comum usar:
2x NVMe
RAID1
Exemplo:
/dev/nvme0n1
/dev/nvme1n1
Criar RAID:
mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/nvme0n1p1 /dev/nvme1n1p1
RAID 1 para servidores web
Exemplo real de estrutura:
RAID1
├── /boot
├── /
├── /var
└── /home
Ideal para:
- WordPress
- bancos MySQL
- APIs
- aplicações SaaS
RAID 1 em banco de dados
Para banco de dados:
RAID1 NVMe
Vantagens:
- redundância
- baixa latência
- segurança
Muito usado em:
MariaDB
MySQL
PostgreSQL
RAID 1 em ambientes cloud
Alguns provedores já possuem redundância.
Por exemplo:
- AWS EBS
- Google Persistent Disk
Nesses casos RAID 1 pode ser desnecessário.
Mas em NVMe local de cloud ainda é útil.
Próxima parte
Na Parte 4 vamos aprofundar:
- RAID 1 no boot do sistema
- RAID 1 para root filesystem
- RAID 1 + LVM
- RAID 1 com GPT
- RAID em servidores de produção
Essa parte é essencial para instalar Linux diretamente em RAID, algo muito comum em servidores dedicados.
Parte 4 — RAID 1 para Sistema Operacional (Boot + Root)
Nas partes anteriores vimos:
- fundamentos de RAID
- criação do RAID com mdadm
- substituição de discos
- reconstrução do array
Agora vamos abordar um cenário muito comum em servidores de produção:
Instalar o sistema operacional inteiro em RAID 1.
Isso significa que:
/bootestá espelhado/(root) está espelhado- o servidor pode continuar funcionando mesmo se um disco falhar
Essa configuração é padrão em muitos servidores dedicados, clusters e ambientes corporativos.
Arquitetura típica de RAID 1 para servidores
Um layout comum em produção é:
Disco 1
/dev/sda
├─ sda1 → /boot
└─ sda2 → RAID rootDisco 2
/dev/sdb
├─ sdb1 → /boot
└─ sdb2 → RAID root
Depois da criação do RAID:
/dev/md0 → /boot
/dev/md1 → /
Isso garante que até o processo de boot esteja protegido.
Por que proteger o boot também
Muitos administradores fazem RAID apenas no /.
Isso pode causar problemas.
Se o disco que contém /boot falhar:
o servidor não inicia
Mesmo que o root esteja intacto.
Por isso em servidores críticos recomendamos:
/boot em RAID1
RAID 1 com GPT (recomendado)
Hoje o padrão de particionamento é GPT.
Vantagens:
- suporta discos grandes
- melhor compatibilidade com UEFI
- maior robustez
Criar tabela GPT:
parted /dev/sda mklabel gpt
Repita para o segundo disco.
Criando partições para RAID
Exemplo de layout:
| Partição | Tamanho | Função |
|---|---|---|
| sda1 | 1GB | /boot |
| sda2 | restante | root RAID |
Criar partição:
fdisk /dev/sda
Depois copiar estrutura para o segundo disco:
sfdisk -d /dev/sda | sfdisk /dev/sdb
Isso replica a tabela de partições.
Criando RAID para /boot
Agora criamos o RAID do boot.
mdadm --create /dev/md0 \
--level=1 \
--raid-devices=2 \
/dev/sda1 /dev/sdb1
Esse array será usado para:
/boot
Criando RAID para root
Agora criamos o RAID principal:
mdadm --create /dev/md1 \
--level=1 \
--raid-devices=2 \
/dev/sda2 /dev/sdb2
Resultado:
/dev/md0 → boot
/dev/md1 → root
Criando filesystem
Agora formatamos os arrays.
Boot
mkfs.ext4 /dev/md0
Root
mkfs.ext4 /dev/md1
Ou usar XFS para produção.
mkfs.xfs /dev/md1
Montando sistema de arquivos
Criar estrutura:
mkdir /mnt/root
mount /dev/md1 /mnt/root
Criar boot:
mkdir /mnt/root/boot
mount /dev/md0 /mnt/root/boot
Agora temos:
/mnt/root
├─ /
└─ /boot
Instalando o sistema no RAID
Durante instalação manual (por exemplo via rescue mode):
debootstrap
ou instalação de distribuição.
Depois configurar fstab.
Configurando fstab
Arquivo:
/etc/fstab
Exemplo:
/dev/md0 /boot ext4 defaults 0 1
/dev/md1 / ext4 defaults 0 1
Alternativa mais segura:
usar UUID.
Descobrir:
blkid
Salvando configuração RAID
Salvar configuração:
mdadm --detail --scan >> /etc/mdadm/mdadm.conf
Atualizar initramfs:
Debian / Ubuntu:
update-initramfs -u
RHEL / AlmaLinux:
dracut -H -f
Isso garante que o sistema reconheça o RAID no boot.
Instalando GRUB em ambos discos
Esse é um passo muito importante.
Se o bootloader estiver apenas em um disco:
falha total se o disco morrer
Instale GRUB nos dois discos.
grub-install /dev/sda
grub-install /dev/sdb
Depois atualize:
update-grub
Agora o servidor pode iniciar a partir de qualquer disco.
Testando falha de disco no boot
Após configuração é recomendável testar.
Simular falha:
remover um disco
Ou marcar falha:
mdadm --fail /dev/md0 /dev/sdb1
Se o sistema iniciar corretamente:
RAID boot está correto
RAID 1 + LVM (configuração profissional)
Em servidores de produção é comum usar:
RAID → LVM → Filesystem
Arquitetura:
Discos
↓
RAID1
↓
Volume Group
↓
Logical Volumes
Exemplo:
/dev/md1
└─ vg_system
├─ lv_root
├─ lv_var
└─ lv_home
Vantagens:
- expansão fácil
- snapshots
- flexibilidade
Criando LVM sobre RAID
Criar volume físico:
pvcreate /dev/md1
Criar volume group:
vgcreate vg_system /dev/md1
Criar logical volumes:
lvcreate -L 40G -n root vg_system
lvcreate -L 20G -n var vg_system
Depois criar filesystem.
Estrutura final recomendada
Exemplo para servidor Linux:
RAID1
├─ md0 → /boot
└─ md1 → LVM
├─ /
├─ /var
├─ /home
└─ swap
Essa arquitetura é utilizada em:
- servidores corporativos
- clusters Kubernetes
- servidores web de alta disponibilidade
RAID 1 em NVMe modernos
Em servidores atuais é comum:
2x NVMe
RAID1
Isso oferece:
- redundância
- altíssima velocidade
- baixa latência
Ideal para:
- WordPress de alto tráfego
- bancos de dados
- APIs
Boas práticas para RAID em produção
Sempre:
- usar discos do mesmo modelo
- monitorar SMART
- configurar alertas de RAID
- testar rebuild
Nunca:
- ignorar RAID degradado
- misturar discos muito diferentes
- confiar em RAID sem backup
Próxima parte
Na Parte 5 vamos aprofundar ainda mais:
- otimização de performance RAID
- RAID 1 com NVMe em produção
- erros comuns de sysadmins
- tuning de rebuild
- benchmarking de RAID
E também veremos boas práticas reais usadas em grandes infraestruturas Linux.
Parte 5 — Performance, Otimização e Boas Práticas em Produção
Nas partes anteriores aprendemos:
- fundamentos de RAID
- criação do RAID com mdadm
- substituição de discos
- RAID para boot e root
- RAID com LVM
Agora vamos abordar algo essencial para infraestrutura real de servidores:
- performance do RAID
- tuning do Linux
- RAID em NVMe
- gargalos comuns
- erros de configuração
Essa parte é especialmente importante para quem administra:
- VPS
- servidores dedicados
- infraestrutura cloud
- bancos de dados
Como funciona a performance do RAID 1
RAID 1 não foi projetado para performance máxima.
Seu objetivo principal é:
redundância
Mesmo assim ele pode melhorar algumas operações.
Escrita
Quando um bloco é gravado:
disco A ← dados
disco B ← dados
A gravação precisa ocorrer nos dois discos.
Isso pode gerar pequeno overhead.
Leitura
Na leitura ocorre algo interessante.
O sistema pode ler de qualquer disco.
read → sda
read → sdb
Isso pode aumentar a performance em leitura.
RAID 1 vs Disco único
Comparação típica:
| Operação | Disco único | RAID1 |
|---|---|---|
| leitura | 1x | até 2x |
| escrita | 1x | ~1x |
| redundância | não | sim |
Portanto RAID 1 é excelente para:
workloads com muitas leituras
Performance com NVMe
Hoje muitos servidores utilizam:
2x NVMe
RAID1
Exemplo real:
| Disco | Leitura |
|---|---|
| NVMe único | 3 GB/s |
| RAID1 NVMe | 4–6 GB/s |
Isso depende do scheduler do kernel.
Benchmark de RAID
Ferramentas comuns para teste:
fio
fio --name=test --rw=read --size=1G --filename=/raid1/test
dd
dd if=/dev/zero of=testfile bs=1G count=1 oflag=dsync
iostat
iostat -xm 2
Essas ferramentas ajudam a medir:
- throughput
- latência
- uso de disco
Scheduler de disco
O scheduler pode impactar performance.
Verificar:
cat /sys/block/sda/queue/scheduler
Schedulers comuns:
| Scheduler | Uso |
|---|---|
| mq-deadline | padrão em servidores |
| none | NVMe |
| bfq | desktop |
Para NVMe geralmente usamos:
none
Ajustando velocidade de rebuild
Durante reconstrução de RAID o sistema pode ficar lento.
Podemos ajustar prioridade.
Verificar:
cat /proc/sys/dev/raid/speed_limit_min
Aumentar velocidade:
echo 50000 > /proc/sys/dev/raid/speed_limit_min
Máximo:
echo 200000 > /proc/sys/dev/raid/speed_limit_max
Isso acelera o rebuild.
Monitoramento contínuo do RAID
Servidores de produção devem monitorar RAID constantemente.
Ferramentas comuns:
mdadm monitor
mdadm --monitor --scan
Prometheus
Exporters podem monitorar RAID.
Zabbix
Possui templates para RAID Linux.
Verificando estado dos discos
Além do RAID é essencial monitorar SMART.
Instalar:
apt install smartmontools
Verificar:
smartctl -a /dev/sda
Indicadores críticos:
| parâmetro | risco |
|---|---|
| reallocated sectors | falha iminente |
| pending sectors | setores instáveis |
| CRC errors | cabo ou controlador |
RAID 1 em servidores web
Exemplo típico:
2x NVMe
RAID1
EXT4
Usado para:
- WordPress
- PHP-FPM
- Nginx
Isso garante que o site continue funcionando mesmo com falha de disco.
RAID 1 em banco de dados
Para banco de dados a latência é importante.
Arquitetura comum:
2x NVMe
RAID1
XFS
Usado em:
MySQL
MariaDB
PostgreSQL
RAID 1 em VPS
Nem toda VPS permite RAID.
Mas algumas oferecem:
- discos múltiplos
- NVMe local
Nesses casos RAID pode ser configurado manualmente.
RAID 1 em cloud
Muitos provedores já possuem redundância.
Exemplo:
| Provedor | Storage |
|---|---|
| AWS | EBS |
| Persistent Disk | |
| Azure | Managed Disk |
Nesses casos RAID geralmente é desnecessário.
Mas em storage local NVMe pode ser útil.
Erros comuns ao usar RAID
Não monitorar RAID
Muitos administradores descobrem falha apenas quando ambos discos morrem.
Misturar discos diferentes
Exemplo ruim:
SSD + HDD
Isso reduz performance.
Ignorar RAID degradado
RAID degradado é risco enorme.
Sempre substitua o disco rapidamente.
Não instalar GRUB nos dois discos
Se apenas um disco possuir bootloader:
servidor não inicia
RAID 1 não substitui backup
Essa é a regra mais importante.
RAID protege contra:
falha de hardware
Mas não protege contra:
- exclusão acidental
- ransomware
- corrupção de dados
- erro humano
Sempre mantenha:
backup externo
Checklist de RAID em produção
Antes de colocar servidor em produção verifique:
✔ RAID sincronizado
✔ SMART saudável
✔ GRUB nos dois discos
✔ alertas configurados
✔ backup funcionando
Próxima parte
Na Parte 6 (final) vamos ver:
- troubleshooting avançado de RAID
- recuperação de RAID quebrado
- recuperação após corrupção
- reconstrução manual de array
- erros reais que acontecem em produção
Essa parte é extremamente útil para sysadmins que administram servidores Linux diariamente.
Parte 6 — Troubleshooting Avançado, Recuperação e Diagnóstico de RAID
Nas partes anteriores vimos:
- fundamentos do RAID
- criação do RAID 1 com mdadm
- substituição de discos
- RAID para boot e root
- otimização de performance
Agora vamos abordar algo extremamente importante para quem administra servidores Linux em produção:
como recuperar RAID quando algo dá errado.
Problemas com RAID podem ocorrer por vários motivos:
- falha simultânea de discos
- corrupção de metadata
- erro humano
- falha de energia
- problemas no boot
Saber diagnosticar esses cenários pode evitar perda total de dados.
Verificando rapidamente o estado do RAID
Sempre que houver suspeita de problema execute primeiro:
cat /proc/mdstat
Exemplo saudável:
md0 : active raid1 sda1[0] sdb1[1]
[2/2] [UU]
Significado:
U = disco funcionando
RAID degradado
md0 : active raid1 sda1[0] sdb1[1]
[2/1] [U_]
Significado:
um disco falhou
Esse é o primeiro indicador de problemas.
RAID não inicia após reboot
Um problema comum é o RAID não montar após reiniciar o servidor.
Sintoma:
/dev/md0 não existe
Primeiro verifique os discos:
lsblk
Depois tente montar manualmente o RAID.
mdadm --assemble --scan
Esse comando tenta reconstruir automaticamente todos os arrays encontrados.
Reconstrução manual do RAID
Se o comando automático não funcionar, monte manualmente.
Exemplo:
mdadm --assemble /dev/md0 /dev/sda1 /dev/sdb1
Depois verifique:
cat /proc/mdstat
Se aparecer novamente:
[UU]
o RAID foi recuperado.
Metadata RAID corrompida
Em alguns casos o metadata pode ficar inconsistente.
Verifique o metadata:
mdadm --examine /dev/sda1
Exemplo de saída:
Magic : a92b4efc
Raid Level : raid1
Raid Devices : 2
Esse comando mostra se a partição pertence a um RAID.
Detectando arrays disponíveis
Para listar todos os arrays detectados:
mdadm --examine --scan
Exemplo:
ARRAY /dev/md0 level=raid1 num-devices=2 UUID=xxxx
Se necessário você pode montar manualmente usando o UUID.
Recuperando RAID após falha de energia
Falhas abruptas podem causar:
- resync automático
- inconsistência de dados
Após reboot verifique:
cat /proc/mdstat
Se aparecer:
resync
significa que o sistema está sincronizando novamente.
Isso é normal.
RAID com dois discos falhados
Esse é o cenário mais crítico.
Exemplo:
[_ _]
Nesse caso o RAID não possui mais redundância.
Ainda assim existe chance de recuperar dados.
Primeiro tente montar apenas um disco.
mount /dev/sda1 /mnt
Se o filesystem estiver intacto os dados podem ser recuperados.
Montando RAID em modo somente leitura
Para evitar corrupção adicional:
mount -o ro /dev/md0 /mnt
Isso permite copiar arquivos importantes.
Forçando montagem de RAID degradado
Em casos extremos pode ser necessário montar RAID mesmo incompleto.
mdadm --assemble --force /dev/md0 /dev/sda1
Use com cautela.
Esse comando força montagem mesmo com inconsistências.
RAID travado durante rebuild
Às vezes o rebuild pode travar.
Verifique:
cat /proc/mdstat
Se não houver progresso verifique discos:
smartctl -a /dev/sda
Problemas comuns:
- setores defeituosos
- disco muito lento
- controlador com erro
RAID lento inesperadamente
Se o RAID ficar muito lento, verifique:
uso de disco
iostat -xm 2
latência
iotop
filas de I/O
cat /proc/diskstats
Também verifique:
dmesg
para erros de hardware.
Corrupção de filesystem
Mesmo com RAID pode ocorrer corrupção.
Executar verificação:
EXT4
fsck.ext4 /dev/md0
XFS
xfs_repair /dev/md0
Execute apenas com filesystem desmontado.
Removendo RAID completamente
Às vezes é necessário remover RAID antigo.
Primeiro pare o array:
mdadm --stop /dev/md0
Depois limpe metadata:
mdadm --zero-superblock /dev/sda1
Repita para cada disco.
Agora os discos podem ser reutilizados.
Logs importantes para RAID
Sempre verifique logs quando houver problema.
Kernel
dmesg
System log
journalctl -xe
RAID
mdadm --detail /dev/md0
Esses logs ajudam a identificar falhas de hardware.
Boas práticas para evitar problemas
Para manter RAID saudável:
✔ monitore SMART
✔ configure alertas por email
✔ verifique RAID regularmente
✔ substitua discos defeituosos rapidamente
✔ mantenha backup externo
RAID 1 em ambientes de alta disponibilidade
Em infraestruturas maiores RAID geralmente faz parte de uma arquitetura maior.
Exemplo:
RAID1
↓
Filesystem
↓
Backup
↓
Replicação
↓
Load balancer
Isso garante alta disponibilidade.
Quando RAID não é suficiente
RAID protege apenas contra falha de disco.
Mas não resolve:
- falha do servidor
- falha de datacenter
- desastre físico
Por isso arquiteturas modernas utilizam:
- replicação entre servidores
- storage distribuído
- snapshots
Conclusão
RAID 1 continua sendo uma das soluções mais confiáveis e simples para aumentar a disponibilidade de armazenamento em servidores Linux.
Ao longo deste guia vimos:
- o funcionamento do RAID
- criação do RAID 1 com mdadm
- substituição e reconstrução de discos
- RAID para boot e sistema operacional
- otimização e performance
- troubleshooting avançado
Quando bem configurado, RAID 1 permite que servidores continuem funcionando mesmo após falha de disco, reduzindo drasticamente o risco de indisponibilidade.
No entanto, é fundamental lembrar:
RAID não substitui backup.
A melhor estratégia sempre combina:
- RAID para redundância
- monitoramento contínuo
- backups externos confiáveis
Com essas práticas, seu ambiente Linux terá muito mais resiliência e segurança de dados.
FAQ
Ele melhora leitura, mas a escrita costuma ter desempenho semelhante ao de um único disco.
Não. RAID protege apenas contra falha de disco.
O mínimo são dois discos.
Sim. RAID 1 funciona perfeitamente com SSD e NVMe.
Depende do provedor. Alguns permitem múltiplos discos para configuração manual.
✅ Fim do artigo
Veja Mais: Criando atalho para listar diretórios e arquivos em ordem crescente
Veja Mais: Diferentes tipos de vulnerabilidades de segurança e como se proteger
Veja Mais: Como configurar lamp com wordpress e let´s encrypt
Veja Mais: Como configurar lemp com wordpress e let´s encrypt
Veja Mais: Guia Completo do DirectAdmin para Administradores | Instalação, Segurança e Performance

