RAID 6 vs RAID 5: A Verdade Sobre o Overhead de Escrita e Double Parity

      17 de dezembro de 2025 Marta G. Oliveira 9 min de leitura
      RAID 6 vs RAID 5: A Verdade Sobre o Overhead de Escrita e Double Parity

      Esqueça o medo infundado. Entenda a matemática do Read-Modify-Write (RMW), o impacto real do Double Parity em IOPS randômicos e por que o ganho de performance do RAID 5 raramente compensa o risco.

      Compartilhar:

      A discussão sobre RAID 5 versus RAID 6 costuma ser dominada por dois grupos: os vendedores de storage, que juram que suas controladoras mágicas eliminam qualquer penalidade, e os puristas teóricos, que ignoram o orçamento do mundo real. Se você gerencia dados críticos, precisa ignorar ambos e olhar para a física do disco e a matemática da paridade.

      Não existe almoço grátis em storage. A redundância sempre cobra um imposto, pago em capacidade (espaço em disco) ou em performance (I/O). A transição do RAID 5 para o RAID 6 não é apenas sobre "perder mais um disco de espaço"; é sobre alterar fundamentalmente a mecânica de como seus dados aterrissam na mídia magnética ou no silício.

      Definição do Write Penalty (Penalidade de Escrita):

      A penalidade de escrita é o custo operacional oculto imposto pela paridade. Enquanto um RAID 1 ou 10 realiza apenas 2 operações de I/O para cada escrita lógica (gravar nos dois espelhos), o RAID 5 impõe uma penalidade de 4 operações (2 leituras + 2 escritas) para escritas aleatórias pequenas (ciclo RMW). O RAID 6 agrava esse cenário, exigindo 6 operações (3 leituras + 3 escritas) devido ao cálculo da dupla paridade (P+Q), definindo assim o teto máximo de IOPS do array.


      A Falácia da Performance do RAID 5 em Discos Modernos

      Durante anos, o RAID 5 foi o padrão ouro: você perdia apenas um disco de capacidade e tinha tolerância a falhas. Parecia um ótimo negócio. O problema é que a capacidade dos discos cresceu exponencialmente (de 146GB para 20TB+), mas a velocidade mecânica (IOPS e taxa de transferência por atuador) permaneceu estagnada.

      O argumento comum é: "Vou usar RAID 5 porque RAID 6 é muito lento na escrita."

      Isso é uma meia-verdade perigosa. Sim, o RAID 6 é matematicamente mais lento na escrita (veremos o porquê abaixo), mas em discos mecânicos modernos, o risco de URE (Unrecoverable Read Error) durante a reconstrução de um RAID 5 é estatisticamente garantido em arrays grandes. Se você prioriza a performance de escrita do RAID 5 acima da integridade dos dados, você não precisa de RAID, você precisa de um backup melhor.

      Para SSDs, a lógica muda ligeiramente, mas o "Write Penalty" continua sendo o ditador da performance do seu banco de dados.

      Entendendo o Ciclo Read-Modify-Write (RMW) e o Impacto no I/O

      Para compreender o custo real do RAID 6, precisamos dissecar o que acontece quando você altera um único bloco de 4KB em um volume RAID.

      Se você fizer uma escrita sequencial longa que preenche toda a "stripe" (a faixa de dados que atravessa todos os discos), o controlador apenas calcula a paridade e grava tudo de uma vez. Isso é eficiente. O pesadelo começa com escritas aleatórias pequenas (o padrão de bancos de dados, logs e VMs).

      Como o controlador não sabe o que está no restante da stripe, ele não pode simplesmente calcular a nova paridade. Ele precisa saber o que já estava lá para reverter a paridade antiga e aplicar a nova.

      O Ciclo Read-Modify-Write: A penalidade de I/O oculta em escritas parciais (sub-stripe). Figura: O Ciclo Read-Modify-Write: A penalidade de I/O oculta em escritas parciais (sub-stripe).

      No RAID 6, esse ciclo é exacerbado. Para cada pequena escrita, o sistema deve:

      1. Ler o dado antigo.

      2. Ler a paridade P antiga.

      3. Ler a paridade Q antiga.

      4. Calcular os novos dados e as novas paridades P e Q (Custo de CPU).

      5. Gravar o novo dado.

      6. Gravar a nova paridade P.

      7. Gravar a nova paridade Q.

      Isso transforma 1 IOPS lógico (o que sua aplicação vê) em 6 IOPS físicos (o que seus discos sofrem).

      Matemática do Overhead: XOR, Reed-Solomon e Custo de CPU

      Há um mito persistente de que o RAID 6 é lento porque "o cálculo da paridade dupla é pesado para a CPU". Isso era verdade em 2005. Hoje, qualquer processador de storage ou CPU x86 moderna com instruções AVX calcula paridade Reed-Solomon (ou variantes de Campo de Galois) mais rápido do que os dados conseguem trafegar pelo barramento PCIe.

      O gargalo não é a CPU, é o I/O.

      A diferença matemática entre os níveis define a penalidade de I/O (Write Penalty):

      Nível RAID Algoritmo Write Penalty (Random) Fórmula de Operações
      RAID 0 N/A 1x 1 Escrita
      RAID 10 Espelhamento 2x 2 Escritas
      RAID 5 XOR 4x 2 Leituras + 2 Escritas
      RAID 6 XOR + Reed-Solomon 6x 3 Leituras + 3 Escritas

      Observe que o salto do RAID 5 para o RAID 6 aumenta a carga de I/O nos discos em 50% (de 4 para 6 operações) para cada escrita aleatória. É aqui que a performance morre.

      Impacto do Double Parity em Workloads Randômicos vs Sequenciais

      Se o seu servidor é um repositório de backups (Veeam, Commvault) ou um servidor de arquivos de mídia, onde as escritas são grandes e sequenciais, o Write Penalty é quase irrelevante. Controladoras inteligentes usam cache para agrupar escritas e preencher a stripe inteira (Full Stripe Write), eliminando a necessidade de ler os dados antigos.

      Porém, em workloads transacionais (OLTP, SQL, Virtualização), o cenário é brutal.

      Comparativo de Penalidade de Escrita (Write Penalty) em Workloads Randômicos. Figura: Comparativo de Penalidade de Escrita (Write Penalty) em Workloads Randômicos.

      Como ilustrado acima, em um ambiente de alta aleatoriedade, a curva de performance do RAID 6 achata muito mais rápido que a do RAID 10 e visivelmente antes do RAID 5. Se você dimensionou seu storage calculando os IOPS brutos dos discos (ex: 8 HDDs x 150 IOPS = 1200 IOPS), sua conta está errada.

      A conta real para RAID 6: $$ \text{IOPS Efetivos} = \frac{\text{IOPS Brutos dos Discos}}{\text{Write Penalty (6)}} $$

      Para 8 HDDs de 150 IOPS (Total 1200), em um workload 100% escrita aleatória RAID 6, você terá apenas 200 IOPS utilizáveis.

      Latência em Mídias: Como SSDs e NVMe Alteram a Percepção do Penalty

      "Mas eu uso All-Flash, isso não importa." Errado. Importa, mas de forma diferente.

      Em SSDs e NVMe, a latência é tão baixa que o tempo gasto nas etapas de leitura (Read-Modify-Write) é imperceptível para o usuário final na maioria dos casos. Você não sentirá a "lentidão" como sentiria em um HDD mecânico buscando setores.

      No entanto, o problema no Flash se desloca para a Write Amplification (Amplificação de Escrita) e Endurance (Vida Útil).

      • Em RAID 6, você está efetivamente escrevendo 6 vezes no back-end para cada escrita do front-end.

      • Isso consome os ciclos de P/E (Program/Erase) das células NAND muito mais rápido.

      • Em arrays All-Flash baratos (QLC ou TLC de entrada), usar RAID 6 com workloads de escrita pesada pode matar os SSDs prematuramente.

      Callout de Risco: Em arrays NVMe de ultra-baixa latência, o cálculo da paridade (CPU) pode voltar a ser um gargalo se a implementação de software (ex: mdadm ou ZFS sem offload) não for otimizada, pois o disco espera pelos dados mais rápido do que a CPU consegue calcular o Reed-Solomon.

      Estratégias de Mitigação: Caches de Escrita e Full Stripe Writes

      Você decidiu que precisa da segurança do RAID 6 (Dual Parity), mas não pode aceitar a performance abismal. Como mitigar?

      1. Cache de Escrita Não-Volátil (NVRAM / BBWC)

      A solução clássica de hardware. A controladora possui 1GB a 8GB de RAM protegida por bateria/capacitor.

      • Como funciona: A escrita chega, vai para a RAM, o storage diz "OK" imediatamente (latência zero).

      • Nos bastidores: O controlador reordena essas escritas pequenas, combina-as para formar uma "Full Stripe" e as despeja nos discos de uma vez, evitando o ciclo RMW.

      2. Log Devices (ZFS SLOG / Ceph WAL)

      Em Software Defined Storage (ZFS, Ceph), você usa um dispositivo rápido (Optane ou NVMe de alta durabilidade) para absorver as escritas síncronas.

      • Isso não elimina o Write Penalty nos discos de dados finais, mas mascara a latência para a aplicação.

      3. Validando a Penalidade na Prática

      Não confie no datasheet. Se você tem um array Linux disponível, meça a diferença real usando fio.

      # Teste de Escrita Randômica 4k (Pior Cenário para RAID 6)
      # Ajuste --filename para seu ponto de montagem
      fio --name=raid6_torture \
          --ioengine=libaio \
          --rw=randwrite \
          --bs=4k \
          --direct=1 \
          --size=4G \
          --numjobs=4 \
          --runtime=60 \
          --group_reporting \
          --filename=/mnt/raid6_vol/testfile
      

      Compare os resultados (IOPS e Latência clat) entre uma configuração RAID 5 e RAID 6 no mesmo hardware. Você verá a penalidade de ~30-50% se manifestar claramente.

      Veredito Técnico: Quando o Custo do RAID 6 é Justificável

      A escolha entre RAID 5 e RAID 6 não é sobre emoção, é sobre gerenciamento de risco calculado.

      Use RAID 5 APENAS se:

      • Você está usando All-Flash Arrays (a reconstrução é muito rápida, diminuindo a janela de vulnerabilidade).

      • Os dados são replicados em outro lugar em tempo real (ex: camada de aplicação).

      • Você tem discos pequenos (< 2TB).

      Obrigatório usar RAID 6 se:

      • Você usa discos mecânicos (NL-SAS / SATA) maiores que 4TB. O tempo de rebuild de um disco de 14TB pode levar dias. A chance de um segundo disco falhar (ou encontrar um bad block) nesse período é altíssima.

      • Você não tem um SLA de backup/restore agressivo.

      • O array é "Cold Storage" ou Arquivo Morto.

      Para o Sysadmin pragmático, o RAID 10 continua sendo o rei da performance e simplicidade para produção crítica. Mas quando o custo por TB fala mais alto e você precisa de paridade, o RAID 6 é o "mal necessário". Aceite o Write Penalty, dimensione o cache corretamente e durma tranquilo sabendo que dois discos podem falhar sem você perder o emprego.


      Referências & Leitura Complementar

      1. SNIA (Storage Networking Industry Association): "RAID Execution and Parity Geometry".

      2. Adam Leventhal (ACM Queue): "Triple-Parity RAID and Beyond" - Uma análise sobre a insuficiência do RAID 5 e até do RAID 6 para escalas de Petabytes.

      3. Intel Storage Papers: "Erasure Coding vs. RAID 6 in Distributed Storage Systems".

      4. BAARF (Battle Against Any Raid Five): O manifesto clássico sobre por que RAID 5 parou de fazer sentido na era dos discos de alta capacidade.

      #RAID 6 Write Penalty #RAID 5 vs RAID 6 Performance #Read-Modify-Write #Double Parity Overhead #IOPS Randômicos #Storage Workloads
      Marta G. Oliveira

      Marta G. Oliveira

      DevOps Engineer & Storage Nerd

      Automatiza provisionamento de storage com Terraform e Ansible. Defensora do 'Infrastructure as Code' para storage.