Inicie um zpool RAFS do ZFS com dois discos e adicione um terceiro?

13

Digamos que eu tenho dois HDDs de 2 TB e quero iniciar meu primeiro zpool ZFS. É possível criar um RAIDZ com apenas esses dois discos, fornecendo 2 TB de armazenamento utilizável (se bem entendi) e depois adicionar outro HDD de 2 TB, elevando o total para 4 TB de armazenamento utilizável. Estou correto ou precisa haver três HDDs para começar?

A razão pela qual pergunto é que já tenho uma unidade de 2 TB que estou usando e cheia de arquivos. Quero fazer a transição para um zpool, mas prefiro comprar apenas mais duas unidades de 2 TB, se puder. Pelo que entendi, o RAIDZ se comporta de maneira semelhante ao RAID5 (com algumas diferenças importantes, eu sei, mas em termos de capacidade). No entanto, o RAID5 requer mais de 3 unidades. Eu queria saber se RAIDZ tem o mesmo requisito.

Se for necessário, posso comprar as três unidades e apenas começar por aí, adicionando depois a quarta, mas se eu puder começar com duas e passar para três, isso me economizará US $ 80.

Comunidade
fonte

Respostas:

13

Um método que algumas pessoas usam, mas que não é recomendado:

  1. Crie um pool com 2 unidades e um arquivo esparso (do tamanho virtual certo para corresponder às outras unidades) e, em seguida, desligue imediatamente o arquivo esparso. Isso criará um pool RAID-Z1 degradado com duas unidades de capacidade e sem redundância.
  2. Copie dados para o conjunto degradado.
  3. Substitua o arquivo esparso off-line pelo terceiro disco e resilver.

O número de "dispositivos" com os quais um vdev é criado é permanente após a criação. Portanto, você deve ter três "discos" no momento da criação. Este método fornece uma maneira de criar um pool RAID-Z1 degradado e depois restaurar a redundância ausente.

Este método não é recomendado porque, enquanto a cópia e a 3ª unidade estão ausentes, não há redundância / paridade. Mas pode funcionar.

Holger G
fonte
1
Obrigado por esta resposta. Nem sempre estamos procurando a solução recomendada. Às vezes, estamos procurando QUALQUER solução. Um link para como fazer o que você explica seria bom
jsaddwater
Infelizmente, não consigo criar um arquivo esparso de 1 TB em uma unidade de 250 GB; portanto, ao criar uma matriz RAIDZ com 2 unidades de 1 TB e um arquivo esparso (10 GB), a matriz se torna 3x10 GB. Depois de remover o arquivo esparso, não pude aumentar a matriz porque não consegui copiar os dados da terceira unidade para uma pequena matriz de 3x10 GB e a matriz não pode ser aumentada em estado degradado. Captura 22.
jsaddwater
6

Infelizmente, no momento não é possível :

Não é possível adicionar um disco como uma coluna a um RAID-Z, RAID-Z2 ou RAID-Z3 vdev. Esse recurso depende da funcionalidade de reescrita do ponteiro de bloco que será adicionada em breve. No entanto, é possível criar um novo RAID-Z vdev e adicioná-lo ao zpool.

O RAID-Z1 pode funcionar com apenas 2 unidades, mas claramente isso não é muito útil se unidades adicionais não puderem ser adicionadas posteriormente. O RAID-Z (como o RAID 5) se torna mais eficiente, em termos de espaço de armazenamento utilizável, mais unidades são usadas.

sblair
fonte
4
Aqui estamos três anos depois, e a página da Wikipedia ainda diz "deve ser adicionada em breve" ... :(
Icydog
2
@Icydog real soon now ;-)
jlliagre
e agora? :)
black_puppydog 01/01
3

O RAID-Z1 pode ser usado com apenas dois discos, mas não há nenhuma vantagem em relação ao espelhamento - a menos que seus dois discos tenham tamanhos de setor diferentes, para que não possam ser espelhados (por exemplo: um novo disco de setor 4K e um 512 mais antigo disco de bytes).

Como já foi dito, a adição de um dispositivo a um RAID-Z não é suportada. Se você deseja adicionar um disco a um RAID-Z existente, a única maneira é fazer backup de seus dados em outro lugar, destruir o pool e recriá-lo com o disco extra adicionado e restaurar seus dados.

jlliagre
fonte
3

Como não tem "reputação" suficiente para comentar, coloque isso como uma resposta separada

RE: sugestão de Holger G

embora eu concorde que isso NÃO é seguro ... Encontrei esse segmento procurando uma maneira de ir de RAIDZ1 para RAIDZ2 em uma data posterior, quando uma unidade extra puder ser adquirida.

Portanto, a sugestão de Holgers funciona muito bem para mim - crie um RAIDZ2 com um dev como arquivo esparso, desconecte o dispositivo de arquivo e tenha o RAIDZ1 efetivamente por um tempo e adicione um dispositivo real em algum momento para dobrar a redundância

