A Temida Confusão de Array
Temida Confusão de Array, ou DAC (do inglês Dreaded Array Confusion), é um termo dado a um grupo de tipos de falha de array RAID que são praticamente impossíveis de diagnosticar, mas que se caracterizam pelo ponto em comum de não apresentarem falha de disco em conjunto com a falha completa do array, resultando em perda total de dados. Levanta-se a hipótese de que três causas principais resultam na maioria dos casos de DAC:
Bugs de Software ou Firmware: Embora bugs dramáticos no comportamento do RAID sejam raros hoje em dia, eles são sempre possíveis, especialmente em tipos de array mais complicados, como o RAID com paridade, onde cálculos de reconstrução precisam ser realizados sobre o array. Um bug no software ou no firmware do RAID (dependendo de estarmos falando de RAID por software ou por hardware) poderia se manifestar de inúmeras maneiras, incluindo a destruição acidental do array. Problemas de firmware também poderiam ocorrer nos próprios discos.
Falha de Hardware: Falhas em hardware, como processadores, memória ou controladoras, podem ter efeitos dramáticos sobre um array RAID. Erros de memória, em especial, poderiam facilmente resultar na perda total do array. Acredita-se que esta seja a causa menos comum de DAC.
Solavanco de Disco: Nesse cenário, discos individuais se soltam e desconectam do backplane e, mais tarde, voltam a se encaixar, desencadeando um evento de ressincronização (resilvering). Se isso acontecesse com vários discos durante um ciclo de ressincronização, ou se um URE fosse encontrado durante uma ressincronização, veríamos a perda total do array em arrays com paridade, potencialmente até mesmo sem que ocorresse qualquer falha de hardware.
Devido à natureza da DAC e por não se tratar de um problema do RAID em si, mas sim dos componentes de suporte a ele, ficamos em uma posição muito difícil para tentar identificar ou quantificar o risco. Ninguém sabe qual é a probabilidade de a DAC ocorrer e, embora saibamos que a DAC é uma ameaça mais significativa em sistemas RAID com paridade, não sabemos em que medida. Evidências anedóticas sugerem que o risco em RAID espelhado é imensuravelmente baixo e que, em RAID com paridade, ele pode se elevar acima do ruído de fundo na análise de risco. Dentre os modos de falha, tanto os bugs de software quanto o solavanco de disco apresentam um risco muito maior para sistemas que rodam em RAID com paridade, porque o risco de URE afeta apenas arrays com paridade e o software necessário para a paridade é muito mais complexo do que o software necessário para o espelhamento. O RAID com paridade é simplesmente mais frágil e carrega mais tipos de risco, expondo-se à DAC de mais maneiras do que o RAID espelhado.
Como a DAC é um conjunto de possibilidades e como é praticamente impossível identificá-la depois que ocorreu, há poucos meios viáveis de coletar quaisquer dados sobre ela. Desde que a DAC foi identificada como um risco, muitas pessoas se manifestaram, predominantemente na comunidade Spiceworks, para fornecer relatos anedóticos de testemunhas oculares de falhas de array por DAC. A natureza da TI de usuário final é tal que estatísticas, especialmente sobre conceitos nebulosos como a DAC, que não são amplamente conhecidos, não são reunidas e não podem ser. A DAC surge em empresas do mundo todo, onde um administrador de sistemas retorna ao escritório e encontra um servidor com todos os dados desaparecidos e nenhum hardware tendo falhado. Os dados já estão perdidos. Provavelmente nenhum diagnóstico será executado, não existirão logs e, mesmo que o problema possa ser identificado, a quem ele seria reportado e, mesmo se reportado, como quantificamos com que frequência ele acontece versus com que frequência não acontece, ou com que frequência poderia acontecer sem ser reportado. Infelizmente, tudo o que sei é que, ao identificar e divulgar de certa forma o risco e seus sintomas, de repente muitas pessoas se manifestaram reconhecendo que também haviam presenciado a DAC em primeira mão e não tinham ideia do que havia acontecido.
Se meus estudos anedóticos servem de indicador, parece que a DAC de fato representa um risco considerável para arrays com paridade, com falhas existindo em um percentual apreciável de arrays, mas a precisão e o tamanho da amostra dessa coleta de dados eram minúsculos. No entanto, originalmente pensava-se que a DAC fosse tão rara que, teoricamente, seria impossível encontrar alguém que algum dia a tivesse observado, mas isso não parece ser o caso. Já tenho conhecimento de muitas pessoas que a vivenciaram.
Somos forçados, pela natureza do setor, a aceitar a DAC como um risco potencial e a listá-la como um risco “menor” e desconhecido nas avaliações de risco, a estar preparados para ela, mas sem podermos calculá-la. Mas saber que ela pode ser um risco e compreender por que ela pode acontecer são aspectos importantes na avaliação de riscos e na mitigação de riscos.
[Evidências anedóticas sugerem que a DAC é quase sempre exclusiva de implementações de RAID por hardware de arrays RAID com paridade simples em controladoras SCSI.]
