Ejecuté una caja NAS / SAN en Solaris 11 Express antes de que se lanzara Solaris 11. La caja es una HP X1600 con una D2700 adjunta. En total, 12x 1TB 7200 discos SATA, 12x 300GB 10k discos SAS en zpools separados. La RAM total es de 30 GB. Los servicios prestados son CIFS, NFS e iSCSI.
Todo estaba bien, y tenía un gráfico de uso de memoria ZFS que se veía así:
Un tamaño de arco bastante saludable de alrededor de 23 GB, haciendo uso de la memoria disponible para el almacenamiento en caché.
Sin embargo, luego actualicé a Solaris 11 cuando salió eso. Ahora, mi gráfico se ve así:
La salida parcial de arc_summary.pl
es:
System Memory:
Physical RAM: 30701 MB
Free Memory : 26719 MB
LotsFree: 479 MB
ZFS Tunables (/etc/system):
ARC Size:
Current Size: 915 MB (arcsize)
Target Size (Adaptive): 119 MB (c)
Min Size (Hard Limit): 64 MB (zfs_arc_min)
Max Size (Hard Limit): 29677 MB (zfs_arc_max)
Está apuntando a 119MB mientras está sentado a 915MB. Tiene 30 GB para jugar. ¿Por qué? ¿Cambiaron algo?
Editar
Para aclarar, arc_summary.pl
es de Ben Rockwood, y las líneas relevantes que generan las estadísticas anteriores son:
my $mru_size = ${Kstat}->{zfs}->{0}->{arcstats}->{p};
my $target_size = ${Kstat}->{zfs}->{0}->{arcstats}->{c};
my $arc_min_size = ${Kstat}->{zfs}->{0}->{arcstats}->{c_min};
my $arc_max_size = ${Kstat}->{zfs}->{0}->{arcstats}->{c_max};
my $arc_size = ${Kstat}->{zfs}->{0}->{arcstats}->{size};
Las entradas de Kstat están ahí, solo obtengo valores extraños de ellas.
Editar 2
Acabo de volver a medir el tamaño del arco con arc_summary.pl
- He verificado estos números con kstat
:
System Memory:
Physical RAM: 30701 MB
Free Memory : 26697 MB
LotsFree: 479 MB
ZFS Tunables (/etc/system):
ARC Size:
Current Size: 744 MB (arcsize)
Target Size (Adaptive): 119 MB (c)
Min Size (Hard Limit): 64 MB (zfs_arc_min)
Max Size (Hard Limit): 29677 MB (zfs_arc_max)
Lo que me llama la atención es que el tamaño objetivo es 119MB. Mirando el gráfico, está dirigido al mismo valor exacto (124,91 millones según los cactus, 119 millones según arc_summary.pl
, creo que la diferencia es solo 1024/1000 problemas de redondeo) desde que se instaló Solaris 11. Parece que el núcleo está haciendo un esfuerzo cero para cambiar el tamaño del objetivo a algo diferente. El tamaño actual fluctúa a medida que las necesidades del sistema (grande) luchan con el tamaño objetivo, y parece que el equilibrio está entre 700 y 1000 MB.
Entonces, la pregunta ahora es un poco más puntiaguda: ¿por qué Solaris 11 establece de manera difícil el tamaño de mi objetivo ARC en 119 MB y cómo lo cambio? ¿Debo aumentar el tamaño mínimo para ver qué sucede?
He pegado la salida de kstat -n arcstats
más en http://pastebin.com/WHPimhfg
Editar 3
Ok, rareza ahora. Sé que flibflob mencionó que había un parche para arreglar esto. Todavía no he aplicado este parche (todavía resuelvo problemas de soporte interno) y no he aplicado ninguna otra actualización de software.
El jueves pasado, la caja se estrelló. Como en, dejó de responder por completo a todo. Cuando lo reinicié, volvió a funcionar bien, pero así es como se ve ahora mi gráfico.
Parece haber solucionado el problema.
Esto es lo correcto de la tierra ahora. Literalmente no tengo idea de lo que está pasando. :(