Tengo una configuración simple de ZFS en casa, cuatro discos duplicados, 8 GB de RAM y 120 GB Intel X25-M SSD para L2ARC. Corrí, zpool add poolname cache cXtXdX
luego generé carga y rastreé ansiosamente el proceso de calentamiento zpool iostat -v mypool
. Unas horas más tarde, el L2ARC está lleno, pero ¿qué se ha almacenado exactamente en la memoria caché?
¿Puedo mirar y ver qué hay en mi ARC / L2ARC? Entiendo que ciertos bloques se asignarían a múltiples sistemas de archivos (debido a instantáneas, clonación o deduplicación), pero aún me gustaría probar las estadísticas de esta manera:
- Tipo de bloque en caché: metadatos. iSCSI, datos. etc.
- Edad: cuánto tiempo ha estado cada bloque en el L2ARC
- Qué archivos: directorios que tienen algunos de sus contenidos en caché
- Desglose del sistema de archivos: GB en caché por sistema de archivos
- Ubicación de copias no volátiles de bloques (que unidad / vdev)
Me imagino que zdb y / o dtrace serían las herramientas de viaje, pero realmente no sé por dónde empezar.
Respuestas:
Aquí hay un script que se ha actualizado para reflejar los datos en L2ARC.
Ver: http://blog.harschsystems.com/2010/09/08/arcstat-pl-updated-for-l2arc-statistics/
Fuente disponible aquí: https://github.com/mharsch/arcstat
fuente
Probablemente diría que no debería importarle lo que hay en el caché, sino si las cosas más efectivas han sido almacenadas en caché. Es decir, ¿se está utilizando el caché ARC para su máxima eficiencia?
Dirijo una pequeña escala (9 TB) ZFS aplicación en el trabajo y me encuentro con la herramienta de Ben Rockwood arc_summary.pl , y de Sun arcstat.pl , ambos se detalla en esta entrada del blog cuddletech , para ser inmensamente útil.
Sé que no responde a su pregunta directamente sobre qué hay exactamente en el caché ARC, pero estos deberían proporcionarle algunos datos sólidos sobre cómo se está utilizando su caché y si necesita más espacio de memoria / SSD.
fuente