RAID 5 com Discos de Tamanhos Diferentes: O Guia Definitivo de Capacidade e Desperdício
Descubra a matemática real por trás do RAID 5 com discos mistos. Entenda o desperdício de espaço, o gargalo do menor disco e quando soluções como SHR ou Btrfs superam o RAID tradicional.
O cenário é clássico em ambientes de homelab ou expansões de emergência em PMEs: você tem um array precisando de espaço e uma gaveta cheia de discos rígidos de capacidades variadas. Um de 4TB, dois de 8TB e um antigo de 2TB. A tentação de criar um "Frankenstein" é grande.
Mas, na engenharia de storage, a esperança não é uma estratégia. Misturar discos de tamanhos diferentes em um RAID 5 tradicional não é apenas uma questão de "vai funcionar?"; é uma questão de matemática determinística e física de pratos giratórios.
Vamos dissecar o que acontece com seus dados, onde o espaço é desperdiçado e, crucialmente, como a latência se comporta quando você força hardwares de gerações diferentes a cooperarem.
O Que Acontece ao Misturar Discos no RAID 5?
Definição de Engenharia: Em um arranjo RAID 5 padrão (seja via hardware ou
mdadm), a capacidade lógica do array é limitada pelo menor disco membro do grupo. O controlador trunca o espaço utilizável de todos os discos maiores para igualar a geometria do menor disco, resultando em espaço não alocado (desperdício) inacessível pelo array, a menos que camadas de abstração como LVM ou sistemas de arquivos avançados (Btrfs/SHR) sejam utilizados.
A Regra do Menor Denominador Comum no RAID 5
Para entender o desperdício, você precisa visualizar como o RAID 5 grava dados. Ele não "enche um balde e passa para o próximo". Ele utiliza striping (faixas).
Imagine que o controlador RAID está cortando fatias horizontais em todos os discos simultaneamente para gravar um bloco de dados e sua paridade. Para que a paridade (XOR) funcione, essas fatias precisam estar alinhadas.
Se você tem três discos — 4TB, 8TB e 8TB — o controlador olha para o menor membro (4TB). Ele define que a "altura" máxima do stripe é 4TB.
Figura: RAID 5 Clássico vs. Alocação Híbrida: Onde o espaço vai parar.
Qualquer capacidade acima da marca de 4TB nos discos maiores é invisível para a lógica do RAID. Não é que o sistema "escolhe" não usar; ele geometricamente não consegue estender o stripe porque não haveria um disco correspondente para manter a paridade naquelas posições superiores.
Cálculo de Capacidade Útil em Cenários Reais
Vamos sair da teoria e aplicar a fórmula de capacidade bruta: $$Capacidade = (N - 1) \times S_{menor}$$ Onde $N$ é o número de discos e $S_{menor}$ é o tamanho do menor disco.
Cenário A: O Upgrade Gradual
Discos: 3x 2TB + 1x 4TB
Cálculo: $(4 - 1) \times 2TB = 6TB$ úteis.
Desperdício: 2TB (metade do disco novo de 4TB é ignorado).
Eficiência: O disco de 4TB está operando como se fosse de 2TB.
Cenário B: O Frankenstein Total
Discos: 1x 2TB, 1x 4TB, 1x 8TB
Cálculo: $(3 - 1) \times 2TB = 4TB$ úteis.
Capacidade Total Física: 14TB.
Desperdício: 10TB jogados fora.
Análise: Neste caso, o RAID 5 é destrutivo para o ROI (Retorno sobre Investimento). Você estaria melhor usando os discos individualmente (JBOD) ou em pares de espelhamento seletivo.
O "Buraco Negro" do Espaço Não Utilizado em Controladoras e mdadm
Muitos administradores tentam ser espertos: "E se eu particionar o espaço que sobrou e criar outro RAID?"
Se você estiver usando uma controladora RAID de hardware (LSI, Dell PERC, HP SmartArray), a resposta geralmente é não. A controladora cria um Disco Virtual (VD) e bloqueia o acesso físico direto ao restante do drive para garantir a integridade do array. Aquele espaço excedente torna-se um "buraco negro": ele existe fisicamente, consome energia para girar, gera calor, mas não armazena bits.
No Linux com mdadm, você tem mais flexibilidade, mas aumenta a complexidade de gestão de falhas. Você poderia particionar os discos (sdX1 para o RAID, sdX2 para o resto), mas isso cria uma concorrência de IOPS mecânico.
# Criar um RAID 5 nas primeiras partições de discos mistos
mdadm --create /dev/md0 --level=5 --raid-devices=3 /dev/sda1 /dev/sdb1 /dev/sdc1
Se o /dev/md0 estiver sob carga pesada e você tentar acessar os dados na partição "sobra" do mesmo disco físico, a cabeça de leitura/gravação terá que saltar freneticamente entre os setores iniciais e finais do prato. O resultado? A latência dispara de ~10ms para >100ms, e o throughput do RAID despenca.
Como Btrfs e Synology SHR Otimizam Discos Mistos
Aqui reside a exceção à regra do "Menor Denominador Comum". Tecnologias modernas de armazenamento abandonaram a rigidez da geometria de disco físico em favor da alocação baseada em blocos ou chunks lógicos.
Synology SHR (Synology Hybrid RAID)
O SHR não é mágica; é automação de LVM (Logical Volume Manager) com mdadm.
Quando você insere discos de tamanhos diferentes (ex: 2x 4TB + 2x 8TB), o SHR faz o seguinte:
Cria um RAID 5 através de todos os 4 discos usando os primeiros 4TB de cada um.
Identifica que sobrou 4TB nos dois discos maiores.
Cria um RAID 1 (espelho) com esse espaço excedente.
Une ambos os arrays (RAID 5 + RAID 1) em um único Volume Lógico linear.
O resultado é que você aproveita quase todo o espaço, mantendo redundância de 1 disco.
Btrfs (Modo RAID)
O Btrfs opera de forma diferente. Ele não se importa com o tamanho do dispositivo. Ele trabalha com "Chunks" de dados e metadados (geralmente 1GB).
- No perfil RAID 1 do Btrfs, ele garante que existam duas cópias de cada bloco de dados em dois dispositivos diferentes, independentemente do tamanho deles. É um jogo de "Tetris" de alocação.
Comparativo de Eficiência de Espaço:
| Característica | RAID 5 Clássico (mdadm/Hardware) |
Synology SHR-1 | Btrfs (RAID 1 Profile) |
|---|---|---|---|
| Base de Cálculo | Menor Disco do Array | Soma das partes redundantes | Alocação de Chunks Dinâmica |
| Discos: 4TB, 8TB, 8TB | 8TB Úteis (Desperdiça 8TB) | 16TB Úteis (Aproveita tudo*) | 10TB Úteis (Aprox. RAID1) |
| Complexidade | Baixa | Média (LVM + mdadm) | Alta (CoW FS) |
| Custo de CPU | Baixo (XOR simples) | Médio | Alto (Checksums + CoW) |
*Nota: O SHR-1 usaria 4TB+4TB+4TB em RAID 5 e os 4TB restantes dos discos de 8TB em RAID 1, somando volumes.
Riscos de Performance: O Perigo de Misturar Gerações
O tamanho é fácil de ver. A velocidade é invisível até você medir. O maior perigo de misturar discos antigos com novos não é o espaço perdido, é a latência da cauda (tail latency).
Um array RAID 5 opera em sincronia. Quando um comando de escrita é enviado, ele só é confirmado quando a paridade é calculada e os dados atingem o cache (ou o prato) dos discos.
O Efeito do Elo Mais Fraco: Se você mistura um disco moderno de 7200 RPM, 256MB de Cache e alta densidade de área com um disco antigo de 5400 RPM e 64MB de cache, o disco antigo dita o ritmo.
Figura: O Efeito do Elo Mais Fraco: A latência do array é ditada pelo pior disco.
Checklist de Risco de Performance
Antes de misturar discos, verifique:
RPM (Rotações por Minuto): Nunca misture 5400/5900 RPM com 7200 RPM ou 10k/15k. O disco mais rápido passará a maior parte do tempo em idle, esperando o mais lento buscar o setor.
Tecnologia de Gravação (CMR vs SMR): CRÍTICO. Se um dos seus discos "sobra" for SMR (Shingled Magnetic Recording) e os outros forem CMR, seu array irá falhar sob carga de reconstrução (rebuild). Discos SMR pausam para reorganizar trilhas, causando timeouts no controlador RAID, que interpretará a pausa como falha de disco e o expulsará do array.
Tamanho do Cache: Discos com caches muito díspares podem causar inconsistências no throughput de escrita burst.
Veredito: Quando o "Frankenstein Array" Vale a Pena?
Como engenheiro focado em métricas, a resposta "depende" é preguiçosa. Aqui está a matriz de decisão baseada em evidência:
1. Ambiente de Produção / Banco de Dados / Virtualização
NÃO FAÇA. O custo da imprevisibilidade de I/O supera a economia de reutilizar discos velhos. A latência inconsistente causará IO Wait alto em suas VMs. Compre discos idênticos.
2. Backup Secundário / Cold Storage
ACEITÁVEL (Com ressalvas).
Se o objetivo é Veeam Repository ou despejo de arquivos mortos, a performance de escrita não é crítica. Use mdadm sabendo do desperdício ou ZFS (mas o ZFS também limitará pelo menor disco no VDEV).
3. Media Server / Homelab (Plex, Jellyfin)
IDEAL PARA SHR/UNRAID. Este é o único cenário onde a mistura brilha. O uso de soluções como Synology SHR ou Unraid (que não é RAID tradicional, mas paridade dedicada) permite maximizar cada TB sem se preocupar com IOPS extremos.
Resumo da Ópera: Se você precisa de performance determinística, a geometria deve ser uniforme. Se você precisa apenas de capacidade bruta a baixo custo e pode tolerar latência variada, use sistemas de arquivos inteligentes (SHR/Btrfs), mas fuja do RAID 5 de hardware tradicional.
Referências & Leitura Complementar
Linux Man Pages:
man 4 md- Detalhes sobre a implementação do driver de múltiplos dispositivos no Linux.Synology Inc.: Synology Hybrid RAID (SHR) White Paper - Explicação técnica sobre a gestão de volumes lógicos sobre arrays RAID.
Kernel.org Wiki: Btrfs Use Cases: Multiple Devices - Documentação oficial sobre alocação de chunks em Btrfs.
Usenix FAST '16: SMR Drives in a RAID Environment - Análise acadêmica sobre os riscos de latência em discos SMR.
Dr. Marcus 'Bitrot' Silva
Engenheiro Sênior de Armazenamento
20 anos recuperando RAIDs quebrados. Especialista em ZFS e sistemas de arquivos distribuídos. Já viu mais falhas de disco do que gostaria.