zfs e capacidade de expansão futura

8

Eu quero construir um servidor usando o freebsd 9 e zfs. Eu tenho algum hardware antigo (intel quad core com 8 GB de memória RAM) por aí, e estou disposto a comprar dois ou três discos de 1 TB. Eu também tenho um servidor RAID dlink com dois discos de 1 TB já que eu provavelmente pararia de usar, então esses 2 discos rígidos estariam disponíveis para uso no servidor zfs assim que eu movesse os dados neles (cerca de 300 mb atualmente no raid 1) para o novo servidor.

Então, 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 configurar melhor o pool do zfs para que eu tenha o máximo de redundância e espaço de armazenamento, com a capacidade de mover para unidades de 2 ou 3 ou maiores no futuro quando elas estiverem disponíveis. Então eu não me importo muito com velocidade, eu acho que minha ethernet (mesmo a 1gb / s) será o fator determinante na velocidade do sistema de qualquer maneira ...?

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

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

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

    
por user85116 26.01.2012 / 19:46

2 respostas

6

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

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

    zpool
      mirror
        disk1
        disk2
      mirror
        disk3
        disk4

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

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.

Uma vez feito isso, você pode limpar os discos do DLINK e adicioná-los ao pool para aumentar o armazenamento:

zpool add zpool mirror disk3 disk4

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

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 ver a outra opção. Se você tivesse feito 1 raidz vdev assim:

zpool
  raidz
    disk1
    disk2
    disk3
    disk4

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

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

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

+ max redundancy
+ maintenance
- available storage space
+ speed

A pontuação para o raidz é:

- max redundancy
- maintenance
+ available storage space
- speed

Eu diria que os espelhos listrados vencem:)

Uma dica final: definitivamente leia mais sobre o como e o porquê antes de começar! Talvez até mesmo simular todo o procedimento em uma máquina virtual. Estou pensando particularmente na etapa em que você adiciona o segundo espelho vdev! Se você fizer isso errado, poderá obter uma configuração diferente que você esperava e o ZFS é muito implacável nesses casos, já que ele não permite remover vdevs do pool ou discos de raidz vdevs !! (remover discos de espelho de vdevs é permitido no entanto)

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

    
por 07.02.2012 / 16:18
3

Cada grupo de discos adicionado ao mesmo tempo tem 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 desse tipo. Além disso, a troca de unidades por unidades maiores é um pouco trabalhosa, embora inteiramente possível.

É altamente recomendável ler o Guia de administração do ZFS  comece a terminar antes de começar.

    
por 26.01.2012 / 20:17

Tags