O que há nos caches ZFS ARC e L2ARC?

7

Eu tenho uma instalação simples do ZFS em casa, quatro discos espelhados, ram de 8 GB e SSD Intel X25-M de 120 GB para L2ARC. Eu executei zpool add poolname cache cXtXdX , em seguida, gerou a 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 ver o que há no meu ARC / L2ARC? Eu entendo que certos blocos mapeariam para múltiplos sistemas de arquivos (devido a snapshots, clonagem ou dedup), mas eu ainda gostaria de provar as estatísticas como estas:

  • Tipo de bloco armazenado em cache: metadados. iSCSI, dados. etc.
  • Idade: Há quanto tempo cada bloco está no L2ARC
  • Quais arquivos: diretórios com algum conteúdo armazenado 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 drive / vdev)

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

    
por notpeter 30.01.2011 / 09:29

2 respostas

1

Aqui está um script que foi atualizado para refletir os dados no L2ARC.

Veja: link

Fonte disponível aqui: link

    
por 07.01.2012 / 01:18
6

Eu provavelmente diria que você não deve se preocupar 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 para sua máxima eficiência?

Eu executo uma implementação ZFS de pequena escala (9TB) no trabalho e descubro que a ferramenta de Ben Rockwood é arc_summary.pl , e < href="https://blogs.oracle.com/realneel/entry/zfs_arc_statistics"> arcstat.pl , ambos detalhados neste postagem no blog cuddletech , para ser imensamente útil.

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

    
por 30.01.2011 / 13:43