Configuração de unidade recomendada para um servidor Web

Configuração de unidade recomendada para um servidor Web

Qual é a configuração típica da unidade do servidor web? Normalmente terei uma unidade para o sistema operacional e uma unidade para dados. A unidade de dados normalmente é um RAID 5, mas não me lembro o que costumava recomendar para a unidade do sistema operacional. O RAID 1 é ideal para isso?

Responder1

Eu trabalho para uma grande empresa de hospedagem, e a coisa mais comum que vejo no meu segmento corporativo (não necessariamente que eu recomende, mas o que vejo), assumindo que o servidor seja autônomo/usando armazenamento local, é uma matriz de sistema operacional RAID 1, e uma matriz de dados RAID5.

Agora, à medida que os discos rígidos ficam maiores, o RAID 5 realmente se torna menos ideal, pois a probabilidade de atingir um URE durante uma reconstrução de unidade única é bastante alta.

Mas como você parece estar perguntando especificamente sobre a unidade do sistema operacional, sim, o RAID 1 é padrão e geralmente suficiente, a menos que você execute outros aplicativos nessa unidade.

Responder2

Eu opero um Datacenter e sou CTO de uma operação de hospedagem de bom tamanho. EXORTAMOS FORTEMENTE QUE AS PESSOAS NUNCA USAM RAID 5.

USE UMA BOA SAN SEMPRE QUE POSSÍVEL


RAID5 usa APENAS UMA unidade de paridade por faixa e muitos arrays RAID5 são 5 (se suas contagens forem diferentes, ajuste os cálculos adequadamente) unidades (4 dados e 1 paridade, embora não seja uma única unidade que mantém toda a paridade como no RAID 3 & 4, mas continue lendo).

RAID 5 É UM DESPERDÍCIO, MAS O RAID 10 e 1 também: Se você tiver 10 unidades ou, digamos, 20 GB cada, para 200 GB, o RAID5 usará 20% para paridade (supondo que você o configure como duas matrizes de 5 unidades), portanto, você terá 160 GB de armazenamento.

Agora, como o RAID10, assim como o espelhamento (RAID1), usa 1 (ou mais) unidade espelhada para cada unidade primária, você está usando 50% para redundância, portanto, para obter os mesmos 160 GB de armazenamento, você precisará de 8 pares ou unidades de 16 a 20 GB, o que é por que o RAID5 é tão popular. Esta introdução é apenas para colocar as coisas em perspectiva.

RAID5 é fisicamente um conjunto de faixas como RAID0, mas com recuperação de dados incluída. O RAID5 reserva um bloco de disco de cada bloco de distribuição para dados de paridade. O bloco de paridade contém um código de correção de erros que pode corrigir qualquer erro no bloco RAID5; na verdade, ele é usado em combinação com os blocos de dados restantes para recriar qualquer bloco único ausente, desaparecido porque uma unidade falhou. A inovação do RAID5 em relação ao RAID3 e RAID4 é que a paridade é distribuída em round robin para que possa haver leitura independente de diferentes blocos das diversas unidades. É por isso que o RAID5 se tornou mais popular que o RAID3 e o RAID4, que devem ler de forma síncrona o mesmo bloco de todas as unidades juntas. Portanto, se a unidade 2 falhar, os blocos 1,2,4,5,6 e 7 serão blocos de dados nesta unidade e os blocos 3 e 8 serão blocos de paridade nesta unidade. Isso significa que a paridade na Unidade5 será usada para recriar o bloco de dados do Disco2 se o bloco 1 for solicitado antes que uma nova unidade substitua a Unidade2 ou durante a reconstrução da nova substituição da Unidade2. Da mesma forma, a paridade no Drive1 será usada para reparar o bloco 2 e a paridade no Drive3 reparará o bloco4, etc. Para o bloco 2, todos os dados estão seguros nas unidades restantes, mas durante a reconstrução da substituição do Drive2, um novo bloco de paridade será calculado a partir de os dados do bloco 2 e serão gravados no Drive 2.