Também funciona para a situação em que uma unidade mantém os dados que devem ser copiados para o novo ataque, como o OP.

Tjunkie
fonte
O RAIDZ2 é bobo - a única situação, quando a configuração pode ser útil, é uma falha correlacionada de duas unidades. Em vez de usar dois discos para se proteger, proteja-se contra essas falhas usando discos com a mesma capacidade de diferentes fabricantes e / ou modelos diferentes.
Mikhail T.
@MikhailT. - Embora o uso de diferentes fabricantes seja um bom conselho, é terrível dizer que o RaidZ2 é bobo; uma reconstrução provavelmente matará outra unidade.
Antiduh
a reconstrução provavelmente matará outra unidade - somente se todas as unidades forem idênticas à que já falhou e, portanto, sofrer uma falha correlacionada . E, nesse caso, ter duas unidades também não ajudará - é provável que todas falhem ao mesmo tempo. Se as falhas de unidade esperadas forem independentes , o sacrifício de vários discos para redundância não comprará uma melhoria perceptível na confiabilidade.
Mikhail T.
0

Apenas um ponto para esclarecer um pouco:

  • Se um disco pode falhar sem saber previamente quando falhará ... por que dois não podem falhar ao mesmo tempo? ou três ou quatro ou cinco, etc.?

Mas, pense nessa outra situação:

  1. Um disco falhou
  2. Você coloca um novo e deixa 'reconstruir' para ficar seguro
  3. Enquanto essa 'reconstrução' foi feita (talvez algumas horas), outro disco falha

Você perdeu tudo !!! Essa é a principal razão para tolerar uma falha simultânea de dois discos.

Mas se você é realmente paranóico (como eu), você usará apenas Stripping, nenhum outro nível de RAID.

Eu estou louco? Não, claro ... não me importo que um disco falhe e perca todos os dados! Eu realmente não vou perder nada só porque sou realmente paranóico.

Meu esquema paranóico:

  • ZFS com strip (discos 2x, 3x, 4x ... ou 10x), apenas para ajustar a largura de banda máxima do barramento (sata III, usb 3.1 gen 2, etc)
  • E outros cinco ZFS semelhantes (sem energia, por isso não pode ser danificado)

Como usar todos esses ZFS:

  • Tenha apenas dois deles ao mesmo tempo (apenas para sincronizar as mudanças) ... como um mestre com cinco escravos

Ponto de vista paranóico:

  • Se um ZFS falhar ... como ter sido atingido por uma tempestade, queimado, roubado, etc ... ainda tenho cinco cópias a mais em locais diferentes (banco, bunker, nuvem de internet, casa de amigos, casa de férias etc.)

Para sincronizar alguns deles ... preciso carregar comigo um ZFS e fazer a sincronização no outro local físico / país / etc ... para usar um desses escravos.

Pense quando eu falo sobre HDDs em um ZFS, em outro ZFS pode ser 3.1 Gen2 64GiB USB sticks! Não há necessidade de tamanho, tipo, etc. idênticos

Ponto de vista realmente paranóico.

Para aqueles que não são tão paranóicos, e se eles conseguem perder tudo ... há níveis de RaidZ ... eu prefiro 'espelhar' por mim mesmo.

Outra vantagem das sincronizações manuais é a sua própria falha:

  • Você tem um hipotético perfeito nunca falha no sistema ZFS, mas decide excluir um arquivo ... alguns dias após descobrir que perdeu o arquivo que deseja excluir e excluir um que não queria (por erro humano) .. você está sem sorte, a menos que tenha um backup

Então ... de novo ... se você precisar de um backup, por que não acelerar o ZFS no máximo apenas distribuindo? ... você ainda precisará fazer o backup, afinal.

Bem, a resposta pode ser:

  • Partição do sistema para o sistema online a24h

Para partições de dados, não vejo a necessidade de níveis RaidZ, em vez de ter um clone USB ZFS externo pronto para ser conectado assim que o ZFS principal em uso falhar ... basta desmontar o ponto principal do ZFS e montar o outro ZFS bom no lugar ... depois, com outra máquina, recrie o ZFS off-line que foi danificado.

Se você tiver dois computadores, terá o que precisa 7x24h com apenas alguns segundos (tempo de inicialização) do tempo de inatividade.

Para usuários domésticos que desejam que suas fotos fiquem seguras ... use mais de dois ZFS e tenha pelo menos um ou dois deles nunca conectados ao mesmo tempo que os demais. Paranoico? De modo nenhum.

É só que eu aprendo da maneira mais difícil como as coisas podem dar realmente errado!

