Como "reequilibrar" os dados no zfs? (Certifique-se de que os dados estão espalhados por todos os espelhos listrados)

7

Usando um espelho listrado (Raid 10) como exemplo, se dois discos forem expandidos para quatro, como os dados dos dois discos podem ser "reequilibrados" (espalhados) entre os dois espelhos?

Ou seja, como os arquivos que foram gravados em um espelho podem ser gravados em dois espelhos para aproveitar os discos distribuídos?

    
por Greg 04.07.2017 / 08:21

1 resposta

6

Apenas os dados recém-gravados (anexados) são divididos entre todos os vdevs atualmente ativos, não há operação de rebalanceamento explícito no ZFS.

Duas soluções possíveis:

  1. Aguarde até que todos os dados antigos sejam gravados novamente (por causa do CoW, isso pode levar muito tempo, no pior dos casos o dobro do tempo necessário para gravar o disco completamente).
  2. Remova todos os dados e grave-os novamente (zfs send / recv é útil para recuperar todos os dados do pool e voltar sem perder nada). Isso não precisa ser feito de uma só vez, e isso pode ser feito no mesmo pool.

Para ser mais preciso, eu escolheria a segunda solução e transferiria cada sistema de arquivos separadamente nos momentos em que a carga do sistema é baixa (por exemplo, à noite):

  • Tire um instantâneo ( zfs snapshot -r ) de um sistema de arquivos de tamanho decente (e sistemas de arquivos decentes, recursivamente)
  • Use zfs send | zfs recv com as opções apropriadas para enviar o instantâneo para um sistema de arquivos temporário recém-criado (pode estar no mesmo conjunto, se o espaço permitir); esse sistema de arquivos deve estar no mesmo local da hierarquia que o antigo
  • Após a conclusão da cópia (pode levar algum tempo, porque os discos precisam ler e gravar), zfs destroy o instantâneo antigo e o sistema de arquivos antigo
  • zfs rename o sistema temporário para o nome antigo
  • Verifique e altere os pontos de montagem com zfs mount , reorganizando a situação anterior do sistema de arquivos substituído
  • Repita até que todos os sistemas de arquivos sejam movidos
por 04.07.2017 / 09:21