gerenciando zfs + espelhamento

2

Tenho notado que os guias sobre zfs + redundância + desempenho tendem a enfatizar o espelhamento como uma boa opção, mas as informações de administração do zfs tendem a fornecer relativamente pouca informação sobre o gerenciamento de uma instalação espelhada em comparação com uma baseada no raidz.

Estou planejando meu pool do zfs migrando de discos espelhados no Windows. Minha configuração preferida sempre foi puramente espelhada e eu olhei para o zfs que eu gostaria de manter isso, e uso o espelhamento puro para redundância ao invés de RAIDZ. O ideal é que cada unidade permaneça legível de forma isolada, ou seja, para 6 discos os dados são efetivamente armazenados como (1+2+3 mirror) + (4+5+6 mirror) em vez de ((1+2 stripe) x 3 mirror) . Eu aprecio isso não seria muito eficiente e envolveria ter vários conjuntos / conjuntos de dados menores, mas ter perdido os dados antes, tem vantagens que eu valorizo em relação à eficiência. Também é provavelmente muito mais rápido na leitura e no resilvering, e muito mais flexível fisicamente.

Se eu quiser executar esse tipo de configuração, quais são as implicações do espelhamento em um vdevs de vdev vs espelhamento, e se o armazenamento for estendido no futuro, adicionando um conjunto de 3 novos discos, é melhor adicioná-los como um pool separado ou um vdev separado (ou 3 vdevs separados)?

    
por Stilez 20.05.2016 / 05:47

1 resposta

1

No ZFS você sempre tem redundância de qualquer tipo no nível vdev, você não pode ter isso no nível do pool .

Um vdev pode consistir em um único disco (1 disco), discos espelhados (2+ discos), faixa Z1 (2+ discos), faixa Z2 (3+ discos) ou faixa Z3 (4+ discos). Você pode então construir seus pools, onde cada pool é apoiado por 1+ vdevs, e você pode ter quantos pools desejar. Cada pool usa todos os vdevs de backup sem qualquer redundância (que é gerenciado no nível vdev) e perder um único vdev (não disco) significa que todo o pool é perdido.

Portanto, se você dividir seus pools, basicamente terá vários arrays RAID1 um ao lado do outro que são completamente separados - a perda de um pool não afeta os outros, mas você obtém um desempenho menor porque eles são todos RAID1 em vez de RAID10 .

A expansão também tem esse trade-off - se você aumentar seu pool único, ele ficará mais rápido (pelo menos para dados recém-gravados, não haverá reequilíbrio automático), mas sua chance de falha também aumenta.

Afora isso, há a questão se você quer ter 2-way ou 3-way espelhos para seus vdevs - 3-way é muito mais seguro (para ele apontar que 4-way é quase inútil), mas mais caro (precisando de mais discos ou com menos espaço). O 3-way também é um pouco mais rápido para as leituras, mas a velocidade de gravação não muda.

Portanto, é um trade-off entre custo, desempenho, segurança e facilidade de uso.

    
por 20.05.2016 / 10:02