ZFS: espelho vs. RAID-Z

12

Estou planejando criar um servidor de arquivos usando o OpenSolaris e o ZFS que forneçam dois serviços principais - seja um destino iSCSI para máquinas virtuais XenServer & ser um servidor de arquivos doméstico geral. O hardware que eu estou vendo inclui 2x controladores SATA de 4 portas, 2 unidades de inicialização pequenas (uma em cada controlador) e 4 unidades grandes para armazenamento. Isso permite uma porta livre por controlador para atualizar o array no caminho.

Onde estou um pouco confuso é como configurar as unidades de armazenamento. Para desempenho, o espelhamento parece ser rei. Eu estou tendo dificuldade em ver qual seria o benefício do uso do RAIDZ sobre o espelhamento. Com essa configuração, vejo duas opções - dois pools espelhados em uma faixa ou RAIDZ2. Ambos devem proteger contra falhas de 2 unidades e / ou uma falha de controlador ... o único benefício do RAIDZ2 seria que qualquer 2 unidades possam falhar. O armazenamento deve ser de 50% da capacidade em ambos os casos, mas o primeiro deve ter um desempenho muito melhor, certo?

A outra coisa que estou tentando entender é o benefício dos arrays espelhados com mais de dois dispositivos. Para a integridade dos dados, qual seria o benefício de um RAIDZ em um espelho de três vias? Como o ZFS mantém a integridade do arquivo, o que o RAIDZ traz para a tabela ... as verificações de integridade do ZFS negam o valor da paridade do RAIDZ?

    
por John Clayton 09.09.2009 / 17:32

2 respostas

12

A resposta simples é que, para espelhar algo, não é preciso quase nenhum poder de processamento - ele simplesmente grava no disco uma segunda vez. Para o RAID-Z2, você precisa calcular um bloco de paridade inteiramente novo, que, embora pequeno, pode sobrecarregar a CPU quando você precisa escrever grandes quantidades de dados rapidamente.

O espelhamento é sempre a solução preferencial para dados de alta velocidade, se for apenas armazenamento em massa sem velocidades de gravação rápidas, o RAID-Z2 é uma boa alternativa que permite que qualquer duas unidades morram como você alude a.

A outra vantagem é que os pools espelhados podem ser expandidos com mais dispositivos espelhados - enquanto um RAID-Z2 não pode ser expandido - embora mais armazenamento RAID-Z2 possa ser adicionado ao pool, serão dois pools de armazenamento RAID-Z2 concatenado (com efeito) em vez de dividir igualmente todo o armazenamento e distribuído.

    
por 09.09.2009 / 17:38
16

O RAID-Z elimina a maior parte da penalidade de gravação e os problemas de integridade de dados dos quais os volumes RAID 5/6 sofrem, ao custo de algum tempo de CPU. Normalmente, os sistemas têm ciclos de CPU de sobra, portanto, gastar o tempo de CPU para melhorar o desempenho de E / S e a integridade de dados é um bom compromisso em comparação ao espelhamento.

Aqui está uma explicação detalhada do RAID-Z que pode responder a outras perguntas.

Além disso, lembre-se de que RAID é uma solução de tolerância a falhas . Você não implementa o RAID-Z2 para proteger contra perda de dados - você realiza backups ou replica para fazer isso. Você escolhe implementar RAID-Z2 vs. RAID-Z ou RAID-10 vs RAID-6 vs. RAID-5 para manter seus sistemas operacionais em caso de falha de hardware.

    
por 09.09.2009 / 18:38