Planejando as configurações da matriz
Ao planejar sua rede, considere o tipo de configuração RAID a ser usado. 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; várias matrizes criam a capacidade para um conjunto. Para que haja redundância, unidades hot spare são alocadas para assumir as operações de leitura ou gravação, caso alguma das outras unidades falhar. O resto do tempo, as unidades sobressalentes estão inativas e não processam solicitações para o sistema. Quando uma unidade do membro falha na matriz, os dados podem ser recuperados apenas para o sobressalente tão rápido quanto a unidade pode gravar os dados. Devido a esse gargalo, a reconstrução dos dados poderá levar muitas horas, pois o sistema tentará balancear o host e reconstruir a carga de trabalho. Como resultado, o carregamento no restante das unidades 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 nos MDisks, todos os volumes são afetados durante o tempo levado pra a reconstrução da unidade.
Matriz distribuída
As configurações de matrizes distribuídas criam MDisks internos de grande escala. Essas matrizes, que podem conter de 4 a 128 unidades, também contêm áreas de reconstrução que são usadas para manter redundância após uma unidade falhar. Se não houver unidades suficientes disponíveis no sistema (por exemplo, em configurações com menos de quatro unidades flash), não é possível configurar uma matriz distribuída. As matrizes RAID distribuídas resolvem os gargalos de reconstrução em configurações de matrizes não distribuídas porque as áreas de reconstrução são distribuídas entre todas as unidades na matriz. A carga de trabalho de gravação de reconstrução é dividida entre todas as unidades, em vez de ser colocada apenas em uma única unidade sobressalente, o que resulta em reconstruções mais rápidas em uma matriz. Matrizes distribuídas removem a necessidade de unidades separadas que estão inativa até que ocorra 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 de forma mais rápida na área de reconstrução e a redundância é restaurada muito mais rapidamente. Além disso, à medida que a reconstrução progride, o desempenho do conjunto é mais uniforme porque todas as unidades disponíveis serão utilizadas 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. Ao contrário das unidades hot spare, as solicitações de leitura/gravação são processadas em outras partes da unidade, que não são utilizadas 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 as unidades com falha sem risco de se tornar degradada. Por exemplo, uma matriz distribuída que usa unidades RAID 6 pode manipular duas falhas simultâneas. Após a reconstrução das unidades com falha, a matriz pode tolerar outras duas falhas de unidade. Se todas as áreas de reconstrução forem usadas para recuperar dados, a matriz ficará comprometida na próxima falha da unidade. Verifique se seu modelo suporta matrizes distribuídas antes de concluir a configuração de matriz. Para sistemas que suportam matrizes distribuídas, é possível usar a GUI de gerenciamento ou o comando expanarray para aumentar o número de unidades em uma matriz, incluindo novas unidades na matriz.
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, existe 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 dramaticamente reduzidos, o que desvia a exposição de volumes para a carga extra de recuperação da redundância. Como a capacidade desses 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 de disco gerenciado é reservado. Por isso, 15 outras identidades de disco gerenciado 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. Tempos de reconstrução mais rápidos melhoram o MTBF; no entanto, limites para o quão amplamente distribuída uma matriz pode ser antes que o MTBF se torne inaceitável permanecem.
Expansão da matriz distribuída
A expansão de matriz distribuída permite a conversão de uma matriz pequena e não muito distribuída em uma matriz distribuída maior enquanto preserva a configuração de volume e o condicionamento para o desempenho ideal. A expansão oferece a opção de obter melhor desempenho de reconstrução com uma configuração existente sem as etapas de migração que possam exigir excesso de capacidade. A expansão de uma matriz distribuída é preferível sobre a criação de uma nova matriz pequena.
A expansão pode aumentar a capacidade de uma matriz, mas não pode mudar o parâmetro básico da largura de faixa. Quando você planeja uma configuração de matriz distribuída, é necessário planejar os requisitos futuros da matriz. Além disso, uma matriz distribuída que pode se encaixar dentro do limite de extensão (extensões 16*128 K) em um tamanho de extensão específico pode não se ajustar se você expandir ao longo do tempo. Planejar seu tamanho de extensão para o futuro também é importante.
A expansão também beneficia matrizes NVMe pelas mesmas razões. No entanto, as unidades de NVMe thin provisioned (compactação) incluem uma camada extra de complexidade quando você calcula a capacidade disponível na matriz durante uma expansão. Quando você se planeja para a possível expansão de matrizes NVMe thin provisioned, as unidades devem ter o mesmo tamanho físico e lógico. Quando você expande uma matriz NVMe thin provisioned, a capacidade utilizável não fica imediatamente disponível e a disponibilidade da nova capacidade utilizável não acompanha o progresso da expansão lógica. O processo de expansão monitora o uso da capacidade utilizável e analisa as mudanças causadas pelas ações que ele executa durante a relocação de dados. Essas informações são usadas para liberar a quantidade correta de capacidade utilizável à medida que ela se torna disponível.