
Eu limpo o ZFS uma vez por mês, o que leva cerca de 24 horas para 72 TB. O que posso descobrir sobre a frequência com que devo esfregar é:
- piscinas muito movimentadas, uma vez por semana
- piscinas não tão movimentadas, uma vez por mês
ou faça uma limpeza, meça o tempo e ajuste de acordo.
Mas e a desfragmentação online?
Pergunta
A desfragmentação online é considerada uma boa prática, assim como a limpeza? E se, com que frequência devo degragar?
Responder1
Isso não é algo que você precisa fazer com tanta frequência. Principalmente porque não existe noção de desfragmentação online no ZFS. Isso só é possível copiando os dados do pool para outro pool ou reescrevendo em um novo armazenamento. Em vez disso, esforce-se para manter seus zpools abaixo de 70% de utilização.
Responder2
Eu sei que esta é uma pergunta antiga, mas senti que poderia acrescentar um pouco mais se você se deparasse com isso hoje como eu.
O ZFS não possui uma opção integrada para desfragmentação. Devido à forma como os blocos são alocados, como o ZFS é Copy On Write e os instantâneos que bloqueiam os blocos significam que você não pode realmente desfragmentar os dados. A única solução que conheço é criar um pool de tamanho equivalente e o ZFS enviar/receber os dados, destruir o pool antigo, criá-lo e criá-lo novamente.
Também vale a pena mencionar que você está com o uniforme ao contrário. Os dados que você usa muito têm constantemente suas somas de verificação validadas, enquanto os dados inativos ficam apodrecendo sem verificar as somas de verificação de bloco/ponteiro.
Geralmente, a maioria das pessoas gasta pelo menos 1 mês para conjuntos de dados de uso intenso (ainda menos se você souber que mais de 90% dos seus dados serão usados como para um servidor web)
Para dados que não são usados com frequência, limpar duas vezes por mês ou uma vez por semana é uma boa prática (dependendo do número de discos, da quantidade de dados, da idade das unidades, etc.) YMMV