A PENALIDADE DE LEITURA-ESCRITA RAID 5:Agora, quando um bloco de disco é lido da matriz, o software/firmware RAID calcula qual bloco RAID contém o bloco de disco, em qual unidade o bloco de disco está e qual unidade contém o bloco de paridade para esse bloco RAID e lê SOMENTE a unidade de dados. Ele retorna o bloco de dados. Se você modificar posteriormente o bloco de dados, ele recalculará a paridade subtraindo o bloco antigo e adicionando a nova versão e, em duas operações separadas, ele gravará o bloco de dados seguido pelo novo bloco de paridade. Para fazer isso, ele deve primeiro ler o bloco de paridade de qualquer unidade que contenha a paridade desse bloco de distribuição e reler os dados não modificados do bloco atualizado da unidade original.Essa leitura-leitura-gravação-gravação é conhecida como penalidade de gravação do RAID5, pois essas duas gravações são sequenciais e síncronas, a chamada do sistema de gravação não pode retornar até que a releitura e ambas as gravações sejam concluídas, por segurança, portanto, a gravação no RAID5 é até 50% mais lenta do que RAID0 para uma matriz com a mesma capacidade. (Alguns softwares RAID5 evitam a releitura, mantendo uma cópia não modificada do bloco original na memória.)

RAID10 é uma das combinações possíveis de RAID1 (espelhamento) e RAID0 (striping). Costumava haver confusão sobre o significado de RAID01 ou RAID10 e diferentes fornecedores de RAID os definiam de maneira diferente. Cerca de cinco anos atrás, propus a seguinte linguagem padrão que parece ter se consolidado. Quando N pares espelhados são distribuídos juntos, isso é chamado de RAID10 porque o espelhamento (RAID1) é aplicado antes da distribuição (RAID0). A outra opção é criar dois conjuntos de stripe e espelhá-los um no outro, isso é conhecido como RAID01 (porque o RAID0 é aplicado primeiro). Em um sistema RAID01 ou RAID10, cada bloco de disco é completamente duplicado no espelho de sua unidade. Em termos de desempenho, tanto o RAID01 quanto o RAID10 são funcionalmente equivalentes. A diferença ocorre durante a recuperação, onde o RAID01 sofre alguns dos mesmos problemas que descreverei, afetando o RAID5, enquanto o RAID10 não.

Agora, se uma unidade na matriz RAID5 morrer, for removida ou desligada, os dados serão retornados lendo os blocos das unidades restantes e calculando os dados ausentes usando a paridade, assumindo que a unidade extinta não é a unidade de bloco de paridade para esse RAID bloquear. Observe que são necessárias 4 leituras físicas para substituir o bloco de disco ausente (para uma matriz de 5 unidades) para quatro em cada cinco blocos de disco, levando a uma degradação de desempenho de 64% até que o problema seja descoberto e uma nova unidade possa ser mapeada para começar recuperação. O desempenho é ainda mais prejudicado durante a recuperação porque todas as unidades estão sendo acessadas ativamente para reconstruir a unidade substituta (veja abaixo).

Se uma unidade na matriz RAID10 morrer, os dados serão retornados de sua unidade espelhada em uma única leitura, com apenas uma pequena redução de desempenho (6,25% em média para uma matriz de 4 pares como um todo) quando dois blocos não contíguos forem necessários do par danificado (já que os dois blocos não podem ser lidos em paralelo em ambas as unidades) e nenhum outro.

Começamos a ter uma ideia do que está acontecendo e por que não gosto do RAID5, mas, como dizem nos comerciais informativos noturnos, há mais.

O que há de errado além de um pouco de desempenho que não sei se estou perdendo?

OK, isso nos leva à última questão do dia: Qual é o problema com o RAID5? Ele recupera uma unidade com falha, certo? Então as gravações são mais lentas, não escrevo o suficiente para me preocupar com isso e o cache também ajuda muito, tenho MUITO cache! O problema é que, apesar da confiabilidade aprimorada das unidades modernas e dos códigos de correção de erros aprimorados na maioria das unidades, e mesmo apesar dos 8 bytes adicionais de correção de erros que a EMC coloca em cada bloco de disco da unidade Clariion (se você tiver sorte o suficiente para usar sistemas EMC ), é mais do que possível que uma unidade fique instável e comece a devolver lixo. Isso é conhecido como falha parcial de mídia. Agora os controladores SCSI reservam várias centenas de blocos de disco para serem remapeados para substituir setores desbotados por setores não utilizados, mas se a unidade estiver funcionando, eles não durarão muito e acabarão e o SCSI NÃO relata erros corrigíveis de volta ao sistema operacional! Portanto, você não saberá que a unidade está ficando instável até que seja tarde demais e não haja mais setores de substituição e a unidade comece a retornar lixo. [Observe que as unidades IDE/ATA recentemente populares (TMK) não incluem remapeamento de setores defeituosos em seu hardware, portanto o lixo é retornado muito mais cedo.] Quando uma unidade retorna lixo, já que o RAID5 NUNCA verifica a paridade na leitura (RAID3 e RAID4 faça BTW e ambos tenham melhor desempenho para bancos de dados do que RAID5 para inicializar) quando você gravar o setor de lixo de volta, a paridade de lixo será calculada e sua integridade RAID5 será perdida! Da mesma forma, se uma unidade falhar e uma das unidades restantes estiver instável, a substituição será reconstruída com lixo, propagando também o problema para dois blocos em vez de apenas um.

