Estimados lectores,
En este nuevo artículo vamos a ver el consumo del espacio de cache en NetApp Flash Pool. En otros artículos hemos visto cómo crear un Flash Pool, cómo cambiar su RAID Type e incluso cómo activar la caché en los volúmenes pero todavía no nos hemos centrado en reflexionar sobre qué espacio se consume realmente respecto del tamaño total que ofrece el RAID Group SSD. Si bien es cierto que en la vista de los agregados de OnCommand System Manager podemos ver el tamaño total de Flash Pool, no tenemos la posibilidad de ver el espacio consumido ni su porcentaje a diferencia del espacio usado en los discos mecánicos.
Como podemos ver en la ilustración el agregado híbrido aggr_root_sas01 tiene un tamaño, un espacio usado, un porcentaje, … Datos que nos pueden ayudar de forma visual a determinar si necesitamos más capacidad, estamos bien, previsiones, etc. No es así con el espacio destinado a caché donde únicamente tenemos el tamaño total «neto» (ahora veréis por qué lo pongo entrecomillado). Afortunadamente tenemos línea de comandos y os voy a enseñar cómo podemos ver el espacio real consumido para tener un poco más de «idea» sobre qué está pasando con ese puñado de GigaBytes SSD.
En primer lugar del valor que tenemos en la ilustración, el «neto», Flash Pool se reserva nada más y nada menos que el 25% (en muchas instalaciones he llegado a ver hasta el 26%) para almacenar meta datos, garantizar el rendimiento del sistema y sobre todo, lo más importante, garantizar la consistencia en las inserciones y extracciones de bloques de datos cuando la caché está llena. Este es un factor de diseño del sistema y no se puede alterar de la misma forma que tampoco podemos modificar la reserva del 10% del espacio total de un agregado que utiliza WAFL para sus funciones.
En segundo lugar Flash Pool trabaja con bloques SSD de 4KB, el tamaño de bloque de WAFL, y sabemos que únicamente va usarlos si la naturaleza en el acceso a los datos es aleatoria (los accesos secuenciales van directamente a los discos mecánicos). Con este dato ya podemos sacar conclusiones de cuánto espacio está consumiendo el sistema ya que, tal y como hemos visto en otros artículos, podemos monitorizar las estadísticas de Flash Pool para ver el número de bloques usados.
NetApp-DAVID> stats show -p hybrid_aggr -i 1 ssd blks blks rd blks wrt read ops write blks rd cache wr cache rd cache wr cache read hit read miss Instance used cached cached replaced rate replaced rate evict destage ins rate ins rate latency latency /s % /s % /s /s /s /s aggr_root_sas01 72553606 63566646 8306585 48 3 0 0 0 0 0 0 0.37 6.27 aggr_root_sas01 72553982 63566646 8306585 67 13 0 0 0 0 0 0 0.55 3.41 aggr_root_sas01 72555183 63566646 8306585 328 30 0 0 0 0 247 0 0.46 3.48 aggr_root_sas01 72555509 63566646 8306585 142 15 0 0 0 0 0 0 0.49 3.50 aggr_root_sas01 72555894 63566646 8306585 228 21 0 0 0 0 5 0 0.43 3.15 aggr_root_sas01 72556295 63566646 8306585 850 63 0 0 0 0 31 0 0.44 2.10
Observemos el orden de la muestra 7255xxxx (valor de orden porqué los cálculos pueden variar siendo éstos aproximados) respecto el número de bloques SSD usados. Si multiplicamos cualquiera de ellos por 4KB y luego lo dividimos por 1048576KB obtendremos el número de GigaBytes de caché consumidos. Por ejemplo el uso de 72556295 bloques SSD significa un consumo de 277GB pero habíamos visto, desde OnCommand System Manager, que tenemos disponibles un total de 372GB «netos». Este mismo valor lo podemos obtener con el comando siguiente:
NetApp-DAVID> df -ASg -hybrid
aggr_root_sas01 372GB 277GB 94GB 75%
En este caso el consumo de caché es del 75% o, lo que es lo mismo, casi el 100% del espacio que Flash Pool destina puramente a cachear bloques. Siempre que obtengamos un valor inferior al 75%, por ejemplo en una instalación reciente he visto un consumo del 38%, quiere decir que el sistema no usa por completo toda la capacidad de caché. Si estamos en el caso del ejemplo puede que sea interesante aumentar el tamaño del espacio SSD siempre y cuando no superemos los límites establecidos en función de la versión de DOT así como de la plataforma (el modelo de controladora). Por ejemplo un par HA de FAS8020 con una versión DOT 8.2.3 7-Mode puede soportar hasta 6TB de espacio para caché repartidos como se requiera (1+5, 2+4, 3+3,…).
This Post by David Solé Pérez is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License