O que há nos meus caches do ZFS ARC e L2ARC?

8

Tenho uma configuração simples do ZFS em casa, quatro discos espelhados, 8 GB de RAM e SSD Intel X25-M de 120 GB para L2ARC. Corri zpool add poolname cache cXtXdXe gerou carga e acompanhei ansiosamente o processo de aquecimento executando zpool iostat -v mypool. Algumas horas depois, o L2ARC está cheio, mas o que exatamente foi armazenado em cache?

Posso dar uma espiada e ver o que há no meu ARC / L2ARC? Entendo que determinados blocos seriam mapeados para vários sistemas de arquivos (devido a instantâneos, clonagem ou deduplicação), mas eu ainda gostaria de experimentar as estatísticas como estas:

  • Tipo de bloco em cache: metadados. iSCSI, dados. etc.
  • Idade: Há quanto tempo cada bloco está no L2ARC
  • Quais arquivos: diretórios que têm parte de seu conteúdo em cache
  • Divisão do sistema de arquivos: GB em cache por sistema de arquivos
  • Localização de cópias não voláteis de blocos (que controlam / vdev)

Eu imagino que zdb e / ou dtrace seriam as ferramentas do dia, mas realmente não sei por onde começar.

notpeter
fonte
3
Há uma excelente entrada de blog de Brendan Gregg que responde a alguns de seus pontos.
precisa saber é o seguinte
Verifique o script vinculado na minha resposta.
ewwhite
A entrada do blog de Brendan Gregg mudou: ZFS L2ARC
Marco

Respostas:

6

Eu provavelmente argumentaria que você não deveria se importar com o que está no cache, mas se as coisas mais eficazes foram armazenadas em cache. Ou seja, o cache do ARC está sendo usado com a máxima eficiência?

Executo uma implementação ZFS de pequena escala (9TB) no trabalho e considero imensamente útil as ferramentas de Ben Rockwood arc_summary.pl e arcstat.pl da Sun , ambas detalhadas nesta publicação de blog da cuddletech .

Sei que não responde diretamente à sua pergunta sobre o que exatamente está no cache do ARC, mas esses dados devem fornecer dados sólidos sobre como o cache está sendo usado e se você precisa de mais espaço de memória / SSD.

crescer
fonte