ZFS com dois discos: isso faz sentido? qual é a configuração mais segura?

16

Estou no processo de planejar um servidor de arquivos para uso privado (pequenas quantidades de vários tipos de dados, mas principalmente fotos, vídeos, músicas). Provavelmente vou usar o NAS4free / FreeNAS e quero experimentar o ZFS.

Meu foco não é a velocidade, é a confiabilidade e a segurança dos dados. No entanto, eu quero manter as coisas 'baratas', então quero executar o ZFS espelhado entre dois discos (moda 'raid 1'). Vou comprar uma placa do consumidor, então nenhum controlador de invasão de hardware. Até agora, estou pensando em usar o comando 'espelho' do ZFS para esta ou qualquer outra opção correspondente que o FreeNAS fornece.

Ao ler sobre este tópico, vejo principalmente pessoas usando três discos e depois o RAIDZ-1, o que os torna imunes no caso de um disco falhar. Até agora, o que ainda não entendi é qual é o problema de ter o ZFS espelhado entre apenas dois discos? Como vou notar quando um disco falha? Qual é a estratégia de failover? Acabei de receber uma mensagem de que o sistema de arquivos não é utilizável, porque o disco A está falhando e que devo substituí-lo agora ? Espero que se possa obter um benefício real ao executar dois discos espelhados do que apenas usar um.

Dado dois discos equivalentes, qual o modo ZFS que você executados em?

Jan-Philip Gehrcke
fonte

Respostas:

10

Para dois discos, você deseja o mirrormodo. Isso fará com que as unidades sejam imagens exatas uma da outra. Se o ZFS tentar ler um bloco de dados da unidade e falhar na verificação, o ZFS tentará automaticamente repará-lo. Se o reparo falhar, ele será lido na outra unidade e marcado como defeituoso. Você deve receber uma notificação de que uma unidade falhou, mas o sistema de arquivos ainda será utilizável. Você obtém algumas melhorias na velocidade de leitura, mas nenhuma melhoria na velocidade de gravação. Contanto que você tenha pelo menos uma unidade de um conjunto de espelhos, terá todos os seus dados.

Com raidz, você precisa de pelo menos três unidades. Eles funcionam de forma semelhante ao RAID5, onde (efetivamente) uma unidade armazena informações de recuperação e a outra unidade armazena dados. Ele pode lidar com qualquer falha na unidade, desde que apenas uma unidade falhe por vez .

raidz2e raidz3são os mesmos que raidz, exceto que eles podem lidar com duas ou três unidades com falha, respectivamente. Porém, eles exigem mais unidades para operar e reduzir a capacidade efetiva.

Darth Android
fonte
Obrigado pela clarificação. Portanto, com o RAIDZ incorporando três unidades, existe uma capacidade líquida maior do que uma das unidades, sim? Seria dois tamanhos de disco, neste caso?
Jan-Philip Gehrcke
Jan-PhilipGehrcke Sim. Supondo que as unidades tenham o mesmo tamanho, uma matriz de espelhos tem o mesmo tamanho utilizável que 1 unidade (não importa quantos discos você use), enquanto o RAIDZ possui unidades N-1 de espaço útil. (Três unidades oferecem duas unidades de espaço utilizável, cinco unidades oferecem quatro unidades de espaço utilizável, etc.).
Darth Android
2
"Com o raidz, você precisa de pelo menos três unidades." - Não é verdade para raidz (paridade única). De acordo com os documentos do ZFS, "Você precisa de pelo menos dois discos para uma configuração RAID-Z de paridade única e pelo menos três discos para uma configuração RAID-Z de paridade dupla".
precisa
3

O espelho ZFS é o caminho a percorrer se você tiver dois discos semelhantes e procurar confiabilidade e segurança de dados.

O RAIDZ é uma solução mais barata, pois uma porcentagem menor de armazenamento é dedicada à segurança dos dados, mas o espelhamento é mais rápido.

Sobre detecção e manipulação de falhas, você precisa monitorar seu pool ( zpool status) para saber se há erros.

Você pode esfregar regularmente sua piscina para verificar sua saúde ( zpool scrub poolname)

O ZFS corrige automaticamente aqueles que podem, mas, se um disco inteiro falhar, você precisará adicionar um novo disco ao pool para substituir o disco quebrado. A piscina será então resilvering automaticamente o novo disco (ou seja, copiar os dados do lado do espelho saudável).

Como não estou familiarizado com o NAS4Free, sugiro apenas os comandos da CLI a serem usados. A GUI deve fornecer um front end para a maioria ou todos eles.

Observe que os níveis de NAS4Free Raid (0/1/5 e combinação) são diferentes de listras / espelho / raidz e combinação do ZFS. Eu sugeriria usar apenas o último, ou seja, não há sentido em criar um pool ZFS em um volume composto por um software RAID 1 (espelho). Você perderia muitos recursos que o ZFS fornece.

jlliagre
fonte
Obrigado pela sua contribuição. Looks como NAS4Free suporta as principais características do ZFS pools de armazenamento, tais como espelho: wiki.nas4free.org/...
Jan-Philip Gehrcke
Espero que sim. Eu só estava advertindo-lhe para não usar o espelhamento tradicional em vez disso: wiki.nas4free.org/...
jlliagre
0

raid0 não é espelho, raid1 é e você pode usar 2 discos para configurar o raid1, que pode tolerar um disco com falha. O raid0 não pode tolerar nenhuma falha no disco.

no entanto, você precisa de pelo menos 3 discos para o raidz.

johnshen64
fonte