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 cXtXdX
e 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.
Respostas:
Aqui está um script que foi atualizado para refletir os dados no L2ARC.
Consulte: http://blog.harschsystems.com/2010/09/08/arcstat-pl-updated-for-l2arc-statistics/
Fonte disponível aqui: https://github.com/mharsch/arcstat
fonte
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.
fonte