Preciso de mais? Durante a recuperação, o desempenho de leitura de um array RAID5 é degradado em até 80%. Alguns arrays avançados permitem configurar a preferência mais voltada para recuperação ou desempenho. No entanto, isso aumentará o tempo de recuperação e aumentará a probabilidade de perda de uma segunda unidade no array antes da conclusão da recuperação, resultando em perda catastrófica de dados. O RAID10, por outro lado, recuperará apenas uma unidade de 4 ou mais pares, com o desempenho APENAS das leituras do par em recuperação degradado, fazendo com que o desempenho atinja o array em geral apenas cerca de 20%! Além disso, não há tempo de cálculo de paridade usado durante a recuperação - é uma cópia direta dos dados.

E aquela coisa de perder uma segunda unidade? Bem, com o RAID10 não há perigo, a menos que o espelho que está se recuperando também falhe e isso é 80% ou mais menos provável do que qualquer outra unidade em uma matriz RAID5 falhar! E como a maioria das falhas de múltiplas unidades são causadas por defeitos de fabricação não detectados, você pode tornar até mesmo essa possibilidade muito pequena, certificando-se de espelhar cada unidade com uma de número de lote de fabricante diferente. ("Oh", você diz, "este cenário não parece provável!" Pooh, perdemos 50 unidades em duas semanas quando um lote de 200 unidades IBM começou a falhar. A IBM descobriu que o único lote de unidades teria seus rolamentos de eixo congelou depois de tantas horas de operação Felizmente, em parte devido ao RAID10 e em parte a um esforço hercúleo dos técnicos da DG e de nosso próprio pessoal durante 2 semanas, nenhum dado foi perdido NO ENTANTO, um sistema de arquivos RAID5 foi uma perda total após uma segunda unidade falhar. durante a recuperação. Felizmente, tudo estava gravado.

Conclusão? Para segurança e desempenho, prefira o RAID10 primeiro, o RAID3 em segundo, o RAID4 em terceiro e o RAID5 por último! A razão original para as especificações RAID2-5 era que o alto custo dos discos estava tornando o espelhamento RAID1 impraticável. Isso não é mais o caso! As unidades têm preço de commodity, mesmo as unidades maiores e mais rápidas são mais baratas em dólares absolutos do que as unidades eram naquela época e o custo por MB é uma pequena fração do que era. O RAID5 ainda faz algum sentido? Obviamente acho que não.

Para colocar as coisas em perspectiva: se uma unidade custa US$ 1.000 (e a maioria é muito mais barata que isso), então mudar de um array RAID10 de 4 pares para um array RAID5 de 5 unidades economizará 3 unidades ou US$ 3.000. Qual é o custo das horas extras, do desgaste para os técnicos, DBAs, gerentes e clientes, mesmo que seja um susto de recuperação? Qual é o custo da redução do desempenho e possivelmente da redução da satisfação do cliente? Finalmente, qual é o custo da perda de negócios se os dados forem irrecuperáveis?

Copiado do site da BAARF - mas vale a pena notar com certeza.

Use RAID 10 sempre que possível - gaste no disco extra.

Responder3

Supondo que os aplicativos não estejam sendo executados e apenas hospedem os arquivos do sistema operacional, um RAID 1 deve ser perfeitamente adequado.

Se estiver executando aplicativos adicionais no volume do sistema operacional, você precisará levar a carga em consideração.

Responder4

Se a velocidadeea confiabilidade é importante, o RAID0+1 deve oferecer o melhor desempenho (sem paridade para calcular) com capacidade de sobrevivência em até duas falhas de unidade. Mas nem todos os controladores suportam isso.

informação relacionada