Planejando as configurações da matriz
Ao planejar sua rede, deve-se considerar o tipo de configuração RAID usada. O sistema suporta uma configuração de matriz não distribuída ou de matriz distribuída.
Matriz
Uma matriz não distribuída pode conter de 2 a 16 unidades e
várias matrizes criam a capacidade para um conjunto. Para redundância, unidades sobressalentes (hot-spares
) são alocadas para assumir
operações de leitura/gravação se alguma das outras unidades falhar. No
restante do tempo, as unidades sobressalentes ficam inativas e não processam solicitações
para o sistema. Quando uma unidade do membro falha na matriz, os dados podem
ser recuperados apenas na sobressalente com a mesma rapidez com que essa unidade pode gravar os
dados. Devido a esse gargalo, a reconstrução dos dados pode levar muitas horas,
pois o sistema tenta balancear a carga de trabalho do host e da reconstrução. Consequentemente,
a carga nas unidades restantes do membro pode aumentar
significativamente. A latência de E/S na matriz de reconstrução é afetada durante todo esse tempo. Como os dados de volume são divididos entre
MDisks, todos os volumes são afetados durante o tempo gasto para reconstruir a unidade.
Matriz distribuída
As matrizes RAID distribuídas resolvem esses problemas, já que as áreas de reconstrução são
distribuídas entre todas as unidades na matriz. A carga de trabalho de gravação da reconstrução se dispersa entre todas as
unidades em vez de em uma única unidade sobressalente, o que resulta
em reconstruções mais rápidas em uma matriz. As configurações de matrizes distribuídas poderão conter entre 4 - 128
unidades. Matizes distribuídas acabam com a necessidade
de unidades separadas que ficam inativas até ocorrer uma falha. Ao invés de
alocar uma ou mais unidades como sobressalentes, a capacidade sobressalente é
distribuída sobre áreas de reconstrução específicas em todas as unidades do membro. Os dados podem ser copiados com mais agilidade para a área de reconstrução e a redundância é restaurada
com muito mais agilidade. Além disso, à medida que a reconstrução progride, o desempenho
do conjunto é mais uniforme porque todas as unidades disponíveis são
usadas para cada extensão de volume. Após a substituição da unidade com falha, os dados são copiados de volta para a unidade
da capacidade sobressalente distribuída. Diferentemente das unidades hot spares
, as solicitações de
leitura/gravação são processadas em outras partes da unidade que não estiverem sendo usadas como áreas de
reconstrução. O número de áreas de reconstrução é baseado na largura da matriz. O
tamanho da área de reconstrução determina quantas vezes a matriz distribuída pode recuperar
unidades com falha sem o risco de se tornar degradada. Por exemplo, uma matriz distribuída que usa unidades RAID 6 pode manipular duas falhas simultâneas. Depois das unidades com falha terem sido reconstruídas, a matriz pode tolerar outras duas falhas de unidade. Se todas as áreas de reconstrução forem usadas para recuperar dados, a matriz se tornará degradada na
próxima falha de unidade.
O conceito de RAID distribuído é distribuir uma matriz com largura W por um conjunto de unidades X. Por exemplo, você pode ter uma matriz 2+P RAID-5 que é distribuída entre um conjunto de 40 unidades. O tipo e a largura da matriz definem o nível de redundância. No exemplo anterior, há uma sobrecarga de capacidade de 33% para a paridade. Se um avanço de matriz precisar ser reconstruído, duas faixas de componente deverão ser lidas para reconstruir os dados para o terceiro componente. O tamanho do conjunto define quantas unidades são usadas pela matriz distribuída. Obviamente, é um requisito que o desempenho e a capacidade utilizável escalem de acordo com o número de unidades no conjunto. O outro recurso-chave de uma matriz distribuída é que em vez de ter um hot spare, o conjunto inclui faixas sobressalentes que também são distribuídas pelo conjunto de unidades. Os dados e os sobressalentes são distribuídos, de modo que, se uma unidade no conjunto falhar, a redundância poderá ser restaurada pela reconstrução dos dados nas faixas sobressalentes a uma taxa muito maior do que a taxa de um único componente.
As matrizes distribuídas são usadas para criar discos gerenciados internos em larga escala. Elas podem gerenciar de 4 a 128 unidades e conter suas próprias áreas de reconstrução para realizar a recuperação de erro quando as unidades falharem. Como resultado, os tempos de reconstrução são drasticamente reduzidos, o que reduz a exposição que os volumes têm para o carregamento extra da recuperação de redundância. Como a capacidade destes discos gerenciados é potencialmente tão grande, quando eles são configurados no sistema, os limites gerais mudam para permitir que eles sejam virtualizados. Para cada matriz distribuída, o espaço para 16 alocações de extensão do MDisk é reservado e, portanto, 15 outras identidades do MDisk são removidas do conjunto geral de 4096. As matrizes distribuídas também têm como objetivo fornecer um nível de desempenho uniforme. Uma matriz distribuída poderá conter diversas classes da unidade se as unidades forem semelhantes (por exemplo, as unidades têm os mesmos atributos, mas as capacidades são maiores) para obter esse desempenho. Todas as unidades em uma matriz distribuída deve vir do mesmo grupo de E/S para manter um modelo de configuração simples.
Uma desvantagem de uma matriz distribuída é que a redundância da matriz cobre um número maior de componentes. Portanto, o tempo médio entre falhas (MTBF) é reduzido. Os tempos de reconstrução mais rápidos melhoram o MTBF; entretanto, ainda há limites de quão amplamente distribuída uma matriz pode ser antes de o MTBF se tornar inaceitável.