zfs e expansibilidade futura

8

Eu quero construir um servidor usando o freebsd 9 e o zfs. Eu tenho algum hardware antigo (intel quad core com 8 GB de RAM) por aí e estou disposto a comprar dois ou três discos de 1 TB. Eu também tenho um servidor dlink RAID com dois discos de 1 tb que provavelmente pararia de usar, portanto esses dois discos rígidos estarão disponíveis para uso no servidor zfs depois que os dados forem movidos (cerca de 300 mb atualmente no ataque 1) para o novo servidor.

Isso me dá 2 ou 3 discos no início, com a capacidade de mover para 4 ou 5 discos depois de configurar com êxito o servidor zfs e copiar os dados.

Minha pergunta é como melhor configurar o pool zfs para que eu tenha redundância e espaço de armazenamento máximos, com a capacidade de mudar para 2 ou 3 unidades ou mais no futuro, quando estiverem disponíveis. Portanto, não me preocupo muito com a velocidade, acho que minha ethernet (mesmo a 1 gb / s) será o fator determinante na velocidade do sistema de qualquer maneira ...?

Meu pensamento atual é comprar 2 novos discos, configurá-lo usando o modo de distribuição. Depois de copiar todos os dados do meu dlink nas, removia uma dessas unidades e a adicionava ao pool, tornando-a um espelho de uma das novas unidades. Depois que a matriz é reconstruída, eu passaria a outra unidade para o pool para que ela espelhasse a segunda nova unidade ... depois de tudo isso, eu deveria ter o equivalente aproximado de RAID 10, "espelhos listrados".

Isso é possível ou existe uma maneira melhor de configurar isso?

Novamente, minha prioridade é redundância máxima, manutenção (trocar unidades antigas por unidades novas / maiores e aumentar meu espaço total de pool), espaço de armazenamento disponível e velocidade; naquela ordem.

user85116
fonte

Respostas:

6

Para poder aumentar o espaço de armazenamento substituindo apenas alguns dos discos, você deve usar vdevs espelhados, distribuídos juntos (o que equivale a RAID10).

No seu caso, com 4 unidades, isso significaria trabalhar com algo assim:

    zpool
      mirror
        disk1
        disk2
      mirror
        disk3
        disk4

Isso forneceria 2 TB de armazenamento (considerando que todos os discos têm 1 TB) e boa redundância (0% de falha na matriz após 1 falha no disco, apenas 33% de falha na matriz com 2 falhas simultâneas no disco).

Agora, para chegar lá, eu compraria esses 2 novos discos de 1 TB e os colocaria na piscina:

zpool create zpool mirror disk1 disk2

Em seguida, mova suas coisas do DLINK para o pool recém-criado.

Feito isso, você pode vasculhar os discos DLINK e adicioná-los ao pool, para aumentar o armazenamento:

zpool add zpool mirror disk3 disk4

Se você quiser aumentar ainda mais o armazenamento posteriormente, poderá fazer isso adicionando mais vdevs (de preferência também espelhos) OU substituindo apenas 2 dos 4 discos. A substituição ocorre da seguinte maneira:

zpool offline zpool disk3
# remove physical disk3 at this point
# insert new, bigger disk in place of disk3
zpool online zpool disk3
# wait for resilver
# after resilver, do the same with disk4
# your vdev is now bigger, increasing the size of the pool

Agora, vamos olhar para a outra opção. Se você criou 1 raidz vdev assim:

zpool
  raidz
    disk1
    disk2
    disk3
    disk4

Você teria 3 TB de armazenamento, mas, para aumentar esse armazenamento apenas substituindo discos (e não adicionando), seria necessário substituir TODOS os 4 discos (um por um, é claro) para aumentar o tamanho do pool! Além disso, essa configuração tem 100% de falha na matriz se dois discos travarem simultaneamente.

A configuração do raidz também seria mais lenta que a configuração dos espelhos listrados. Como o raidz é mais computacionalmente intensivo, enquanto os stripes + mirrors realmente melhoram o desempenho de leitura e gravação. Com discos rígidos 'normais' (sem SSD), os espelhos listrados provavelmente preencherão sua conexão de gigabit para leituras e gravações sequenciais, porque o ZFS pode combinar a largura de banda dos discos (lembre-se de 1 Gb / s é apenas ~ 125 MegaBYTES / s, um padrão 'normal' O disco rígido fornecerá cerca de 90 megabytes / s). Eu não acho que a configuração raidz acima será capaz de fazer isso no hardware do consumidor.

Para concluir, a pontuação para espelhos listrados / RAID 10 com sua quantidade de discos é:

+ max redundancy
+ maintenance
- available storage space
+ speed

A pontuação para raidz é:

- max redundancy
- maintenance
+ available storage space
- speed

Eu diria que espelhos listrados ganham :)

Uma dica final: definitivamente leia mais sobre o como fazer e o porquê antes de começar! Talvez até simule todo o procedimento em uma máquina virtual. Estou pensando particularmente na etapa em que você adiciona o segundo espelho vdev! Se você errar, poderá obter uma configuração diferente da que esperava e o ZFS é muito implacável nesses casos, pois não permite remover os vdevs do pool ou os discos do raidz vdevs !! (entretanto, a remoção de discos do espelho vdevs é permitida)

Além disso, esteja preparado para o futuro, rotule e alinhe seus discos, para não ter problemas com as unidades de formato avançado! Para mais informações sobre os meandros das unidades ZFS e 4K, sugiro que você leia este tópico no fórum do FreeBSD .

hopla
fonte
3

Cada grupo de discos que você adiciona ao mesmo tempo possui sua própria política de redundância, independentemente de adicionar ou criar um novo pool. 2 discos = espelho, 3 você pode usar RAIDZ (ou seja criativo, não recomendo). O desempenho provavelmente será mais lento na Ethernet de 1 Gb com unidades como essa. Além disso, a troca de unidades por outras maiores posteriormente é um pouco trabalhosa, embora inteiramente possível.

Eu recomendo a leitura do Guia do Administrador do ZFS do início ao fim antes de iniciar.

Chris S
fonte