Só para esclarecer ... o que aconteceu ...

  1. Eu estava usando o PC normalmente
  2. Os dados estavam começando a falhar
  3. Tirei os HDDs e coloquei os que estavam OK
  4. Os dados neles também foram danificados em menos de dez segundos
  5. Perdi todos os meus dados (não totalmente desde que eu era um pouco paranóico e tenho BackUp em mídia de DVD)

O problema estava realmente no controlador (integrado na placa principal), não nos discos ... estava alterando os dados nas operações de leitura / gravação.

Desde então ... meus dados não estão mais em discos sata internos ... apenas em gabinetes externos USB 3.1 Gen 2 eu posso conectar e desconectar (cada disco em seu próprio gabinete) ... e quando um falha ... Eu testei todas as coisas antes de conectar ao PC qualquer coisa com dados reais ... RAM, processador, porta USB, etc ... com um gabinete USB fictício para testar padrões ... se estiver tudo bem ... então eu testo o disco com falha ... se funciona em outro gabinete ou não, em outro PC ou não, etc ... para realmente saber quem está causando a falha ... realmente paranóico, eu sei!

Mas aprendendo com a experiência:

  • Nunca confie que uma falha no disco seja causada pelo próprio disco ... teste-o ... pode ser o controlador, os cabos, a fonte de alimentação, etc.
  • Ou pior, poderia ser a RAM

Falando sobre RAM, eu tinha um PC não tão antigo (processador de 64 bits baseado em BIOS) que se (pense em três módulos de RAM idênticos, chame-os de A, B e C):

  • eu coloquei A no PC funciona perfeitamente (não importa em qual dos quatro slots)
  • eu coloquei B no PC funciona perfeitamente (não importa em qual dos quatro slots)
  • Coloquei C no PC funciona perfeitamente (mas apenas em um dos quatro slots, na outra árvore, ele causa muitas falhas, BSODs, etc.)
  • eu coloquei A & B causa muitas falhas, BSODs, etc
  • eu coloquei o A&C no PC funciona perfeitamente (não importa em qual dos quatro slots)
  • eu coloquei B & C no PC funciona perfeitamente (não importa em qual dos quatro slots)
  • eu coloquei A & B & C no PC que causa muitas falhas, BSODs, etc

Se eu testar esses módulos em outro PC, todos eles funcionarão muito bem, sem problemas, sem defeitos etc.

As coisas podem ficar realmente loucas ... e se você não testar todas as combinações, não poderá saber o que está falhando ... sim, realmente paranóico para testar todas as combinações de três módulos de ram em quatro slots ... mas o que eu tinha descoberto me deixou cego ... o módulo que falha sozinho funciona perfeito se outro estiver presente, mas não se houver outros dois ... sim, eu também testei com outros três e falhei!

Ah, sim, todas da mesma marca, tipo, etc ... idênticas ... a única maneira de diferenciá-las é um adesivo que eu coloquei nelas para tal! E sim, comprados ao mesmo tempo, eles vieram na mesma caixa de plástico trancada de fabricação.

Às vezes, uma falha no ZFS pode ser causada pela RAM ... então, não importa quantos níveis de RaidZ você tenha ... você pode perder tudo.

Ah, quase esqueça ... use memória ECC, caso contrário, o ZFS não pode ser confiável! E não use nenhum HDD com cache interno, internat RAID, etc., a menos que seja projetado para gravar no pedido enviado (ou fazer todos eles em um corte de energia).

Eu só uso HDDs com capacidade de energia interna suficiente para gravar todo o seu cache nas placas após uma perda abrupta de energia!

Todos esses pontos / fraquezas me deixaram com uma conclusão:

  • Melhor acelerar as coisas e fazer seus próprios backups
  • Tenha cerca de 100% de cópias off-line e sem energia
  • Tenha algo pronto para receber energia e substituir a peça com falha

É por isso que eu tenho> 2 PCs com> 10 HDDs USB (5 cópias ZFS * 3 HDDs despojados) ... eu tenho o melhor de ... segurança e velocidade! Mas eu recebo a pior parte ... preciso sincronizar todos eles periodicamente ... mas a segurança dos dados é a parte mais importante! também eu não quero esperar muito por essas sincronizações (aka, striping vem no trabalho).

E se uma faixa de 3 * HDDs falhar ... eu posso testar qual deles falhou desses três por algumas horas / dias / semanas ... enquanto eu tenho outra cópia do ZFS On-Line e trabalhando ... depois de ter certeza de que o outro dois estão OK, eu compro um novo (talvez 30 a 45 dias para chegar) e recrio esses ZFS de 3 * HDDs e coloco dados nele para ter a quinta cópia novamente.

Não é nada barato! Mas não como preço do data center principal, é claro ... e sem conta de luz (a maioria dos HDs não tem energia, apenas 3 ou 6 ao mesmo tempo).

Espero que alguém ache a idéia útil (eu a uso diariamente).

Claudio
fonte