ZFS - O RAIDZ-1 é realmente tão ruim assim?

15

Eu tenho um servidor NAS com 4 unidades WD RE4-GP de 2TB em uma configuração RAID10 (4TB utilizável). Estou ficando sem espaço (< 1TB de espaço útil restante). Eu tenho $ 0 para gastar em unidades / recintos maiores / mais.

Eu gostei do que li sobre os recursos de integridade de dados do ZFS, que - sozinhos - são suficientes para eu mudar do RAID10 existente no XFS (software). Então eu li sobre a implementação superior de RAID5 do ZFS, então eu pensei que poderia até obter até 2TB de espaço mais utilizável na barganha usando RAIDZ-1.

No entanto, continuo lendo mais e mais postagens dizendo praticamente para nunca usar RAIDZ-1. Somente o RAIDZ-2 + é confiável o suficiente para lidar com falhas no "mundo real". Claro, no meu caso, o RAIDZ-2 não faz nenhum sentido. Seria muito melhor usar dois vdevs espelhados em um único pool (RAID10).

Eu estou louco querendo usar o RAIDZ-1 para drives de 4x 2TB?

Devo usar apenas um conjunto de dois vdevs espelhados (essencialmente RAID10) e esperar que a compactação me dê espaço extra suficiente?

De qualquer forma, planejo usar a compactação. Eu tenho apenas 8GB de RAM (maxed), então dedup não é uma opção.

Isso estará em um servidor FreeNAS (prestes a substituir o sistema operacional atual do Ubuntu) para evitar os problemas de estabilidade do ZFS-on-Linux.

    
por Andrew Ensley 07.10.2014 / 17:42

3 respostas

18

A afirmação de que o RAIDZ-1 não é "bom o suficiente para falhas do mundo real" é porque você provavelmente terá um erro de mídia latente em um de seus discos sobreviventes quando a hora da reconstrução chegar. A mesma lógica se aplica ao RAID5.

Antes de entrarmos em detalhes, considere seu caso de uso. Você está armazenando fotos, rasgos de MP3 e DVD? Se assim for, você pode não se importar se perde permanentemente um único bloco do array. Por outro lado, se são dados importantes, isso pode ser um desastre.

O ZFS atenua essa falha até certo ponto. Se um dispositivo RAID5 não puder ser reconstruído, você está praticamente sem sorte; copie seus dados (restantes) e reconstrua a partir do zero. Com o ZFS, por outro lado, ele reconstruirá todos os arquivos, exceto o mau, e permitirá que o administrador "limpe" os erros. Você perderá um arquivo / parte de um arquivo, mas não perderá a matriz inteira. E, claro, a verificação de paridade do ZFS significa que você será informado de forma confiável de que há um erro. Caso contrário, acredito que seja possível (embora improvável) que vários erros resultem em uma reconstrução aparentemente bem-sucedida, mas que devolva dados incorretos.

Como o ZFS é uma " violação de camadas excessiva ", ele também sabe quais áreas não têm dados sobre eles e podem ignorá-los na reconstrução. Portanto, se sua matriz está meio vazia, você tem metade da chance de ter um erro de reconstrução.

Você pode reduzir a probabilidade desses tipos de erros de recriação em qualquer nível de RAID fazendo " zpool scrubs " ou " O mdadm verifica " da sua matriz. Existem comandos / processos semelhantes para outros RAIDs; por exemplo, os cartões RAID LSI / dell PERC chamam isso de "leitura de patrulha". Estes vão ler tudo, o que pode ajudar as unidades de disco a encontrar setores em falha, e redesigná-los, antes que se tornem permanentes. Se eles forem permanentes, o sistema RAID (ZFS / md / raid card / whatever) pode reconstruir os dados a partir da paridade.

Mesmo se você usar RAIDZ2 ou RAID6, scrubs regulares são importantes.

Uma observação final - o RAID de qualquer tipo não é um substituto para backups - ele não protege você contra exclusão acidental, ransomware etc. Embora os instantâneos comuns do ZFS possam fazer parte de uma estratégia de backup.

    
por 08.12.2014 / 23:57
3

Há um pouco de equívoco no trabalho aqui. Muitos dos conselhos que você está vendo são baseados em uma suposição que pode não ser verdadeira. Especificamente, a taxa de erro de bits irrecuperável da sua unidade.

Um disco barato de "usuário doméstico" tem 1 por 10 ^ 14 taxa de erro irrecuperável.

link

Isso está em um nível em que você está falando de uma probabilidade significativa de um erro irrecuperável durante uma reconstrução de RAID e, portanto, você não deve fazê-lo. (Um cálculo rápido e sujo sugere que 5x discos de 2 TB RAID-5 terão, na verdade, 60% de chance disso)

No entanto, isso não é verdadeiro para unidades mais caras: link

1 por 10 ^ 16 é 100x melhor - o que significa que 5x 2 TB é < 1% de chance de falha na reconstrução. (Provavelmente menos, porque para o uso corporativo, os spindles de 600GB geralmente são mais úteis).

Então, pessoalmente - eu acho que tanto o RAID-5 quanto o RAID-4 ainda são eminentemente utilizáveis, por todas as razões que o RAID-0 ainda é bastante comum. Não se esqueça - o problema com o RAID-6 é a grande penalidade de gravação. Você pode atenuar parcialmente isso com muito cache, mas você ainda tem alguma dor embutida, especialmente quando você está trabalhando com unidades lentas em primeiro lugar.

E, mais fundamentalmente - NUNCA confie em seu RAID para obter total resiliência. Você perderá os dados com mais freqüência para um 'oops' do que as falhas de um drive, então você PRECISA de uma estratégia de backup decente se você se importa com seus dados de qualquer maneira.

    
por 23.12.2014 / 17:49
2

Hmmm, algumas informações ruins aqui. Para 4 discos, realmente não há nada errado com o XFS. Tenho a tendência de evitar o ZFS RAIDZ por motivos de desempenho e capacidade de expansão (baixas leituras / gravações, não pode ser expandido). Use espelhos do ZFS, se puder. No entanto, com 4 discos e nenhum lugar para colocar seu sistema operacional, você perderá muita capacidade ou terá que passar por jogos de particionamento estranhos para ajustar seu sistema operacional e dados nos mesmos quatro discos.

Eu provavelmente não recomendaria o ZFS para seu caso de uso. Não há nada de errado com o XFS aqui.

    
por 07.10.2014 / 18:03