ZFS: preparação para futuros acréscimos de unidade

7

Eu estou prestes a construir um sistema Solaris NAS, atualmente temos duas unidades e estamos planejando adicionar mais duas posteriormente (o HDD de nível corporativo de 2TB é um pouco caro!).

Qual é a melhor configuração para configurar essas unidades tendo em mente que eu quero expandir no futuro?

Eu estava pensando em espelhar as unidades e depois converter para raidz de alguma forma?

Será apenas um máximo de 4 unidades, as duas segundas serão compradas mais tarde.

Alguma idéia?

    
por Snowpoch 14.07.2010 / 20:21

3 respostas

6

O espelhamento é o caminho a seguir aqui. Ele permitirá que você adicione facilmente outros pares espelhados para estender seu volume existente. Sem tempo de inatividade, sem truques, basta adicionar mais discos e você está no seu caminho. A menos que você realmente precise dos 6TB de 4x2TB em RAIDZ, o 4TB de 4x2TB espelhado é uma aposta melhor. O espelhamento também tem o benefício de sobrecarga de CPU reduzida, melhor desempenho e recuperação mais fácil em caso de falha.

Mas, como as pessoas preferem viver no limite e economizar alguns dólares, aqui está como migrar seus dados de um espelho de duas unidades para uma configuração de quatro unidades de raidz:

  • Crie um espelho de 2 unidades zpool create mirror cXt1d0 cXt2d0 yourPool
  • Encha seus discos com dados
  • Compre unidades 3, 4 (mesmo tamanho das unidades 1, 2)
  • Respire fundo, você está prestes a perder a redundância porque você é barato.
  • Quebre o espelho removendo a unidade 2: zpool detach cXt2d0 yourPool
  • Crie um arquivo esparso do mesmo tamanho de suas unidades: mkfile -n 500GB /path/file.img
  • Crie um pool raidz de quatro unidades usando as unidades 2, 3 e 4 e o arquivo esparso: zpool create raidz cXt2d0 cXt3d0 cXt4d0 /path/file.img newPool
  • Degrade o array raidz desanexando o arquivo esparso: zpool detach /path/file.img newPool
  • Copiar dados do seuPool para newPool com zfs send / zfs recv (ou apenas rsync / cp it)
  • Destrua o pool espelhado original: zpool destroy yourPool
  • Anexe a unidade 1 ao pool raidz: zpool attach cXt1d0 newPool
  • Aguarde até que o ZFS atualize a unidade (levará horas, não se engane se o status% não estiver em movimento, se houver um erro. Apenas deixe-o funcionar.)
  • Ao expirar profundamente, você terá novamente um pool redundante.
por 14.07.2010 / 23:25
0

A menos que você queira fazer o backup do conteúdo e recriar o zpool, não acho que isso possa ser feito. Enquanto você pode criar um pool de raidz com apenas dois dispositivos, você não pode expandi-lo mais tarde para o raidz com 4 drives. O que você pode fazer é criar um espelho com as duas primeiras unidades e adicionar um segundo espelho ao pool com as duas segundas unidades, mas isso não dá a você tanto espaço quanto parece.

    
por 14.07.2010 / 21:58
0

Você também pode configurá-lo como um raidz, criar / usar um arquivo esparso como sua última unidade, offline esse arquivo imediatamente, então quando você pegar a unidade, substituir o arquivo esparso com a nova unidade onde ele realmente se tornará um raidz , ao contrário de um intervalo linear zfs, depois de substituir o arquivo esparso off-line pela sua unidade.

Embora você não tenha a paridade, você terá a maior parte do poder do ZFS on-line, incluindo a depuração e algumas habilidades de reparo automático.

    
por 06.01.2017 / 09:10